@redsift/table 11.6.0-muiv5-alpha.11 → 11.6.0-muiv5-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/_internal/BaseComponents.js +3 -0
  2. package/{packages/table/src/components/BaseComponents/_internal → _internal}/BaseComponents.js.map +1 -1
  3. package/_internal/BasePopper.js +2448 -0
  4. package/_internal/BasePopper.js.map +1 -0
  5. package/{packages/table/src/components/BaseComponents/_internal → _internal}/BaseTextField.js +1 -1
  6. package/_internal/BaseTextField.js.map +1 -0
  7. package/_internal/ControlledPagination.js +10484 -0
  8. package/_internal/ControlledPagination.js.map +1 -0
  9. package/_internal/DataGrid.js +2 -0
  10. package/{packages/table/src/components/DataGrid/_internal → _internal}/DataGrid2.js +8 -16
  11. package/_internal/DataGrid2.js.map +1 -0
  12. package/_internal/GridToolbarFilterSemanticField.js +2 -0
  13. package/_internal/GridToolbarFilterSemanticField2.js +5581 -0
  14. package/_internal/GridToolbarFilterSemanticField2.js.map +1 -0
  15. package/_internal/Pagination.js +2 -0
  16. package/{packages/table/src/components/Pagination/_internal → _internal}/Pagination.js.map +1 -1
  17. package/_internal/Portal.js +4363 -0
  18. package/_internal/Portal.js.map +1 -0
  19. package/_internal/StatefulDataGrid.js +2 -0
  20. package/{packages/table/src/utils/_internal/urlLocalStorageSync.js → _internal/StatefulDataGrid2.js} +671 -5
  21. package/_internal/StatefulDataGrid2.js.map +1 -0
  22. package/_internal/TextCell.js +2 -0
  23. package/{packages/table/src/components/TextCell/_internal → _internal}/TextCell2.js +21 -3
  24. package/_internal/TextCell2.js.map +1 -0
  25. package/_internal/Toolbar.js +2 -0
  26. package/{packages/table/src/components/Toolbar/_internal → _internal}/Toolbar2.js +17 -4
  27. package/_internal/Toolbar2.js.map +1 -0
  28. package/_internal/ToolbarWrapper.js +2 -0
  29. package/{packages/table/src/components/ToolbarWrapper/_internal → _internal}/ToolbarWrapper2.js +3 -4
  30. package/_internal/ToolbarWrapper2.js.map +1 -0
  31. package/{_virtual/_internal → _internal}/_rollupPluginBabelHelpers.js +1 -1
  32. package/_internal/jsx-runtime.js +1342 -0
  33. package/_internal/jsx-runtime.js.map +1 -0
  34. package/_internal/useControlledDatagridState.js +2175 -0
  35. package/_internal/useControlledDatagridState.js.map +1 -0
  36. package/index.js +19 -0
  37. package/index.js.map +1 -0
  38. package/package.json +2 -2
  39. package/_virtual/_internal/_commonjsHelpers.js +0 -6
  40. package/_virtual/_internal/_commonjsHelpers.js.map +0 -1
  41. package/_virtual/_internal/jsx-runtime.js +0 -4
  42. package/_virtual/_internal/jsx-runtime.js.map +0 -1
  43. package/_virtual/_internal/react-is.development.js +0 -4
  44. package/_virtual/_internal/react-is.development.js.map +0 -1
  45. package/_virtual/_internal/react-is.development2.js +0 -4
  46. package/_virtual/_internal/react-is.development2.js.map +0 -1
  47. package/_virtual/_internal/react-is.production.min.js +0 -4
  48. package/_virtual/_internal/react-is.production.min.js.map +0 -1
  49. package/_virtual/_internal/react-is.production.min2.js +0 -4
  50. package/_virtual/_internal/react-is.production.min2.js.map +0 -1
  51. package/_virtual/_internal/react-jsx-runtime.development.js +0 -4
  52. package/_virtual/_internal/react-jsx-runtime.development.js.map +0 -1
  53. package/_virtual/_internal/react-jsx-runtime.production.min.js +0 -4
  54. package/_virtual/_internal/react-jsx-runtime.production.min.js.map +0 -1
  55. package/_virtual/index.js +0 -4
  56. package/_virtual/index.js.map +0 -1
  57. package/_virtual/index2.js +0 -4
  58. package/_virtual/index2.js.map +0 -1
  59. package/_virtual/index3.js +0 -4
  60. package/_virtual/index3.js.map +0 -1
  61. package/packages/design-system/src/components/theme/_internal/context.js +0 -7
  62. package/packages/design-system/src/components/theme/_internal/context.js.map +0 -1
  63. package/packages/popovers/src/components/tooltip/_internal/Tooltip.js +0 -60
  64. package/packages/popovers/src/components/tooltip/_internal/Tooltip.js.map +0 -1
  65. package/packages/popovers/src/components/tooltip/_internal/context.js +0 -6
  66. package/packages/popovers/src/components/tooltip/_internal/context.js.map +0 -1
  67. package/packages/popovers/src/components/tooltip/_internal/types.js +0 -28
  68. package/packages/popovers/src/components/tooltip/_internal/types.js.map +0 -1
  69. package/packages/popovers/src/components/tooltip/_internal/useTooltip.js +0 -78
  70. package/packages/popovers/src/components/tooltip/_internal/useTooltip.js.map +0 -1
  71. package/packages/popovers/src/components/tooltip/_internal/useTooltipContext.js +0 -13
  72. package/packages/popovers/src/components/tooltip/_internal/useTooltipContext.js.map +0 -1
  73. package/packages/popovers/src/components/tooltip-content/_internal/TooltipContent.js +0 -79
  74. package/packages/popovers/src/components/tooltip-content/_internal/TooltipContent.js.map +0 -1
  75. package/packages/popovers/src/components/tooltip-content/_internal/styles.js +0 -127
  76. package/packages/popovers/src/components/tooltip-content/_internal/styles.js.map +0 -1
  77. package/packages/popovers/src/components/tooltip-trigger/_internal/TooltipTrigger.js +0 -47
  78. package/packages/popovers/src/components/tooltip-trigger/_internal/TooltipTrigger.js.map +0 -1
  79. package/packages/table/src/components/BaseComponents/_internal/BaseButton.js +0 -41
  80. package/packages/table/src/components/BaseComponents/_internal/BaseButton.js.map +0 -1
  81. package/packages/table/src/components/BaseComponents/_internal/BaseCheckbox.js +0 -24
  82. package/packages/table/src/components/BaseComponents/_internal/BaseCheckbox.js.map +0 -1
  83. package/packages/table/src/components/BaseComponents/_internal/BaseComponents.js +0 -6
  84. package/packages/table/src/components/BaseComponents/_internal/BaseIcon.js +0 -33
  85. package/packages/table/src/components/BaseComponents/_internal/BaseIcon.js.map +0 -1
  86. package/packages/table/src/components/BaseComponents/_internal/BasePopper.js +0 -13
  87. package/packages/table/src/components/BaseComponents/_internal/BasePopper.js.map +0 -1
  88. package/packages/table/src/components/BaseComponents/_internal/BaseTextField.js.map +0 -1
  89. package/packages/table/src/components/DataGrid/_internal/DataGrid.js +0 -2
  90. package/packages/table/src/components/DataGrid/_internal/DataGrid2.js.map +0 -1
  91. package/packages/table/src/components/DataGrid/_internal/styles.js +0 -74
  92. package/packages/table/src/components/DataGrid/_internal/styles.js.map +0 -1
  93. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/GridToolbarFilterSemanticField.js +0 -2
  94. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/GridToolbarFilterSemanticField2.js +0 -183
  95. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/GridToolbarFilterSemanticField2.js.map +0 -1
  96. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/styles.js +0 -20
  97. package/packages/table/src/components/GridToolbarFilterSemanticField/_internal/styles.js.map +0 -1
  98. package/packages/table/src/components/Pagination/_internal/ControlledPagination.js +0 -74
  99. package/packages/table/src/components/Pagination/_internal/ControlledPagination.js.map +0 -1
  100. package/packages/table/src/components/Pagination/_internal/Pagination.js +0 -3
  101. package/packages/table/src/components/Pagination/_internal/ServerSideControlledPagination.js +0 -102
  102. package/packages/table/src/components/Pagination/_internal/ServerSideControlledPagination.js.map +0 -1
  103. package/packages/table/src/components/StatefulDataGrid/_internal/StatefulDataGrid.js +0 -2
  104. package/packages/table/src/components/StatefulDataGrid/_internal/StatefulDataGrid2.js +0 -373
  105. package/packages/table/src/components/StatefulDataGrid/_internal/StatefulDataGrid2.js.map +0 -1
  106. package/packages/table/src/components/TextCell/_internal/TextCell.js +0 -2
  107. package/packages/table/src/components/TextCell/_internal/TextCell2.js.map +0 -1
  108. package/packages/table/src/components/TextCell/_internal/styles.js +0 -22
  109. package/packages/table/src/components/TextCell/_internal/styles.js.map +0 -1
  110. package/packages/table/src/components/Toolbar/_internal/Toolbar.js +0 -2
  111. package/packages/table/src/components/Toolbar/_internal/Toolbar2.js.map +0 -1
  112. package/packages/table/src/components/Toolbar/_internal/styles.js +0 -17
  113. package/packages/table/src/components/Toolbar/_internal/styles.js.map +0 -1
  114. package/packages/table/src/components/ToolbarWrapper/_internal/ToolbarWrapper.js +0 -2
  115. package/packages/table/src/components/ToolbarWrapper/_internal/ToolbarWrapper2.js.map +0 -1
  116. package/packages/table/src/hooks/_internal/useControlledDatagridState.js +0 -109
  117. package/packages/table/src/hooks/_internal/useControlledDatagridState.js.map +0 -1
  118. package/packages/table/src/hooks/_internal/useFetchState.js +0 -34
  119. package/packages/table/src/hooks/_internal/useFetchState.js.map +0 -1
  120. package/packages/table/src/hooks/_internal/useStatefulTable.js +0 -182
  121. package/packages/table/src/hooks/_internal/useStatefulTable.js.map +0 -1
  122. package/packages/table/src/hooks/_internal/useTableStates.js +0 -52
  123. package/packages/table/src/hooks/_internal/useTableStates.js.map +0 -1
  124. package/packages/table/src/index.js +0 -38
  125. package/packages/table/src/index.js.map +0 -1
  126. package/packages/table/src/utils/_internal/gpt.js +0 -33
  127. package/packages/table/src/utils/_internal/gpt.js.map +0 -1
  128. package/packages/table/src/utils/_internal/localStorage.js +0 -59
  129. package/packages/table/src/utils/_internal/localStorage.js.map +0 -1
  130. package/packages/table/src/utils/_internal/urlLocalStorageSync.js.map +0 -1
  131. package/packages/table/src/utils/columnTypes/index.js +0 -49
  132. package/packages/table/src/utils/columnTypes/index.js.map +0 -1
  133. package/packages/table/src/utils/columns/_internal/detailPanelToggleColDef.js +0 -8
  134. package/packages/table/src/utils/columns/_internal/detailPanelToggleColDef.js.map +0 -1
  135. package/packages/table/src/utils/fields/_internal/InputNumberInterval.js +0 -85
  136. package/packages/table/src/utils/fields/_internal/InputNumberInterval.js.map +0 -1
  137. package/packages/table/src/utils/operators/index.js +0 -52
  138. package/packages/table/src/utils/operators/index.js.map +0 -1
  139. package/packages/table/src/utils/operators/numeric/_internal/getGridNumericOperators.js +0 -7
  140. package/packages/table/src/utils/operators/numeric/_internal/getGridNumericOperators.js.map +0 -1
  141. package/packages/table/src/utils/operators/numeric/_internal/isBetween.js +0 -28
  142. package/packages/table/src/utils/operators/numeric/_internal/isBetween.js.map +0 -1
  143. package/packages/table/src/utils/operators/string/_internal/doesNotContain.js +0 -25
  144. package/packages/table/src/utils/operators/string/_internal/doesNotContain.js.map +0 -1
  145. package/packages/table/src/utils/operators/string/_internal/doesNotEqual.js +0 -25
  146. package/packages/table/src/utils/operators/string/_internal/doesNotEqual.js.map +0 -1
  147. package/packages/table/src/utils/operators/string/_internal/doesNotHave.js +0 -24
  148. package/packages/table/src/utils/operators/string/_internal/doesNotHave.js.map +0 -1
  149. package/packages/table/src/utils/operators/string/_internal/getGridStringOperators.js +0 -9
  150. package/packages/table/src/utils/operators/string/_internal/getGridStringOperators.js.map +0 -1
  151. package/packages/table/src/utils/operators/string/_internal/has.js +0 -24
  152. package/packages/table/src/utils/operators/string/_internal/has.js.map +0 -1
  153. package/packages/table/src/utils/operators/string/_internal/hasOnly.js +0 -24
  154. package/packages/table/src/utils/operators/string/_internal/hasOnly.js.map +0 -1
  155. package/packages/table/src/utils/operators/string/_internal/is.js +0 -26
  156. package/packages/table/src/utils/operators/string/_internal/is.js.map +0 -1
  157. package/packages/table/src/utils/operators/string/_internal/isNot.js +0 -26
  158. package/packages/table/src/utils/operators/string/_internal/isNot.js.map +0 -1
  159. package/packages/table/src/utils/operators/string-array/_internal/containsAnyOf.js +0 -56
  160. package/packages/table/src/utils/operators/string-array/_internal/containsAnyOf.js.map +0 -1
  161. package/packages/table/src/utils/operators/string-array/_internal/doesNotHaveAnyOf.js +0 -26
  162. package/packages/table/src/utils/operators/string-array/_internal/doesNotHaveAnyOf.js.map +0 -1
  163. package/packages/table/src/utils/operators/string-array/_internal/endsWithAnyOf.js +0 -31
  164. package/packages/table/src/utils/operators/string-array/_internal/endsWithAnyOf.js.map +0 -1
  165. package/packages/table/src/utils/operators/string-array/_internal/getGridStringArrayOperators.js +0 -19
  166. package/packages/table/src/utils/operators/string-array/_internal/getGridStringArrayOperators.js.map +0 -1
  167. package/packages/table/src/utils/operators/string-array/_internal/hasAnyOf.js +0 -28
  168. package/packages/table/src/utils/operators/string-array/_internal/hasAnyOf.js.map +0 -1
  169. package/packages/table/src/utils/operators/string-array/_internal/isAnyOf.js +0 -32
  170. package/packages/table/src/utils/operators/string-array/_internal/isAnyOf.js.map +0 -1
  171. package/packages/table/src/utils/operators/string-array/_internal/isNotAnyOf.js +0 -28
  172. package/packages/table/src/utils/operators/string-array/_internal/isNotAnyOf.js.map +0 -1
  173. package/packages/table/src/utils/operators/string-array/_internal/startsWithAnyOf.js +0 -31
  174. package/packages/table/src/utils/operators/string-array/_internal/startsWithAnyOf.js.map +0 -1
  175. /package/{packages/table/src/components/DataGrid/_internal → _internal}/DataGrid.js.map +0 -0
  176. /package/{packages/table/src/components/GridToolbarFilterSemanticField/_internal → _internal}/GridToolbarFilterSemanticField.js.map +0 -0
  177. /package/{packages/table/src/components/StatefulDataGrid/_internal → _internal}/StatefulDataGrid.js.map +0 -0
  178. /package/{packages/table/src/components/TextCell/_internal → _internal}/TextCell.js.map +0 -0
  179. /package/{packages/table/src/components/Toolbar/_internal → _internal}/Toolbar.js.map +0 -0
  180. /package/{packages/table/src/components/ToolbarWrapper/_internal → _internal}/ToolbarWrapper.js.map +0 -0
  181. /package/{_virtual/_internal → _internal}/_rollupPluginBabelHelpers.js.map +0 -0
