table cell selection improvement (#20854)

* Support SHIFT key for table cell selection

* fix for mac

* PR comment
This commit is contained in:
Alan Ren
2022-10-14 19:44:14 -07:00
committed by GitHub
parent a773be1bba
commit 5d731fe0ad
6 changed files with 79 additions and 50 deletions

View File

@@ -392,7 +392,7 @@ export class EditDataGridPanel extends GridParentComponent {
let maxHeight = this.getMaxHeight(resultSet.rowCount);
let minHeight = this.getMinHeight(resultSet.rowCount);
let rowNumberColumn = new RowNumberColumn({ numberOfRows: resultSet.rowCount });
let rowNumberColumn = new RowNumberColumn();
// Store the result set from the event
let dataSet: IGridDataSet = {

View File

@@ -191,7 +191,7 @@ export class TopOperationsTabView extends Disposable implements IPanelView {
topOperationContainer.appendChild(tableContainer);
this._topOperationsContainers.push(topOperationContainer);
const rowNumberColumn = new RowNumberColumn({ numberOfRows: dataMap.length });
const rowNumberColumn = new RowNumberColumn({ autoCellSelection: false });
columns.unshift(rowNumberColumn.getColumnDefinition());
let copyHandler = new CopyKeybind<any>();
@@ -234,7 +234,7 @@ export class TopOperationsTabView extends Disposable implements IPanelView {
});
}));
const selectionModel = new CellSelectionModel<Slick.SlickData>();
const selectionModel = new CellSelectionModel<Slick.SlickData>({ hasRowSelector: true });
const table = this._register(new Table<Slick.SlickData>(tableContainer, {
columns: columns,

View File

@@ -353,7 +353,7 @@ export abstract class GridTableBase<T> extends Disposable implements IView {
private table: Table<T>;
private actionBar: ActionBar;
private container = document.createElement('div');
private selectionModel = new CellSelectionModel<T>();
private selectionModel = new CellSelectionModel<T>({ hasRowSelector: true });
private styles: ITableStyles;
private currentHeight: number;
private dataProvider: HybridDataProvider<T>;
@@ -498,7 +498,7 @@ export abstract class GridTableBase<T> extends Disposable implements IView {
collection.setCollectionChangedCallback((startIndex, count) => {
this.renderGridDataRowsRange(startIndex, count);
});
this.rowNumberColumn = new RowNumberColumn({ numberOfRows: this.resultSet.rowCount });
this.rowNumberColumn = new RowNumberColumn({ autoCellSelection: false });
this.columns.unshift(this.rowNumberColumn.getColumnDefinition());
let tableOptions: Slick.GridOptions<T> = {
rowHeight: this.rowHeight,

View File

@@ -49,7 +49,7 @@ export function renderDataResource(
// In order to show row numbers, we need to put the row number column
// ahead of all of the other columns, and register the plugin below
let rowNumberColumn = new RowNumberColumn({ numberOfRows: source.length });
let rowNumberColumn = new RowNumberColumn();
columnsTransformed.unshift(rowNumberColumn.getColumnDefinition());
let transformedData = transformData(sourceObject.data, columnsTransformed);