@solidxai/core-ui 0.1.2 → 0.1.4-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  2. package/dist/components/auth/SolidInitialLoginOtp.js +0 -5
  3. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  4. package/dist/components/auth/SolidInitialLoginOtp.tsx +0 -5
  5. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  6. package/dist/components/auth/SolidLogin.js +7 -5
  7. package/dist/components/auth/SolidLogin.js.map +1 -1
  8. package/dist/components/auth/SolidLogin.tsx +10 -8
  9. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  10. package/dist/components/common/GeneralSettings.js +48 -47
  11. package/dist/components/common/GeneralSettings.js.map +1 -1
  12. package/dist/components/common/GeneralSettings.tsx +41 -10
  13. package/dist/components/core/common/FilterComponent.js.map +1 -1
  14. package/dist/components/core/common/FilterComponent.tsx +1 -1
  15. package/dist/components/core/common/GroupingComponent.d.ts +54 -0
  16. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -0
  17. package/dist/components/core/common/GroupingComponent.js +196 -0
  18. package/dist/components/core/common/GroupingComponent.js.map +1 -0
  19. package/dist/components/core/common/GroupingComponent.tsx +452 -0
  20. package/dist/components/core/common/SolidGlobalSearchElement.d.ts +18 -1
  21. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  22. package/dist/components/core/common/SolidGlobalSearchElement.js +197 -74
  23. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  24. package/dist/components/core/common/SolidGlobalSearchElement.tsx +276 -40
  25. package/dist/components/core/common/SolidImageViewer.d.ts +10 -0
  26. package/dist/components/core/common/SolidImageViewer.d.ts.map +1 -0
  27. package/dist/components/core/common/SolidImageViewer.js +59 -0
  28. package/dist/components/core/common/SolidImageViewer.js.map +1 -0
  29. package/dist/components/core/common/SolidImageViewer.tsx +84 -0
  30. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.d.ts +19 -0
  31. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.d.ts.map +1 -0
  32. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.js +90 -0
  33. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.js.map +1 -0
  34. package/dist/components/core/extension/solid-core/modelSequence/modelSequenceFormViewChangeHandler.tsx +59 -0
  35. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
  36. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +7 -3
  37. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  38. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +45 -40
  39. package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts +2 -0
  40. package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts.map +1 -0
  41. package/dist/components/core/filter/SolidOneToManyFilterElement.js +86 -0
  42. package/dist/components/core/filter/SolidOneToManyFilterElement.js.map +1 -0
  43. package/dist/components/core/filter/SolidOneToManyFilterElement.tsx +62 -0
  44. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts +1 -0
  45. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts.map +1 -1
  46. package/dist/components/core/filter/SolidVarInputsFilterElement.js +4 -1
  47. package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
  48. package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +10 -0
  49. package/dist/components/core/filter/fields/SolidRelationField.d.ts.map +1 -1
  50. package/dist/components/core/filter/fields/SolidRelationField.js +4 -2
  51. package/dist/components/core/filter/fields/SolidRelationField.js.map +1 -1
  52. package/dist/components/core/filter/fields/SolidRelationField.tsx +4 -2
  53. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts +4 -0
  54. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -0
  55. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +25 -0
  56. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -0
  57. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +60 -0
  58. package/dist/components/core/form/SolidFormFooter.js +4 -4
  59. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  60. package/dist/components/core/form/SolidFormFooter.tsx +4 -4
  61. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  62. package/dist/components/core/form/fields/SolidBooleanField.js +11 -8
  63. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  64. package/dist/components/core/form/fields/SolidBooleanField.tsx +20 -8
  65. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  66. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +26 -21
  67. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  68. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +27 -17
  69. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.d.ts +1 -0
  70. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.d.ts.map +1 -1
  71. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.js +51 -0
  72. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.js.map +1 -1
  73. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.ts +51 -0
  74. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts.map +1 -1
  75. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +80 -79
  76. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  77. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +92 -85
  78. package/dist/components/core/kanban/SolidKanbanView.js +5 -5
  79. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  80. package/dist/components/core/kanban/SolidKanbanView.tsx +5 -5
  81. package/dist/components/core/list/SolidListView.d.ts +12 -7
  82. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  83. package/dist/components/core/list/SolidListView.js +143 -153
  84. package/dist/components/core/list/SolidListView.js.map +1 -1
  85. package/dist/components/core/list/SolidListView.tsx +89 -94
  86. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  87. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +16 -17
  88. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  89. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +46 -44
  90. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  91. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +6 -4
  92. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  93. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +7 -5
  94. package/dist/components/core/list/listViewRegistry.js.map +1 -1
  95. package/dist/components/core/list/listViewRegistry.ts +1 -2
  96. package/dist/components/core/tree/SolidTreeView.d.ts +38 -0
  97. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -0
  98. package/dist/components/core/tree/SolidTreeView.js +1170 -0
  99. package/dist/components/core/tree/SolidTreeView.js.map +1 -0
  100. package/dist/components/core/tree/SolidTreeView.tsx +1603 -0
  101. package/dist/components/core/tree/treeViewRegistry.d.ts +7 -0
  102. package/dist/components/core/tree/treeViewRegistry.d.ts.map +1 -0
  103. package/dist/components/core/tree/treeViewRegistry.js +17 -0
  104. package/dist/components/core/tree/treeViewRegistry.js.map +1 -0
  105. package/dist/components/core/tree/treeViewRegistry.ts +23 -0
  106. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  107. package/dist/components/core/users/CreateUser.js +19 -6
  108. package/dist/components/core/users/CreateUser.js.map +1 -1
  109. package/dist/components/core/users/CreateUser.tsx +39 -0
  110. package/dist/helpers/fetchS3Url.d.ts +19 -0
  111. package/dist/helpers/fetchS3Url.d.ts.map +1 -0
  112. package/dist/helpers/fetchS3Url.js +60 -0
  113. package/dist/helpers/fetchS3Url.js.map +1 -0
  114. package/dist/helpers/fetchS3Url.ts +33 -0
  115. package/dist/helpers/helpers.d.ts +2 -0
  116. package/dist/helpers/helpers.d.ts.map +1 -1
  117. package/dist/helpers/helpers.js +3 -1
  118. package/dist/helpers/helpers.js.map +1 -1
  119. package/dist/helpers/helpers.ts +4 -1
  120. package/dist/helpers/registry.d.ts.map +1 -1
  121. package/dist/helpers/registry.js +2 -0
  122. package/dist/helpers/registry.js.map +1 -1
  123. package/dist/helpers/registry.ts +3 -1
  124. package/dist/index.d.ts +9 -2
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +6 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/index.ts +14 -2
  129. package/dist/resources/globals.css +18 -4
  130. package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
  131. package/dist/routes/pages/admin/core/ListPage.js +8 -3
  132. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  133. package/dist/routes/pages/admin/core/ListPage.tsx +11 -3
  134. package/dist/routes/pages/admin/core/TreePage.d.ts +2 -0
  135. package/dist/routes/pages/admin/core/TreePage.d.ts.map +1 -0
  136. package/dist/routes/pages/admin/core/TreePage.js +37 -0
  137. package/dist/routes/pages/admin/core/TreePage.js.map +1 -0
  138. package/dist/routes/pages/admin/core/TreePage.tsx +30 -0
  139. package/dist/routes/solidRoutes.d.ts.map +1 -1
  140. package/dist/routes/solidRoutes.js +2 -0
  141. package/dist/routes/solidRoutes.js.map +1 -1
  142. package/dist/routes/solidRoutes.tsx +3 -1
  143. package/dist/routes/types.d.ts +1 -1
  144. package/dist/routes/types.d.ts.map +1 -1
  145. package/dist/routes/types.js.map +1 -1
  146. package/dist/routes/types.ts +1 -0
  147. package/dist/types/index.d.ts +8 -2
  148. package/dist/types/solid-core.d.ts +40 -0
  149. package/package.json +1 -1
