@ni/nimble-components 18.10.4 → 18.10.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all-components-bundle.js +236 -26
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +593 -556
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/table/components/row/index.d.ts +3 -0
- package/dist/esm/table/components/row/index.js +17 -0
- package/dist/esm/table/components/row/index.js.map +1 -1
- package/dist/esm/table/components/row/styles.js +4 -0
- package/dist/esm/table/components/row/styles.js.map +1 -1
- package/dist/esm/table/components/row/template.js +1 -1
- package/dist/esm/table/components/row/template.js.map +1 -1
- package/dist/esm/table/index.d.ts +17 -3
- package/dist/esm/table/index.js +139 -18
- package/dist/esm/table/index.js.map +1 -1
- package/dist/esm/table/models/table-validator.d.ts +6 -1
- package/dist/esm/table/models/table-validator.js +26 -4
- package/dist/esm/table/models/table-validator.js.map +1 -1
- package/dist/esm/table/models/update-tracker.d.ts +3 -0
- package/dist/esm/table/models/update-tracker.js +14 -2
- package/dist/esm/table/models/update-tracker.js.map +1 -1
- package/dist/esm/table/styles.js +19 -3
- package/dist/esm/table/styles.js.map +1 -1
- package/dist/esm/table/template.js +5 -2
- package/dist/esm/table/template.js.map +1 -1
- package/dist/esm/table/types.d.ts +25 -0
- package/dist/esm/table/types.js +16 -0
- package/dist/esm/table/types.js.map +1 -1
- package/dist/fonts.scss +1 -1
- package/dist/tokens.scss +1 -1
- package/package.json +2 -2
|
@@ -22,12 +22,15 @@ export interface TableDataRecord extends TableRecord {
|
|
|
22
22
|
*/
|
|
23
23
|
export declare class TableRow<TDataRecord extends TableDataRecord = TableDataRecord> extends FoundationElement {
|
|
24
24
|
recordId?: string;
|
|
25
|
+
selectable: boolean;
|
|
26
|
+
selected: boolean;
|
|
25
27
|
dataRecord?: TDataRecord;
|
|
26
28
|
columns: TableColumn[];
|
|
27
29
|
currentActionMenuColumn?: TableColumn;
|
|
28
30
|
nestingLevel: number;
|
|
29
31
|
menuOpen: boolean;
|
|
30
32
|
get columnStates(): ColumnState[];
|
|
33
|
+
get ariaSelected(): 'true' | 'false' | null;
|
|
31
34
|
onCellActionMenuBeforeToggle(event: CustomEvent<MenuButtonToggleEventDetail>, column: TableColumn): void;
|
|
32
35
|
onCellActionMenuToggle(event: CustomEvent<MenuButtonToggleEventDetail>, column: TableColumn): void;
|
|
33
36
|
closeOpenActionMenus(): void;
|
|
@@ -11,6 +11,8 @@ import { TableCell } from '../cell';
|
|
|
11
11
|
export class TableRow extends FoundationElement {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
|
+
this.selectable = false;
|
|
15
|
+
this.selected = false;
|
|
14
16
|
this.columns = [];
|
|
15
17
|
this.nestingLevel = 0;
|
|
16
18
|
this.menuOpen = false;
|
|
@@ -41,6 +43,12 @@ export class TableRow extends FoundationElement {
|
|
|
41
43
|
return { column, cellState, cellIndentLevel };
|
|
42
44
|
});
|
|
43
45
|
}
|
|
46
|
+
get ariaSelected() {
|
|
47
|
+
if (this.selectable) {
|
|
48
|
+
return this.selected ? 'true' : 'false';
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
44
52
|
onCellActionMenuBeforeToggle(event, column) {
|
|
45
53
|
this.currentActionMenuColumn = column;
|
|
46
54
|
this.emitToggleEvent('row-action-menu-beforetoggle', event.detail, column);
|
|
@@ -73,6 +81,12 @@ export class TableRow extends FoundationElement {
|
|
|
73
81
|
__decorate([
|
|
74
82
|
attr({ attribute: 'record-id' })
|
|
75
83
|
], TableRow.prototype, "recordId", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
attr({ mode: 'boolean' })
|
|
86
|
+
], TableRow.prototype, "selectable", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
attr({ mode: 'boolean' })
|
|
89
|
+
], TableRow.prototype, "selected", void 0);
|
|
76
90
|
__decorate([
|
|
77
91
|
observable
|
|
78
92
|
], TableRow.prototype, "dataRecord", void 0);
|
|
@@ -91,6 +105,9 @@ __decorate([
|
|
|
91
105
|
__decorate([
|
|
92
106
|
volatile
|
|
93
107
|
], TableRow.prototype, "columnStates", null);
|
|
108
|
+
__decorate([
|
|
109
|
+
volatile
|
|
110
|
+
], TableRow.prototype, "ariaSelected", null);
|
|
94
111
|
const nimbleTableRow = TableRow.compose({
|
|
95
112
|
baseName: 'table-row',
|
|
96
113
|
template,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/row/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAStC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAkBpC;;;GAGG;AACH,MAAM,OAAO,QAEX,SAAQ,iBAAiB;IAF3B;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/row/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,5 +25,9 @@ export const styles = css `
|
|
|
25
25
|
:host(:hover) nimble-table-cell {
|
|
26
26
|
--ni-private-table-cell-action-menu-display: block;
|
|
27
27
|
}
|
|
28
|
+
|
|
29
|
+
:host([selected]) nimble-table-cell {
|
|
30
|
+
--ni-private-table-cell-action-menu-display: block;
|
|
31
|
+
}
|
|
28
32
|
`;
|
|
29
33
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table/components/row/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,WAAW,EACX,aAAa,EACb,mBAAmB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;uBAGE,aAAa,UAAU,WAAW;+BAC1B,WAAW,WAAW,mBAAmB
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table/components/row/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,WAAW,EACX,aAAa,EACb,mBAAmB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;uBAGE,aAAa,UAAU,WAAW;+BAC1B,WAAW,WAAW,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;CAuBvE,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { html, repeat, when } from '@microsoft/fast-element';
|
|
|
2
2
|
import { tableCellTag } from '../cell';
|
|
3
3
|
// prettier-ignore
|
|
4
4
|
export const template = html `
|
|
5
|
-
<template role="row">
|
|
5
|
+
<template role="row" aria-selected=${x => x.ariaSelected}>
|
|
6
6
|
${repeat(x => x.columnStates, html `
|
|
7
7
|
${when(x => !x.column.columnHidden, html `
|
|
8
8
|
<${tableCellTag}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table/components/row/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAU
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table/components/row/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAU;yCACG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;UAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAuB;cACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAuB;mBACxD,YAAY;;kCAEG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;yCACT,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,uBAAuB;wCACtC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc;yCAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe;sDAChB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,KAAiD,EAAE,CAAC,CAAC,MAAM,CAAC;gDACpH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAiD,EAAE,CAAC,CAAC,MAAM,CAAC;qCACnH,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;;;sBAGrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAE,CAAC,CAAC,MAAmB,CAAC,uBAAuB,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAuB;;oCAEtH,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,cAAe,EAAE;;;qBAGjE,CAAC;oBACF,YAAY;aACnB,CAAC;SACL,CAAC;;CAET,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
2
2
|
import { TableColumn } from '../table-column/base';
|
|
3
|
-
import { TableActionMenuToggleEventDetail, TableRecord, TableValidity } from './types';
|
|
3
|
+
import { TableActionMenuToggleEventDetail, TableRecord, TableRowSelectionMode, TableRowSelectionState, TableValidity } from './types';
|
|
4
4
|
import { Virtualizer } from './models/virtualizer';
|
|
5
5
|
import type { TableRow } from './components/row';
|
|
6
6
|
declare global {
|
|
@@ -11,6 +11,7 @@ declare global {
|
|
|
11
11
|
interface TableRowState<TData extends TableRecord = TableRecord> {
|
|
12
12
|
record: TData;
|
|
13
13
|
id: string;
|
|
14
|
+
selectionState: TableRowSelectionState;
|
|
14
15
|
isGrouped: boolean;
|
|
15
16
|
groupRowValue?: unknown;
|
|
16
17
|
isExpanded: boolean;
|
|
@@ -23,6 +24,7 @@ interface TableRowState<TData extends TableRecord = TableRecord> {
|
|
|
23
24
|
*/
|
|
24
25
|
export declare class Table<TData extends TableRecord = TableRecord> extends FoundationElement {
|
|
25
26
|
idFieldName?: string;
|
|
27
|
+
selectionMode: TableRowSelectionMode;
|
|
26
28
|
/**
|
|
27
29
|
* @internal
|
|
28
30
|
*/
|
|
@@ -81,9 +83,12 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
|
|
|
81
83
|
private readonly tableValidator;
|
|
82
84
|
private readonly updateTracker;
|
|
83
85
|
private columnNotifiers;
|
|
86
|
+
private isInitialized;
|
|
84
87
|
private readonly collapsedRows;
|
|
85
88
|
constructor();
|
|
86
|
-
setData(newData: readonly TData[]): void
|
|
89
|
+
setData(newData: readonly TData[]): Promise<void>;
|
|
90
|
+
getSelectedRecordIds(): Promise<string[]>;
|
|
91
|
+
setSelectedRecordIds(recordIds: string[]): Promise<void>;
|
|
87
92
|
connectedCallback(): void;
|
|
88
93
|
disconnectedCallback(): void;
|
|
89
94
|
checkValidity(): boolean;
|
|
@@ -95,17 +100,24 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
|
|
|
95
100
|
* is the string name of the property that changed on that column.
|
|
96
101
|
*/
|
|
97
102
|
handleChange(source: unknown, args: unknown): void;
|
|
103
|
+
/** @internal */
|
|
104
|
+
onRowClick(rowIndex: number): Promise<void>;
|
|
105
|
+
/** @internal */
|
|
98
106
|
onRowActionMenuBeforeToggle(event: CustomEvent<TableActionMenuToggleEventDetail>): void;
|
|
107
|
+
/** @internal */
|
|
99
108
|
onRowActionMenuToggle(event: CustomEvent<TableActionMenuToggleEventDetail>): void;
|
|
100
109
|
handleGroupRowExpanded(rowIndex: number, event: Event): void;
|
|
101
110
|
/**
|
|
102
111
|
* @internal
|
|
103
112
|
*/
|
|
104
113
|
update(): void;
|
|
114
|
+
protected selectionModeChanged(_prev: string | undefined, _next: string | undefined): void;
|
|
105
115
|
protected idFieldNameChanged(_prev: string | undefined, _next: string | undefined): void;
|
|
106
116
|
protected columnsChanged(_prev: TableColumn[] | undefined, _next: TableColumn[]): void;
|
|
107
117
|
private readonly onViewPortScroll;
|
|
108
118
|
private removeColumnObservers;
|
|
119
|
+
private initialize;
|
|
120
|
+
private processPendingUpdates;
|
|
109
121
|
private observeColumns;
|
|
110
122
|
private getColumnsParticipatingInSorting;
|
|
111
123
|
private getColumnsParticipatingInGrouping;
|
|
@@ -116,17 +128,19 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
|
|
|
116
128
|
private updateRowGridColumns;
|
|
117
129
|
private validate;
|
|
118
130
|
private validateWithData;
|
|
119
|
-
private
|
|
131
|
+
private emitSelectionChangeEvent;
|
|
120
132
|
private refreshRows;
|
|
121
133
|
private getGroupRowColumn;
|
|
122
134
|
private updateTableOptions;
|
|
123
135
|
private readonly getIsRowExpanded;
|
|
136
|
+
private readonly handleRowSelectionChange;
|
|
124
137
|
private readonly handleExpandedChange;
|
|
125
138
|
private toggleGroupExpanded;
|
|
126
139
|
private calculateTanStackSortState;
|
|
127
140
|
private calculateTanStackGroupingState;
|
|
128
141
|
private calculateTanStackRowIdFunction;
|
|
129
142
|
private calculateTanStackColumns;
|
|
143
|
+
private calculateTanStackSelectionState;
|
|
130
144
|
}
|
|
131
145
|
export declare const tableTag: string;
|
|
132
146
|
export {};
|
package/dist/esm/table/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { attr, Observable, observable } from '@microsoft/fast-element';
|
|
2
|
+
import { attr, Observable, observable, DOM } from '@microsoft/fast-element';
|
|
3
3
|
import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
|
|
4
4
|
import { createTable as tanStackCreateTable, getCoreRowModel as tanStackGetCoreRowModel, getSortedRowModel as tanStackGetSortedRowModel, getGroupedRowModel as tanStackGetGroupedRowModel, getExpandedRowModel as tanStackGetExpandedRowModel } from '@tanstack/table-core';
|
|
5
5
|
import { TableColumn } from '../table-column/base';
|
|
6
6
|
import { TableValidator } from './models/table-validator';
|
|
7
7
|
import { styles } from './styles';
|
|
8
8
|
import { template } from './template';
|
|
9
|
-
import { TableColumnSortDirection } from './types';
|
|
9
|
+
import { TableColumnSortDirection, TableRowSelectionMode, TableRowSelectionState } from './types';
|
|
10
10
|
import { Virtualizer } from './models/virtualizer';
|
|
11
11
|
import { getTanStackSortingFunction } from './models/sort-operations';
|
|
12
12
|
import { UpdateTracker } from './models/update-tracker';
|
|
@@ -17,6 +17,7 @@ import { TableLayoutHelper } from './models/table-layout-helper';
|
|
|
17
17
|
export class Table extends FoundationElement {
|
|
18
18
|
constructor() {
|
|
19
19
|
super();
|
|
20
|
+
this.selectionMode = TableRowSelectionMode.none;
|
|
20
21
|
/**
|
|
21
22
|
* @internal
|
|
22
23
|
*/
|
|
@@ -48,6 +49,7 @@ export class Table extends FoundationElement {
|
|
|
48
49
|
this.tableValidator = new TableValidator();
|
|
49
50
|
this.updateTracker = new UpdateTracker(this);
|
|
50
51
|
this.columnNotifiers = [];
|
|
52
|
+
this.isInitialized = false;
|
|
51
53
|
this.collapsedRows = new Set();
|
|
52
54
|
this.onViewPortScroll = (event) => {
|
|
53
55
|
this.scrollX = event.target.scrollLeft;
|
|
@@ -65,6 +67,16 @@ export class Table extends FoundationElement {
|
|
|
65
67
|
}
|
|
66
68
|
return !this.collapsedRows.has(row.id);
|
|
67
69
|
};
|
|
70
|
+
this.handleRowSelectionChange = (updaterOrValue) => {
|
|
71
|
+
const rowSelectionState = updaterOrValue instanceof Function
|
|
72
|
+
? updaterOrValue(this.table.getState().rowSelection)
|
|
73
|
+
: updaterOrValue;
|
|
74
|
+
this.updateTableOptions({
|
|
75
|
+
state: {
|
|
76
|
+
rowSelection: rowSelectionState
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
};
|
|
68
80
|
this.handleExpandedChange = (updaterOrValue) => {
|
|
69
81
|
const expandedState = updaterOrValue instanceof Function
|
|
70
82
|
? updaterOrValue(this.table.getState().expanded)
|
|
@@ -78,6 +90,7 @@ export class Table extends FoundationElement {
|
|
|
78
90
|
this.options = {
|
|
79
91
|
data: [],
|
|
80
92
|
onStateChange: (_) => { },
|
|
93
|
+
onRowSelectionChange: this.handleRowSelectionChange,
|
|
81
94
|
onExpandedChange: this.handleExpandedChange,
|
|
82
95
|
getCoreRowModel: tanStackGetCoreRowModel(),
|
|
83
96
|
getSortedRowModel: tanStackGetSortedRowModel(),
|
|
@@ -86,9 +99,11 @@ export class Table extends FoundationElement {
|
|
|
86
99
|
getIsRowExpanded: this.getIsRowExpanded,
|
|
87
100
|
columns: [],
|
|
88
101
|
state: {
|
|
102
|
+
rowSelection: {},
|
|
89
103
|
grouping: [],
|
|
90
104
|
expanded: true // Workaround until we can apply a fix to TanStack regarding leveraging our getIsRowExpanded implementation
|
|
91
105
|
},
|
|
106
|
+
enableRowSelection: false,
|
|
92
107
|
enableSorting: true,
|
|
93
108
|
enableGrouping: true,
|
|
94
109
|
renderFallbackValue: null,
|
|
@@ -100,14 +115,54 @@ export class Table extends FoundationElement {
|
|
|
100
115
|
get validity() {
|
|
101
116
|
return this.tableValidator.getValidity();
|
|
102
117
|
}
|
|
103
|
-
setData(newData) {
|
|
104
|
-
this.
|
|
118
|
+
async setData(newData) {
|
|
119
|
+
await this.processPendingUpdates();
|
|
120
|
+
const data = newData.map(record => {
|
|
121
|
+
return { ...record };
|
|
122
|
+
});
|
|
123
|
+
const tanStackUpdates = {
|
|
124
|
+
data
|
|
125
|
+
};
|
|
126
|
+
this.validateWithData(data);
|
|
127
|
+
if (this.tableValidator.areRecordIdsValid()) {
|
|
128
|
+
// Update the selection state to remove previously selected records that no longer exist in the
|
|
129
|
+
// data set while maintaining the selection state of records that still exist in the data set.
|
|
130
|
+
const previousSelection = await this.getSelectedRecordIds();
|
|
131
|
+
tanStackUpdates.state = {
|
|
132
|
+
rowSelection: this.calculateTanStackSelectionState(previousSelection)
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
this.updateTableOptions(tanStackUpdates);
|
|
136
|
+
}
|
|
137
|
+
async getSelectedRecordIds() {
|
|
138
|
+
await this.processPendingUpdates();
|
|
139
|
+
const tanStackSelectionState = this.options.state.rowSelection;
|
|
140
|
+
if (!tanStackSelectionState) {
|
|
141
|
+
return [];
|
|
142
|
+
}
|
|
143
|
+
const selectedRecordIds = [];
|
|
144
|
+
Object.entries(tanStackSelectionState).forEach(([recordId, isSelected]) => {
|
|
145
|
+
if (isSelected) {
|
|
146
|
+
selectedRecordIds.push(recordId);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return selectedRecordIds;
|
|
150
|
+
}
|
|
151
|
+
async setSelectedRecordIds(recordIds) {
|
|
152
|
+
await this.processPendingUpdates();
|
|
153
|
+
if (this.selectionMode === TableRowSelectionMode.none) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
this.updateTableOptions({
|
|
157
|
+
state: {
|
|
158
|
+
rowSelection: this.calculateTanStackSelectionState(recordIds)
|
|
159
|
+
}
|
|
160
|
+
});
|
|
105
161
|
}
|
|
106
162
|
connectedCallback() {
|
|
107
163
|
super.connectedCallback();
|
|
164
|
+
this.initialize();
|
|
108
165
|
this.virtualizer.connectedCallback();
|
|
109
|
-
this.updateTracker.trackAllStateChanged();
|
|
110
|
-
this.observeColumns();
|
|
111
166
|
this.viewport.addEventListener('scroll', this.onViewPortScroll, {
|
|
112
167
|
passive: true
|
|
113
168
|
});
|
|
@@ -115,7 +170,6 @@ export class Table extends FoundationElement {
|
|
|
115
170
|
disconnectedCallback() {
|
|
116
171
|
super.disconnectedCallback();
|
|
117
172
|
this.virtualizer.disconnectedCallback();
|
|
118
|
-
this.removeColumnObservers();
|
|
119
173
|
this.viewport.removeEventListener('scroll', this.onViewPortScroll);
|
|
120
174
|
}
|
|
121
175
|
checkValidity() {
|
|
@@ -133,11 +187,33 @@ export class Table extends FoundationElement {
|
|
|
133
187
|
this.updateTracker.trackColumnPropertyChanged(args);
|
|
134
188
|
}
|
|
135
189
|
}
|
|
190
|
+
/** @internal */
|
|
191
|
+
async onRowClick(rowIndex) {
|
|
192
|
+
if (this.selectionMode === TableRowSelectionMode.none) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const row = this.table.getRowModel().rows[rowIndex];
|
|
196
|
+
if (!row) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
const currentSelection = await this.getSelectedRecordIds();
|
|
200
|
+
if (currentSelection.length === 1 && currentSelection[0] === row.id) {
|
|
201
|
+
// The clicked row is already the only selected row. Do nothing.
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
this.table.toggleAllRowsSelected(false);
|
|
205
|
+
row.toggleSelected(true);
|
|
206
|
+
await this.emitSelectionChangeEvent();
|
|
207
|
+
}
|
|
208
|
+
/** @internal */
|
|
136
209
|
onRowActionMenuBeforeToggle(event) {
|
|
210
|
+
event.stopImmediatePropagation();
|
|
137
211
|
this.openActionMenuRecordId = event.detail.recordIds[0];
|
|
138
212
|
this.$emit('action-menu-beforetoggle', event.detail);
|
|
139
213
|
}
|
|
214
|
+
/** @internal */
|
|
140
215
|
onRowActionMenuToggle(event) {
|
|
216
|
+
event.stopImmediatePropagation();
|
|
141
217
|
this.$emit('action-menu-toggle', event.detail);
|
|
142
218
|
if (!event.detail.newState) {
|
|
143
219
|
this.openActionMenuRecordId = undefined;
|
|
@@ -162,6 +238,12 @@ export class Table extends FoundationElement {
|
|
|
162
238
|
this.updateRowGridColumns();
|
|
163
239
|
}
|
|
164
240
|
}
|
|
241
|
+
selectionModeChanged(_prev, _next) {
|
|
242
|
+
if (!this.$fastController.isConnected) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
this.updateTracker.trackSelectionModeChanged();
|
|
246
|
+
}
|
|
165
247
|
idFieldNameChanged(_prev, _next) {
|
|
166
248
|
if (!this.$fastController.isConnected) {
|
|
167
249
|
return;
|
|
@@ -181,6 +263,24 @@ export class Table extends FoundationElement {
|
|
|
181
263
|
});
|
|
182
264
|
this.columnNotifiers = [];
|
|
183
265
|
}
|
|
266
|
+
initialize() {
|
|
267
|
+
if (this.isInitialized) {
|
|
268
|
+
// The table is already initialized. There is nothing more to do.
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
this.isInitialized = true;
|
|
272
|
+
// Initialize the controller to ensure that FAST functionality such as Observables work as expected.
|
|
273
|
+
this.$fastController.onConnectedCallback();
|
|
274
|
+
this.updateTracker.trackAllStateChanged();
|
|
275
|
+
this.observeColumns();
|
|
276
|
+
}
|
|
277
|
+
async processPendingUpdates() {
|
|
278
|
+
this.initialize();
|
|
279
|
+
await DOM.nextUpdate();
|
|
280
|
+
if (this.updateTracker.hasPendingUpdates) {
|
|
281
|
+
throw new Error('Expected pending updates to be resolved');
|
|
282
|
+
}
|
|
283
|
+
}
|
|
184
284
|
observeColumns() {
|
|
185
285
|
this.removeColumnObservers();
|
|
186
286
|
for (const column of this.columns) {
|
|
@@ -208,9 +308,8 @@ export class Table extends FoundationElement {
|
|
|
208
308
|
this.columns = this.childItems.filter((x) => x instanceof TableColumn);
|
|
209
309
|
}
|
|
210
310
|
updateTanStack() {
|
|
211
|
-
const updatedOptions = {
|
|
212
|
-
|
|
213
|
-
};
|
|
311
|
+
const updatedOptions = {};
|
|
312
|
+
updatedOptions.state = {};
|
|
214
313
|
if (this.updateTracker.updateColumnSort) {
|
|
215
314
|
updatedOptions.state.sorting = this.calculateTanStackSortState();
|
|
216
315
|
}
|
|
@@ -219,6 +318,11 @@ export class Table extends FoundationElement {
|
|
|
219
318
|
}
|
|
220
319
|
if (this.updateTracker.updateRowIds) {
|
|
221
320
|
updatedOptions.getRowId = this.calculateTanStackRowIdFunction();
|
|
321
|
+
updatedOptions.state.rowSelection = {};
|
|
322
|
+
}
|
|
323
|
+
if (this.updateTracker.updateSelectionMode) {
|
|
324
|
+
updatedOptions.enableRowSelection = this.selectionMode !== TableRowSelectionMode.none;
|
|
325
|
+
updatedOptions.state.rowSelection = {};
|
|
222
326
|
}
|
|
223
327
|
if (this.updateTracker.requiresTanStackDataReset) {
|
|
224
328
|
// Perform a shallow copy of the data to trigger tanstack to regenerate the row models and columns.
|
|
@@ -244,6 +348,7 @@ export class Table extends FoundationElement {
|
|
|
244
348
|
this.rowGridColumns = TableLayoutHelper.getGridTemplateColumns(this.columns);
|
|
245
349
|
}
|
|
246
350
|
validate() {
|
|
351
|
+
this.tableValidator.validateSelectionMode(this.selectionMode, this.idFieldName);
|
|
247
352
|
this.tableValidator.validateColumnIds(this.columns.map(x => x.columnId));
|
|
248
353
|
this.tableValidator.validateColumnSortIndices(this.getColumnsParticipatingInSorting().map(x => x.sortIndex));
|
|
249
354
|
this.tableValidator.validateColumnGroupIndices(this.getColumnsParticipatingInGrouping().map(x => x.internalGroupIndex));
|
|
@@ -253,14 +358,11 @@ export class Table extends FoundationElement {
|
|
|
253
358
|
this.tableValidator.validateRecordIds(data, this.idFieldName);
|
|
254
359
|
this.canRenderRows = this.checkValidity();
|
|
255
360
|
}
|
|
256
|
-
|
|
257
|
-
const
|
|
258
|
-
|
|
259
|
-
}
|
|
260
|
-
this
|
|
261
|
-
this.updateTableOptions({
|
|
262
|
-
data
|
|
263
|
-
});
|
|
361
|
+
async emitSelectionChangeEvent() {
|
|
362
|
+
const detail = {
|
|
363
|
+
selectedRecordIds: await this.getSelectedRecordIds()
|
|
364
|
+
};
|
|
365
|
+
this.$emit('selection-change', detail);
|
|
264
366
|
}
|
|
265
367
|
refreshRows() {
|
|
266
368
|
const rows = this.table.getRowModel().rows;
|
|
@@ -268,6 +370,9 @@ export class Table extends FoundationElement {
|
|
|
268
370
|
const rowState = {
|
|
269
371
|
record: row.original,
|
|
270
372
|
id: row.id,
|
|
373
|
+
selectionState: row.getIsSelected()
|
|
374
|
+
? TableRowSelectionState.selected
|
|
375
|
+
: TableRowSelectionState.notSelected,
|
|
271
376
|
isGrouped: row.getIsGrouped(),
|
|
272
377
|
isExpanded: row.getIsExpanded(),
|
|
273
378
|
groupRowValue: row.getIsGrouped()
|
|
@@ -348,10 +453,26 @@ export class Table extends FoundationElement {
|
|
|
348
453
|
};
|
|
349
454
|
});
|
|
350
455
|
}
|
|
456
|
+
calculateTanStackSelectionState(recordIdsToSelect) {
|
|
457
|
+
if (this.selectionMode === TableRowSelectionMode.none) {
|
|
458
|
+
return {};
|
|
459
|
+
}
|
|
460
|
+
const tanstackSelectionState = {};
|
|
461
|
+
const selectableRecordIds = this.tableValidator.getPresentRecordIds(recordIdsToSelect);
|
|
462
|
+
if (selectableRecordIds.length) {
|
|
463
|
+
// In single selection mode, only select the first record ID that is requested
|
|
464
|
+
const firstSelectableRecordId = selectableRecordIds[0];
|
|
465
|
+
tanstackSelectionState[firstSelectableRecordId] = true;
|
|
466
|
+
}
|
|
467
|
+
return tanstackSelectionState;
|
|
468
|
+
}
|
|
351
469
|
}
|
|
352
470
|
__decorate([
|
|
353
471
|
attr({ attribute: 'id-field-name' })
|
|
354
472
|
], Table.prototype, "idFieldName", void 0);
|
|
473
|
+
__decorate([
|
|
474
|
+
attr({ attribute: 'selection-mode' })
|
|
475
|
+
], Table.prototype, "selectionMode", void 0);
|
|
355
476
|
__decorate([
|
|
356
477
|
observable
|
|
357
478
|
], Table.prototype, "tableData", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { TableRecord, TableRowSelectionMode, TableValidity } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Helper class for the nimble-table to validate that the table's configuration
|
|
4
4
|
* is valid and report which aspects of the configuration are valid or invalid.
|
|
@@ -11,11 +11,16 @@ export declare class TableValidator<TData extends TableRecord> {
|
|
|
11
11
|
private missingColumnId;
|
|
12
12
|
private duplicateSortIndex;
|
|
13
13
|
private duplicateGroupIndex;
|
|
14
|
+
private idFieldNameNotConfigured;
|
|
15
|
+
private readonly recordIds;
|
|
14
16
|
getValidity(): TableValidity;
|
|
15
17
|
isValid(): boolean;
|
|
18
|
+
areRecordIdsValid(): boolean;
|
|
19
|
+
validateSelectionMode(selectionMode: TableRowSelectionMode, idFieldName: string | undefined): boolean;
|
|
16
20
|
validateRecordIds(data: TData[], idFieldName: string | undefined): boolean;
|
|
17
21
|
validateColumnIds(columnIds: (string | undefined)[]): boolean;
|
|
18
22
|
validateColumnSortIndices(sortIndices: number[]): boolean;
|
|
19
23
|
validateColumnGroupIndices(groupIndices: number[]): boolean;
|
|
24
|
+
getPresentRecordIds(requestedRecordIds: string[]): string[];
|
|
20
25
|
private validateIndicesAreUnique;
|
|
21
26
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TableRowSelectionMode } from '../types';
|
|
1
2
|
/**
|
|
2
3
|
* Helper class for the nimble-table to validate that the table's configuration
|
|
3
4
|
* is valid and report which aspects of the configuration are valid or invalid.
|
|
@@ -11,6 +12,8 @@ export class TableValidator {
|
|
|
11
12
|
this.missingColumnId = false;
|
|
12
13
|
this.duplicateSortIndex = false;
|
|
13
14
|
this.duplicateGroupIndex = false;
|
|
15
|
+
this.idFieldNameNotConfigured = false;
|
|
16
|
+
this.recordIds = new Set();
|
|
14
17
|
}
|
|
15
18
|
getValidity() {
|
|
16
19
|
return {
|
|
@@ -20,21 +23,37 @@ export class TableValidator {
|
|
|
20
23
|
duplicateColumnId: this.duplicateColumnId,
|
|
21
24
|
missingColumnId: this.missingColumnId,
|
|
22
25
|
duplicateSortIndex: this.duplicateSortIndex,
|
|
23
|
-
duplicateGroupIndex: this.duplicateGroupIndex
|
|
26
|
+
duplicateGroupIndex: this.duplicateGroupIndex,
|
|
27
|
+
idFieldNameNotConfigured: this.idFieldNameNotConfigured
|
|
24
28
|
};
|
|
25
29
|
}
|
|
26
30
|
isValid() {
|
|
27
31
|
return Object.values(this.getValidity()).every(x => x === false);
|
|
28
32
|
}
|
|
33
|
+
areRecordIdsValid() {
|
|
34
|
+
const validity = this.getValidity();
|
|
35
|
+
return (!validity.duplicateRecordId
|
|
36
|
+
&& !validity.missingRecordId
|
|
37
|
+
&& !validity.invalidRecordId);
|
|
38
|
+
}
|
|
39
|
+
validateSelectionMode(selectionMode, idFieldName) {
|
|
40
|
+
if (selectionMode === TableRowSelectionMode.none) {
|
|
41
|
+
this.idFieldNameNotConfigured = false;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.idFieldNameNotConfigured = typeof idFieldName !== 'string';
|
|
45
|
+
}
|
|
46
|
+
return !this.idFieldNameNotConfigured;
|
|
47
|
+
}
|
|
29
48
|
validateRecordIds(data, idFieldName) {
|
|
30
49
|
// Start off by assuming all IDs are valid.
|
|
31
50
|
this.duplicateRecordId = false;
|
|
32
51
|
this.missingRecordId = false;
|
|
33
52
|
this.invalidRecordId = false;
|
|
53
|
+
this.recordIds.clear();
|
|
34
54
|
if (typeof idFieldName !== 'string') {
|
|
35
55
|
return true;
|
|
36
56
|
}
|
|
37
|
-
const ids = new Set();
|
|
38
57
|
for (const record of data) {
|
|
39
58
|
if (!Object.prototype.hasOwnProperty.call(record, idFieldName)) {
|
|
40
59
|
this.missingRecordId = true;
|
|
@@ -45,10 +64,10 @@ export class TableValidator {
|
|
|
45
64
|
this.invalidRecordId = true;
|
|
46
65
|
continue;
|
|
47
66
|
}
|
|
48
|
-
if (
|
|
67
|
+
if (this.recordIds.has(id)) {
|
|
49
68
|
this.duplicateRecordId = true;
|
|
50
69
|
}
|
|
51
|
-
|
|
70
|
+
this.recordIds.add(id);
|
|
52
71
|
}
|
|
53
72
|
return (!this.missingRecordId
|
|
54
73
|
&& !this.invalidRecordId
|
|
@@ -82,6 +101,9 @@ export class TableValidator {
|
|
|
82
101
|
this.duplicateGroupIndex = !this.validateIndicesAreUnique(groupIndices);
|
|
83
102
|
return !this.duplicateGroupIndex;
|
|
84
103
|
}
|
|
104
|
+
getPresentRecordIds(requestedRecordIds) {
|
|
105
|
+
return requestedRecordIds.filter(id => this.recordIds.has(id));
|
|
106
|
+
}
|
|
85
107
|
validateIndicesAreUnique(indices) {
|
|
86
108
|
const numberSet = new Set(indices);
|
|
87
109
|
return numberSet.size === indices.length;
|