@elliemae/ds-data-table 3.3.1 → 3.4.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/DataTableContext.js +2 -16
- package/dist/cjs/DataTableContext.js.map +2 -2
- package/dist/cjs/DataTableSchema.js +0 -2
- package/dist/cjs/DataTableSchema.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +69 -68
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +32 -35
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +13 -18
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/cjs/addons/Columns/index.js +1 -7
- package/dist/cjs/addons/Columns/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +1 -3
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +1 -3
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +23 -3
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +55 -0
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +7 -0
- package/dist/cjs/addons/Filters/Components/SelectFilter/{utils.js → SingleCreatableFilter.js} +30 -16
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +7 -0
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +0 -1
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/index.js +2 -0
- package/dist/cjs/addons/Filters/Components/index.js.map +2 -2
- package/dist/cjs/configs/useRowFlattenization.js +4 -3
- package/dist/cjs/configs/useRowFlattenization.js.map +2 -2
- package/dist/cjs/configs/useTableColsWithAddons.js +18 -6
- package/dist/cjs/configs/useTableColsWithAddons.js.map +2 -2
- package/dist/cjs/exported-related/FilterTypes.js +2 -0
- package/dist/cjs/exported-related/FilterTypes.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +2 -2
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/useRowStyle.js.map +2 -2
- package/dist/cjs/helpers/addCellData.js +7 -3
- package/dist/cjs/helpers/addCellData.js.map +2 -2
- package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js.map +2 -2
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/parts/DropIndicator.js +11 -11
- package/dist/cjs/parts/DropIndicator.js.map +2 -2
- package/dist/cjs/parts/Filters/index.js +2 -0
- package/dist/cjs/parts/Filters/index.js.map +2 -2
- package/dist/cjs/parts/HoC/SortableItemContext.js +0 -8
- package/dist/cjs/parts/HoC/SortableItemContext.js.map +2 -2
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +2 -2
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +2 -1
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
- package/dist/cjs/parts/RowVariants/types.js.map +1 -1
- package/dist/cjs/types/props.js +14 -0
- package/dist/cjs/types/props.js.map +2 -2
- package/dist/esm/DataTableContext.js +2 -16
- package/dist/esm/DataTableContext.js.map +2 -2
- package/dist/esm/DataTableSchema.js +0 -2
- package/dist/esm/DataTableSchema.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +69 -68
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +32 -35
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +14 -19
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/esm/addons/Columns/index.js +1 -7
- package/dist/esm/addons/Columns/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +2 -4
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +2 -4
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +24 -4
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +32 -0
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +7 -0
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +31 -0
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +7 -0
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +0 -1
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/index.js +2 -0
- package/dist/esm/addons/Filters/Components/index.js.map +2 -2
- package/dist/esm/configs/useRowFlattenization.js +4 -3
- package/dist/esm/configs/useRowFlattenization.js.map +2 -2
- package/dist/esm/configs/useTableColsWithAddons.js +18 -6
- package/dist/esm/configs/useTableColsWithAddons.js.map +2 -2
- package/dist/esm/exported-related/FilterTypes.js +2 -0
- package/dist/esm/exported-related/FilterTypes.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +1 -1
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/useRowStyle.js.map +1 -1
- package/dist/esm/helpers/addCellData.js +7 -3
- package/dist/esm/helpers/addCellData.js.map +2 -2
- package/dist/esm/helpers/getIdFromUniqueRowAccessor.js.map +2 -2
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/parts/DropIndicator.js +1 -1
- package/dist/esm/parts/DropIndicator.js.map +1 -1
- package/dist/esm/parts/Filters/index.js +5 -1
- package/dist/esm/parts/Filters/index.js.map +2 -2
- package/dist/esm/parts/HoC/SortableItemContext.js +0 -8
- package/dist/esm/parts/HoC/SortableItemContext.js.map +2 -2
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +1 -1
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +2 -1
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
- package/dist/esm/types/props.js +10 -0
- package/dist/esm/types/props.js.map +3 -3
- package/package.json +18 -18
- package/dist/cjs/addons/Filters/Components/SelectFilter/components.js +0 -80
- package/dist/cjs/addons/Filters/Components/SelectFilter/components.js.map +0 -7
- package/dist/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +0 -86
- package/dist/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +0 -7
- package/dist/cjs/addons/Filters/Components/SelectFilter/utils.js.map +0 -7
- package/dist/esm/addons/Filters/Components/SelectFilter/components.js +0 -57
- package/dist/esm/addons/Filters/Components/SelectFilter/components.js.map +0 -7
- package/dist/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +0 -63
- package/dist/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +0 -7
- package/dist/esm/addons/Filters/Components/SelectFilter/utils.js +0 -17
- package/dist/esm/addons/Filters/Components/SelectFilter/utils.js.map +0 -7
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import React2, { useMemo, useCallback } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { DSControlledCheckbox } from "@elliemae/ds-controlled-form";
|
|
4
4
|
import { DATA_TESTID } from "../../../configs/constants";
|
|
5
|
+
const stopThePropagation = (e) => e.stopPropagation();
|
|
5
6
|
const multiSelectColumn = {
|
|
6
7
|
id: "multiSelecter",
|
|
7
8
|
Header: ({ ctx }) => {
|
|
@@ -9,64 +10,60 @@ const multiSelectColumn = {
|
|
|
9
10
|
tableProps: { onSelectionChange, selection, data, disabledRows },
|
|
10
11
|
allDataFlattened
|
|
11
12
|
} = ctx;
|
|
12
|
-
const
|
|
13
|
+
const dtSelection = selection ?? {};
|
|
14
|
+
const selectionKeyCount = Object.keys(dtSelection).length;
|
|
13
15
|
const currentGlobalState = useMemo(() => selectionKeyCount > 0 && selectionKeyCount < data.length ? "mixed" : selectionKeyCount > 0, [selectionKeyCount, data]);
|
|
14
|
-
const newGlobalStateAfterToggle = useMemo(() =>
|
|
15
|
-
let newState = false;
|
|
16
|
-
if (currentGlobalState === false || currentGlobalState === "mixed")
|
|
17
|
-
newState = true;
|
|
18
|
-
return newState;
|
|
19
|
-
}, [currentGlobalState]);
|
|
16
|
+
const newGlobalStateAfterToggle = useMemo(() => currentGlobalState !== true, [currentGlobalState]);
|
|
20
17
|
const newSelection = useMemo(() => {
|
|
21
|
-
if (newGlobalStateAfterToggle)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
return {};
|
|
18
|
+
if (!newGlobalStateAfterToggle)
|
|
19
|
+
return {};
|
|
20
|
+
return allDataFlattened.reduce((newSelectionObject, datum) => {
|
|
21
|
+
newSelectionObject[datum.uid] = !disabledRows[datum.uid];
|
|
22
|
+
return newSelectionObject;
|
|
23
|
+
}, {});
|
|
29
24
|
}, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);
|
|
30
25
|
const onChangeHandler = useCallback((e) => {
|
|
31
26
|
onSelectionChange(newSelection, "All", e);
|
|
32
27
|
}, [newSelection, onSelectionChange]);
|
|
33
|
-
const
|
|
28
|
+
const ariaControls = useMemo(() => allDataFlattened.map((datum) => `data-table-checkbox-${datum.uid}`).join(" "), [allDataFlattened]);
|
|
29
|
+
return /* @__PURE__ */ React2.createElement(DSControlledCheckbox, {
|
|
30
|
+
"aria-controls": ariaControls,
|
|
34
31
|
"data-testid": DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX,
|
|
35
|
-
|
|
32
|
+
"aria-label": "Toggle all rows selected",
|
|
36
33
|
checked: currentGlobalState,
|
|
37
34
|
onChange: onChangeHandler,
|
|
38
|
-
tabIndex: "0",
|
|
39
35
|
style: { cursor: "pointer" }
|
|
40
|
-
})
|
|
41
|
-
return PureHeaderCheckbox;
|
|
36
|
+
});
|
|
42
37
|
},
|
|
43
38
|
Cell: ({ cell, row, isRowSelected, ctx }) => {
|
|
44
39
|
const {
|
|
45
40
|
tableProps: { onSelectionChange, selection, disabledRows }
|
|
46
41
|
} = ctx;
|
|
47
42
|
const { uid } = row;
|
|
48
|
-
const selectedState = selection?.[uid];
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
const selectedState = selection?.[uid] ?? false;
|
|
44
|
+
const onChangeHandler = useCallback((e) => {
|
|
45
|
+
const newState = !selectedState;
|
|
46
|
+
const newSelection = { ...selection, [uid]: newState };
|
|
47
|
+
if (!newState)
|
|
48
|
+
delete newSelection[uid];
|
|
49
|
+
onSelectionChange(newSelection, uid, e);
|
|
50
|
+
}, [onSelectionChange, selectedState, selection, uid]);
|
|
51
|
+
return /* @__PURE__ */ React2.createElement("div", {
|
|
52
|
+
role: "presentation",
|
|
53
|
+
onClick: stopThePropagation
|
|
54
|
+
}, /* @__PURE__ */ React2.createElement(DSControlledCheckbox, {
|
|
55
|
+
id: `data-table-checkbox-${uid}`,
|
|
52
56
|
"data-testid": DATA_TESTID.DATA_TABLE_CHECKBOX,
|
|
53
|
-
|
|
57
|
+
"aria-label": "Toggle row selected",
|
|
54
58
|
"aria-checked": selectedState,
|
|
55
59
|
"aria-disabled": false,
|
|
56
60
|
checked: selectedState,
|
|
57
|
-
onChange:
|
|
58
|
-
const newState = !selectedState;
|
|
59
|
-
const newSelection = { ...selection, [uid]: newState };
|
|
60
|
-
if (!newState)
|
|
61
|
-
delete newSelection[uid];
|
|
62
|
-
onSelectionChange(newSelection, uid, e);
|
|
63
|
-
},
|
|
61
|
+
onChange: onChangeHandler,
|
|
64
62
|
disabled: disabledRows[row.uid],
|
|
65
63
|
innerRef: cell.ref,
|
|
66
64
|
tabIndex: isRowSelected ? 0 : -1,
|
|
67
65
|
style: { cursor: "pointer" }
|
|
68
|
-
}))
|
|
69
|
-
return PureCheckboxCell;
|
|
66
|
+
}));
|
|
70
67
|
},
|
|
71
68
|
textWrap: "wrap",
|
|
72
69
|
width: 32,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo, useCallback } from 'react';\nimport {
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AAEA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo, useCallback } from 'react';\nimport { DSControlledCheckbox } from '@elliemae/ds-controlled-form';\nimport { TypescriptColumn, TypescriptSelection } from '../../../types/props';\nimport { DATA_TESTID } from '../../../configs/constants';\n\nconst stopThePropagation = (e: React.MouseEvent) => e.stopPropagation();\n\nexport const multiSelectColumn: TypescriptColumn<HTMLInputElement> = {\n // Build our multiSelecter column\n id: 'multiSelecter', // Make sure it has an ID\n Header: ({ ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, data, disabledRows },\n allDataFlattened,\n } = ctx;\n\n // We for sure have selection, so we just typecast it for TS reasons\n const dtSelection = selection ?? {};\n\n const selectionKeyCount = Object.keys(dtSelection).length;\n\n const currentGlobalState = useMemo(\n () => (selectionKeyCount > 0 && selectionKeyCount < data.length ? 'mixed' : selectionKeyCount > 0),\n [selectionKeyCount, data],\n );\n\n // global state toggling: false to true, mixed to true, true to false\n const newGlobalStateAfterToggle = useMemo(() => currentGlobalState !== true, [currentGlobalState]);\n\n const newSelection: TypescriptSelection = useMemo(() => {\n if (!newGlobalStateAfterToggle) return {};\n\n return allDataFlattened.reduce<TypescriptSelection>((newSelectionObject, datum) => {\n newSelectionObject[datum.uid] = !disabledRows[datum.uid];\n return newSelectionObject;\n }, {});\n }, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);\n\n const onChangeHandler = useCallback(\n (e: React.ChangeEvent) => {\n onSelectionChange(newSelection, 'All', e);\n },\n [newSelection, onSelectionChange],\n );\n\n const ariaControls = useMemo(\n () => allDataFlattened.map((datum) => `data-table-checkbox-${datum.uid}`).join(' '),\n [allDataFlattened],\n );\n\n return (\n <DSControlledCheckbox\n aria-controls={ariaControls}\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX}\n aria-label=\"Toggle all rows selected\"\n checked={currentGlobalState}\n onChange={onChangeHandler}\n style={{ cursor: 'pointer' }}\n />\n );\n },\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = selection?.[uid] ?? false;\n\n const onChangeHandler = useCallback(\n (e: React.ChangeEvent) => {\n const newState = !selectedState;\n const newSelection = { ...selection, [uid]: newState }; // we only want true and mixed values\n if (!newState) delete newSelection[uid]; // if newState is false, remove from the new selection\n onSelectionChange(newSelection, uid, e);\n },\n [onSelectionChange, selectedState, selection, uid],\n );\n\n return (\n <div role=\"presentation\" onClick={stopThePropagation}>\n <DSControlledCheckbox\n id={`data-table-checkbox-${uid}`}\n data-testid={DATA_TESTID.DATA_TABLE_CHECKBOX}\n aria-label=\"Toggle row selected\"\n aria-checked={selectedState}\n aria-disabled={false}\n checked={selectedState}\n onChange={onChangeHandler}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n tabIndex={isRowSelected ? 0 : -1}\n style={{ cursor: 'pointer' }}\n />\n </div>\n );\n },\n textWrap: 'wrap',\n width: 32,\n padding: 7,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AAEA;AAEA,MAAM,qBAAqB,CAAC,MAAwB,EAAE,gBAAgB;AAE/D,MAAM,oBAAwD;AAAA,EAEnE,IAAI;AAAA,EACJ,QAAQ,CAAC,EAAE,UAAU;AACnB,UAAM;AAAA,MACJ,YAAY,EAAE,mBAAmB,WAAW,MAAM;AAAA,MAClD;AAAA,QACE;AAGJ,UAAM,cAAc,aAAa,CAAC;AAElC,UAAM,oBAAoB,OAAO,KAAK,WAAW,EAAE;AAEnD,UAAM,qBAAqB,QACzB,MAAO,oBAAoB,KAAK,oBAAoB,KAAK,SAAS,UAAU,oBAAoB,GAChG,CAAC,mBAAmB,IAAI,CAC1B;AAGA,UAAM,4BAA4B,QAAQ,MAAM,uBAAuB,MAAM,CAAC,kBAAkB,CAAC;AAEjG,UAAM,eAAoC,QAAQ,MAAM;AACtD,UAAI,CAAC;AAA2B,eAAO,CAAC;AAExC,aAAO,iBAAiB,OAA4B,CAAC,oBAAoB,UAAU;AACjF,2BAAmB,MAAM,OAAO,CAAC,aAAa,MAAM;AACpD,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,IACP,GAAG,CAAC,2BAA2B,kBAAkB,YAAY,CAAC;AAE9D,UAAM,kBAAkB,YACtB,CAAC,MAAyB;AACxB,wBAAkB,cAAc,OAAO,CAAC;AAAA,IAC1C,GACA,CAAC,cAAc,iBAAiB,CAClC;AAEA,UAAM,eAAe,QACnB,MAAM,iBAAiB,IAAI,CAAC,UAAU,uBAAuB,MAAM,KAAK,EAAE,KAAK,GAAG,GAClF,CAAC,gBAAgB,CACnB;AAEA,WACE,qCAAC;AAAA,MACC,iBAAe;AAAA,MACf,eAAa,YAAY;AAAA,MACzB,cAAW;AAAA,MACX,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO,EAAE,QAAQ,UAAU;AAAA,KAC7B;AAAA,EAEJ;AAAA,EACA,MAAM,CAAC,EAAE,MAAM,KAAK,eAAe,UAAU;AAC3C,UAAM;AAAA,MACJ,YAAY,EAAE,mBAAmB,WAAW;AAAA,QAC1C;AACJ,UAAM,EAAE,QAAQ;AAChB,UAAM,gBAAgB,YAAY,QAAQ;AAE1C,UAAM,kBAAkB,YACtB,CAAC,MAAyB;AACxB,YAAM,WAAW,CAAC;AAClB,YAAM,eAAe,EAAE,GAAG,WAAW,CAAC,MAAM,SAAS;AACrD,UAAI,CAAC;AAAU,eAAO,aAAa;AACnC,wBAAkB,cAAc,KAAK,CAAC;AAAA,IACxC,GACA,CAAC,mBAAmB,eAAe,WAAW,GAAG,CACnD;AAEA,WACE,qCAAC;AAAA,MAAI,MAAK;AAAA,MAAe,SAAS;AAAA,OAChC,qCAAC;AAAA,MACC,IAAI,uBAAuB;AAAA,MAC3B,eAAa,YAAY;AAAA,MACzB,cAAW;AAAA,MACX,gBAAc;AAAA,MACd,iBAAe;AAAA,MACf,SAAS;AAAA,MACT,UAAU;AAAA,MACV,UAAU,aAAa,IAAI;AAAA,MAC3B,UAAU,KAAK;AAAA,MACf,UAAU,gBAAgB,IAAI;AAAA,MAC9B,OAAO,EAAE,QAAQ,UAAU;AAAA,KAC7B,CACF;AAAA,EAEJ;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AACd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import React2, {
|
|
3
|
-
import {
|
|
2
|
+
import React2, { useCallback } from "react";
|
|
3
|
+
import { DSControlledRadio } from "@elliemae/ds-controlled-form";
|
|
4
4
|
import { styled } from "@elliemae/ds-system";
|
|
5
5
|
import { DATA_TESTID } from "../../../configs/constants";
|
|
6
6
|
const CenteredContent = styled.div`
|
|
@@ -10,10 +10,6 @@ const CenteredContent = styled.div`
|
|
|
10
10
|
justify-content: center;
|
|
11
11
|
align-items: center;
|
|
12
12
|
`;
|
|
13
|
-
const StyledDSRadio = styled(DSRadio)`
|
|
14
|
-
padding-bottom: 0;
|
|
15
|
-
cursor: pointer;
|
|
16
|
-
`;
|
|
17
13
|
const singleSelectColumn = {
|
|
18
14
|
id: "singleSelecter",
|
|
19
15
|
Header: () => /* @__PURE__ */ React2.createElement("div", null),
|
|
@@ -22,24 +18,23 @@ const singleSelectColumn = {
|
|
|
22
18
|
tableProps: { onSelectionChange, selection, disabledRows }
|
|
23
19
|
} = ctx;
|
|
24
20
|
const { uid } = row;
|
|
25
|
-
const selectedState = selection?.[uid];
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
const selectedState = !!selection?.[uid];
|
|
22
|
+
const onChangeHandler = useCallback((newValue, e) => {
|
|
23
|
+
onSelectionChange({ [uid]: !selectedState }, uid, e);
|
|
24
|
+
}, [onSelectionChange, selectedState, uid]);
|
|
25
|
+
return /* @__PURE__ */ React2.createElement(CenteredContent, null, /* @__PURE__ */ React2.createElement(DSControlledRadio, {
|
|
26
|
+
"aria-checked": selectedState,
|
|
27
|
+
"aria-disabled": disabledRows[row.uid],
|
|
28
|
+
title: "Toggle row selected",
|
|
29
|
+
"aria-label": "Toggle row selected",
|
|
32
30
|
checked: selectedState,
|
|
33
|
-
onChange:
|
|
34
|
-
onSelectionChange(!selectedState ? { [uid]: !selectedState } : {});
|
|
35
|
-
},
|
|
31
|
+
onChange: onChangeHandler,
|
|
36
32
|
"data-testid": DATA_TESTID.DATA_TABLE_RADIO,
|
|
37
33
|
disabled: disabledRows[row.uid],
|
|
38
34
|
innerRef: cell.ref,
|
|
39
|
-
value:
|
|
35
|
+
value: uid,
|
|
40
36
|
tabIndex: isRowSelected ? 0 : -1
|
|
41
|
-
}))
|
|
42
|
-
return PureCheckBox;
|
|
37
|
+
}));
|
|
43
38
|
},
|
|
44
39
|
textWrap: "wrap",
|
|
45
40
|
width: 32,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, {
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AACA;AAEA;AAEA,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { DSControlledRadio } from '@elliemae/ds-controlled-form';\nimport { styled } from '@elliemae/ds-system';\nimport { TypescriptColumn } from '../../../types/props';\nimport { DATA_TESTID } from '../../../configs/constants';\n\nconst CenteredContent = styled.div`\n display: flex;\n height: 100%;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nexport const singleSelectColumn: TypescriptColumn<HTMLInputElement> = {\n // Build our singleSelecter column\n id: 'singleSelecter', // Make sure it has an ID\n // The header doesn't need anything for single selection\n Header: () => <div />,\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = !!selection?.[uid];\n\n const onChangeHandler = useCallback(\n (newValue: string, e: React.ChangeEvent) => {\n // in single select we only allow one item to be selected\n onSelectionChange({ [uid]: !selectedState }, uid, e);\n },\n [onSelectionChange, selectedState, uid],\n );\n\n return (\n <CenteredContent>\n <DSControlledRadio\n aria-checked={selectedState}\n aria-disabled={disabledRows[row.uid]}\n title=\"Toggle row selected\"\n aria-label=\"Toggle row selected\"\n checked={selectedState}\n onChange={onChangeHandler}\n data-testid={DATA_TESTID.DATA_TABLE_RADIO}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n value={uid}\n tabIndex={isRowSelected ? 0 : -1}\n />\n </CenteredContent>\n );\n },\n textWrap: 'wrap',\n width: 32,\n padding: 4,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAEA;AAEA,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQxB,MAAM,qBAAyD;AAAA,EAEpE,IAAI;AAAA,EAEJ,QAAQ,MAAM,qCAAC,WAAI;AAAA,EACnB,MAAM,CAAC,EAAE,MAAM,KAAK,eAAe,UAAU;AAC3C,UAAM;AAAA,MACJ,YAAY,EAAE,mBAAmB,WAAW;AAAA,QAC1C;AACJ,UAAM,EAAE,QAAQ;AAChB,UAAM,gBAAgB,CAAC,CAAC,YAAY;AAEpC,UAAM,kBAAkB,YACtB,CAAC,UAAkB,MAAyB;AAE1C,wBAAkB,EAAE,CAAC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;AAAA,IACrD,GACA,CAAC,mBAAmB,eAAe,GAAG,CACxC;AAEA,WACE,qCAAC,uBACC,qCAAC;AAAA,MACC,gBAAc;AAAA,MACd,iBAAe,aAAa,IAAI;AAAA,MAChC,OAAM;AAAA,MACN,cAAW;AAAA,MACX,SAAS;AAAA,MACT,UAAU;AAAA,MACV,eAAa,YAAY;AAAA,MACzB,UAAU,aAAa,IAAI;AAAA,MAC3B,UAAU,KAAK;AAAA,MACf,OAAO;AAAA,MACP,UAAU,gBAAgB,IAAI;AAAA,KAChC,CACF;AAAA,EAEJ;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AACd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,13 +4,7 @@ import { expandRowColumn } from "./ColumnExpand/ColumnExpand";
|
|
|
4
4
|
import { multiSelectColumn } from "./ColumnSelectMultiple/ColumnSelectMultiple";
|
|
5
5
|
import { singleSelectColumn } from "./ColumnSelectSingle/ColumnSelectSingle";
|
|
6
6
|
import { dragHandleColumn } from "./ColumnDragHandle/ColumnDragHandle";
|
|
7
|
-
const INTERNAL_COLUMNS = [
|
|
8
|
-
"rowActions",
|
|
9
|
-
"expander",
|
|
10
|
-
"multiSelecter",
|
|
11
|
-
"singleSelecter",
|
|
12
|
-
"dragHandleColumn"
|
|
13
|
-
];
|
|
7
|
+
const INTERNAL_COLUMNS = ["rowActions", "expander", "multiSelecter", "singleSelecter", "dragHandleColumn"];
|
|
14
8
|
export {
|
|
15
9
|
INTERNAL_COLUMNS,
|
|
16
10
|
actionColumn,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/addons/Columns/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { actionColumn } from './ColumnAction/ColumnAction';\nexport { expandRowColumn } from './ColumnExpand/ColumnExpand';\nexport { multiSelectColumn } from './ColumnSelectMultiple/ColumnSelectMultiple';\nexport { singleSelectColumn } from './ColumnSelectSingle/ColumnSelectSingle';\nexport { dragHandleColumn } from './ColumnDragHandle/ColumnDragHandle';\n\nexport const INTERNAL_COLUMNS = [
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AAEO,MAAM,mBAAmB
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { actionColumn } from './ColumnAction/ColumnAction';\nexport { expandRowColumn } from './ColumnExpand/ColumnExpand';\nexport { multiSelectColumn } from './ColumnSelectMultiple/ColumnSelectMultiple';\nexport { singleSelectColumn } from './ColumnSelectSingle/ColumnSelectSingle';\nexport { dragHandleColumn } from './ColumnDragHandle/ColumnDragHandle';\n\nexport const INTERNAL_COLUMNS = ['rowActions', 'expander', 'multiSelecter', 'singleSelecter', 'dragHandleColumn'];\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AAEO,MAAM,mBAAmB,CAAC,cAAc,YAAY,iBAAiB,kBAAkB,kBAAkB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import React2
|
|
2
|
+
import React2 from "react";
|
|
3
3
|
import { Grid } from "@elliemae/ds-grid";
|
|
4
4
|
import { DSInputMask, MASK_TYPES } from "@elliemae/ds-form";
|
|
5
5
|
import { DSFormLayoutBlockItem } from "@elliemae/ds-form-layout-blocks";
|
|
6
6
|
import { SearchXsmall } from "@elliemae/ds-icons";
|
|
7
7
|
import { FilterPopover, FILTER_TYPES } from "../../../../exported-related";
|
|
8
8
|
import { DATA_TESTID } from "../../../../configs/constants";
|
|
9
|
-
import DataTableContext from "../../../../DataTableContext";
|
|
10
9
|
const opts = {
|
|
11
10
|
prefix: "",
|
|
12
11
|
suffix: "",
|
|
@@ -17,8 +16,7 @@ const opts = {
|
|
|
17
16
|
allowNegative: true
|
|
18
17
|
};
|
|
19
18
|
const CurrencyRangeFilter = (props) => {
|
|
20
|
-
const { column, filterValue = { from: null, to: null }, reduxHeader, onValueChange, innerRef } = props;
|
|
21
|
-
const { patchHeader } = useContext(DataTableContext);
|
|
19
|
+
const { column, filterValue = { from: null, to: null }, reduxHeader, patchHeader, onValueChange, innerRef } = props;
|
|
22
20
|
const handleFromChange = (e) => {
|
|
23
21
|
const nextValue = {
|
|
24
22
|
...filterValue,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/CurrencyRangeFilter/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSInputMask, MASK_TYPES } from '@elliemae/ds-form';\nimport { DSFormLayoutBlockItem } from '@elliemae/ds-form-layout-blocks';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nconst opts = {\n prefix: '',\n suffix: '',\n allowDecimal: true,\n decimalLimit: 2,\n includeThousandsSeparator: false,\n requireDecimal: true,\n allowNegative: true,\n};\n\nexport const CurrencyRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const { column, filterValue = { from: null, to: null }, reduxHeader, patchHeader, onValueChange, innerRef } = props;\n\n const handleFromChange = (e) => {\n const nextValue = {\n ...filterValue,\n from: e.target.value,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n const handleToChange = (e) => {\n const nextValue = {\n ...filterValue,\n to: e.target.value,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n\n // workaround to close menu with esc key since DSInputMask has stoppropagation on key down\n const closePopover = (e) => {\n if (e.code === 'Escape') {\n patchHeader(column.id, { hideFilterMenu: true, hideFilterButton: false });\n innerRef.current.focus();\n }\n };\n\n const idPreffix = 'datatable-currency-range';\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid\n data-testid={DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER}\n gutter=\"xxxs\"\n padding=\"xxs\"\n cols={['auto', 'auto']}\n style={{ background: 'white' }}\n >\n <DSFormLayoutBlockItem label=\"Min\" inputID={`${idPreffix}-min-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-min-${column.id}`}\n value={`${filterValue?.from ?? ''}`}\n onChange={handleFromChange}\n placeholder=\"0.00\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n autoFocus\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n <DSFormLayoutBlockItem label=\"Max\" inputID={`${idPreffix}-max-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-max-${column.id}`}\n value={`${filterValue?.to ?? ''}`}\n onChange={handleToChange}\n placeholder=\"0.00\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n </Grid>\n }\n triggerIcon={<SearchXsmall />}\n customStyles={{ width: column.ref?.current?.offsetWidth ?? '0px' }}\n innerRef={innerRef}\n ariaLabel=\"Open Currency Range Filter\"\n />\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA,MAAM,OAAO;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,cAAc;AAAA,EACd,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,eAAe;AACjB;AAEO,MAAM,sBAAwD,CAAC,UAAU;AAC9E,QAAM,EAAE,QAAQ,cAAc,EAAE,MAAM,MAAM,IAAI,KAAK,GAAG,aAAa,aAAa,eAAe,aAAa;AAE9G,QAAM,mBAAmB,CAAC,MAAM;AAC9B,UAAM,YAAY;AAAA,MAChB,GAAG;AAAA,MACH,MAAM,EAAE,OAAO;AAAA,IACjB;AACA,kBAAc,aAAa,gBAAgB,SAAS;AAAA,EACtD;AACA,QAAM,iBAAiB,CAAC,MAAM;AAC5B,UAAM,YAAY;AAAA,MAChB,GAAG;AAAA,MACH,IAAI,EAAE,OAAO;AAAA,IACf;AACA,kBAAc,aAAa,gBAAgB,SAAS;AAAA,EACtD;AAGA,QAAM,eAAe,CAAC,MAAM;AAC1B,QAAI,EAAE,SAAS,UAAU;AACvB,kBAAY,OAAO,IAAI,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,CAAC;AACxE,eAAS,QAAQ,MAAM;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,YAAY;AAClB,SACE,qCAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,aACE,qCAAC;AAAA,MACC,eAAa,YAAY;AAAA,MACzB,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,OAAO,EAAE,YAAY,QAAQ;AAAA,OAE7B,qCAAC;AAAA,MAAsB,OAAM;AAAA,MAAM,SAAS,GAAG,iBAAiB,OAAO;AAAA,OACrE,qCAAC;AAAA,MACC,gBAAgB,EAAE,OAAO,EAAE,WAAW,QAAQ,EAAE;AAAA,MAChD,IAAI,GAAG,iBAAiB,OAAO;AAAA,MAC/B,OAAO,GAAG,aAAa,QAAQ;AAAA,MAC/B,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,MAAM,CAAC,WAAW,WAAW,OAAO,IAAI,EAAE,MAAM;AAAA,MAChD,WAAS;AAAA,MACT,WAAW,CAAC,MAAM;AAChB,qBAAa,CAAC;AAAA,MAChB;AAAA,KACF,CACF,GACA,qCAAC;AAAA,MAAsB,OAAM;AAAA,MAAM,SAAS,GAAG,iBAAiB,OAAO;AAAA,OACrE,qCAAC;AAAA,MACC,gBAAgB,EAAE,OAAO,EAAE,WAAW,QAAQ,EAAE;AAAA,MAChD,IAAI,GAAG,iBAAiB,OAAO;AAAA,MAC/B,OAAO,GAAG,aAAa,MAAM;AAAA,MAC7B,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,MAAM,CAAC,WAAW,WAAW,OAAO,IAAI,EAAE,MAAM;AAAA,MAChD,WAAW,CAAC,MAAM;AAChB,qBAAa,CAAC;AAAA,MAChB;AAAA,KACF,CACF,CACF;AAAA,IAEF,aAAa,qCAAC,kBAAa;AAAA,IAC3B,cAAc,EAAE,OAAO,OAAO,KAAK,SAAS,eAAe,MAAM;AAAA,IACjE;AAAA,IACA,WAAU;AAAA,GACZ;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import React2
|
|
2
|
+
import React2 from "react";
|
|
3
3
|
import { Grid } from "@elliemae/ds-grid";
|
|
4
4
|
import { DSInputMask, MASK_TYPES } from "@elliemae/ds-form";
|
|
5
5
|
import { DSFormLayoutBlockItem } from "@elliemae/ds-form-layout-blocks";
|
|
6
6
|
import { SearchXsmall } from "@elliemae/ds-icons";
|
|
7
7
|
import { FilterPopover, FILTER_TYPES } from "../../../../exported-related";
|
|
8
8
|
import { DATA_TESTID } from "../../../../configs/constants";
|
|
9
|
-
import DataTableContext from "../../../../DataTableContext";
|
|
10
9
|
const opts = {
|
|
11
10
|
prefix: "",
|
|
12
11
|
suffix: "",
|
|
@@ -16,8 +15,7 @@ const opts = {
|
|
|
16
15
|
allowNegative: true
|
|
17
16
|
};
|
|
18
17
|
const NumberRangeFilter = (props) => {
|
|
19
|
-
const { column, filterValue = { from: null, to: null }, reduxHeader, onValueChange, innerRef } = props;
|
|
20
|
-
const { patchHeader } = useContext(DataTableContext);
|
|
18
|
+
const { column, filterValue = { from: null, to: null }, reduxHeader, patchHeader, onValueChange, innerRef } = props;
|
|
21
19
|
const handleFromChange = (e) => {
|
|
22
20
|
const from = e.target.value !== "" ? parseInt(e.target.value, 10) : "";
|
|
23
21
|
const nextValue = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/NumberRangeFilter/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSInputMask, MASK_TYPES } from '@elliemae/ds-form';\nimport { DSFormLayoutBlockItem } from '@elliemae/ds-form-layout-blocks';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nconst opts = {\n prefix: '',\n suffix: '',\n allowDecimal: false,\n includeThousandsSeparator: false,\n requireDecimal: false,\n allowNegative: true,\n};\n\nexport const NumberRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const { column, filterValue = { from: null, to: null }, reduxHeader, patchHeader, onValueChange, innerRef } = props;\n\n const handleFromChange = (e) => {\n const from = e.target.value !== '' ? parseInt(e.target.value, 10) : '';\n const nextValue = {\n ...filterValue,\n from,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n const handleToChange = (e) => {\n const to = e.target.value !== '' ? parseInt(e.target.value, 10) : '';\n const nextValue = {\n ...filterValue,\n to,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n\n // workaround to close menu with esc key since DSInputMask has stoppropagation on key down\n const closePopover = (e) => {\n if (e.code === 'Escape') {\n patchHeader(column.id, { hideFilterMenu: true, hideFilterButton: false });\n innerRef.current.focus();\n }\n };\n const idPreffix = 'datatable-number-range';\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid\n data-testid={DATA_TESTID.DATA_TABLE_NUMBER_RANGE_CONTROLLER}\n gutter=\"xxxs\"\n padding=\"xxs\"\n cols={['auto', 'auto']}\n style={{ background: 'white' }}\n >\n <DSFormLayoutBlockItem label=\"Low\" inputID={`${idPreffix}-low-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-low-${column.id}`}\n value={`${filterValue?.from ?? ''}`}\n onChange={handleFromChange}\n placeholder=\"0\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n autoFocus\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n <DSFormLayoutBlockItem label=\"High\" inputID={`${idPreffix}-high-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-high-${column.id}`}\n value={`${filterValue?.to ?? ''}`}\n onChange={handleToChange}\n placeholder=\"0\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n </Grid>\n }\n triggerIcon={<SearchXsmall />}\n customStyles={{ width: column.ref?.current?.offsetWidth ?? '0px' }}\n innerRef={innerRef}\n ariaLabel=\"Open Number Range Filter\"\n />\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA,MAAM,OAAO;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,eAAe;AACjB;AAEO,MAAM,oBAAsD,CAAC,UAAU;AAC5E,QAAM,EAAE,QAAQ,cAAc,EAAE,MAAM,MAAM,IAAI,KAAK,GAAG,aAAa,aAAa,eAAe,aAAa;AAE9G,QAAM,mBAAmB,CAAC,MAAM;AAC9B,UAAM,OAAO,EAAE,OAAO,UAAU,KAAK,SAAS,EAAE,OAAO,OAAO,EAAE,IAAI;AACpE,UAAM,YAAY;AAAA,MAChB,GAAG;AAAA,MACH;AAAA,IACF;AACA,kBAAc,aAAa,gBAAgB,SAAS;AAAA,EACtD;AACA,QAAM,iBAAiB,CAAC,MAAM;AAC5B,UAAM,KAAK,EAAE,OAAO,UAAU,KAAK,SAAS,EAAE,OAAO,OAAO,EAAE,IAAI;AAClE,UAAM,YAAY;AAAA,MAChB,GAAG;AAAA,MACH;AAAA,IACF;AACA,kBAAc,aAAa,gBAAgB,SAAS;AAAA,EACtD;AAGA,QAAM,eAAe,CAAC,MAAM;AAC1B,QAAI,EAAE,SAAS,UAAU;AACvB,kBAAY,OAAO,IAAI,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,CAAC;AACxE,eAAS,QAAQ,MAAM;AAAA,IACzB;AAAA,EACF;AACA,QAAM,YAAY;AAClB,SACE,qCAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,aACE,qCAAC;AAAA,MACC,eAAa,YAAY;AAAA,MACzB,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,OAAO,EAAE,YAAY,QAAQ;AAAA,OAE7B,qCAAC;AAAA,MAAsB,OAAM;AAAA,MAAM,SAAS,GAAG,iBAAiB,OAAO;AAAA,OACrE,qCAAC;AAAA,MACC,gBAAgB,EAAE,OAAO,EAAE,WAAW,QAAQ,EAAE;AAAA,MAChD,IAAI,GAAG,iBAAiB,OAAO;AAAA,MAC/B,OAAO,GAAG,aAAa,QAAQ;AAAA,MAC/B,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,MAAM,CAAC,WAAW,WAAW,OAAO,IAAI,EAAE,MAAM;AAAA,MAChD,WAAS;AAAA,MACT,WAAW,CAAC,MAAM;AAChB,qBAAa,CAAC;AAAA,MAChB;AAAA,KACF,CACF,GACA,qCAAC;AAAA,MAAsB,OAAM;AAAA,MAAO,SAAS,GAAG,kBAAkB,OAAO;AAAA,OACvE,qCAAC;AAAA,MACC,gBAAgB,EAAE,OAAO,EAAE,WAAW,QAAQ,EAAE;AAAA,MAChD,IAAI,GAAG,kBAAkB,OAAO;AAAA,MAChC,OAAO,GAAG,aAAa,MAAM;AAAA,MAC7B,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,MAAM,CAAC,WAAW,WAAW,OAAO,IAAI,EAAE,MAAM;AAAA,MAChD,WAAW,CAAC,MAAM;AAChB,qBAAa,CAAC;AAAA,MAChB;AAAA,KACF,CACF,CACF;AAAA,IAEF,aAAa,qCAAC,kBAAa;AAAA,IAC3B,cAAc,EAAE,OAAO,OAAO,KAAK,SAAS,eAAe,MAAM;AAAA,IACjE;AAAA,IACA,WAAU;AAAA,GACZ;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import React2, { useState, useEffect, useMemo
|
|
2
|
+
import React2, { useState, useEffect, useMemo } from "react";
|
|
3
3
|
import { Grid } from "@elliemae/ds-grid";
|
|
4
4
|
import { DSComboBox } from "@elliemae/ds-controlled-form";
|
|
5
5
|
import { SearchXsmall } from "@elliemae/ds-icons";
|
|
6
|
+
import { uid } from "uid";
|
|
6
7
|
import { FilterPopover } from "../../../../exported-related";
|
|
7
8
|
import { DATA_TESTID } from "../../../../configs";
|
|
8
|
-
import DataTableContext from "../../../../DataTableContext";
|
|
9
9
|
const BaseSelectFilter = (props) => {
|
|
10
10
|
const {
|
|
11
11
|
isMulti = false,
|
|
12
12
|
selectedItems = null,
|
|
13
|
+
creatable = false,
|
|
13
14
|
column,
|
|
14
15
|
type,
|
|
15
16
|
column: { id, filterOptions: userFilterOptions, filterMinWidth },
|
|
@@ -17,10 +18,10 @@ const BaseSelectFilter = (props) => {
|
|
|
17
18
|
tableProps: { data }
|
|
18
19
|
},
|
|
19
20
|
reduxHeader,
|
|
21
|
+
patchHeaderFilterButtonAndMenu,
|
|
20
22
|
innerRef,
|
|
21
23
|
onValueChange
|
|
22
24
|
} = props;
|
|
23
|
-
const { patchHeaderFilterButtonAndMenu } = useContext(DataTableContext);
|
|
24
25
|
const filterOptions = useMemo(() => {
|
|
25
26
|
if (!userFilterOptions) {
|
|
26
27
|
const automaticFilters = [
|
|
@@ -37,12 +38,30 @@ const BaseSelectFilter = (props) => {
|
|
|
37
38
|
return userFilterOptions;
|
|
38
39
|
return userFilterOptions();
|
|
39
40
|
}, [data, id, userFilterOptions]);
|
|
41
|
+
const [filters, setFilteredOptions] = useState(filterOptions);
|
|
40
42
|
const handleOnChange = (value) => {
|
|
41
43
|
onValueChange(type, value);
|
|
42
44
|
if (!isMulti)
|
|
43
45
|
patchHeaderFilterButtonAndMenu(column.id, true);
|
|
44
46
|
};
|
|
45
|
-
const
|
|
47
|
+
const handleOnCreate = (label) => {
|
|
48
|
+
if (label.trim() === "") {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (filterOptions.some((item) => item.label === label)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const newId = uid();
|
|
55
|
+
const newItem = {
|
|
56
|
+
dsId: newId,
|
|
57
|
+
value: newId,
|
|
58
|
+
label,
|
|
59
|
+
type: "option"
|
|
60
|
+
};
|
|
61
|
+
filterOptions.unshift(newItem);
|
|
62
|
+
handleOnChange(Array.isArray(selectedItems) ? [...selectedItems, newItem] : newItem);
|
|
63
|
+
setFilteredOptions(filterOptions);
|
|
64
|
+
};
|
|
46
65
|
useEffect(() => {
|
|
47
66
|
setFilteredOptions(filterOptions);
|
|
48
67
|
}, [filterOptions]);
|
|
@@ -53,6 +72,7 @@ const BaseSelectFilter = (props) => {
|
|
|
53
72
|
inline: true,
|
|
54
73
|
autoFocus: true,
|
|
55
74
|
allOptions: filterOptions,
|
|
75
|
+
onCreate: creatable ? handleOnCreate : void 0,
|
|
56
76
|
filteredOptions: filters,
|
|
57
77
|
onChange: handleOnChange,
|
|
58
78
|
selectedValues: selectedItems,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/SelectFilter/BaseSelectFilter.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState, useEffect, useMemo
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AAEA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState, useEffect, useMemo } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSComboBox } from '@elliemae/ds-controlled-form';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { uid } from 'uid';\nimport { FilterPopover } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs';\n\ninterface FilterOptionT {\n dsId: string;\n type: string;\n value: string;\n label: string;\n}\n\ninterface BaseSelectProps {\n isMulti?: boolean;\n creatable?: boolean;\n selectedItems?: FilterOptionT[] | FilterOptionT;\n type: string;\n}\n\nexport const BaseSelectFilter: React.ComponentType<FilterProps & BaseSelectProps> = (props) => {\n const {\n isMulti = false,\n selectedItems = null,\n creatable = false,\n column,\n type,\n column: { id, filterOptions: userFilterOptions, filterMinWidth },\n ctx: {\n tableProps: { data },\n },\n reduxHeader,\n patchHeaderFilterButtonAndMenu,\n innerRef,\n onValueChange,\n } = props;\n\n const filterOptions: FilterOptionT[] = useMemo(() => {\n // If the user didn't provide options, use the available ones\n if (!userFilterOptions) {\n const automaticFilters = [\n ...new Set(data.map((datum) => datum?.[id]?.toString()).filter((val) => val !== undefined)),\n ].map((item) => ({\n type: 'option',\n dsId: item,\n value: item,\n label: item,\n }));\n\n return automaticFilters;\n }\n\n // If user provided the array itself, use it\n if (Array.isArray(userFilterOptions)) return userFilterOptions;\n // Otherwise, it is a function\n return userFilterOptions();\n }, [data, id, userFilterOptions]);\n\n const [filters, setFilteredOptions] = useState(filterOptions);\n\n const handleOnChange = (value) => {\n onValueChange(type, value);\n if (!isMulti) patchHeaderFilterButtonAndMenu(column.id, true);\n };\n\n const handleOnCreate = (label: string) => {\n if (label.trim() === '') {\n return;\n }\n if (filterOptions.some((item) => item.label === label)) {\n return;\n }\n const newId = uid();\n const newItem = {\n dsId: newId,\n value: newId,\n label,\n type: 'option',\n };\n filterOptions.unshift(newItem);\n handleOnChange(Array.isArray(selectedItems) ? [...selectedItems, newItem] : newItem);\n setFilteredOptions(filterOptions);\n };\n\n useEffect(() => {\n setFilteredOptions(filterOptions);\n }, [filterOptions]);\n\n const Select = (\n <Grid\n data-testid={\n isMulti ? DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER : DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER\n }\n style={{ background: '#fff', position: 'relative', width: filterMinWidth ?? column.ref?.current?.offsetWidth }}\n >\n <DSComboBox\n inline\n autoFocus\n allOptions={filterOptions}\n onCreate={creatable ? handleOnCreate : undefined}\n filteredOptions={filters}\n onChange={handleOnChange}\n selectedValues={selectedItems}\n onFilter={setFilteredOptions}\n menuMaxHeight={300}\n />\n </Grid>\n );\n\n const handleOnClickOutside = () => {\n setFilteredOptions(filterOptions);\n };\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={Select}\n triggerIcon={<SearchXsmall />}\n innerRef={innerRef}\n ariaLabel=\"Open Selection Filter\"\n onClickOutsideMenu={handleOnClickOutside}\n />\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAgBO,MAAM,mBAAuE,CAAC,UAAU;AAC7F,QAAM;AAAA,IACJ,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,QAAQ,EAAE,IAAI,eAAe,mBAAmB;AAAA,IAChD,KAAK;AAAA,MACH,YAAY,EAAE;AAAA;AAAA,IAEhB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,gBAAiC,QAAQ,MAAM;AAEnD,QAAI,CAAC,mBAAmB;AACtB,YAAM,mBAAmB;AAAA,QACvB,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,QAAQ,KAAK,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,QAAQ,MAAS,CAAC;AAAA,MAC5F,EAAE,IAAI,CAAC,SAAU;AAAA,QACf,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT,EAAE;AAEF,aAAO;AAAA,IACT;AAGA,QAAI,MAAM,QAAQ,iBAAiB;AAAG,aAAO;AAE7C,WAAO,kBAAkB;AAAA,EAC3B,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC;AAEhC,QAAM,CAAC,SAAS,sBAAsB,SAAS,aAAa;AAE5D,QAAM,iBAAiB,CAAC,UAAU;AAChC,kBAAc,MAAM,KAAK;AACzB,QAAI,CAAC;AAAS,qCAA+B,OAAO,IAAI,IAAI;AAAA,EAC9D;AAEA,QAAM,iBAAiB,CAAC,UAAkB;AACxC,QAAI,MAAM,KAAK,MAAM,IAAI;AACvB;AAAA,IACF;AACA,QAAI,cAAc,KAAK,CAAC,SAAS,KAAK,UAAU,KAAK,GAAG;AACtD;AAAA,IACF;AACA,UAAM,QAAQ,IAAI;AAClB,UAAM,UAAU;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP;AAAA,MACA,MAAM;AAAA,IACR;AACA,kBAAc,QAAQ,OAAO;AAC7B,mBAAe,MAAM,QAAQ,aAAa,IAAI,CAAC,GAAG,eAAe,OAAO,IAAI,OAAO;AACnF,uBAAmB,aAAa;AAAA,EAClC;AAEA,YAAU,MAAM;AACd,uBAAmB,aAAa;AAAA,EAClC,GAAG,CAAC,aAAa,CAAC;AAElB,QAAM,SACJ,qCAAC;AAAA,IACC,eACE,UAAU,YAAY,oCAAoC,YAAY;AAAA,IAExE,OAAO,EAAE,YAAY,QAAQ,UAAU,YAAY,OAAO,kBAAkB,OAAO,KAAK,SAAS,YAAY;AAAA,KAE7G,qCAAC;AAAA,IACC,QAAM;AAAA,IACN,WAAS;AAAA,IACT,YAAY;AAAA,IACZ,UAAU,YAAY,iBAAiB;AAAA,IACvC,iBAAiB;AAAA,IACjB,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,eAAe;AAAA,GACjB,CACF;AAGF,QAAM,uBAAuB,MAAM;AACjC,uBAAmB,aAAa;AAAA,EAClC;AACA,SACE,qCAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,aAAa;AAAA,IACb,aAAa,qCAAC,kBAAa;AAAA,IAC3B;AAAA,IACA,WAAU;AAAA,IACV,oBAAoB;AAAA,GACtB;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import { BaseSelectFilter } from "./BaseSelectFilter";
|
|
4
|
+
import { FILTER_TYPES } from "../../../../exported-related";
|
|
5
|
+
import { DATA_TESTID } from "../../../../configs/constants";
|
|
6
|
+
const MultiCreatableFilter = ({
|
|
7
|
+
column,
|
|
8
|
+
ctx,
|
|
9
|
+
onValueChange,
|
|
10
|
+
patchHeaderFilterButtonAndMenu,
|
|
11
|
+
patchHeader,
|
|
12
|
+
reduxHeader,
|
|
13
|
+
filterValue,
|
|
14
|
+
innerRef
|
|
15
|
+
}) => /* @__PURE__ */ React2.createElement(BaseSelectFilter, {
|
|
16
|
+
creatable: true,
|
|
17
|
+
reduxHeader,
|
|
18
|
+
"data-testid": DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER,
|
|
19
|
+
isMulti: true,
|
|
20
|
+
column,
|
|
21
|
+
ctx,
|
|
22
|
+
selectedItems: filterValue ?? [],
|
|
23
|
+
type: FILTER_TYPES.MULTI_SELECT,
|
|
24
|
+
onValueChange,
|
|
25
|
+
patchHeaderFilterButtonAndMenu,
|
|
26
|
+
patchHeader,
|
|
27
|
+
innerRef
|
|
28
|
+
});
|
|
29
|
+
export {
|
|
30
|
+
MultiCreatableFilter
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=MultiCreatableFilter.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/SelectFilter/MultiCreatableFilter.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { FilterProps } from '../../../../types/props';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nexport const MultiCreatableFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n reduxHeader,\n filterValue,\n innerRef,\n}) => (\n <BaseSelectFilter\n creatable\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER}\n isMulti\n column={column}\n ctx={ctx}\n selectedItems={filterValue ?? []}\n type={FILTER_TYPES.MULTI_SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEA;AACA;AACA;AAEO,MAAM,uBAAyD,CAAC;AAAA,EACrE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAEA,qCAAC;AAAA,EACC,WAAS;AAAA,EACT;AAAA,EACA,eAAa,YAAY;AAAA,EACzB,SAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,eAAe,eAAe,CAAC;AAAA,EAC/B,MAAM,aAAa;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,CACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import { BaseSelectFilter } from "./BaseSelectFilter";
|
|
4
|
+
import { FILTER_TYPES } from "../../../../exported-related";
|
|
5
|
+
import { DATA_TESTID } from "../../../../configs/constants";
|
|
6
|
+
const SingleCreatableFilter = ({
|
|
7
|
+
column,
|
|
8
|
+
ctx,
|
|
9
|
+
patchHeaderFilterButtonAndMenu,
|
|
10
|
+
patchHeader,
|
|
11
|
+
onValueChange,
|
|
12
|
+
filterValue,
|
|
13
|
+
reduxHeader,
|
|
14
|
+
innerRef
|
|
15
|
+
}) => /* @__PURE__ */ React2.createElement(BaseSelectFilter, {
|
|
16
|
+
creatable: true,
|
|
17
|
+
reduxHeader,
|
|
18
|
+
"data-testid": DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER,
|
|
19
|
+
column,
|
|
20
|
+
ctx,
|
|
21
|
+
selectedItems: filterValue,
|
|
22
|
+
type: FILTER_TYPES.SELECT,
|
|
23
|
+
onValueChange,
|
|
24
|
+
patchHeaderFilterButtonAndMenu,
|
|
25
|
+
patchHeader,
|
|
26
|
+
innerRef
|
|
27
|
+
});
|
|
28
|
+
export {
|
|
29
|
+
SingleCreatableFilter
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=SingleCreatableFilter.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/SelectFilter/SingleCreatableFilter.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FilterProps } from '../../../../types/props';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nexport const SingleCreatableFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n onValueChange,\n filterValue,\n reduxHeader,\n innerRef,\n}) => (\n <BaseSelectFilter\n creatable\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER}\n column={column}\n ctx={ctx}\n selectedItems={filterValue}\n type={FILTER_TYPES.SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AAEA;AACA;AAEO,MAAM,wBAA0D,CAAC;AAAA,EACtE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAEA,qCAAC;AAAA,EACC,WAAS;AAAA,EACT;AAAA,EACA,eAAa,YAAY;AAAA,EACzB;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,MAAM,aAAa;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,CACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/SelectFilter/SingleSelectFilter.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FilterProps } from '../../../../types/props';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nexport const SingleSelectFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n onValueChange,\n filterValue,\n reduxHeader,\n innerRef,\n}) => (\n <BaseSelectFilter\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER}\n
|
|
5
|
-
"mappings": "AAAA;ACCA;AACA;AAEA;AACA;AAEO,MAAM,qBAAuD,CAAC;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAEA,qCAAC;AAAA,EACC;AAAA,EACA,eAAa,YAAY;AAAA,EACzB
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FilterProps } from '../../../../types/props';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nexport const SingleSelectFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n onValueChange,\n filterValue,\n reduxHeader,\n innerRef,\n}) => (\n <BaseSelectFilter\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER}\n column={column}\n ctx={ctx}\n selectedItems={filterValue}\n type={FILTER_TYPES.SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AAEA;AACA;AAEO,MAAM,qBAAuD,CAAC;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAEA,qCAAC;AAAA,EACC;AAAA,EACA,eAAa,YAAY;AAAA,EACzB;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,MAAM,aAAa;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,CACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -6,4 +6,6 @@ export * from "./CurrencyRangeFilter";
|
|
|
6
6
|
export * from "./SelectFilter/SingleSelectFilter";
|
|
7
7
|
export * from "./SelectFilter/MultiSelectFilter";
|
|
8
8
|
export * from "./SingleDateFilter";
|
|
9
|
+
export * from "./SelectFilter/SingleCreatableFilter";
|
|
10
|
+
export * from "./SelectFilter/MultiCreatableFilter";
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Filters/Components/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DateRangeFilter';\nexport * from './DateSwitcherFilter';\nexport * from './NumberRangeFilter';\nexport * from './CurrencyRangeFilter';\nexport * from './SelectFilter/SingleSelectFilter';\nexport * from './SelectFilter/MultiSelectFilter';\nexport * from './SingleDateFilter';\n"],
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;",
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DateRangeFilter';\nexport * from './DateSwitcherFilter';\nexport * from './NumberRangeFilter';\nexport * from './CurrencyRangeFilter';\nexport * from './SelectFilter/SingleSelectFilter';\nexport * from './SelectFilter/MultiSelectFilter';\nexport * from './SingleDateFilter';\nexport * from './SelectFilter/SingleCreatableFilter';\nexport * from './SelectFilter/MultiCreatableFilter';\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|