@@ -1,59 +0,0 @@
1
- const PAGINATION_MODEL_KEY = 'paginationModel';
2
- const FILTER_MODEL_KEY = 'filterModel';
3
- const SORT_MODEL_KEY = 'sortModel';
4
- const VISIBILITY_MODEL_KEY = 'visibilityModel';
5
- const PINNED_COLUMNS = 'pinnedColumns';
6
- const DIMENSION_MODEL_KEY = 'dimension';
7
- const FILTER_SEARCH_KEY = 'searchModel';
8
- const CATEGORIES = [PAGINATION_MODEL_KEY, FILTER_MODEL_KEY, SORT_MODEL_KEY, VISIBILITY_MODEL_KEY, DIMENSION_MODEL_KEY, FILTER_SEARCH_KEY, PINNED_COLUMNS];
9
- const buildStorageKey = _ref => {
10
- let {
11
- id,
12
- version,
13
- category
14
- } = _ref;
15
- return `${id}:${version}:${category}`;
16
- };
17
- const clearPreviousVersionStorage = (id, previousLocalStorageVersions) => {
18
- for (const version of previousLocalStorageVersions) {
19
- const keysToDelete = [buildStorageKey({
20
- id,
21
- version,
22
- category: PAGINATION_MODEL_KEY
23
- }), buildStorageKey({
24
- id,
25
- version,
26
- category: SORT_MODEL_KEY
27
- }), buildStorageKey({
28
- id,
29
- version,
30
- category: FILTER_MODEL_KEY
31
- }), buildStorageKey({
32
- id,
33
- version,
34
- category: VISIBILITY_MODEL_KEY
35
- }), buildStorageKey({
36
- id,
37
- version,
38
- category: PINNED_COLUMNS
39
- }), buildStorageKey({
40
- id,
41
- version,
42
- category: FILTER_SEARCH_KEY
43
- }), buildStorageKey({
44
- id,
45
- version,
46
- category: DIMENSION_MODEL_KEY
47
- })];
48
- for (const keyToDelete of keysToDelete) {
49
- try {
50
- window.localStorage.removeItem(keyToDelete);
51
- } catch (e) {
52
- // Ignore
53
- }
54
- }
55
- }
56
- };
57
-
58
- export { CATEGORIES, DIMENSION_MODEL_KEY, FILTER_MODEL_KEY, FILTER_SEARCH_KEY, PAGINATION_MODEL_KEY, PINNED_COLUMNS, SORT_MODEL_KEY, VISIBILITY_MODEL_KEY, buildStorageKey, clearPreviousVersionStorage };
59
- //# sourceMappingURL=localStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"localStorage.js","sources":["../../../../../../src/utils/localStorage.ts"],"sourcesContent":["export const PAGINATION_MODEL_KEY = 'paginationModel';\nexport const FILTER_MODEL_KEY = 'filterModel';\nexport const SORT_MODEL_KEY = 'sortModel';\nexport const VISIBILITY_MODEL_KEY = 'visibilityModel';\nexport const PINNED_COLUMNS = 'pinnedColumns';\nexport const DIMENSION_MODEL_KEY = 'dimension';\nexport const FILTER_SEARCH_KEY = 'searchModel';\nexport const CATEGORIES = [\n PAGINATION_MODEL_KEY,\n FILTER_MODEL_KEY,\n SORT_MODEL_KEY,\n VISIBILITY_MODEL_KEY,\n DIMENSION_MODEL_KEY,\n FILTER_SEARCH_KEY,\n PINNED_COLUMNS,\n] as const;\n\nexport type Category = (typeof CATEGORIES)[number];\n\nexport const buildStorageKey = ({ id, version, category }: { id: string; version: number; category: Category }) => {\n return `${id}:${version}:${category}` as const;\n};\n\nexport const clearPreviousVersionStorage = (id: string, previousLocalStorageVersions: number[]): void => {\n for (const version of previousLocalStorageVersions) {\n const keysToDelete = [\n buildStorageKey({\n id,\n version,\n category: PAGINATION_MODEL_KEY,\n }),\n buildStorageKey({ id, version, category: SORT_MODEL_KEY }),\n buildStorageKey({\n id,\n version,\n category: FILTER_MODEL_KEY,\n }),\n buildStorageKey({\n id,\n version,\n category: VISIBILITY_MODEL_KEY,\n }),\n buildStorageKey({\n id,\n version,\n category: PINNED_COLUMNS,\n }),\n buildStorageKey({\n id,\n version,\n category: FILTER_SEARCH_KEY,\n }),\n buildStorageKey({\n id,\n version,\n category: DIMENSION_MODEL_KEY,\n }),\n ];\n\n for (const keyToDelete of keysToDelete) {\n try {\n window.localStorage.removeItem(keyToDelete);\n } catch (e) {\n // Ignore\n }\n }\n }\n};\n"],"names":["PAGINATION_MODEL_KEY","FILTER_MODEL_KEY","SORT_MODEL_KEY","VISIBILITY_MODEL_KEY","PINNED_COLUMNS","DIMENSION_MODEL_KEY","FILTER_SEARCH_KEY","CATEGORIES","buildStorageKey","_ref","id","version","category","clearPreviousVersionStorage","previousLocalStorageVersions","keysToDelete","keyToDelete","window","localStorage","removeItem","e"],"mappings":"AAAO,MAAMA,oBAAoB,GAAG,kBAAiB;AAC9C,MAAMC,gBAAgB,GAAG,cAAa;AACtC,MAAMC,cAAc,GAAG,YAAW;AAClC,MAAMC,oBAAoB,GAAG,kBAAiB;AAC9C,MAAMC,cAAc,GAAG,gBAAe;AACtC,MAAMC,mBAAmB,GAAG,YAAW;AACvC,MAAMC,iBAAiB,GAAG,cAAa;MACjCC,UAAU,GAAG,CACxBP,oBAAoB,EACpBC,gBAAgB,EAChBC,cAAc,EACdC,oBAAoB,EACpBE,mBAAmB,EACnBC,iBAAiB,EACjBF,cAAc,EACN;AAIGI,MAAAA,eAAe,GAAGC,IAAA,IAAoF;EAAA,IAAnF;IAAEC,EAAE;IAAEC,OAAO;AAAEC,IAAAA,QAAAA;AAA8D,GAAC,GAAAH,IAAA,CAAA;AAC5G,EAAA,OAAQ,GAAEC,EAAG,CAAA,CAAA,EAAGC,OAAQ,CAAA,CAAA,EAAGC,QAAS,CAAC,CAAA,CAAA;AACvC,EAAC;MAEYC,2BAA2B,GAAGA,CAACH,EAAU,EAAEI,4BAAsC,KAAW;AACvG,EAAA,KAAK,MAAMH,OAAO,IAAIG,4BAA4B,EAAE;AAClD,IAAA,MAAMC,YAAY,GAAG,CACnBP,eAAe,CAAC;MACdE,EAAE;MACFC,OAAO;AACPC,MAAAA,QAAQ,EAAEZ,oBAAAA;KACX,CAAC,EACFQ,eAAe,CAAC;MAAEE,EAAE;MAAEC,OAAO;AAAEC,MAAAA,QAAQ,EAAEV,cAAAA;KAAgB,CAAC,EAC1DM,eAAe,CAAC;MACdE,EAAE;MACFC,OAAO;AACPC,MAAAA,QAAQ,EAAEX,gBAAAA;KACX,CAAC,EACFO,eAAe,CAAC;MACdE,EAAE;MACFC,OAAO;AACPC,MAAAA,QAAQ,EAAET,oBAAAA;KACX,CAAC,EACFK,eAAe,CAAC;MACdE,EAAE;MACFC,OAAO;AACPC,MAAAA,QAAQ,EAAER,cAAAA;KACX,CAAC,EACFI,eAAe,CAAC;MACdE,EAAE;MACFC,OAAO;AACPC,MAAAA,QAAQ,EAAEN,iBAAAA;KACX,CAAC,EACFE,eAAe,CAAC;MACdE,EAAE;MACFC,OAAO;AACPC,MAAAA,QAAQ,EAAEP,mBAAAA;AACZ,KAAC,CAAC,CACH,CAAA;AAED,IAAA,KAAK,MAAMW,WAAW,IAAID,YAAY,EAAE;MACtC,IAAI;AACFE,QAAAA,MAAM,CAACC,YAAY,CAACC,UAAU,CAACH,WAAW,CAAC,CAAA;OAC5C,CAAC,OAAOI,CAAC,EAAE;AACV;AAAA,OAAA;AAEJ,KAAA;AACF,GAAA;AACF;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"urlLocalStorageSync.js","sources":["../../../../../../src/utils/urlLocalStorageSync.ts"],"sourcesContent":["import {\n GridColDef,\n GridFilterModel,\n GridColumnVisibilityModel,\n GridSortModel,\n GridLinkOperator,\n GridFilterItem,\n GridSortItem,\n GridPinnedColumns,\n} from '@mui/x-data-grid-pro';\nimport { DataGridProps } from '../components/DataGrid';\nimport { operatorList } from './operators';\nimport {\n ExtendedGridFilterItem,\n ExtendedGridFilterModel,\n ExtendedGridPaginationModel,\n} from '../hooks/useStatefulTable';\nimport { GridInitialStatePro } from '@mui/x-data-grid-pro/models/gridStatePro';\n\ntype OperatorType = 'string' | 'number' | 'date' | 'dateTime' | 'boolean' | 'singleSelect';\n\ntype OperatorValue = string | string[];\n\n// reference value: https://www.w3schools.com/tags/ref_urlencode.ASP\nconst DECODER: Record<string, string> = {\n '%20': ' ',\n '%26': '&',\n '%3D': '=',\n '%3F': '?',\n '%5B': '[',\n '%5D': ']',\n '%2C': ',',\n '%3C': '<',\n '%3E': '>',\n '%21': '!',\n '%22': '\"',\n};\n\nconst ENCODER = {\n ' ': '%20',\n '&': '%26',\n '=': '%3D',\n '?': '%3F',\n '[': '%5B',\n ']': '%5D',\n ',': '%2C',\n '<': '%3C',\n '>': '%3E',\n '!': '%21',\n '\"': '%22',\n} as const;\n\nexport const decodeValue = (value: string): OperatorValue => {\n if (value === '') {\n return '';\n }\n\n const re = new RegExp(\n Object.keys(DECODER).reduce((acc, curr) => `${acc}|${curr}`),\n 'g'\n );\n // decodeValue for lists:\n if (value.startsWith('list[')) {\n const arrayValues = value.split('[')[1].split(']')[0];\n const arrayList = arrayValues\n .split(',')\n .map((v) => v.replace(re, (encoded) => DECODER[encoded]))\n .filter((item) => item);\n return arrayList.length > 0 ? arrayList : [];\n }\n\n return value.replace(re, (encoded) => DECODER[encoded]);\n};\n\nexport const encodeValue = (value: string | undefined) => {\n if (!value) {\n return '';\n }\n\n // Array encoding for value:\n // we are representing it as list[encoded], where encoded is the list comma separated\n if (Array.isArray(value)) {\n const encodedArray = value\n .map((entry: string) => {\n return String(entry).replace(/\\s|&|=|\\?|\\[|\\]/g, (encoded) => ENCODER[encoded as keyof typeof ENCODER]);\n })\n .join(',');\n return `list[${encodedArray}]`;\n }\n\n // we might also pass integers\n const castedValue = String(value);\n\n return castedValue.replace(/\\s|&|=|\\?|\\[|\\]/g, (encoded) => ENCODER[encoded as keyof typeof ENCODER]);\n};\n\nexport const urlSearchParamsToString = (searchParams: URLSearchParams): string => {\n let searchString = '';\n for (const [key, value] of searchParams) {\n searchString = searchString + `${key}=${value}&`;\n }\n return searchString.slice(0, searchString.length - 1);\n};\n\nexport const numberOperatorEncoder: Record<string, string> = {\n '=': 'eq',\n '!=': 'ne',\n '>': 'gt',\n '>=': 'gte',\n '<': 'lt',\n '<=': 'lte',\n};\n\nexport const numberOperatorDecoder: Record<string, string> = {\n eq: '=',\n ne: '!=',\n gt: '>',\n gte: '>=',\n lt: '<',\n lte: '<=',\n};\n\nconst isOperatorValueValid = (\n columnField: string,\n operatorValue: OperatorValue,\n columns: DataGridProps['columns']\n): boolean => {\n const column = columns.find((column) => column.field === columnField);\n if (!column) {\n return false;\n }\n const columnType = (column?.type || 'string') as OperatorType;\n const operators = operatorList[columnType];\n\n if (!operators) {\n return false;\n }\n\n if ('filterOperators' in operators) {\n return !!(operators as any).filterOperators.find((op: any) =>\n columnType === 'number' && Object.keys(numberOperatorEncoder).includes(op.value)\n ? numberOperatorEncoder[op.value] === operatorValue\n : op['value'] === operatorValue\n );\n }\n return !!(operators as any).find((op: any) =>\n ['number', 'rsNumber'].includes(columnType) && Object.keys(numberOperatorEncoder).includes(op.value)\n ? numberOperatorEncoder[op.value] === operatorValue\n : op['value'] === operatorValue\n );\n};\n\nconst listOperators = [\n 'containsAnyOf',\n 'doesNotContainAnyOf',\n 'endsWithAnyOf',\n 'doesNotEndWithAnyOf',\n 'hasAnyOf',\n 'doesNotHaveAnyOf',\n 'isAnyOf',\n 'isNotAnyOf',\n 'startsWithAnyOf',\n 'doesNotStartWithAnyOf',\n];\n\n// Check if the value doesn't break\nconst isValueValid = (\n value: OperatorValue,\n columnField: string,\n columns: DataGridProps['columns'],\n operatorValue: OperatorValue\n): boolean => {\n // every field accepts undefined as value for default\n if (value === undefined || value === '') {\n return true;\n }\n\n // xxxAnyOf accepts as value only lists, and we are declearing them in the\n // URL as `list=[...]`\n if (listOperators.includes(operatorValue as string)) {\n return Array.isArray(value) || value === '';\n }\n\n // We are accepting arrays only if they are of the 'xxxAnyOf' type\n if (Array.isArray(value) && !listOperators.includes(operatorValue as string)) {\n return false;\n }\n\n const column = columns.find((column) => column.field === columnField);\n if (!column) {\n return false;\n }\n const type = column['type'] ?? 'string';\n\n // Only date and rating fail with 500s, other set themselves as undefined\n if (type !== 'date' && type !== 'rating') {\n return true;\n }\n\n // just checking that rating is a number.\n if (type === 'rating') {\n return !isNaN(Number(value));\n }\n\n // format: YYYY-MM-DD\n // just verifying that the 3 values are numbers to avoid 500s,\n // If the value is invalid the form will appear as undefined\n if (type === 'date') {\n const dateSplitted = (value as string).split('-');\n if (dateSplitted.length !== 3) {\n return false;\n }\n const [YYYY, MM, DD] = dateSplitted;\n\n return !isNaN(parseInt(YYYY)) && !isNaN(parseInt(MM)) && !isNaN(parseInt(DD));\n }\n return false;\n};\n\n/** FILTERS */\n\n// example:\n// unicodeDomain[contains]=a&unicodeDomain[contains]=dsa&logicOperator=and&tab=ignored\nexport const getFilterModelFromString = (\n searchString: string,\n columns: DataGridProps['columns']\n): ExtendedGridFilterModel | 'invalid' => {\n if (!searchString) {\n return 'invalid';\n }\n\n let linkOperator = GridLinkOperator.And;\n let quickFilterValues: string[] = [];\n\n const searchParams = new URLSearchParams();\n for (const [key, value] of new URLSearchParams(searchString)) {\n if (\n key.startsWith('_') &&\n ![\n '_logicOperator',\n '_sortColumn',\n '_pinnedColumnsLeft',\n '_pinnedColumnsRight',\n '_columnVisibility',\n '_pagination',\n '_quickFilterValues',\n ].includes(key)\n ) {\n searchParams.set(key, value);\n }\n\n if (key === '_logicOperator') {\n linkOperator = value as GridLinkOperator;\n }\n\n if (key === '_quickFilterValues') {\n try {\n quickFilterValues = JSON.parse(decodeURIComponent(value));\n } catch {\n quickFilterValues = [];\n }\n }\n }\n\n let id = 5000;\n const fields = columns.map((column) => column.field);\n\n let isInvalid = false;\n\n const items: ExtendedGridFilterItem[] = [];\n searchParams.forEach((value, key) => {\n if (isInvalid) {\n return;\n }\n\n const field = key.split('[')[0].slice(1); // Slice to remove the _ at the beginning\n if (!fields.includes(field)) {\n return;\n }\n\n const columnType = columns.find((column) => column.field === field)?.type;\n\n const left = key.split(']')[0];\n if (left.split('[').length < 2) {\n isInvalid = true;\n return;\n }\n\n const splitRight = key.split('[')[1].split(']')[0].split(',');\n const type = splitRight[1];\n if (type !== columnType) {\n isInvalid = true;\n return;\n }\n\n const operator = splitRight[0];\n // if the operator is not part of the valid operators invalidate the URL\n if (!isOperatorValueValid(field, operator, columns) || Array.isArray(operator)) {\n isInvalid = true;\n return;\n }\n id += 1;\n\n const decodedValue = decodeValue(value);\n if (!isValueValid(decodedValue, field, columns, operator)) {\n isInvalid = true;\n return;\n }\n\n items.push({\n columnField: field,\n operatorValue:\n ['number', 'rsNumber'].includes(columnType!) && Object.keys(numberOperatorDecoder).includes(operator)\n ? numberOperatorDecoder[operator]\n : operator,\n id,\n value: listOperators.includes(operator as string) && decodedValue === '' ? [] : decodedValue,\n type,\n });\n });\n\n // If we found some condition that results in an invalid URL,\n // return the empty filterModel (this will trigger the localStorage)\n // and will pick up the last valid search\n if (isInvalid) {\n return 'invalid';\n }\n\n return { items, linkOperator, quickFilterValues };\n};\n\nexport const getSearchParamsFromFilterModel = (filterModel: ExtendedGridFilterModel): URLSearchParams => {\n const searchParams = new URLSearchParams();\n searchParams.set('_logicOperator', filterModel['linkOperator'] || '');\n filterModel['items'].forEach((item: ExtendedGridFilterItem) => {\n const { columnField, operatorValue, value, type } = item;\n\n if (Object.keys(numberOperatorEncoder).includes(operatorValue!)) {\n searchParams.set(\n `_${columnField}[${numberOperatorEncoder[operatorValue!]},${encodeValue(type)}]`,\n encodeValue(value)\n );\n } else {\n searchParams.set(`_${columnField}[${encodeValue(operatorValue)},${encodeValue(type)}]`, encodeValue(value));\n }\n });\n\n if (filterModel.quickFilterValues?.length) {\n searchParams.set('_quickFilterValues', encodeURIComponent(JSON.stringify(filterModel.quickFilterValues)));\n }\n\n return searchParams;\n};\n\n// Rules:\n// - if we have something in the URL, use that info\n// - if we don't have that, use the localStorage and update the URL\n// - if we don't have that, return an empty FilterModel\nconst getFilterModel = (\n search: string,\n columns: DataGridProps['columns'],\n localStorageFilters: string,\n setLocalStorageFilters: (search: string) => void,\n initialState: GridInitialStatePro | undefined,\n isNewVersion: boolean\n): ExtendedGridFilterModel => {\n const defaultValue =\n initialState && initialState.filter && initialState.filter.filterModel\n ? initialState.filter.filterModel\n : {\n items: [],\n linkOperator: GridLinkOperator.And,\n };\n\n if (isNewVersion) {\n return defaultValue;\n }\n\n const filterModelFromSearch = getFilterModelFromString(search, columns);\n\n if (filterModelFromSearch !== 'invalid') {\n const searchFromFilterModel = getSearchParamsFromFilterModel(filterModelFromSearch);\n const searchString = urlSearchParamsToString(searchFromFilterModel);\n if (searchString !== localStorageFilters) {\n setLocalStorageFilters(searchString);\n }\n return filterModelFromSearch;\n }\n\n const filterModelFromLocalStorage = getFilterModelFromString(localStorageFilters, columns);\n\n if (filterModelFromLocalStorage !== 'invalid') {\n return filterModelFromLocalStorage;\n }\n\n return defaultValue;\n};\n\n/** SORT */\n\nexport const getSortingFromString = (\n searchString: string,\n columns: DataGridProps['columns']\n): GridSortModel | 'invalid' => {\n if (!searchString) {\n return 'invalid';\n }\n\n const searchParams = new URLSearchParams(searchString);\n\n const value = searchParams.get('_sortColumn');\n\n if (value === '' || value === null || value === '[]') {\n return [];\n }\n\n const fields = columns.map((column) => column.field);\n const [column, order] = value.slice(1, value.length - 1).split(',');\n\n if (fields.includes(column) && (order === 'asc' || order === 'desc')) {\n return [\n {\n field: column,\n sort: order,\n },\n ];\n }\n\n return 'invalid';\n};\n\nexport const getSearchParamsFromSorting = (sorting: GridSortItem[]): URLSearchParams => {\n const searchParams = new URLSearchParams();\n searchParams.set(\n '_sortColumn',\n sorting.length > 0 && sorting[0].sort ? `[${encodeValue(sorting[0].field)},${encodeValue(sorting[0].sort)}]` : '[]'\n );\n\n return searchParams;\n};\n\n// Rules:\n// - if we have something in the URL, use that info\n// - if we don't have that, use the localStorage and update the URL\n// - if we don't have that, return an empty SortModel\nconst getSortModel = (\n search: string,\n columns: DataGridProps['columns'],\n localStorageSorting: string,\n setLocalStorageSorting: (search: string) => void,\n initialState: GridInitialStatePro | undefined,\n isNewVersion: boolean\n) => {\n const defaultValue = initialState?.sorting?.sortModel ? initialState.sorting.sortModel : [];\n\n if (isNewVersion) {\n return defaultValue;\n }\n\n const sorting = getSortingFromString(search, columns);\n\n if (sorting !== 'invalid') {\n const searchFromSortModel = getSearchParamsFromSorting(sorting);\n const searchString = urlSearchParamsToString(searchFromSortModel);\n if (searchString !== localStorageSorting) {\n setLocalStorageSorting(searchString);\n }\n return sorting;\n }\n\n const sortModelFromLocalStorage = getSortingFromString(localStorageSorting, columns);\n\n if (sortModelFromLocalStorage !== 'invalid') {\n return sortModelFromLocalStorage;\n }\n\n return defaultValue;\n};\n\n/** PAGINATION */\n\nexport const getPaginationFromString = (searchString: string): ExtendedGridPaginationModel | 'invalid' => {\n if (!searchString) {\n return 'invalid';\n }\n\n const searchParams = new URLSearchParams(searchString);\n\n const value = searchParams.get('_pagination');\n\n if (value === '' || value === null || value === '[]') {\n return 'invalid';\n }\n\n const pagination = value.slice(1, value.length - 1).split(',');\n const page = parseFloat(pagination[0]);\n const pageSize = parseFloat(pagination[1]);\n const direction = pagination[2];\n\n if (!Number.isNaN(page) && !Number.isNaN(pageSize) && direction && ['next', 'back'].includes(direction)) {\n return { page, pageSize, direction: direction as 'next' | 'back' };\n }\n\n return 'invalid';\n};\n\nexport const getSearchParamsFromPagination = (pagination: ExtendedGridPaginationModel): URLSearchParams => {\n const searchParams = new URLSearchParams();\n searchParams.set('_pagination', `[${pagination.page},${pagination.pageSize},${pagination.direction}]`);\n\n return searchParams;\n};\n\n// Rules:\n// - if we have something in the URL, use that info\n// - if we don't have that, use the localStorage and update the URL\n// - if we don't have that, return an empty PaginationModel\nconst getPaginationModel = (\n search: string,\n localStoragePagination: string,\n setLocalStoragePagination: (search: string) => void,\n initialState: GridInitialStatePro | undefined,\n isNewVersion: boolean\n) => {\n const defaultValue = initialState?.pagination\n ? ({ page: 0, pageSize: 25, direction: 'next', ...initialState.pagination } as ExtendedGridPaginationModel)\n : ({ page: 0, pageSize: 25, direction: 'next' } as ExtendedGridPaginationModel);\n\n if (isNewVersion) {\n return defaultValue;\n }\n\n const pagination = getPaginationFromString(search);\n\n if (pagination !== 'invalid') {\n const searchFromPaginationModel = getSearchParamsFromPagination(pagination);\n const searchString = urlSearchParamsToString(searchFromPaginationModel);\n if (searchString !== localStoragePagination) {\n setLocalStoragePagination(searchString);\n }\n return pagination;\n }\n\n const paginationModelFromLocalStorage = getPaginationFromString(localStoragePagination);\n\n if (paginationModelFromLocalStorage !== 'invalid') {\n return paginationModelFromLocalStorage;\n }\n\n return defaultValue;\n};\n\n/** COLUMN VISIBILITY */\n\nexport const getSearchParamsFromColumnVisibility = (\n columnVisibility: GridColumnVisibilityModel,\n columns: DataGridProps['columns']\n): URLSearchParams => {\n const searchParams = new URLSearchParams();\n const columnFields = columns.map((column) => column.field);\n\n // if column visibility model is empty, show all columns\n if (Object.keys(columnVisibility).length == 0) {\n searchParams.set('_columnVisibility', `[${columnFields.join(',')}]`);\n return searchParams;\n }\n\n const finalColumnVisibility = columns\n .filter((c) => !(c?.hideable ?? true))\n .map((c) => c.field)\n .reduce((acc, colName) => {\n return { ...acc, [colName]: true };\n }, columnVisibility);\n\n const visibleColumns = Object.entries(finalColumnVisibility)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .filter(([_, visible]) => visible)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(([column, _]) => encodeValue(column));\n\n searchParams.set('_columnVisibility', `[${visibleColumns.join(',')}]`);\n return searchParams;\n};\n\nexport const getColumnVisibilityFromString = (\n notParsed: string,\n tableColumns: DataGridProps['columns']\n): GridColumnVisibilityModel | 'invalid' => {\n if (!notParsed || (notParsed.length === 1 && notParsed[0] === '?')) {\n return 'invalid';\n }\n // remove the initial ? if present\n const parsed = notParsed[0] === '?' ? notParsed.slice(1) : notParsed;\n\n const visibility: GridColumnVisibilityModel = {};\n let exist = false;\n let visibleColumnsCount = 0;\n for (const item of parsed.split('&')) {\n // if it's not column visibility field, skip\n const fieldURL = item.split('=')[0];\n if (fieldURL !== '_columnVisibility') {\n continue;\n }\n // e.g. item = _columnVisibility[abc,def]\n const left = item.split(']')[0];\n if (left.split('[').length < 2) {\n continue;\n }\n\n const encodedValues = item.split('[')[1].split(']')[0];\n if (typeof encodedValues !== 'string') {\n continue;\n }\n\n exist = true;\n\n const columnFields = tableColumns.map((column) => column.field);\n // TODO: Add validation that , is present\n const columns = encodedValues.split(',').map((value) => decodeValue(value));\n\n // for each column, check if it's visible and add it to visibility model\n for (const column of columnFields) {\n const isColumnVisible = columns.includes(column);\n visibility[column] = isColumnVisible;\n if (isColumnVisible) {\n visibleColumnsCount += 1;\n }\n }\n }\n\n if (visibleColumnsCount === 0 && !exist) {\n return 'invalid';\n }\n\n return visibility;\n};\n\n// Rules:\n// - if we have something in the URL, use that info\n// - if we don't have that, use the localStorage and update the URL\n// - if we don't have that, return an empty ColumnVisibilityModel (which is all columns)\n// NOTE: the `defaultHidden` is a custom field and not standard DataGrid\n// The reason is the following bug: https://github.com/mui/mui-x/issues/8407\nconst getColumnsVisibility = (\n search: string,\n columns: (GridColDef & { defaultHidden?: boolean })[],\n localStorageColumnsVisibility: string,\n setLocalStorageColumnsVisibility: (search: string) => void,\n initialState: GridInitialStatePro | undefined,\n isNewVersion: boolean\n): GridColumnVisibilityModel => {\n const defaultValue: GridColumnVisibilityModel = {};\n for (const column of columns) {\n const field = column.field;\n if (initialState?.columns?.columnVisibilityModel?.[field] !== undefined) {\n defaultValue[field] = initialState.columns.columnVisibilityModel[field];\n } else {\n defaultValue[field] = column.defaultHidden !== true; // undefined will be true\n }\n }\n\n if (isNewVersion) {\n return defaultValue;\n }\n\n const columnVisibility = getColumnVisibilityFromString(search, columns);\n\n if (columnVisibility !== 'invalid') {\n const searchColumnVisibility = getSearchParamsFromColumnVisibility(columnVisibility, columns);\n\n if (searchColumnVisibility.toString() !== localStorageColumnsVisibility) {\n setLocalStorageColumnsVisibility(searchColumnVisibility.toString());\n }\n return columnVisibility;\n }\n\n const columnVisibilityFromLocalStorage = getColumnVisibilityFromString(localStorageColumnsVisibility, columns);\n\n if (columnVisibilityFromLocalStorage !== 'invalid') {\n return columnVisibilityFromLocalStorage;\n }\n\n if (initialState?.columns?.columnVisibilityModel) {\n return initialState.columns.columnVisibilityModel;\n }\n\n return defaultValue;\n};\n\nexport const getPinnedColumnsFromString = (\n notParsed: string,\n tableColumns: DataGridProps['columns']\n): PinnedColumns | 'invalid' => {\n if (!notParsed || (notParsed.length === 1 && notParsed[0] === '?')) {\n return 'invalid';\n }\n // remove the initial ? if present\n const parsed = notParsed[0] === '?' ? notParsed.slice(1) : notParsed;\n\n const pinnedColumns: Partial<PinnedColumns> = {};\n\n for (const item of parsed.split('&')) {\n const fieldURL = item.split('=')[0];\n if (fieldURL !== '_pinnedColumnsLeft' && fieldURL !== '_pinnedColumnsRight') {\n continue;\n }\n\n const left = item.split(']')[0];\n if (left.split('[').length < 2) {\n continue;\n }\n\n const encodedValues = item.split('[')[1].split(']')[0];\n if (typeof encodedValues !== 'string') {\n continue;\n }\n\n const columnFields = [...tableColumns.map((column) => column.field), '__check__'];\n\n const columns = encodedValues\n .split(',')\n .map((value) => decodeValue(value))\n .filter((val): val is string => typeof val === 'string' && columnFields.includes(val));\n\n if (fieldURL === '_pinnedColumnsLeft') {\n pinnedColumns['left'] = columns;\n }\n if (fieldURL === '_pinnedColumnsRight') {\n pinnedColumns['right'] = columns;\n }\n }\n\n return pinnedColumns['left'] || pinnedColumns['right']\n ? {\n left: pinnedColumns['left'] || [],\n right: pinnedColumns['right'] || [],\n }\n : 'invalid';\n};\n\nexport const getSearchParamsFromPinnedColumns = (pinnedColumns: GridPinnedColumns): URLSearchParams => {\n const searchParams = new URLSearchParams();\n const pinnedColumnLeft = pinnedColumns.left?.map((val) => encodeValue(val)) || [];\n const pinnedColumnRight = pinnedColumns.right?.map((val) => encodeValue(val)) || [];\n\n searchParams.set('_pinnedColumnsLeft', `[${pinnedColumnLeft.join(',')}]`);\n searchParams.set('_pinnedColumnsRight', `[${pinnedColumnRight.join(',')}]`);\n\n return searchParams;\n};\n\n// Rules:\n// - if we have something in the URL, use that info\n// - if we don't have that, use the localStorage and update the URL\n// - if we don't have that, return an empty ColumnVisibilityModel (which is all columns)\nconst getPinnedColumns = (\n search: string,\n columns: DataGridProps['columns'],\n localStoragePinnedColumns: string,\n setLocalStoragePinnedColumns: (pinnedColumns: string) => void,\n initialState: GridInitialStatePro | undefined,\n isNewVersion: boolean\n): PinnedColumns => {\n const defaultValue = initialState?.pinnedColumns\n ? {\n left: initialState?.pinnedColumns['left'] || [],\n right: initialState?.pinnedColumns['right'] || [],\n }\n : { left: [], right: [] };\n\n if (isNewVersion) {\n return defaultValue;\n }\n\n const pinnedColumns = getPinnedColumnsFromString(search, columns);\n\n if (pinnedColumns !== 'invalid') {\n const searchPinnedColumns = getSearchParamsFromPinnedColumns(pinnedColumns);\n\n if (searchPinnedColumns.toString() !== localStoragePinnedColumns) {\n setLocalStoragePinnedColumns(searchPinnedColumns.toString());\n }\n return pinnedColumns;\n }\n\n const pinnedColumnsFromLocalStorage = getPinnedColumnsFromString(localStoragePinnedColumns, columns);\n\n if (pinnedColumnsFromLocalStorage !== 'invalid') {\n return pinnedColumnsFromLocalStorage;\n }\n\n return defaultValue;\n};\n\nexport const getSearchParamsFromTab = (search: string): URLSearchParams => {\n const searchParams = new URLSearchParams();\n const openTab = new URLSearchParams(search).get('tab');\n if (openTab) {\n searchParams.set('tab', openTab);\n }\n return searchParams;\n};\n\ntype FinalSearchInput = {\n localStorageVersion: number;\n filterModel: GridFilterModel;\n sortModel: GridSortModel;\n paginationModel: ExtendedGridPaginationModel;\n columnsVisibilityModel: GridColumnVisibilityModel;\n pinnedColumnsModel: GridPinnedColumns;\n search: string;\n columns: DataGridProps['columns'];\n};\n\nexport const getFinalSearch = ({\n search,\n localStorageVersion,\n filterModel,\n sortModel,\n paginationModel,\n columnsVisibilityModel,\n pinnedColumnsModel,\n columns,\n}: FinalSearchInput): URLSearchParams => {\n const filterModelSearch = getSearchParamsFromFilterModel(filterModel);\n const sortModelSearch = getSearchParamsFromSorting(sortModel);\n const paginationModelSearch = getSearchParamsFromPagination(paginationModel);\n const columnVisibilityModelSearch = getSearchParamsFromColumnVisibility(columnsVisibilityModel, columns);\n const pinnedColumnsModelSearch = getSearchParamsFromPinnedColumns(pinnedColumnsModel);\n const tabSearch = getSearchParamsFromTab(search);\n\n const searchParams = new URLSearchParams();\n\n for (const [key, value] of new URLSearchParams(search)) {\n if (!key.startsWith('_')) {\n searchParams.set(key, value);\n }\n }\n searchParams.set('v', `${localStorageVersion}`);\n\n // Add quickFilterValues explicitly if present in filterModel\n if (filterModel.quickFilterValues && filterModel.quickFilterValues.length > 0) {\n // Encode array as JSON string to preserve all values in one param\n searchParams.set('_quickFilterValues', encodeURIComponent(JSON.stringify(filterModel.quickFilterValues)));\n }\n\n return new URLSearchParams([\n ...searchParams,\n ...filterModelSearch,\n ...sortModelSearch,\n ...paginationModelSearch,\n ...tabSearch,\n ...pinnedColumnsModelSearch,\n ...columnVisibilityModelSearch,\n ]);\n};\n\nexport type PinnedColumns = {\n left: string[];\n right: string[];\n};\n\ntype ModelsLocalStorage = {\n localStorageFilters: string;\n setLocalStorageFilters: (search: string) => void;\n localStorageSorting: string;\n setLocalStorageSorting: (search: string) => void;\n localStoragePagination: string;\n setLocalStoragePagination: (search: string) => void;\n localStorageColumnsVisibility: string;\n setLocalStorageColumnsVisibility: (search: string) => void;\n localStoragePinnedColumns: string;\n setLocalStoragePinnedColumns: (search: string) => void;\n};\n\ntype ModelsTable = {\n filterModel: GridFilterModel;\n sortModel: GridSortModel;\n paginationModel: ExtendedGridPaginationModel;\n columnVisibilityModel: GridColumnVisibilityModel;\n pinnedColumnsModel: PinnedColumns;\n};\n\n/** Return the state of the table given the URL and the local storage state */\nexport const getModelsParsedOrUpdateLocalStorage = (\n search: string,\n localStorageVersion: number,\n columns: DataGridProps['columns'],\n historyReplace: (newSearch: string) => void,\n initialState: GridInitialStatePro | undefined,\n localStorage: ModelsLocalStorage\n): ModelsTable => {\n const currentVersion = new URLSearchParams(search).get('v');\n const isNewVersion = !currentVersion || Number(currentVersion) !== localStorageVersion;\n\n const {\n localStorageFilters,\n setLocalStorageFilters,\n localStorageSorting,\n setLocalStorageSorting,\n localStoragePagination,\n setLocalStoragePagination,\n localStorageColumnsVisibility,\n setLocalStorageColumnsVisibility,\n localStoragePinnedColumns,\n setLocalStoragePinnedColumns,\n } = localStorage;\n\n const filterModel = getFilterModel(\n search,\n columns,\n localStorageFilters,\n setLocalStorageFilters,\n initialState,\n isNewVersion\n );\n const sortModel = getSortModel(\n search,\n columns,\n localStorageSorting,\n setLocalStorageSorting,\n initialState,\n isNewVersion\n );\n const paginationModel = getPaginationModel(\n search,\n localStoragePagination,\n setLocalStoragePagination,\n initialState,\n isNewVersion\n );\n const columnVisibilityModel = getColumnsVisibility(\n search,\n columns as (GridColDef & { defaultHidden?: boolean })[],\n localStorageColumnsVisibility,\n setLocalStorageColumnsVisibility,\n initialState,\n isNewVersion\n );\n const pinnedColumnsModel = getPinnedColumns(\n search,\n columns,\n localStoragePinnedColumns,\n setLocalStoragePinnedColumns,\n initialState,\n isNewVersion\n );\n\n const finalSearch = getFinalSearch({\n localStorageVersion,\n search,\n filterModel,\n sortModel,\n paginationModel,\n columnsVisibilityModel: columnVisibilityModel,\n pinnedColumnsModel,\n columns,\n });\n\n const searchString = urlSearchParamsToString(finalSearch);\n if (searchString !== search) {\n historyReplace(searchString);\n }\n\n return {\n filterModel,\n sortModel,\n paginationModel,\n columnVisibilityModel,\n pinnedColumnsModel,\n };\n};\n\nexport type DataGridModel = {\n filterModel: GridFilterModel;\n sortModel: GridSortModel;\n paginationModel: ExtendedGridPaginationModel;\n columnsModel: GridColumnVisibilityModel;\n pinnedColumnsModel: GridPinnedColumns;\n};\n\nexport const updateUrl = (\n { filterModel, sortModel, paginationModel, columnsModel: columnsVisibilityModel, pinnedColumnsModel }: DataGridModel,\n search: string,\n localStorageVersion: number,\n historyReplace: (newSearch: string) => void,\n columns: DataGridProps['columns']\n) => {\n const newSearch = getFinalSearch({\n search,\n localStorageVersion,\n filterModel,\n sortModel,\n paginationModel,\n columnsVisibilityModel,\n pinnedColumnsModel,\n columns,\n });\n\n const searchString = urlSearchParamsToString(newSearch);\n if (searchString !== search) {\n historyReplace(searchString);\n }\n};\n\n// Note: this is a comparator to sort the filters, not pure comparison\n// do not use it for equivalence (e.g. with value `3` and undefined we\n// will get 0).\nconst compareFilters = (firstFilter: GridFilterItem, secondFilter: GridFilterItem): number => {\n if (firstFilter.columnField < secondFilter.columnField) {\n return -1;\n } else if (firstFilter.columnField > secondFilter.columnField) {\n return 1;\n }\n if (firstFilter.operatorValue === undefined || secondFilter.operatorValue === undefined) {\n return 0;\n }\n if (firstFilter.operatorValue < secondFilter.operatorValue) {\n return -1;\n } else if (firstFilter.operatorValue > secondFilter.operatorValue) {\n return 1;\n }\n\n if (firstFilter.value < secondFilter.value) {\n return -1;\n } else if (firstFilter.value > secondFilter.value) {\n return 1;\n }\n\n return 0;\n};\n\nconst areFiltersEquivalent = (firstFilter: GridFilterItem, secondFilter: GridFilterItem): boolean => {\n return (\n firstFilter.columnField === secondFilter.columnField &&\n firstFilter.operatorValue === secondFilter.operatorValue &&\n firstFilter.value === secondFilter.value\n );\n};\n\nexport const areFilterModelsEquivalent = (\n filterModel: GridFilterModel,\n filterModelToMatch: GridFilterModel\n): boolean => {\n const { items, linkOperator } = filterModel;\n const { items: itemsToMatch, linkOperator: linkOperatorToMatch } = filterModelToMatch;\n\n if (linkOperator !== linkOperatorToMatch) {\n return false;\n }\n\n if (items.length !== itemsToMatch.length) {\n return false;\n }\n\n items.sort(compareFilters);\n itemsToMatch.sort(compareFilters);\n\n for (let i = 0; i < items.length; i++) {\n const filter = items[i];\n const filterToCompare = itemsToMatch[i];\n\n // compareFilters return 0 if and only if the filters have the same\n // columnField, operatorValue, and value\n if (!areFiltersEquivalent(filter, filterToCompare)) {\n return false;\n }\n }\n\n return true;\n};\n"],"names":["DECODER","ENCODER","decodeValue","value","re","RegExp","Object","keys","reduce","acc","curr","startsWith","arrayValues","split","arrayList","map","v","replace","encoded","filter","item","length","encodeValue","Array","isArray","encodedArray","entry","String","join","castedValue","urlSearchParamsToString","searchParams","searchString","key","slice","numberOperatorEncoder","numberOperatorDecoder","eq","ne","gt","gte","lt","lte","isOperatorValueValid","columnField","operatorValue","columns","column","find","field","columnType","type","operators","operatorList","filterOperators","op","includes","listOperators","isValueValid","_column$type","undefined","isNaN","Number","dateSplitted","YYYY","MM","DD","parseInt","getFilterModelFromString","linkOperator","GridLinkOperator","And","quickFilterValues","URLSearchParams","set","JSON","parse","decodeURIComponent","id","fields","isInvalid","items","forEach","_columns$find","left","splitRight","operator","decodedValue","push","getSearchParamsFromFilterModel","filterModel","_filterModel$quickFil","encodeURIComponent","stringify","getFilterModel","search","localStorageFilters","setLocalStorageFilters","initialState","isNewVersion","defaultValue","filterModelFromSearch","searchFromFilterModel","filterModelFromLocalStorage","getSortingFromString","get","order","sort","getSearchParamsFromSorting","sorting","getSortModel","localStorageSorting","setLocalStorageSorting","_initialState$sorting","sortModel","searchFromSortModel","sortModelFromLocalStorage","getPaginationFromString","pagination","page","parseFloat","pageSize","direction","getSearchParamsFromPagination","getPaginationModel","localStoragePagination","setLocalStoragePagination","_objectSpread","searchFromPaginationModel","paginationModelFromLocalStorage","getSearchParamsFromColumnVisibility","columnVisibility","columnFields","finalColumnVisibility","c","_c$hideable","hideable","colName","visibleColumns","entries","_ref","_","visible","_ref2","getColumnVisibilityFromString","notParsed","tableColumns","parsed","visibility","exist","visibleColumnsCount","fieldURL","encodedValues","isColumnVisible","getColumnsVisibility","localStorageColumnsVisibility","setLocalStorageColumnsVisibility","_initialState$columns3","_initialState$columns","_initialState$columns2","columnVisibilityModel","defaultHidden","searchColumnVisibility","toString","columnVisibilityFromLocalStorage","getPinnedColumnsFromString","pinnedColumns","val","right","getSearchParamsFromPinnedColumns","_pinnedColumns$left","_pinnedColumns$right","pinnedColumnLeft","pinnedColumnRight","getPinnedColumns","localStoragePinnedColumns","setLocalStoragePinnedColumns","searchPinnedColumns","pinnedColumnsFromLocalStorage","getSearchParamsFromTab","openTab","getFinalSearch","_ref3","localStorageVersion","paginationModel","columnsVisibilityModel","pinnedColumnsModel","filterModelSearch","sortModelSearch","paginationModelSearch","columnVisibilityModelSearch","pinnedColumnsModelSearch","tabSearch","getModelsParsedOrUpdateLocalStorage","historyReplace","localStorage","currentVersion","finalSearch","updateUrl","_ref4","columnsModel","newSearch","compareFilters","firstFilter","secondFilter","areFiltersEquivalent","areFilterModelsEquivalent","filterModelToMatch","itemsToMatch","linkOperatorToMatch","i","filterToCompare"],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- import { operatorList } from '../operators/index.js';
2
-
3
- const getRsStringColumnType = () => {
4
- return {
5
- extendType: 'string',
6
- filterOperators: operatorList.rsString
7
- };
8
- };
9
- const getRsNumberColumnType = () => {
10
- return {
11
- extendType: 'number',
12
- filterOperators: operatorList.rsNumber
13
- };
14
- };
15
- const getRsSingleSelectColumnType = () => {
16
- return {
17
- extendType: 'singleSelect',
18
- filterOperators: operatorList.rsSingleSelect
19
- };
20
- };
21
- const getRsSingleSelectWithShortOperatorListColumnType = () => {
22
- return {
23
- extendType: 'singleSelect',
24
- filterOperators: operatorList.rsSingleSelectWithShortOperatorList
25
- };
26
- };
27
- const getRsMultipleSelectColumnType = () => {
28
- return {
29
- extendType: 'singleSelect',
30
- filterOperators: operatorList.rsMultipleSelect
31
- };
32
- };
33
- const getRsMultipleSelectWithShortOperatorListColumnType = () => {
34
- return {
35
- extendType: 'singleSelect',
36
- filterOperators: operatorList.rsMultipleSelectWithShortOperatorList
37
- };
38
- };
39
- const customColumnTypes = {
40
- rsString: getRsStringColumnType(),
41
- rsNumber: getRsNumberColumnType(),
42
- rsSingleSelect: getRsSingleSelectColumnType(),
43
- rsSingleSelectWithShortOperatorList: getRsSingleSelectWithShortOperatorListColumnType(),
44
- rsMultipleSelect: getRsMultipleSelectColumnType(),
45
- rsMultipleSelectWithShortOperatorList: getRsMultipleSelectWithShortOperatorListColumnType()
46
- };
47
-
48
- export { customColumnTypes, getRsMultipleSelectColumnType, getRsMultipleSelectWithShortOperatorListColumnType, getRsNumberColumnType, getRsSingleSelectColumnType, getRsSingleSelectWithShortOperatorListColumnType, getRsStringColumnType };
49
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/utils/columnTypes/index.ts"],"sourcesContent":["import { GridColumnTypesRecord, GridNativeColTypes } from '@mui/x-data-grid-pro';\nimport { operatorList } from '../operators';\n\nexport const getRsStringColumnType = () => {\n return {\n extendType: 'string' as GridNativeColTypes,\n filterOperators: operatorList.rsString,\n };\n};\n\nexport const getRsNumberColumnType = () => {\n return {\n extendType: 'number' as GridNativeColTypes,\n filterOperators: operatorList.rsNumber,\n };\n};\n\nexport const getRsSingleSelectColumnType = () => {\n return {\n extendType: 'singleSelect' as GridNativeColTypes,\n filterOperators: operatorList.rsSingleSelect,\n };\n};\n\nexport const getRsSingleSelectWithShortOperatorListColumnType = () => {\n return {\n extendType: 'singleSelect' as GridNativeColTypes,\n filterOperators: operatorList.rsSingleSelectWithShortOperatorList,\n };\n};\n\nexport const getRsMultipleSelectColumnType = () => {\n return {\n extendType: 'singleSelect' as GridNativeColTypes,\n filterOperators: operatorList.rsMultipleSelect,\n };\n};\n\nexport const getRsMultipleSelectWithShortOperatorListColumnType = () => {\n return {\n extendType: 'singleSelect' as GridNativeColTypes,\n filterOperators: operatorList.rsMultipleSelectWithShortOperatorList,\n };\n};\n\nexport const customColumnTypes: GridColumnTypesRecord = {\n rsString: getRsStringColumnType(),\n rsNumber: getRsNumberColumnType(),\n rsSingleSelect: getRsSingleSelectColumnType(),\n rsSingleSelectWithShortOperatorList: getRsSingleSelectWithShortOperatorListColumnType(),\n rsMultipleSelect: getRsMultipleSelectColumnType(),\n rsMultipleSelectWithShortOperatorList: getRsMultipleSelectWithShortOperatorListColumnType(),\n};\n"],"names":["getRsStringColumnType","extendType","filterOperators","operatorList","rsString","getRsNumberColumnType","rsNumber","getRsSingleSelectColumnType","rsSingleSelect","getRsSingleSelectWithShortOperatorListColumnType","rsSingleSelectWithShortOperatorList","getRsMultipleSelectColumnType","rsMultipleSelect","getRsMultipleSelectWithShortOperatorListColumnType","rsMultipleSelectWithShortOperatorList","customColumnTypes"],"mappings":";;AAGaA,MAAAA,qBAAqB,GAAGA,MAAM;EACzC,OAAO;AACLC,IAAAA,UAAU,EAAE,QAA8B;IAC1CC,eAAe,EAAEC,YAAY,CAACC,QAAAA;GAC/B,CAAA;AACH,EAAC;AAEYC,MAAAA,qBAAqB,GAAGA,MAAM;EACzC,OAAO;AACLJ,IAAAA,UAAU,EAAE,QAA8B;IAC1CC,eAAe,EAAEC,YAAY,CAACG,QAAAA;GAC/B,CAAA;AACH,EAAC;AAEYC,MAAAA,2BAA2B,GAAGA,MAAM;EAC/C,OAAO;AACLN,IAAAA,UAAU,EAAE,cAAoC;IAChDC,eAAe,EAAEC,YAAY,CAACK,cAAAA;GAC/B,CAAA;AACH,EAAC;AAEYC,MAAAA,gDAAgD,GAAGA,MAAM;EACpE,OAAO;AACLR,IAAAA,UAAU,EAAE,cAAoC;IAChDC,eAAe,EAAEC,YAAY,CAACO,mCAAAA;GAC/B,CAAA;AACH,EAAC;AAEYC,MAAAA,6BAA6B,GAAGA,MAAM;EACjD,OAAO;AACLV,IAAAA,UAAU,EAAE,cAAoC;IAChDC,eAAe,EAAEC,YAAY,CAACS,gBAAAA;GAC/B,CAAA;AACH,EAAC;AAEYC,MAAAA,kDAAkD,GAAGA,MAAM;EACtE,OAAO;AACLZ,IAAAA,UAAU,EAAE,cAAoC;IAChDC,eAAe,EAAEC,YAAY,CAACW,qCAAAA;GAC/B,CAAA;AACH,EAAC;AAEM,MAAMC,iBAAwC,GAAG;EACtDX,QAAQ,EAAEJ,qBAAqB,EAAE;EACjCM,QAAQ,EAAED,qBAAqB,EAAE;EACjCG,cAAc,EAAED,2BAA2B,EAAE;EAC7CG,mCAAmC,EAAED,gDAAgD,EAAE;EACvFG,gBAAgB,EAAED,6BAA6B,EAAE;EACjDG,qCAAqC,EAAED,kDAAkD,EAAC;AAC5F;;;;"}
@@ -1,8 +0,0 @@
1
- import { GRID_DETAIL_PANEL_TOGGLE_COL_DEF } from '@mui/x-data-grid-pro';
2
-
3
- // Don't use a spread operator there or it will break the build due to MUI internal components
4
- const DETAIL_PANEL_TOGGLE_COL_DEF = GRID_DETAIL_PANEL_TOGGLE_COL_DEF;
5
- DETAIL_PANEL_TOGGLE_COL_DEF.type = 'actions';
6
-
7
- export { DETAIL_PANEL_TOGGLE_COL_DEF };
8
- //# sourceMappingURL=detailPanelToggleColDef.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detailPanelToggleColDef.js","sources":["../../../../../../../src/utils/columns/detailPanelToggleColDef.ts"],"sourcesContent":["import { GRID_DETAIL_PANEL_TOGGLE_COL_DEF } from '@mui/x-data-grid-pro';\n\n// Don't use a spread operator there or it will break the build due to MUI internal components\nconst DETAIL_PANEL_TOGGLE_COL_DEF = GRID_DETAIL_PANEL_TOGGLE_COL_DEF;\nDETAIL_PANEL_TOGGLE_COL_DEF.type = 'actions';\n\nexport { DETAIL_PANEL_TOGGLE_COL_DEF };\n"],"names":["DETAIL_PANEL_TOGGLE_COL_DEF","GRID_DETAIL_PANEL_TOGGLE_COL_DEF","type"],"mappings":";;AAEA;AACMA,MAAAA,2BAA2B,GAAGC,iCAAgC;AACpED,2BAA2B,CAACE,IAAI,GAAG,SAAS;;;;"}
@@ -1,85 +0,0 @@
1
- import { objectSpread2 as _objectSpread2 } from '../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
- import * as React from 'react';
3
- import { Icon } from '@redsift/design-system';
4
- import { mdiSync } from '@redsift/icons';
5
- import Box from '../../../../../../node_modules/@mui/material/Box/_internal/Box.js';
6
- import TextField from '../../../../../../node_modules/@mui/material/TextField/_internal/TextField.js';
7
-
8
- const SUBMIT_FILTER_STROKE_TIME = 500;
9
- const InputNumberInterval = props => {
10
- var _item$value;
11
- const {
12
- item,
13
- applyValue,
14
- focusElementRef = null
15
- } = props;
16
- const filterTimeout = React.useRef();
17
- const [filterValueState, setFilterValueState] = React.useState((_item$value = item.value) !== null && _item$value !== void 0 ? _item$value : '');
18
- const [applying, setIsApplying] = React.useState(false);
19
- React.useEffect(() => {
20
- return () => {
21
- clearTimeout(filterTimeout.current);
22
- };
23
- }, []);
24
- React.useEffect(() => {
25
- var _item$value2;
26
- const itemValue = (_item$value2 = item.value) !== null && _item$value2 !== void 0 ? _item$value2 : [undefined, undefined];
27
- setFilterValueState(itemValue);
28
- }, [item.value]);
29
- const updateFilterValue = (lowerBound, upperBound) => {
30
- clearTimeout(filterTimeout.current);
31
- setFilterValueState([lowerBound, upperBound]);
32
- setIsApplying(true);
33
- filterTimeout.current = setTimeout(() => {
34
- setIsApplying(false);
35
- applyValue(_objectSpread2(_objectSpread2({}, item), {}, {
36
- value: [lowerBound, upperBound]
37
- }));
38
- }, SUBMIT_FILTER_STROKE_TIME);
39
- };
40
- const handleUpperFilterChange = event => {
41
- const newUpperBound = event.target.value;
42
- updateFilterValue(filterValueState[0], newUpperBound);
43
- };
44
- const handleLowerFilterChange = event => {
45
- const newLowerBound = event.target.value;
46
- updateFilterValue(newLowerBound, filterValueState[1]);
47
- };
48
- return /*#__PURE__*/React.createElement(Box, {
49
- sx: {
50
- display: 'inline-flex',
51
- flexDirection: 'row',
52
- alignItems: 'end',
53
- height: 48,
54
- pl: '20px'
55
- }
56
- }, /*#__PURE__*/React.createElement(TextField, {
57
- name: "lower-bound-input",
58
- placeholder: "From",
59
- label: "From",
60
- variant: "standard",
61
- value: Number(filterValueState[0]),
62
- onChange: handleLowerFilterChange,
63
- type: "number",
64
- inputRef: focusElementRef,
65
- sx: {
66
- mr: 2
67
- }
68
- }), /*#__PURE__*/React.createElement(TextField, {
69
- name: "upper-bound-input",
70
- placeholder: "To",
71
- label: "To",
72
- variant: "standard",
73
- value: Number(filterValueState[1]),
74
- onChange: handleUpperFilterChange,
75
- type: "number",
76
- InputProps: applying ? {
77
- endAdornment: /*#__PURE__*/React.createElement(Icon, {
78
- icon: mdiSync
79
- })
80
- } : {}
81
- }));
82
- };
83
-
84
- export { InputNumberInterval };
85
- //# sourceMappingURL=InputNumberInterval.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputNumberInterval.js","sources":["../../../../../../../src/utils/fields/InputNumberInterval.tsx"],"sourcesContent":["import * as React from 'react';\nimport Box from '@mui/material/Box';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport { Icon } from '@redsift/design-system';\nimport { mdiSync } from '@redsift/icons';\n\nconst SUBMIT_FILTER_STROKE_TIME = 500;\n\nexport const InputNumberInterval = (props: any) => {\n const { item, applyValue, focusElementRef = null } = props;\n\n const filterTimeout = React.useRef<any>();\n const [filterValueState, setFilterValueState] = React.useState<\n [string, string]\n >(item.value ?? '');\n const [applying, setIsApplying] = React.useState(false);\n\n React.useEffect(() => {\n return () => {\n clearTimeout(filterTimeout.current);\n };\n }, []);\n\n React.useEffect(() => {\n const itemValue = item.value ?? [undefined, undefined];\n setFilterValueState(itemValue);\n }, [item.value]);\n\n const updateFilterValue = (lowerBound: string, upperBound: string) => {\n clearTimeout(filterTimeout.current);\n setFilterValueState([lowerBound, upperBound]);\n\n setIsApplying(true);\n filterTimeout.current = setTimeout(() => {\n setIsApplying(false);\n applyValue({ ...item, value: [lowerBound, upperBound] });\n }, SUBMIT_FILTER_STROKE_TIME);\n };\n\n const handleUpperFilterChange: TextFieldProps['onChange'] = (event) => {\n const newUpperBound = event.target.value;\n updateFilterValue(filterValueState[0], newUpperBound);\n };\n const handleLowerFilterChange: TextFieldProps['onChange'] = (event) => {\n const newLowerBound = event.target.value;\n updateFilterValue(newLowerBound, filterValueState[1]);\n };\n\n return (\n <Box\n sx={{\n display: 'inline-flex',\n flexDirection: 'row',\n alignItems: 'end',\n height: 48,\n pl: '20px',\n }}\n >\n <TextField\n name=\"lower-bound-input\"\n placeholder=\"From\"\n label=\"From\"\n variant=\"standard\"\n value={Number(filterValueState[0])}\n onChange={handleLowerFilterChange}\n type=\"number\"\n inputRef={focusElementRef}\n sx={{ mr: 2 }}\n />\n <TextField\n name=\"upper-bound-input\"\n placeholder=\"To\"\n label=\"To\"\n variant=\"standard\"\n value={Number(filterValueState[1])}\n onChange={handleUpperFilterChange}\n type=\"number\"\n InputProps={applying ? { endAdornment: <Icon icon={mdiSync} /> } : {}}\n />\n </Box>\n );\n};\n"],"names":["SUBMIT_FILTER_STROKE_TIME","InputNumberInterval","props","_item$value","item","applyValue","focusElementRef","filterTimeout","React","useRef","filterValueState","setFilterValueState","useState","value","applying","setIsApplying","useEffect","clearTimeout","current","_item$value2","itemValue","undefined","updateFilterValue","lowerBound","upperBound","setTimeout","_objectSpread","handleUpperFilterChange","event","newUpperBound","target","handleLowerFilterChange","newLowerBound","createElement","Box","sx","display","flexDirection","alignItems","height","pl","TextField","name","placeholder","label","variant","Number","onChange","type","inputRef","mr","InputProps","endAdornment","Icon","icon","mdiSync"],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- import { getGridStringOperators, getGridNumericOperators, getGridBooleanOperators, getGridDateOperators, getGridSingleSelectOperators } from '@mui/x-data-grid-pro';
2
- export { getGridBooleanOperators, getGridDateOperators, getGridSingleSelectOperators } from '@mui/x-data-grid-pro';
3
- import { DOES_NOT_HAVE_ANY_OF_WITH_SELECT } from './string-array/_internal/doesNotHaveAnyOf.js';
4
- import { getGridStringOperators as getGridStringOperators$1 } from './string/_internal/getGridStringOperators.js';
5
- export { getGridStringOperators } from './string/_internal/getGridStringOperators.js';
6
- import { getGridNumericOperators as getGridNumericOperators$1 } from './numeric/_internal/getGridNumericOperators.js';
7
- export { getGridNumericOperators } from './numeric/_internal/getGridNumericOperators.js';
8
- import { CONTAINS_ANY_OF } from './string-array/_internal/containsAnyOf.js';
9
- export { CONTAINS_ANY_OF, CONTAINS_ANY_OF_I } from './string-array/_internal/containsAnyOf.js';
10
- import { ENDS_WITH_ANY_OF } from './string-array/_internal/endsWithAnyOf.js';
11
- export { ENDS_WITH_ANY_OF } from './string-array/_internal/endsWithAnyOf.js';
12
- import { IS_ANY_OF_WITH_SELECT } from './string-array/_internal/isAnyOf.js';
13
- export { IS_ANY_OF, IS_ANY_OF_WITH_SELECT } from './string-array/_internal/isAnyOf.js';
14
- import { IS_NOT_WITH_SELECT } from './string/_internal/isNot.js';
15
- export { IS_NOT, IS_NOT_WITH_SELECT } from './string/_internal/isNot.js';
16
- import { IS_WITH_SELECT } from './string/_internal/is.js';
17
- export { IS, IS_WITH_SELECT } from './string/_internal/is.js';
18
- import { STARTS_WITH_ANY_OF } from './string-array/_internal/startsWithAnyOf.js';
19
- export { STARTS_WITH_ANY_OF } from './string-array/_internal/startsWithAnyOf.js';
20
- import { HAS_WITH_SELECT } from './string/_internal/has.js';
21
- export { HAS, HAS_WITH_SELECT } from './string/_internal/has.js';
22
- import { HAS_ANY_OF_WITH_SELECT } from './string-array/_internal/hasAnyOf.js';
23
- export { HAS_ANY_OF, HAS_ANY_OF_WITH_SELECT } from './string-array/_internal/hasAnyOf.js';
24
- import { HAS_ONLY_WITH_SELECT } from './string/_internal/hasOnly.js';
25
- export { HAS_ONLY, HAS_ONLY_WITH_SELECT } from './string/_internal/hasOnly.js';
26
- import { DOES_NOT_HAVE_WITH_SELECT } from './string/_internal/doesNotHave.js';
27
- export { DOES_NOT_HAVE, DOES_NOT_HAVE_WITH_SELECT } from './string/_internal/doesNotHave.js';
28
- import { getGridStringArrayOperators } from './string-array/_internal/getGridStringArrayOperators.js';
29
- export { getGridStringArrayOperators, getGridStringArrayOperatorsWithSelect, getGridStringArrayOperatorsWithSelectOnStringArrayColumns } from './string-array/_internal/getGridStringArrayOperators.js';
30
-
31
- // istanbul ignore file
32
- const operatorList = {
33
- // Default types
34
- string: getGridStringOperators(),
35
- number: getGridNumericOperators(),
36
- boolean: getGridBooleanOperators(),
37
- date: getGridDateOperators(),
38
- dateTime: getGridDateOperators(true),
39
- singleSelect: getGridSingleSelectOperators(),
40
- // Extended types
41
- rsString: getGridStringOperators$1(),
42
- rsNumber: getGridNumericOperators$1(),
43
- rsSingleSelect: [CONTAINS_ANY_OF, ENDS_WITH_ANY_OF, IS_ANY_OF_WITH_SELECT, IS_NOT_WITH_SELECT, IS_WITH_SELECT, STARTS_WITH_ANY_OF],
44
- rsSingleSelectWithShortOperatorList: [IS_WITH_SELECT, IS_NOT_WITH_SELECT, IS_ANY_OF_WITH_SELECT],
45
- rsMultipleSelect: [HAS_WITH_SELECT, HAS_ANY_OF_WITH_SELECT, HAS_ONLY_WITH_SELECT, DOES_NOT_HAVE_WITH_SELECT, DOES_NOT_HAVE_ANY_OF_WITH_SELECT],
46
- rsMultipleSelectWithShortOperatorList: [HAS_WITH_SELECT, DOES_NOT_HAVE_WITH_SELECT, HAS_ANY_OF_WITH_SELECT],
47
- // Custom types
48
- rsStringArray: getGridStringArrayOperators()
49
- };
50
-
51
- export { operatorList };
52
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/utils/operators/index.ts"],"sourcesContent":["// istanbul ignore file\n\nimport {\n getGridBooleanOperators,\n getGridDateOperators,\n getGridSingleSelectOperators,\n getGridStringOperators as nativeGetGridStringOperators,\n getGridNumericOperators as nativeGetGridNumericOperators,\n} from '@mui/x-data-grid-pro';\nimport { getGridNumericOperators } from './numeric';\nimport {\n DOES_NOT_HAVE_WITH_SELECT,\n getGridStringOperators,\n HAS_ONLY_WITH_SELECT,\n HAS_WITH_SELECT,\n IS_NOT_WITH_SELECT,\n IS_WITH_SELECT,\n} from './string';\nimport {\n CONTAINS_ANY_OF,\n ENDS_WITH_ANY_OF,\n getGridStringArrayOperators,\n HAS_ANY_OF_WITH_SELECT,\n IS_ANY_OF_WITH_SELECT,\n STARTS_WITH_ANY_OF,\n} from './string-array';\nimport { DOES_NOT_HAVE_ANY_OF_WITH_SELECT } from './string-array/doesNotHaveAnyOf';\n\nexport { getGridBooleanOperators, getGridDateOperators, getGridSingleSelectOperators } from '@mui/x-data-grid-pro';\nexport * from './numeric';\nexport * from './string';\nexport * from './string-array';\n\nexport const operatorList = {\n // Default types\n string: nativeGetGridStringOperators(),\n number: nativeGetGridNumericOperators(),\n boolean: getGridBooleanOperators(),\n date: getGridDateOperators(),\n dateTime: getGridDateOperators(true),\n singleSelect: getGridSingleSelectOperators(),\n\n // Extended types\n rsString: getGridStringOperators(),\n rsNumber: getGridNumericOperators(),\n rsSingleSelect: [\n CONTAINS_ANY_OF,\n ENDS_WITH_ANY_OF,\n IS_ANY_OF_WITH_SELECT,\n IS_NOT_WITH_SELECT,\n IS_WITH_SELECT,\n STARTS_WITH_ANY_OF,\n ],\n rsSingleSelectWithShortOperatorList: [IS_WITH_SELECT, IS_NOT_WITH_SELECT, IS_ANY_OF_WITH_SELECT],\n rsMultipleSelect: [\n HAS_WITH_SELECT,\n HAS_ANY_OF_WITH_SELECT,\n HAS_ONLY_WITH_SELECT,\n DOES_NOT_HAVE_WITH_SELECT,\n DOES_NOT_HAVE_ANY_OF_WITH_SELECT,\n ],\n rsMultipleSelectWithShortOperatorList: [HAS_WITH_SELECT, DOES_NOT_HAVE_WITH_SELECT, HAS_ANY_OF_WITH_SELECT],\n\n // Custom types\n rsStringArray: getGridStringArrayOperators(),\n};\n"],"names":["operatorList","string","nativeGetGridStringOperators","number","nativeGetGridNumericOperators","boolean","getGridBooleanOperators","date","getGridDateOperators","dateTime","singleSelect","getGridSingleSelectOperators","rsString","getGridStringOperators","rsNumber","getGridNumericOperators","rsSingleSelect","CONTAINS_ANY_OF","ENDS_WITH_ANY_OF","IS_ANY_OF_WITH_SELECT","IS_NOT_WITH_SELECT","IS_WITH_SELECT","STARTS_WITH_ANY_OF","rsSingleSelectWithShortOperatorList","rsMultipleSelect","HAS_WITH_SELECT","HAS_ANY_OF_WITH_SELECT","HAS_ONLY_WITH_SELECT","DOES_NOT_HAVE_WITH_SELECT","DOES_NOT_HAVE_ANY_OF_WITH_SELECT","rsMultipleSelectWithShortOperatorList","rsStringArray","getGridStringArrayOperators"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAiCO,MAAMA,YAAY,GAAG;AAC1B;EACAC,MAAM,EAAEC,sBAA4B,EAAE;EACtCC,MAAM,EAAEC,uBAA6B,EAAE;EACvCC,OAAO,EAAEC,uBAAuB,EAAE;EAClCC,IAAI,EAAEC,oBAAoB,EAAE;AAC5BC,EAAAA,QAAQ,EAAED,oBAAoB,CAAC,IAAI,CAAC;EACpCE,YAAY,EAAEC,4BAA4B,EAAE;AAE5C;EACAC,QAAQ,EAAEC,wBAAsB,EAAE;EAClCC,QAAQ,EAAEC,yBAAuB,EAAE;AACnCC,EAAAA,cAAc,EAAE,CACdC,eAAe,EACfC,gBAAgB,EAChBC,qBAAqB,EACrBC,kBAAkB,EAClBC,cAAc,EACdC,kBAAkB,CACnB;AACDC,EAAAA,mCAAmC,EAAE,CAACF,cAAc,EAAED,kBAAkB,EAAED,qBAAqB,CAAC;EAChGK,gBAAgB,EAAE,CAChBC,eAAe,EACfC,sBAAsB,EACtBC,oBAAoB,EACpBC,yBAAyB,EACzBC,gCAAgC,CACjC;AACDC,EAAAA,qCAAqC,EAAE,CAACL,eAAe,EAAEG,yBAAyB,EAAEF,sBAAsB,CAAC;AAE3G;EACAK,aAAa,EAAEC,2BAA2B,EAAC;AAC7C;;;;"}
@@ -1,7 +0,0 @@
1
- import { getGridNumericOperators as getGridNumericOperators$1 } from '@mui/x-data-grid-pro';
2
- import { IS_BETWEEN } from './isBetween.js';
3
-
4
- const getGridNumericOperators = () => [...getGridNumericOperators$1(), IS_BETWEEN];
5
-
6
- export { getGridNumericOperators };
7
- //# sourceMappingURL=getGridNumericOperators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getGridNumericOperators.js","sources":["../../../../../../../../src/utils/operators/numeric/getGridNumericOperators.ts"],"sourcesContent":["import {\n getGridNumericOperators as forwardOperators,\n GridFilterOperator,\n} from '@mui/x-data-grid-pro';\nimport { IS_BETWEEN } from './isBetween';\n\nexport const getGridNumericOperators: () => GridFilterOperator<\n any,\n number | string | null,\n any\n>[] = () => [...forwardOperators(), IS_BETWEEN];\n"],"names":["getGridNumericOperators","forwardOperators","IS_BETWEEN"],"mappings":";;;AAMaA,MAAAA,uBAIV,GAAGA,MAAM,CAAC,GAAGC,yBAAgB,EAAE,EAAEC,UAAU;;;;"}
@@ -1,28 +0,0 @@
1
- import { InputNumberInterval } from '../../../fields/_internal/InputNumberInterval.js';
2
-
3
- const isBetweenOperator = {
4
- label: 'is between',
5
- value: 'isBetween',
6
- getApplyFilterFn: filterItem => {
7
- if (!filterItem.columnField || !filterItem.value || !filterItem.operatorValue) {
8
- return null;
9
- }
10
- if (!Array.isArray(filterItem.value) || filterItem.value.length !== 2) {
11
- return null;
12
- }
13
- if (filterItem.value[0] == null || filterItem.value[1] == null) {
14
- return null;
15
- }
16
- if (typeof filterItem.value[0] !== 'number' || typeof filterItem.value[1] !== 'number') {
17
- return null;
18
- }
19
- return params => {
20
- return params.value !== null && filterItem.value[0] <= params.value && params.value <= filterItem.value[1];
21
- };
22
- },
23
- InputComponent: InputNumberInterval
24
- };
25
- const IS_BETWEEN = isBetweenOperator;
26
-
27
- export { IS_BETWEEN };
28
- //# sourceMappingURL=isBetween.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isBetween.js","sources":["../../../../../../../../src/utils/operators/numeric/isBetween.tsx"],"sourcesContent":["import { GridCellParams, GridFilterItem } from '@mui/x-data-grid-pro';\nimport { InputNumberInterval } from '../../fields/InputNumberInterval';\n\nconst isBetweenOperator = {\n label: 'is between',\n value: 'isBetween',\n getApplyFilterFn: (filterItem: GridFilterItem) => {\n if (\n !filterItem.columnField ||\n !filterItem.value ||\n !filterItem.operatorValue\n ) {\n return null;\n }\n\n if (!Array.isArray(filterItem.value) || filterItem.value.length !== 2) {\n return null;\n }\n\n if (filterItem.value[0] == null || filterItem.value[1] == null) {\n return null;\n }\n\n if (\n typeof filterItem.value[0] !== 'number' ||\n typeof filterItem.value[1] !== 'number'\n ) {\n return null;\n }\n\n return (params: GridCellParams): boolean => {\n return (\n params.value !== null &&\n filterItem.value[0] <= params.value &&\n params.value <= filterItem.value[1]\n );\n };\n },\n InputComponent: InputNumberInterval,\n};\n\nexport const IS_BETWEEN = isBetweenOperator;\n"],"names":["isBetweenOperator","label","value","getApplyFilterFn","filterItem","columnField","operatorValue","Array","isArray","length","params","InputComponent","InputNumberInterval","IS_BETWEEN"],"mappings":";;AAGA,MAAMA,iBAAiB,GAAG;AACxBC,EAAAA,KAAK,EAAE,YAAY;AACnBC,EAAAA,KAAK,EAAE,WAAW;EAClBC,gBAAgB,EAAGC,UAA0B,IAAK;AAChD,IAAA,IACE,CAACA,UAAU,CAACC,WAAW,IACvB,CAACD,UAAU,CAACF,KAAK,IACjB,CAACE,UAAU,CAACE,aAAa,EACzB;AACA,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACJ,UAAU,CAACF,KAAK,CAAC,IAAIE,UAAU,CAACF,KAAK,CAACO,MAAM,KAAK,CAAC,EAAE;AACrE,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,IAAIL,UAAU,CAACF,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAIE,UAAU,CAACF,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;AAC9D,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,IACE,OAAOE,UAAU,CAACF,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IACvC,OAAOE,UAAU,CAACF,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EACvC;AACA,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,OAAQQ,MAAsB,IAAc;MAC1C,OACEA,MAAM,CAACR,KAAK,KAAK,IAAI,IACrBE,UAAU,CAACF,KAAK,CAAC,CAAC,CAAC,IAAIQ,MAAM,CAACR,KAAK,IACnCQ,MAAM,CAACR,KAAK,IAAIE,UAAU,CAACF,KAAK,CAAC,CAAC,CAAC,CAAA;KAEtC,CAAA;GACF;AACDS,EAAAA,cAAc,EAAEC,mBAAAA;AAClB,CAAC,CAAA;AAEM,MAAMC,UAAU,GAAGb;;;;"}
@@ -1,25 +0,0 @@
1
- import { GridFilterInputValue } from '@mui/x-data-grid-pro';
2
-
3
- const doesNotContain = {
4
- label: 'does not contain',
5
- value: 'doesNotContain',
6
- getApplyFilterFn: filterItem => {
7
- if (!filterItem.columnField || !filterItem.value || !filterItem.operatorValue) {
8
- return null;
9
- }
10
- return params => {
11
- if (filterItem.value.length === 0) {
12
- return true;
13
- }
14
- if (String(params.value).indexOf(filterItem.value) !== -1) {
15
- return false;
16
- }
17
- return true;
18
- };
19
- },
20
- InputComponent: GridFilterInputValue
21
- };
22
- const DOES_NOT_CONTAIN = doesNotContain;
23
-
24
- export { DOES_NOT_CONTAIN };
25
- //# sourceMappingURL=doesNotContain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doesNotContain.js","sources":["../../../../../../../../src/utils/operators/string/doesNotContain.tsx"],"sourcesContent":["import { GridCellParams, GridFilterInputValue, GridFilterItem } from '@mui/x-data-grid-pro';\n\nconst doesNotContain = {\n label: 'does not contain',\n value: 'doesNotContain',\n getApplyFilterFn: (filterItem: GridFilterItem) => {\n if (!filterItem.columnField || !filterItem.value || !filterItem.operatorValue) {\n return null;\n }\n\n return (params: GridCellParams): boolean => {\n if (filterItem.value.length === 0) {\n return true;\n }\n\n if (String(params.value).indexOf(filterItem.value) !== -1) {\n return false;\n }\n\n return true;\n };\n },\n InputComponent: GridFilterInputValue,\n};\n\nexport const DOES_NOT_CONTAIN = doesNotContain;\n"],"names":["doesNotContain","label","value","getApplyFilterFn","filterItem","columnField","operatorValue","params","length","String","indexOf","InputComponent","GridFilterInputValue","DOES_NOT_CONTAIN"],"mappings":";;AAEA,MAAMA,cAAc,GAAG;AACrBC,EAAAA,KAAK,EAAE,kBAAkB;AACzBC,EAAAA,KAAK,EAAE,gBAAgB;EACvBC,gBAAgB,EAAGC,UAA0B,IAAK;AAChD,IAAA,IAAI,CAACA,UAAU,CAACC,WAAW,IAAI,CAACD,UAAU,CAACF,KAAK,IAAI,CAACE,UAAU,CAACE,aAAa,EAAE;AAC7E,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,OAAQC,MAAsB,IAAc;AAC1C,MAAA,IAAIH,UAAU,CAACF,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE;AACjC,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;AAEA,MAAA,IAAIC,MAAM,CAACF,MAAM,CAACL,KAAK,CAAC,CAACQ,OAAO,CAACN,UAAU,CAACF,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AACzD,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AAEA,MAAA,OAAO,IAAI,CAAA;KACZ,CAAA;GACF;AACDS,EAAAA,cAAc,EAAEC,oBAAAA;AAClB,CAAC,CAAA;AAEM,MAAMC,gBAAgB,GAAGb;;;;"}
@@ -1,25 +0,0 @@
1
- import { GridFilterInputValue } from '@mui/x-data-grid-pro';
2
-
3
- const doesNotEqual = {
4
- label: 'does not equal',
5
- value: 'doesNotEqual',
6
- getApplyFilterFn: filterItem => {
7
- if (!filterItem.columnField || !filterItem.value || !filterItem.operatorValue) {
8
- return null;
9
- }
10
- return params => {
11
- if (filterItem.value.length === 0) {
12
- return true;
13
- }
14
- if (String(params.value) === filterItem.value) {
15
- return false;
16
- }
17
- return true;
18
- };
19
- },
20
- InputComponent: GridFilterInputValue
21
- };
22
- const DOES_NOT_EQUAL = doesNotEqual;
23
-
24
- export { DOES_NOT_EQUAL };
25
- //# sourceMappingURL=doesNotEqual.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doesNotEqual.js","sources":["../../../../../../../../src/utils/operators/string/doesNotEqual.tsx"],"sourcesContent":["import { GridCellParams, GridFilterInputValue, GridFilterItem } from '@mui/x-data-grid-pro';\n\nconst doesNotEqual = {\n label: 'does not equal',\n value: 'doesNotEqual',\n getApplyFilterFn: (filterItem: GridFilterItem) => {\n if (!filterItem.columnField || !filterItem.value || !filterItem.operatorValue) {\n return null;\n }\n\n return (params: GridCellParams): boolean => {\n if (filterItem.value.length === 0) {\n return true;\n }\n\n if (String(params.value) === filterItem.value) {\n return false;\n }\n\n return true;\n };\n },\n InputComponent: GridFilterInputValue,\n};\n\nexport const DOES_NOT_EQUAL = doesNotEqual;\n"],"names":["doesNotEqual","label","value","getApplyFilterFn","filterItem","columnField","operatorValue","params","length","String","InputComponent","GridFilterInputValue","DOES_NOT_EQUAL"],"mappings":";;AAEA,MAAMA,YAAY,GAAG;AACnBC,EAAAA,KAAK,EAAE,gBAAgB;AACvBC,EAAAA,KAAK,EAAE,cAAc;EACrBC,gBAAgB,EAAGC,UAA0B,IAAK;AAChD,IAAA,IAAI,CAACA,UAAU,CAACC,WAAW,IAAI,CAACD,UAAU,CAACF,KAAK,IAAI,CAACE,UAAU,CAACE,aAAa,EAAE;AAC7E,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,OAAQC,MAAsB,IAAc;AAC1C,MAAA,IAAIH,UAAU,CAACF,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE;AACjC,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;MAEA,IAAIC,MAAM,CAACF,MAAM,CAACL,KAAK,CAAC,KAAKE,UAAU,CAACF,KAAK,EAAE;AAC7C,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AAEA,MAAA,OAAO,IAAI,CAAA;KACZ,CAAA;GACF;AACDQ,EAAAA,cAAc,EAAEC,oBAAAA;AAClB,CAAC,CAAA;AAEM,MAAMC,cAAc,GAAGZ;;;;"}
@@ -1,24 +0,0 @@
1
- import { objectSpread2 as _objectSpread2 } from '../../../../../../../_virtual/_internal/_rollupPluginBabelHelpers.js';
2
- import { GridFilterInputValue, GridFilterInputSingleSelect } from '@mui/x-data-grid-pro';
3
-
4
- const doesNotHaveOperator = {
5
- label: "doesn't have",
6
- value: 'doesNotHave',
7
- getApplyFilterFn: filterItem => {
8
- if (!filterItem.columnField || !filterItem.value || !filterItem.operatorValue) {
9
- return null;
10
- }
11
- return params => {
12
- const cellValues = Array.isArray(params.value) ? params.value : [params.value];
13
- return !cellValues.map(value => String(value)).includes(filterItem.value);
14
- };
15
- },
16
- InputComponent: GridFilterInputValue
17
- };
18
- const DOES_NOT_HAVE = doesNotHaveOperator;
19
- const DOES_NOT_HAVE_WITH_SELECT = _objectSpread2(_objectSpread2({}, DOES_NOT_HAVE), {}, {
20
- InputComponent: GridFilterInputSingleSelect
21
- });
22
-
23
- export { DOES_NOT_HAVE, DOES_NOT_HAVE_WITH_SELECT };
24
- //# sourceMappingURL=doesNotHave.js.map