Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request - Add a custom sort functionality to igxGrid #2734

Closed
mkamiishi opened this issue Oct 12, 2018 · 5 comments
Closed

Feature request - Add a custom sort functionality to igxGrid #2734

mkamiishi opened this issue Oct 12, 2018 · 5 comments
Assignees
Labels
grid: general grid: sorting 🧰 feature-request version: 6.1.8 ✅ status: resolved Applies to issues that have pending PRs resolving them, or PRs that have already merged.

Comments

@mkamiishi
Copy link

Description

Add a functionality to specify a comparer which implements a custom sort logic and use it on sort.

@sballarati
Copy link

Hi there! is there a workaround for this? e.g. for Filtering there is one mentioned in the forum: https://www.infragistics.com/community/forums/f/ignite-ui-for-angular/119044/filtering-sorting-not-working-using-a-ng-template

E.g: The workaround was to implement a custom filtering logic by extending one of the basics filtering operand classes - IgxFilteringOperand, IgxBooleanFilteringOperand, IgxNumberFilteringOperand, IgxStringFilteringOperand according the column data type

@hanastasov hanastasov added the 🛠️ status: in-development Issues and PRs with active development on them label Oct 19, 2018
@SlavUI
Copy link
Contributor

SlavUI commented Oct 19, 2018

@sballarati We are currently working on this one will update you as soon as we are ready :)

@zdrawku zdrawku added ✅ status: resolved Applies to issues that have pending PRs resolving them, or PRs that have already merged. and removed 🛠️ status: in-development Issues and PRs with active development on them labels Oct 30, 2018
hanastasov added a commit that referenced this issue Oct 30, 2018
zdrawku added a commit that referenced this issue Oct 31, 2018
feat(grid): expose input to set custom sort strategy per column #2734
zdrawku added a commit that referenced this issue Oct 31, 2018
feat(grid): expose input to set sort strategy 6.1.x #2734
@hanastasov hanastasov removed the ✅ status: resolved Applies to issues that have pending PRs resolving them, or PRs that have already merged. label Oct 31, 2018
@hanastasov hanastasov reopened this Oct 31, 2018
@hanastasov
Copy link
Contributor

Needs to be refactored.

@kdinev
Copy link
Member

kdinev commented Nov 1, 2018

@mkamiishi @sballarati This requires some further rework. It would be done and you'll be able to access it in a version next week.

@kdinev kdinev assigned kdinev and unassigned SlavUI Nov 1, 2018
rkaraivanov pushed a commit that referenced this issue Nov 2, 2018
* chore(*): Deleting .js and .js.map files from the repo

* feat(igxgrid sorting): Refactoring sorting strategy to per-column #2734

* feat(igxgrid sorting): Making the DefaultSorting singleton #2734

* test(igxgrid sorting): Adjusting all tests #2734

* chore(*): Removing an import from dist/

* chore(*): Adjusting the combo tests to the sorting strategy

* chore(*): More refactoring...

* chore(*): More data-util adjustments

* chore(*): Fixing the data-util tests

* chore(*): Adjusting cell tests

* chore(*): Assigning default filtering strategy in the data util

* chore(sorting): Fixing the search and sort tests by adding type to grid

* chore(*): Removing unnecessary test.

* chore(*): Adjusting the weird test with "invalid" expressions

* fix(grid): applying grouping-related changes for sort strategy #2734 (#2913)

* chore(*): adding grouping expression to public api
rkaraivanov pushed a commit that referenced this issue Nov 13, 2018
* feat(grid sorting): Merging the new sorting strategy into 6.2.x #2734

* chore(*): Adding missing imports to grid-selection tests

* chore(*): More test import fixes

* chore(*): Applying the groupby changes with the new sorting strategy

* chore(*): Resolving the column moving test issue

* chore(*): This should be it with the test fixes

* chore(*): Removing the fdescribe
mpavlinov pushed a commit that referenced this issue Nov 14, 2018
* feat(grid, chip): add display density DI token to igxGrid and igxChip

* Resolving confilcts related to the new structure(grids ->grid)

* Fixing styling issue

* Adding event arguments for DenistyChanged

