@ni/nimble-components 20.18.0 → 21.0.0

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 (123) hide show
  1. package/dist/all-components-bundle.js +484 -240
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +508 -482
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/label-provider/table/index.d.ts +3 -3
  6. package/dist/esm/label-provider/table/index.js +4 -4
  7. package/dist/esm/label-provider/table/index.js.map +1 -1
  8. package/dist/esm/label-provider/table/label-token-defaults.js +1 -1
  9. package/dist/esm/label-provider/table/label-token-defaults.js.map +1 -1
  10. package/dist/esm/label-provider/table/label-tokens.d.ts +1 -1
  11. package/dist/esm/label-provider/table/label-tokens.js +3 -3
  12. package/dist/esm/label-provider/table/label-tokens.js.map +1 -1
  13. package/dist/esm/table/components/group-row/index.d.ts +1 -1
  14. package/dist/esm/table/components/group-row/index.js +1 -1
  15. package/dist/esm/table/components/group-row/index.js.map +1 -1
  16. package/dist/esm/table/components/group-row/template.js +1 -1
  17. package/dist/esm/table/components/group-row/template.js.map +1 -1
  18. package/dist/esm/table/components/row/index.d.ts +1 -0
  19. package/dist/esm/table/components/row/index.js +6 -0
  20. package/dist/esm/table/components/row/index.js.map +1 -1
  21. package/dist/esm/table/components/row/template.js +1 -1
  22. package/dist/esm/table/components/row/template.js.map +1 -1
  23. package/dist/esm/table/index.d.ts +14 -4
  24. package/dist/esm/table/index.js +105 -77
  25. package/dist/esm/table/index.js.map +1 -1
  26. package/dist/esm/table/models/array-to-tree.d.ts +17 -0
  27. package/dist/esm/table/models/array-to-tree.js +83 -0
  28. package/dist/esm/table/models/array-to-tree.js.map +1 -0
  29. package/dist/esm/table/models/data-hierarchy-manager.d.ts +15 -0
  30. package/dist/esm/table/models/data-hierarchy-manager.js +64 -0
  31. package/dist/esm/table/models/data-hierarchy-manager.js.map +1 -0
  32. package/dist/esm/table/models/expansion-manager.d.ts +25 -0
  33. package/dist/esm/table/models/expansion-manager.js +73 -0
  34. package/dist/esm/table/models/expansion-manager.js.map +1 -0
  35. package/dist/esm/table/models/interactive-selection-manager.d.ts +1 -0
  36. package/dist/esm/table/models/interactive-selection-manager.js +13 -0
  37. package/dist/esm/table/models/interactive-selection-manager.js.map +1 -1
  38. package/dist/esm/table/models/selection-managers/selection-manager-base.js +6 -4
  39. package/dist/esm/table/models/selection-managers/selection-manager-base.js.map +1 -1
  40. package/dist/esm/table/models/table-update-tracker.d.ts +3 -1
  41. package/dist/esm/table/models/table-update-tracker.js +12 -1
  42. package/dist/esm/table/models/table-update-tracker.js.map +1 -1
  43. package/dist/esm/table/models/table-validator.d.ts +5 -3
  44. package/dist/esm/table/models/table-validator.js +14 -7
  45. package/dist/esm/table/models/table-validator.js.map +1 -1
  46. package/dist/esm/table/template.js +12 -8
  47. package/dist/esm/table/template.js.map +1 -1
  48. package/dist/esm/table/testing/table.pageobject.d.ts +4 -0
  49. package/dist/esm/table/testing/table.pageobject.js +24 -0
  50. package/dist/esm/table/testing/table.pageobject.js.map +1 -1
  51. package/dist/esm/table/types.d.ts +6 -3
  52. package/dist/esm/table/types.js.map +1 -1
  53. package/dist/esm/table-column/number-text/index.d.ts +1 -1
  54. package/dist/esm/unit/base/unit.d.ts +1 -1
  55. package/dist/esm/unit/byte/index.js +1 -1
  56. package/dist/esm/unit/byte/index.js.map +1 -1
  57. package/dist/esm/unit/volt/index.js +1 -1
  58. package/dist/esm/unit/volt/index.js.map +1 -1
  59. package/dist/esm/utilities/unit-format/decimal-unit-format.d.ts +2 -2
  60. package/dist/esm/utilities/unit-format/decimal-unit-format.js +1 -1
  61. package/dist/esm/utilities/unit-format/decimal-unit-format.js.map +1 -1
  62. package/dist/esm/utilities/unit-format/default-unit-format.d.ts +1 -1
  63. package/dist/esm/utilities/unit-format/default-unit-format.js +1 -1
  64. package/dist/esm/utilities/unit-format/default-unit-format.js.map +1 -1
  65. package/dist/esm/utilities/unit-format/{unit-scale/base → scaled-unit}/scaled-unit.d.ts +1 -1
  66. package/dist/esm/utilities/unit-format/scaled-unit/scaled-unit.js.map +1 -0
  67. package/dist/esm/utilities/unit-format/scaled-unit-format/intl-number-format-scaled-unit-format.d.ts +11 -0
  68. package/dist/esm/utilities/unit-format/{unit-scale/base → scaled-unit-format}/intl-number-format-scaled-unit-format.js +2 -2
  69. package/dist/esm/utilities/unit-format/scaled-unit-format/intl-number-format-scaled-unit-format.js.map +1 -0
  70. package/dist/esm/utilities/unit-format/scaled-unit-format/manually-translated-scaled-unit-format.d.ts +43 -0
  71. package/dist/esm/utilities/unit-format/{manually-translated-unit-scale/base → scaled-unit-format}/manually-translated-scaled-unit-format.js +27 -14
  72. package/dist/esm/utilities/unit-format/scaled-unit-format/manually-translated-scaled-unit-format.js.map +1 -0
  73. package/dist/esm/utilities/unit-format/{unit-scale/base → scaled-unit-format}/scaled-unit-format.d.ts +1 -1
  74. package/dist/esm/utilities/unit-format/{unit-scale/base → scaled-unit-format}/scaled-unit-format.js.map +1 -1
  75. package/dist/esm/utilities/unit-format/{base/unit-format.d.ts → unit-format.d.ts} +1 -1
  76. package/dist/esm/utilities/unit-format/unit-format.js.map +1 -0
  77. package/dist/esm/utilities/unit-format/unit-scale/byte-1024-unit-scale.d.ts +9 -0
  78. package/dist/esm/utilities/unit-format/unit-scale/byte-1024-unit-scale.js +31 -0
  79. package/dist/esm/utilities/unit-format/unit-scale/byte-1024-unit-scale.js.map +1 -0
  80. package/dist/esm/utilities/unit-format/unit-scale/byte-unit-scale.d.ts +1 -1
  81. package/dist/esm/utilities/unit-format/unit-scale/byte-unit-scale.js +16 -35
  82. package/dist/esm/utilities/unit-format/unit-scale/byte-unit-scale.js.map +1 -1
  83. package/dist/esm/utilities/unit-format/unit-scale/passthrough-unit-scale.d.ts +1 -1
  84. package/dist/esm/utilities/unit-format/unit-scale/passthrough-unit-scale.js +4 -4
  85. package/dist/esm/utilities/unit-format/unit-scale/passthrough-unit-scale.js.map +1 -1
  86. package/dist/esm/utilities/unit-format/unit-scale/{base/unit-scale.d.ts → unit-scale.d.ts} +1 -1
  87. package/dist/esm/utilities/unit-format/unit-scale/unit-scale.js.map +1 -0
  88. package/dist/esm/utilities/unit-format/unit-scale/utilities/metrix-prefixes.d.ts +1 -0
  89. package/dist/esm/utilities/unit-format/unit-scale/utilities/metrix-prefixes.js +17 -0
  90. package/dist/esm/utilities/unit-format/unit-scale/utilities/metrix-prefixes.js.map +1 -0
  91. package/dist/esm/utilities/unit-format/unit-scale/volt-unit-scale.d.ts +9 -0
  92. package/dist/esm/utilities/unit-format/unit-scale/volt-unit-scale.js +24 -0
  93. package/dist/esm/utilities/unit-format/unit-scale/volt-unit-scale.js.map +1 -0
  94. package/package.json +1 -1
  95. package/dist/esm/utilities/unit-format/base/unit-format.js.map +0 -1
  96. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/manually-translated-scaled-unit-format.d.ts +0 -18
  97. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/manually-translated-scaled-unit-format.js.map +0 -1
  98. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/manually-translated-unit-scale.d.ts +0 -10
  99. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/manually-translated-unit-scale.js +0 -19
  100. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/manually-translated-unit-scale.js.map +0 -1
  101. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/unit-prefix.d.ts +0 -10
  102. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/unit-prefix.js +0 -17
  103. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/unit-prefix.js.map +0 -1
  104. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/unit-prefixes-metric.d.ts +0 -5
  105. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/unit-prefixes-metric.js +0 -21
  106. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/unit-prefixes-metric.js.map +0 -1
  107. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/unit-translation.d.ts +0 -9
  108. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/unit-translation.js +0 -11
  109. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/base/unit-translation.js.map +0 -1
  110. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/byte-1024-unit-scale.d.ts +0 -9
  111. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/byte-1024-unit-scale.js +0 -26
  112. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/byte-1024-unit-scale.js.map +0 -1
  113. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/volt-unit-scale.d.ts +0 -9
  114. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/volt-unit-scale.js +0 -19
  115. package/dist/esm/utilities/unit-format/manually-translated-unit-scale/volt-unit-scale.js.map +0 -1
  116. package/dist/esm/utilities/unit-format/unit-scale/base/intl-number-format-scaled-unit-format.d.ts +0 -11
  117. package/dist/esm/utilities/unit-format/unit-scale/base/intl-number-format-scaled-unit-format.js.map +0 -1
  118. package/dist/esm/utilities/unit-format/unit-scale/base/scaled-unit.js.map +0 -1
  119. package/dist/esm/utilities/unit-format/unit-scale/base/unit-scale.js.map +0 -1
  120. /package/dist/esm/utilities/unit-format/{unit-scale/base → scaled-unit}/scaled-unit.js +0 -0
  121. /package/dist/esm/utilities/unit-format/{unit-scale/base → scaled-unit-format}/scaled-unit-format.js +0 -0
  122. /package/dist/esm/utilities/unit-format/{base/unit-format.js → unit-format.js} +0 -0
  123. /package/dist/esm/utilities/unit-format/unit-scale/{base/unit-scale.js → unit-scale.js} +0 -0
