@ni/nimble-components 18.11.1 → 18.12.1

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.
Files changed (39) hide show
  1. package/dist/all-components-bundle.js +455 -86
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +1067 -931
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/icon-base/icon-metadata.js +3 -0
  6. package/dist/esm/icon-base/icon-metadata.js.map +1 -1
  7. package/dist/esm/icons/all-icons.d.ts +1 -0
  8. package/dist/esm/icons/all-icons.js +1 -0
  9. package/dist/esm/icons/all-icons.js.map +1 -1
  10. package/dist/esm/icons/file-export.d.ts +13 -0
  11. package/dist/esm/icons/file-export.js +16 -0
  12. package/dist/esm/icons/file-export.js.map +1 -0
  13. package/dist/esm/table/components/cell/template.js +1 -0
  14. package/dist/esm/table/components/cell/template.js.map +1 -1
  15. package/dist/esm/table/components/group-row/index.d.ts +14 -1
  16. package/dist/esm/table/components/group-row/index.js +44 -0
  17. package/dist/esm/table/components/group-row/index.js.map +1 -1
  18. package/dist/esm/table/components/group-row/styles.js +16 -4
  19. package/dist/esm/table/components/group-row/styles.js.map +1 -1
  20. package/dist/esm/table/components/group-row/template.js +30 -10
  21. package/dist/esm/table/components/group-row/template.js.map +1 -1
  22. package/dist/esm/table/components/row/index.d.ts +12 -2
  23. package/dist/esm/table/components/row/index.js +40 -4
  24. package/dist/esm/table/components/row/index.js.map +1 -1
  25. package/dist/esm/table/components/row/styles.js +21 -4
  26. package/dist/esm/table/components/row/styles.js.map +1 -1
  27. package/dist/esm/table/components/row/template.js +36 -20
  28. package/dist/esm/table/components/row/template.js.map +1 -1
  29. package/dist/esm/table/index.d.ts +27 -4
  30. package/dist/esm/table/index.js +185 -22
  31. package/dist/esm/table/index.js.map +1 -1
  32. package/dist/esm/table/styles.js +32 -9
  33. package/dist/esm/table/styles.js.map +1 -1
  34. package/dist/esm/table/template.js +37 -14
  35. package/dist/esm/table/template.js.map +1 -1
  36. package/dist/esm/table/types.d.ts +11 -0
  37. package/dist/esm/table/types.js +4 -2
  38. package/dist/esm/table/types.js.map +1 -1
  39. package/package.json +15 -14
@@ -1,30 +1,46 @@
1
- import { html, repeat, when } from '@microsoft/fast-element';
1
+ import { html, ref, repeat, when } from '@microsoft/fast-element';
2
2
  import { tableCellTag } from '../cell';
3
+ import { checkboxTag } from '../../../checkbox';
3
4
  // prettier-ignore