* Renaming IDisplayDenisty to IDisplayDenistyOptions and setting IDensityChangedEventArgs type to be DisplayDenisty

* Trigger onDensityChanged only for components that do not have displayDenisty explicitly set when the global denisty is changed

* Adding displayDenisty DI in tree grid constructor

* Group by chips are now affected from the global display denisty option

* fix(igxGrid): dirty check only checks if value exists, #2940

* fix(igx-grid): Open date-picker only if condition is not unary, #2937

* Summaries display denisty classes are now correctly applied

* Removing dsiplayDenisty property since it is not needed any more

* fix(igx-grid): Clear filter when value is cleared from input, #2945

* test(treeGrid): Update treeGrid Keyboard navigation tests #2953

* Improve keyboard navigation in filtering (#2964)

* fix(igx-grid): Improve keyboard navigation in filtering, #2951

* fix(igx-grid): Get scroll from first row, when there is one, #2951

* chore(igx-grid): Refactor code, #2951

* chore(igx-grid): Add cases for groupbyrow and pinned columns, #2951

* chore(igx-grid): Fix lint errors, #2951

* feat(igx-grid): Close filter row on Esc, #2979

* test(igx-grid): Add test, #2979

* chore(*): Merging master into 6.2.x

* Sorting strategy merge 6.2.x (#2998)

* feat(grid sorting): Merging the new sorting strategy into 6.2.x #2734

* chore(*): Adding missing imports to grid-selection tests

* chore(*): More test import fixes

* chore(*): Applying the groupby changes with the new sorting strategy

* chore(*): Resolving the column moving test issue

* chore(*): This should be it with the test fixes

* chore(*): Removing the fdescribe
kdinev added a commit that referenced this issue Nov 19, 2018
* feat(grid, chip): add display density DI token to igxGrid and igxChip

* Resolving confilcts related to the new structure(grids ->grid)

* Fixing styling issue

* Adding event arguments for DenistyChanged

* Renaming IDisplayDenisty to IDisplayDenistyOptions and setting IDensityChangedEventArgs type to be DisplayDenisty

* Trigger onDensityChanged only for components that do not have displayDenisty explicitly set when the global denisty is changed

* Adding displayDenisty DI in tree grid constructor

* Group by chips are now affected from the global display denisty option

* fix(igxGrid): dirty check only checks if value exists, #2940

* fix(igx-grid): Open date-picker only if condition is not unary, #2937

* Summaries display denisty classes are now correctly applied

* Removing dsiplayDenisty property since it is not needed any more

* fix(igx-grid): Clear filter when value is cleared from input, #2945

* test(treeGrid): Update treeGrid Keyboard navigation tests #2953

* Improve keyboard navigation in filtering (#2964)

* fix(igx-grid): Improve keyboard navigation in filtering, #2951

* fix(igx-grid): Get scroll from first row, when there is one, #2951

* chore(igx-grid): Refactor code, #2951

* chore(igx-grid): Add cases for groupbyrow and pinned columns, #2951

* chore(igx-grid): Fix lint errors, #2951

* feat(igx-grid): Close filter row on Esc, #2979

* test(igx-grid): Add test, #2979

* chore(*): Merging master into 6.2.x

* Sorting strategy merge 6.2.x (#2998)

* feat(grid sorting): Merging the new sorting strategy into 6.2.x #2734

* chore(*): Adding missing imports to grid-selection tests

* chore(*): More test import fixes

* chore(*): Applying the groupby changes with the new sorting strategy

* chore(*): Resolving the column moving test issue

* chore(*): This should be it with the test fixes

* chore(*): Removing the fdescribe

* Add igxDropDown maxHeight input (#3005)

* feat(igxDropDown): introduce itemsMaxHeight property #3001

* test(igxDropDown): test for max height #3001

* docs(igxDropDown): changelog update #3001

* test(igxCombo): adjust tests according to new dropdown structure #3001

* test(igxDropDown): add more tests #3001

* fix(grid): MultiColumn headers should not be grouped #2944 (#2970)

* chore(*): Fixing the demos

* feat(themes): add theme schemas (#3006)

* refactor(themes): introduce presets as basis for component themes

* refactor(themes): create schemas for more comopnents

* refactor(themes): create schemas for more comopnents

* refactor(themes): introduce presets as basis for component themes

* refactor(themes): create schemas for more comopnents

* refactor(themes): create schemas for more comopnents

* refactor(themes): introduce presets as basis for component themes

* refactor(themes): create schemas for more comopnents

* refactor(themes): create schemas for more comopnents

* refactor(themes): introduce presets as basis for component themes

* refactor(themes): create schemas for more comopnents

* refactor(themes): add schemas for the remaining component themes

* refactor(themes): change presets to schemas

* fix(themes): value resolver always returns  string

* refactor(themes): remove all $default-theme references

* docs(themes): add docs for newly introduced functions

* refactor(demos): update demos theme

* build(themes): fix css theme not building

* refactor(themes): optimize palette generation

* refactor(combo) - navigation (#2999)

* refactor(combo): refactor combo navigation, WIP

* refactor(combo): refactor combo navigation

* refactor(combo): add comments, trim, remove console.log

* refactor(combo): add comments, trim, remove console.log

* chore(combo): adjust failing tests

* refactor(igxCombo): remove focusItem, use super.navigateItem instead

* refactor(igxCombo): add navigate virtual

* refactor(igxCombo): add focus add button + findFocusableIndex methods

* refactor(igxCombo): adjust incorrect `navigateItem` calls

* refactor(igxCombo): first header is not loaded and focus search - scroll, #2999

* The grid should update groupsRecords before raising the onGroupingDone event - 6.2.x,  #2967 (#3009)

* fix(groupBy): update the state before raising onGroupingDone event #2967

* fix(groupBy): calling detectChanges instead of ngDoCheck  #2967
@mpavlinov mpavlinov added the ✅ status: resolved Applies to issues that have pending PRs resolving them, or PRs that have already merged. label Nov 19, 2018
kdinev added a commit that referenced this issue Nov 20, 2018
* feat(grid, chip): add display density DI token to igxGrid and igxChip

* Resolving confilcts related to the new structure(grids ->grid)

* Fixing styling issue

* Adding event arguments for DenistyChanged

* Renaming IDisplayDenisty to IDisplayDenistyOptions and setting IDensityChangedEventArgs type to be DisplayDenisty

* Trigger onDensityChanged only for components that do not have displayDenisty explicitly set when the global denisty is changed

* Adding displayDenisty DI in tree grid constructor

* Group by chips are now affected from the global display denisty option

* fix(igxGrid): dirty check only checks if value exists, #2940

* fix(igx-grid): Open date-picker only if condition is not unary, #2937

* Summaries display denisty classes are now correctly applied

* Removing dsiplayDenisty property since it is not needed any more

* fix(igx-grid): Clear filter when value is cleared from input, #2945

* test(treeGrid): Update treeGrid Keyboard navigation tests #2953

* Improve keyboard navigation in filtering (#2964)

* fix(igx-grid): Improve keyboard navigation in filtering, #2951

* fix(igx-grid): Get scroll from first row, when there is one, #2951

* chore(igx-grid): Refactor code, #2951

* chore(igx-grid): Add cases for groupbyrow and pinned columns, #2951

* chore(igx-grid): Fix lint errors, #2951

* fix(grid): update method _updateVScrollOffset to calculate top #2957

* fix(grid): update lint #2957

* feat(igx-grid): Close filter row on Esc, #2979

* fix(grid): Recalculate start index on _applyChanges #2957

* fix(grid): Update lint #2957

* test(igx-grid): Add test, #2979

* fix(IgxTreeGrid): refocus row when expand/collapse tree row #2935

* fix(IgxGrid): shound not toggle expand on arrowLeft when row is expanded #2950

* chore(*): Merging master into 6.2.x

* Sorting strategy merge 6.2.x (#2998)

* feat(grid sorting): Merging the new sorting strategy into 6.2.x #2734

* chore(*): Adding missing imports to grid-selection tests

* chore(*): More test import fixes

* chore(*): Applying the groupby changes with the new sorting strategy

* chore(*): Resolving the column moving test issue

* chore(*): This should be it with the test fixes

* chore(*): Removing the fdescribe

* Add igxDropDown maxHeight input (#3005)

* feat(igxDropDown): introduce itemsMaxHeight property #3001

* test(igxDropDown): test for max height #3001

* docs(igxDropDown): changelog update #3001

* test(igxCombo): adjust tests according to new dropdown structure #3001

* test(igxDropDown): add more tests #3001

* fix(grid): MultiColumn headers should not be grouped #2944 (#2970)

* chore(*): Fixing the demos

* feat(themes): add theme schemas (#3006)

* refactor(themes): introduce presets as basis for component themes

* refactor(themes): create schemas for more comopnents

* refactor(themes): create schemas for more comopnents

* refactor(themes): introduce presets as basis for component themes

* refactor(themes): create schemas for more comopnents

* refactor(themes): create schemas for more comopnents

* refactor(themes): introduce presets as basis for component themes

* refactor(themes): create schemas for more comopnents

* refactor(themes): create schemas for more comopnents

* refactor(themes): introduce presets as basis for component themes

* refactor(themes): create schemas for more comopnents

* refactor(themes): add schemas for the remaining component themes

* refactor(themes): change presets to schemas

* fix(themes): value resolver always returns  string

* refactor(themes): remove all $default-theme references

* docs(themes): add docs for newly introduced functions

* refactor(demos): update demos theme

* build(themes): fix css theme not building

* refactor(themes): optimize palette generation

* refactor(combo) - navigation (#2999)

* refactor(combo): refactor combo navigation, WIP

* refactor(combo): refactor combo navigation

* refactor(combo): add comments, trim, remove console.log

* refactor(combo): add comments, trim, remove console.log

* chore(combo): adjust failing tests

* refactor(igxCombo): remove focusItem, use super.navigateItem instead

* refactor(igxCombo): add navigate virtual

* refactor(igxCombo): add focus add button + findFocusableIndex methods

* refactor(igxCombo): adjust incorrect `navigateItem` calls

* refactor(igxCombo): first header is not loaded and focus search - scroll, #2999

* The grid should update groupsRecords before raising the onGroupingDone event - 6.2.x,  #2967 (#3009)

* fix(groupBy): update the state before raising onGroupingDone event #2967

* fix(groupBy): calling detectChanges instead of ngDoCheck  #2967

* fix(grid): #2507 prevent scrolling on arrow keys (#2989)

* fix(grid): #2507 prevent scrolling on arrow keys

* fix(grid): #2507 prevent scrolling for default columns only

* Feat - Combo - Add DisplayDensity Input to Combo and Drop Down (#3007)

* feat(igxCombo): add display density to combo component, refactor template,#2410

* feat(igxCombo): add hidden to binding, add display: block, fix tests, #2410

* feat(igxCombo): move display styling in styles, remove hostbinding, #2410

* chore(*): Updating the PR template (#3036)

* chore(*): Updating the PR template

* chore(*): Addressing Stamen's comment

* fix(grid): removing checks which prevent scrolling #2971 (#3022)
@kdinev
Copy link
Member

kdinev commented Nov 22, 2018

Closing this issue as the work on it is done. This will be officially released in: 6.1.9, 6.2.1, 7.0.0.

@kdinev kdinev closed this as completed Nov 22, 2018
kdinev pushed a commit that referenced this issue Nov 22, 2018
* test(igxGrid): adding a custom Sorting Strategy test #2734

* test(igxGrid): refactoring the custom sorting test #2734
kdinev pushed a commit that referenced this issue Nov 22, 2018
* test(igxGrid): adding a custom Sorting Strategy test #2734

* test(igxGrid): refactoring the custom sorting test #2734

* chore(*): fixing a lint error
kdinev added a commit that referenced this issue Nov 30, 2018
feat(sorting): Making the strategy and ignoreCase optional again #2734
kdinev added a commit that referenced this issue Nov 30, 2018
feat(sorting): Making the sorting strategy and ignoreCase optional #2734
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
grid: general grid: sorting 🧰 feature-request version: 6.1.8 ✅ status: resolved Applies to issues that have pending PRs resolving them, or PRs that have already merged.
Projects
None yet
Development

No branches or pull requests

7 participants