Skip to content

Commit

Permalink
feat(igxGrid): Multi cell selection (#3916)
Browse files Browse the repository at this point in the history
* chore(igxGrid): Initial MCS PoC

* chore(*): Restore cell edit logic

* refactor(igxCell): More refactor, more selection logic

* test(grid): add mcs test #3794

* refactor(selection): Selection service refactor

Keyboard selection through summary and group rows

* refactor(*): Refactor setSelection method

* refactor(selection): Remove pointer event range duplication

* test(MultiCellSelection): add integration tests for sorting and filtering #3794

* chore(selection): Fix _updateCellSelection with kb nav

* refactor(selection): Added drag scroll directive

Refactored some service state

* test(grid): update mcs tests #3794

* test(grid): Update mcs tests #3794

* refactor(selection): Pinned, filtered, hidden states

* refactor(selection): Groupby state returns correct data

* refactor(selection): Return only expanded states

* chore(selection): Resolve DI errors

* test(MCS): added intregration test for moving, paging, CRUD, summaries #3794

* test(MCS): added test component for grid with transaction enabled #3794

* test(grid): add selection tests #3794

* test(treeGrid): Add tree grid tests #3794

* test(MCS): test refactorin and additional test when hide all columns #3794

* test(grid): add mcs tests #3794

* test(MSC): added treeGrid tests for CRUD and range selection #3794

* feat(grid): Multi selection in grids

Grid cells now have onPush by default
Cleared and probably broke some of the CRUD operations

Closes #3915

* refactor(grid): Restore polyfills and search specs

* test(MCS): fix tests for treeGrid and CRUD #3794

* merge rkaraivanov/mcs-plus-refactor

* test(treeGrid): Update failing tests #3794

* test(MCS): trigger CD over grid when perform pointer interactions #3794

* test(treeGrid): update failing test #3794

* feat(grid): Column moving with multi selection

Column moving should no longer move selection/focus on drop
Unit tests refactored for cell onPush
Tree cell gets its expanded state as an input now

Closes #3915

* test(treeGrid): Update failing summaries keyboard tests #3794

* feat(grid): Hierarchical navigation and selection

Closes #3915

* fix(grid): Refocus correct cell in tree grid row roggle

Closes #3915

* test(MCS): selection should not change on column moving #3794

* fix(igxGrid): refactoring column init fix #3916

* chore(*): adding breaking change to changelog

* chore(*): selection should be preserved on column move and scroll

* fix(selection): Only one selection range unless ctrl is held

Closes #3915

* refactor(grid): Cleaned up editing logic

* refactor(grid): More editing cleanup

* test(MCS): empty array should not clear selection #3794

* fix(selection): getSelectedData omits MCH

Closes #3915

* test(MCS): selected range not changed on moving #3794

* refactor(grid): Adjust tests and restore cell editMode setter

* chore(*): Remove fdescribe

* fix(selection): getSelectedData retruns correct results

Fixed several issues with API based updates for cell/row
Corrected some unit tests for cell onPush strategy

Closes #3915

* fix(selection): Selection with paging state

Correctly trigger cdr on perPage change and clear active selection style
on paging event

Closes #3915

* chore(*): add change detection in search tests

* chore(*): remove fdescribe from search

* chore(*): pagning test emit

* chore(*): cast cell value to number after emit, break when updating invalid row

* fix(grid): Row edit args - don't pass a reference

Closes #3915

* chore(*): fix failing tests for row editing / transactions

* refactor(selection): Cell/selection service code cleanup

Removed a unit test for selection as it tested the old behavior. Fixed
some tests expecting invalid values.

* refactor(*): Thank you tslint

* fix(selection): Clear all through API call

Closes #3915

* refactor(grid): CRUD fixes and unit test fixes

* fix(grid): Actually return a value from castToNumber

Closes #3915

* chore(*): do not dispatch pointer down when simulate mouse drag

* fix(grid): endEdit with API calls

Fixed a CRUD unit test updating a number column and expecting a string
back

Closes #3915

* chore(*): use correctly IgxHierarchicalTransactionService

* fix(grid): Don't submit when nothing is in edit mode

Closes #3915

* refactor(selection): Tree grid get selected data

Tree cell indent level is now an input property of the cell itself

* refactor(treeGrid): populate flatData for pk/fk binding

* fix(selection): Shift key through groupby/summary

Update selection state when navigating through groupby rows and summary
cells
All pointer events are executed outside of ngzone

Closes #3915

* test(MCS): clear selectedRange when navigate from summaryCell witout shift #3794

* refactor(selection): Simplify getSelectedData

* test(MCS): fixed test with keyboard MCS with KB navigation #3794

* fix(selection): Active cell style remains on drag scroll

Export drag select directive in the grid common module.

Closes #3915

* test(grid): add test for bug 4084 #3794

* test(grid): add mcs tests with keybord and mouse events #3794

* test(treeGrid): add test for msc #3794

* perf(igx-grid): Grid runtime performance optimization

OnPush everywhere, caches and pipes for the most accessed properties
Some getters were turned into simple input properties
Reduces number of change detection in scroll handlers

Closes #3915

* fix(igx-grid): Filtering service injections

Closes #3915

* test(igx-grid): Keyboard navigation with scroll

Closes #3915

* chore(*): Fixing change detection issues in HierarchicalGrid navigation tests.

* fix(treeGrid): fix search active highlight #3915

* refactor(igx-grid): Reduce number of getter calls

Use basic @input values
Resolve cell styles using a pipe

* test(grid): fix failing search tests with scroll  #3794

* chore(igx-grid): Fix lint import error

* test(grid): update failing paging test #3794

* fix(igx-tree-grid): Cell indicator and MCS with expand/collapse

Closes #3915

* test(grid): update failing tests #3794

* fix(igx-grid): Recalc scroll offset after chunk size change

Closes #3915

* test(hgrid): update failing tests #3794

* refactor(grid): prevent potential mutation observer memory leak

* fix(igxFor): Making sure correct offsets are applied when data in igForOf changes.

* fix(igxFor): Fixing chunksize calculations so that there are no empty spaces at the end in case there are large items in the data.

* refactor(igx-grid): Summary cell/row

Removed imports which are not used
Moved some of the getter logic in the template

* test(grid): fix async tests that cause ViewDestroyedError #3794

* test(hierarchical-grid): fix async tests that cause ViewDestroyedError #3794

* test(tree-grid): fix async tests up to integr causing ViewDestroyedError #3794

* test(tree-grid): fix async tests up to integr causing ViewDestroyedError #3794

* test(hierarchical-grid): fix async tests causing ViewDestroyedError #3794

Added wait on a test triggering multiple rAf-s and commented out an HGrid
navigation test (that leaked resize handlers) until the issue is fixed.

* fix(igx-grid): Drag selection from outside the grid

Closes #3916

* chore(*): Skip 2 tests #4440
  • Loading branch information
rkaraivanov authored and zdrawku committed Apr 3, 2019
1 parent fe9a61d commit f6cc492
Show file tree
Hide file tree
Showing 101 changed files with 7,083 additions and 2,187 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ All notable changes for each version of this project will be documented in this
- `igxTreeGrid`
- The collapse/expand icons have new orientantion to display the action that will be performed when clicked. When an icon points up clicking on it would result in collapsing the related tree grid level and when it points down clicking on it would expand the tree grid level.
- Expanding/collapsing tree levels can now be performed also by using Alt + Arrow Up/Down to reflect the new icons.
- `IgxColumnComponent`
- **Breaking Change** the `gridID` property is now **deprecated**. Please, use `column.grid.id` instead.
- `igxCombo`
- **Breaking Change** `combo.value` is now only a getter.
- **Feature** added support for templating the default input group of the component. The `igx-combo` now allows for `igx-prefix`, `igx-suffix`,`igx-hint` and `[igxLabel]` components to be passed as `ng-content` and they will be renderer accordingly on the combo's input. Example:
Expand Down
Loading

0 comments on commit f6cc492

Please sign in to comment.