@elliemae/ds-data-table 3.33.1 → 3.34.0-next.2
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/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +3 -2
- package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +3 -2
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +3 -3
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
- package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
- package/dist/cjs/addons/Editables/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +12 -3
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +4 -2
- package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +12 -3
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +5 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +5 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +5 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +5 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/cjs/configs/constants.js.map +1 -1
- package/dist/cjs/configs/useStore/index.js +13 -2
- package/dist/cjs/configs/useStore/index.js.map +2 -2
- package/dist/cjs/configs/useStore/useStore.js.map +1 -1
- package/dist/cjs/exported-related/EditableCell.js +2 -1
- package/dist/cjs/exported-related/EditableCell.js.map +2 -2
- package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +6 -2
- package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js.map +2 -2
- package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js +23 -1
- package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js.map +2 -2
- package/dist/cjs/exported-related/Filters/dateRangeFilterFn.js +26 -3
- package/dist/cjs/exported-related/Filters/dateRangeFilterFn.js.map +2 -2
- package/dist/cjs/exported-related/Filters/dateSwitcherFilterFn.js +26 -2
- package/dist/cjs/exported-related/Filters/dateSwitcherFilterFn.js.map +2 -2
- package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js +23 -10
- package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js.map +2 -2
- package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js +27 -3
- package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js.map +2 -2
- package/dist/cjs/exported-related/Filters/singleDateFilterFn.js +11 -1
- package/dist/cjs/exported-related/Filters/singleDateFilterFn.js.map +2 -2
- package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js +28 -9
- package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +11 -1
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/cjs/index.js +26 -3
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/parts/Cells/CellFactory.js +107 -0
- package/dist/cjs/parts/Cells/CellFactory.js.map +7 -0
- package/dist/cjs/parts/Cells/index.js +15 -7
- package/dist/cjs/parts/Cells/index.js.map +2 -2
- package/dist/cjs/parts/DnDHandle.js +1 -1
- package/dist/cjs/parts/DnDHandle.js.map +2 -2
- package/dist/cjs/parts/Filters/index.js +3 -1
- package/dist/cjs/parts/Filters/index.js.map +2 -2
- package/dist/cjs/parts/Headers/HeaderCell.js +6 -4
- package/dist/cjs/parts/Headers/HeaderCell.js.map +2 -2
- package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +1 -1
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +11 -5
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +7 -4
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/types/FunctionalHoC.js.map +1 -1
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +3 -2
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +3 -2
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
- package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
- package/dist/esm/addons/Editables/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +12 -3
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js +4 -2
- package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +12 -3
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +5 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +5 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +5 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +5 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/esm/configs/constants.js.map +1 -1
- package/dist/esm/configs/useStore/index.js +9 -1
- package/dist/esm/configs/useStore/index.js.map +2 -2
- package/dist/esm/configs/useStore/useStore.js.map +1 -1
- package/dist/esm/exported-related/EditableCell.js +2 -1
- package/dist/esm/exported-related/EditableCell.js.map +2 -2
- package/dist/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +6 -2
- package/dist/esm/exported-related/Filters/applyOutOfTheBoxFilters.js.map +2 -2
- package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js +23 -1
- package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js.map +2 -2
- package/dist/esm/exported-related/Filters/dateRangeFilterFn.js +26 -3
- package/dist/esm/exported-related/Filters/dateRangeFilterFn.js.map +2 -2
- package/dist/esm/exported-related/Filters/dateSwitcherFilterFn.js +26 -2
- package/dist/esm/exported-related/Filters/dateSwitcherFilterFn.js.map +2 -2
- package/dist/esm/exported-related/Filters/multiSelectFilterFn.js +23 -10
- package/dist/esm/exported-related/Filters/multiSelectFilterFn.js.map +2 -2
- package/dist/esm/exported-related/Filters/numberRangeFilterFn.js +27 -3
- package/dist/esm/exported-related/Filters/numberRangeFilterFn.js.map +2 -2
- package/dist/esm/exported-related/Filters/singleDateFilterFn.js +11 -1
- package/dist/esm/exported-related/Filters/singleDateFilterFn.js.map +2 -2
- package/dist/esm/exported-related/Filters/singleSelectFilterFn.js +28 -9
- package/dist/esm/exported-related/Filters/singleSelectFilterFn.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +11 -1
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/esm/index.js +52 -2
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/parts/Cells/CellFactory.js +77 -0
- package/dist/esm/parts/Cells/CellFactory.js.map +7 -0
- package/dist/esm/parts/Cells/index.js +15 -7
- package/dist/esm/parts/Cells/index.js.map +2 -2
- package/dist/esm/parts/DnDHandle.js +1 -1
- package/dist/esm/parts/DnDHandle.js.map +2 -2
- package/dist/esm/parts/Filters/index.js +4 -2
- package/dist/esm/parts/Filters/index.js.map +2 -2
- package/dist/esm/parts/Headers/HeaderCell.js +6 -4
- package/dist/esm/parts/Headers/HeaderCell.js.map +2 -2
- package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +1 -1
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +11 -6
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +7 -4
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/dist/types/addons/Columns/ColumnDragHandle/ColumnDragHandle.d.ts +1 -1
- package/dist/types/addons/Columns/ColumnExpand/ColumnExpand.d.ts +1 -1
- package/dist/types/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.d.ts +1 -1
- package/dist/types/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.d.ts +1 -1
- package/dist/types/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.d.ts +1 -5
- package/dist/types/addons/Editables/TextEditableCell/TextEditableCell.d.ts +1 -5
- package/dist/types/addons/Editables/index.d.ts +2 -1
- package/dist/types/configs/constants.d.ts +33 -33
- package/dist/types/configs/useStore/index.d.ts +1 -1
- package/dist/types/configs/useStore/useStore.d.ts +1 -1
- package/dist/types/exported-related/Filters/currencyRangeFilterFn.d.ts +4 -3
- package/dist/types/exported-related/Filters/dateRangeFilterFn.d.ts +2 -5
- package/dist/types/exported-related/Filters/dateSwitcherFilterFn.d.ts +4 -3
- package/dist/types/exported-related/Filters/multiSelectFilterFn.d.ts +4 -3
- package/dist/types/exported-related/Filters/numberRangeFilterFn.d.ts +6 -5
- package/dist/types/exported-related/Filters/singleDateFilterFn.d.ts +3 -2
- package/dist/types/exported-related/Filters/singleSelectFilterFn.d.ts +4 -3
- package/dist/types/index.d.ts +2 -2
- package/dist/types/parts/Cells/{Cell.d.ts → CellFactory.d.ts} +3 -3
- package/dist/types/parts/Headers/index.d.ts +1 -1
- package/dist/types/parts/Rows.d.ts +1 -1
- package/dist/types/react-desc-prop-types.d.ts +81 -36
- package/dist/types/styled.d.ts +1 -1
- package/dist/types/tests/a11y/internally-printed-ids.A11y.test.d.ts +1 -0
- package/dist/types/types/FunctionalHoC.d.ts +1 -1
- package/package.json +30 -566
- package/dist/cjs/exported-related/Filters/types.js +0 -28
- package/dist/cjs/exported-related/Filters/types.js.map +0 -7
- package/dist/cjs/parts/Cells/Cell.js +0 -108
- package/dist/cjs/parts/Cells/Cell.js.map +0 -7
- package/dist/esm/exported-related/Filters/types.js +0 -2
- package/dist/esm/exported-related/Filters/types.js.map +0 -7
- package/dist/esm/parts/Cells/Cell.js +0 -78
- package/dist/esm/parts/Cells/Cell.js.map +0 -7
- package/dist/types/exported-related/Filters/types.d.ts +0 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SelectFilter/MultiCreatableFilter.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport type { DSComboboxT } from '@elliemae/ds-form-combobox';\nimport type { DSDataTableT } from '../../../../react-desc-prop-types.js';\nimport { BaseSelectFilter } from './BaseSelectFilter.js';\nimport { FILTER_TYPES } from '../../../../exported-related/index.js';\nimport { DATA_TESTID } from '../../../../configs/constants.js';\n\ntype MultiCreatableFilterValue = DSComboboxT.SelectedOptionsT;\n\nexport const MultiCreatableFilter: React.ComponentType<DSDataTableT.FilterProps<MultiCreatableFilterValue>> = ({\n column,\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 filterValue={filterValue ?? []}\n type={FILTER_TYPES.MULTI_SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport type { DSComboboxT } from '@elliemae/ds-form-combobox';\nimport { uid } from 'uid';\nimport type { DSDataTableT } from '../../../../react-desc-prop-types.js';\nimport { BaseSelectFilter } from './BaseSelectFilter.js';\nimport { FILTER_TYPES } from '../../../../exported-related/index.js';\nimport { DATA_TESTID } from '../../../../configs/constants.js';\n\ntype MultiCreatableFilterValue = DSComboboxT.SelectedOptionsT;\n\nexport const MultiCreatableFilter: React.ComponentType<DSDataTableT.FilterProps<MultiCreatableFilterValue>> = ({\n column,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n reduxHeader,\n filterValue,\n innerRef,\n domIdAffix = uid(4),\n}) => (\n <BaseSelectFilter\n creatable\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER}\n isMulti\n column={column}\n filterValue={filterValue ?? []}\n type={FILTER_TYPES.MULTI_SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n domIdAffix={domIdAffix}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoBrB;AAlBF,iBAAoB;AAEpB,8BAAiC;AACjC,8BAA6B;AAC7B,uBAA4B;AAIrB,MAAM,uBAAiG,CAAC;AAAA,EAC7G;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAa,gBAAI,CAAC;AACpB,MACE;AAAA,EAAC;AAAA;AAAA,IACC,WAAS;AAAA,IACT;AAAA,IACA,eAAa,6BAAY;AAAA,IACzB,SAAO;AAAA,IACP;AAAA,IACA,aAAa,eAAe,CAAC;AAAA,IAC7B,MAAM,qCAAa;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -33,6 +33,7 @@ __export(MultiSelectFilter_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(MultiSelectFilter_exports);
|
|
34
34
|
var React = __toESM(require("react"));
|
|
35
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_uid = require("uid");
|
|
36
37
|
var import_BaseSelectFilter = require("./BaseSelectFilter.js");
|
|
37
38
|
var import_exported_related = require("../../../../exported-related/index.js");
|
|
38
39
|
var import_constants = require("../../../../configs/constants.js");
|
|
@@ -43,7 +44,8 @@ const MultiSelectFilter = ({
|
|
|
43
44
|
patchHeader,
|
|
44
45
|
reduxHeader,
|
|
45
46
|
filterValue,
|
|
46
|
-
innerRef
|
|
47
|
+
innerRef,
|
|
48
|
+
domIdAffix = (0, import_uid.uid)(4)
|
|
47
49
|
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
48
50
|
import_BaseSelectFilter.BaseSelectFilter,
|
|
49
51
|
{
|
|
@@ -56,7 +58,8 @@ const MultiSelectFilter = ({
|
|
|
56
58
|
onValueChange,
|
|
57
59
|
patchHeaderFilterButtonAndMenu,
|
|
58
60
|
patchHeader,
|
|
59
|
-
innerRef
|
|
61
|
+
innerRef,
|
|
62
|
+
domIdAffix
|
|
60
63
|
}
|
|
61
64
|
);
|
|
62
65
|
//# sourceMappingURL=MultiSelectFilter.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SelectFilter/MultiSelectFilter.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport type { DSComboboxT } from '@elliemae/ds-form-combobox';\nimport type { DSDataTableT } from '../../../../react-desc-prop-types.js';\nimport { BaseSelectFilter } from './BaseSelectFilter.js';\nimport { FILTER_TYPES } from '../../../../exported-related/index.js';\nimport { DATA_TESTID } from '../../../../configs/constants.js';\n\ntype MultiSelectFilterValue = DSComboboxT.SelectedOptionsT;\n\nexport const MultiSelectFilter: React.ComponentType<DSDataTableT.FilterProps<MultiSelectFilterValue>> = ({\n column,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n reduxHeader,\n filterValue,\n innerRef,\n}) => (\n <BaseSelectFilter\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER}\n isMulti\n column={column}\n filterValue={filterValue ?? []}\n type={FILTER_TYPES.MULTI_SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport type { DSComboboxT } from '@elliemae/ds-form-combobox';\nimport { uid } from 'uid';\nimport type { DSDataTableT } from '../../../../react-desc-prop-types.js';\nimport { BaseSelectFilter } from './BaseSelectFilter.js';\nimport { FILTER_TYPES } from '../../../../exported-related/index.js';\nimport { DATA_TESTID } from '../../../../configs/constants.js';\n\ntype MultiSelectFilterValue = DSComboboxT.SelectedOptionsT;\n\nexport const MultiSelectFilter: React.ComponentType<DSDataTableT.FilterProps<MultiSelectFilterValue>> = ({\n column,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n reduxHeader,\n filterValue,\n innerRef,\n domIdAffix = uid(4),\n}) => (\n <BaseSelectFilter\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER}\n isMulti\n column={column}\n filterValue={filterValue ?? []}\n type={FILTER_TYPES.MULTI_SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n domIdAffix={domIdAffix}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoBrB;AAlBF,iBAAoB;AAEpB,8BAAiC;AACjC,8BAA6B;AAC7B,uBAA4B;AAIrB,MAAM,oBAA2F,CAAC;AAAA,EACvG;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAa,gBAAI,CAAC;AACpB,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,eAAa,6BAAY;AAAA,IACzB,SAAO;AAAA,IACP;AAAA,IACA,aAAa,eAAe,CAAC;AAAA,IAC7B,MAAM,qCAAa;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -33,6 +33,7 @@ __export(SingleCreatableFilter_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(SingleCreatableFilter_exports);
|
|
34
34
|
var React = __toESM(require("react"));
|
|
35
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_uid = require("uid");
|
|
36
37
|
var import_BaseSelectFilter = require("./BaseSelectFilter.js");
|
|
37
38
|
var import_exported_related = require("../../../../exported-related/index.js");
|
|
38
39
|
var import_constants = require("../../../../configs/constants.js");
|
|
@@ -43,7 +44,8 @@ const SingleCreatableFilter = ({
|
|
|
43
44
|
onValueChange,
|
|
44
45
|
filterValue,
|
|
45
46
|
reduxHeader,
|
|
46
|
-
innerRef
|
|
47
|
+
innerRef,
|
|
48
|
+
domIdAffix = (0, import_uid.uid)(4)
|
|
47
49
|
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
48
50
|
import_BaseSelectFilter.BaseSelectFilter,
|
|
49
51
|
{
|
|
@@ -56,7 +58,8 @@ const SingleCreatableFilter = ({
|
|
|
56
58
|
onValueChange,
|
|
57
59
|
patchHeaderFilterButtonAndMenu,
|
|
58
60
|
patchHeader,
|
|
59
|
-
innerRef
|
|
61
|
+
innerRef,
|
|
62
|
+
domIdAffix
|
|
60
63
|
}
|
|
61
64
|
);
|
|
62
65
|
//# sourceMappingURL=SingleCreatableFilter.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SelectFilter/SingleCreatableFilter.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { uid } from 'uid';\nimport type { DSComboboxT } from '@elliemae/ds-form-combobox';\nimport { BaseSelectFilter } from './BaseSelectFilter.js';\nimport type { DSDataTableT } from '../../../../react-desc-prop-types.js';\nimport { FILTER_TYPES } from '../../../../exported-related/index.js';\nimport { DATA_TESTID } from '../../../../configs/constants.js';\n\ntype SingleCreatableFilterValue = DSComboboxT.SelectedOptionsT;\n\nexport const SingleCreatableFilter: React.ComponentType<DSDataTableT.FilterProps<SingleCreatableFilterValue>> = ({\n column,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n onValueChange,\n filterValue,\n reduxHeader,\n innerRef,\n domIdAffix = uid(4),\n}) => (\n <BaseSelectFilter\n creatable\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER}\n column={column}\n filterValue={filterValue}\n type={FILTER_TYPES.SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n domIdAffix={domIdAffix}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoBrB;AAnBF,iBAAoB;AAEpB,8BAAiC;AAEjC,8BAA6B;AAC7B,uBAA4B;AAIrB,MAAM,wBAAmG,CAAC;AAAA,EAC/G;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAa,gBAAI,CAAC;AACpB,MACE;AAAA,EAAC;AAAA;AAAA,IACC,WAAS;AAAA,IACT;AAAA,IACA,eAAa,6BAAY;AAAA,IACzB;AAAA,IACA;AAAA,IACA,MAAM,qCAAa;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -34,6 +34,7 @@ module.exports = __toCommonJS(SingleSelectFilter_exports);
|
|
|
34
34
|
var React = __toESM(require("react"));
|
|
35
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
36
|
var import_BaseSelectFilter = require("./BaseSelectFilter.js");
|
|
37
|
+
var import_uid = require("uid");
|
|
37
38
|
var import_exported_related = require("../../../../exported-related/index.js");
|
|
38
39
|
var import_constants = require("../../../../configs/constants.js");
|
|
39
40
|
const SingleSelectFilter = ({
|
|
@@ -43,7 +44,8 @@ const SingleSelectFilter = ({
|
|
|
43
44
|
onValueChange,
|
|
44
45
|
filterValue,
|
|
45
46
|
reduxHeader,
|
|
46
|
-
innerRef
|
|
47
|
+
innerRef,
|
|
48
|
+
domIdAffix = (0, import_uid.uid)(4)
|
|
47
49
|
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
48
50
|
import_BaseSelectFilter.BaseSelectFilter,
|
|
49
51
|
{
|
|
@@ -55,7 +57,8 @@ const SingleSelectFilter = ({
|
|
|
55
57
|
onValueChange,
|
|
56
58
|
patchHeaderFilterButtonAndMenu,
|
|
57
59
|
patchHeader,
|
|
58
|
-
innerRef
|
|
60
|
+
innerRef,
|
|
61
|
+
domIdAffix
|
|
59
62
|
}
|
|
60
63
|
);
|
|
61
64
|
//# sourceMappingURL=SingleSelectFilter.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SelectFilter/SingleSelectFilter.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { BaseSelectFilter } from './BaseSelectFilter.js';\nimport type { DSComboboxT } from '@elliemae/ds-form-combobox';\nimport type { DSDataTableT } from '../../../../react-desc-prop-types.js';\nimport { FILTER_TYPES } from '../../../../exported-related/index.js';\nimport { DATA_TESTID } from '../../../../configs/constants.js';\n\ntype SingleSelectFilterValue = DSComboboxT.SelectedOptionsT;\n\nexport const SingleSelectFilter: React.ComponentType<DSDataTableT.FilterProps<SingleSelectFilterValue>> = ({\n column,\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 filterValue={filterValue}\n type={FILTER_TYPES.SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { BaseSelectFilter } from './BaseSelectFilter.js';\nimport type { DSComboboxT } from '@elliemae/ds-form-combobox';\nimport { uid } from 'uid';\nimport type { DSDataTableT } from '../../../../react-desc-prop-types.js';\nimport { FILTER_TYPES } from '../../../../exported-related/index.js';\nimport { DATA_TESTID } from '../../../../configs/constants.js';\n\ntype SingleSelectFilterValue = DSComboboxT.SelectedOptionsT;\n\nexport const SingleSelectFilter: React.ComponentType<DSDataTableT.FilterProps<SingleSelectFilterValue>> = ({\n column,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n onValueChange,\n filterValue,\n reduxHeader,\n innerRef,\n domIdAffix = uid(4),\n}) => (\n <BaseSelectFilter\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER}\n column={column}\n filterValue={filterValue}\n type={FILTER_TYPES.SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n domIdAffix={domIdAffix}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoBrB;AAnBF,8BAAiC;AAEjC,iBAAoB;AAEpB,8BAA6B;AAC7B,uBAA4B;AAIrB,MAAM,qBAA6F,CAAC;AAAA,EACzG;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAa,gBAAI,CAAC;AACpB,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,eAAa,6BAAY;AAAA,IACzB;AAAA,IACA;AAAA,IACA,MAAM,qCAAa;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/configs/constants.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["export const momentFormat = 'MM/DD/YYYY';\nexport const ColsLayoutStyle = {\n Fixed: 'fixed',\n Auto: 'auto',\n} as const;\n\nexport const DropIndicatorPosition = {\n None: 'none',\n Before: 'before',\n After: 'after',\n Inside: 'inside',\n} as const;\n\nexport const DATA_TESTID = {\n DATA_TABLE_WRAPPER: 'data-table-wrapper',\n DATA_TABLE_GLOBAL_EXPAND_CELL: 'data-table-global-expand-cell',\n DATA_TABLE_ICON_ARROW_DOWN: 'ic-arrow-head-down',\n DATA_TABLE_ICON_ARROW_RIGHT: 'ic-arrow-head-right',\n DATA_TABLE_ICON_ARROW_MIXED: 'ic-arrow-head-mixed',\n DATA_TABLE_ICON_CHILD: 'ic-arrow-child',\n DATA_TABLE_GLOBAL_CHECKBOX: 'data-table-global-checkbox',\n DATA_TABLE_CHECKBOX: 'data-table-checkbox',\n DATA_TABLE_RADIO: 'data-table-radio',\n DATA_TABLE_DATE_RANGE_CONTROLLER: 'data-table-date-range',\n DATA_TABLE_DATE_RANGE_CONTROLLER_CHECKBOX_SWITCHER: 'data-table-date-range-checkbox-switcher-container',\n DATA_TABLE_SINGLE_DATE_CONTROLLER: 'data-table-single-date',\n DATA_TABLE_NUMBER_RANGE_CONTROLLER: 'data-table-number-range',\n DATA_TABLE_CURRENCY_RANGE_CONTROLLER: 'data-table-currency-range',\n DATA_TABLE_SELECT_MENU_ITEM: 'data-table-filter-menu-list-item',\n DATA_TABLE_MULTISELECT_CONTROLLER: 'data-table-multi-select',\n DATA_TABLE_SINGLESELECT_CONTROLLER: 'data-table-single-select',\n DATA_TABLE_FILTER_BUTTON: 'data-table-filter-menu-button',\n DATA_TABLE_FILTER_MENU_CONTENT: 'data-table-filter-menu-content',\n DATA_TABLE_ROW_CONTENT: 'data-table-row-content',\n DATA_TABLE_ROW: 'data-table-row',\n DATA_TABLE_TOOLBAR_TRIGGER: 'data-table-toolbar-trigger',\n DATA_TABLE_CELL: 'data-table-cell',\n DATA_TABLE_DRAG_HANDLE: 'data-table-drag-handle',\n DATA_TABLE_CONTENT_WRAPPER: 'data-table-content-wrapper',\n DATA_TABLE_TABLE: 'data-table-table',\n DATA_TABLE_SCROLLABLE_CONTAINER: 'data-table-scrollable-container',\n DATA_TABLE_HEADER: 'data-table-header',\n DATA_TABLE_ROW_HEADER_CONTENT: 'data-table-row-header-content',\n DATA_TABLE_ROW_GROUP_HEADER: 'data-table-row-group-header',\n DATA_TABLE_COLUMN_DRAG_OVERLAY: 'data-table-drag-column-drag-overlay',\n DATA_TABLE_HEADER_CELL_TITLE: 'header-cell-title',\n DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON: 'filter-bar-ddmenu-button',\n};\n\nexport const EMPTY_FILTER = 'ds-empty-filter';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["export const momentFormat = 'MM/DD/YYYY';\nexport const ColsLayoutStyle = {\n Fixed: 'fixed',\n Auto: 'auto',\n} as const;\n\nexport const DropIndicatorPosition = {\n None: 'none',\n Before: 'before',\n After: 'after',\n Inside: 'inside',\n} as const;\n\nexport const DATA_TESTID = {\n DATA_TABLE_WRAPPER: 'data-table-wrapper',\n DATA_TABLE_GLOBAL_EXPAND_CELL: 'data-table-global-expand-cell',\n DATA_TABLE_ICON_ARROW_DOWN: 'ic-arrow-head-down',\n DATA_TABLE_ICON_ARROW_RIGHT: 'ic-arrow-head-right',\n DATA_TABLE_ICON_ARROW_MIXED: 'ic-arrow-head-mixed',\n DATA_TABLE_ICON_CHILD: 'ic-arrow-child',\n DATA_TABLE_GLOBAL_CHECKBOX: 'data-table-global-checkbox',\n DATA_TABLE_CHECKBOX: 'data-table-checkbox',\n DATA_TABLE_RADIO: 'data-table-radio',\n DATA_TABLE_DATE_RANGE_CONTROLLER: 'data-table-date-range',\n DATA_TABLE_DATE_RANGE_CONTROLLER_CHECKBOX_SWITCHER: 'data-table-date-range-checkbox-switcher-container',\n DATA_TABLE_SINGLE_DATE_CONTROLLER: 'data-table-single-date',\n DATA_TABLE_NUMBER_RANGE_CONTROLLER: 'data-table-number-range',\n DATA_TABLE_CURRENCY_RANGE_CONTROLLER: 'data-table-currency-range',\n DATA_TABLE_SELECT_MENU_ITEM: 'data-table-filter-menu-list-item',\n DATA_TABLE_MULTISELECT_CONTROLLER: 'data-table-multi-select',\n DATA_TABLE_SINGLESELECT_CONTROLLER: 'data-table-single-select',\n DATA_TABLE_FILTER_BUTTON: 'data-table-filter-menu-button',\n DATA_TABLE_FILTER_MENU_CONTENT: 'data-table-filter-menu-content',\n DATA_TABLE_ROW_CONTENT: 'data-table-row-content',\n DATA_TABLE_ROW: 'data-table-row',\n DATA_TABLE_TOOLBAR_TRIGGER: 'data-table-toolbar-trigger',\n DATA_TABLE_CELL: 'data-table-cell',\n DATA_TABLE_DRAG_HANDLE: 'data-table-drag-handle',\n DATA_TABLE_CONTENT_WRAPPER: 'data-table-content-wrapper',\n DATA_TABLE_TABLE: 'data-table-table',\n DATA_TABLE_SCROLLABLE_CONTAINER: 'data-table-scrollable-container',\n DATA_TABLE_HEADER: 'data-table-header',\n DATA_TABLE_ROW_HEADER_CONTENT: 'data-table-row-header-content',\n DATA_TABLE_ROW_GROUP_HEADER: 'data-table-row-group-header',\n DATA_TABLE_COLUMN_DRAG_OVERLAY: 'data-table-drag-column-drag-overlay',\n DATA_TABLE_HEADER_CELL_TITLE: 'header-cell-title',\n DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON: 'filter-bar-ddmenu-button',\n} as const;\n\nexport const EMPTY_FILTER = 'ds-empty-filter';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,eAAe;AACrB,MAAM,kBAAkB;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AACR;AAEO,MAAM,wBAAwB;AAAA,EACnC,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AACV;AAEO,MAAM,cAAc;AAAA,EACzB,oBAAoB;AAAA,EACpB,+BAA+B;AAAA,EAC/B,4BAA4B;AAAA,EAC5B,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,EAC7B,uBAAuB;AAAA,EACvB,4BAA4B;AAAA,EAC5B,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,kCAAkC;AAAA,EAClC,oDAAoD;AAAA,EACpD,mCAAmC;AAAA,EACnC,oCAAoC;AAAA,EACpC,sCAAsC;AAAA,EACtC,6BAA6B;AAAA,EAC7B,mCAAmC;AAAA,EACnC,oCAAoC;AAAA,EACpC,0BAA0B;AAAA,EAC1B,gCAAgC;AAAA,EAChC,wBAAwB;AAAA,EACxB,gBAAgB;AAAA,EAChB,4BAA4B;AAAA,EAC5B,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,4BAA4B;AAAA,EAC5B,kBAAkB;AAAA,EAClB,iCAAiC;AAAA,EACjC,mBAAmB;AAAA,EACnB,+BAA+B;AAAA,EAC/B,6BAA6B;AAAA,EAC7B,gCAAgC;AAAA,EAChC,8BAA8B;AAAA,EAC9B,sCAAsC;AACxC;AAEO,MAAM,eAAe;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,6 +5,10 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
8
12
|
var __copyProps = (to, from, except, desc) => {
|
|
9
13
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
14
|
for (let key of __getOwnPropNames(from))
|
|
@@ -13,7 +17,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
13
17
|
}
|
|
14
18
|
return to;
|
|
15
19
|
};
|
|
16
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
17
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
18
21
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
19
22
|
// file that has been converted to a CommonJS file using a Babel-
|
|
@@ -24,7 +27,15 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
24
27
|
));
|
|
25
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
29
|
var useStore_exports = {};
|
|
30
|
+
__export(useStore_exports, {
|
|
31
|
+
InternalProvider: () => import_useStore.InternalProvider,
|
|
32
|
+
PropsProvider: () => import_useStore.PropsProvider,
|
|
33
|
+
config: () => import_useStore.config,
|
|
34
|
+
useInternalStore: () => import_useStore.useInternalStore,
|
|
35
|
+
usePropsStore: () => import_useStore.usePropsStore,
|
|
36
|
+
useWholeStore: () => import_useStore.useWholeStore
|
|
37
|
+
});
|
|
27
38
|
module.exports = __toCommonJS(useStore_exports);
|
|
28
39
|
var React = __toESM(require("react"));
|
|
29
|
-
|
|
40
|
+
var import_useStore = require("./useStore.js");
|
|
30
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/configs/useStore/index.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["export
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["export { PropsProvider, usePropsStore, InternalProvider, useInternalStore, useWholeStore, config } from './useStore.js';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,sBAAwG;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/configs/useStore/useStore.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { createInternalAndPropsContext, type ZustandT } from '@elliemae/ds-zustand-helpers';\nimport { defaultProps, type DSDataTableT } from '../../react-desc-prop-types.js';\nimport { useAutoCalculated } from '../useAutocalculated/index.js';\n\nconst internalAtomDefaultValues: DSDataTableT.InternalAtoms = {\n drilldownRowId: null,\n focusedRowId: null,\n isShiftPressed: false,\n reduxHeaders: {},\n};\n\nconst selectors: ZustandT.SelectorObject<DSDataTableT.ShuttleInternalStore, DSDataTableT.Selectors> = () => ({});\n\nconst reducers: ZustandT.ReducerObject<DSDataTableT.ShuttleInternalStore, DSDataTableT.Reducers> = (get, set) => ({\n patchHeader: (headerId, newHeader) => {\n set((state) => ({\n reduxHeaders: {\n ...state.reduxHeaders,\n [headerId]: { ...(state.reduxHeaders?.[headerId] ?? {}), ...newHeader },\n },\n }));\n },\n patchHeaderFilterButtonAndMenu: (headerId, value) => {\n set((state) => ({\n reduxHeaders: {\n ...state.reduxHeaders,\n [headerId]: { ...(state.reduxHeaders?.[headerId] ?? {}), hideFilterMenu: value, hideFilterButton: value },\n },\n }));\n },\n});\n\nconst subscribers: ZustandT.Subscribers<DSDataTableT.ShuttleInternalStore> = () => {};\n\nexport const { PropsProvider, usePropsStore, InternalProvider, useInternalStore } = createInternalAndPropsContext<\n DSDataTableT.InternalProps,\n DSDataTableT.InternalAtoms,\n DSDataTableT.UseAutoCalculatedT,\n DSDataTableT.Selectors,\n DSDataTableT.Reducers\n>();\n\nexport const useWholeStore = (): DSDataTableT.Context => {\n const {\n columnHeaderRef,\n virtualListRef,\n flattenedData,\n allDataFlattened,\n isEmptyContent,\n firstFocuseableColumnHeaderId,\n visibleColumns,\n virtualListHelpers,\n layoutHelpers,\n paginationHelpers,\n lastSelected,\n ...tableProps\n } = usePropsStore((state) => state);\n\n const internalStore = useInternalStore((state) => state);\n return {\n tableProps,\n columnHeaderRef,\n virtualListRef,\n flattenedData,\n allDataFlattened,\n isEmptyContent,\n firstFocuseableColumnHeaderId,\n visibleColumns,\n virtualListHelpers,\n layoutHelpers,\n paginationHelpers,\n lastSelected,\n ...internalStore,\n };\n};\n\nexport const config = {\n defaultProps: defaultProps as DSDataTableT.InternalProps,\n internalAtomDefaultValues: internalAtomDefaultValues,\n useAutoCalculated,\n selectors,\n reducers,\n subscribers,\n PropsProvider,\n usePropsStore,\n InternalProvider,\n useInternalStore,\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["import { createInternalAndPropsContext, type ZustandT } from '@elliemae/ds-zustand-helpers';\nimport { defaultProps, type DSDataTableT } from '../../react-desc-prop-types.js';\nimport { useAutoCalculated } from '../useAutocalculated/index.js';\n\nconst internalAtomDefaultValues: DSDataTableT.InternalAtoms = {\n drilldownRowId: null,\n focusedRowId: null,\n isShiftPressed: false,\n reduxHeaders: {},\n};\n\nconst selectors: ZustandT.SelectorObject<DSDataTableT.ShuttleInternalStore, DSDataTableT.Selectors> = () => ({});\n\nconst reducers: ZustandT.ReducerObject<DSDataTableT.ShuttleInternalStore, DSDataTableT.Reducers> = (get, set) => ({\n patchHeader: (headerId, newHeader) => {\n set((state) => ({\n reduxHeaders: {\n ...state.reduxHeaders,\n [headerId]: { ...(state.reduxHeaders?.[headerId] ?? {}), ...newHeader },\n },\n }));\n },\n patchHeaderFilterButtonAndMenu: (headerId, value) => {\n set((state) => ({\n reduxHeaders: {\n ...state.reduxHeaders,\n [headerId]: { ...(state.reduxHeaders?.[headerId] ?? {}), hideFilterMenu: value, hideFilterButton: value },\n },\n }));\n },\n});\n\nconst subscribers: ZustandT.Subscribers<DSDataTableT.ShuttleInternalStore> = () => {};\n\nexport const { PropsProvider, usePropsStore, InternalProvider, useInternalStore } = createInternalAndPropsContext<\n DSDataTableT.InternalProps,\n DSDataTableT.InternalAtoms,\n DSDataTableT.UseAutoCalculatedT,\n DSDataTableT.Selectors,\n DSDataTableT.Reducers\n>();\n\nexport const useWholeStore = (): DSDataTableT.Context => {\n const {\n columnHeaderRef,\n virtualListRef,\n flattenedData,\n allDataFlattened,\n isEmptyContent,\n firstFocuseableColumnHeaderId,\n visibleColumns,\n virtualListHelpers,\n layoutHelpers,\n paginationHelpers,\n lastSelected,\n ...tableProps\n } = usePropsStore((state) => state);\n\n const internalStore = useInternalStore((state) => state);\n return {\n tableProps,\n columnHeaderRef,\n virtualListRef,\n flattenedData,\n allDataFlattened,\n isEmptyContent,\n firstFocuseableColumnHeaderId,\n visibleColumns,\n virtualListHelpers,\n layoutHelpers,\n paginationHelpers,\n lastSelected,\n ...internalStore,\n };\n};\n\nexport const config = {\n defaultProps: defaultProps as () => DSDataTableT.InternalProps,\n internalAtomDefaultValues: internalAtomDefaultValues,\n useAutoCalculated,\n selectors,\n reducers,\n subscribers,\n PropsProvider,\n usePropsStore,\n InternalProvider,\n useInternalStore,\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,gCAA6D;AAC7D,mCAAgD;AAChD,+BAAkC;AAElC,MAAM,4BAAwD;AAAA,EAC5D,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,cAAc,CAAC;AACjB;AAEA,MAAM,YAAgG,OAAO,CAAC;AAE9G,MAAM,WAA6F,CAAC,KAAK,SAAS;AAAA,EAChH,aAAa,CAAC,UAAU,cAAc;AACpC,QAAI,CAAC,WAAW;AAAA,MACd,cAAc;AAAA,QACZ,GAAG,MAAM;AAAA,QACT,CAAC,QAAQ,GAAG,EAAE,GAAI,MAAM,eAAe,QAAQ,KAAK,CAAC,GAAI,GAAG,UAAU;AAAA,MACxE;AAAA,IACF,EAAE;AAAA,EACJ;AAAA,EACA,gCAAgC,CAAC,UAAU,UAAU;AACnD,QAAI,CAAC,WAAW;AAAA,MACd,cAAc;AAAA,QACZ,GAAG,MAAM;AAAA,QACT,CAAC,QAAQ,GAAG,EAAE,GAAI,MAAM,eAAe,QAAQ,KAAK,CAAC,GAAI,gBAAgB,OAAO,kBAAkB,MAAM;AAAA,MAC1G;AAAA,IACF,EAAE;AAAA,EACJ;AACF;AAEA,MAAM,cAAuE,MAAM;AAAC;AAE7E,MAAM,EAAE,eAAe,eAAe,kBAAkB,iBAAiB,QAAI,yDAMlF;AAEK,MAAM,gBAAgB,MAA4B;AACvD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI,cAAc,CAAC,UAAU,KAAK;AAElC,QAAM,gBAAgB,iBAAiB,CAAC,UAAU,KAAK;AACvD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AACF;AAEO,MAAM,SAAS;AAAA,EACpB,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -38,6 +38,7 @@ var import_styled = require("../styled.js");
|
|
|
38
38
|
var import_useStore = require("../configs/useStore/useStore.js");
|
|
39
39
|
const EditableCell = (props) => {
|
|
40
40
|
const { StandardRender, EditableRenderer, cell, isRowSelected } = props;
|
|
41
|
+
const domIdAffix = (0, import_useStore.usePropsStore)((state) => state.domIdAffix);
|
|
41
42
|
const virtualListHelpers = (0, import_useStore.usePropsStore)((state) => state.virtualListHelpers);
|
|
42
43
|
const [isEditing, setIsEditing] = (0, import_react.useState)(false);
|
|
43
44
|
const [lastIsEditing, setLastIsEditing] = (0, import_react.useState)(false);
|
|
@@ -93,7 +94,7 @@ const EditableCell = (props) => {
|
|
|
93
94
|
children: [
|
|
94
95
|
!isEditing ? StandardRender : EditableRenderer,
|
|
95
96
|
!isEditing && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledPencilIcon, {}),
|
|
96
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { id: cell.id
|
|
97
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { id: `editable-cell-${cell.id}-${domIdAffix}`, style: { display: "none" }, "aria-hidden": "true", children: [
|
|
97
98
|
cell.value,
|
|
98
99
|
", editable cell. To edit the content's of this cell, press the Enter key"
|
|
99
100
|
] })
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/exported-related/EditableCell.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React, { useState, useCallback, useLayoutEffect } from 'react';\nimport { StyledPencilIcon, StyledEditableContainer } from '../styled.js';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\nimport { usePropsStore } from '../configs/useStore/useStore.js';\n\nexport const EditableCell: React.ComponentType<{\n StandardRender: JSX.Element;\n EditableRenderer: JSX.Element;\n cell: DSDataTableT.Cell<HTMLDivElement>;\n isRowSelected?: boolean;\n}> = (props) => {\n const { StandardRender, EditableRenderer, cell, isRowSelected } = props;\n const virtualListHelpers = usePropsStore((state) => state.virtualListHelpers);\n\n const [isEditing, setIsEditing] = useState(false);\n const [lastIsEditing, setLastIsEditing] = useState(false);\n // When an editable cell is switched on-off, we recalculate the height of the rows\n useLayoutEffect(() => {\n if (isEditing !== lastIsEditing) {\n virtualListHelpers.measure();\n setLastIsEditing(isEditing);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEditing]);\n\n const handleCellClick = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n if (!isEditing) {\n e.stopPropagation();\n setIsEditing(true);\n }\n },\n [isEditing],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isEditing) {\n e.stopPropagation();\n if (['Enter', 'Escape'].includes(e.code)) {\n setIsEditing(false);\n }\n } else if (['Enter', 'Space'].includes(e.code)) {\n handleCellClick(e);\n }\n },\n [isEditing, handleCellClick, setIsEditing],\n );\n\n const handleOnBlur = useCallback(\n (event: React.FocusEvent) => {\n if (isEditing && !event.currentTarget?.contains(event.relatedTarget)) {\n // Not triggered when swapping focus between children\n setIsEditing(false);\n }\n },\n [isEditing],\n );\n const cols = !isEditing ? ['auto', 'min-content'] : ['auto'];\n return (\n <StyledEditableContainer\n cols={cols}\n tabIndex={isRowSelected && !isEditing ? 0 : -1}\n innerRef={cell.ref}\n onClick={handleCellClick}\n onKeyDown={handleOnKeyDown}\n onBlur={handleOnBlur}\n shouldDisplayEditIcon={cell.column.alwaysDisplayEditIcon}\n role=\"group\"\n aria-labelledby={isEditing ? undefined : cell.id}\n >\n {!isEditing ? StandardRender : EditableRenderer}\n {!isEditing && <StyledPencilIcon />}\n <span id={cell.id} style={{ display: 'none' }} aria-hidden=\"true\">\n {cell.value as string}, editable cell. To edit the content's of this cell, press the Enter key\n </span>\n </StyledEditableContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React, { useState, useCallback, useLayoutEffect } from 'react';\nimport { StyledPencilIcon, StyledEditableContainer } from '../styled.js';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\nimport { usePropsStore } from '../configs/useStore/useStore.js';\n\nexport const EditableCell: React.ComponentType<{\n StandardRender: JSX.Element;\n EditableRenderer: JSX.Element;\n cell: DSDataTableT.Cell<HTMLDivElement>;\n isRowSelected?: boolean;\n}> = (props) => {\n const { StandardRender, EditableRenderer, cell, isRowSelected } = props;\n const domIdAffix = usePropsStore((state) => state.domIdAffix);\n const virtualListHelpers = usePropsStore((state) => state.virtualListHelpers);\n\n const [isEditing, setIsEditing] = useState(false);\n const [lastIsEditing, setLastIsEditing] = useState(false);\n // When an editable cell is switched on-off, we recalculate the height of the rows\n useLayoutEffect(() => {\n if (isEditing !== lastIsEditing) {\n virtualListHelpers.measure();\n setLastIsEditing(isEditing);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEditing]);\n\n const handleCellClick = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n if (!isEditing) {\n e.stopPropagation();\n setIsEditing(true);\n }\n },\n [isEditing],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isEditing) {\n e.stopPropagation();\n if (['Enter', 'Escape'].includes(e.code)) {\n setIsEditing(false);\n }\n } else if (['Enter', 'Space'].includes(e.code)) {\n handleCellClick(e);\n }\n },\n [isEditing, handleCellClick, setIsEditing],\n );\n\n const handleOnBlur = useCallback(\n (event: React.FocusEvent) => {\n if (isEditing && !event.currentTarget?.contains(event.relatedTarget)) {\n // Not triggered when swapping focus between children\n setIsEditing(false);\n }\n },\n [isEditing],\n );\n const cols = !isEditing ? ['auto', 'min-content'] : ['auto'];\n return (\n <StyledEditableContainer\n cols={cols}\n tabIndex={isRowSelected && !isEditing ? 0 : -1}\n innerRef={cell.ref}\n onClick={handleCellClick}\n onKeyDown={handleOnKeyDown}\n onBlur={handleOnBlur}\n shouldDisplayEditIcon={cell.column.alwaysDisplayEditIcon}\n role=\"group\"\n aria-labelledby={isEditing ? undefined : cell.id}\n >\n {!isEditing ? StandardRender : EditableRenderer}\n {!isEditing && <StyledPencilIcon />}\n <span id={`editable-cell-${cell.id}-${domIdAffix}`} style={{ display: 'none' }} aria-hidden=\"true\">\n {cell.value as string}, editable cell. To edit the content's of this cell, press the Enter key\n </span>\n </StyledEditableContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADyEF;AAzErB,mBAA8D;AAC9D,oBAA0D;AAE1D,sBAA8B;AAEvB,MAAM,eAKR,CAAC,UAAU;AACd,QAAM,EAAE,gBAAgB,kBAAkB,MAAM,cAAc,IAAI;AAClE,QAAM,iBAAa,+BAAc,CAAC,UAAU,MAAM,UAAU;AAC5D,QAAM,yBAAqB,+BAAc,CAAC,UAAU,MAAM,kBAAkB;AAE5E,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,KAAK;AAExD,oCAAgB,MAAM;AACpB,QAAI,cAAc,eAAe;AAC/B,yBAAmB,QAAQ;AAC3B,uBAAiB,SAAS;AAAA,IAC5B;AAAA,EAEF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA8C;AAC7C,UAAI,CAAC,WAAW;AACd,UAAE,gBAAgB;AAClB,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,WAAW;AACb,UAAE,gBAAgB;AAClB,YAAI,CAAC,SAAS,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG;AACxC,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,wBAAgB,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,iBAAiB,YAAY;AAAA,EAC3C;AAEA,QAAM,mBAAe;AAAA,IACnB,CAAC,UAA4B;AAC3B,UAAI,aAAa,CAAC,MAAM,eAAe,SAAS,MAAM,aAAa,GAAG;AAEpE,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,aAAa,IAAI,CAAC,MAAM;AAC3D,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,UAAU,iBAAiB,CAAC,YAAY,IAAI;AAAA,MAC5C,UAAU,KAAK;AAAA,MACf,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,uBAAuB,KAAK,OAAO;AAAA,MACnC,MAAK;AAAA,MACL,mBAAiB,YAAY,SAAY,KAAK;AAAA,MAE7C;AAAA,SAAC,YAAY,iBAAiB;AAAA,QAC9B,CAAC,aAAa,4CAAC,kCAAiB;AAAA,QACjC,6CAAC,UAAK,IAAI,iBAAiB,KAAK,MAAM,cAAc,OAAO,EAAE,SAAS,OAAO,GAAG,eAAY,QACzF;AAAA,eAAK;AAAA,UAAgB;AAAA,WACxB;AAAA;AAAA;AAAA,EACF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -49,11 +49,15 @@ const filterMapper = {
|
|
|
49
49
|
[import_FilterTypes.FILTER_TYPES.NUMBER_RANGE]: import_numberRangeFilterFn.numberRangeFilterFn,
|
|
50
50
|
[import_FilterTypes.FILTER_TYPES.CURRENCY_RANGE]: import_currencyRangeFilterFn.currencyRangeFilterFn
|
|
51
51
|
};
|
|
52
|
+
const isFilterTypeOutOfTheBox = (type) => Object.keys(filterMapper).includes(type);
|
|
52
53
|
const applyOutOfTheBoxFilters = (data, filters) => {
|
|
53
54
|
let filteredData = data;
|
|
54
55
|
filters.forEach((filter) => {
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
const { type } = filter;
|
|
57
|
+
if (isFilterTypeOutOfTheBox(type)) {
|
|
58
|
+
const outOfTheBoxfilterFromMapper = filterMapper[type];
|
|
59
|
+
const outOfTheBoxFilterValue = filter.value;
|
|
60
|
+
filteredData = outOfTheBoxfilterFromMapper(filteredData, filter.id, outOfTheBoxFilterValue);
|
|
57
61
|
}
|
|
58
62
|
});
|
|
59
63
|
return filteredData;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/Filters/applyOutOfTheBoxFilters.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { singleSelectFilterFn } from './singleSelectFilterFn.js';\nimport { multiSelectFilterFn } from './multiSelectFilterFn.js';\nimport { singleDateFilterFn } from './singleDateFilterFn.js';\nimport { dateRangeFilterFn } from './dateRangeFilterFn.js';\nimport { dateSwitcherFilterFn } from './dateSwitcherFilterFn.js';\nimport { numberRangeFilterFn } from './numberRangeFilterFn.js';\nimport { currencyRangeFilterFn } from './currencyRangeFilterFn.js';\nimport
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,kCAAqC;AACrC,iCAAoC;AACpC,gCAAmC;AACnC,+BAAkC;AAClC,kCAAqC;AACrC,iCAAoC;AACpC,mCAAsC;
|
|
4
|
+
"sourcesContent": ["import { singleSelectFilterFn } from './singleSelectFilterFn.js';\nimport { multiSelectFilterFn } from './multiSelectFilterFn.js';\nimport { singleDateFilterFn } from './singleDateFilterFn.js';\nimport { dateRangeFilterFn } from './dateRangeFilterFn.js';\nimport { dateSwitcherFilterFn } from './dateSwitcherFilterFn.js';\nimport { numberRangeFilterFn } from './numberRangeFilterFn.js';\nimport { currencyRangeFilterFn } from './currencyRangeFilterFn.js';\nimport { FILTER_TYPES } from '../FilterTypes.js';\nimport type { DSDataTableT } from '../../react-desc-prop-types.js';\n\nconst filterMapper = {\n [FILTER_TYPES.SELECT]: singleSelectFilterFn,\n [FILTER_TYPES.MULTI_SELECT]: multiSelectFilterFn,\n [FILTER_TYPES.SINGLE_DATE]: singleDateFilterFn,\n [FILTER_TYPES.DATE_RANGE]: dateRangeFilterFn,\n [FILTER_TYPES.DATE_SWITCHER]: dateSwitcherFilterFn,\n [FILTER_TYPES.NUMBER_RANGE]: numberRangeFilterFn,\n [FILTER_TYPES.CURRENCY_RANGE]: currencyRangeFilterFn,\n} as const;\n\ntype OutOfTheBoxFilterType = keyof typeof filterMapper;\n\nconst isFilterTypeOutOfTheBox = (type: string): type is OutOfTheBoxFilterType =>\n Object.keys(filterMapper).includes(type);\n\nexport const applyOutOfTheBoxFilters = (\n data: DSDataTableT.Row[],\n filters: DSDataTableT.Filter[],\n): DSDataTableT.Row[] => {\n let filteredData = data;\n\n filters.forEach((filter) => {\n const { type } = filter;\n if (isFilterTypeOutOfTheBox(type)) {\n // all the out of the box filters have internal validation for the filter value\n // so we can safely call the filter function with the filter value as unknown, and let the filter function validate it\n const outOfTheBoxfilterFromMapper = filterMapper[type] as DSDataTableT.FilterFn<unknown>;\n const outOfTheBoxFilterValue = filter.value;\n filteredData = outOfTheBoxfilterFromMapper(filteredData, filter.id, outOfTheBoxFilterValue);\n }\n });\n\n return filteredData;\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,kCAAqC;AACrC,iCAAoC;AACpC,gCAAmC;AACnC,+BAAkC;AAClC,kCAAqC;AACrC,iCAAoC;AACpC,mCAAsC;AACtC,yBAA6B;AAG7B,MAAM,eAAe;AAAA,EACnB,CAAC,gCAAa,MAAM,GAAG;AAAA,EACvB,CAAC,gCAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,gCAAa,WAAW,GAAG;AAAA,EAC5B,CAAC,gCAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,gCAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,gCAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,gCAAa,cAAc,GAAG;AACjC;AAIA,MAAM,0BAA0B,CAAC,SAC/B,OAAO,KAAK,YAAY,EAAE,SAAS,IAAI;AAElC,MAAM,0BAA0B,CACrC,MACA,YACuB;AACvB,MAAI,eAAe;AAEnB,UAAQ,QAAQ,CAAC,WAAW;AAC1B,UAAM,EAAE,KAAK,IAAI;AACjB,QAAI,wBAAwB,IAAI,GAAG;AAGjC,YAAM,8BAA8B,aAAa,IAAI;AACrD,YAAM,yBAAyB,OAAO;AACtC,qBAAe,4BAA4B,cAAc,OAAO,IAAI,sBAAsB;AAAA,IAC5F;AAAA,EACF,CAAC;AAED,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var currencyRangeFilterFn_exports = {};
|
|
30
30
|
__export(currencyRangeFilterFn_exports, {
|
|
31
|
-
currencyRangeFilterFn: () => currencyRangeFilterFn
|
|
31
|
+
currencyRangeFilterFn: () => currencyRangeFilterFn,
|
|
32
|
+
isFilterValueValidForCurrencyRange: () => isFilterValueValidForCurrencyRange
|
|
32
33
|
});
|
|
33
34
|
module.exports = __toCommonJS(currencyRangeFilterFn_exports);
|
|
34
35
|
var React = __toESM(require("react"));
|
|
@@ -44,13 +45,34 @@ const getNumber = (str) => {
|
|
|
44
45
|
);
|
|
45
46
|
};
|
|
46
47
|
const isEmpty = (number) => Number.isNaN(number) || number === null || number === void 0;
|
|
48
|
+
const isFilterValueValidForCurrencyRange = (value) => {
|
|
49
|
+
if (typeof value !== "object")
|
|
50
|
+
return false;
|
|
51
|
+
if (value === null)
|
|
52
|
+
return false;
|
|
53
|
+
if (Array.isArray(value))
|
|
54
|
+
return false;
|
|
55
|
+
if (typeof value.from !== "string" && typeof value.from !== "number")
|
|
56
|
+
return false;
|
|
57
|
+
if (typeof value.to !== "string" && typeof value.to !== "number")
|
|
58
|
+
return false;
|
|
59
|
+
return true;
|
|
60
|
+
};
|
|
47
61
|
const currencyRangeFilterFn = (unfilteredData, filterKey, filterValue) => {
|
|
62
|
+
if (!filterValue)
|
|
63
|
+
return unfilteredData;
|
|
48
64
|
const fromNumber = getNumber(filterValue.from);
|
|
49
65
|
const toNumber = getNumber(filterValue.to);
|
|
50
66
|
if (isEmpty(fromNumber))
|
|
51
67
|
return unfilteredData;
|
|
52
68
|
if (isEmpty(toNumber))
|
|
53
69
|
return unfilteredData;
|
|
70
|
+
if (!isFilterValueValidForCurrencyRange(filterValue))
|
|
71
|
+
throw new Error(
|
|
72
|
+
`Invalid filter value for currency range filter, expected { from: string | number, to: string | number } received: ${JSON.stringify(
|
|
73
|
+
filterValue
|
|
74
|
+
)}`
|
|
75
|
+
);
|
|
54
76
|
return unfilteredData.filter((datum) => {
|
|
55
77
|
const datumAsNumber = getNumber(datum[filterKey]);
|
|
56
78
|
if (isEmpty(datumAsNumber))
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/Filters/currencyRangeFilterFn.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,MAAM,YAAY,CAAC,QAAgC;AACjD,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,OAAO,QAAQ;AAAU,WAAO;AACpC,MAAI,OAAO,QAAQ;AAAU,WAAO;AACpC,SAAO,OAAO;AAAA,IACZ,IACG,MAAM,EAAE,EACR,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,EAAE,SAAS,CAAC,CAAC,EACrC,KAAK,EAAE;AAAA,EACZ;AACF;AAEA,MAAM,UAAU,CAAC,WACf,OAAO,MAAM,MAAM,KAAK,WAAW,QAAQ,WAAW;AAEjD,MAAM,
|
|
4
|
+
"sourcesContent": ["import type { DSDataTableT } from '../../react-desc-prop-types.js';\n\nconst getNumber = (str: string | null | number) => {\n if (str === null) return null;\n if (typeof str === 'number') return str;\n if (typeof str !== 'string') return null;\n return Number.parseFloat(\n str\n .split('')\n .filter((x) => ![',', '$'].includes(x))\n .join(''),\n );\n};\n\nconst isEmpty = (number: number | null): number is null =>\n Number.isNaN(number) || number === null || number === undefined;\n\nexport const isFilterValueValidForCurrencyRange = (\n value: unknown,\n): value is Parameters<DSDataTableT.FilterFnOutOfTheBoxCurrencyRange>[2] => {\n if (typeof value !== 'object') return false;\n if (value === null) return false;\n if (Array.isArray(value)) return false;\n if (\n typeof (value as { from: string | number }).from !== 'string' &&\n typeof (value as { from: string | number }).from !== 'number'\n )\n return false;\n if (\n typeof (value as { to: string | number }).to !== 'string' &&\n typeof (value as { to: string | number }).to !== 'number'\n )\n return false;\n return true;\n};\n\nexport const currencyRangeFilterFn: DSDataTableT.FilterFnOutOfTheBoxCurrencyRange = (\n unfilteredData,\n filterKey,\n filterValue,\n) => {\n if (!filterValue) return unfilteredData;\n const fromNumber = getNumber(filterValue.from);\n const toNumber = getNumber(filterValue.to);\n if (isEmpty(fromNumber)) return unfilteredData;\n if (isEmpty(toNumber)) return unfilteredData;\n\n if (!isFilterValueValidForCurrencyRange(filterValue))\n throw new Error(\n `Invalid filter value for currency range filter, expected { from: string | number, to: string | number } received: ${JSON.stringify(\n filterValue,\n )}`,\n );\n\n return unfilteredData.filter((datum) => {\n const datumAsNumber = getNumber(datum[filterKey] as string | null | number);\n if (isEmpty(datumAsNumber)) return false;\n return datumAsNumber >= fromNumber && datumAsNumber <= toNumber;\n });\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,MAAM,YAAY,CAAC,QAAgC;AACjD,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,OAAO,QAAQ;AAAU,WAAO;AACpC,MAAI,OAAO,QAAQ;AAAU,WAAO;AACpC,SAAO,OAAO;AAAA,IACZ,IACG,MAAM,EAAE,EACR,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,EAAE,SAAS,CAAC,CAAC,EACrC,KAAK,EAAE;AAAA,EACZ;AACF;AAEA,MAAM,UAAU,CAAC,WACf,OAAO,MAAM,MAAM,KAAK,WAAW,QAAQ,WAAW;AAEjD,MAAM,qCAAqC,CAChD,UAC0E;AAC1E,MAAI,OAAO,UAAU;AAAU,WAAO;AACtC,MAAI,UAAU;AAAM,WAAO;AAC3B,MAAI,MAAM,QAAQ,KAAK;AAAG,WAAO;AACjC,MACE,OAAQ,MAAoC,SAAS,YACrD,OAAQ,MAAoC,SAAS;AAErD,WAAO;AACT,MACE,OAAQ,MAAkC,OAAO,YACjD,OAAQ,MAAkC,OAAO;AAEjD,WAAO;AACT,SAAO;AACT;AAEO,MAAM,wBAAuE,CAClF,gBACA,WACA,gBACG;AACH,MAAI,CAAC;AAAa,WAAO;AACzB,QAAM,aAAa,UAAU,YAAY,IAAI;AAC7C,QAAM,WAAW,UAAU,YAAY,EAAE;AACzC,MAAI,QAAQ,UAAU;AAAG,WAAO;AAChC,MAAI,QAAQ,QAAQ;AAAG,WAAO;AAE9B,MAAI,CAAC,mCAAmC,WAAW;AACjD,UAAM,IAAI;AAAA,MACR,qHAAqH,KAAK;AAAA,QACxH;AAAA,MACF;AAAA,IACF;AAEF,SAAO,eAAe,OAAO,CAAC,UAAU;AACtC,UAAM,gBAAgB,UAAU,MAAM,SAAS,CAA2B;AAC1E,QAAI,QAAQ,aAAa;AAAG,aAAO;AACnC,WAAO,iBAAiB,cAAc,iBAAiB;AAAA,EACzD,CAAC;AACH;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -33,7 +33,30 @@ __export(dateRangeFilterFn_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(dateRangeFilterFn_exports);
|
|
34
34
|
var React = __toESM(require("react"));
|
|
35
35
|
var import_utilities = require("./utilities.js");
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
const isFilterValueValidForDateRange = (value) => {
|
|
37
|
+
if (typeof value !== "object")
|
|
38
|
+
return false;
|
|
39
|
+
if (value === null)
|
|
40
|
+
return false;
|
|
41
|
+
if (Array.isArray(value))
|
|
42
|
+
return false;
|
|
43
|
+
if (typeof value.startDate !== "string")
|
|
44
|
+
return false;
|
|
45
|
+
if (typeof value.endDate !== "string")
|
|
46
|
+
return false;
|
|
47
|
+
return true;
|
|
48
|
+
};
|
|
49
|
+
const dateRangeFilterFn = (unfilteredData, filterKey, filterValue) => {
|
|
50
|
+
if (!filterValue)
|
|
51
|
+
return unfilteredData;
|
|
52
|
+
if (!isFilterValueValidForDateRange(filterValue))
|
|
53
|
+
throw new Error(
|
|
54
|
+
`Invalid filter value for date range filter, expected { startDate: string, endDate: string } received: ${JSON.stringify(
|
|
55
|
+
filterValue
|
|
56
|
+
)}`
|
|
57
|
+
);
|
|
58
|
+
return unfilteredData.filter(
|
|
59
|
+
(datum) => !(filterValue?.startDate && filterValue?.endDate) || (0, import_utilities.isSameOrBefore)(filterValue?.startDate, datum[filterKey]) && (0, import_utilities.isSameOrAfter)(filterValue?.endDate, datum[filterKey])
|
|
60
|
+
);
|
|
61
|
+
};
|
|
39
62
|
//# sourceMappingURL=dateRangeFilterFn.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/Filters/dateRangeFilterFn.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,uBAA8C;
|
|
4
|
+
"sourcesContent": ["import type { DSDataTableT } from '../../react-desc-prop-types.js';\nimport { isSameOrAfter, isSameOrBefore } from './utilities.js';\n\nconst isFilterValueValidForDateRange = (\n value: unknown,\n): value is Parameters<DSDataTableT.FilterFnOutOfTheBoxDateRange>[2] => {\n if (typeof value !== 'object') return false;\n if (value === null) return false;\n if (Array.isArray(value)) return false;\n if (typeof (value as { startDate: string }).startDate !== 'string') return false;\n if (typeof (value as { endDate: string }).endDate !== 'string') return false;\n return true;\n};\n\nexport const dateRangeFilterFn: DSDataTableT.FilterFnOutOfTheBoxDateRange = (\n unfilteredData,\n filterKey,\n filterValue,\n) => {\n if (!filterValue) return unfilteredData;\n if (!isFilterValueValidForDateRange(filterValue))\n throw new Error(\n `Invalid filter value for date range filter, expected { startDate: string, endDate: string } received: ${JSON.stringify(\n filterValue,\n )}`,\n );\n\n return unfilteredData.filter(\n (datum) =>\n !(filterValue?.startDate && filterValue?.endDate) ||\n (isSameOrBefore(filterValue?.startDate, datum[filterKey] as string) &&\n isSameOrAfter(filterValue?.endDate, datum[filterKey] as string)),\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,uBAA8C;AAE9C,MAAM,iCAAiC,CACrC,UACsE;AACtE,MAAI,OAAO,UAAU;AAAU,WAAO;AACtC,MAAI,UAAU;AAAM,WAAO;AAC3B,MAAI,MAAM,QAAQ,KAAK;AAAG,WAAO;AACjC,MAAI,OAAQ,MAAgC,cAAc;AAAU,WAAO;AAC3E,MAAI,OAAQ,MAA8B,YAAY;AAAU,WAAO;AACvE,SAAO;AACT;AAEO,MAAM,oBAA+D,CAC1E,gBACA,WACA,gBACG;AACH,MAAI,CAAC;AAAa,WAAO;AACzB,MAAI,CAAC,+BAA+B,WAAW;AAC7C,UAAM,IAAI;AAAA,MACR,yGAAyG,KAAK;AAAA,QAC5G;AAAA,MACF;AAAA,IACF;AAEF,SAAO,eAAe;AAAA,IACpB,CAAC,UACC,EAAE,aAAa,aAAa,aAAa,gBACxC,iCAAe,aAAa,WAAW,MAAM,SAAS,CAAW,SAChE,gCAAc,aAAa,SAAS,MAAM,SAAS,CAAW;AAAA,EACpE;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -28,11 +28,35 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var dateSwitcherFilterFn_exports = {};
|
|
30
30
|
__export(dateSwitcherFilterFn_exports, {
|
|
31
|
-
dateSwitcherFilterFn: () => dateSwitcherFilterFn
|
|
31
|
+
dateSwitcherFilterFn: () => dateSwitcherFilterFn,
|
|
32
|
+
isFilterValueValidForDateSwitcher: () => isFilterValueValidForDateSwitcher
|
|
32
33
|
});
|
|
33
34
|
module.exports = __toCommonJS(dateSwitcherFilterFn_exports);
|
|
34
35
|
var React = __toESM(require("react"));
|
|
35
36
|
var import_dateRangeFilterFn = require("./dateRangeFilterFn.js");
|
|
36
37
|
var import_singleDateFilterFn = require("./singleDateFilterFn.js");
|
|
37
|
-
const
|
|
38
|
+
const isFilterValueValidForDateSwitcher = (value) => {
|
|
39
|
+
if (typeof value !== "object")
|
|
40
|
+
return false;
|
|
41
|
+
if (value === null)
|
|
42
|
+
return false;
|
|
43
|
+
if (Array.isArray(value))
|
|
44
|
+
return false;
|
|
45
|
+
if (typeof value.startDate !== "string")
|
|
46
|
+
return false;
|
|
47
|
+
if (typeof value.isDateRange !== "boolean")
|
|
48
|
+
return false;
|
|
49
|
+
return true;
|
|
50
|
+
};
|
|
51
|
+
const dateSwitcherFilterFn = (unfilteredData, filterKey, filterValue) => {
|
|
52
|
+
if (!filterValue)
|
|
53
|
+
return unfilteredData;
|
|
54
|
+
if (!isFilterValueValidForDateSwitcher(filterValue))
|
|
55
|
+
throw new Error(
|
|
56
|
+
`Invalid filter value for date switcher filter, expected { startDate: string, isDateRange: boolean } received: ${JSON.stringify(
|
|
57
|
+
filterValue
|
|
58
|
+
)}`
|
|
59
|
+
);
|
|
60
|
+
return filterValue.isDateRange ? (0, import_dateRangeFilterFn.dateRangeFilterFn)(unfilteredData, filterKey, filterValue) : (0, import_singleDateFilterFn.singleDateFilterFn)(unfilteredData, filterKey, filterValue.startDate);
|
|
61
|
+
};
|
|
38
62
|
//# sourceMappingURL=dateSwitcherFilterFn.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/Filters/dateSwitcherFilterFn.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { dateRangeFilterFn } from './dateRangeFilterFn.js';\nimport { singleDateFilterFn } from './singleDateFilterFn.js';\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,+BAAkC;AAClC,gCAAmC;
|
|
4
|
+
"sourcesContent": ["import { dateRangeFilterFn } from './dateRangeFilterFn.js';\nimport { singleDateFilterFn } from './singleDateFilterFn.js';\nimport type { DSDataTableT } from '../../react-desc-prop-types.js';\n\nexport const isFilterValueValidForDateSwitcher = (\n value: unknown,\n): value is Parameters<DSDataTableT.FilterFnOutOfTheBoxDateSwitcher>[2] => {\n if (typeof value !== 'object') return false;\n if (value === null) return false;\n if (Array.isArray(value)) return false;\n if (typeof (value as { startDate: string }).startDate !== 'string') return false;\n if (typeof (value as { isDateRange: boolean }).isDateRange !== 'boolean') return false;\n return true;\n};\n\nexport const dateSwitcherFilterFn: DSDataTableT.FilterFnOutOfTheBoxDateSwitcher = (\n unfilteredData,\n filterKey,\n filterValue,\n) => {\n if (!filterValue) return unfilteredData;\n if (!isFilterValueValidForDateSwitcher(filterValue))\n throw new Error(\n `Invalid filter value for date switcher filter, expected { startDate: string, isDateRange: boolean } received: ${JSON.stringify(\n filterValue,\n )}`,\n );\n return filterValue.isDateRange\n ? dateRangeFilterFn(unfilteredData, filterKey, filterValue)\n : singleDateFilterFn(unfilteredData, filterKey, filterValue.startDate);\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,+BAAkC;AAClC,gCAAmC;AAG5B,MAAM,oCAAoC,CAC/C,UACyE;AACzE,MAAI,OAAO,UAAU;AAAU,WAAO;AACtC,MAAI,UAAU;AAAM,WAAO;AAC3B,MAAI,MAAM,QAAQ,KAAK;AAAG,WAAO;AACjC,MAAI,OAAQ,MAAgC,cAAc;AAAU,WAAO;AAC3E,MAAI,OAAQ,MAAmC,gBAAgB;AAAW,WAAO;AACjF,SAAO;AACT;AAEO,MAAM,uBAAqE,CAChF,gBACA,WACA,gBACG;AACH,MAAI,CAAC;AAAa,WAAO;AACzB,MAAI,CAAC,kCAAkC,WAAW;AAChD,UAAM,IAAI;AAAA,MACR,iHAAiH,KAAK;AAAA,QACpH;AAAA,MACF;AAAA,IACF;AACF,SAAO,YAAY,kBACf,4CAAkB,gBAAgB,WAAW,WAAW,QACxD,8CAAmB,gBAAgB,WAAW,YAAY,SAAS;AACzE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -28,22 +28,35 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var multiSelectFilterFn_exports = {};
|
|
30
30
|
__export(multiSelectFilterFn_exports, {
|
|
31
|
+
isFilterValueValidForMultiSelect: () => isFilterValueValidForMultiSelect,
|
|
31
32
|
multiSelectFilterFn: () => multiSelectFilterFn
|
|
32
33
|
});
|
|
33
34
|
module.exports = __toCommonJS(multiSelectFilterFn_exports);
|
|
34
35
|
var React = __toESM(require("react"));
|
|
35
36
|
var import_constants = require("../../configs/constants.js");
|
|
37
|
+
const isFilterValueValidForMultiSelect = (value) => {
|
|
38
|
+
if (!Array.isArray(value))
|
|
39
|
+
return false;
|
|
40
|
+
if (value.length === 0)
|
|
41
|
+
return true;
|
|
42
|
+
return value.every((item) => typeof item === "object" && "label" in item && "value" in item);
|
|
43
|
+
};
|
|
36
44
|
const multiSelectFilterFn = (unfilteredData, filterKey, filterValue) => {
|
|
37
|
-
if (filterValue
|
|
38
|
-
return unfilteredData
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
})
|
|
45
|
+
if (!filterValue)
|
|
46
|
+
return unfilteredData;
|
|
47
|
+
if (!isFilterValueValidForMultiSelect(filterValue))
|
|
48
|
+
throw new Error(
|
|
49
|
+
`Invalid filter value for multi select filter, expected { label: string, value: string }[] received: ${JSON.stringify(
|
|
50
|
+
filterValue
|
|
51
|
+
)}`
|
|
45
52
|
);
|
|
46
|
-
|
|
47
|
-
|
|
53
|
+
return unfilteredData.filter(
|
|
54
|
+
(datum) => filterValue.some((item) => {
|
|
55
|
+
if (item.value === import_constants.EMPTY_FILTER) {
|
|
56
|
+
return datum[filterKey] === null || datum[filterKey] === void 0 || datum[filterKey] === "";
|
|
57
|
+
}
|
|
58
|
+
return item.label === String(datum[filterKey]);
|
|
59
|
+
})
|
|
60
|
+
);
|
|
48
61
|
};
|
|
49
62
|
//# sourceMappingURL=multiSelectFilterFn.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/Filters/multiSelectFilterFn.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { EMPTY_FILTER } from '../../configs/constants.js';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAA6B;AAGtB,MAAM,
|
|
4
|
+
"sourcesContent": ["import { EMPTY_FILTER } from '../../configs/constants.js';\nimport type { DSDataTableT } from '../../react-desc-prop-types.js';\n\nexport const isFilterValueValidForMultiSelect = (\n value: unknown,\n): value is Parameters<DSDataTableT.FilterFnOutOfTheBoxMultiSelect>[2] => {\n if (!Array.isArray(value)) return false;\n if (value.length === 0) return true;\n return value.every((item) => typeof item === 'object' && 'label' in item && 'value' in item);\n};\n\nexport const multiSelectFilterFn: DSDataTableT.FilterFnOutOfTheBoxMultiSelect = (\n unfilteredData,\n filterKey,\n filterValue,\n) => {\n if (!filterValue) return unfilteredData;\n if (!isFilterValueValidForMultiSelect(filterValue))\n throw new Error(\n `Invalid filter value for multi select filter, expected { label: string, value: string }[] received: ${JSON.stringify(\n filterValue,\n )}`,\n );\n\n return unfilteredData.filter((datum) =>\n filterValue.some((item) => {\n if (item.value === EMPTY_FILTER) {\n return datum[filterKey] === null || datum[filterKey] === undefined || datum[filterKey] === '';\n }\n return item.label === String(datum[filterKey]);\n }),\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAA6B;AAGtB,MAAM,mCAAmC,CAC9C,UACwE;AACxE,MAAI,CAAC,MAAM,QAAQ,KAAK;AAAG,WAAO;AAClC,MAAI,MAAM,WAAW;AAAG,WAAO;AAC/B,SAAO,MAAM,MAAM,CAAC,SAAS,OAAO,SAAS,YAAY,WAAW,QAAQ,WAAW,IAAI;AAC7F;AAEO,MAAM,sBAAmE,CAC9E,gBACA,WACA,gBACG;AACH,MAAI,CAAC;AAAa,WAAO;AACzB,MAAI,CAAC,iCAAiC,WAAW;AAC/C,UAAM,IAAI;AAAA,MACR,uGAAuG,KAAK;AAAA,QAC1G;AAAA,MACF;AAAA,IACF;AAEF,SAAO,eAAe;AAAA,IAAO,CAAC,UAC5B,YAAY,KAAK,CAAC,SAAS;AACzB,UAAI,KAAK,UAAU,+BAAc;AAC/B,eAAO,MAAM,SAAS,MAAM,QAAQ,MAAM,SAAS,MAAM,UAAa,MAAM,SAAS,MAAM;AAAA,MAC7F;AACA,aAAO,KAAK,UAAU,OAAO,MAAM,SAAS,CAAC;AAAA,IAC/C,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|