@elliemae/ds-data-table 3.2.1-rc.3 → 3.2.1-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/DataTable.js +1 -15
- package/dist/cjs/DataTable.js.map +1 -1
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +5 -17
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +1 -1
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +1 -18
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +1 -1
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +6 -21
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +1 -1
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +6 -21
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +1 -1
- package/dist/cjs/addons/Pagination/Pagination.js +3 -19
- package/dist/cjs/addons/Pagination/Pagination.js.map +1 -1
- package/dist/cjs/configs/useDatatableConfig.js +4 -17
- package/dist/cjs/configs/useDatatableConfig.js.map +1 -1
- package/dist/cjs/configs/useInternalStateConfig.js +2 -16
- package/dist/cjs/configs/useInternalStateConfig.js.map +1 -1
- package/dist/cjs/configs/useTableColsWithAddons.js +4 -21
- package/dist/cjs/configs/useTableColsWithAddons.js.map +1 -1
- package/dist/cjs/exported-related/FilterPopover.js +3 -19
- package/dist/cjs/exported-related/FilterPopover.js.map +1 -1
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +4 -21
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +1 -1
- package/dist/cjs/exported-related/RowRenderer/index.js +11 -24
- package/dist/cjs/exported-related/RowRenderer/index.js.map +1 -1
- package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js +4 -17
- package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
- package/dist/cjs/parts/Cells/Cell.js +20 -26
- package/dist/cjs/parts/Cells/Cell.js.map +1 -1
- package/dist/cjs/parts/DnDHandle.js +7 -21
- package/dist/cjs/parts/DnDHandle.js.map +1 -1
- package/dist/cjs/parts/Filters/index.js +9 -21
- package/dist/cjs/parts/Filters/index.js.map +1 -1
- package/dist/cjs/parts/Headers/HeaderCell.js +4 -21
- package/dist/cjs/parts/Headers/HeaderCell.js.map +1 -1
- package/dist/cjs/parts/Headers/HeaderResizer.js +1 -15
- package/dist/cjs/parts/Headers/HeaderResizer.js.map +1 -1
- package/dist/cjs/parts/Headers/useHeaderCellHandlers.js +3 -20
- package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +1 -1
- package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +9 -17
- package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +1 -1
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +11 -17
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
- package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js +6 -16
- package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +6 -20
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +1 -1
- package/dist/cjs/parts/HoC/withDnDSortableRowContext.js +6 -20
- package/dist/cjs/parts/HoC/withDnDSortableRowContext.js.map +1 -1
- package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js +3 -19
- package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js.map +1 -1
- package/dist/cjs/parts/RowVariants/index.js +11 -21
- package/dist/cjs/parts/RowVariants/index.js.map +1 -1
- package/dist/cjs/parts/Rows.js +3 -15
- package/dist/cjs/parts/Rows.js.map +1 -1
- package/dist/cjs/parts/SortableHeaderCell.js +12 -46
- package/dist/cjs/parts/SortableHeaderCell.js.map +1 -1
- package/dist/cjs/parts/TableContent.js +3 -19
- package/dist/cjs/parts/TableContent.js.map +1 -1
- package/dist/cjs/parts/VirtualRowsList.js +1 -1
- package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
- package/dist/esm/DataTable.js +1 -17
- package/dist/esm/DataTable.js.map +1 -1
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +5 -19
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +1 -1
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +1 -20
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +1 -1
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +6 -23
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +1 -1
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +6 -23
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +1 -1
- package/dist/esm/addons/Pagination/Pagination.js +3 -21
- package/dist/esm/addons/Pagination/Pagination.js.map +1 -1
- package/dist/esm/configs/useDatatableConfig.js +4 -19
- package/dist/esm/configs/useDatatableConfig.js.map +1 -1
- package/dist/esm/configs/useInternalStateConfig.js +2 -18
- package/dist/esm/configs/useInternalStateConfig.js.map +1 -1
- package/dist/esm/configs/useTableColsWithAddons.js +4 -23
- package/dist/esm/configs/useTableColsWithAddons.js.map +1 -1
- package/dist/esm/exported-related/FilterPopover.js +3 -21
- package/dist/esm/exported-related/FilterPopover.js.map +1 -1
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +4 -23
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +1 -1
- package/dist/esm/exported-related/RowRenderer/index.js +11 -26
- package/dist/esm/exported-related/RowRenderer/index.js.map +1 -1
- package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js +4 -19
- package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
- package/dist/esm/parts/Cells/Cell.js +20 -28
- package/dist/esm/parts/Cells/Cell.js.map +1 -1
- package/dist/esm/parts/DnDHandle.js +7 -23
- package/dist/esm/parts/DnDHandle.js.map +1 -1
- package/dist/esm/parts/Filters/index.js +9 -23
- package/dist/esm/parts/Filters/index.js.map +1 -1
- package/dist/esm/parts/Headers/HeaderCell.js +4 -23
- package/dist/esm/parts/Headers/HeaderCell.js.map +1 -1
- package/dist/esm/parts/Headers/HeaderResizer.js +1 -17
- package/dist/esm/parts/Headers/HeaderResizer.js.map +1 -1
- package/dist/esm/parts/Headers/useHeaderCellHandlers.js +3 -22
- package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +1 -1
- package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +9 -19
- package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +1 -1
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +11 -19
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
- package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js +6 -18
- package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +6 -22
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +1 -1
- package/dist/esm/parts/HoC/withDnDSortableRowContext.js +6 -22
- package/dist/esm/parts/HoC/withDnDSortableRowContext.js.map +1 -1
- package/dist/esm/parts/RowVariants/RowVariantSkeleton.js +3 -21
- package/dist/esm/parts/RowVariants/RowVariantSkeleton.js.map +1 -1
- package/dist/esm/parts/RowVariants/index.js +11 -23
- package/dist/esm/parts/RowVariants/index.js.map +1 -1
- package/dist/esm/parts/Rows.js +3 -17
- package/dist/esm/parts/Rows.js.map +1 -1
- package/dist/esm/parts/SortableHeaderCell.js +12 -48
- package/dist/esm/parts/SortableHeaderCell.js.map +1 -1
- package/dist/esm/parts/TableContent.js +3 -21
- package/dist/esm/parts/TableContent.js.map +1 -1
- package/dist/esm/parts/VirtualRowsList.js +1 -1
- package/dist/esm/parts/VirtualRowsList.js.map +2 -2
- package/package.json +18 -18
|
@@ -1,23 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
2
|
import * as React from "react";
|
|
22
3
|
import React2, { useContext } from "react";
|
|
23
4
|
import { GripperVertical } from "@elliemae/ds-icons";
|
|
@@ -35,9 +16,12 @@ const DragHandle = ({ id, isReachable, isDragOverlay, innerRef }) => {
|
|
|
35
16
|
const { draggableProps } = useContext(SortableItemContext);
|
|
36
17
|
const isActive = draggableProps && !!draggableProps.active;
|
|
37
18
|
const isDragging = draggableProps && draggableProps.isDragging;
|
|
38
|
-
return /* @__PURE__ */ React2.createElement(StyledGripperButton,
|
|
39
|
-
role: "button"
|
|
40
|
-
|
|
19
|
+
return /* @__PURE__ */ React2.createElement(StyledGripperButton, {
|
|
20
|
+
role: "button",
|
|
21
|
+
...draggableProps && {
|
|
22
|
+
...draggableProps.listeners,
|
|
23
|
+
...draggableProps.attributes
|
|
24
|
+
},
|
|
41
25
|
isActive,
|
|
42
26
|
isDragOverlay,
|
|
43
27
|
ref: innerRef,
|
|
@@ -45,7 +29,7 @@ const DragHandle = ({ id, isReachable, isDragOverlay, innerRef }) => {
|
|
|
45
29
|
"data-testid": DATA_TESTID.DATA_TABLE_DRAG_HANDLE,
|
|
46
30
|
id: `${id}-drag-handle`,
|
|
47
31
|
key: `${id}-drag-handle`
|
|
48
|
-
}
|
|
32
|
+
}, /* @__PURE__ */ React2.createElement(GripperVertical, {
|
|
49
33
|
size: "s",
|
|
50
34
|
color: isDragging ? ["neutral", "500"] : ["brand-primary", "800"]
|
|
51
35
|
}));
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/DnDHandle.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { GripperVertical } from '@elliemae/ds-icons';\nimport { styled } from '@elliemae/ds-system';\nimport { SortableItemContext } from './HoC/SortableItemContext';\nimport { DATA_TESTID } from '../configs/constants';\n\nconst StyledGripperButton = styled.div<{\n isActive: boolean;\n isDragOverlay: boolean;\n}>`\n cursor: ${({ isActive, isDragOverlay }) => (isActive || isDragOverlay ? 'grabbing' : 'grab')};\n outline: none;\n display: flex;\n align-items: center;\n touch-action: none;\n`;\n\nconst DragHandle: React.ComponentType<{\n id: string;\n isReachable: boolean;\n isDragOverlay: boolean;\n innerRef: React.RefObject<HTMLDivElement> | React.RefCallback<HTMLDivElement>;\n}> = ({ id, isReachable, isDragOverlay, innerRef }) => {\n const { draggableProps } = useContext(SortableItemContext);\n const isActive = draggableProps && !!draggableProps.active;\n const isDragging = draggableProps && draggableProps.isDragging;\n\n return (\n <StyledGripperButton\n role=\"button\"\n {...(draggableProps && {\n ...draggableProps.listeners,\n ...draggableProps.attributes,\n })}\n isActive={isActive}\n isDragOverlay={isDragOverlay}\n ref={innerRef}\n tabIndex={isReachable ? 0 : -1}\n data-testid={DATA_TESTID.DATA_TABLE_DRAG_HANDLE}\n id={`${id}-drag-handle`}\n key={`${id}-drag-handle`}\n >\n <GripperVertical size=\"s\" color={isDragging ? ['neutral', '500'] : ['brand-primary', '800']} />\n </StyledGripperButton>\n );\n};\nexport default DragHandle;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";AAAA;ACAA;AACA;AACA;AACA;AACA;AAEA,MAAM,sBAAsB,OAAO;AAAA,YAIvB,CAAC,EAAE,UAAU,oBAAqB,YAAY,gBAAgB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAOvF,MAAM,aAKD,CAAC,EAAE,IAAI,aAAa,eAAe,eAAe;AACrD,QAAM,EAAE,mBAAmB,WAAW,mBAAmB;AACzD,QAAM,WAAW,kBAAkB,CAAC,CAAC,eAAe;AACpD,QAAM,aAAa,kBAAkB,eAAe;AAEpD,SACE,qCAAC;AAAA,IACC,MAAK;AAAA,IACJ,GAAI,kBAAkB;AAAA,MACrB,GAAG,eAAe;AAAA,MAClB,GAAG,eAAe;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,UAAU,cAAc,IAAI;AAAA,IAC5B,eAAa,YAAY;AAAA,IACzB,IAAI,GAAG;AAAA,IACP,KAAK,GAAG;AAAA,KAER,qCAAC;AAAA,IAAgB,MAAK;AAAA,IAAI,OAAO,aAAa,CAAC,WAAW,KAAK,IAAI,CAAC,iBAAiB,KAAK;AAAA,GAAG,CAC/F;AAEJ;AACA,IAAO,oBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,23 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
2
|
import * as React from "react";
|
|
22
3
|
import React2, { useCallback, useContext } from "react";
|
|
23
4
|
import {
|
|
@@ -58,25 +39,30 @@ const FilterMapItem = (props) => {
|
|
|
58
39
|
onFiltersChange(newFilters);
|
|
59
40
|
}
|
|
60
41
|
}, [column.id, filters, onFiltersChange]);
|
|
61
|
-
const filterProps =
|
|
42
|
+
const filterProps = {
|
|
43
|
+
...props,
|
|
62
44
|
filterValue: filterValue?.value,
|
|
63
45
|
onValueChange,
|
|
64
46
|
patchHeader,
|
|
65
47
|
patchHeaderFilterButtonAndMenu
|
|
66
|
-
}
|
|
48
|
+
};
|
|
67
49
|
if (typeof column.filter === "string") {
|
|
68
50
|
if (!(column.filter in FilterMapper)) {
|
|
69
51
|
throw new Error(`column.filter must be a supported out-of-the-box filter in ${column}`);
|
|
70
52
|
}
|
|
71
53
|
const FilterComp = FilterMapper[column.filter];
|
|
72
|
-
return /* @__PURE__ */ React2.createElement(FilterComp,
|
|
54
|
+
return /* @__PURE__ */ React2.createElement(FilterComp, {
|
|
55
|
+
...filterProps
|
|
56
|
+
});
|
|
73
57
|
}
|
|
74
58
|
if (column.Filter) {
|
|
75
59
|
if (typeof column.Filter !== "function") {
|
|
76
60
|
throw new Error(`column.Filter must be a component`);
|
|
77
61
|
}
|
|
78
62
|
const FilterComp = column.Filter;
|
|
79
|
-
return /* @__PURE__ */ React2.createElement(FilterComp,
|
|
63
|
+
return /* @__PURE__ */ React2.createElement(FilterComp, {
|
|
64
|
+
...filterProps
|
|
65
|
+
});
|
|
80
66
|
}
|
|
81
67
|
return null;
|
|
82
68
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Filters/index.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/indent */\nimport React, { useCallback, useContext } from 'react';\nimport {\n DateRangeFilter,\n DateSwitcherFilter,\n NumberRangeFilter,\n MultiSelectFilter,\n SingleSelectFilter,\n SingleDateFilter,\n CurrencyRangeFilter,\n} from '../../addons/Filters';\nimport { FILTER_TYPES } from '../../exported-related';\nimport DataTableContext from '../../DataTableContext';\nimport { FilterProps } from '../../types/props';\n\nconst FilterMapper: Record<string, React.ComponentType<FilterProps>> = {\n [FILTER_TYPES.SELECT]: SingleSelectFilter,\n [FILTER_TYPES.MULTI_SELECT]: MultiSelectFilter,\n [FILTER_TYPES.SINGLE_DATE]: SingleDateFilter,\n [FILTER_TYPES.DATE_RANGE]: DateRangeFilter,\n [FILTER_TYPES.DATE_SWITCHER]: DateSwitcherFilter,\n [FILTER_TYPES.NUMBER_RANGE]: NumberRangeFilter,\n [FILTER_TYPES.CURRENCY_RANGE]: CurrencyRangeFilter,\n};\nexport const FilterMapItem: React.ComponentType<\n Omit<FilterProps, 'patchHeaderFilterButtonAndMenu' | 'patchHeader' | 'onValueChange'>\n> = (props) => {\n const { column, filterValue: filters, onFiltersChange } = props;\n\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\n\n const filterValue = filters.find((filter) => filter.id === column.id);\n\n const onValueChange = useCallback(\n (type: string, newValue: any) => {\n const filterIndex = filters.findIndex((filter) => filter.id === column.id);\n if (newValue === undefined) {\n const newFilters = filters.filter((filter) => filter.id !== column.id);\n onFiltersChange(newFilters);\n } else if (filterIndex === -1) {\n onFiltersChange([...filters, { id: column.id, type, value: newValue }]);\n } else {\n const newFilters = [...filters];\n newFilters[filterIndex].type = type;\n newFilters[filterIndex].value = newValue;\n onFiltersChange(newFilters);\n }\n },\n [column.id, filters, onFiltersChange],\n );\n\n const filterProps = {\n ...props,\n filterValue: filterValue?.value,\n onValueChange,\n patchHeader,\n patchHeaderFilterButtonAndMenu,\n };\n\n if (typeof column.filter === 'string') {\n if (!(column.filter in FilterMapper)) {\n throw new Error(`column.filter must be a supported out-of-the-box filter in ${column}`);\n }\n const FilterComp = FilterMapper[column.filter];\n return <FilterComp {...filterProps} />;\n }\n\n if (column.Filter) {\n if (typeof column.Filter !== 'function') {\n throw new Error(`column.Filter must be a component`);\n }\n const FilterComp = column.Filter;\n return <FilterComp {...filterProps} />;\n }\n\n // Column doesn't have any filters\n return null;\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";AAAA;ACCA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA;AACA;AAGA,MAAM,eAAiE;AAAA,EACrE,CAAC,aAAa,SAAS;AAAA,EACvB,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,cAAc;AAAA,EAC5B,CAAC,aAAa,aAAa;AAAA,EAC3B,CAAC,aAAa,gBAAgB;AAAA,EAC9B,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,iBAAiB;AACjC;AACO,MAAM,gBAET,CAAC,UAAU;AACb,QAAM,EAAE,QAAQ,aAAa,SAAS,oBAAoB;AAE1D,QAAM,EAAE,gCAAgC,gBAAgB,WAAW,gBAAgB;AAEnF,QAAM,cAAc,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE;AAEpE,QAAM,gBAAgB,YACpB,CAAC,MAAc,aAAkB;AAC/B,UAAM,cAAc,QAAQ,UAAU,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE;AACzE,QAAI,aAAa,QAAW;AAC1B,YAAM,aAAa,QAAQ,OAAO,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE;AACrE,sBAAgB,UAAU;AAAA,IAC5B,WAAW,gBAAgB,IAAI;AAC7B,sBAAgB,CAAC,GAAG,SAAS,EAAE,IAAI,OAAO,IAAI,MAAM,OAAO,SAAS,CAAC,CAAC;AAAA,IACxE,OAAO;AACL,YAAM,aAAa,CAAC,GAAG,OAAO;AAC9B,iBAAW,aAAa,OAAO;AAC/B,iBAAW,aAAa,QAAQ;AAChC,sBAAgB,UAAU;AAAA,IAC5B;AAAA,EACF,GACA,CAAC,OAAO,IAAI,SAAS,eAAe,CACtC;AAEA,QAAM,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,aAAa,aAAa;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,OAAO,OAAO,WAAW,UAAU;AACrC,QAAI,CAAE,QAAO,UAAU,eAAe;AACpC,YAAM,IAAI,MAAM,8DAA8D,QAAQ;AAAA,IACxF;AACA,UAAM,aAAa,aAAa,OAAO;AACvC,WAAO,qCAAC;AAAA,MAAY,GAAG;AAAA,KAAa;AAAA,EACtC;AAEA,MAAI,OAAO,QAAQ;AACjB,QAAI,OAAO,OAAO,WAAW,YAAY;AACvC,YAAM,IAAI,MAAM,mCAAmC;AAAA,IACrD;AACA,UAAM,aAAa,OAAO;AAC1B,WAAO,qCAAC;AAAA,MAAY,GAAG;AAAA,KAAa;AAAA,EACtC;AAGA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,23 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
2
|
import * as React from "react";
|
|
22
3
|
import React2, { useContext, useMemo, useRef } from "react";
|
|
23
4
|
import { Grid } from "@elliemae/ds-grid";
|
|
@@ -104,9 +85,9 @@ const HeaderCell = (props) => {
|
|
|
104
85
|
filterIconRef,
|
|
105
86
|
headerRef: column.ref
|
|
106
87
|
});
|
|
107
|
-
return /* @__PURE__ */ React2.createElement(StyledHeadTh,
|
|
108
|
-
column
|
|
109
|
-
|
|
88
|
+
return /* @__PURE__ */ React2.createElement(StyledHeadTh, {
|
|
89
|
+
column,
|
|
90
|
+
...handlers,
|
|
110
91
|
role: colSpan === 1 ? "columnheader" : "group",
|
|
111
92
|
colSpan,
|
|
112
93
|
"aria-describedby": `${column.id}-instructions`,
|
|
@@ -118,7 +99,7 @@ const HeaderCell = (props) => {
|
|
|
118
99
|
isDraggingActive: draggableProps && draggableProps.active,
|
|
119
100
|
shouldShowDnD,
|
|
120
101
|
ref: column.ref
|
|
121
|
-
}
|
|
102
|
+
}, /* @__PURE__ */ React2.createElement(Grid, {
|
|
122
103
|
width: "100%",
|
|
123
104
|
cols: hCols
|
|
124
105
|
}, shouldShowDnD && DnDHandleComponent, /* @__PURE__ */ React2.createElement(HeaderCellTitle, {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/HeaderCell.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useContext, useMemo, useRef } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { StyledHeadTh, StyledHeaderRightIconsWrapper, StyledFocusWithin } from '../../styled';\nimport { DataTableContext } from '../../DataTableContext';\nimport { SortByCaret } from '../SortByCaret';\nimport { DnDHandle } from '..';\nimport { SortableItemContext } from '../HoC/SortableItemContext';\nimport { FilterMapItem } from '../Filters';\nimport { HeaderResizer } from './HeaderResizer';\nimport { TypescriptColumn } from '../../types/props';\nimport { useHeaderCellHandlers } from './useHeaderCellHandlers';\nimport { useHeaderCellConfig } from './useHeaderCellConfig';\nimport { useRecoverFocusCol } from '../../hooks/useRecoverFocusCol';\nimport { DATA_TESTID } from '../../configs/constants';\nimport { HeaderCellTitle } from './HeaderCellTitle';\n\nconst buildScreenReaderInstructions = (colSpan: number, draggable: boolean, filterable: boolean, sortable: boolean) => {\n const preffix = colSpan === 1 ? '' : 'Column Group. ';\n if (!draggable && !filterable && !sortable) return preffix;\n\n let message = sortable\n ? 'You can sort the data ascendingly/descendingly by this column. Use the up / down arrows keys to do so'\n : '';\n if (draggable && filterable) {\n message = `This column is draggable and filterable. To enable these interactions press the enter key. ${message}`;\n } else if (draggable || filterable) {\n message = `This column is ${\n draggable ? 'draggable' : 'filterable'\n }. To enable this interaction press the enter key. ${message}`;\n }\n return `${preffix}${message}`;\n};\n\ninterface HeaderCellCompProps {\n column: TypescriptColumn;\n isDragOverlay: boolean;\n colSpan: number;\n}\n\nexport const HeaderCell: React.ComponentType<HeaderCellCompProps> = (props) => {\n const { column, isDragOverlay, colSpan } = props;\n const ctx = useContext(DataTableContext);\n const {\n tableProps: { isResizeable, onColumnSortChange, dragAndDropColumns, onFiltersChange, filters, textWrap },\n flattenedData,\n reduxHeaders,\n patchHeader,\n } = ctx;\n const reduxHeader = useMemo(() => reduxHeaders[column.id], [reduxHeaders, column]);\n const dragHandleRef = useRef<HTMLDivElement>(null);\n const filterIconRef = useRef<HTMLDivElement>(null);\n\n const { draggableProps } = useContext(SortableItemContext);\n\n const { hasFilter, hasDnD, hasSortingCaret, hasRightIcons, shouldShowDnD, hCols, isDragging } = useHeaderCellConfig({\n column,\n dragAndDropColumns,\n draggableProps,\n reduxHeader,\n isDragOverlay,\n });\n\n useRecoverFocusCol(isDragging, dragHandleRef);\n\n const rightIcons = useMemo(() => {\n if (!hasRightIcons) return null;\n return (\n <StyledHeaderRightIconsWrapper>\n <FilterMapItem\n column={column}\n ctx={ctx}\n onFiltersChange={onFiltersChange}\n reduxHeader={reduxHeader}\n filterValue={filters}\n innerRef={filterIconRef}\n />\n {hasSortingCaret && <SortByCaret isSortedDesc={column.isSortedDesc} />}\n </StyledHeaderRightIconsWrapper>\n );\n }, [hasRightIcons, column, ctx, onFiltersChange, reduxHeader, filters, hasSortingCaret]);\n\n const DnDHandleComponent = useMemo(\n () => (\n <Grid mr=\"2px\" alignItems=\"center\" style={{ position: 'relative' }}>\n <StyledFocusWithin hideFocus={isDragging}>\n <DnDHandle\n key={column.id}\n innerRef={dragHandleRef}\n isReachable={reduxHeader?.withTabStops}\n id={column.id}\n isDragOverlay={isDragOverlay}\n />\n </StyledFocusWithin>\n </Grid>\n ),\n [column.id, isDragOverlay, isDragging, reduxHeader?.withTabStops],\n );\n\n const handlers = useHeaderCellHandlers({\n hasFilter,\n patchHeader,\n column,\n reduxHeader,\n hasDnD,\n onColumnSortChange,\n dragHandleRef,\n filterIconRef,\n headerRef: column.ref,\n });\n\n return (\n <StyledHeadTh\n column={column}\n {...handlers}\n role={colSpan === 1 ? 'columnheader' : 'group'}\n colSpan={colSpan}\n aria-describedby={`${column.id}-instructions`}\n // eslint-disable-next-line no-nested-ternary\n aria-sort={hasSortingCaret ? (column.isSortedDesc ? 'descending' : 'ascending') : 'none'}\n data-testid={DATA_TESTID.DATA_TABLE_HEADER}\n isFirstRowGroup={!!flattenedData[0]?.original?.dimsumHeaderValue}\n tabIndex={column.isFocuseable === false ? -1 : 0}\n isDragOverlay={isDragOverlay}\n isDraggingActive={draggableProps && draggableProps.active}\n shouldShowDnD={shouldShowDnD}\n ref={column.ref}\n >\n <Grid width=\"100%\" cols={hCols}>\n {shouldShowDnD && DnDHandleComponent}\n <HeaderCellTitle column={column} ctx={ctx} draggableProps={draggableProps} textWrap={textWrap} />\n {rightIcons}\n {isResizeable && column.canResize !== false && !column.columns && <HeaderResizer column={column} />}\n </Grid>\n <span id={`${column.id}-instructions`} style={{ display: 'none' }} aria-hidden=\"false\">\n {buildScreenReaderInstructions(\n colSpan,\n dragAndDropColumns && column.disableDnD !== true,\n hasFilter,\n column.canSort,\n )}\n </span>\n </StyledHeadTh>\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
6
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
-
var __spreadValues = (a, b) => {
|
|
8
|
-
for (var prop in b || (b = {}))
|
|
9
|
-
if (__hasOwnProp.call(b, prop))
|
|
10
|
-
__defNormalProp(a, prop, b[prop]);
|
|
11
|
-
if (__getOwnPropSymbols)
|
|
12
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
13
|
-
if (__propIsEnum.call(b, prop))
|
|
14
|
-
__defNormalProp(a, prop, b[prop]);
|
|
15
|
-
}
|
|
16
|
-
return a;
|
|
17
|
-
};
|
|
18
2
|
import * as React from "react";
|
|
19
3
|
import React2, { useState, useCallback, useContext, useRef, useEffect, useMemo } from "react";
|
|
20
4
|
import { ColsLayoutStyle } from "../../configs/constants";
|
|
@@ -34,7 +18,7 @@ const HeaderResizer = ({ column }) => {
|
|
|
34
18
|
if (col.columns) {
|
|
35
19
|
return [...acc, ...col.columns];
|
|
36
20
|
}
|
|
37
|
-
return [...acc,
|
|
21
|
+
return [...acc, { ...col }];
|
|
38
22
|
}, []), [visibleColumns]);
|
|
39
23
|
useEffect(() => {
|
|
40
24
|
const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/HeaderResizer.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState, useCallback, useContext, useRef, useEffect, useMemo } from 'react';\nimport { ColsLayoutStyle } from '../../configs/constants';\nimport { DataTableContext } from '../../DataTableContext';\nimport { columnsToGrid } from '../../helpers';\nimport { StyledResizer } from '../../styled';\nimport { TypescriptColumn } from '../../types/props';\n\nconst narrow = (value: number, min: number | undefined, max: number | undefined): number =>\n Math.min(Math.max(value, min ?? 30), max ?? Infinity);\n\nexport const HeaderResizer: React.ComponentType<{\n column: TypescriptColumn;\n}> = ({ column }) => {\n const {\n layoutHelpers: { setGridLayout },\n visibleColumns,\n tableProps: { onColumnResize },\n } = useContext(DataTableContext);\n\n const [isResizing, setIsResizing] = useState(false);\n const [nextWidth, setNextWidth] = useState(column.width ?? 150);\n const visibleColumnsCopy = useMemo(\n () =>\n visibleColumns.reduce((acc, col) => {\n if (col.columns) {\n return [...acc, ...col.columns];\n }\n return [...acc, { ...col }];\n }, [] as TypescriptColumn[]),\n [visibleColumns],\n );\n\n useEffect(() => {\n const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);\n if (realColumnIndex > -1) {\n visibleColumnsCopy[realColumnIndex].width = nextWidth;\n setGridLayout(columnsToGrid(visibleColumnsCopy, ColsLayoutStyle.Fixed));\n }\n }, [column.id, nextWidth, setGridLayout, visibleColumnsCopy]);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const onResizeStart = useCallback(() => {\n setIsResizing(true);\n }, []);\n\n const onResizeHandler = useCallback(\n (e: MouseEvent | TouchEvent) => {\n const delta = ('clientX' in e ? e.clientX : e.touches[0].clientX) - (ref.current?.getBoundingClientRect().x ?? 0); // delta in pixels\n\n const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);\n if (realColumnIndex > -1) {\n const widthWithDelta = narrow(\n nextWidth + delta,\n visibleColumnsCopy[realColumnIndex].minWidth,\n visibleColumnsCopy[realColumnIndex].maxWidth,\n );\n setNextWidth(widthWithDelta);\n }\n // To prevent text selection\n e.preventDefault();\n e.stopPropagation();\n },\n [column.id, nextWidth, visibleColumnsCopy],\n );\n\n const onResizeEnd = useCallback(() => {\n setGridLayout(columnsToGrid(visibleColumnsCopy, ColsLayoutStyle.Fixed));\n setIsResizing(false);\n onColumnResize(column.id, nextWidth);\n }, [onColumnResize, column.id, nextWidth, setGridLayout, visibleColumnsCopy]);\n\n useEffect(() => {\n const debouncedResizeHandler = onResizeHandler;\n const debouncedResizeEnd = onResizeEnd;\n const addEvents = () => {\n document.addEventListener('mousemove', debouncedResizeHandler);\n document.addEventListener('touchmove', debouncedResizeHandler);\n document.addEventListener('mouseup', debouncedResizeEnd);\n document.addEventListener('touchend', debouncedResizeEnd);\n };\n const removeEvents = () => {\n document.removeEventListener('mousemove', debouncedResizeHandler);\n document.removeEventListener('touchmove', debouncedResizeHandler);\n document.removeEventListener('mouseup', debouncedResizeEnd);\n document.removeEventListener('touchend', debouncedResizeEnd);\n };\n\n if (isResizing) addEvents();\n else removeEvents();\n\n // just in case the component is unmounted\n return removeEvents;\n }, [isResizing, onResizeHandler, onResizeEnd]);\n\n return (\n <StyledResizer\n ref={ref}\n role=\"separator\"\n draggable={false}\n isResizing={isResizing}\n onMouseDown={onResizeStart}\n onTouchStart={onResizeStart}\n onMouseUp={onResizeEnd}\n onTouchEnd={onResizeEnd}\n onClick={(e) => e.stopPropagation()}\n />\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,28 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
2
|
import * as React from "react";
|
|
22
3
|
import { useCallback } from "react";
|
|
23
|
-
const buildNextHeader = (reduxHeader, value, hasFilter, hasDnD, withTabStops = false) =>
|
|
24
|
-
hideFilterMenu: true
|
|
25
|
-
|
|
4
|
+
const buildNextHeader = (reduxHeader, value, hasFilter, hasDnD, withTabStops = false) => ({
|
|
5
|
+
hideFilterMenu: true,
|
|
6
|
+
...reduxHeader,
|
|
26
7
|
hideFilterButton: !(hasFilter && value),
|
|
27
8
|
showDnDHandle: hasDnD && value,
|
|
28
9
|
withTabStops
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/useHeaderCellHandlers.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { useCallback } from 'react';\nimport { TypescriptColumn } from '../../types/props';\n\ntype useHeaderCellHandlersType = (args: {\n hasFilter: boolean;\n patchHeader: (headerId: string, newHeader: Record<string, unknown>) => void;\n column: TypescriptColumn;\n reduxHeader: Record<string, unknown>;\n hasDnD: boolean;\n onColumnSortChange: (newSort: { column: string; direction: 'ASC' | 'DESC' }) => void;\n dragHandleRef: React.MutableRefObject<HTMLDivElement>;\n filterIconRef: React.MutableRefObject<HTMLDivElement>;\n headerRef: React.MutableRefObject<HTMLTableColElement>;\n}) => {\n onMouseEnter: React.MouseEventHandler;\n onMouseLeave: React.MouseEventHandler;\n onClick: React.MouseEventHandler;\n onKeyDown: React.KeyboardEventHandler;\n onFocus: React.FocusEventHandler;\n onBlur: React.FocusEventHandler;\n};\n\nconst buildNextHeader = (\n reduxHeader: Record<string, unknown>,\n value: boolean,\n hasFilter: boolean,\n hasDnD: boolean,\n withTabStops = false,\n) => ({\n hideFilterMenu: true, // Do this to overwrite it if it exists\n ...reduxHeader,\n hideFilterButton: !(hasFilter && value),\n showDnDHandle: hasDnD && value,\n withTabStops,\n});\n\nexport const useHeaderCellHandlers: useHeaderCellHandlersType = ({\n hasFilter,\n patchHeader,\n column,\n reduxHeader,\n hasDnD,\n onColumnSortChange,\n dragHandleRef,\n filterIconRef,\n headerRef,\n}) => {\n const onMouseEnter: React.MouseEventHandler = useCallback(() => {\n patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));\n }, [column.id, hasDnD, hasFilter, patchHeader, reduxHeader]);\n\n const onMouseLeave: React.MouseEventHandler = useCallback(() => {\n if (!headerRef?.current?.contains(document.activeElement)) {\n patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));\n }\n }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);\n\n const onClick: React.MouseEventHandler = useCallback(() => {\n if (column.canSort) {\n onColumnSortChange({\n column: column.id,\n direction: column.isSortedDesc ? 'ASC' : 'DESC',\n });\n }\n }, [column.canSort, column.id, column.isSortedDesc, onColumnSortChange]);\n\n const onKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n if (e.code === 'ArrowDown' && column.canSort) {\n e.preventDefault();\n onColumnSortChange({\n column: column.id,\n direction: 'DESC',\n });\n } else if (e.code === 'ArrowUp' && column.canSort) {\n e.preventDefault();\n onColumnSortChange({\n column: column.id,\n direction: 'ASC',\n });\n } else if (['Enter', 'Space'].includes(e.code)) {\n patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD, true));\n // Elements don't not yet exist\n setTimeout(() => {\n if (dragHandleRef.current) dragHandleRef.current.focus();\n else if (filterIconRef.current) filterIconRef.current.focus();\n });\n }\n },\n [\n column.canSort,\n column.id,\n onColumnSortChange,\n patchHeader,\n reduxHeader,\n hasFilter,\n hasDnD,\n dragHandleRef,\n filterIconRef,\n ],\n );\n\n const onFocus: React.FocusEventHandler = useCallback(\n (e) => {\n // Don't do anything if focus wasn't placed in the element (bubling issues)\n if (e.target === headerRef?.current) {\n patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));\n }\n },\n [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader],\n );\n\n const onBlur: React.FocusEventHandler = useCallback(\n (e) => {\n // Don't do anything if blur was caused by going to a child\n if (e.relatedTarget === dragHandleRef.current) return;\n if (e.relatedTarget === filterIconRef.current) return;\n patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));\n },\n [dragHandleRef, filterIconRef, patchHeader, column.id, reduxHeader, hasFilter, hasDnD],\n );\n\n return { onMouseEnter, onMouseLeave, onClick, onKeyDown, onBlur, onFocus };\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";AAAA;ACCA;AAsBA,MAAM,kBAAkB,CACtB,aACA,OACA,WACA,QACA,eAAe,UACX;AAAA,EACJ,gBAAgB;AAAA,EAChB,GAAG;AAAA,EACH,kBAAkB,CAAE,cAAa;AAAA,EACjC,eAAe,UAAU;AAAA,EACzB;AACF;AAEO,MAAM,wBAAmD,CAAC;AAAA,EAC/D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACI;AACJ,QAAM,eAAwC,YAAY,MAAM;AAC9D,gBAAY,OAAO,IAAI,gBAAgB,aAAa,MAAM,WAAW,MAAM,CAAC;AAAA,EAC9E,GAAG,CAAC,OAAO,IAAI,QAAQ,WAAW,aAAa,WAAW,CAAC;AAE3D,QAAM,eAAwC,YAAY,MAAM;AAC9D,QAAI,CAAC,WAAW,SAAS,SAAS,SAAS,aAAa,GAAG;AACzD,kBAAY,OAAO,IAAI,gBAAgB,aAAa,OAAO,WAAW,MAAM,CAAC;AAAA,IAC/E;AAAA,EACF,GAAG,CAAC,OAAO,IAAI,QAAQ,WAAW,WAAW,aAAa,WAAW,CAAC;AAEtE,QAAM,UAAmC,YAAY,MAAM;AACzD,QAAI,OAAO,SAAS;AAClB,yBAAmB;AAAA,QACjB,QAAQ,OAAO;AAAA,QACf,WAAW,OAAO,eAAe,QAAQ;AAAA,MAC3C,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,OAAO,SAAS,OAAO,IAAI,OAAO,cAAc,kBAAkB,CAAC;AAEvE,QAAM,YAAwC,YAC5C,CAAC,MAAM;AACL,QAAI,EAAE,SAAS,eAAe,OAAO,SAAS;AAC5C,QAAE,eAAe;AACjB,yBAAmB;AAAA,QACjB,QAAQ,OAAO;AAAA,QACf,WAAW;AAAA,MACb,CAAC;AAAA,IACH,WAAW,EAAE,SAAS,aAAa,OAAO,SAAS;AACjD,QAAE,eAAe;AACjB,yBAAmB;AAAA,QACjB,QAAQ,OAAO;AAAA,QACf,WAAW;AAAA,MACb,CAAC;AAAA,IACH,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,kBAAY,OAAO,IAAI,gBAAgB,aAAa,MAAM,WAAW,QAAQ,IAAI,CAAC;AAElF,iBAAW,MAAM;AACf,YAAI,cAAc;AAAS,wBAAc,QAAQ,MAAM;AAAA,iBAC9C,cAAc;AAAS,wBAAc,QAAQ,MAAM;AAAA,MAC9D,CAAC;AAAA,IACH;AAAA,EACF,GACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AAEA,QAAM,UAAmC,YACvC,CAAC,MAAM;AAEL,QAAI,EAAE,WAAW,WAAW,SAAS;AACnC,kBAAY,OAAO,IAAI,gBAAgB,aAAa,MAAM,WAAW,MAAM,CAAC;AAAA,IAC9E;AAAA,EACF,GACA,CAAC,OAAO,IAAI,QAAQ,WAAW,WAAW,aAAa,WAAW,CACpE;AAEA,QAAM,SAAkC,YACtC,CAAC,MAAM;AAEL,QAAI,EAAE,kBAAkB,cAAc;AAAS;AAC/C,QAAI,EAAE,kBAAkB,cAAc;AAAS;AAC/C,gBAAY,OAAO,IAAI,gBAAgB,aAAa,OAAO,WAAW,MAAM,CAAC;AAAA,EAC/E,GACA,CAAC,eAAe,eAAe,aAAa,OAAO,IAAI,aAAa,WAAW,MAAM,CACvF;AAEA,SAAO,EAAE,cAAc,cAAc,SAAS,WAAW,QAAQ,QAAQ;AAC3E;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
6
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
-
var __spreadValues = (a, b) => {
|
|
8
|
-
for (var prop in b || (b = {}))
|
|
9
|
-
if (__hasOwnProp.call(b, prop))
|
|
10
|
-
__defNormalProp(a, prop, b[prop]);
|
|
11
|
-
if (__getOwnPropSymbols)
|
|
12
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
13
|
-
if (__propIsEnum.call(b, prop))
|
|
14
|
-
__defNormalProp(a, prop, b[prop]);
|
|
15
|
-
}
|
|
16
|
-
return a;
|
|
17
|
-
};
|
|
18
2
|
import * as React from "react";
|
|
19
3
|
import React2, { createContext, useCallback, useMemo } from "react";
|
|
20
4
|
import { DndContext, DragOverlay } from "@dnd-kit/core";
|
|
@@ -90,13 +74,19 @@ const withConditionalDnDColumnContext = (Component) => (props) => {
|
|
|
90
74
|
onPreviewDragStart
|
|
91
75
|
});
|
|
92
76
|
if (dragAndDropColumns)
|
|
93
|
-
return /* @__PURE__ */ React2.createElement(DndContext,
|
|
77
|
+
return /* @__PURE__ */ React2.createElement(DndContext, {
|
|
78
|
+
...dndContextProps
|
|
79
|
+
}, /* @__PURE__ */ React2.createElement(DnDGroupContext.Provider, {
|
|
94
80
|
value: { activeIndex }
|
|
95
|
-
}, /* @__PURE__ */ React2.createElement(Component,
|
|
81
|
+
}, /* @__PURE__ */ React2.createElement(Component, {
|
|
82
|
+
...props
|
|
83
|
+
})), /* @__PURE__ */ React2.createElement(DragOverlay, null, activeId ? /* @__PURE__ */ React2.createElement(HeaderCellGroup, {
|
|
96
84
|
header: flattenedItems.find(([item]) => item.id === activeId)[1],
|
|
97
85
|
isDragOverlay: true
|
|
98
86
|
}) : null));
|
|
99
|
-
return /* @__PURE__ */ React2.createElement(Component,
|
|
87
|
+
return /* @__PURE__ */ React2.createElement(Component, {
|
|
88
|
+
...props
|
|
89
|
+
});
|
|
100
90
|
};
|
|
101
91
|
export {
|
|
102
92
|
DnDGroupContext,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withConditionalDnDColumnContext.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-underscore-dangle */\n/* eslint-disable max-params */\nimport React, { createContext, useCallback, useMemo } from 'react';\nimport { DndContext, DragOverlay } from '@dnd-kit/core';\nimport { useHierarchyDndkitConfig } from '@elliemae/ds-drag-and-drop';\nimport { arrayMove } from '@dnd-kit/sortable';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DataTableContext } from '../../DataTableContext';\nimport { Item } from '../../helpers/dndkit/hierarchy/types';\nimport { TypescriptColumn } from '../../types/props';\nimport { HeaderCellGroup } from '../internal';\nimport { DATA_TESTID } from '../../configs/constants';\nimport { INTERNAL_COLUMNS } from '../../addons/Columns';\n\ntype DnDGroupContextType = {\n activeIndex: number;\n};\n\nexport const DnDGroupContext = createContext<DnDGroupContextType>({\n activeIndex: undefined,\n});\n\nconst flattenColumns = (cols: TypescriptColumn[]) => {\n const flattened = [];\n const flatten = (col: TypescriptColumn, index, parentId = null) => {\n const { id } = col;\n flattened.push([{ id, parentId, index }, col]);\n if (col.columns)\n col.columns.forEach((subColumn: TypescriptColumn, childIndex: number) => flatten(subColumn, childIndex, id));\n };\n cols.forEach((col, index) => flatten(col, index));\n return flattened;\n};\n\n// only wraps in \"DnDContext\" and \"DnDGroupContext\" if any Drag and Drop functionality is requested\nexport const withConditionalDnDColumnContext: FunctionalHOC = (Component) => (props) => {\n const {\n tableProps: { dragAndDropColumns, onColumnsReorder },\n visibleColumns,\n } = React.useContext(DataTableContext);\n\n const flattenedItems = useMemo(() => flattenColumns(visibleColumns), [visibleColumns]);\n\n const onReorder = useCallback(\n (movedItem: Item, indexes: { targetIndex: number; fromIndex: number }) => {\n // Send from index to target index\n const newFlattenedData = arrayMove(flattenedItems, indexes.fromIndex, indexes.targetIndex);\n // Pull the cols's data into an object\n const nodes = {};\n newFlattenedData.forEach(([dndData, colData]) => {\n delete colData.columns;\n nodes[dndData.id] = colData;\n });\n const newData = [];\n newFlattenedData.forEach(([dndData, colData]) => {\n // Don't send internal columns to the user\n if (INTERNAL_COLUMNS.includes(dndData.id)) {\n return;\n }\n // If row has parent, insert it to it's subrows\n // otherwise append it to the new user data\n if (dndData.parentId) {\n const parentNode = nodes[dndData.parentId];\n if (parentNode.columns) parentNode.columns.push(colData);\n else parentNode.columns = [colData];\n } else newData.push(colData);\n });\n onColumnsReorder(newData, indexes);\n },\n [flattenedItems, onColumnsReorder],\n );\n\n const onPreviewResetState = useCallback(() => {\n const el: HTMLDivElement | null = document.body.querySelector(\n `[data-testid=\"${DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER}\"]`,\n );\n if (el) el.onscroll = () => null;\n }, []);\n\n const onPreviewDragStart = useCallback(() => {\n const el: HTMLDivElement | null = document.body.querySelector(\n `[data-testid=\"${DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER}\"]`,\n );\n if (el) {\n const y = el.scrollTop;\n el.onscroll = () => {\n el.scrollTo({ top: y });\n };\n }\n }, []);\n\n const { dndContextProps, activeId, activeIndex } = useHierarchyDndkitConfig({\n flattenedItems,\n dragOverlayDataTestid: DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY,\n isHorizontalDnD: true,\n onReorder,\n onPreviewResetState,\n onPreviewDragStart,\n });\n\n if (dragAndDropColumns)\n return (\n <DndContext {...dndContextProps}>\n <DnDGroupContext.Provider value={{ activeIndex }}>\n <Component {...props} />\n </DnDGroupContext.Provider>\n <DragOverlay>\n {activeId ? (\n <HeaderCellGroup header={flattenedItems.find(([item]) => item.id === activeId)[1]} isDragOverlay />\n ) : null}\n </DragOverlay>\n </DndContext>\n );\n return <Component {...props} />;\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";AAAA;ACEA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AAMO,MAAM,kBAAkB,cAAmC;AAAA,EAChE,aAAa;AACf,CAAC;AAED,MAAM,iBAAiB,CAAC,SAA6B;AACnD,QAAM,YAAY,CAAC;AACnB,QAAM,UAAU,CAAC,KAAuB,OAAO,WAAW,SAAS;AACjE,UAAM,EAAE,OAAO;AACf,cAAU,KAAK,CAAC,EAAE,IAAI,UAAU,MAAM,GAAG,GAAG,CAAC;AAC7C,QAAI,IAAI;AACN,UAAI,QAAQ,QAAQ,CAAC,WAA6B,eAAuB,QAAQ,WAAW,YAAY,EAAE,CAAC;AAAA,EAC/G;AACA,OAAK,QAAQ,CAAC,KAAK,UAAU,QAAQ,KAAK,KAAK,CAAC;AAChD,SAAO;AACT;AAGO,MAAM,kCAAiD,CAAC,cAAc,CAAC,UAAU;AACtF,QAAM;AAAA,IACJ,YAAY,EAAE,oBAAoB;AAAA,IAClC;AAAA,MACE,OAAM,WAAW,gBAAgB;AAErC,QAAM,iBAAiB,QAAQ,MAAM,eAAe,cAAc,GAAG,CAAC,cAAc,CAAC;AAErF,QAAM,YAAY,YAChB,CAAC,WAAiB,YAAwD;AAExE,UAAM,mBAAmB,UAAU,gBAAgB,QAAQ,WAAW,QAAQ,WAAW;AAEzF,UAAM,QAAQ,CAAC;AACf,qBAAiB,QAAQ,CAAC,CAAC,SAAS,aAAa;AAC/C,aAAO,QAAQ;AACf,YAAM,QAAQ,MAAM;AAAA,IACtB,CAAC;AACD,UAAM,UAAU,CAAC;AACjB,qBAAiB,QAAQ,CAAC,CAAC,SAAS,aAAa;AAE/C,UAAI,iBAAiB,SAAS,QAAQ,EAAE,GAAG;AACzC;AAAA,MACF;AAGA,UAAI,QAAQ,UAAU;AACpB,cAAM,aAAa,MAAM,QAAQ;AACjC,YAAI,WAAW;AAAS,qBAAW,QAAQ,KAAK,OAAO;AAAA;AAClD,qBAAW,UAAU,CAAC,OAAO;AAAA,MACpC;AAAO,gBAAQ,KAAK,OAAO;AAAA,IAC7B,CAAC;AACD,qBAAiB,SAAS,OAAO;AAAA,EACnC,GACA,CAAC,gBAAgB,gBAAgB,CACnC;AAEA,QAAM,sBAAsB,YAAY,MAAM;AAC5C,UAAM,KAA4B,SAAS,KAAK,cAC9C,iBAAiB,YAAY,mCAC/B;AACA,QAAI;AAAI,SAAG,WAAW,MAAM;AAAA,EAC9B,GAAG,CAAC,CAAC;AAEL,QAAM,qBAAqB,YAAY,MAAM;AAC3C,UAAM,KAA4B,SAAS,KAAK,cAC9C,iBAAiB,YAAY,mCAC/B;AACA,QAAI,IAAI;AACN,YAAM,IAAI,GAAG;AACb,SAAG,WAAW,MAAM;AAClB,WAAG,SAAS,EAAE,KAAK,EAAE,CAAC;AAAA,MACxB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,EAAE,iBAAiB,UAAU,gBAAgB,yBAAyB;AAAA,IAC1E;AAAA,IACA,uBAAuB,YAAY;AAAA,IACnC,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,MAAI;AACF,WACE,qCAAC;AAAA,MAAY,GAAG;AAAA,OACd,qCAAC,gBAAgB,UAAhB;AAAA,MAAyB,OAAO,EAAE,YAAY;AAAA,OAC7C,qCAAC;AAAA,MAAW,GAAG;AAAA,KAAO,CACxB,GACA,qCAAC,mBACE,WACC,qCAAC;AAAA,MAAgB,QAAQ,eAAe,KAAK,CAAC,CAAC,UAAU,KAAK,OAAO,QAAQ,EAAE;AAAA,MAAI,eAAa;AAAA,KAAC,IAC/F,IACN,CACF;AAEJ,SAAO,qCAAC;AAAA,IAAW,GAAG;AAAA,GAAO;AAC/B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
6
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
-
var __spreadValues = (a, b) => {
|
|
8
|
-
for (var prop in b || (b = {}))
|
|
9
|
-
if (__hasOwnProp.call(b, prop))
|
|
10
|
-
__defNormalProp(a, prop, b[prop]);
|
|
11
|
-
if (__getOwnPropSymbols)
|
|
12
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
13
|
-
if (__propIsEnum.call(b, prop))
|
|
14
|
-
__defNormalProp(a, prop, b[prop]);
|
|
15
|
-
}
|
|
16
|
-
return a;
|
|
17
|
-
};
|
|
18
2
|
import * as React from "react";
|
|
19
3
|
import React2, { createContext, useCallback } from "react";
|
|
20
4
|
import { DndContext, DragOverlay } from "@dnd-kit/core";
|
|
@@ -69,7 +53,11 @@ const withConditionalDnDRowContext = (Component) => (props) => {
|
|
|
69
53
|
if (lastActiveId !== activeId && activeId)
|
|
70
54
|
setLastActiveId(activeId);
|
|
71
55
|
if (dragAndDropRows)
|
|
72
|
-
return /* @__PURE__ */ React2.createElement(DndContext,
|
|
56
|
+
return /* @__PURE__ */ React2.createElement(DndContext, {
|
|
57
|
+
...dndContextProps
|
|
58
|
+
}, /* @__PURE__ */ React2.createElement(SortableContext, {
|
|
59
|
+
...sortableContextProps
|
|
60
|
+
}, /* @__PURE__ */ React2.createElement(DnDTreeContext.Provider, {
|
|
73
61
|
value: {
|
|
74
62
|
activeIndex,
|
|
75
63
|
depth,
|
|
@@ -78,13 +66,17 @@ const withConditionalDnDRowContext = (Component) => (props) => {
|
|
|
78
66
|
lastActiveId,
|
|
79
67
|
setLastActiveId
|
|
80
68
|
}
|
|
81
|
-
}, /* @__PURE__ */ React2.createElement(Component,
|
|
69
|
+
}, /* @__PURE__ */ React2.createElement(Component, {
|
|
70
|
+
...props
|
|
71
|
+
}))), createPortal(/* @__PURE__ */ React2.createElement(DragOverlay, {
|
|
82
72
|
style: { width: "auto" }
|
|
83
73
|
}, activeId ? /* @__PURE__ */ React2.createElement(Row, {
|
|
84
74
|
row: flattenedData.find((row) => row.uid === activeId),
|
|
85
75
|
isDragOverlay: true
|
|
86
76
|
}) : null), document.body));
|
|
87
|
-
return /* @__PURE__ */ React2.createElement(Component,
|
|
77
|
+
return /* @__PURE__ */ React2.createElement(Component, {
|
|
78
|
+
...props
|
|
79
|
+
});
|
|
88
80
|
};
|
|
89
81
|
export {
|
|
90
82
|
DnDTreeContext,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withConditionalDnDRowContext.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { createContext, useCallback } from 'react';\nimport { DndContext, DragOverlay } from '@dnd-kit/core';\nimport { SortableContext } from '@dnd-kit/sortable';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { useTreeDndkitConfig } from '@elliemae/ds-drag-and-drop';\nimport { Item } from '../../helpers/dndkit/tree/types';\nimport { DropIndicatorPosition } from './SortableItemContext';\nimport { Row } from '../Row';\nimport { createPortal } from 'react-dom';\n\ntype DnDTreeContextType = {\n depth: number;\n activeIndex: number;\n visibleItems: unknown[];\n dropIndicatorPosition: DropIndicatorPosition;\n lastActiveId: string;\n setLastActiveId: React.Dispatch<React.SetStateAction<string>>;\n};\n\nexport const DnDTreeContext = createContext<DnDTreeContextType>({\n depth: undefined,\n activeIndex: undefined,\n visibleItems: undefined,\n dropIndicatorPosition: DropIndicatorPosition.None,\n lastActiveId: undefined,\n setLastActiveId: undefined,\n});\n\n// only wraps in \"DnDContext\" and \"DnDTreeContext\" if any Drag and Drop functionality is requested\nexport const withConditionalDnDRowContext: FunctionalHOC = (Component) => (props) => {\n const {\n tableProps: { dragAndDropRows, isExpandable, onRowsReorder, maxDragAndDropLevel },\n flattenedData,\n allDataFlattened,\n } = React.useContext(DataTableContext);\n\n const [lastActiveId, setLastActiveId] = React.useState<string>(null);\n\n const onReorder = useCallback(\n (newData: Item[], indexes: { targetIndex: number; fromIndex: number }, considerExpanding: string) => {\n // Pull the row's original data into an object\n const nodes = {};\n newData.forEach((row) => {\n delete row.original.subRows;\n nodes[row.uid] = row.original;\n });\n const newUserData = [];\n newData.forEach((row) => {\n // If row has parent, insert it to it's subrows\n // otherwise append it to the new user data\n if (row.parentId) {\n const parentNode = nodes[row.parentId];\n if (parentNode?.subRows) parentNode.subRows.push(row.original);\n else parentNode.subRows = [row.original];\n } else newUserData.push(row.original);\n });\n // Tell the user that the order has change, he can chose to commit it or not\n onRowsReorder(newUserData, indexes, considerExpanding);\n },\n [onRowsReorder],\n );\n\n const { dndContextProps, sortableContextProps, activeId, activeIndex, depth, dropIndicatorPosition, visibleItems } =\n useTreeDndkitConfig({\n flattenedItems: allDataFlattened,\n visibleItems: flattenedData,\n isHorizontalDnD: false,\n isExpandable,\n onReorder,\n maxDragAndDropLevel,\n });\n\n if (lastActiveId !== activeId && activeId) setLastActiveId(activeId);\n\n if (dragAndDropRows)\n return (\n <DndContext {...dndContextProps}>\n <SortableContext {...sortableContextProps}>\n <DnDTreeContext.Provider\n value={{\n activeIndex,\n depth,\n visibleItems,\n dropIndicatorPosition,\n lastActiveId,\n setLastActiveId,\n }}\n >\n <Component {...props} />\n </DnDTreeContext.Provider>\n </SortableContext>\n {createPortal(\n <DragOverlay style={{ width: 'auto' }}>\n {activeId ? <Row row={flattenedData.find((row) => row.uid === activeId)} isDragOverlay /> : null}\n </DragOverlay>,\n document.body,\n )}\n </DndContext>\n );\n return <Component {...props} />;\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";AAAA;ACAA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAWO,MAAM,iBAAiB,cAAkC;AAAA,EAC9D,OAAO;AAAA,EACP,aAAa;AAAA,EACb,cAAc;AAAA,EACd,uBAAuB,sBAAsB;AAAA,EAC7C,cAAc;AAAA,EACd,iBAAiB;AACnB,CAAC;AAGM,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAU;AACnF,QAAM;AAAA,IACJ,YAAY,EAAE,iBAAiB,cAAc,eAAe;AAAA,IAC5D;AAAA,IACA;AAAA,MACE,OAAM,WAAW,gBAAgB;AAErC,QAAM,CAAC,cAAc,mBAAmB,OAAM,SAAiB,IAAI;AAEnE,QAAM,YAAY,YAChB,CAAC,SAAiB,SAAqD,sBAA8B;AAEnG,UAAM,QAAQ,CAAC;AACf,YAAQ,QAAQ,CAAC,QAAQ;AACvB,aAAO,IAAI,SAAS;AACpB,YAAM,IAAI,OAAO,IAAI;AAAA,IACvB,CAAC;AACD,UAAM,cAAc,CAAC;AACrB,YAAQ,QAAQ,CAAC,QAAQ;AAGvB,UAAI,IAAI,UAAU;AAChB,cAAM,aAAa,MAAM,IAAI;AAC7B,YAAI,YAAY;AAAS,qBAAW,QAAQ,KAAK,IAAI,QAAQ;AAAA;AACxD,qBAAW,UAAU,CAAC,IAAI,QAAQ;AAAA,MACzC;AAAO,oBAAY,KAAK,IAAI,QAAQ;AAAA,IACtC,CAAC;AAED,kBAAc,aAAa,SAAS,iBAAiB;AAAA,EACvD,GACA,CAAC,aAAa,CAChB;AAEA,QAAM,EAAE,iBAAiB,sBAAsB,UAAU,aAAa,OAAO,uBAAuB,iBAClG,oBAAoB;AAAA,IAClB,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAEH,MAAI,iBAAiB,YAAY;AAAU,oBAAgB,QAAQ;AAEnE,MAAI;AACF,WACE,qCAAC;AAAA,MAAY,GAAG;AAAA,OACd,qCAAC;AAAA,MAAiB,GAAG;AAAA,OACnB,qCAAC,eAAe,UAAf;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,OAEA,qCAAC;AAAA,MAAW,GAAG;AAAA,KAAO,CACxB,CACF,GACC,aACC,qCAAC;AAAA,MAAY,OAAO,EAAE,OAAO,OAAO;AAAA,OACjC,WAAW,qCAAC;AAAA,MAAI,KAAK,cAAc,KAAK,CAAC,QAAQ,IAAI,QAAQ,QAAQ;AAAA,MAAG,eAAa;AAAA,KAAC,IAAK,IAC9F,GACA,SAAS,IACX,CACF;AAEJ,SAAO,qCAAC;AAAA,IAAW,GAAG;AAAA,GAAO;AAC/B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
6
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
-
var __spreadValues = (a, b) => {
|
|
8
|
-
for (var prop in b || (b = {}))
|
|
9
|
-
if (__hasOwnProp.call(b, prop))
|
|
10
|
-
__defNormalProp(a, prop, b[prop]);
|
|
11
|
-
if (__getOwnPropSymbols)
|
|
12
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
13
|
-
if (__propIsEnum.call(b, prop))
|
|
14
|
-
__defNormalProp(a, prop, b[prop]);
|
|
15
|
-
}
|
|
16
|
-
return a;
|
|
17
|
-
};
|
|
18
2
|
import * as React from "react";
|
|
19
3
|
import { horizontalListSortingStrategy, SortableContext } from "@dnd-kit/sortable";
|
|
20
4
|
import React2, { useContext } from "react";
|
|
@@ -27,8 +11,12 @@ const withConditionalDnDSortableContext = (items, isDragOverlay = false) => (Com
|
|
|
27
11
|
return /* @__PURE__ */ React2.createElement(SortableContext, {
|
|
28
12
|
items: items.map((item) => item.id),
|
|
29
13
|
strategy: horizontalListSortingStrategy
|
|
30
|
-
}, /* @__PURE__ */ React2.createElement(Component,
|
|
31
|
-
|
|
14
|
+
}, /* @__PURE__ */ React2.createElement(Component, {
|
|
15
|
+
...props
|
|
16
|
+
}));
|
|
17
|
+
return /* @__PURE__ */ React2.createElement(Component, {
|
|
18
|
+
...props
|
|
19
|
+
});
|
|
32
20
|
};
|
|
33
21
|
export {
|
|
34
22
|
withConditionalDnDSortableContext
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withConditionalDnDSortableContext.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { horizontalListSortingStrategy, SortableContext } from '@dnd-kit/sortable';\nimport React, { useContext } from 'react';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { TypescriptColumn } from '../../types/props';\n\nexport const withConditionalDnDSortableContext =\n (items: TypescriptColumn[], isDragOverlay = false): FunctionalHOC =>\n (Component) =>\n (props) => {\n const {\n tableProps: { dragAndDropColumns },\n } = useContext(DataTableContext);\n\n // Only add the context if it's not a dragOverlay and dnd for cols was requested\n // It's important that drag overlays DO NOT have any sortable functionality!\n if (!isDragOverlay && dragAndDropColumns)\n return (\n <SortableContext items={items.map((item) => item.id)} strategy={horizontalListSortingStrategy}>\n <Component {...props} />\n </SortableContext>\n );\n\n return <Component {...props} />;\n };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";AAAA;ACAA;AACA;AACA;AAIO,MAAM,oCACX,CAAC,OAA2B,gBAAgB,UAC5C,CAAC,cACD,CAAC,UAAU;AACT,QAAM;AAAA,IACJ,YAAY,EAAE;AAAA,MACZ,WAAW,gBAAgB;AAI/B,MAAI,CAAC,iBAAiB;AACpB,WACE,qCAAC;AAAA,MAAgB,OAAO,MAAM,IAAI,CAAC,SAAS,KAAK,EAAE;AAAA,MAAG,UAAU;AAAA,OAC9D,qCAAC;AAAA,MAAW,GAAG;AAAA,KAAO,CACxB;AAGJ,SAAO,qCAAC;AAAA,IAAW,GAAG;AAAA,GAAO;AAC/B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,23 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
2
|
import * as React from "react";
|
|
22
3
|
import React2, { useContext, useMemo } from "react";
|
|
23
4
|
import { useSortable } from "@dnd-kit/sortable";
|
|
@@ -37,17 +18,20 @@ const withDnDSortableColumnContext = (Component) => (props) => {
|
|
|
37
18
|
if (!dragAndDropColumns)
|
|
38
19
|
return false;
|
|
39
20
|
const { index, overIndex } = useSortableHelpers;
|
|
40
|
-
return
|
|
21
|
+
return {
|
|
22
|
+
...useSortableHelpers,
|
|
41
23
|
shouldShowDropIndicatorPosition: overIndex === index && overIndex !== -1,
|
|
42
24
|
dropIndicatorPosition: index > activeIndex ? DropIndicatorPosition.After : DropIndicatorPosition.Before
|
|
43
|
-
}
|
|
25
|
+
};
|
|
44
26
|
}, [useSortableHelpers, dragAndDropColumns, activeIndex]);
|
|
45
27
|
const ctx = useMemo(() => ({
|
|
46
28
|
draggableProps
|
|
47
29
|
}), [draggableProps]);
|
|
48
30
|
return /* @__PURE__ */ React2.createElement(SortableItemContext.Provider, {
|
|
49
31
|
value: ctx
|
|
50
|
-
}, /* @__PURE__ */ React2.createElement(Component,
|
|
32
|
+
}, /* @__PURE__ */ React2.createElement(Component, {
|
|
33
|
+
...props
|
|
34
|
+
}));
|
|
51
35
|
};
|
|
52
36
|
export {
|
|
53
37
|
withDnDSortableColumnContext
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/HoC/withDnDSortableColumnContext.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { DataTableContext } from '../../DataTableContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DnDGroupContext } from './withConditionalDnDColumnContext';\nimport { SortableItemContext, DropIndicatorPosition, SortableItemContextType } from './SortableItemContext';\n\nexport const withDnDSortableColumnContext: FunctionalHOC = (Component) => (props: any) => {\n const {\n tableProps: { dragAndDropColumns },\n } = useContext(DataTableContext);\n const { activeIndex } = useContext(DnDGroupContext);\n\n // onMount generate unique options, so everyting is only ran once\n const draggableOptions = useMemo(\n () => ({\n id: props.header.id,\n }),\n [props.header.id],\n );\n\n const useSortableHelpers = useSortable(draggableOptions);\n\n // calculate all the \"useSortable\" values as per required\n const draggableProps = useMemo(() => {\n if (!dragAndDropColumns) return false;\n\n const { index, overIndex } = useSortableHelpers;\n\n return {\n ...useSortableHelpers,\n shouldShowDropIndicatorPosition: overIndex === index && overIndex !== -1,\n dropIndicatorPosition: index > activeIndex ? DropIndicatorPosition.After : DropIndicatorPosition.Before,\n };\n }, [useSortableHelpers, dragAndDropColumns, activeIndex]);\n // we use a context so we can easly access information wherever without bubbling down\n // this context is all Memoized so as long as component is not re-mounted,\n // the context won't trigger un-required renders per-se...\n const ctx: SortableItemContextType = useMemo(\n () => ({\n draggableProps,\n }),\n [draggableProps],\n );\n // we always add the context, if draggableProps===false we don't have the DnD enabled.\n return (\n <SortableItemContext.Provider value={ctx}>\n <Component {...props} />\n </SortableItemContext.Provider>\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";AAAA;ACAA;AACA;AACA;AAEA;AACA;AAEO,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAe;AACxF,QAAM;AAAA,IACJ,YAAY,EAAE;AAAA,MACZ,WAAW,gBAAgB;AAC/B,QAAM,EAAE,gBAAgB,WAAW,eAAe;AAGlD,QAAM,mBAAmB,QACvB,MAAO;AAAA,IACL,IAAI,MAAM,OAAO;AAAA,EACnB,IACA,CAAC,MAAM,OAAO,EAAE,CAClB;AAEA,QAAM,qBAAqB,YAAY,gBAAgB;AAGvD,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI,CAAC;AAAoB,aAAO;AAEhC,UAAM,EAAE,OAAO,cAAc;AAE7B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC,cAAc,SAAS,cAAc;AAAA,MACtE,uBAAuB,QAAQ,cAAc,sBAAsB,QAAQ,sBAAsB;AAAA,IACnG;AAAA,EACF,GAAG,CAAC,oBAAoB,oBAAoB,WAAW,CAAC;AAIxD,QAAM,MAA+B,QACnC,MAAO;AAAA,IACL;AAAA,EACF,IACA,CAAC,cAAc,CACjB;AAEA,SACE,qCAAC,oBAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,KACnC,qCAAC;AAAA,IAAW,GAAG;AAAA,GAAO,CACxB;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|