@@ -63,7 +63,7 @@ import { Divider } from "primereact/divider";
63
63
  import { usePathname } from "../../../hooks/usePathname";
64
64
  import { useRouter } from "../../../hooks/useRouter";
65
65
  import { useSearchParams } from "../../../hooks/useSearchParams";
66
- import { queryStringToQueryObject } from "../list/SolidListView";
66
+ import { getFilterObjectFromLocalStorage } from "../list/SolidListView";
67
67
  import { InputText } from "primereact/inputtext";
68
68
  import { createSolidEntityApi } from "../../../redux/api/solidEntityApi";
69
69
  import qs from "qs";
@@ -71,6 +71,7 @@ import { SolidSaveCustomFilterForm } from "./SolidSaveCustomFilterForm";
71
71
  import { ERROR_MESSAGES } from "../../../constants/error-messages";
72
72
  import { hydrateRelationRules } from "../../../helpers/hydrateRelationRules";
73
73
  import { useSession } from '../../../hooks/useSession';
74
+ import GroupingComponent from "./GroupingComponent";
74
75
  var getRandomInt = function (min, max) {
75
76
  return Math.floor(Math.random() * (max - min + 1)) + min;
76
77
  };
@@ -374,7 +375,7 @@ export var mergeSearchAndCustomFilters = function (transformedFilter, newFilter,
374
375
  // Return the combined filters object
375
376
  return filters;
376
377
  };