@@ -0,0 +1,25 @@
1
+ import type { Row as TanStackRow, Table as TanStackTable } from '@tanstack/table-core';
2
+ import type { TableNode, TableRecord } from '../types';
3
+ /**
4
+ * Manages the expanded/collapsed state of rows in the table.
5
+ *
6
+ * We must track the expansion state separately from TanStack because:
7
+ * 1. TanStack does not support having a different initial expansion state per row unless explicitly
8
+ * specified for each row by ID. This causes problems in the nimble-table because we could have
9
+ * a different initial expansion state for group rows, parent rows, and parent rows with lazy
10
+ * loaded children.
11
+ * 2. TanStack does not remove entries from its expanded state when those rows are no longer present
12
+ * in the data. This is not ideal because the object maintaining the expansion state can grow unbounded.
13
+ */
14
+ export declare class ExpansionManager<TData extends TableRecord> {
15
+ private readonly tanStackTable;
16
+ private isInDefaultState;
17
+ private collapsedRows;
18
+ constructor(tanStackTable: TanStackTable<TableNode<TData>>);
19
+ isRowExpanded(row: TanStackRow<TableNode<TData>>): boolean;
20
+ toggleRowExpansion(row: TanStackRow<TableNode<TData>>): void;
21
+ collapseAll(): void;
22
+ reset(): void;
23
+ processDataUpdate(rows: TanStackRow<TableNode<TData>>[]): void;
24
+ private isRowExpandable;
25
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Manages the expanded/collapsed state of rows in the table.
3
+ *
4
+ * We must track the expansion state separately from TanStack because:
5
+ * 1. TanStack does not support having a different initial expansion state per row unless explicitly
6
+ * specified for each row by ID. This causes problems in the nimble-table because we could have
7
+ * a different initial expansion state for group rows, parent rows, and parent rows with lazy
8
+ * loaded children.
9
+ * 2. TanStack does not remove entries from its expanded state when those rows are no longer present
10
+ * in the data. This is not ideal because the object maintaining the expansion state can grow unbounded.
11
+ */
12
+ export class ExpansionManager {
13
+ constructor(tanStackTable) {
14
+ this.tanStackTable = tanStackTable;
15
+ // This field represents whether or not the expanded state of **all** rows is in the default expanded
16
+ // state or not. Note that the default expanded state for a particular row type (group vs parent) can
17
+ // potentially be different (e.g. expanded for groups and collapsed for parent rows).
18
+ this.isInDefaultState = true;
19
+ this.collapsedRows = new Set();
20
+ }
21
+ isRowExpanded(row) {
22
+ if (!this.isRowExpandable(row)) {
23
+ return false;
24
+ }
25
+ return this.isInDefaultState || !this.collapsedRows.has(row.id);
26
+ }
27
+ toggleRowExpansion(row) {
28
+ if (!this.isRowExpandable(row)) {
29
+ return;
30
+ }
31
+ const wasExpanded = this.isRowExpanded(row);
32
+ this.isInDefaultState = false;
33
+ if (wasExpanded) {
34
+ this.collapsedRows.add(row.id);
35
+ }
36
+ else {
37
+ this.collapsedRows.delete(row.id);
38
+ }
39
+ row.toggleExpanded();
40
+ }
41
+ collapseAll() {
42
+ this.reset();
43
+ this.isInDefaultState = false;
44
+ const rows = this.tanStackTable.getRowModel().flatRows;
45
+ for (const row of rows) {
46
+ if (this.isRowExpandable(row)) {
47
+ this.collapsedRows.add(row.id);
48
+ }
49
+ }
50
+ this.tanStackTable.toggleAllRowsExpanded(false);
51
+ }
52
+ reset() {
53
+ this.collapsedRows.clear();
54
+ this.isInDefaultState = true;
55
+ }
56
+ processDataUpdate(rows) {
57
+ if (this.isInDefaultState) {
58
+ return;
59
+ }
60
+ const updatedCollapsedRows = new Set();
61
+ for (const row of rows) {
62
+ const rowId = row.id;
63
+ if (this.collapsedRows.has(rowId)) {
64
+ updatedCollapsedRows.add(rowId);
65
+ }
66
+ }
67
+ this.collapsedRows = updatedCollapsedRows;
68
+ }
69
+ isRowExpandable(row) {
70
+ return row.getIsGrouped() || row.subRows.length > 0;
71
+ }
72
+ }
73
+ //# sourceMappingURL=expansion-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-manager.js","sourceRoot":"","sources":["../../../../src/table/models/expansion-manager.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gBAAgB;IAOzB,YACqB,aAA8C;QAA9C,kBAAa,GAAb,aAAa,CAAiC;QAPnE,qGAAqG;QACrG,qGAAqG;QACrG,qFAAqF;QAC7E,qBAAgB,GAAG,IAAI,CAAC;QACxB,kBAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAIvC,CAAC;IAEG,aAAa,CAAC,GAAkC;QACnD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YAC5B,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAEM,kBAAkB,CAAC,GAAkC;QACxD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YAC5B,OAAO;SACV;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAClC;aAAM;YACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACrC;QAED,GAAG,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAEM,WAAW;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;QACvD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAClC;SACJ;QACD,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IAEM,iBAAiB,CAAC,IAAqC;QAC1D,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,OAAO;SACV;QAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACnC;SACJ;QAED,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC;IAC9C,CAAC;IAEO,eAAe,CAAC,GAAkC;QACtD,OAAO,GAAG,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACxD,CAAC;CACJ"}
@@ -13,5 +13,6 @@ export declare class InteractiveSelectionManager<TData extends TableRecord> {
13
13
  handleActionMenuOpening(rowState: TableRowState | undefined): boolean;
14
14
  handleSelectionModeChanged(selectionMode: TableRowSelectionMode): void;
15
15
  handleSelectionReset(): void;
16
+ getCurrentSelectedRecordIds(): string[];
16
17
  private createSelectionManager;
17
18
  }
@@ -35,6 +35,19 @@ export class InteractiveSelectionManager {
35
35
  handleSelectionReset() {
36
36
  this.selectionManager.reset();
37
37
  }
38
+ getCurrentSelectedRecordIds() {
39
+ const tanStackSelectionState = this.tanStackTable.options.state.rowSelection;
40
+ if (!tanStackSelectionState) {
41
+ return [];
42
+ }
43
+ const selectedRecordIds = [];
44
+ Object.entries(tanStackSelectionState).forEach(([recordId, isSelected]) => {
45
+ if (isSelected) {
46
+ selectedRecordIds.push(recordId);
47
+ }
48
+ });
49
+ return selectedRecordIds;
50
+ }
38
51
  createSelectionManager(selectionMode) {
39
52
  switch (selectionMode) {
40
53
  case TableRowSelectionMode.multiple:
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-selection-manager.js","sourceRoot":"","sources":["../../../../src/table/models/interactive-selection-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,qBAAqB,EAExB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAEvF;;;GAGG;AACH,MAAM,OAAO,2BAA2B;IAIpC,YACI,aAA8C,EAC9C,aAAoC;QAEpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAEM,wBAAwB,CAC3B,QAAmC,EACnC,WAAoB,EACpB,QAAiB;QAEjB,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CACjD,QAAQ,EACR,WAAW,EACX,QAAQ,CACX,CAAC;IACN,CAAC;IAEM,cAAc,CACjB,QAAmC,EACnC,QAAiB,EACjB,OAAgB;QAEhB,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CACvC,QAAQ,EACR,QAAQ,EACR,OAAO,CACV,CAAC;IACN,CAAC;IAEM,uBAAuB,CAC1B,QAAmC;QAEnC,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAEM,0BAA0B,CAC7B,aAAoC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAEM,oBAAoB;QACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAEO,sBAAsB,CAC1B,aAAoC;QAEpC,QAAQ,aAAa,EAAE;YACnB,KAAK,qBAAqB,CAAC,QAAQ;gBAC/B,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,KAAK,qBAAqB,CAAC,MAAM;gBAC7B,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,KAAK,qBAAqB,CAAC,IAAI;gBAC3B,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5D;gBACI,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACvD;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"interactive-selection-manager.js","sourceRoot":"","sources":["../../../../src/table/models/interactive-selection-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,qBAAqB,EAExB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAEvF;;;GAGG;AACH,MAAM,OAAO,2BAA2B;IAIpC,YACI,aAA8C,EAC9C,aAAoC;QAEpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAEM,wBAAwB,CAC3B,QAAmC,EACnC,WAAoB,EACpB,QAAiB;QAEjB,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CACjD,QAAQ,EACR,WAAW,EACX,QAAQ,CACX,CAAC;IACN,CAAC;IAEM,cAAc,CACjB,QAAmC,EACnC,QAAiB,EACjB,OAAgB;QAEhB,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CACvC,QAAQ,EACR,QAAQ,EACR,OAAO,CACV,CAAC;IACN,CAAC;IAEM,uBAAuB,CAC1B,QAAmC;QAEnC,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAEM,0BAA0B,CAC7B,aAAoC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAEM,oBAAoB;QACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAEM,2BAA2B;QAC9B,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QAC7E,IAAI,CAAC,sBAAsB,EAAE;YACzB,OAAO,EAAE,CAAC;SACb;QAED,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAC1C,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YACvB,IAAI,UAAU,EAAE;gBACZ,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;QACL,CAAC,CACJ,CAAC;QACF,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAEO,sBAAsB,CAC1B,aAAoC;QAEpC,QAAQ,aAAa,EAAE;YACnB,KAAK,qBAAqB,CAAC,QAAQ;gBAC/B,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,KAAK,qBAAqB,CAAC,MAAM;gBAC7B,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,KAAK,qBAAqB,CAAC,IAAI;gBAC3B,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5D;gBACI,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACvD;IACL,CAAC;CACJ"}
@@ -8,18 +8,20 @@ export class SelectionManagerBase {
8
8
  }
9
9
  reset() { }
10
10
  toggleIsRowSelected(rowState, isSelecting) {
11
- if (rowState.isGrouped
11
+ if (rowState.isGroupRow
12
12
  && rowState.selectionState === TableRowSelectionState.selected) {
13
13
  // Work around for https://github.com/TanStack/table/issues/4759
14
14
  // Manually deselect all leaf rows when a fully selected group is being deselected.
15
15
  this.deselectAllLeafRows(rowState.id);
16
16
  }
17
17
  else {
18
- this.tanStackTable.getRow(rowState.id).toggleSelected(isSelecting);
18
+ this.tanStackTable.getRow(rowState.id).toggleSelected(isSelecting, {
19
+ selectChildren: rowState.isGroupRow
20
+ });
19
21
  }
20
22
  }
21
23
  selectSingleRow(rowState) {
22
- if (rowState.isGrouped) {
24
+ if (rowState.isGroupRow) {
23
25
  throw new Error('function not intended to select grouped rows');
24
26
  }
25
27
  const currentSelection = this.tanStackTable.getState().rowSelection;
@@ -57,7 +59,7 @@ export class SelectionManagerBase {
57
59
  }
58
60
  return row
59
61
  .getLeafRows()
60
- .filter(leafRow => leafRow.getLeafRows().length === 0)
62
+ .filter(leafRow => !leafRow.getIsGrouped())
61
63
  .map(leafRow => leafRow.id);
62
64
  }
63
65
  getAllOrderedRows() {
@@ -1 +1 @@
1
- {"version":3,"file":"selection-manager-base.js","sourceRoot":"","sources":["../../../../../src/table/models/selection-managers/selection-manager-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection-manager-base.js","sourceRoot":"","sources":["../../../../../src/table/models/selection-managers/selection-manager-base.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Table } from '..';
2
2
  import type { TableRecord } from '../types';
3
3
  import { UpdateTracker } from '../../utilities/models/update-tracker';
4
- declare const trackedItems: readonly ["rowIds", "groupRows", "columnIds", "columnSort", "columnWidths", "columnDefinition", "actionMenuSlots", "selectionMode"];
4
+ declare const trackedItems: readonly ["rowIds", "rowParentIds", "groupRows", "columnIds", "columnSort", "columnWidths", "columnDefinition", "actionMenuSlots", "selectionMode"];
5
5
  /**
6
6
  * Helper class to track what updates are needed to the table based on configuration
7
7
  * changes.
@@ -11,6 +11,7 @@ export declare class TableUpdateTracker<TData extends TableRecord> extends Updat
11
11
  private updateQueued;
12
12
  constructor(table: Table<TData>);
13
13
  get updateRowIds(): boolean;
14
+ get updateRowParentIds(): boolean;
14
15
  get updateGroupRows(): boolean;
15
16
  get updateColumnIds(): boolean;
16
17
  get updateColumnSort(): boolean;
@@ -25,6 +26,7 @@ export declare class TableUpdateTracker<TData extends TableRecord> extends Updat
25
26
  trackColumnPropertyChanged(changedColumnProperty: string): void;
26
27
  trackColumnInstancesChanged(): void;
27
28
  trackIdFieldNameChanged(): void;
29
+ trackParentIdFieldNameChanged(): void;
28
30
  trackSelectionModeChanged(): void;
29
31
  protected queueUpdate(): void;
30
32
  }
@@ -11,6 +11,7 @@ const isColumnProperty = (changedProperty, ...args) => {
11
11
  };
12
12
  const trackedItems = [
13
13
  'rowIds',
14
+ 'rowParentIds',
14
15
  'groupRows',
15
16
  'columnIds',
16
17
  'columnSort',
@@ -32,6 +33,9 @@ export class TableUpdateTracker extends UpdateTracker {
32
33
  get updateRowIds() {
33
34
  return this.isTracked('rowIds');
34
35
  }
36
+ get updateRowParentIds() {
37
+ return this.isTracked('rowParentIds');
38
+ }
35
39
  get updateGroupRows() {
36
40
  return this.isTracked('groupRows');
37
41
  }
@@ -55,13 +59,16 @@ export class TableUpdateTracker extends UpdateTracker {
55
59
  }
56
60
  get requiresTanStackUpdate() {
57
61
  return (this.isTracked('rowIds')
62
+ || this.isTracked('rowParentIds')
58
63
  || this.isTracked('columnSort')
59
64
  || this.isTracked('columnDefinition')
60
65
  || this.isTracked('groupRows')
61
66
  || this.isTracked('selectionMode'));
62
67
  }
63
68
  get requiresTanStackDataReset() {
64
- return this.isTracked('rowIds') || this.isTracked('columnDefinition');
69
+ return (this.isTracked('rowIds')
70
+ || this.isTracked('columnDefinition')
71
+ || this.isTracked('rowParentIds'));
65
72
  }
66
73
  trackAllStateChanged() {
67
74
  this.trackAll();
@@ -106,6 +113,10 @@ export class TableUpdateTracker extends UpdateTracker {
106
113
  this.track('rowIds');
107
114
  this.queueUpdate();
108
115
  }
116
+ trackParentIdFieldNameChanged() {
117
+ this.track('rowParentIds');
118
+ this.queueUpdate();
119
+ }
109
120
  trackSelectionModeChanged() {
110
121
  this.track('selectionMode');
111
122
  this.queueUpdate();
@@ -1 +1 @@
1
- {"version":3,"file":"table-update-tracker.js","sourceRoot":"","sources":["../../../../src/table/models/table-update-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-update-tracker.js","sourceRoot":"","sources":["../../../../src/table/models/table-update-tracker.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { TableColumn } from '../../table-column/base';
2
- import { TableNode, TableRowSelectionMode, TableValidity } from '../types';
2
+ import { TableRecord, TableRowSelectionMode, TableValidity } from '../types';
3
3
  /**
4
4
  * Helper class for the nimble-table to validate that the table's configuration
5
5
  * is valid and report which aspects of the configuration are valid or invalid.
6
6
  */
7
- export declare class TableValidator<TData extends TableNode> {
7
+ export declare class TableValidator<TData extends TableRecord> {
8
8
  private duplicateRecordId;
9
9
  private missingRecordId;
10
10
  private invalidRecordId;
@@ -14,16 +14,18 @@ export declare class TableValidator<TData extends TableNode> {
14
14
  private duplicateGroupIndex;
15
15
  private idFieldNameNotConfigured;
16
16
  private invalidColumnConfiguration;
17
+ private invalidParentIdConfiguration;
17
18
  private readonly recordIds;
18
19
  getValidity(): TableValidity;
19
20
  isValid(): boolean;
20
21
  areRecordIdsValid(): boolean;
21
- validateSelectionMode(selectionMode: TableRowSelectionMode, idFieldName: string | undefined): boolean;
22
+ validateIdFieldConfiguration(selectionMode: TableRowSelectionMode, idFieldName: string | undefined, parentIdFieldName: string | undefined): boolean;
22
23
  validateRecordIds(data: readonly TData[], idFieldName: string | undefined): boolean;
23
24
  validateColumnIds(columnIds: readonly (string | undefined)[]): boolean;
24
25
  validateColumnSortIndices(sortIndices: readonly number[]): boolean;
25
26
  validateColumnGroupIndices(groupIndices: readonly number[]): boolean;
26
27
  validateColumnConfigurations(columns: readonly TableColumn[]): boolean;
27
28
  getPresentRecordIds(requestedRecordIds: readonly string[]): string[];
29
+ setParentIdConfigurationValidity(valid: boolean): void;
28
30
  private validateIndicesAreUnique;
29
31
  }
@@ -14,6 +14,7 @@ export class TableValidator {
14
14
  this.duplicateGroupIndex = false;
15
15
  this.idFieldNameNotConfigured = false;
16
16
  this.invalidColumnConfiguration = false;
17
+ this.invalidParentIdConfiguration = false;
17
18
  this.recordIds = new Set();
18
19
  }
19
20
  getValidity() {
@@ -26,7 +27,8 @@ export class TableValidator {
26
27
  duplicateSortIndex: this.duplicateSortIndex,
27
28
  duplicateGroupIndex: this.duplicateGroupIndex,
28
29
  idFieldNameNotConfigured: this.idFieldNameNotConfigured,
29
- invalidColumnConfiguration: this.invalidColumnConfiguration
30
+ invalidColumnConfiguration: this.invalidColumnConfiguration,
31
+ invalidParentIdConfiguration: this.invalidParentIdConfiguration
30
32
  };
31
33
  }
32
34
  isValid() {
@@ -38,12 +40,14 @@ export class TableValidator {
38
40
  && !validity.missingRecordId
39
41
  && !validity.invalidRecordId);
40
42
  }
41
- validateSelectionMode(selectionMode, idFieldName) {
42
- if (selectionMode === TableRowSelectionMode.none) {
43
- this.idFieldNameNotConfigured = false;
43
+ validateIdFieldConfiguration(selectionMode, idFieldName, parentIdFieldName) {
44
+ const idFieldNameRequired = selectionMode !== TableRowSelectionMode.none
45
+ || typeof parentIdFieldName === 'string';
46
+ if (idFieldNameRequired) {
47
+ this.idFieldNameNotConfigured = typeof idFieldName !== 'string';
44
48
  }
45
49
  else {
46
- this.idFieldNameNotConfigured = typeof idFieldName !== 'string';
50
+ this.idFieldNameNotConfigured = false;
47
51
  }
48
52
  return !this.idFieldNameNotConfigured;
49
53
  }
@@ -57,11 +61,11 @@ export class TableValidator {
57
61
  return true;
58
62
  }
59
63
  for (const record of data) {
60
- if (!Object.prototype.hasOwnProperty.call(record.clientRecord, idFieldName)) {
64
+ if (!Object.prototype.hasOwnProperty.call(record, idFieldName)) {
61
65
  this.missingRecordId = true;
62
66
  continue;
63
67
  }
64
- const id = record.clientRecord[idFieldName];
68
+ const id = record[idFieldName];
65
69
  if (typeof id !== 'string') {
66
70
  this.invalidRecordId = true;
67
71
  continue;
@@ -110,6 +114,9 @@ export class TableValidator {
110
114
  getPresentRecordIds(requestedRecordIds) {
111
115
  return requestedRecordIds.filter(id => this.recordIds.has(id));
112
116
  }
117
+ setParentIdConfigurationValidity(valid) {
118
+ this.invalidParentIdConfiguration = !valid;
119
+ }
113
120
  validateIndicesAreUnique(indices) {
114
121
  const numberSet = new Set(indices);
115
122
  return numberSet.size === indices.length;
@@ -1 +1 @@
1
- {"version":3,"file":"table-validator.js","sourceRoot":"","sources":["../../../../src/table/models/table-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-validator.js","sourceRoot":"","sources":["../../../../src/table/models/table-validator.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@ import { buttonTag } from '../button';
7
7
  import { ButtonAppearance } from '../button/types';
8
8
  import { iconTriangleTwoLinesHorizontalTag } from '../icons/triangle-two-lines-horizontal';
9
9
  import { checkboxTag } from '../checkbox';
10
- import { tableGroupsCollapseAllLabel, tableRowOperationColumnLabel, tableSelectAllLabel } from '../label-provider/table/label-tokens';
10
+ import { tableCollapseAllLabel, tableRowOperationColumnLabel, tableSelectAllLabel } from '../label-provider/table/label-tokens';
11
11
  // prettier-ignore
12
12
  export const template = html `
13
13
  <template
14
- role="grid"
14
+ role="treegrid"
15
15
  aria-multiselectable="${x => x.ariaMultiSelectable}"
16
16
  ${children({ property: 'childItems', filter: elements() })}
17
17
  >
@@ -51,11 +51,11 @@ export const template = html `
51
51
  class="collapse-all-button ${x => `${x.showCollapseAll ? 'visible' : ''}`}"
52
52
  content-hidden
53
53
  appearance="${ButtonAppearance.ghost}"
54
- title="${x => tableGroupsCollapseAllLabel.getValueFor(x)}"
55
- @click="${x => x.handleCollapseAllGroupRows()}"
54
+ title="${x => tableCollapseAllLabel.getValueFor(x)}"
55
+ @click="${x => x.handleCollapseAllRows()}"
56
56
  >
57
57
  <${iconTriangleTwoLinesHorizontalTag} slot="start"></${iconTriangleTwoLinesHorizontalTag}>
58
- ${x => tableGroupsCollapseAllLabel.getValueFor(x)}
58
+ ${x => tableCollapseAllLabel.getValueFor(x)}
59
59
  </${buttonTag}>
60
60
  </span>
61
61
  <span class="column-headers-container" ${ref('columnHeadersContainer')}>
@@ -92,13 +92,13 @@ export const template = html `
92
92
  role="rowgroup">
93
93
  ${when(x => x.columns.length > 0 && x.canRenderRows, html `
94
94
  ${repeat(x => x.virtualizer.visibleItems, html `
95
- ${when((x, c) => c.parent.tableData[x.index]?.isGrouped, html `
95
+ ${when((x, c) => c.parent.tableData[x.index]?.isGroupRow, html `
96
96
  <${tableGroupRowTag}
97
97
  class="group-row"
98
98
  :groupRowValue="${(x, c) => c.parent.tableData[x.index]?.groupRowValue}"
99
99
  ?expanded="${(x, c) => c.parent.tableData[x.index]?.isExpanded}"
100
100
  :nestingLevel="${(x, c) => c.parent.tableData[x.index]?.nestingLevel}"
101
- :leafItemCount="${(x, c) => c.parent.tableData[x.index]?.leafItemCount}"
101
+ :immediateChildCount="${(x, c) => c.parent.tableData[x.index]?.immediateChildCount}"
102
102
  :groupColumn="${(x, c) => c.parent.tableData[x.index]?.groupColumn}"
103
103
  ?selectable="${(_, c) => c.parent.selectionMode === TableRowSelectionMode.multiple}"
104
104
  selection-state="${(x, c) => c.parent.tableData[x.index]?.selectionState}"
@@ -107,21 +107,25 @@ export const template = html `
107
107
  >
108
108
  </${tableGroupRowTag}>
109
109
  `)}
110
- ${when((x, c) => !c.parent.tableData[x.index]?.isGrouped, html `
110
+ ${when((x, c) => !c.parent.tableData[x.index]?.isGroupRow, html `
111
111
  <${tableRowTag}
112
112
  class="row"
113
113
  record-id="${(x, c) => c.parent.tableData[x.index]?.id}"
114
114
  ?selectable="${(_, c) => c.parent.selectionMode !== TableRowSelectionMode.none}"
115
115
  ?selected="${(x, c) => c.parent.tableData[x.index]?.selectionState === TableRowSelectionState.selected}"
116
+ ?expanded="${(x, c) => c.parent.tableData[x.index]?.isExpanded}"
116
117
  ?hide-selection="${(_, c) => c.parent.selectionMode !== TableRowSelectionMode.multiple}"
117
118
  :dataRecord="${(x, c) => c.parent.tableData[x.index]?.record}"
118
119
  :columns="${(_, c) => c.parent.columns}"
120
+ :isParentRow="${(x, c) => c.parent.tableData[x.index]?.isParentRow}"
119
121
  :nestingLevel="${(x, c) => c.parent.tableData[x.index]?.nestingLevel}"
120
122
  ?row-operation-grid-cell-hidden="${(_, c) => !c.parent.showRowOperationColumn}"
121
123
  @click="${(x, c) => c.parent.onRowClick(x.index, c.event)}"
122
124
  @row-selection-toggle="${(x, c) => c.parent.onRowSelectionToggle(x.index, c.event)}"
123
125
  @row-action-menu-beforetoggle="${(x, c) => c.parent.onRowActionMenuBeforeToggle(x.index, c.event)}"
124
126
  @row-action-menu-toggle="${(_, c) => c.parent.onRowActionMenuToggle(c.event)}"
127
+ @row-expand-toggle="${(x, c) => c.parent.handleRowExpanded(x.index)}"
128
+ :dataIndex="${x => x.index}"
125
129
  >
126
130
  ${when((x, c) => c.parent.openActionMenuRecordId === c.parent.tableData[x.index]?.id, html `
127
131
  ${repeat((_, c) => c.parent.actionMenuSlots, html `
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/table/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/table/template.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,MAAM,EACN,IAAI,EACP,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAEH,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EAEzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACH,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,EACtB,MAAM,sCAAsC,CAAC;AAE9C,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAO;;;gCAGH,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;UAChD,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;;sCAE5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;;4CAE/C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;gEACM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,0BAA0B;gDAC7D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY;oDAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,mBAAmB;mDACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE;kDAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;uDAC/D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB;yDAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;;;;;sCAKjF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,yCAAyC,GAAG,CAAC,0BAA0B,CAAC;8BACrI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,IAAI,CAAO;;sCAEvC,CAAC,CAAC,EAAE,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC;;6BAEzD,CAAC;8BACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAO;;uCAEhE,WAAW;0CACR,GAAG,CAAC,mBAAmB,CAAC;iDACjB,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,aAAa,IAAI,EAAE,EAAE;mDAChD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAoB,CAAC;iDAC9D,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;sDAClC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;;wCAErD,WAAW;;6BAEtB,CAAC;+BACC,SAAS;6DACqB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;;8CAE3D,gBAAgB,CAAC,KAAK;yCAC3B,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;0CACxC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE;;mCAErC,iCAAiC,mBAAmB,iCAAiC;kCACtF,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;gCAC3C,SAAS;;iEAEwB,GAAG,CAAC,wBAAwB,CAAC;8BAChE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAoB;;sCAE9C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAoB;0EAChB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;2DAClG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAmB,EAAE,CAAC,CAAC,KAAK,CAAC;;qCAE/F,CAAC;2CACK,cAAc;;8DAEK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;oEAChI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,iBAAiB;sDACxD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAG,CAAC,CAAC,KAAoB,CAAC,QAAQ,CAAC;yDACrE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC;;0DAE7F,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;4CACzB,cAAc;sCACpB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAoB;2EAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;2DACnG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAmB,EAAE,CAAC,CAAC,KAAK,CAAC;;qCAEhG,CAAC;;6BAET,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;;;;;8CAKP,GAAG,CAAC,UAAU,CAAC;;uDAEN,QAAQ,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;;0BAEjG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,IAAI,CAAO;8BAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAoB;kCAC5D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAoB;uCACtF,gBAAgB;;0DAEG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa;qDACzD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU;yDAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY;gEAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,mBAAmB;wDAClE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW;uDACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,qBAAqB,CAAC,QAAQ;2DAC/D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,cAAc;mEAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAwD,CAAC;gEAC/G,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;;wCAEnF,gBAAgB;iCACvB,CAAC;kCACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAE,CAAC,CAAC,MAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAoB;uCACvF,WAAW;;qDAEG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;uDACvC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,qBAAqB,CAAC,IAAI;qDACjE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,cAAc,KAAK,sBAAsB,CAAC,QAAQ;qDACzF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU;2DAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,qBAAqB,CAAC,QAAQ;uDACvE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM;oDAChD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;wDACtB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW;yDACjD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY;2EACjC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB;kDACnE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAmB,CAAC;iEAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAwD,CAAC;yEACpG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAsD,CAAC;mEACvH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAsD,CAAC;8DACvG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;sDACrD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;;sCAE5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAgB,CAAC,sBAAsB,KAAM,CAAC,CAAC,MAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,CAAoB;0CAC9H,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAgB,CAAC,eAAe,EAAE,IAAI,CAAe;;wDAE3D,CAAC,CAAC,EAAE,CAAC,CAAC;wDACN,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE;;yCAE1C,CAAC;qCACL,CAAC;wCACE,WAAW;iCAClB,CAAC;6BACL,CAAC;yBACL,CAAC;;;;;;CAMzB,CAAC"}
@@ -29,6 +29,7 @@ export declare class TablePageObject<T extends TableRecord> {
29
29
  getRenderedRowCount(): number;
30
30
  getRenderedGroupRowCount(): number;
31
31
  getAllGroupRowsExpandedState(): boolean[];
32
+ getAllDataRowsExpandedState(): boolean[];
32
33
  getRenderedCellView(rowIndex: number, columnIndex: number): TableCellView;
33
34
  getRenderedCellViewById(recordId: string, columnId: string): TableCellView;
34
35
  getRenderedCellTextContent(rowIndex: number, columnIndex: number): string;
@@ -62,7 +63,9 @@ export declare class TablePageObject<T extends TableRecord> {
62
63
  getIsRowSelected(rowIndex: number): boolean;
63
64
  toggleGroupRowExpandedState(groupRowIndex: number): void;
64
65
  clickCollapseAllButton(): void;
66
+ clickDataRowExpandCollapseButton(rowIndex: number): void;
65
67
  isCollapseAllButtonVisible(): boolean;
68
+ isDataRowExpandCollapseButtonVisible(rowIndex: number): boolean;
66
69
  isTableSelectionCheckboxVisible(): boolean;
67
70
  getTableSelectionState(): TableRowSelectionState;
68
71
  clickTableSelectionCheckbox(): void;
@@ -95,6 +98,7 @@ export declare class TablePageObject<T extends TableRecord> {
95
98
  private getCell;
96
99
  private getCellById;
97
100
  private getCollapseAllButton;
101
+ private getExpandCollapseButtonForRow;
98
102
  private getSelectionCheckboxForRow;
99
103
  private getSelectionCheckboxForGroupRow;
100
104
  private getSelectionCheckboxForTable;
@@ -72,6 +72,10 @@ export class TablePageObject {
72
72
  const groupRows = this.tableElement.shadowRoot.querySelectorAll('nimble-table-group-row');
73
73
  return Array.from(groupRows).map(row => row.expanded);
74
74
  }
75
+ getAllDataRowsExpandedState() {
76
+ const rows = this.tableElement.shadowRoot.querySelectorAll('nimble-table-row');
77
+ return Array.from(rows).map(row => row.expanded);
78
+ }
75
79
  getRenderedCellView(rowIndex, columnIndex) {
76
80
  const cell = this.getCell(rowIndex, columnIndex);
77
81
  const cellView = cell.shadowRoot.firstElementChild;
@@ -252,6 +256,13 @@ export class TablePageObject {
252
256
  clickCollapseAllButton() {
253
257
  this.getCollapseAllButton()?.click();
254
258
  }
259
+ clickDataRowExpandCollapseButton(rowIndex) {
260
+ const expandCollapseButton = this.getExpandCollapseButtonForRow(rowIndex);
261
+ if (!expandCollapseButton) {
262
+ throw new Error('The provided row index has no visible expand collapse button associated with it.');
263
+ }
264
+ expandCollapseButton.click();
265
+ }
255
266
  isCollapseAllButtonVisible() {
256
267
  const collapseButton = this.getCollapseAllButton();
257
268
  if (collapseButton) {
@@ -259,6 +270,10 @@ export class TablePageObject {
259
270
  }
260
271
  return false;
261
272
  }
273
+ isDataRowExpandCollapseButtonVisible(rowIndex) {
274
+ const expandCollapseButton = this.getExpandCollapseButtonForRow(rowIndex);
275
+ return expandCollapseButton !== null;
276
+ }
262
277
  isTableSelectionCheckboxVisible() {
263
278
  const checkbox = this.getSelectionCheckboxForTable();
264
279
  return this.isCheckboxVisible(checkbox);
@@ -456,6 +471,15 @@ export class TablePageObject {
456
471
  getCollapseAllButton() {
457
472
  return this.tableElement.shadowRoot.querySelector('.collapse-all-button');
458
473
  }
474
+ getExpandCollapseButtonForRow(rowIndex) {
475
+ const row = this.getRow(rowIndex);
476
+ const rowExpandCollapseButton = row.shadowRoot.querySelector('.expand-collapse-button');
477
+ if (!rowExpandCollapseButton) {
478
+ const firstCell = this.getCell(rowIndex, 0);
479
+ return firstCell?.shadowRoot.querySelector('.expand-collapse-button');
480
+ }
481
+ return rowExpandCollapseButton;
482
+ }
459
483
  getSelectionCheckboxForRow(rowIndex) {
460
484
  const row = this.getRow(rowIndex);
461
485
  return row.shadowRoot.querySelector('.selection-checkbox');