4
5
  export const template = html `
5
6
  <template role="row" aria-selected=${x => x.ariaSelected}>
6
- ${repeat(x => x.columnStates, html `
7
- ${when(x => !x.column.columnHidden, html `
8
- <${tableCellTag}
9
- class="cell"
10
- :cellState="${x => x.cellState}"
11
- :cellViewTemplate="${x => x.column.columnInternals.cellViewTemplate}"
12
- ?has-action-menu="${x => !!x.column.actionMenuSlot}"
13
- action-menu-label="${x => x.column.actionMenuLabel}"
14
- @cell-action-menu-beforetoggle="${(x, c) => c.parent.onCellActionMenuBeforeToggle(c.event, x.column)}"
15
- @cell-action-menu-toggle="${(x, c) => c.parent.onCellActionMenuToggle(c.event, x.column)}"
16
- :nestingLevel="${x => x.cellIndentLevel};"
7
+ ${when(x => x.selectable && !x.hideSelection, html `
8
+ <span role="gridcell" class="checkbox-container">
9
+ <${checkboxTag}
10
+ ${ref('selectionCheckbox')}
11
+ role="cell"
12
+ class="selection-checkbox"
13
+ @change="${(x, c) => x.onSelectionChange(c.event)}"
14
+ @click="${(_, c) => c.event.stopPropagation()}"
17
15
  >
16
+ </${checkboxTag}>
17
+ </span>
18
+ `)}
19
+
20
+ <span ${ref('cellContainer')} class="cell-container">
21
+ ${repeat(x => x.columnStates, html `
22
+ ${when(x => !x.column.columnHidden, html `
23
+ <${tableCellTag}
24
+ class="cell"
25
+ :cellState="${x => x.cellState}"
26
+ :cellViewTemplate="${x => x.column.columnInternals.cellViewTemplate}"
27
+ ?has-action-menu="${x => !!x.column.actionMenuSlot}"
28
+ action-menu-label="${x => x.column.actionMenuLabel}"
29
+ @cell-action-menu-beforetoggle="${(x, c) => c.parent.onCellActionMenuBeforeToggle(c.event, x.column)}"
30
+ @cell-action-menu-toggle="${(x, c) => c.parent.onCellActionMenuToggle(c.event, x.column)}"
31
+ :nestingLevel="${x => x.cellIndentLevel};"
32
+ >
18
33
 
19
- ${when((x, c) => (c.parent.currentActionMenuColumn === x.column) && x.column.actionMenuSlot, html `
20
- <slot
21
- name="${x => `row-action-menu-${x.column.actionMenuSlot}`}"
22
- slot="cellActionMenu"
23
- ></slot>
24
- `)}
25
- </${tableCellTag}>
34
+ ${when((x, c) => (c.parent.currentActionMenuColumn === x.column) && x.column.actionMenuSlot, html `
35
+ <slot
36
+ name="${x => `row-action-menu-${x.column.actionMenuSlot}`}"
37
+ slot="cellActionMenu"
38
+ ></slot>
39
+ `)}
40
+ </${tableCellTag}>
41
+ `)}
26
42
  `)}
27
- `)}
43
+ </span>
28
44
  </template>
