-
Notifications
You must be signed in to change notification settings - Fork 156
Grid Selection General
- References
- Overview
-
Functionality
3.1. End User Experience
3.2. API - User Stories
- ARIA support
- Assumptions and Limitations
| Version | User | Date | Notes |
|---|---|---|---|
| 0.1 | Zdravko Kolev | July 15, 2019 | Initial Draft |
| 1.0 | Zdravko Kolev | July 25, 2019 | Use two inputs for cell and row selection |
| 1.1 | Nadia Robakova | July 31, 2019 | Add test plan |
Different selection scenarios should be supported by the igxGrid.
- Each selection type (row/cell) should have the ability to be disabled.
- Both selection types should be working simultaneously. ..
Provide a way to configure different selection scenarios with the usage of two @Inputs - rowSelection and cellSelection.
rowSelection will accept Enumeration value type:
-
none- Row selection would be disabled for the Grid -
single- Selection of only one row within the grid would be available. -
multi- multi-row selection would be available by using a key combination likectrl+click, or by pressing thespacekey once a cell is focused
cellSelection will accept Enumeration value type:
-
none- Cell selection would be disabled for the Grid -
single- Selection of only one cell within the grid would be available. -
multi- Currently, this is the default state of the selection in the grid. Multi-cell selection is available by mouse dragging over the cells, after a left button mouse click.
Use hideRowSelectors @Input in order to hide the Row selectors on row selection (old property name was rowSelectable), the default value is false, which means that when the user sets selectionMode to single-cell and single-row selection, multi-row selection or multi-row and multi-cell selection Row selectors will be visible (checkboxes). The end user should explicitly set hideRowSelectors to true in order to hide them.
| Name | Type | Description |
|---|---|---|
| rowSelection | Enumeration | Set row selection type - none, single, multi, default value is none
|
| cellSelection | Enumeration | Set cell selection type - none, single, multi, default value is multi
|
| hideRowSelectors | Boolean | Hide Row selectors, default value is false
|
- Should we expose
selected rowsas a collection in theCopy Clipboard functionality. - Integration of the new Selection with MRL and KB navigation.
- Consider removing of the
focuson a cell - Note: KB navigation will benefit from this.
[To be updated with action images after the design meeting]
- When click on a cell it should not be selected and event onSelection should not be fired. Methods getSelectedRanges, getSelectedData and get selected cells should return empty arrays
- When click with Ctrl on a cell it should not be selected and event onSelection should not be fired. Methods getSelectedRanges, getSelectedData and get selected cells should return empty arrays
- When navigate with the keyboard no cells should be selected and event onSelection should not be fired
- Cells should not be selected with mouse drag.
- Verify that cells can be selected form API
- When change GridSelectionMode to multiple, should be able to select a range
- When click on a cell it be selected and event onSelection should be fired.
- When click with Ctrl on a cell it should be selected and previous selected cell should be unselected and event onSelection should be fired.
- When navigate with the arrow keys the selected cell should be changed, the event should be fired.
- When navigating with Shift+ arrow keys only one cell should be selected, onRangeSelection event should not be fired
- It should not be possible to select multiple cells with mouse drag. , onRangeSelection event should not be fired
- Verify that multiple cells can be selected form API
- When change GridSelectionMode to multiple, should be able to select a range
- When GridSelectionMode to none or multiple, the selected cells should be cleared
- When click on already selected cell, the event onSelection should not be fired
- When change GridSelectionMode to none or single, should not be able to select a range
- When change GridSelectionMode to none or single, previous selected range should be cleared
- When change type to multiple row selector checkboxes should be shown.
- When change type to single row selector checkboxes should be shown.
- Test that multiple rows can be selected from the API
- When set hideRowSelectors to true or false, row selector checkboxes should not be shown.
- Test with hideRowSelectors set to true and false.
- Test that header checkbox is not previewed.
- Test that only one row can be selected with clicking on the checkbox. onRowSelectionChange event should be fired.
- Test selecting a row with clicking on a cell. onRowSelectionChange event should be fired.
- Test Selection a row with Ctrl and click, only one row should be selected. onRowSelectionChange event should be fired.
- Test selection with Shift+click, only one row should be selected. onRowSelectionChange event should be fired.
- Test toggle row selection with pressing Space on a cell. onRowSelectionChange event should be fired.
- Test that multiple rows can be selected from the API
- Test canceling of onRowSelectionChange event
- When change type to none row selector checkboxes should be hidden
- When change type to none or multiple the previous selected rows should be cleared
- When click on a cell in already selected row, the event onRowSelectionChange should not be fired
- Test with hideRowSelectors set to true and false
- Select multiple row with Shift + click, a range of rows should be selected
- Select multiple row with Ctrl + click
- Verify that when click on a cell only the current row should be selected
- Test toggle row selection with pressing Space on a cell. onRowSelectionChange event should be fired.
- Test canceling of onRowSelectionChange event
- When change type to none row selector checkboxes should be hidden. And previous selected rows should be cleared
- When change type to single header row selector checkbox should be hidden. And previous selected rows should be cleared
- When click on a cell in already selected row, the event onRowSelectionChange should not be fired
- Verify selected rows when add/delete a row
- Verify select all does not selects deleted rows
- Verify selecting rows with Shift+Click when change page
- Verify selecting rows with Shift+Click when apply a filter
- Verify selecting rows with Shift+Click when apply grouping