-
Notifications
You must be signed in to change notification settings - Fork 161
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 thespace
key 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 rows
as a collection in theCopy Clipboard functionality
. - Integration of the new Selection with MRL and KB navigation.
- Consider removing of the
focus
on 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