29
45
  `;
30
46
  //# sourceMappingURL=template.js.map
@@ -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;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,eAAe,CAAC,gBAAgB;wCAC/C,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
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table/components/row/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAU;yCACG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;UAClD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAU;;mBAEjD,WAAW;sBACR,GAAG,CAAC,mBAAmB,CAAC;;;+BAGf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAoB,CAAC;8BACtD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE;;oBAE7C,WAAW;;SAEtB,CAAC;;gBAEM,GAAG,CAAC,eAAe,CAAC;cACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAuB;kBACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAuB;uBACxD,YAAY;;sCAEG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;6CACT,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,gBAAgB;4CAC/C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc;6CAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe;0DAChB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,KAAiD,EAAE,CAAC,CAAC,MAAM,CAAC;oDACpH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAiD,EAAE,CAAC,CAAC,MAAM,CAAC;yCACnH,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;;;0BAGrC,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;;wCAEtH,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,cAAe,EAAE;;;yBAGjE,CAAC;wBACF,YAAY;iBACnB,CAAC;aACL,CAAC;;;CAGb,CAAC"}
@@ -1,6 +1,6 @@
1
- import { FoundationElement } from '@microsoft/fast-foundation';
1
+ import { Checkbox, FoundationElement } from '@microsoft/fast-foundation';
2
2
  import { TableColumn } from '../table-column/base';
3
- import { TableActionMenuToggleEventDetail, TableRecord, TableRowSelectionMode, TableRowSelectionState, TableValidity } from './types';
3
+ import { TableActionMenuToggleEventDetail, TableRecord, TableRowSelectionMode, TableRowSelectionState, TableRowSelectionToggleEventDetail, TableValidity } from './types';
4
4
  import { Virtualizer } from './models/virtualizer';
5
5
  import type { TableRow } from './components/row';
6
6
  declare global {
@@ -61,11 +61,19 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
61
61
  * @internal
62
62
  */
63
63
  rowGridColumns?: string;
64
+ /**
65
+ * @internal
66
+ */
67
+ selectionState: TableRowSelectionState;
64
68
  get validity(): TableValidity;
65
69
  /**
66
70
  * @internal
67
71
  */
68
72
  readonly viewport: HTMLElement;
73
+ /**
74
+ * @internal
75
+ */
76
+ readonly selectionCheckbox?: Checkbox;
69
77
  /**
70
78
  * @internal
71
79
  */
@@ -85,6 +93,7 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
85
93
  private columnNotifiers;
86
94
  private isInitialized;
87
95
  private readonly collapsedRows;
96
+ private ignoreSelectionChangeEvents;
88
97
  constructor();
89
98
  setData(newData: readonly TData[]): Promise<void>;
90
99
  getSelectedRecordIds(): Promise<string[]>;
@@ -101,16 +110,22 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
101
110
  */
102
111
  handleChange(source: unknown, args: unknown): void;
103
112
  /** @internal */
113
+ onRowSelectionToggle(rowIndex: number, event: CustomEvent<TableRowSelectionToggleEventDetail>): Promise<void>;
114
+ /** @internal */
104
115
  onRowClick(rowIndex: number): Promise<void>;
105
116
  /** @internal */
106
- onRowActionMenuBeforeToggle(event: CustomEvent<TableActionMenuToggleEventDetail>): void;
117
+ onAllRowsSelectionChange(event: CustomEvent): Promise<void>;
118
+ /** @internal */
119
+ onRowActionMenuBeforeToggle(rowIndex: number, event: CustomEvent<TableActionMenuToggleEventDetail>): Promise<void>;
120
+ /** @internal */
121
+ onRowActionMenuToggle(event: CustomEvent<TableActionMenuToggleEventDetail>): Promise<void>;
107
122
  /** @internal */
108
- onRowActionMenuToggle(event: CustomEvent<TableActionMenuToggleEventDetail>): void;
109
123
  handleGroupRowExpanded(rowIndex: number, event: Event): void;
110
124
  /**
111
125
  * @internal
112
126
  */
113
127
  update(): void;
128
+ get ariaMultiSelectable(): 'true' | 'false' | null;
114
129
  protected selectionModeChanged(_prev: string | undefined, _next: string | undefined): void;
115
130
  protected idFieldNameChanged(_prev: string | undefined, _next: string | undefined): void;
116
131
  protected columnsChanged(_prev: TableColumn[] | undefined, _next: TableColumn[]): void;
@@ -129,9 +144,17 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
129
144
  private validate;
130
145
  private validateWithData;
131
146
  private emitSelectionChangeEvent;
147
+ private selectionStateChanged;
148
+ private selectionCheckboxChanged;
149
+ private setSelectionCheckboxState;
132
150
  private refreshRows;
151
+ private getTableSelectionState;
152
+ private getRowSelectionState;
153
+ private getGroupedRowSelectionState;
133
154
  private getGroupRowColumn;
134
155
  private updateTableOptions;
156
+ private selectSingleRow;
157
+ private deselectAllLeafRows;
135
158
  private readonly getIsRowExpanded;
136
159
  private readonly handleRowSelectionChange;
137
160
  private readonly handleExpandedChange;
@@ -47,11 +47,20 @@ export class Table extends FoundationElement {
47
47
  * @internal
48
48
  */
49
49
  this.scrollX = 0;
50
+ /**
51
+ * @internal
52
+ */
53
+ this.selectionState = TableRowSelectionState.notSelected;
50
54
  this.tableValidator = new TableValidator();
51
55
  this.updateTracker = new UpdateTracker(this);
52
56
  this.columnNotifiers = [];
53
57
  this.isInitialized = false;
54
58
  this.collapsedRows = new Set();
59
+ // Programmatically updating the selection state of a checkbox fires the 'change' event.
60
+ // Therefore, selection change events that occur due to programmatically updating
61
+ // the selection checkbox 'checked' value should be ingored.
62
+ // https://github.com/microsoft/fast/issues/5750
63
+ this.ignoreSelectionChangeEvents = false;
55
64
  this.onViewPortScroll = (event) => {
56
65
  this.scrollX = event.target.scrollLeft;
57
66
  };
@@ -104,7 +113,9 @@ export class Table extends FoundationElement {
104
113
  grouping: [],
105
114
  expanded: true // Workaround until we can apply a fix to TanStack regarding leveraging our getIsRowExpanded implementation
106
115
  },
107
- enableRowSelection: false,
116
+ enableRowSelection: row => !row.getIsGrouped(),
117
+ enableMultiRowSelection: false,
118
+ enableSubRowSelection: false,
108
119
  enableSorting: true,
109
120
  enableGrouping: true,
110
121
  renderFallbackValue: null,
@@ -191,37 +202,74 @@ export class Table extends FoundationElement {
191
202
  }
192
203
  }
193
204
  /** @internal */
194
- async onRowClick(rowIndex) {
205
+ async onRowSelectionToggle(rowIndex, event) {
206
+ event.stopImmediatePropagation();
195
207
  if (this.selectionMode === TableRowSelectionMode.none) {
196
208
  return;
197
209
  }
198
- const row = this.table.getRowModel().rows[rowIndex];
199
- if (!row) {
200
- return;
210
+ const rowState = this.tableData[rowIndex];
211
+ if (rowState?.isGrouped
212
+ && rowState?.selectionState === TableRowSelectionState.selected) {
213
+ // Work around for https://github.com/TanStack/table/issues/4759
214
+ // Manually deselect all leaf rows when a fully selected group is being deselected.
215
+ this.deselectAllLeafRows(rowIndex);
201
216
  }
202
- const currentSelection = await this.getSelectedRecordIds();
203
- if (currentSelection.length === 1 && currentSelection[0] === row.id) {
204
- // The clicked row is already the only selected row. Do nothing.
217
+ else {
218
+ this.table
219
+ .getRowModel()
220
+ .rows[rowIndex]?.toggleSelected(event.detail.newState);
221
+ }
222
+ await this.emitSelectionChangeEvent();
223
+ }
224
+ /** @internal */
225
+ async onRowClick(rowIndex) {
226
+ return this.selectSingleRow(rowIndex);
227
+ }
228
+ /** @internal */
229
+ async onAllRowsSelectionChange(event) {
230
+ event.stopPropagation();
231
+ if (this.ignoreSelectionChangeEvents) {
205
232
  return;
206
233
  }
207
- this.table.toggleAllRowsSelected(false);
208
- row.toggleSelected(true);
234
+ this.table.toggleAllRowsSelected(this.selectionCheckbox.checked);
209
235
  await this.emitSelectionChangeEvent();
210
236
  }
211
237
  /** @internal */
212
- onRowActionMenuBeforeToggle(event) {
238
+ async onRowActionMenuBeforeToggle(rowIndex, event) {
213
239
  event.stopImmediatePropagation();
240
+ let recordIds = event.detail.recordIds;
241
+ if (this.selectionMode !== TableRowSelectionMode.none) {
242
+ const row = this.table.getRowModel().rows[rowIndex];
243
+ if (row && !row.getIsSelected()) {
244
+ await this.selectSingleRow(rowIndex);
245
+ }
246
+ else {
247
+ recordIds = await this.getSelectedRecordIds();
248
+ }
249
+ }
214
250
  this.openActionMenuRecordId = event.detail.recordIds[0];
215
- this.$emit('action-menu-beforetoggle', event.detail);
251
+ const detail = {
252
+ ...event.detail,
253
+ recordIds
254
+ };
255
+ this.$emit('action-menu-beforetoggle', detail);
216
256
  }
217
257
  /** @internal */
218
- onRowActionMenuToggle(event) {
258
+ async onRowActionMenuToggle(event) {
219
259
  event.stopImmediatePropagation();
220
- this.$emit('action-menu-toggle', event.detail);
260
+ const recordIds = this.selectionMode === TableRowSelectionMode.multiple
261
+ ? await this.getSelectedRecordIds()
262
+ : event.detail.recordIds;
263
+ const detail = {
264
+ ...event.detail,
265
+ recordIds
266
+ };
267
+ this.$emit('action-menu-toggle', detail);
221
268
  if (!event.detail.newState) {
222
269
  this.openActionMenuRecordId = undefined;
223
270
  }
224
271
  }
272
+ /** @internal */
225
273
  handleGroupRowExpanded(rowIndex, event) {
226
274
  this.toggleGroupExpanded(rowIndex);
227
275
  event.stopPropagation();
@@ -241,6 +289,16 @@ export class Table extends FoundationElement {
241
289
  this.updateRowGridColumns();
242
290
  }
243
291
  }
292
+ get ariaMultiSelectable() {
293
+ switch (this.selectionMode) {
294
+ case TableRowSelectionMode.multiple:
295
+ return 'true';
296
+ case TableRowSelectionMode.single:
297
+ return 'false';
298
+ default:
299
+ return null;
300
+ }
301
+ }
244
302
  selectionModeChanged(_prev, _next) {
245
303
  if (!this.$fastController.isConnected) {
246
304
  return;
@@ -327,7 +385,8 @@ export class Table extends FoundationElement {
327
385
  updatedOptions.state.rowSelection = {};
328
386
  }
329
387
  if (this.updateTracker.updateSelectionMode) {
330
- updatedOptions.enableRowSelection = this.selectionMode !== TableRowSelectionMode.none;
388
+ updatedOptions.enableMultiRowSelection = this.selectionMode === TableRowSelectionMode.multiple;
389
+ updatedOptions.enableSubRowSelection = this.selectionMode === TableRowSelectionMode.multiple;
331
390
  updatedOptions.state.rowSelection = {};
332
391
  }
333
392
  if (this.updateTracker.requiresTanStackDataReset) {
@@ -370,15 +429,29 @@ export class Table extends FoundationElement {
370
429
  };
371
430
  this.$emit('selection-change', detail);
372
431
  }
432
+ selectionStateChanged() {
433
+ this.setSelectionCheckboxState();
434
+ }
435
+ selectionCheckboxChanged() {
436
+ this.setSelectionCheckboxState();
437
+ }
438
+ setSelectionCheckboxState() {
439
+ if (this.selectionCheckbox) {
440
+ this.ignoreSelectionChangeEvents = true;
441
+ this.selectionCheckbox.checked = this.selectionState === TableRowSelectionState.selected;
442
+ this.selectionCheckbox.indeterminate = this.selectionState
443
+ === TableRowSelectionState.partiallySelected;
444
+ this.ignoreSelectionChangeEvents = false;
445
+ }
446
+ }
373
447
  refreshRows() {
448
+ this.selectionState = this.getTableSelectionState();
374
449
  const rows = this.table.getRowModel().rows;
375
450
  this.tableData = rows.map(row => {
376
451
  const rowState = {
377
452
  record: row.original,
378
453
  id: row.id,
379
- selectionState: row.getIsSelected()
380
- ? TableRowSelectionState.selected
381
- : TableRowSelectionState.notSelected,
454
+ selectionState: this.getRowSelectionState(row),
382
455
  isGrouped: row.getIsGrouped(),
383
456
  isExpanded: row.getIsExpanded(),
384
457
  groupRowValue: row.getIsGrouped()
@@ -395,6 +468,55 @@ export class Table extends FoundationElement {
395
468
  });
396
469
  this.virtualizer.dataChanged();
397
470
  }
471
+ getTableSelectionState() {
472
+ if (this.table.getIsAllRowsSelected()) {
473
+ return TableRowSelectionState.selected;
474
+ }
475
+ if (this.table.getIsSomeRowsSelected()) {
476
+ return TableRowSelectionState.partiallySelected;
477
+ }
478
+ return TableRowSelectionState.notSelected;
479
+ }
480
+ getRowSelectionState(row) {
481
+ if (row.getIsGrouped()) {
482
+ return this.getGroupedRowSelectionState(row);
483
+ }
484
+ return row.getIsSelected()
485
+ ? TableRowSelectionState.selected
486
+ : TableRowSelectionState.notSelected;
487
+ }
488
+ getGroupedRowSelectionState(groupedRow) {
489
+ const subRows = groupedRow.subRows ?? [];
490
+ let foundSelectedRow = false;
491
+ let foundNotSelectedRow = false;
492
+ for (const row of subRows) {
493
+ if (row.getIsGrouped()) {
494
+ const subGroupRowSelectionState = this.getGroupedRowSelectionState(row);
495
+ switch (subGroupRowSelectionState) {
496
+ case TableRowSelectionState.notSelected:
497
+ foundNotSelectedRow = true;
498
+ break;
499
+ case TableRowSelectionState.selected:
500
+ foundSelectedRow = true;
501
+ break;
502
+ default:
503
+ return TableRowSelectionState.partiallySelected;
504
+ }
505
+ }
506
+ else if (row.getIsSelected()) {
507
+ foundSelectedRow = true;
508
+ }
509
+ else {
510
+ foundNotSelectedRow = true;
511
+ }
512
+ if (foundSelectedRow && foundNotSelectedRow) {
513
+ return TableRowSelectionState.partiallySelected;
514
+ }
515
+ }
516
+ return foundSelectedRow
517
+ ? TableRowSelectionState.selected
518
+ : TableRowSelectionState.notSelected;
519
+ }
398
520
  getGroupRowColumn(row) {
399
521
  const groupedId = row.groupingColumnId;
400
522
  if (groupedId !== undefined) {
@@ -411,6 +533,39 @@ export class Table extends FoundationElement {
411
533
  this.table.setOptions(this.options);
412
534
  this.refreshRows();
413
535
  }
536
+ async selectSingleRow(rowIndex) {
537
+ if (this.selectionMode === TableRowSelectionMode.none) {
538
+ return;
539
+ }
540
+ const row = this.table.getRowModel().rows[rowIndex];
541
+ if (!row) {
542
+ return;
543
+ }
544
+ const currentSelection = await this.getSelectedRecordIds();
545
+ if (currentSelection.length === 1 && currentSelection[0] === row.id) {
546
+ // The clicked row is already the only selected row. Do nothing.
547
+ return;
548
+ }
549
+ this.table.toggleAllRowsSelected(false);
550
+ row.toggleSelected(true);
551
+ await this.emitSelectionChangeEvent();
552
+ }
553
+ deselectAllLeafRows(rowIndex) {
554
+ const groupRow = this.table.getRowModel().rows[rowIndex];
555
+ const leafRowIds = groupRow
556
+ .getLeafRows()
557
+ .filter(leafRow => leafRow.getLeafRows().length === 0)
558
+ .map(leafRow => leafRow.id);
559
+ const selectionState = this.table.getState().rowSelection;
560
+ for (const id of leafRowIds) {
561
+ delete selectionState[id];
562
+ }
563
+ this.updateTableOptions({
564
+ state: {
565
+ rowSelection: selectionState
566
+ }
567
+ });
568
+ }
414
569
  toggleGroupExpanded(rowIndex) {
415
570
  const row = this.table.getRowModel().rows[rowIndex];
416
571
  const wasExpanded = row.getIsExpanded();
@@ -465,10 +620,12 @@ export class Table extends FoundationElement {
465
620
  }
466
621
  const tanstackSelectionState = {};
467
622
  const selectableRecordIds = this.tableValidator.getPresentRecordIds(recordIdsToSelect);
468
- if (selectableRecordIds.length) {
469
- // In single selection mode, only select the first record ID that is requested
470
- const firstSelectableRecordId = selectableRecordIds[0];
471
- tanstackSelectionState[firstSelectableRecordId] = true;
623
+ for (const recordId of selectableRecordIds) {
624
+ tanstackSelectionState[recordId] = true;
625
+ if (this.selectionMode === TableRowSelectionMode.single) {
626
+ // In single selection mode, only select the first record ID that is requested
627
+ break;
628
+ }
472
629
  }
473
630
  return tanstackSelectionState;
474
631
  }
@@ -506,6 +663,12 @@ __decorate([
506
663
  __decorate([
507
664
  observable
508
665
  ], Table.prototype, "rowGridColumns", void 0);
666
+ __decorate([
667
+ observable
668
+ ], Table.prototype, "selectionState", void 0);
669
+ __decorate([
670
+ observable
671
+ ], Table.prototype, "selectionCheckbox", void 0);
509
672
  __decorate([
510
673
  observable
511
674
  ], Table.prototype, "firstSortedColumn", 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,7 +1,7 @@
1
1
  import { css } from '@microsoft/fast-element';
2
2
  import { display } from '@microsoft/fast-foundation';
3
3
  import { White } from '@ni/nimble-tokens/dist/styledictionary/js/tokens';
4
- import { applicationBackgroundColor, bodyFont, bodyFontColor, fillHoverColor, fillHoverSelectedColor, fillSelectedColor } from '../theme-provider/design-tokens';
4
+ import { applicationBackgroundColor, bodyFont, bodyFontColor, fillHoverColor, fillHoverSelectedColor, fillSelectedColor, standardPadding } from '../theme-provider/design-tokens';
5
5
  import { Theme } from '../theme-provider/types';
6
6
  import { hexToRgbaCssColor } from '../utilities/style/colors';
7
7
  import { themeBehavior } from '../utilities/style/theme';
@@ -48,15 +48,20 @@ export const styles = css `
48
48
  }
