@navikt/ds-react 8.10.4 → 8.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/cjs/data/data-grid/index.d.ts +2 -0
- package/cjs/data/data-grid/index.js +7 -0
- package/cjs/data/data-grid/index.js.map +1 -0
- package/cjs/data/data-grid/root/DataGridRoot.context.d.ts +11 -0
- package/cjs/data/data-grid/root/DataGridRoot.context.js +11 -0
- package/cjs/data/data-grid/root/DataGridRoot.context.js.map +1 -0
- package/cjs/data/data-grid/root/DataGridRoot.d.ts +38 -0
- package/cjs/data/data-grid/root/DataGridRoot.js +68 -0
- package/cjs/data/data-grid/root/DataGridRoot.js.map +1 -0
- package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -13
- package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
- package/cjs/data/drag-and-drop/root/DragAndDrop.context.d.ts +4 -2
- package/cjs/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -1
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +44 -46
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
- package/cjs/data/drag-and-drop/types.d.ts +0 -4
- package/cjs/data/stories/Data.test-data.d.ts +2 -5
- package/cjs/data/stories/Data.test-data.js +30 -39
- package/cjs/data/stories/Data.test-data.js.map +1 -1
- package/cjs/data/table/base-cell/DataTableBaseCell.d.ts +15 -15
- package/cjs/data/table/base-cell/DataTableBaseCell.js +4 -8
- package/cjs/data/table/base-cell/DataTableBaseCell.js.map +1 -1
- package/cjs/data/table/column-header/DataTableColumnHeader.d.ts +24 -6
- package/cjs/data/table/column-header/DataTableColumnHeader.js +22 -27
- package/cjs/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/cjs/data/table/column-header/useTableColumnResize.d.ts +19 -29
- package/cjs/data/table/column-header/useTableColumnResize.js +24 -22
- package/cjs/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.d.ts +1 -1
- package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js +2 -2
- package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -1
- package/cjs/data/table/helpers/collectTableRowEntries.d.ts +9 -7
- package/cjs/data/table/helpers/collectTableRowEntries.js +18 -10
- package/cjs/data/table/helpers/collectTableRowEntries.js.map +1 -1
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.d.ts +13 -11
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.js +43 -53
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
- package/cjs/data/table/helpers/selection/getSingleSelectProps.d.ts +9 -8
- package/cjs/data/table/helpers/selection/getSingleSelectProps.js +23 -10
- package/cjs/data/table/helpers/selection/getSingleSelectProps.js.map +1 -1
- package/cjs/data/table/helpers/selection/selection.types.d.ts +19 -19
- package/cjs/data/table/helpers/selection/selection.utils.d.ts +21 -0
- package/cjs/data/table/helpers/selection/selection.utils.js +46 -0
- package/cjs/data/table/helpers/selection/selection.utils.js.map +1 -0
- package/cjs/data/table/helpers/table-focus.d.ts +0 -3
- package/cjs/data/table/helpers/table-focus.js +38 -8
- package/cjs/data/table/helpers/table-focus.js.map +1 -1
- package/cjs/data/table/hooks/useColumnOptions.d.ts +16 -5
- package/cjs/data/table/hooks/useColumnOptions.js +26 -8
- package/cjs/data/table/hooks/useColumnOptions.js.map +1 -1
- package/cjs/data/table/hooks/useGridCache.js +2 -2
- package/cjs/data/table/hooks/useGridCache.js.map +1 -1
- package/cjs/data/table/hooks/useTableDetailsPanel.d.ts +10 -13
- package/cjs/data/table/hooks/useTableDetailsPanel.js +7 -6
- package/cjs/data/table/hooks/useTableDetailsPanel.js.map +1 -1
- package/cjs/data/table/hooks/useTableItems.d.ts +31 -17
- package/cjs/data/table/hooks/useTableItems.js +10 -20
- package/cjs/data/table/hooks/useTableItems.js.map +1 -1
- package/cjs/data/table/hooks/useTableKeyboardNav.d.ts +1 -6
- package/cjs/data/table/hooks/useTableKeyboardNav.js +6 -5
- package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -1
- package/cjs/data/table/hooks/useTableSelection.d.ts +6 -6
- package/cjs/data/table/hooks/useTableSelection.js +13 -13
- package/cjs/data/table/hooks/useTableSelection.js.map +1 -1
- package/cjs/data/table/hooks/useTableSort.d.ts +2 -2
- package/cjs/data/table/hooks/useTableSort.js +4 -5
- package/cjs/data/table/hooks/useTableSort.js.map +1 -1
- package/cjs/data/table/root/DataTable.types.d.ts +22 -13
- package/cjs/data/table/root/DataTableRoot.context.d.ts +13 -7
- package/cjs/data/table/root/DataTableRoot.context.js.map +1 -1
- package/cjs/data/table/root/DataTableRoot.d.ts +49 -72
- package/cjs/data/table/root/DataTableRoot.js +56 -72
- package/cjs/data/table/root/DataTableRoot.js.map +1 -1
- package/cjs/data/table/root/DataTableRoot.legacy.d.ts +2 -7
- package/cjs/data/table/root/DataTableRoot.legacy.js +17 -3
- package/cjs/data/table/root/DataTableRoot.legacy.js.map +1 -1
- package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.js +4 -4
- package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.js.map +1 -1
- package/cjs/data/table/tbody/DataTableTbody.js +4 -2
- package/cjs/data/table/tbody/DataTableTbody.js.map +1 -1
- package/cjs/data/table/tr/DataTableTr.d.ts +5 -3
- package/cjs/data/table/tr/DataTableTr.js +36 -23
- package/cjs/data/table/tr/DataTableTr.js.map +1 -1
- package/cjs/table/ColumnHeader.js +2 -1
- package/cjs/table/ColumnHeader.js.map +1 -1
- package/esm/data/data-grid/index.d.ts +2 -0
- package/esm/data/data-grid/index.js +3 -0
- package/esm/data/data-grid/index.js.map +1 -0
- package/esm/data/data-grid/root/DataGridRoot.context.d.ts +11 -0
- package/esm/data/data-grid/root/DataGridRoot.context.js +7 -0
- package/esm/data/data-grid/root/DataGridRoot.context.js.map +1 -0
- package/esm/data/data-grid/root/DataGridRoot.d.ts +38 -0
- package/esm/data/data-grid/root/DataGridRoot.js +32 -0
- package/esm/data/data-grid/root/DataGridRoot.js.map +1 -0
- package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -13
- package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
- package/esm/data/drag-and-drop/root/DragAndDrop.context.d.ts +4 -2
- package/esm/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -1
- package/esm/data/drag-and-drop/root/DragAndDropRoot.js +44 -46
- package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
- package/esm/data/drag-and-drop/types.d.ts +0 -4
- package/esm/data/stories/Data.test-data.d.ts +2 -5
- package/esm/data/stories/Data.test-data.js +30 -39
- package/esm/data/stories/Data.test-data.js.map +1 -1
- package/esm/data/table/base-cell/DataTableBaseCell.d.ts +15 -15
- package/esm/data/table/base-cell/DataTableBaseCell.js +4 -8
- package/esm/data/table/base-cell/DataTableBaseCell.js.map +1 -1
- package/esm/data/table/column-header/DataTableColumnHeader.d.ts +24 -6
- package/esm/data/table/column-header/DataTableColumnHeader.js +23 -28
- package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/esm/data/table/column-header/useTableColumnResize.d.ts +19 -29
- package/esm/data/table/column-header/useTableColumnResize.js +24 -22
- package/esm/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.d.ts +1 -1
- package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js +2 -2
- package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -1
- package/esm/data/table/helpers/collectTableRowEntries.d.ts +9 -7
- package/esm/data/table/helpers/collectTableRowEntries.js +18 -10
- package/esm/data/table/helpers/collectTableRowEntries.js.map +1 -1
- package/esm/data/table/helpers/selection/getMultipleSelectProps.d.ts +13 -11
- package/esm/data/table/helpers/selection/getMultipleSelectProps.js +43 -53
- package/esm/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
- package/esm/data/table/helpers/selection/getSingleSelectProps.d.ts +9 -8
- package/esm/data/table/helpers/selection/getSingleSelectProps.js +23 -10
- package/esm/data/table/helpers/selection/getSingleSelectProps.js.map +1 -1
- package/esm/data/table/helpers/selection/selection.types.d.ts +19 -19
- package/esm/data/table/helpers/selection/selection.utils.d.ts +21 -0
- package/esm/data/table/helpers/selection/selection.utils.js +43 -0
- package/esm/data/table/helpers/selection/selection.utils.js.map +1 -0
- package/esm/data/table/helpers/table-focus.d.ts +0 -3
- package/esm/data/table/helpers/table-focus.js +38 -8
- package/esm/data/table/helpers/table-focus.js.map +1 -1
- package/esm/data/table/hooks/useColumnOptions.d.ts +16 -5
- package/esm/data/table/hooks/useColumnOptions.js +26 -8
- package/esm/data/table/hooks/useColumnOptions.js.map +1 -1
- package/esm/data/table/hooks/useGridCache.js +2 -2
- package/esm/data/table/hooks/useGridCache.js.map +1 -1
- package/esm/data/table/hooks/useTableDetailsPanel.d.ts +10 -13
- package/esm/data/table/hooks/useTableDetailsPanel.js +7 -6
- package/esm/data/table/hooks/useTableDetailsPanel.js.map +1 -1
- package/esm/data/table/hooks/useTableItems.d.ts +31 -17
- package/esm/data/table/hooks/useTableItems.js +11 -18
- package/esm/data/table/hooks/useTableItems.js.map +1 -1
- package/esm/data/table/hooks/useTableKeyboardNav.d.ts +1 -6
- package/esm/data/table/hooks/useTableKeyboardNav.js +7 -6
- package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -1
- package/esm/data/table/hooks/useTableSelection.d.ts +6 -6
- package/esm/data/table/hooks/useTableSelection.js +13 -13
- package/esm/data/table/hooks/useTableSelection.js.map +1 -1
- package/esm/data/table/hooks/useTableSort.d.ts +2 -2
- package/esm/data/table/hooks/useTableSort.js +4 -5
- package/esm/data/table/hooks/useTableSort.js.map +1 -1
- package/esm/data/table/root/DataTable.types.d.ts +22 -13
- package/esm/data/table/root/DataTableRoot.context.d.ts +13 -7
- package/esm/data/table/root/DataTableRoot.context.js.map +1 -1
- package/esm/data/table/root/DataTableRoot.d.ts +49 -72
- package/esm/data/table/root/DataTableRoot.js +58 -74
- package/esm/data/table/root/DataTableRoot.js.map +1 -1
- package/esm/data/table/root/DataTableRoot.legacy.d.ts +2 -7
- package/esm/data/table/root/DataTableRoot.legacy.js +17 -3
- package/esm/data/table/root/DataTableRoot.legacy.js.map +1 -1
- package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.js +4 -4
- package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.js.map +1 -1
- package/esm/data/table/tbody/DataTableTbody.js +4 -2
- package/esm/data/table/tbody/DataTableTbody.js.map +1 -1
- package/esm/data/table/tr/DataTableTr.d.ts +5 -3
- package/esm/data/table/tr/DataTableTr.js +35 -23
- package/esm/data/table/tr/DataTableTr.js.map +1 -1
- package/esm/table/ColumnHeader.js +2 -1
- package/esm/table/ColumnHeader.js.map +1 -1
- package/package.json +8 -7
- package/src/data/data-grid/index.ts +3 -0
- package/src/data/data-grid/root/DataGridRoot.context.ts +16 -0
- package/src/data/data-grid/root/DataGridRoot.tsx +71 -0
- package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +11 -17
- package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +4 -2
- package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +63 -52
- package/src/data/drag-and-drop/types.ts +0 -5
- package/src/data/stories/Data.test-data.tsx +52 -44
- package/src/data/table/agent-component-review.md +175 -0
- package/src/data/table/base-cell/DataTableBaseCell.tsx +31 -21
- package/src/data/table/column-header/DataTableColumnHeader.tsx +63 -58
- package/src/data/table/column-header/useTableColumnResize.ts +55 -71
- package/src/data/table/details-panel-row/DataTableDetailsPanelRow.tsx +7 -3
- package/src/data/table/helpers/collectTableRowEntries.ts +32 -19
- package/src/data/table/helpers/selection/getMultipleSelectProps.ts +65 -85
- package/src/data/table/helpers/selection/getSingleSelectProps.ts +35 -17
- package/src/data/table/helpers/selection/selection.types.ts +19 -19
- package/src/data/table/helpers/selection/selection.utils.test.ts +161 -0
- package/src/data/table/helpers/selection/selection.utils.ts +73 -0
- package/src/data/table/helpers/table-focus.ts +63 -9
- package/src/data/table/hooks/__tests__/useTableItems.test.ts +48 -8
- package/src/data/table/hooks/useColumnOptions.ts +48 -14
- package/src/data/table/hooks/useGridCache.ts +3 -2
- package/src/data/table/hooks/useTableDetailsPanel.tsx +25 -25
- package/src/data/table/hooks/useTableItems.ts +51 -42
- package/src/data/table/hooks/useTableKeyboardNav.ts +7 -15
- package/src/data/table/hooks/useTableSelection.ts +26 -31
- package/src/data/table/hooks/useTableSort.ts +10 -9
- package/src/data/table/root/DataTable.types.ts +30 -25
- package/src/data/table/root/DataTableRoot.context.ts +19 -7
- package/src/data/table/root/DataTableRoot.legacy.tsx +22 -14
- package/src/data/table/root/DataTableRoot.tsx +271 -320
- package/src/data/table/sub-row-toggle/DataTableSubRowToggle.tsx +5 -4
- package/src/data/table/tbody/DataTableTbody.tsx +6 -2
- package/src/data/table/tr/DataTableTr.tsx +98 -35
- package/src/table/ColumnHeader.tsx +2 -1
- package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts +0 -22
- package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js +0 -35
- package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
- package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +0 -27
- package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.js +0 -86
- package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +0 -1
- package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +0 -5
- package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js +0 -6
- package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +0 -1
- package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +0 -24
- package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.js +0 -108
- package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +0 -1
- package/cjs/data/table/helpers/selection/SelectionSubtreeHelper.d.ts +0 -46
- package/cjs/data/table/helpers/selection/SelectionSubtreeHelper.js +0 -112
- package/cjs/data/table/helpers/selection/SelectionSubtreeHelper.js.map +0 -1
- package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts +0 -22
- package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js +0 -29
- package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
- package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +0 -27
- package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.js +0 -50
- package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +0 -1
- package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +0 -5
- package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js +0 -3
- package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +0 -1
- package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +0 -24
- package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.js +0 -68
- package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +0 -1
- package/esm/data/table/helpers/selection/SelectionSubtreeHelper.d.ts +0 -46
- package/esm/data/table/helpers/selection/SelectionSubtreeHelper.js +0 -109
- package/esm/data/table/helpers/selection/SelectionSubtreeHelper.js.map +0 -1
- package/src/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.tsx +0 -104
- package/src/data/drag-and-drop-old/item/DataDragAndDropItem.tsx +0 -74
- package/src/data/drag-and-drop-old/root/DataDragAndDrop.context.tsx +0 -11
- package/src/data/drag-and-drop-old/root/DataDragAndDropRoot.tsx +0 -96
- package/src/data/table/helpers/selection/SelectionSubtreeHelper.test.ts +0 -66
- package/src/data/table/helpers/selection/SelectionSubtreeHelper.ts +0 -162
- package/src/data/table/hooks/__tests__/useTableSelection.test.ts +0 -488
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableColumnResize.js","sourceRoot":"","sources":["../../../../src/data/table/column-header/useTableColumnResize.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useTableColumnResize.js","sourceRoot":"","sources":["../../../../src/data/table/column-header/useTableColumnResize.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const react_1 = __importDefault(require("react"));
|
|
|
8
8
|
const useTableDetailsPanel_1 = require("../hooks/useTableDetailsPanel");
|
|
9
9
|
const DataTableRoot_context_1 = require("../root/DataTableRoot.context");
|
|
10
10
|
function DataTableDetailsPanelRow({ rowId, rowData, }) {
|
|
11
|
-
const { tableId,
|
|
11
|
+
const { tableId, totalColSpan } = (0, DataTableRoot_context_1.useDataTableContext)();
|
|
12
12
|
const { enableDetailsPanel, isExpanded, getDetailsPanelContent, getDetailsPanelHeight, } = (0, useTableDetailsPanel_1.useDataTableDetailsPanel)();
|
|
13
13
|
if (!enableDetailsPanel) {
|
|
14
14
|
return null;
|
|
@@ -26,7 +26,7 @@ function DataTableDetailsPanelRow({ rowId, rowData, }) {
|
|
|
26
26
|
? { height: panelHeight, overflow: "auto" }
|
|
27
27
|
: { height: "auto" };
|
|
28
28
|
return (react_1.default.createElement("tr", { className: "aksel-data-table__details-panel-row" },
|
|
29
|
-
react_1.default.createElement("td", { id: expansionId, colSpan:
|
|
29
|
+
react_1.default.createElement("td", { id: expansionId, colSpan: totalColSpan, className: "aksel-data-table__details-panel-row-cell" },
|
|
30
30
|
react_1.default.createElement("div", { style: style }, content))));
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=DataTableDetailsPanelRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableDetailsPanelRow.js","sourceRoot":"","sources":["../../../../src/data/table/details-panel-row/DataTableDetailsPanelRow.tsx"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"DataTableDetailsPanelRow.js","sourceRoot":"","sources":["../../../../src/data/table/details-panel-row/DataTableDetailsPanelRow.tsx"],"names":[],"mappings":";;;;;AAwDS,4DAAwB;AAxDjC,kDAA0B;AAC1B,wEAGuC;AACvC,yEAAoE;AAEpE,SAAS,wBAAwB,CAAI,EACnC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAA,2CAAmB,GAAE,CAAC;IACxD,MAAM,EACJ,kBAAkB,EAClB,UAAU,EACV,sBAAsB,EACtB,qBAAqB,GACtB,GAAG,IAAA,+CAAwB,GAAE,CAAC;IAE/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAG,OAAO,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAA,iDAA0B,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAG,OAAO,CAAC,CAAC;IAErD,MAAM,KAAK,GAAwB,WAAW;QAC5C,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE;QAC3C,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAEvB,OAAO,CACL,sCAAI,SAAS,EAAC,qCAAqC;QACjD,sCACE,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,0CAA0C;YAEpD,uCAAK,KAAK,EAAE,KAAK,IAAG,OAAO,CAAO,CAC/B,CACF,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
type TableRowEntryId
|
|
1
|
+
import type { TableRowEntryId } from "../root/DataTable.types";
|
|
2
2
|
type CollectTableRowEntriesArgs<T> = {
|
|
3
3
|
items: T[];
|
|
4
|
-
getRowId
|
|
4
|
+
getRowId?: (rowData: T, index: number) => TableRowEntryId;
|
|
5
5
|
getRows?: (rowData: T) => T[];
|
|
6
6
|
isRowExpandable?: (rowData: T) => boolean;
|
|
7
7
|
};
|
|
8
8
|
interface ItemDetail<T> {
|
|
9
|
-
id:
|
|
9
|
+
id: TableRowEntryId;
|
|
10
|
+
rowData: T;
|
|
10
11
|
level: number;
|
|
11
|
-
|
|
12
|
-
children: readonly
|
|
12
|
+
parentId: TableRowEntryId | null;
|
|
13
|
+
children: readonly TableRowEntryId[];
|
|
13
14
|
}
|
|
14
15
|
type CollectTableRowEntriesReturn<T> = {
|
|
15
|
-
itemDetails: Map<
|
|
16
|
+
itemDetails: Map<TableRowEntryId, ItemDetail<T>>;
|
|
17
|
+
rootRowIds: TableRowEntryId[];
|
|
16
18
|
/**
|
|
17
19
|
* Direct child ids for each row, used to traverse nested selection groups
|
|
18
20
|
* without storing every descendant list on each ancestor.
|
|
@@ -21,4 +23,4 @@ type CollectTableRowEntriesReturn<T> = {
|
|
|
21
23
|
};
|
|
22
24
|
declare function collectTableRowEntries<T>({ items, getRowId, getRows, isRowExpandable, }: CollectTableRowEntriesArgs<T>): CollectTableRowEntriesReturn<T>;
|
|
23
25
|
export { collectTableRowEntries };
|
|
24
|
-
export type { CollectTableRowEntriesArgs, CollectTableRowEntriesReturn,
|
|
26
|
+
export type { CollectTableRowEntriesArgs, CollectTableRowEntriesReturn, ItemDetail, };
|
|
@@ -4,31 +4,39 @@ exports.collectTableRowEntries = collectTableRowEntries;
|
|
|
4
4
|
function collectTableRowEntries({ items, getRowId, getRows, isRowExpandable, }) {
|
|
5
5
|
const itemDetailsMap = new Map();
|
|
6
6
|
const childRowIdsById = new Map();
|
|
7
|
-
const
|
|
7
|
+
const rootRowIds = [];
|
|
8
|
+
const traverseRow = (rowData, rowIndex, level, parentRowId) => {
|
|
8
9
|
var _a, _b;
|
|
9
|
-
const rowId = getRowId
|
|
10
|
+
const rowId = getRowId
|
|
11
|
+
? getRowId(rowData, rowIndex)
|
|
12
|
+
: getFallbackTableRowId(rowIndex, parentRowId);
|
|
10
13
|
const children = (_b = (((_a = isRowExpandable === null || isRowExpandable === void 0 ? void 0 : isRowExpandable(rowData)) !== null && _a !== void 0 ? _a : true) ? getRows === null || getRows === void 0 ? void 0 : getRows(rowData) : [])) !== null && _b !== void 0 ? _b : [];
|
|
11
|
-
itemDetailsMap.set(rowData, {
|
|
12
|
-
id: rowId,
|
|
13
|
-
level,
|
|
14
|
-
parent,
|
|
15
|
-
children,
|
|
16
|
-
});
|
|
17
14
|
const childRowIds = [];
|
|
18
15
|
for (let childIndex = 0; childIndex < children.length; childIndex++) {
|
|
19
16
|
const childRow = children[childIndex];
|
|
20
|
-
const childRowId = traverseRow(childRow, childIndex, level + 1,
|
|
17
|
+
const childRowId = traverseRow(childRow, childIndex, level + 1, rowId);
|
|
21
18
|
childRowIds.push(childRowId);
|
|
22
19
|
}
|
|
20
|
+
itemDetailsMap.set(rowId, {
|
|
21
|
+
id: rowId,
|
|
22
|
+
rowData,
|
|
23
|
+
level,
|
|
24
|
+
parentId: parentRowId,
|
|
25
|
+
children: childRowIds,
|
|
26
|
+
});
|
|
23
27
|
childRowIdsById.set(rowId, childRowIds);
|
|
24
28
|
return rowId;
|
|
25
29
|
};
|
|
26
30
|
for (let rowIndex = 0; rowIndex < items.length; rowIndex++) {
|
|
27
|
-
traverseRow(items[rowIndex], rowIndex, 0, null);
|
|
31
|
+
rootRowIds.push(traverseRow(items[rowIndex], rowIndex, 0, null));
|
|
28
32
|
}
|
|
29
33
|
return {
|
|
30
34
|
itemDetails: itemDetailsMap,
|
|
35
|
+
rootRowIds,
|
|
31
36
|
childRowIdsById,
|
|
32
37
|
};
|
|
33
38
|
}
|
|
39
|
+
function getFallbackTableRowId(rowIndex, parentRowId) {
|
|
40
|
+
return parentRowId == null ? String(rowIndex) : `${parentRowId}.${rowIndex}`;
|
|
41
|
+
}
|
|
34
42
|
//# sourceMappingURL=collectTableRowEntries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectTableRowEntries.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/collectTableRowEntries.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"collectTableRowEntries.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/collectTableRowEntries.ts"],"names":[],"mappings":";;AAyFS,wDAAsB;AA9D/B,SAAS,sBAAsB,CAAI,EACjC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,eAAe,GACe;IAC9B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;IACjE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsC,CAAC;IACtE,MAAM,UAAU,GAAsB,EAAE,CAAC;IAEzC,MAAM,WAAW,GAAG,CAClB,OAAU,EACV,QAAgB,EAChB,KAAa,EACb,WAAmC,EAClB,EAAE;;QACnB,MAAM,KAAK,GAAG,QAAQ;YACpB,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7B,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAEjD,MAAM,QAAQ,GACZ,MAAA,CAAC,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,OAAO,CAAC,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,mCAAI,EAAE,CAAC;QAEzE,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;YACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACvE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE;YACxB,EAAE,EAAE,KAAK;YACT,OAAO;YACP,KAAK;YACL,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QAEH,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAExC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC3D,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACL,WAAW,EAAE,cAAc;QAC3B,UAAU;QACV,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAgB,EAChB,WAAmC;IAEnC,OAAO,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;AAC/E,CAAC"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
import type { SetStateAction } from "react";
|
|
1
2
|
import type { CheckboxInputProps } from "../../../../form/checkbox/checkbox-input/CheckboxInput";
|
|
2
|
-
type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
import type { UseTableItemsReturn } from "../../hooks/useTableItems";
|
|
4
|
+
import type { TableRowEntryId } from "../../root/DataTable.types";
|
|
5
|
+
import type { SelectedKeysT, SelectionProps } from "./selection.types";
|
|
6
|
+
type GetMultipleSelectPropsArgs<T> = {
|
|
7
|
+
selectedKeysSet: Set<TableRowEntryId>;
|
|
8
|
+
selectedKeys: SelectedKeysT;
|
|
9
|
+
setSelectedKeys: (next: SetStateAction<SelectedKeysT>) => void;
|
|
10
|
+
tableItems: UseTableItemsReturn<T>;
|
|
11
|
+
} & Pick<SelectionProps<T>, "enableRowSelection">;
|
|
12
|
+
declare function getMultipleSelectProps<T>({ selectedKeysSet, selectedKeys, setSelectedKeys, enableRowSelection, tableItems, }: GetMultipleSelectPropsArgs<T>): {
|
|
11
13
|
getTheadCheckboxProps: () => CheckboxInputProps;
|
|
12
|
-
getRowCheckboxProps: (key:
|
|
13
|
-
toggleSelection: (key:
|
|
14
|
+
getRowCheckboxProps: (key: TableRowEntryId, row: T) => CheckboxInputProps;
|
|
15
|
+
toggleSelection: (key: TableRowEntryId, row: T) => void;
|
|
14
16
|
};
|
|
15
17
|
export { getMultipleSelectProps };
|
|
@@ -1,70 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMultipleSelectProps = getMultipleSelectProps;
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// Header selection traverses the visible roots and skips already visited
|
|
12
|
-
// descendants, so expanded trees stay linear in the number of rows.
|
|
13
|
-
const headerSelectableKeys = subtreeHelper.getSelectableKeys(visibleRowIds);
|
|
14
|
-
const headerSelectableKeysSet = new Set(headerSelectableKeys);
|
|
15
|
-
const selectedSelectableCount = headerSelectableKeys.filter((k) => selectedKeysSet.has(k)).length;
|
|
16
|
-
const allSelectableSelected = headerSelectableKeys.length > 0 &&
|
|
17
|
-
selectedSelectableCount === headerSelectableKeys.length;
|
|
18
|
-
const indeterminate = selectedSelectableCount > 0 &&
|
|
19
|
-
selectedSelectableCount < headerSelectableKeys.length;
|
|
20
|
-
const selectedKeysNotInView = selectedKeys.filter((k) => !headerSelectableKeysSet.has(k));
|
|
21
|
-
const disabledSelected = selectedKeys.filter((k) => disabledKeysSet.has(k));
|
|
22
|
-
const preservedKeys = [
|
|
23
|
-
...new Set([...selectedKeysNotInView, ...disabledSelected]),
|
|
24
|
-
];
|
|
25
|
-
const isGroupFullySelected = (key) => {
|
|
26
|
-
const groupStats = subtreeHelper.getSelectionStats(key);
|
|
27
|
-
return (groupStats.selectableCount > 0 &&
|
|
28
|
-
groupStats.selectedCount === groupStats.selectableCount);
|
|
29
|
-
};
|
|
30
|
-
const handleToggleAll = () => {
|
|
31
|
-
if (allSelectableSelected) {
|
|
32
|
-
setSelectedKeys(preservedKeys);
|
|
4
|
+
const consoleWarning_1 = require("../../../../utils/helpers/consoleWarning");
|
|
5
|
+
const selection_utils_1 = require("./selection.utils");
|
|
6
|
+
function getMultipleSelectProps({ selectedKeysSet, selectedKeys, setSelectedKeys, enableRowSelection, tableItems, }) {
|
|
7
|
+
const selectableIdsSet = new Set();
|
|
8
|
+
for (const [id, { rowData }] of tableItems.itemDetails) {
|
|
9
|
+
if ((0, selection_utils_1.canSelectTableRow)(enableRowSelection, { row: rowData, id })) {
|
|
10
|
+
selectableIdsSet.add(id);
|
|
33
11
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
12
|
+
}
|
|
13
|
+
let selectedOnPageCount = 0;
|
|
14
|
+
for (const id of selectableIdsSet) {
|
|
15
|
+
selectedKeysSet.has(id) && selectedOnPageCount++;
|
|
16
|
+
}
|
|
17
|
+
const isAllSelected = selectableIdsSet.size > 0 && selectedOnPageCount === selectableIdsSet.size;
|
|
18
|
+
const someSelected = selectedOnPageCount > 0;
|
|
19
|
+
const handleToggleRow = (key, row) => {
|
|
20
|
+
if (!row) {
|
|
21
|
+
(0, consoleWarning_1.consoleWarning)(`Row data is undefined for key ${key}. This may cause issues with selection if enableRowSelection is used.`);
|
|
38
22
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
23
|
+
const checked = !selectedKeysSet.has(key);
|
|
24
|
+
const nextSet = new Set(selectedKeysSet);
|
|
25
|
+
const changed = (0, selection_utils_1.mutateRowSelection)({
|
|
26
|
+
selectedRowIds: nextSet,
|
|
27
|
+
rowId: key,
|
|
28
|
+
checked,
|
|
29
|
+
childRowIdsById: tableItems.childRowIdsById,
|
|
30
|
+
itemDetails: tableItems.itemDetails,
|
|
31
|
+
enableRowSelection,
|
|
32
|
+
});
|
|
33
|
+
if (changed) {
|
|
34
|
+
setSelectedKeys([...nextSet]);
|
|
43
35
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
};
|
|
37
|
+
const toggleAllRowSelected = (event) => {
|
|
38
|
+
if (event.target.checked) {
|
|
39
|
+
const preserved = selectedKeys.filter((k) => !selectableIdsSet.has(k));
|
|
40
|
+
setSelectedKeys([...preserved, ...selectableIdsSet]);
|
|
48
41
|
}
|
|
49
42
|
else {
|
|
50
|
-
setSelectedKeys(
|
|
43
|
+
setSelectedKeys(selectedKeys.filter((k) => !selectableIdsSet.has(k)));
|
|
51
44
|
}
|
|
52
45
|
};
|
|
53
46
|
return {
|
|
54
47
|
getTheadCheckboxProps: () => ({
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
disabled: headerSelectableKeys.length === 0,
|
|
48
|
+
checked: isAllSelected,
|
|
49
|
+
indeterminate: !isAllSelected && someSelected,
|
|
50
|
+
onChange: toggleAllRowSelected,
|
|
59
51
|
}),
|
|
60
|
-
getRowCheckboxProps: (key) => {
|
|
61
|
-
const groupStats = subtreeHelper.getSelectionStats(key);
|
|
52
|
+
getRowCheckboxProps: (key, row) => {
|
|
62
53
|
return {
|
|
63
|
-
onChange: () => handleToggleRow(key),
|
|
64
|
-
checked:
|
|
65
|
-
indeterminate:
|
|
66
|
-
|
|
67
|
-
disabled: disabledKeysSet.has(key),
|
|
54
|
+
onChange: () => handleToggleRow(key, row),
|
|
55
|
+
checked: selectedKeysSet.has(key),
|
|
56
|
+
indeterminate: false,
|
|
57
|
+
disabled: !(0, selection_utils_1.canSelectTableRow)(enableRowSelection, { row, id: key }),
|
|
68
58
|
};
|
|
69
59
|
},
|
|
70
60
|
toggleSelection: handleToggleRow,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMultipleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getMultipleSelectProps.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getMultipleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getMultipleSelectProps.ts"],"names":[],"mappings":";;AA0FS,wDAAsB;AAxF/B,6EAA0E;AAI1E,uDAA0E;AAS1E,SAAS,sBAAsB,CAAI,EACjC,eAAe,EACf,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,UAAU,GACoB;IAC9B,MAAM,gBAAgB,GAAyB,IAAI,GAAG,EAAE,CAAC;IAEzD,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,IAAA,mCAAiB,EAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAChE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAClC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,mBAAmB,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,aAAa,GACjB,gBAAgB,CAAC,IAAI,GAAG,CAAC,IAAI,mBAAmB,KAAK,gBAAgB,CAAC,IAAI,CAAC;IAC7E,MAAM,YAAY,GAAG,mBAAmB,GAAG,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,GAAM,EAAE,EAAE;QACvD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAA,+BAAc,EACZ,iCAAiC,GAAG,uEAAuE,CAC5G,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,oCAAkB,EAAC;YACjC,cAAc,EAAE,OAAO;YACvB,KAAK,EAAE,GAAG;YACV,OAAO;YACP,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,kBAAkB;SACnB,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,eAAe,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAyC,CACjE,KAAK,EACL,EAAE;QACF,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,eAAe,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,qBAAqB,EAAE,GAAuB,EAAE,CAAC,CAAC;YAChD,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,CAAC,aAAa,IAAI,YAAY;YAC7C,QAAQ,EAAE,oBAAoB;SAC/B,CAAC;QACF,mBAAmB,EAAE,CAAC,GAAoB,EAAE,GAAM,EAAsB,EAAE;YACxE,OAAO;gBACL,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjC,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,CAAC,IAAA,mCAAiB,EAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QACD,eAAe,EAAE,eAAe;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { RadioInputProps } from "../../../../form/radio/radio-input/RadioInput";
|
|
2
|
-
type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import type { TableRowEntryId } from "../../root/DataTable.types";
|
|
3
|
+
import type { SelectedKeysT, SelectionProps } from "./selection.types";
|
|
4
|
+
type GetSingleSelectPropsArgs<T> = {
|
|
5
|
+
selectedKeysSet: Set<TableRowEntryId>;
|
|
6
|
+
setSelectedKeys: (keys: SelectedKeysT) => void;
|
|
6
7
|
name: string;
|
|
7
|
-
}
|
|
8
|
-
declare function getSingleSelectProps({ selectedKeysSet, setSelectedKeys,
|
|
9
|
-
getRowRadioProps: (key:
|
|
10
|
-
toggleSelection: (key:
|
|
8
|
+
} & Pick<SelectionProps<T>, "enableRowSelection">;
|
|
9
|
+
declare function getSingleSelectProps<T>({ selectedKeysSet, setSelectedKeys, name, enableRowSelection, }: GetSingleSelectPropsArgs<T>): {
|
|
10
|
+
getRowRadioProps: (key: TableRowEntryId, row: T) => RadioInputProps;
|
|
11
|
+
toggleSelection: (key: TableRowEntryId, row: T) => void;
|
|
11
12
|
};
|
|
12
13
|
export { getSingleSelectProps };
|
|
@@ -1,21 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSingleSelectProps = getSingleSelectProps;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const consoleWarning_1 = require("../../../../utils/helpers/consoleWarning");
|
|
5
|
+
const selection_utils_1 = require("./selection.utils");
|
|
6
|
+
function getSingleSelectProps({ selectedKeysSet, setSelectedKeys, name, enableRowSelection, }) {
|
|
7
|
+
const handleSelectionChange = (key, row) => {
|
|
8
|
+
if (!row) {
|
|
9
|
+
(0, consoleWarning_1.consoleWarning)(`Row data is undefined for key ${key}. This may cause issues with selection if enableRowSelection is used.`);
|
|
10
|
+
}
|
|
11
|
+
if (!(0, selection_utils_1.canSelectTableRow)(enableRowSelection, { row, id: key })) {
|
|
7
12
|
return;
|
|
8
13
|
}
|
|
9
14
|
setSelectedKeys([key]);
|
|
10
15
|
};
|
|
11
16
|
return {
|
|
12
|
-
getRowRadioProps: (key) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
getRowRadioProps: (key, row) => {
|
|
18
|
+
const isSelectionDisabled = !(0, selection_utils_1.canSelectTableRow)(enableRowSelection, {
|
|
19
|
+
row,
|
|
20
|
+
id: key,
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
checked: selectedKeysSet.has(key),
|
|
24
|
+
onChange: isSelectionDisabled
|
|
25
|
+
? () => null
|
|
26
|
+
: () => handleSelectionChange(key, row),
|
|
27
|
+
disabled: isSelectionDisabled,
|
|
28
|
+
value: key,
|
|
29
|
+
name,
|
|
30
|
+
};
|
|
31
|
+
},
|
|
19
32
|
toggleSelection: handleSelectionChange,
|
|
20
33
|
};
|
|
21
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSingleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getSingleSelectProps.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getSingleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getSingleSelectProps.ts"],"names":[],"mappings":";;AAoDS,oDAAoB;AAnD7B,6EAA0E;AAG1E,uDAAsD;AAQtD,SAAS,oBAAoB,CAAI,EAC/B,eAAe,EACf,eAAe,EACf,IAAI,EACJ,kBAAkB,GACU;IAC5B,MAAM,qBAAqB,GAAG,CAAC,GAAoB,EAAE,GAAM,EAAE,EAAE;QAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAA,+BAAc,EACZ,iCAAiC,GAAG,uEAAuE,CAC5G,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAA,mCAAiB,EAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO;QACL,gBAAgB,EAAE,CAAC,GAAoB,EAAE,GAAM,EAAmB,EAAE;YAClE,MAAM,mBAAmB,GAAG,CAAC,IAAA,mCAAiB,EAAC,kBAAkB,EAAE;gBACjE,GAAG;gBACH,EAAE,EAAE,GAAG;aACR,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjC,QAAQ,EAAE,mBAAmB;oBAC3B,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI;oBACZ,CAAC,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzC,QAAQ,EAAE,mBAAmB;gBAC7B,KAAK,EAAE,GAAG;gBACV,IAAI;aACL,CAAC;QACJ,CAAC;QACD,eAAe,EAAE,qBAAqB;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { CheckboxInputProps } from "../../../../form/checkbox/checkbox-input/CheckboxInput";
|
|
2
2
|
import type { RadioInputProps } from "../../../../form/radio/radio-input/RadioInput";
|
|
3
|
-
type
|
|
4
|
-
type
|
|
3
|
+
import type { TableRowEntryId } from "../../root/DataTable.types";
|
|
4
|
+
type SelectedKeysT = TableRowEntryId[];
|
|
5
|
+
type SelectionProps<T = any> = {
|
|
5
6
|
/**
|
|
6
7
|
* Enables selection of rows.
|
|
7
8
|
*
|
|
@@ -12,7 +13,7 @@ type SelectionProps = {
|
|
|
12
13
|
*
|
|
13
14
|
* @default "none"
|
|
14
15
|
*/
|
|
15
|
-
selectionMode
|
|
16
|
+
selectionMode: "none" | "single" | "multiple";
|
|
16
17
|
/**
|
|
17
18
|
* Controlled selected keys. Should be used in conjunction with `onSelectionChange`.
|
|
18
19
|
*/
|
|
@@ -26,41 +27,40 @@ type SelectionProps = {
|
|
|
26
27
|
*/
|
|
27
28
|
onSelectionChange?: (keys: SelectedKeysT) => void;
|
|
28
29
|
/**
|
|
29
|
-
*
|
|
30
|
+
* Callback to determine if a row should be enabled for selection.
|
|
30
31
|
*
|
|
31
32
|
*
|
|
32
|
-
*
|
|
33
|
+
* If set to a boolean, it will enable selection for all rows when true, and disable selection for all rows when false.
|
|
33
34
|
*/
|
|
34
|
-
|
|
35
|
+
enableRowSelection?: (({ row, id }: {
|
|
36
|
+
row: T;
|
|
37
|
+
id: TableRowEntryId;
|
|
38
|
+
}) => boolean) | boolean;
|
|
35
39
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* @default false
|
|
40
|
+
* Determines if selection is triggered by clicking the row or the selection control (checkbox/radio).
|
|
41
|
+
* @default "row"
|
|
39
42
|
*/
|
|
40
|
-
|
|
43
|
+
selectionTrigger?: "row" | "control";
|
|
41
44
|
};
|
|
42
45
|
type NoneSelection = {
|
|
43
46
|
selectionMode: "none";
|
|
44
47
|
selectedKeys: SelectedKeysT;
|
|
45
|
-
disabledSelectionKeys: SelectedKeysT;
|
|
46
48
|
};
|
|
47
49
|
type SingleSelection = {
|
|
48
50
|
selectionMode: "single";
|
|
49
51
|
selectedKeys: SelectedKeysT;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
toggleSelection: (key: string | number) => void;
|
|
52
|
+
getRowRadioProps: (key: TableRowEntryId, row: any) => RadioInputProps;
|
|
53
|
+
toggleSelection: (key: TableRowEntryId, row: any) => void;
|
|
53
54
|
};
|
|
54
55
|
type MultipleSelection = {
|
|
55
56
|
selectionMode: "multiple";
|
|
56
57
|
selectedKeys: SelectedKeysT;
|
|
57
|
-
disabledSelectionKeys: SelectedKeysT;
|
|
58
58
|
getTheadCheckboxProps: () => CheckboxInputProps;
|
|
59
|
-
getRowCheckboxProps: (key:
|
|
60
|
-
toggleSelection: (key:
|
|
59
|
+
getRowCheckboxProps: (key: TableRowEntryId, row: any) => CheckboxInputProps;
|
|
60
|
+
toggleSelection: (key: TableRowEntryId, row: any) => void;
|
|
61
61
|
};
|
|
62
62
|
type TableSelectionBase = {
|
|
63
|
-
isRowSelected: (rowId:
|
|
63
|
+
isRowSelected: (rowId: TableRowEntryId) => boolean;
|
|
64
64
|
};
|
|
65
65
|
type TableSelection = TableSelectionBase & (NoneSelection | SingleSelection | MultipleSelection);
|
|
66
|
-
export type { MultipleSelection, NoneSelection, SelectionProps, SingleSelection, TableSelection,
|
|
66
|
+
export type { MultipleSelection, NoneSelection, SelectedKeysT, SelectionProps, SingleSelection, TableSelection, };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TableRowEntryId } from "../../root/DataTable.types";
|
|
2
|
+
import type { ItemDetail } from "../collectTableRowEntries";
|
|
3
|
+
import type { SelectionProps } from "./selection.types";
|
|
4
|
+
declare function canSelectTableRow<T>(enableRowSelection: SelectionProps<T>["enableRowSelection"], args: {
|
|
5
|
+
row: T;
|
|
6
|
+
id: TableRowEntryId;
|
|
7
|
+
}): boolean;
|
|
8
|
+
type MutateRowSelectionArgs<T> = {
|
|
9
|
+
selectedRowIds: Set<TableRowEntryId>;
|
|
10
|
+
rowId: TableRowEntryId;
|
|
11
|
+
checked: boolean;
|
|
12
|
+
childRowIdsById: Map<TableRowEntryId, TableRowEntryId[]>;
|
|
13
|
+
itemDetails: Map<TableRowEntryId, ItemDetail<T>>;
|
|
14
|
+
enableRowSelection?: SelectionProps<T>["enableRowSelection"];
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Traverses the row and its children and updates selected-state directly on given selectedRowIds set.
|
|
18
|
+
* Returns true if any changes were made to the set, false otherwise.
|
|
19
|
+
*/
|
|
20
|
+
declare function mutateRowSelection<T>({ selectedRowIds, rowId, checked, childRowIdsById, itemDetails, enableRowSelection, }: MutateRowSelectionArgs<T>): boolean;
|
|
21
|
+
export { canSelectTableRow, mutateRowSelection };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.canSelectTableRow = canSelectTableRow;
|
|
4
|
+
exports.mutateRowSelection = mutateRowSelection;
|
|
5
|
+
function canSelectTableRow(enableRowSelection, args) {
|
|
6
|
+
if (typeof enableRowSelection === "function") {
|
|
7
|
+
return enableRowSelection(args);
|
|
8
|
+
}
|
|
9
|
+
return enableRowSelection !== null && enableRowSelection !== void 0 ? enableRowSelection : true;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Traverses the row and its children and updates selected-state directly on given selectedRowIds set.
|
|
13
|
+
* Returns true if any changes were made to the set, false otherwise.
|
|
14
|
+
*/
|
|
15
|
+
function mutateRowSelection({ selectedRowIds, rowId, checked, childRowIdsById, itemDetails, enableRowSelection, }) {
|
|
16
|
+
let changed = false;
|
|
17
|
+
const item = itemDetails.get(rowId);
|
|
18
|
+
if (item &&
|
|
19
|
+
canSelectTableRow(enableRowSelection, { row: item.rowData, id: rowId })) {
|
|
20
|
+
if (checked && !selectedRowIds.has(rowId)) {
|
|
21
|
+
selectedRowIds.add(rowId);
|
|
22
|
+
changed = true;
|
|
23
|
+
}
|
|
24
|
+
else if (!checked && selectedRowIds.has(rowId)) {
|
|
25
|
+
selectedRowIds.delete(rowId);
|
|
26
|
+
changed = true;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const children = childRowIdsById.get(rowId);
|
|
30
|
+
if (children) {
|
|
31
|
+
for (const childId of children) {
|
|
32
|
+
if (mutateRowSelection({
|
|
33
|
+
selectedRowIds,
|
|
34
|
+
rowId: childId,
|
|
35
|
+
checked,
|
|
36
|
+
childRowIdsById,
|
|
37
|
+
itemDetails,
|
|
38
|
+
enableRowSelection,
|
|
39
|
+
})) {
|
|
40
|
+
changed = true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return changed;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=selection.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.utils.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/selection.utils.ts"],"names":[],"mappings":";;AAwES,8CAAiB;AAAE,gDAAkB;AApE9C,SAAS,iBAAiB,CACxB,kBAA2D,EAC3D,IAAqC;IAErC,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE,CAAC;QAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,IAAI,CAAC;AACpC,CAAC;AAWD;;;GAGG;AACH,SAAS,kBAAkB,CAAI,EAC7B,cAAc,EACd,KAAK,EACL,OAAO,EACP,eAAe,EACf,WAAW,EACX,kBAAkB,GACQ;IAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEpC,IACE,IAAI;QACJ,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EACvE,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IACE,kBAAkB,CAAC;gBACjB,cAAc;gBACd,KAAK,EAAE,OAAO;gBACd,OAAO;gBACP,eAAe;gBACf,WAAW;gBACX,kBAAkB;aACnB,CAAC,EACF,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -24,9 +24,6 @@ declare function isDisabledElement(el: HTMLElement): boolean;
|
|
|
24
24
|
* Returns null if no focusable target found.
|
|
25
25
|
*/
|
|
26
26
|
declare function prepareCellFocus(cell: Element): HTMLElement | null;
|
|
27
|
-
/**
|
|
28
|
-
* Applies focus and scroll to an element.
|
|
29
|
-
*/
|
|
30
27
|
declare function applyFocusAndScroll(element: HTMLElement): void;
|
|
31
28
|
/**
|
|
32
29
|
* Focuses a cell by finding its focusable target and applying focus with scroll.
|