377
- export var mergeAllDiffFilters = function (customFilter, searchFilter, savedFilter, preDefinedFilter) {
378
+ export var mergeAllDiffFilters = function (customFilter, searchFilter, savedFilter, preDefinedFilter, groupingRules, aggregationRules) {
378
379
  var filters = {};
379
380
  // Add only non-null filters
380
381
  if (customFilter && Object.keys(customFilter).length > 0) {
@@ -389,12 +390,18 @@ export var mergeAllDiffFilters = function (customFilter, searchFilter, savedFilt
389
390
  if (preDefinedFilter && Object.keys(preDefinedFilter).length > 0) {
390
391
  filters["predefined_search_predicate"] = preDefinedFilter;
391
392
  }
393
+ if (groupingRules && Object.keys(groupingRules).length > 0) {
394
+ filters["grouping_rules"] = groupingRules;
395
+ }
396
+ if (aggregationRules && Object.keys(aggregationRules).length > 0) {
397
+ filters["aggregation_rules"] = aggregationRules;
398
+ }
392
399
  // Return the combined filters object
393
400
  return filters;
394
401
  };
395
402
  var SavedFilterList = function (_a) {
396
403
  var savedfilter = _a.savedfilter, activeSavedFilter = _a.activeSavedFilter, applySavedFilter = _a.applySavedFilter, openSavedCustomFilter = _a.openSavedCustomFilter, setSavedFilterTobeDeleted = _a.setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible = _a.setIsDeleteSQDialogVisible;
397
- return (_jsxs("div", { className: "flex align-items-center justify-content-between gap-2", children: [_jsxs("div", { children: [_jsx(Button, { text: true, size: "small", className: "text-base py-1 w-full", severity: Number(activeSavedFilter) == savedfilter.id ? "secondary" : "contrast", onClick: function () { return applySavedFilter(savedfilter); }, children: savedfilter.name }), (savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.description) && _jsx("p", { className: "text-xs pl-3", children: savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.description })] }), _jsxs("div", { className: "flex align-items-center gap-2", children: [_jsx(Button, { icon: "pi pi-pencil", style: { fontSize: 10 }, severity: "secondary", outlined: true, size: "small", onClick: function () { return openSavedCustomFilter(savedfilter); } }), _jsx(Button, { icon: "pi pi-trash", style: { fontSize: 10 }, severity: "secondary", outlined: true, size: "small", onClick: function () {
404
+ return (_jsxs("div", { className: "flex align-items-center justify-content-between gap-2", children: [_jsx("div", { children: _jsx(Button, { text: true, size: "small", className: "text-base py-1 w-full", severity: Number(activeSavedFilter) == savedfilter.id ? "secondary" : "contrast", onClick: function () { return applySavedFilter(savedfilter); }, tooltip: savedfilter === null || savedfilter === void 0 ? void 0 : savedfilter.description, children: savedfilter.name }) }), _jsxs("div", { className: "flex align-items-center gap-2", children: [_jsx(Button, { icon: "pi pi-pencil", style: { fontSize: 10 }, severity: "secondary", outlined: true, size: "small", onClick: function () { return openSavedCustomFilter(savedfilter); } }), _jsx(Button, { icon: "pi pi-trash", style: { fontSize: 10 }, severity: "secondary", outlined: true, size: "small", onClick: function () {
398
405
  setSavedFilterTobeDeleted(savedfilter.id),
399
406
  setIsDeleteSQDialogVisible(true);
400
407
  } })] })] }));
@@ -415,9 +422,52 @@ var replacePlaceholders = function (obj, searchValue) {
415
422
  }
416
423
  return obj;
417
424
  };
425
+ var extractChips = function (node) {
426
+ if (!node)
427
+ return [];
428
+ // If node has $and
429
+ if (node.$and && Array.isArray(node.$and)) {
430
+ return node.$and.flatMap(extractChips);
431
+ }
432
+ // If node has $or
433
+ if (node.$or && Array.isArray(node.$or)) {
434
+ return node.$or.flatMap(extractChips);
435
+ }
436
+ // Leaf condition
437
+ var field = Object.keys(node)[0];
438
+ var operatorObj = node[field];
439
+ // ✅ Normal case
440
+ if (operatorObj === null || operatorObj === void 0 ? void 0 : operatorObj.$containsi) {
441
+ return [{
442
+ columnName: field,
443
+ value: operatorObj.$containsi,
444
+ columnDisplayName: field.charAt(0).toUpperCase() + field.slice(1),
445
+ searchField: field,
446
+ matchMode: "$containsi"
447
+ }];
448
+ }
449
+ // ✅ Nested case (like city.name)
450
+ else if (typeof operatorObj === "object") {
451
+ var nestedField = Object.keys(operatorObj)[0];
452
+ var nestedOperatorObj = operatorObj[nestedField];
453
+ var operatorKey = nestedOperatorObj
454
+ ? Object.keys(nestedOperatorObj).find(function (k) { return k.startsWith("$"); })
455
+ : null;
456
+ if (operatorKey) {
457
+ return [{
458
+ columnName: field,
459
+ value: nestedOperatorObj[operatorKey],
460
+ columnDisplayName: field.charAt(0).toUpperCase() + field.slice(1),
461
+ searchField: "".concat(field, ".").concat(nestedField),
462
+ matchMode: operatorKey
463
+ }];
464
+ }
465
+ }
466
+ return [];
467
+ };
418
468
  export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
419
469
  var _b, _c, _d, _e, _f, _g, _h;
420
- var viewData = _a.viewData, handleApplyCustomFilter = _a.handleApplyCustomFilter, showSaveFilterPopup = _a.showSaveFilterPopup, setShowSaveFilterPopup = _a.setShowSaveFilterPopup, filterPredicates = _a.filterPredicates;
470
+ var viewData = _a.viewData, viewType = _a.viewType, handleApplyCustomFilter = _a.handleApplyCustomFilter, showSaveFilterPopup = _a.showSaveFilterPopup, setShowSaveFilterPopup = _a.setShowSaveFilterPopup, filterPredicates = _a.filterPredicates;
421
471
  var defaultState = [
422
472
  {
423
473
  id: 1,
@@ -446,6 +496,17 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
446
496
  ]
447
497
  }
448
498
  ];
499
+ var defaultAggregationRules = [
500
+ {
501
+ id: 1,
502
+ operator: "count",
503
+ fieldName: "id",
504
+ locked: true
505
+ }
506
+ ];
507
+ var defaultGroupingRules = [
508
+ { id: 1, fieldName: null, dateGrouping: null }
509
+ ];
449
510
  var _j = useState(defaultState), initialState = _j[0], setInitialState = _j[1];
450
511
  var pathname = usePathname();
451
512
  var searchParams = useSearchParams(); // Converts the query params to a string
@@ -458,43 +519,48 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
458
519
  var _l = useState(null), customFilter = _l[0], setCustomFilter = _l[1];
459
520
  var _m = useState([]), fields = _m[0], setFields = _m[1];
460
521
  var _o = useState([]), searchableFields = _o[0], setSearchableFields = _o[1];
522
+ var _p = useState([]), groupableFields = _p[0], setGroupableFields = _p[1];
523
+ var _q = useState(defaultGroupingRules), groupingRules = _q[0], setGroupingRules = _q[1];
524
+ var _r = useState(defaultAggregationRules), aggregationRules = _r[0], setAggregationRules = _r[1];
461
525
  // used to show the list of predefined searches
462
- var _p = useState([]), predefinedSearches = _p[0], setPredefinedSearches = _p[1];
526
+ var _s = useState([]), predefinedSearches = _s[0], setPredefinedSearches = _s[1];
463
527
  // used to open / close the custom fitler popup
464
- var _q = useState(false), showGlobalSearchElement = _q[0], setShowGlobalSearchElement = _q[1];
528
+ var _t = useState(false), showGlobalSearchElement = _t[0], setShowGlobalSearchElement = _t[1];
529
+ // used to open / close the group fitler popup
530
+ var _u = useState(false), showGroupFilterElement = _u[0], setShowGroupFilterElement = _u[1];
465
531
  // searchChips maintain the ui to display searched query
466
532
  // searchFilter maintain the transformed filter of the searched query
467
- var _r = useState([]), searchChips = _r[0], setSearchChips = _r[1];
468
- var _s = useState(null), searchFilter = _s[0], setSearchFilter = _s[1];
533
+ var _v = useState([]), searchChips = _v[0], setSearchChips = _v[1];
534
+ var _w = useState(null), searchFilter = _w[0], setSearchFilter = _w[1];
469
535
  // predefinedSearchChip maintain the ui to display predefined searches query
470
- var _t = useState(null), predefinedSearchChip = _t[0], setPredefinedSearchChip = _t[1];
536
+ var _x = useState(null), predefinedSearchChip = _x[0], setPredefinedSearchChip = _x[1];
471
537
  // state to maintain the text typed in the search input box
472
- var _u = useState(""), inputValue = _u[0], setInputValue = _u[1];
538
+ var _y = useState(""), inputValue = _y[0], setInputValue = _y[1];
473
539
  // flag to prevent un necessary re renders
474
- var _v = useState(false), hasSearched = _v[0], setHasSearched = _v[1];
540
+ var _z = useState(false), hasSearched = _z[0], setHasSearched = _z[1];
475
541
  // currentSavedFilterData is used to save the whole object of saved filter
476
- var _w = useState(), currentSavedFilterData = _w[0], setCurrentSavedFilterData = _w[1];
477
- var _x = useState(), currentSavedFilterQuery = _x[0], setCurrentSavedFilterQuery = _x[1];
478
- var _y = useState(), currentSavedFilterRules = _y[0], setCurrentSavedFilterRules = _y[1];
479
- var _z = useState(false), showSavedFilterComponent = _z[0], setShowSavedFilterComponent = _z[1];
480
- var _0 = useState(), savedFilterTobeDeleted = _0[0], setSavedFilterTobeDeleted = _0[1];
481
- var _1 = useState(false), isDeleteSQDialogVisible = _1[0], setIsDeleteSQDialogVisible = _1[1];
482
- var _2 = useState(), savedFilterQueryString = _2[0], setSavedFilterQueryString = _2[1];
483
- var _3 = useState(false), showOverlay = _3[0], setShowOverlay = _3[1];
542
+ var _0 = useState(), currentSavedFilterData = _0[0], setCurrentSavedFilterData = _0[1];
543
+ var _1 = useState(), currentSavedFilterQuery = _1[0], setCurrentSavedFilterQuery = _1[1];
544
+ var _2 = useState(), currentSavedFilterRules = _2[0], setCurrentSavedFilterRules = _2[1];
545
+ var _3 = useState(false), showSavedFilterComponent = _3[0], setShowSavedFilterComponent = _3[1];
546
+ var _4 = useState(), savedFilterTobeDeleted = _4[0], setSavedFilterTobeDeleted = _4[1];
547
+ var _5 = useState(false), isDeleteSQDialogVisible = _5[0], setIsDeleteSQDialogVisible = _5[1];
548
+ var _6 = useState(), savedFilterQueryString = _6[0], setSavedFilterQueryString = _6[1];
549
+ var _7 = useState(false), showOverlay = _7[0], setShowOverlay = _7[1];
484
550
  var overlayRef = useRef(null);
485
- var _4 = useSession(), session = _4.data, status = _4.status;
551
+ var _8 = useSession(), session = _8.data, status = _8.status;
486
552
  var user = session === null || session === void 0 ? void 0 : session.user;
487
- var _5 = useState(0), refreshKey = _5[0], setRefreshKey = _5[1];
488
- var _6 = useState(null), predefinedSearchBaseFilter = _6[0], setPredefinedSearchBaseFilter = _6[1];
489
- var _7 = useState([]), savedFilters = _7[0], setSavedFilters = _7[1];
490
- var _8 = useState(false), savedFiltersLoaded = _8[0], setSavedFiltersLoaded = _8[1];
553
+ var _9 = useState(0), refreshKey = _9[0], setRefreshKey = _9[1];
554
+ var _10 = useState(null), predefinedSearchBaseFilter = _10[0], setPredefinedSearchBaseFilter = _10[1];
555
+ var _11 = useState([]), savedFilters = _11[0], setSavedFilters = _11[1];
556
+ var _12 = useState(false), savedFiltersLoaded = _12[0], setSavedFiltersLoaded = _12[1];
491
557
  var entityApi = createSolidEntityApi("savedFilters");
492
558
  var useCreateSolidEntityMutation = entityApi.useCreateSolidEntityMutation, useDeleteSolidEntityMutation = entityApi.useDeleteSolidEntityMutation, useGetSolidEntityByIdQuery = entityApi.useGetSolidEntityByIdQuery, useUpdateSolidEntityMutation = entityApi.useUpdateSolidEntityMutation, useLazyGetSolidEntitiesQuery = entityApi.useLazyGetSolidEntitiesQuery;
493
- var _9 = useCreateSolidEntityMutation(), createEntity = _9[0], _10 = _9[1], isEntityCreateSuccess = _10.isSuccess, isEntityCreateError = _10.isError, entityCreateError = _10.error;
494
- var _11 = useUpdateSolidEntityMutation(), updateEntity = _11[0], _12 = _11[1], isEntityUpdateSuceess = _12.isSuccess, isEntityUpdateError = _12.isError, entityUpdateError = _12.error;
495
- var _13 = useDeleteSolidEntityMutation(), deleteEntity = _13[0], _14 = _13[1], isEntityDeleteSuceess = _14.isSuccess, isEntityDeleteError = _14.isError, entityDeleteError = _14.error;
496
- var _15 = useLazyGetSolidEntitiesQuery(), triggerGetSolidEntities = _15[0], _16 = _15[1], solidEntityListViewData = _16.data, isSavedFilterLoading = _16.isLoading, error = _16.error;
497
- var _17 = useState(0), savedFilterFetchDataRefreshKey = _17[0], setSavedFilterFetchDataRefreshKey = _17[1];
559
+ var _13 = useCreateSolidEntityMutation(), createEntity = _13[0], _14 = _13[1], isEntityCreateSuccess = _14.isSuccess, isEntityCreateError = _14.isError, entityCreateError = _14.error;
560
+ var _15 = useUpdateSolidEntityMutation(), updateEntity = _15[0], _16 = _15[1], isEntityUpdateSuceess = _16.isSuccess, isEntityUpdateError = _16.isError, entityUpdateError = _16.error;
561
+ var _17 = useDeleteSolidEntityMutation(), deleteEntity = _17[0], _18 = _17[1], isEntityDeleteSuceess = _18.isSuccess, isEntityDeleteError = _18.isError, entityDeleteError = _18.error;
562
+ var _19 = useLazyGetSolidEntitiesQuery(), triggerGetSolidEntities = _19[0], _20 = _19[1], solidEntityListViewData = _20.data, isSavedFilterLoading = _20.isLoading, error = _20.error;
563
+ var _21 = useState(0), savedFilterFetchDataRefreshKey = _21[0], setSavedFilterFetchDataRefreshKey = _21[1];
498
564
  useEffect(function () {
499
565
  var fn = function () { return __awaiter(void 0, void 0, void 0, function () {
500
566
  var filters, queryData, queryString, savedFilter;
@@ -561,14 +627,15 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
561
627
  }); });
562
628
  useEffect(function () {
563
629
  var fn = function () { return __awaiter(void 0, void 0, void 0, function () {
564
- var searchChips, customChips, queryObject, currentSavedFilterId_1, currentSavedFilterData_1, filterJson, finalSavedFilter, formattedChips, rules, hydratedRules;
565
- return __generator(this, function (_a) {
566
- switch (_a.label) {
630
+ var searchChips, customChips, queryObject, currentSavedFilterId_1, currentSavedFilterData_1, filterJson, finalSavedFilter, formattedChips, rules, hydratedRules, hasGroupingRules, layoutGroupBy, initialGroupingRules;
631
+ var _a, _b, _c, _d, _e;
632
+ return __generator(this, function (_f) {
633
+ switch (_f.label) {
567
634
  case 0:
568
635
  if (!savedFiltersLoaded) return [3 /*break*/, 3];
569
636
  if (activeSavedFilter && savedFilters.length === 0)
570
637
  return [2 /*return*/];
571
- queryObject = queryStringToQueryObject();
638
+ queryObject = getFilterObjectFromLocalStorage();
572
639
  // const savedQuery = parsedSearchParams?.get("savedQuery");
573
640
  if (activeSavedFilter) {
574
641
  currentSavedFilterId_1 = Number(activeSavedFilter);
@@ -594,16 +661,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
594
661
  }
595
662
  if (searchChips) {
596
663
  setSearchFilter(searchChips);
597
- formattedChips = searchChips === null || searchChips === void 0 ? void 0 : searchChips.$and.map(function (chip, key) {
598
- var _a;
599
- var chipKey = Object.keys(chip)[0]; // Get the key, e.g., "displayName"
600
- var chipValue = (_a = chip[chipKey]) === null || _a === void 0 ? void 0 : _a.$containsi; // Get the value of "$containsi"
601
- var chipdata = {
602
- columnName: chipKey,
603
- value: chipValue
604
- };
605
- return chipdata;
606
- });
664
+ formattedChips = extractChips(searchChips);
607
665
  setSearchChips(formattedChips);
608
666
  }
609
667
  if (!(customChips && Object.keys(customChips).length !== 0)) return [3 /*break*/, 2];
@@ -611,13 +669,34 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
611
669
  rules = transformFiltersToRules(customChips);
612
670
  return [4 /*yield*/, hydrateRelationRules([rules], viewData)];
613
671
  case 1:
614
- hydratedRules = _a.sent();
672
+ hydratedRules = _f.sent();
615
673
  setFilterRules(hydratedRules);
616
- _a.label = 2;
674
+ _f.label = 2;
617
675
  case 2:
676
+ hasGroupingRules = ((_a = queryObject === null || queryObject === void 0 ? void 0 : queryObject.grouping_rules) === null || _a === void 0 ? void 0 : _a.some(function (rule) { return rule.fieldName !== null; }));
677
+ if (hasGroupingRules) {
678
+ setGroupingRules(queryObject === null || queryObject === void 0 ? void 0 : queryObject.grouping_rules);
679
+ }
680
+ else {
681
+ layoutGroupBy = (_e = (_d = (_c = (_b = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _b === void 0 ? void 0 : _b.solidView) === null || _c === void 0 ? void 0 : _c.layout) === null || _d === void 0 ? void 0 : _d.attrs) === null || _e === void 0 ? void 0 : _e.groupBy;
682
+ if (Array.isArray(layoutGroupBy) && layoutGroupBy.length > 0) {
683
+ initialGroupingRules = layoutGroupBy.map(function (groupStr, index) {
684
+ var _a = groupStr.split(":"), fieldName = _a[0], dateGrouping = _a[1];
685
+ return {
686
+ id: Date.now() + index,
687
+ fieldName: fieldName || null,
688
+ dateGrouping: dateGrouping || null
689
+ };
690
+ });
691
+ setGroupingRules(initialGroupingRules);
692
+ }
693
+ }
694
+ if ((queryObject === null || queryObject === void 0 ? void 0 : queryObject.aggregation_rules) && (queryObject === null || queryObject === void 0 ? void 0 : queryObject.aggregation_rules) !== aggregationRules) {
695
+ setAggregationRules(queryObject === null || queryObject === void 0 ? void 0 : queryObject.aggregation_rules);
696
+ }
618
697
  setRefreshKey(function (prev) { return prev + 1; });
619
698
  setHasSearched(true);
620
- _a.label = 3;
699
+ _f.label = 3;
621
700
  case 3: return [2 /*return*/];
622
701
  }
623
702
  });
@@ -627,9 +706,8 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
627
706
  useEffect(function () {
628
707
  var fn = function () { return __awaiter(void 0, void 0, void 0, function () {
629
708
  var rules, hydratedRules, formattedChips;
630
- var _a;
631
- return __generator(this, function (_b) {
632
- switch (_b.label) {
709
+ return __generator(this, function (_a) {
710
+ switch (_a.label) {
633
711
  case 0:
634
712
  console.log("Effect fired");
635
713
  console.log("filterPredicates:", filterPredicates);
@@ -640,25 +718,16 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
640
718
  rules = transformFiltersToRules(filterPredicates.custom_filter_predicate);
641
719
  return [4 /*yield*/, hydrateRelationRules([rules], viewData)];
642
720
  case 1:
643
- hydratedRules = _b.sent();
721
+ hydratedRules = _a.sent();
644
722
  setFilterRules(hydratedRules);
645
- _b.label = 2;
723
+ _a.label = 2;
646
724
  case 2:
647
725
  if ((filterPredicates === null || filterPredicates === void 0 ? void 0 : filterPredicates.search_predicate) && (filterPredicates === null || filterPredicates === void 0 ? void 0 : filterPredicates.search_predicate) !== searchFilter) {
648
726
  setSearchFilter(filterPredicates === null || filterPredicates === void 0 ? void 0 : filterPredicates.search_predicate);
649
- formattedChips = (_a = filterPredicates.search_predicate) === null || _a === void 0 ? void 0 : _a.$and.map(function (chip, key) {
650
- var _a;
651
- var chipKey = Object.keys(chip)[0]; // Get the key, e.g., "displayName"
652
- var chipValue = (_a = chip[chipKey]) === null || _a === void 0 ? void 0 : _a.$containsi; // Get the value of "$containsi"
653
- var chipdata = {
654
- columnName: chipKey,
655
- value: chipValue
656
- };
657
- return chipdata;
658
- });
727
+ formattedChips = extractChips(filterPredicates.search_predicate);
659
728
  setSearchChips(formattedChips);
660
729
  }
661
- _b.label = 3;
730
+ _a.label = 3;
662
731
  case 3: return [2 /*return*/];
663
732
  }
664
733
  });
@@ -682,7 +751,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
682
751
  var layoutChildren = (_f = (_e = (_d = (_c = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _c === void 0 ? void 0 : _c.solidView) === null || _d === void 0 ? void 0 : _d.layout) === null || _e === void 0 ? void 0 : _e.children) !== null && _f !== void 0 ? _f : [];
683
752
  var fieldElements_1 = extractFields(layoutChildren);
684
753
  var fieldsList = Object.entries(fieldsData !== null && fieldsData !== void 0 ? fieldsData : {}).map(function (_a) {
685
- var _b, _c, _d, _e, _f;
754
+ var _b, _c, _d, _e, _f, _g;
686
755
  var key = _a[0], value = _a[1];
687
756
  var viewFieldElement = fieldElements_1.find(function (f) { var _a; return ((_a = f === null || f === void 0 ? void 0 : f.attrs) === null || _a === void 0 ? void 0 : _a.name) === key; });
688
757
  return {
@@ -693,6 +762,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
693
762
  matchMode: (_b = viewFieldElement === null || viewFieldElement === void 0 ? void 0 : viewFieldElement.attrs) === null || _b === void 0 ? void 0 : _b.searchMatchMode,
694
763
  searchField: (_d = (_c = viewFieldElement === null || viewFieldElement === void 0 ? void 0 : viewFieldElement.attrs) === null || _c === void 0 ? void 0 : _c.searchField) !== null && _d !== void 0 ? _d : null,
695
764
  isSearchable: (_f = (_e = viewFieldElement === null || viewFieldElement === void 0 ? void 0 : viewFieldElement.attrs) === null || _e === void 0 ? void 0 : _e.isSearchable) !== null && _f !== void 0 ? _f : false,
765
+ relationType: (_g = value === null || value === void 0 ? void 0 : value.relationType) !== null && _g !== void 0 ? _g : null,
696
766
  };
697
767
  });
698
768
  setFields(fieldsList);
@@ -715,7 +785,30 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
715
785
  return false;
716
786
  }
717
787
  });
718
- // console.log("searchableFieldsList", searchableFieldsList);
788
+ var groupableFieldsList = fieldsList.filter(function (field) {
789
+ switch (field.type) {
790
+ case "relation":
791
+ // Only include relation if searchField is present
792
+ if (field.relationType === "many-to-one")
793
+ return true;
794
+ return false;
795
+ case "longText":
796
+ case "shortText":
797
+ case "selectionStatic":
798
+ case "selectionDynamic":
799
+ case "int":
800
+ case "float":
801
+ case "boolean":
802
+ case "date":
803
+ case "datetime":
804
+ return true;
805
+ // case "selectionStatic":
806
+ case "computed":
807
+ return field.ormType === "varchar";
808
+ default:
809
+ return false;
810
+ }
811
+ });
719
812
  // Optionally map to a minimal structure if needed for UI
720
813
  var finalSearchableFieldsList = searchableFieldsList.map(function (field) {
721
814
  var _a;
@@ -726,8 +819,21 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
726
819
  matchMode: field.matchMode
727
820
  });
728
821
  });
729
- // console.log("finalSearchableFieldsList", finalSearchableFieldsList);
730
822
  setSearchableFields(finalSearchableFieldsList);
823
+ var finalGroupableFieldsList = groupableFieldsList.map(function (field) {
824
+ var _a;
825
+ return ({
826
+ fieldName: field.value,
827
+ displayName: field.name,
828
+ searchField: (_a = field.searchField) !== null && _a !== void 0 ? _a : "",
829
+ matchMode: field.matchMode,
830
+ type: field.type,
831
+ ormType: field.ormType,
832
+ relationType: field.relationType,
833
+ computedFieldValueType: field.computedFieldValueType
834
+ });
835
+ });
836
+ setGroupableFields(finalGroupableFieldsList);
731
837
  var predefinedSearchesList = ((_k = (_j = (_h = (_g = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _g === void 0 ? void 0 : _g.solidView) === null || _h === void 0 ? void 0 : _h.layout) === null || _j === void 0 ? void 0 : _j.attrs) === null || _k === void 0 ? void 0 : _k.predefinedSearches) || [];
732
838
  setPredefinedSearches(predefinedSearchesList);
733
839
  }
@@ -805,10 +911,15 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
805
911
  setHasSearched(true);
806
912
  setRefreshKey(function (prev) { return prev + 1; });
807
913
  };
914
+ var applyGrouping = function (groupingRules, aggregationRules) {
915
+ setHasSearched(true);
916
+ setShowGroupFilterElement(false);
917
+ setGroupingRules(groupingRules);
918
+ setAggregationRules(aggregationRules);
919
+ setRefreshKey(function (prev) { return prev + 1; });
920
+ };
808
921
  useEffect(function () {
809
922
  if (refreshKey > 0 && hasSearched) {
810
- console.log("refres", refreshKey);
811
- console.log("hasSearched", hasSearched);
812
923
  var formattedChips = {
813
924
  $and: searchChips.map(function (chip) {
814
925
  var _a;
@@ -825,7 +936,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
825
936
  var finalSavedFilter = currentSavedFilterQuery;
826
937
  var finalPredefinedFilter = predefinedSearchBaseFilter;
827
938
  var finalCustomFilter = customFilter;
828
- var finalFilter = mergeAllDiffFilters(finalCustomFilter, finalSearchFilter, finalSavedFilter, finalPredefinedFilter);
939
+ var finalFilter = mergeAllDiffFilters(finalCustomFilter, finalSearchFilter, finalSavedFilter, finalPredefinedFilter, groupingRules, aggregationRules);
829
940
  handleApplyCustomFilter(finalFilter, true);
830
941
  setHasSearched(false);
831
942
  // }
@@ -1052,6 +1163,15 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
1052
1163
  fn();
1053
1164
  }, children: [_jsx("rect", { width: "20", height: "20", rx: "4", fill: "#722ED1" }), _jsx("path", { d: "M8.66667 15V13.3333H11.3333V15H8.66667ZM6 10.8333V9.16667H14V10.8333H6ZM4 6.66667V5H16V6.66667H4Z", fill: "white" })] }), _jsx("span", { children: _jsx("strong", { children: currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name }) })] }), _jsx("a", { onClick: removeSavedFilter, style: { cursor: "pointer" }, children: _jsx("i", { className: "pi pi-times ml-1" }) })] }) }));
1054
1165
  };
1166
+ var removeGrouping = function () {
1167
+ setGroupingRules(defaultGroupingRules);
1168
+ setAggregationRules(defaultAggregationRules);
1169
+ setHasSearched(true);
1170
+ setRefreshKey(function (prev) { return prev + 1; });
1171
+ };
1172
+ var GroupingChip = function () {
1173
+ return (_jsx("li", { className: "solid-global-search-chip", children: _jsxs("div", { className: "flex align-items-center gap-2", children: [_jsxs("div", { className: "flex align-items-center gap-2", children: [_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", onClick: function () { return setShowGroupFilterElement(true); }, children: [_jsx("rect", { width: "20", height: "20", rx: "4", fill: "#722ED1" }), _jsx("path", { d: "M8.66667 15V13.3333H11.3333V15H8.66667ZM6 10.8333V9.16667H14V10.8333H6ZM4 6.66667V5H16V6.66667H4Z", fill: "white" })] }), _jsxs("span", { children: [_jsx("strong", { children: groupingRules.length }), " Grouping rules applied"] })] }), _jsx("a", { onClick: removeGrouping, style: { cursor: "pointer" }, children: _jsx("i", { className: "pi pi-times ml-1" }) })] }) }));
1174
+ };
1055
1175
  //saved filter related code end
1056
1176
  // search related code start
1057
1177
  var handleRemoveChipGroup = function (columnName) {
@@ -1115,7 +1235,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
1115
1235
  return;
1116
1236
  }
1117
1237
  try {
1118
- // Replace {{search}} placeholders with actual search value
1238
+ // Replace {{ search }} placeholders with actual search value
1119
1239
  var processedFilter = replacePlaceholders(predefinedSearch.filters, inputValue.trim());
1120
1240
  // Clear all existing filters and searches
1121
1241
  // setSearchChips([]);
@@ -1154,7 +1274,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
1154
1274
  };
1155
1275
  var PredefinedSearchChip = function () { return (_jsx("li", { children: _jsxs("div", { className: "search-filter-chip-type", children: [_jsxs("div", { className: "flex align-items-center gap-2", children: [_jsxs("strong", { children: [predefinedSearchChip === null || predefinedSearchChip === void 0 ? void 0 : predefinedSearchChip.name, ":"] }), _jsx("span", { className: "custom-chip-value", children: predefinedSearchChip === null || predefinedSearchChip === void 0 ? void 0 : predefinedSearchChip.value })] }), _jsx("i", { className: "pi pi-times ml-1", style: { cursor: "pointer" }, onClick: removePredefinedSearchChip })] }) })); };
1156
1276
  // predefinedfilter related code end
1157
- return (_jsx(_Fragment, { children: _jsxs("div", { className: "flex justify-content-center solid-custom-filter-wrapper relative", children: [_jsx("div", { className: "solid-global-search-element", children: _jsxs("ul", { className: "", children: [currentSavedFilterData && _jsx(SavedFiltersChip, {}), predefinedSearchChip && _jsx(PredefinedSearchChip, {}), customFilter && _jsx(CustomChip, {}), _jsx(SearchChip, {}), _jsx("li", { ref: chipsRef, children: _jsxs("div", { className: "relative solid-global-search-element-wrapper", children: [_jsx(InputText, { value: inputValue || "", placeholder: "Search.", onChange: function (e) {
1277
+ return (_jsx(_Fragment, { children: _jsxs("div", { className: "flex justify-content-center solid-custom-filter-wrapper relative", children: [_jsx("div", { className: "solid-global-search-element", children: _jsxs("ul", { className: "", children: [currentSavedFilterData && _jsx(SavedFiltersChip, {}), predefinedSearchChip && _jsx(PredefinedSearchChip, {}), customFilter && _jsx(CustomChip, {}), groupingRules.length > 0 && groupingRules.some(function (r) { return r.fieldName !== null; }) && _jsx(GroupingChip, {}), _jsx(SearchChip, {}), _jsx("li", { ref: chipsRef, children: _jsxs("div", { className: "relative solid-global-search-element-wrapper", children: [_jsx(InputText, { value: inputValue || "", placeholder: "Search.", onChange: function (e) {
1158
1278
  setInputValue(e.target.value);
1159
1279
  setShowOverlay(true);
1160
1280
  }, onFocus: function () {
@@ -1194,10 +1314,13 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
1194
1314
  _jsxs(_Fragment, { children: [_jsx("div", { className: "p-3 text-base", children: "Search Here..." }), _jsx(Divider, { className: "m-0" })] }), savedFilters.length > 0 &&
1195
1315
  _jsxs(_Fragment, { children: [_jsxs("div", { className: "p-3", children: [_jsx("p", { className: "font-medium", children: "Saved Filters" }), _jsx("div", { className: "flex flex-column gap-2", children: savedFilters.map(function (savedfilter) {
1196
1316
  return _jsx(SavedFilterList, { savedfilter: savedfilter, activeSavedFilter: activeSavedFilter, applySavedFilter: applySavedFilter, openSavedCustomFilter: openSavedCustomFilter, setSavedFilterTobeDeleted: setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible: setIsDeleteSQDialogVisible });
1197
- }) })] }), _jsx(Divider, { className: "m-0" })] }), _jsx("div", { className: "px-2 py-1", children: _jsx(Button, { text: true, size: "small", label: "Custom Filter", iconPos: "left", icon: 'pi pi-plus', onClick: function () { return setShowGlobalSearchElement(true); }, className: "font-bold" }) })] })), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showGlobalSearchElement, style: { width: '65vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showGlobalSearchElement)
1198
- return; setShowGlobalSearchElement(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Add Custom Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowGlobalSearchElement(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-3 lg:p-4", children: fields.length > 0 &&
1199
- _jsx(FilterComponent, { viewData: viewData, fields: fields, filterRules: filterRules, setFilterRules: setFilterRules, transformFilterRules: transformCustomFilterRules, closeDialog: function () { return setShowGlobalSearchElement(false); } }) })] }), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showSavedFilterComponent, style: { width: '65vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showSavedFilterComponent)
1200
- return; setShowSavedFilterComponent(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Saved Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowSavedFilterComponent(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-3 lg:p-4", children: fields.length > 0 &&
1317
+ }) })] }), _jsx(Divider, { className: "m-0" })] }), _jsxs("div", { className: "px-2 py-1 flex justify-content-between", children: [_jsx(Button, { text: true, size: "small", label: "Custom Filter", iconPos: "left", icon: 'pi pi-plus', onClick: function () { return setShowGlobalSearchElement(true); }, className: "font-bold" }), viewType === "tree" &&
1318
+ _jsx(Button, { text: true, size: "small", label: "Grouping", iconPos: "left", icon: 'pi pi-plus', onClick: function () { return setShowGroupFilterElement(true); }, className: "font-bold" })] })] })), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showGlobalSearchElement, style: { width: '65vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showGlobalSearchElement)
1319
+ return; setShowGlobalSearchElement(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Add Custom Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowGlobalSearchElement(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-2 lg:p-2", children: fields.length > 0 &&
1320
+ _jsx(FilterComponent, { viewData: viewData, fields: fields, filterRules: filterRules, setFilterRules: setFilterRules, transformFilterRules: transformCustomFilterRules, closeDialog: function () { return setShowGlobalSearchElement(false); } }) })] }), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showGroupFilterElement, style: { width: '20vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showGroupFilterElement)
1321
+ return; setShowGroupFilterElement(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowGroupFilterElement(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-2 lg:p-2", children: groupableFields.length > 0 &&
1322
+ _jsx(GroupingComponent, { viewData: viewData, fields: groupableFields, groupingRules: groupingRules, setGroupingRules: setGroupingRules, aggregationRules: aggregationRules, setAggregationRules: setAggregationRules, applyGrouping: applyGrouping, closeDialog: function () { return setShowGroupFilterElement(false); } }) })] }), _jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: showSavedFilterComponent, style: { width: '65vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: function () { if (!showSavedFilterComponent)
1323
+ return; setShowSavedFilterComponent(false); }, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Saved Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: function () { return setShowSavedFilterComponent(false); } })] }), _jsx(Divider, { className: "m-0" }), _jsx("div", { className: "p-2 lg:p-2", children: fields.length > 0 &&
1201
1324
  _jsx(FilterComponent, { viewData: viewData, fields: fields, filterRules: currentSavedFilterRules, setFilterRules: setCurrentSavedFilterRules, transformFilterRules: transformSavedFilterRules, closeDialog: function () { return setShowSavedFilterComponent(false); } }) })] }), _jsx(Dialog, { header: "Save Custom Filter", className: "solid-custom-filter-dialog", visible: showSaveFilterPopup, style: { width: 500 }, onHide: function () { if (!showSaveFilterPopup)
1202
1325
  return; setShowSaveFilterPopup(false); }, children: _jsx(SolidSaveCustomFilterForm, { currentSavedFilterData: currentSavedFilterData, handleSaveFilter: handleSaveFilter, closeDialog: setShowSaveFilterPopup }) }), _jsx(Dialog, { visible: isDeleteSQDialogVisible, header: "Confirm Delete", modal: true, className: "solid-confirm-dialog", footer: function () { return (_jsxs("div", { className: "flex justify-content-center", children: [_jsx(Button, { label: "Yes", icon: "pi pi-check", className: 'small-button', severity: "danger", autoFocus: true, onClick: deleteSavedFilter }), _jsx(Button, { label: "No", icon: "pi pi-times", className: 'small-button', onClick: function () { return setIsDeleteSQDialogVisible(false); } })] })); }, onHide: function () { return setIsDeleteSQDialogVisible(false); }, children: _jsxs("p", { children: ["Are you sure you want to delete the ", currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.name, " saved query?"] }) })] }) }));
1203
1326
  });