49
49
 
50
50
  .header-row {
51
- display: grid;
51
+ display: flex;
52
52
  background: ${applicationBackgroundColor};
53
53
  position: relative;
54
54
  width: fit-content;
55
55
  min-width: 100%;
56
- grid-template-columns: var(--ni-private-table-row-grid-columns) auto;
57
56
  left: var(--ni-private-table-scroll-x);
58
57
  }
59
58
 
59
+ .column-header-container {
60
+ display: grid;
61
+ width: 100%;
62
+ grid-template-columns: var(--ni-private-table-row-grid-columns) auto;
63
+ }
64
+
60
65
  .header-scrollbar-spacer {
61
66
  width: var(--ni-private-table-header-scrollbar-spacer-width);
62
67
  }
@@ -65,6 +70,18 @@ export const styles = css `
65
70
  flex: 1;
66
71
  }
67
72
 
73
+ .checkbox-container {
74
+ display: flex;
75
+ }
76
+
77
+ .selection-checkbox {
78
+ margin-left: ${standardPadding};
79
+ }
80
+
81
+ .selection-checkbox::part(label) {
82
+ padding-left: 0px;
83
+ }
84
+
68
85
  .row {
69
86
  background: ${applicationBackgroundColor};
70
87
  position: relative;
@@ -79,15 +96,18 @@ export const styles = css `
79
96
  pointer-events: none;
80
97
  }
81
98
 
82
- :host([selection-mode='single']) .row:hover::before {
99
+ :host([selection-mode='single']) .row:hover::before,
100
+ :host([selection-mode='multiple']) .row:hover::before {
83
101
  background: ${fillHoverColor};
84
102
  }
85
103
 
86
- :host([selection-mode='single']) .row[selected]::before {
104
+ :host([selection-mode='single']) .row[selected]::before,
105
+ :host([selection-mode='multiple']) .row[selected]::before {
87
106
  background: ${fillSelectedColor};
88
107
  }
89
108
 
90
- :host([selection-mode='single']) .row[selected]:hover::before {
109
+ :host([selection-mode='single']) .row[selected]:hover::before,
110
+ :host([selection-mode='multiple']) .row[selected]:hover::before {
91
111
  background: ${fillHoverSelectedColor};
92
112
  }
93
113
  `.withBehaviors(themeBehavior(Theme.color, css `
@@ -104,15 +124,18 @@ export const styles = css `
104
124
  background: ${fillHoverColor};
105
125
  }
106
126
 
107
- :host([selection-mode='single']) .row:hover::before {
127
+ :host([selection-mode='single']) .row:hover::before,
128
+ :host([selection-mode='multiple']) .row:hover::before {
108
129
  background: ${hexToRgbaCssColor(White, 0.15)};
109
130
  }
110
131
 
111
- :host([selection-mode='single']) .row[selected]::before {
132
+ :host([selection-mode='single']) .row[selected]::before,
133
+ :host([selection-mode='multiple']) .row[selected]::before {
112
134
  background: ${hexToRgbaCssColor(White, 0.25)};
113
135
  }
114
136
 
115
- :host([selection-mode='single']) .row[selected]:hover::before {
137
+ :host([selection-mode='single']) .row[selected]:hover::before,
138
+ :host([selection-mode='multiple']) .row[selected]:hover::before {
116
139
  background: ${hexToRgbaCssColor(White, 0.2)};
117
140
  }
118
141
  `));
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/table/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EACH,0BAA0B,EAC1B,QAAQ,EACR,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;gBAWL,QAAQ;iBACP,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA+BR,0BAA0B;;;;;;;;;;;;;;;;;sBAiB1B,0BAA0B;;;;;;;;;;;;;;sBAc1B,cAAc;;;;sBAId,iBAAiB;;;;sBAIjB,sBAAsB;;CAE3C,CAAC,aAAa,CACX,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;;;;;8BAMmB,cAAc;;;;;8BAKd,cAAc;;;;8BAId,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;;;;8BAI9B,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;;;;8BAI9B,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;;SAElD,CACJ,CACJ,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/table/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EACH,0BAA0B,EAC1B,QAAQ,EACR,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;gBAWL,QAAQ;iBACP,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA+BR,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;uBA0BzB,eAAe;;;;;;;;sBAQhB,0BAA0B;;;;;;;;;;;;;;;sBAe1B,cAAc;;;;;sBAKd,iBAAiB;;;;;sBAKjB,sBAAsB;;CAE3C,CAAC,aAAa,CACX,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;;;;;8BAMmB,cAAc;;;;;8BAKd,cAAc;;;;;8BAKd,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;;;;;8BAK9B,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;;;;;8BAK9B,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;;SAElD,CACJ,CACJ,CAAC"}