@solidxai/core-ui 0.1.13-beta.4 → 0.1.13-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/components/auth/AuthTabs.d.ts.map +1 -1
  2. package/dist/components/auth/AuthTabs.js +1 -1
  3. package/dist/components/auth/AuthTabs.js.map +1 -1
  4. package/dist/components/auth/AuthTabs.tsx +1 -0
  5. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  6. package/dist/components/auth/SolidChangeForcePassword.js +2 -2
  7. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  8. package/dist/components/auth/SolidChangeForcePassword.tsx +9 -8
  9. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  10. package/dist/components/common/SettingsComponent.js +1 -1
  11. package/dist/components/common/SettingsComponent.js.map +1 -1
  12. package/dist/components/common/SettingsComponent.tsx +1 -0
  13. package/dist/components/common/SolidFieldTooltip.d.ts.map +1 -1
  14. package/dist/components/common/SolidFieldTooltip.js +1 -33
  15. package/dist/components/common/SolidFieldTooltip.js.map +1 -1
  16. package/dist/components/common/SolidFieldTooltip.tsx +8 -64
  17. package/dist/components/common/SolidMaterialSymbol.d.ts +1 -1
  18. package/dist/components/common/SolidMaterialSymbol.d.ts.map +1 -1
  19. package/dist/components/common/SolidMaterialSymbol.js +6 -37
  20. package/dist/components/common/SolidMaterialSymbol.js.map +1 -1
  21. package/dist/components/common/SolidMaterialSymbol.tsx +6 -54
  22. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -1
  23. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +2 -2
  24. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  25. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +2 -0
  26. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  27. package/dist/components/core/card/CardItem.js +1 -1
  28. package/dist/components/core/card/CardItem.js.map +1 -1
  29. package/dist/components/core/card/CardItem.tsx +16 -14
  30. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  31. package/dist/components/core/card/SolidCardView.js +69 -40
  32. package/dist/components/core/card/SolidCardView.js.map +1 -1
  33. package/dist/components/core/card/SolidCardView.tsx +55 -24
  34. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +99 -0
  35. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.d.ts.map +1 -1
  36. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js +76 -5
  37. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js.map +1 -1
  38. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.tsx +39 -4
  39. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  40. package/dist/components/core/common/SolidGlobalSearchElement.js +172 -124
  41. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  42. package/dist/components/core/common/SolidGlobalSearchElement.tsx +73 -84
  43. package/dist/components/core/common/globalSearchPersistence.d.ts +3 -0
  44. package/dist/components/core/common/globalSearchPersistence.d.ts.map +1 -1
  45. package/dist/components/core/common/globalSearchPersistence.js +33 -24
  46. package/dist/components/core/common/globalSearchPersistence.js.map +1 -1
  47. package/dist/components/core/common/globalSearchPersistence.ts +34 -27
  48. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +2 -2
  49. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  50. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +2 -2
  51. package/dist/components/core/filter/fields/SolidMediaSingleField.js +2 -2
  52. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  53. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +2 -2
  54. package/dist/components/core/filter/fields/SolidShortTextField.js +2 -2
  55. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  56. package/dist/components/core/filter/fields/SolidShortTextField.tsx +2 -2
  57. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  58. package/dist/components/core/kanban/KanbanCard.js +1 -1
  59. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  60. package/dist/components/core/kanban/KanbanCard.tsx +18 -16
  61. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  62. package/dist/components/core/kanban/SolidKanbanView.js +67 -48
  63. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  64. package/dist/components/core/kanban/SolidKanbanView.tsx +51 -11
  65. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
  66. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  67. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +11 -2
  68. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  69. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +35 -0
  70. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  71. package/dist/components/core/list/SolidListView.js +6 -2
  72. package/dist/components/core/list/SolidListView.js.map +1 -1
  73. package/dist/components/core/list/SolidListView.tsx +7 -1
  74. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  75. package/dist/components/core/list/SolidListViewConfigure.js +15 -11
  76. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  77. package/dist/components/core/list/SolidListViewConfigure.tsx +25 -6
  78. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts +1 -1
  79. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  80. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +3 -1
  81. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  82. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +3 -1
  83. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  84. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +7 -0
  85. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  86. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +5 -0
  87. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  88. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +3 -0
  89. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  90. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +2 -0
  91. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.d.ts.map +1 -1
  92. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +3 -0
  93. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
  94. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +2 -0
  95. package/dist/components/core/model/CreateModel.css +10 -0
  96. package/dist/components/core/model/FieldMetaDataForm.css +10 -0
  97. package/dist/components/core/model/FieldMetaDataForm.js +8 -8
  98. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  99. package/dist/components/core/model/FieldMetaDataForm.tsx +13 -13
  100. package/dist/components/core/module/ModuleMetadataExplorer.css +23 -0
  101. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -1
  102. package/dist/components/core/module/ModuleMetadataExplorer.js +1 -1
  103. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -1
  104. package/dist/components/core/module/ModuleMetadataExplorer.tsx +9 -0
  105. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  106. package/dist/components/core/tree/SolidTreeView.js +249 -138
  107. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  108. package/dist/components/core/tree/SolidTreeView.tsx +220 -92
  109. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
  110. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +1 -1
  111. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
  112. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +1 -0
  113. package/dist/components/layout/AdminHeaderActions.js +6 -13
  114. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  115. package/dist/components/layout/AdminHeaderActions.tsx +11 -11
  116. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  117. package/dist/components/layout/AdminLayout.js +2 -2
  118. package/dist/components/layout/AdminLayout.js.map +1 -1
  119. package/dist/components/layout/AdminLayout.tsx +5 -4
  120. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  121. package/dist/components/layout/AppSidebar.js +17 -2
  122. package/dist/components/layout/AppSidebar.js.map +1 -1
  123. package/dist/components/layout/AppSidebar.tsx +21 -2
  124. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
  125. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  126. package/dist/components/shad-cn-ui/SolidDatePicker.js +35 -3
  127. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  128. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +84 -0
  129. package/dist/components/shad-cn-ui/SolidTooltip.d.ts.map +1 -1
  130. package/dist/components/shad-cn-ui/SolidTooltip.js +55 -2
  131. package/dist/components/shad-cn-ui/SolidTooltip.js.map +1 -1
  132. package/dist/components/shad-cn-ui/SolidTooltip.tsx +95 -1
  133. package/dist/helpers/downloadMediaFile.d.ts.map +1 -1
  134. package/dist/helpers/downloadMediaFile.js +80 -5
  135. package/dist/helpers/downloadMediaFile.js.map +1 -1
  136. package/dist/helpers/downloadMediaFile.tsx +33 -6
  137. package/dist/resources/globals.css +109 -1
  138. package/dist/resources/solid-custom.css +53 -3
  139. package/dist/resources/solid-tailwind-generated.css +1 -1
  140. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  141. package/dist/routes/pages/admin/core/DashboardPage.js +2 -2
  142. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  143. package/dist/routes/pages/admin/core/DashboardPage.tsx +2 -0
  144. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  145. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +1 -1
  146. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  147. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1 -0
  148. package/dist/types/css-modules.d.ts +2 -0
  149. package/package.json +1 -1
@@ -76,23 +76,27 @@ import CompactImage from '../../../resources/images/layout/images/compact.png';
76
76
  import CozyImage from '../../../resources/images/layout/images/cozy.png';
77
77
  import ComfortableImage from '../../../resources/images/layout/images/comfortable.png';
78
78
  import { ERROR_MESSAGES } from "../../../constants/error-messages";
79
- import { getFilterObjectFromLocalStorage, hasStoredFilterPredicates, setFilterObjectToLocalStorage } from "../common/globalSearchPersistence";
79
+ import { getFilterObjectFromLocalStorage, hasStoredFilterPredicates, hasStoredSearchUiState, setFilterObjectToLocalStorage } from "../common/globalSearchPersistence";
80
80
  import { getExtensionFunction } from "../../../helpers/registry";
81
+ import { getMediaTypeFromUrl } from "../../../helpers/mediaType";
81
82
  import { useRouter } from "../../../hooks/useRouter";
82
83
  import { normalizeSolidListTreeKanbanActionPath } from "../../../helpers/routePaths";
83
84
  import { usePathname } from "../../../hooks/usePathname";
84
85
  import { useHandleListCustomButtonClick } from "../../../components/common/useHandleListCustomButtonClick";
85
- import { SolidButton, SolidDialog, SolidDialogBody, SolidDialogDescription, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuSeparator, SolidDropdownMenuTrigger, SolidSelect } from "../../shad-cn-ui";
86
+ import { isButtonVisibleInCurrentEnv } from "../../../helpers/buttonEnvironment";
87
+ import { SolidButton, SolidConfirmDialog, SolidDialog, SolidDialogBody, SolidDialogDescription, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuSeparator, SolidDropdownMenuTrigger, SolidSelect } from "../../shad-cn-ui";
86
88
  import { SolidHeaderRequestStatus } from "../../common/SolidHeaderRequestStatus";
89
+ import { SolidLightbox } from "../../shad-cn-ui/SolidLightbox";
87
90
  import { storeCurrentModelViewContext } from "../../../helpers/modelViewPersistence";
88
91
  import { getRelationDisplayText } from "../../../helpers/relationDisplay";
89
92
  import { Column as SolidTreeColumn, SolidTreeTable } from "./SolidTreeTable";
93
+ import { SolidListViewHeaderButton } from "../list/SolidListViewHeaderButton";
90
94
  var DEFAULT_PAGE_SIZE = 25;
91
95
  var DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100];
92
96
  var resolveDefaultPageSize = function (options) { return (options.includes(DEFAULT_PAGE_SIZE) ? DEFAULT_PAGE_SIZE : options[0]); };
93
97
  // ─── Component ────────────────────────────────────────────────────────────────
94
98
  export var SolidTreeView = forwardRef(function (params, ref) {
95
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
99
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
96
100
  var dispatch = useDispatch();
97
101
  var visibleNavbar = useSelector(function (state) { var _a; return (_a = state.navbarState) === null || _a === void 0 ? void 0 : _a.visibleNavbar; });
98
102
  var searchParams = useSearchParams();
@@ -101,45 +105,63 @@ export var SolidTreeView = forwardRef(function (params, ref) {
101
105
  var user = (_a = session === null || session === void 0 ? void 0 : session.data) === null || _a === void 0 ? void 0 : _a.user;
102
106
  var pathname = usePathname();
103
107
  var solidGlobalSearchElementRef = useRef(null);
104
- var _3 = useState(false), showSaveFilterPopup = _3[0], setShowSaveFilterPopup = _3[1];
105
- var _4 = useState(false), showGlobalSearchElement = _4[0], setShowGlobalSearchElement = _4[1];
106
- var _5 = useState([]), toPopulate = _5[0], setToPopulate = _5[1];
107
- var _6 = useState([]), toPopulateMedia = _6[0], setToPopulateMedia = _6[1];
108
- var _7 = useState([]), actionsAllowed = _7[0], setActionsAllowed = _7[1];
109
- var _8 = useState({}), createActionQueryParams = _8[0], setCreateActionQueryParams = _8[1];
110
- var _9 = useState({}), editActionQueryParams = _9[0], setEditActionQueryParams = _9[1];
111
- var _10 = useState([]), selectedRecords = _10[0], setSelectedRecords = _10[1];
112
- var _11 = useState([]), selectedRecoverRecords = _11[0], setSelectedRecoverRecords = _11[1];
113
- var _12 = useState([]), groupingRules = _12[0], setGroupingRules = _12[1];
114
- var _13 = useState([]), aggregationRules = _13[0], setAggregationRules = _13[1];
115
- var _14 = useState([]), treeNodes = _14[0], setTreeNodes = _14[1];
116
- var _15 = useState({}), selectedNodeKeys = _15[0], setSelectedNodeKeys = _15[1];
117
- var _16 = useState({}), expandedKeys = _16[0], setExpandedKeys = _16[1];
118
- var _17 = useState(false), treeLoading = _17[0], setTreeLoading = _17[1];
119
- var _18 = useState(""), sortField = _18[0], setSortField = _18[1];
120
- var _19 = useState(0), sortOrder = _19[0], setSortOrder = _19[1];
121
- var _20 = useState([10, 25, 50]), pageSizeOptions = _20[0], setPageSizeOptions = _20[1];
122
- var _21 = useState(25), globalLimit = _21[0], setGlobalLimit = _21[1];
123
- var _22 = useState(false), isDeleteRecordsDialogVisible = _22[0], setDeleteRecordsDialogVisible = _22[1];
124
- var _23 = useState(false), isRecoverDialogVisible = _23[0], setRecoverDialogVisible = _23[1];
125
- var _24 = useState(false), showArchived = _24[0], setShowArchived = _24[1];
126
- var _25 = useState(), createButtonUrl = _25[0], setCreateButtonUrl = _25[1];
127
- var _26 = useState(), editButtonUrl = _26[0], setEditButtonUrl = _26[1];
128
- var _27 = useState(false), isDraftPublishWorkflowEnabled = _27[0], setIsDraftPublishWorkflowEnabled = _27[1];
108
+ var _2 = useState(false), showSaveFilterPopup = _2[0], setShowSaveFilterPopup = _2[1];
109
+ var _3 = useState(false), showGlobalSearchElement = _3[0], setShowGlobalSearchElement = _3[1];
110
+ var _4 = useState([]), toPopulate = _4[0], setToPopulate = _4[1];
111
+ var _5 = useState([]), toPopulateMedia = _5[0], setToPopulateMedia = _5[1];
112
+ var _6 = useState([]), actionsAllowed = _6[0], setActionsAllowed = _6[1];
113
+ var _7 = useState({}), createActionQueryParams = _7[0], setCreateActionQueryParams = _7[1];
114
+ var _8 = useState({}), editActionQueryParams = _8[0], setEditActionQueryParams = _8[1];
115
+ var _9 = useState([]), selectedRecords = _9[0], setSelectedRecords = _9[1];
116
+ var _10 = useState([]), selectedRecoverRecords = _10[0], setSelectedRecoverRecords = _10[1];
117
+ var _11 = useState([]), groupingRules = _11[0], setGroupingRules = _11[1];
118
+ var _12 = useState([]), aggregationRules = _12[0], setAggregationRules = _12[1];
119
+ var _13 = useState([]), treeNodes = _13[0], setTreeNodes = _13[1];
120
+ var _14 = useState({}), selectedNodeKeys = _14[0], setSelectedNodeKeys = _14[1];
121
+ var _15 = useState({}), expandedKeys = _15[0], setExpandedKeys = _15[1];
122
+ var _16 = useState(false), treeLoading = _16[0], setTreeLoading = _16[1];
123
+ var _17 = useState(""), sortField = _17[0], setSortField = _17[1];
124
+ var _18 = useState(0), sortOrder = _18[0], setSortOrder = _18[1];
125
+ var _19 = useState([10, 25, 50]), pageSizeOptions = _19[0], setPageSizeOptions = _19[1];
126
+ var _20 = useState(25), globalLimit = _20[0], setGlobalLimit = _20[1];
127
+ var _21 = useState(false), isDeleteRecordsDialogVisible = _21[0], setDeleteRecordsDialogVisible = _21[1];
128
+ var _22 = useState(false), isRecoverDialogVisible = _22[0], setRecoverDialogVisible = _22[1];
129
+ var _23 = useState(false), showArchived = _23[0], setShowArchived = _23[1];
130
+ var _24 = useState(false), openLightbox = _24[0], setOpenLightbox = _24[1];
131
+ var _25 = useState([]), lightboxUrls = _25[0], setLightboxUrls = _25[1];
132
+ var _26 = useState(), createButtonUrl = _26[0], setCreateButtonUrl = _26[1];
133
+ var _27 = useState(), editButtonUrl = _27[0], setEditButtonUrl = _27[1];
134
+ var _28 = useState(false), isDraftPublishWorkflowEnabled = _28[0], setIsDraftPublishWorkflowEnabled = _28[1];
129
135
  var sizeOptions = [
130
136
  { label: "Compact", value: "small", image: CompactImage },
131
137
  { label: "Cozy", value: "normal", image: CozyImage },
132
138
  { label: "Comfortable", value: "large", image: ComfortableImage },
133
139
  ];
134
- var _28 = useState(sizeOptions[1].value), size = _28[0], setSize = _28[1];
135
- var _29 = useState([]), viewModes = _29[0], setViewModes = _29[1];
140
+ var _29 = useState(sizeOptions[1].value), size = _29[0], setSize = _29[1];
141
+ var _30 = useState([]), viewModes = _30[0], setViewModes = _30[1];
142
+ var lightboxSlides = Array.isArray(lightboxUrls)
143
+ ? lightboxUrls
144
+ .map(function (item) {
145
+ var src = (item === null || item === void 0 ? void 0 : item.src) || (item === null || item === void 0 ? void 0 : item.downloadUrl) || "";
146
+ if (!src) {
147
+ return null;
148
+ }
149
+ var mediaType = getMediaTypeFromUrl(src);
150
+ var slide = { src: src };
151
+ if (mediaType !== "image") {
152
+ slide.type = mediaType;
153
+ }
154
+ return slide;
155
+ })
156
+ .filter(function (slide) { return !!slide; })
157
+ : [];
136
158
  var headerRequestStatusLabel = treeLoading ? "Loading..." : null;
137
159
  // ── Pagination state ──────────────────────────────────────────────────────
138
160
  /**
139
161
  * Key: "root" for top-level group list; node.key (string) for any other node.
140
162
  * Value: { offset, limit, total }
141
163
  */
142
- var _30 = useState({}), paginationMap = _30[0], setPaginationMap = _30[1];
164
+ var _31 = useState({}), paginationMap = _31[0], setPaginationMap = _31[1];
143
165
  var getPagination = function (key, map) {
144
166
  var _a;
145
167
  if (map === void 0) { map = paginationMap; }
@@ -168,8 +190,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
168
190
  var entityApi = createSolidEntityApi(params.modelName);
169
191
  var useCreateSolidEntityMutation = entityApi.useCreateSolidEntityMutation, useDeleteMultipleSolidEntitiesMutation = entityApi.useDeleteMultipleSolidEntitiesMutation, useDeleteSolidEntityMutation = entityApi.useDeleteSolidEntityMutation, useGetSolidEntitiesQuery = entityApi.useGetSolidEntitiesQuery, useGetSolidEntityByIdQuery = entityApi.useGetSolidEntityByIdQuery, useLazyGetSolidEntitiesQuery = entityApi.useLazyGetSolidEntitiesQuery, useLazyGetSolidEntityByIdQuery = entityApi.useLazyGetSolidEntityByIdQuery, usePrefetch = entityApi.usePrefetch, useUpdateSolidEntityMutation = entityApi.useUpdateSolidEntityMutation, useRecoverSolidEntityByIdQuery = entityApi.useRecoverSolidEntityByIdQuery, useLazyRecoverSolidEntityByIdQuery = entityApi.useLazyRecoverSolidEntityByIdQuery, useRecoverSolidEntityMutation = entityApi.useRecoverSolidEntityMutation;
170
192
  var triggerGetSolidEntities = useLazyGetSolidEntitiesQuery()[0];
171
- var _31 = useLazyRecoverSolidEntityByIdQuery(), triggerRecoverSolidEntitiesById = _31[0], _32 = _31[1], recoverByIdData = _32.data, recoverByIdIsLoading = _32.isLoading, recoverByIdError = _32.error, recoverByIdIsError = _32.isError, recoverByIdIsSuccess = _32.isSuccess;
172
- var _33 = useRecoverSolidEntityMutation(), triggerRecoverSolidEntities = _33[0], _34 = _33[1], recoverByData = _34.data, recoverByIsLoading = _34.isLoading, recoverError = _34.error, recoverIsError = _34.isError, recoverByIsSuccess = _34.isSuccess;
193
+ var _32 = useLazyRecoverSolidEntityByIdQuery(), triggerRecoverSolidEntitiesById = _32[0], _33 = _32[1], recoverByIdData = _33.data, recoverByIdIsLoading = _33.isLoading, recoverByIdError = _33.error, recoverByIdIsError = _33.isError, recoverByIdIsSuccess = _33.isSuccess;
194
+ var _34 = useRecoverSolidEntityMutation(), triggerRecoverSolidEntities = _34[0], _35 = _34[1], recoverByData = _35.data, recoverByIsLoading = _35.isLoading, recoverError = _35.error, recoverIsError = _35.isError, recoverByIsSuccess = _35.isSuccess;
173
195
  var treeViewMetaDataQs = qs.stringify({
174
196
  modelName: params.modelName,
175
197
  moduleName: params.moduleName,
@@ -240,9 +262,9 @@ export var SolidTreeView = forwardRef(function (params, ref) {
240
262
  }
241
263
  }, [solidTreeViewLayout]);
242
264
  var editBaseUrl = useMemo(function () { return normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || "form"); }, [editButtonUrl, pathname]);
243
- var _35 = useDeleteSolidEntityMutation(), deleteSolidSingleEntiry = _35[0], isDeleteSolidSingleEntitySuccess = _35[1].isSuccess;
265
+ var _36 = useDeleteSolidEntityMutation(), deleteSolidSingleEntiry = _36[0], isDeleteSolidSingleEntitySuccess = _36[1].isSuccess;
244
266
  // Delete mutation
245
- var _36 = useDeleteMultipleSolidEntitiesMutation(), deleteManySolidEntities = _36[0], _37 = _36[1], isSolidEntitiesDeleted = _37.isLoading, isDeleteSolidEntitiesSucess = _37.isSuccess, isSolidEntitiesDeleteError = _37.isError, SolidEntitiesDeleteError = _37.error, DeletedSolidEntities = _37.data;
267
+ var _37 = useDeleteMultipleSolidEntitiesMutation(), deleteManySolidEntities = _37[0], _38 = _37[1], isSolidEntitiesDeleted = _38.isLoading, isDeleteSolidEntitiesSucess = _38.isSuccess, isSolidEntitiesDeleteError = _38.isError, SolidEntitiesDeleteError = _38.error, DeletedSolidEntities = _38.data;
246
268
  var treeViewTitle = (_e = (_d = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _d === void 0 ? void 0 : _d.solidView) === null || _e === void 0 ? void 0 : _e.displayName;
247
269
  var toggleBothSidebars = function () {
248
270
  if (visibleNavbar) {
@@ -252,8 +274,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
252
274
  dispatch(showNavbar());
253
275
  }
254
276
  };
255
- var _38 = useState(null), filters = _38[0], setFilters = _38[1];
256
- var _39 = useState(null), filterPredicates = _39[0], setFilterPredicates = _39[1];
277
+ var _39 = useState(null), filters = _39[0], setFilters = _39[1];
278
+ var _40 = useState(null), filterPredicates = _40[0], setFilterPredicates = _40[1];
257
279
  var latestFiltersRef = useRef(filters);
258
280
  var latestFilterPredicatesRef = useRef(filterPredicates);
259
281
  var activeGroupingRules = useMemo(function () { return (groupingRules || []).filter(function (rule) { return !!(rule === null || rule === void 0 ? void 0 : rule.fieldName); }); }, [groupingRules]);
@@ -473,6 +495,19 @@ export var SolidTreeView = forwardRef(function (params, ref) {
473
495
  return groupPath
474
496
  .map(function (item) { return buildImplicitFilterCondition(item); });
475
497
  };
498
+ var getGroupNodeKey = function (groupPath) {
499
+ if (groupPath === void 0) { groupPath = []; }
500
+ return groupPath.reduce(function (parentKey, item) {
501
+ var _a;
502
+ return "".concat(parentKey, "-g-").concat(encodeURIComponent(JSON.stringify({
503
+ ruleIndex: item.ruleIndex,
504
+ fieldName: item.fieldName,
505
+ filterField: item.filterField,
506
+ value: item.value,
507
+ dateGranularity: (_a = item.dateGranularity) !== null && _a !== void 0 ? _a : null,
508
+ })));
509
+ }, "root");
510
+ };
476
511
  var mergeFiltersWithImplicit = function (implicitFilters) {
477
512
  var _a;
478
513
  var baseFilters = latestFiltersRef.current;
@@ -563,7 +598,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
563
598
  };
564
599
  // ─── API fetch helpers (now accept offset + limit) ────────────────────────
565
600
  var runGroupedQuery = function (ruleIndex, groupPath, offset, limit) { return __awaiter(void 0, void 0, void 0, function () {
566
- var rule, queryData, sortParam, implicitFilters, mergedFilters, dynamicHeader, dynamicExtensionFunction, event, updatedListData, err_1, queryString, response;
601
+ var rule, queryData, sortParam, implicitFilters, mergedFilters, dynamicHeader, dynamicExtensionFunction, event, updatedListData, err_1, queryString, request, response;
567
602
  var _a, _b, _c, _d, _e;
568
603
  return __generator(this, function (_f) {
569
604
  switch (_f.label) {
@@ -624,7 +659,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
624
659
  return [3 /*break*/, 4];
625
660
  case 4:
626
661
  queryString = qs.stringify(queryData, { encodeValuesOnly: true });
627
- return [4 /*yield*/, triggerGetSolidEntities(queryString).unwrap()];
662
+ request = triggerGetSolidEntities(queryString);
663
+ return [4 /*yield*/, request.unwrap().finally(function () { return request.unsubscribe(); })];
628
664
  case 5:
629
665
  response = _f.sent();
630
666
  return [2 /*return*/, { queryData: queryData, queryString: queryString, response: response }];
@@ -632,7 +668,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
632
668
  });
633
669
  }); };
634
670
  var runLeafQuery = function (groupPath, offset, limit) { return __awaiter(void 0, void 0, void 0, function () {
635
- var queryData, implicitFilters, mergedFilters, dynamicHeader, dynamicExtensionFunction, event, updatedListData, err_2, queryString, response;
671
+ var queryData, implicitFilters, mergedFilters, dynamicHeader, dynamicExtensionFunction, event, updatedListData, err_2, queryString, request, response;
636
672
  var _a, _b, _c, _d, _e;
637
673
  return __generator(this, function (_f) {
638
674
  switch (_f.label) {
@@ -688,7 +724,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
688
724
  return [3 /*break*/, 4];
689
725
  case 4:
690
726
  queryString = qs.stringify(queryData, { encodeValuesOnly: true });
691
- return [4 /*yield*/, triggerGetSolidEntities(queryString).unwrap()];
727
+ request = triggerGetSolidEntities(queryString);
728
+ return [4 /*yield*/, request.unwrap().finally(function () { return request.unsubscribe(); })];
692
729
  case 5:
693
730
  response = _f.sent();
694
731
  return [2 /*return*/, { queryData: queryData, queryString: queryString, response: response }];
@@ -696,7 +733,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
696
733
  });
697
734
  }); };
698
735
  // ─── Node builders ────────────────────────────────────────────────────────
699
- var buildGroupNodes = function (groupMetaRows, ruleIndex, parentPath, parentKey) {
736
+ var buildGroupNodes = function (groupMetaRows, ruleIndex, parentPath) {
700
737
  var rule = activeGroupingRules[ruleIndex];
701
738
  if (!(rule === null || rule === void 0 ? void 0 : rule.fieldName))
702
739
  return [];
@@ -704,7 +741,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
704
741
  var filterField = getResolvedGroupField(fieldName);
705
742
  // const dateGranularity = dateTimeImplicitFilter(rule);
706
743
  var dateGranularity = getDateGranularity(rule);
707
- return (groupMetaRows || []).map(function (groupMeta, index) {
744
+ return (groupMetaRows || []).map(function (groupMeta) {
708
745
  var _a;
709
746
  var rawGroupLabel = groupMeta === null || groupMeta === void 0 ? void 0 : groupMeta.groupName;
710
747
  var normalizedGroupLabel = rawGroupLabel === "[object Object]"
@@ -717,7 +754,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
717
754
  { ruleIndex: ruleIndex, fieldName: fieldName, filterField: filterField, value: groupValue, dateGranularity: dateGranularity },
718
755
  ], false);
719
756
  return {
720
- key: "".concat(parentKey, "-g-").concat(ruleIndex, "-").concat(index),
757
+ key: getGroupNodeKey(groupPath),
721
758
  data: {
722
759
  __treeMeta: {
723
760
  nodeType: "group",
@@ -759,18 +796,59 @@ export var SolidTreeView = forwardRef(function (params, ref) {
759
796
  return node;
760
797
  });
761
798
  };
799
+ var fetchNodeChildren = function (node, offset, limit) { return __awaiter(void 0, void 0, void 0, function () {
800
+ var meta, nodeKey, nextRuleIndex, response_1, response;
801
+ var _a, _b, _c;
802
+ return __generator(this, function (_d) {
803
+ switch (_d.label) {
804
+ case 0:
805
+ meta = (_a = node.data) === null || _a === void 0 ? void 0 : _a.__treeMeta;
806
+ if (!meta || meta.nodeType !== "group") {
807
+ return [2 /*return*/, { children: [], total: 0 }];
808
+ }
809
+ nodeKey = String(node.key);
810
+ nextRuleIndex = meta.ruleIndex + 1;
811
+ if (!(nextRuleIndex < activeGroupingRules.length)) return [3 /*break*/, 2];
812
+ return [4 /*yield*/, runGroupedQuery(nextRuleIndex, meta.groupPath || [], offset, limit)];
813
+ case 1:
814
+ response_1 = (_d.sent()).response;
815
+ return [2 /*return*/, {
816
+ children: buildGroupNodes((response_1 === null || response_1 === void 0 ? void 0 : response_1.groupMeta) || [], nextRuleIndex, meta.groupPath || []),
817
+ total: (_b = response_1 === null || response_1 === void 0 ? void 0 : response_1.meta.totalRecords) !== null && _b !== void 0 ? _b : 0,
818
+ }];
819
+ case 2: return [4 /*yield*/, runLeafQuery(meta.groupPath || [], offset, limit)];
820
+ case 3:
821
+ response = (_d.sent()).response;
822
+ return [2 /*return*/, {
823
+ children: buildRecordNodes((response === null || response === void 0 ? void 0 : response.records) || [], nodeKey, meta.groupPath || []),
824
+ total: (_c = response === null || response === void 0 ? void 0 : response.meta.totalRecords) !== null && _c !== void 0 ? _c : 0,
825
+ }];
826
+ }
827
+ });
828
+ }); };
829
+ var mergeNodesWithCurrentState = function (freshNodes, currentNodes) {
830
+ var currentNodesByKey = new Map(currentNodes.map(function (node) { return [String(node.key), node]; }));
831
+ return freshNodes.map(function (node) {
832
+ var _a;
833
+ var currentNode = currentNodesByKey.get(String(node.key));
834
+ return ((_a = currentNode === null || currentNode === void 0 ? void 0 : currentNode.children) === null || _a === void 0 ? void 0 : _a.length)
835
+ ? __assign(__assign({}, node), { children: currentNode.children }) : node;
836
+ });
837
+ };
762
838
  // ─── Root group load / paginate ───────────────────────────────────────────
763
- var loadRootGroups = function (offset) {
839
+ var loadRootGroups = function (offset, affectedGroupPaths) {
764
840
  if (offset === void 0) { offset = 0; }
841
+ if (affectedGroupPaths === void 0) { affectedGroupPaths = []; }
765
842
  return __awaiter(void 0, void 0, void 0, function () {
766
- var queryObject, limit, response, rootNodes, total, queryData, error_1;
767
- var _a, _b;
768
- return __generator(this, function (_c) {
769
- switch (_c.label) {
843
+ var queryObject, limit, response, rootNodes, total, rootPaginationEntry, nextTreeNodes, nextPaginationMap, refreshedNodeKeys, _i, affectedGroupPaths_1, groupPath, depth, nodeKey, node, pagination, _a, children, childTotal, nextChildren, queryData, error_1;
844
+ var _b, _c;
845
+ return __generator(this, function (_d) {
846
+ switch (_d.label) {
770
847
  case 0:
771
848
  if (!solidTreeViewMetaData || activeGroupingRules.length === 0) {
772
849
  setTreeNodes([]);
773
850
  setExpandedKeys({});
851
+ setPaginationMap({});
774
852
  queryObject = getFilterObjectFromLocalStorage();
775
853
  if (queryObject) {
776
854
  delete queryObject.grouping_rules;
@@ -781,18 +859,59 @@ export var SolidTreeView = forwardRef(function (params, ref) {
781
859
  }
782
860
  limit = globalLimit || DEFAULT_PAGE_SIZE;
783
861
  setTreeLoading(true);
784
- _c.label = 1;
862
+ _d.label = 1;
785
863
  case 1:
786
- _c.trys.push([1, 3, 4, 5]);
864
+ _d.trys.push([1, 9, 10, 11]);
787
865
  return [4 /*yield*/, runGroupedQuery(0, [], offset, limit)];
788
866
  case 2:
789
- response = (_c.sent()).response;
790
- rootNodes = buildGroupNodes((response === null || response === void 0 ? void 0 : response.groupMeta) || [], 0, [], "root");
791
- setTreeNodes(rootNodes);
792
- setExpandedKeys({});
867
+ response = (_d.sent()).response;
868
+ rootNodes = buildGroupNodes((response === null || response === void 0 ? void 0 : response.groupMeta) || [], 0, []);
869
+ total = (_b = response === null || response === void 0 ? void 0 : response.meta.totalRecords) !== null && _b !== void 0 ? _b : 0;
870
+ rootPaginationEntry = { offset: offset, total: total, limit: limit };
871
+ nextTreeNodes = affectedGroupPaths.length > 0
872
+ ? mergeNodesWithCurrentState(rootNodes, treeNodes)
873
+ : rootNodes;
874
+ nextPaginationMap = affectedGroupPaths.length > 0
875
+ ? __assign(__assign({}, paginationMap), { root: rootPaginationEntry }) : { root: rootPaginationEntry };
876
+ refreshedNodeKeys = new Set();
877
+ _i = 0, affectedGroupPaths_1 = affectedGroupPaths;
878
+ _d.label = 3;
879
+ case 3:
880
+ if (!(_i < affectedGroupPaths_1.length)) return [3 /*break*/, 8];
881
+ groupPath = affectedGroupPaths_1[_i];
882
+ depth = 0;
883
+ _d.label = 4;
884
+ case 4:
885
+ if (!(depth < groupPath.length)) return [3 /*break*/, 7];
886
+ nodeKey = getGroupNodeKey(groupPath.slice(0, depth + 1));
887
+ if (refreshedNodeKeys.has(nodeKey))
888
+ return [3 /*break*/, 6];
889
+ node = findNodeByKey(nextTreeNodes, nodeKey);
890
+ if (!node)
891
+ return [3 /*break*/, 7];
892
+ pagination = getPagination(nodeKey);
893
+ return [4 /*yield*/, fetchNodeChildren(node, pagination.offset, pagination.limit)];
894
+ case 5:
895
+ _a = _d.sent(), children = _a.children, childTotal = _a.total;
896
+ nextChildren = depth < groupPath.length - 1
897
+ ? mergeNodesWithCurrentState(children, node.children || [])
898
+ : children;
899
+ nextTreeNodes = updateNodeChildren(nextTreeNodes, nodeKey, nextChildren);
900
+ nextPaginationMap[nodeKey] = __assign(__assign({}, pagination), { total: childTotal });
901
+ refreshedNodeKeys.add(nodeKey);
902
+ _d.label = 6;
903
+ case 6:
904
+ depth += 1;
905
+ return [3 /*break*/, 4];
906
+ case 7:
907
+ _i++;
908
+ return [3 /*break*/, 3];
909
+ case 8:
910
+ setTreeNodes(nextTreeNodes);
793
911
  setSelectedNodeKeys({});
794
- total = (_a = response === null || response === void 0 ? void 0 : response.meta.totalRecords) !== null && _a !== void 0 ? _a : 0;
795
- setPagination("root", { offset: offset, total: total, limit: limit });
912
+ setPaginationMap(nextPaginationMap);
913
+ if (affectedGroupPaths.length === 0)
914
+ setExpandedKeys({});
796
915
  if (latestFilterPredicatesRef.current && latestFilterPredicatesRef.current.persistFilter) {
797
916
  queryData = {
798
917
  offset: offset,
@@ -812,16 +931,15 @@ export var SolidTreeView = forwardRef(function (params, ref) {
812
931
  applyArchivedQueryState(queryData);
813
932
  setFilterObjectToLocalStorage(queryData);
814
933
  }
815
- return [3 /*break*/, 5];
816
- case 3:
817
- error_1 = _c.sent();
818
- setTreeNodes([]);
819
- dispatch(showToast({ severity: "error", summary: "Failed to load tree", detail: ((_b = error_1 === null || error_1 === void 0 ? void 0 : error_1.data) === null || _b === void 0 ? void 0 : _b.message) || (error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || "Unable to load grouped data", life: 4000 }));
820
- return [3 /*break*/, 5];
821
- case 4:
934
+ return [3 /*break*/, 11];
935
+ case 9:
936
+ error_1 = _d.sent();
937
+ dispatch(showToast({ severity: "error", summary: "Failed to load tree", detail: ((_c = error_1 === null || error_1 === void 0 ? void 0 : error_1.data) === null || _c === void 0 ? void 0 : _c.message) || (error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || "Unable to load grouped data", life: 4000 }));
938
+ return [3 /*break*/, 11];
939
+ case 10:
822
940
  setTreeLoading(false);
823
941
  return [7 /*endfinally*/];
824
- case 5: return [2 /*return*/];
942
+ case 11: return [2 /*return*/];
825
943
  }
826
944
  });
827
945
  });
@@ -836,37 +954,23 @@ export var SolidTreeView = forwardRef(function (params, ref) {
836
954
  }, [solidTreeViewMetaData, params.modelName, activeGroupingRules, aggregationRules, filters, sortField, sortOrder, globalLimit, showArchived]);
837
955
  // ─── Expand handler ───────────────────────────────────────────────────────
838
956
  var loadNodeChildren = function (node, offset) { return __awaiter(void 0, void 0, void 0, function () {
839
- var meta, nodeKey, limit, nextRuleIndex, children_1, total, response, response, error_2;
840
- var _a, _b, _c, _d;
841
- return __generator(this, function (_e) {
842
- switch (_e.label) {
957
+ var meta, nodeKey, limit, _a, children_1, total, error_2;
958
+ var _b, _c;
959
+ return __generator(this, function (_d) {
960
+ switch (_d.label) {
843
961
  case 0:
844
- meta = (_a = node.data) === null || _a === void 0 ? void 0 : _a.__treeMeta;
962
+ meta = (_b = node.data) === null || _b === void 0 ? void 0 : _b.__treeMeta;
845
963
  if (!meta || meta.nodeType !== "group")
846
964
  return [2 /*return*/];
847
965
  nodeKey = String(node.key);
848
966
  limit = getPagination(nodeKey).limit || globalLimit || DEFAULT_PAGE_SIZE;
849
- nextRuleIndex = meta.ruleIndex + 1;
850
967
  setTreeLoading(true);
851
- _e.label = 1;
968
+ _d.label = 1;
852
969
  case 1:
853
- _e.trys.push([1, 6, 7, 8]);
854
- children_1 = [];
855
- total = 0;
856
- if (!(nextRuleIndex < activeGroupingRules.length)) return [3 /*break*/, 3];
857
- return [4 /*yield*/, runGroupedQuery(nextRuleIndex, meta.groupPath || [], offset, limit)];
970
+ _d.trys.push([1, 3, 4, 5]);
971
+ return [4 /*yield*/, fetchNodeChildren(node, offset, limit)];
858
972
  case 2:
859
- response = (_e.sent()).response;
860
- children_1 = buildGroupNodes((response === null || response === void 0 ? void 0 : response.groupMeta) || [], nextRuleIndex, meta.groupPath || [], nodeKey);
861
- total = (_b = response === null || response === void 0 ? void 0 : response.meta.totalRecords) !== null && _b !== void 0 ? _b : 0;
862
- return [3 /*break*/, 5];
863
- case 3: return [4 /*yield*/, runLeafQuery(meta.groupPath || [], offset, limit)];
864
- case 4:
865
- response = (_e.sent()).response;
866
- children_1 = buildRecordNodes((response === null || response === void 0 ? void 0 : response.records) || [], nodeKey, meta.groupPath || []);
867
- total = (_c = response === null || response === void 0 ? void 0 : response.meta.totalRecords) !== null && _c !== void 0 ? _c : 0;
868
- _e.label = 5;
869
- case 5:
973
+ _a = _d.sent(), children_1 = _a.children, total = _a.total;
870
974
  setTreeNodes(function (prev) { return updateNodeChildren(prev, nodeKey, children_1); });
871
975
  setPagination(node.key, { offset: offset, total: total, limit: limit });
872
976
  setSelectedNodeKeys(function (prevKeys) {
@@ -909,16 +1013,16 @@ export var SolidTreeView = forwardRef(function (params, ref) {
909
1013
  return next;
910
1014
  });
911
1015
  }
912
- return [3 /*break*/, 8];
913
- case 6:
914
- error_2 = _e.sent();
915
- dispatch(showToast({ severity: "error", summary: "Failed to expand node", detail: ((_d = error_2 === null || error_2 === void 0 ? void 0 : error_2.data) === null || _d === void 0 ? void 0 : _d.message) || (error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || "Unable to load children", life: 4000 }));
1016
+ return [3 /*break*/, 5];
1017
+ case 3:
1018
+ error_2 = _d.sent();
1019
+ dispatch(showToast({ severity: "error", summary: "Failed to expand node", detail: ((_c = error_2 === null || error_2 === void 0 ? void 0 : error_2.data) === null || _c === void 0 ? void 0 : _c.message) || (error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || "Unable to load children", life: 4000 }));
916
1020
  setTreeNodes(function (prev) { return updateNodeChildren(prev, nodeKey, []); });
917
- return [3 /*break*/, 8];
918
- case 7:
1021
+ return [3 /*break*/, 5];
1022
+ case 4:
919
1023
  setTreeLoading(false);
920
1024
  return [7 /*endfinally*/];
921
- case 8: return [2 /*return*/];
1025
+ case 5: return [2 /*return*/];
922
1026
  }
923
1027
  });
924
1028
  }); };
@@ -1070,12 +1174,15 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1070
1174
  // ─── Bulk delete ──────────────────────────────────────────────────────────
1071
1175
  // handle bulk deletion
1072
1176
  var deleteBulk = function () { return __awaiter(void 0, void 0, void 0, function () {
1073
- var deleteList, error_3;
1177
+ var deleteList, affectedGroupPaths, error_3;
1074
1178
  var _a;
1075
1179
  return __generator(this, function (_b) {
1076
1180
  switch (_b.label) {
1077
1181
  case 0:
1078
1182
  deleteList = selectedRecords.map(function (element) { return element.id; });
1183
+ affectedGroupPaths = selectedRecords
1184
+ .map(function (record) { var _a; return (_a = record === null || record === void 0 ? void 0 : record.__treeMeta) === null || _a === void 0 ? void 0 : _a.groupPath; })
1185
+ .filter(function (groupPath) { return Array.isArray(groupPath); });
1079
1186
  if (deleteList.length === 0) {
1080
1187
  setDeleteRecordsDialogVisible(false);
1081
1188
  return [2 /*return*/];
@@ -1088,7 +1195,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1088
1195
  _b.sent();
1089
1196
  dispatch(showToast({ severity: 'success', summary: 'Deleted', detail: ERROR_MESSAGES.RECORD_DELETE, life: 3000 }));
1090
1197
  setDeleteRecordsDialogVisible(false);
1091
- return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
1198
+ return [4 /*yield*/, loadRootGroups(getPagination("root").offset, affectedGroupPaths)];
1092
1199
  case 3:
1093
1200
  _b.sent();
1094
1201
  return [3 /*break*/, 5];
@@ -1107,12 +1214,15 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1107
1214
  setSelectedRecoverRecords([]);
1108
1215
  };
1109
1216
  var recoverAll = function () { return __awaiter(void 0, void 0, void 0, function () {
1110
- var recoverList, response, error_4;
1217
+ var recoverList, affectedGroupPaths, response, error_4;
1111
1218
  var _a, _b;
1112
1219
  return __generator(this, function (_c) {
1113
1220
  switch (_c.label) {
1114
1221
  case 0:
1115
1222
  recoverList = selectedRecoverRecords.map(function (element) { return element.id; });
1223
+ affectedGroupPaths = selectedRecoverRecords
1224
+ .map(function (record) { var _a; return (_a = record === null || record === void 0 ? void 0 : record.__treeMeta) === null || _a === void 0 ? void 0 : _a.groupPath; })
1225
+ .filter(function (groupPath) { return Array.isArray(groupPath); });
1116
1226
  if (recoverList.length === 0) {
1117
1227
  setRecoverDialogVisible(false);
1118
1228
  return [2 /*return*/];
@@ -1130,7 +1240,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1130
1240
  detail: ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) || "Records recovered successfully.",
1131
1241
  life: 3000,
1132
1242
  }));
1133
- return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
1243
+ return [4 /*yield*/, loadRootGroups(getPagination("root").offset, affectedGroupPaths)];
1134
1244
  case 3:
1135
1245
  _c.sent();
1136
1246
  return [3 /*break*/, 5];
@@ -1175,8 +1285,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1175
1285
  solidListViewMetaData: solidTreeViewMetaData,
1176
1286
  fieldMetadata: fieldMetadata,
1177
1287
  column: column,
1178
- setLightboxUrls: function () { },
1179
- setOpenLightbox: function () { },
1288
+ setLightboxUrls: setLightboxUrls,
1289
+ setOpenLightbox: setOpenLightbox,
1180
1290
  });
1181
1291
  if (!React.isValidElement(listColumn))
1182
1292
  return null;
@@ -1287,8 +1397,14 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1287
1397
  }); },
1288
1398
  }); }, [filters, filterPredicates, paginationMap, showArchived, sortField, sortOrder, treeLoading, treeNodes]);
1289
1399
  var handleCustomButtonClick = useHandleListCustomButtonClick();
1290
- var _40 = useState(), selectedSolidViewData = _40[0], setSelectedSolidViewData = _40[1];
1291
- var _41 = useState(false), deleteEntity = _41[0], setDeleteEntity = _41[1];
1400
+ var shouldShowMobileSearchElement = showGlobalSearchElement || hasStoredSearchUiState(filterPredicates) || hasStoredSearchUiState(getFilterObjectFromLocalStorage());
1401
+ var visibleHeaderButtons = useMemo(function () {
1402
+ var _a, _b;
1403
+ return ((_b = (_a = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _a === void 0 ? void 0 : _a.headerButtons) !== null && _b !== void 0 ? _b : []).filter(function (button) { return isButtonVisibleInCurrentEnv(button === null || button === void 0 ? void 0 : button.attrs); });
1404
+ }, [(_f = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _f === void 0 ? void 0 : _f.headerButtons]);
1405
+ var _41 = useState(), selectedSolidViewData = _41[0], setSelectedSolidViewData = _41[1];
1406
+ var _42 = useState(false), deleteEntity = _42[0], setDeleteEntity = _42[1];
1407
+ var entityDisplayName = ((_j = (_h = (_g = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _g === void 0 ? void 0 : _g.solidView) === null || _h === void 0 ? void 0 : _h.model) === null || _j === void 0 ? void 0 : _j.displayName) || (params === null || params === void 0 ? void 0 : params.modelName);
1292
1408
  var openRowForEdit = function (rowData, viewMode) {
1293
1409
  storeCurrentModelViewContext();
1294
1410
  router.push("".concat(editBaseUrl, "/").concat(rowData === null || rowData === void 0 ? void 0 : rowData.id, "?viewMode=").concat(viewMode, "&").concat(new URLSearchParams(editActionQueryParams).toString()));
@@ -1327,32 +1443,33 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1327
1443
  });
1328
1444
  };
1329
1445
  var handleDeleteEntity = function () { return __awaiter(void 0, void 0, void 0, function () {
1330
- var response, error_5;
1331
- var _a, _b, _c;
1332
- return __generator(this, function (_d) {
1333
- switch (_d.label) {
1446
+ var affectedGroupPath, response, error_5;
1447
+ var _a, _b, _c, _d;
1448
+ return __generator(this, function (_e) {
1449
+ switch (_e.label) {
1334
1450
  case 0:
1335
- _d.trys.push([0, 5, , 6]);
1451
+ _e.trys.push([0, 5, , 6]);
1336
1452
  if (!(selectedSolidViewData === null || selectedSolidViewData === void 0 ? void 0 : selectedSolidViewData.id)) {
1337
1453
  throw new Error(ERROR_MESSAGES.NO_ENTITY_SELECTED);
1338
1454
  }
1455
+ affectedGroupPath = (_a = selectedSolidViewData === null || selectedSolidViewData === void 0 ? void 0 : selectedSolidViewData.__treeMeta) === null || _a === void 0 ? void 0 : _a.groupPath;
1339
1456
  return [4 /*yield*/, deleteSolidSingleEntiry(selectedSolidViewData.id)];
1340
1457
  case 1:
1341
- response = _d.sent();
1342
- if (!(((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.statusCode) === 200)) return [3 /*break*/, 3];
1458
+ response = _e.sent();
1459
+ if (!(((_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.statusCode) === 200)) return [3 /*break*/, 3];
1343
1460
  setDeleteEntity(false);
1344
1461
  setSelectedSolidViewData(undefined);
1345
1462
  dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.DELETED, detail: ERROR_MESSAGES.ENTITY_DELETE, life: 3000 }));
1346
- return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
1463
+ return [4 /*yield*/, loadRootGroups(getPagination("root").offset, Array.isArray(affectedGroupPath) ? [affectedGroupPath] : [])];
1347
1464
  case 2:
1348
- _d.sent();
1465
+ _e.sent();
1349
1466
  return [3 /*break*/, 4];
1350
1467
  case 3:
1351
- dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.DELETE_FAIELD, detail: (_c = (_b = response === null || response === void 0 ? void 0 : response.error) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.error, sticky: true }));
1352
- _d.label = 4;
1468
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.DELETE_FAIELD, detail: (_d = (_c = response === null || response === void 0 ? void 0 : response.error) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.error, sticky: true }));
1469
+ _e.label = 4;
1353
1470
  case 4: return [3 /*break*/, 6];
1354
1471
  case 5:
1355
- error_5 = _d.sent();
1472
+ error_5 = _e.sent();
1356
1473
  dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.DELETE_FAIELD, detail: ERROR_MESSAGES.SOMETHING_WRONG, sticky: true }));
1357
1474
  return [3 /*break*/, 6];
1358
1475
  case 6: return [2 /*return*/];
@@ -1361,34 +1478,34 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1361
1478
  }); };
1362
1479
  var handleRecoverRecord = function (record) { return __awaiter(void 0, void 0, void 0, function () {
1363
1480
  var response, error_6;
1364
- var _a, _b;
1365
- return __generator(this, function (_c) {
1366
- switch (_c.label) {
1481
+ var _a, _b, _c;
1482
+ return __generator(this, function (_d) {
1483
+ switch (_d.label) {
1367
1484
  case 0:
1368
1485
  if (!(record === null || record === void 0 ? void 0 : record.id))
1369
1486
  return [2 /*return*/];
1370
- _c.label = 1;
1487
+ _d.label = 1;
1371
1488
  case 1:
1372
- _c.trys.push([1, 4, , 5]);
1489
+ _d.trys.push([1, 4, , 5]);
1373
1490
  return [4 /*yield*/, triggerRecoverSolidEntitiesById(record.id).unwrap()];
1374
1491
  case 2:
1375
- response = _c.sent();
1492
+ response = _d.sent();
1376
1493
  dispatch(showToast({
1377
1494
  severity: "success",
1378
1495
  summary: "Success",
1379
1496
  detail: ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) || "Record recovered successfully.",
1380
1497
  life: 3000,
1381
1498
  }));
1382
- return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
1499
+ return [4 /*yield*/, loadRootGroups(getPagination("root").offset, Array.isArray((_b = record === null || record === void 0 ? void 0 : record.__treeMeta) === null || _b === void 0 ? void 0 : _b.groupPath) ? [record.__treeMeta.groupPath] : [])];
1383
1500
  case 3:
1384
- _c.sent();
1501
+ _d.sent();
1385
1502
  return [3 /*break*/, 5];
1386
1503
  case 4:
1387
- error_6 = _c.sent();
1504
+ error_6 = _d.sent();
1388
1505
  dispatch(showToast({
1389
1506
  severity: "error",
1390
1507
  summary: "Recover Failed",
1391
- detail: ((_b = error_6 === null || error_6 === void 0 ? void 0 : error_6.data) === null || _b === void 0 ? void 0 : _b.message) || (error_6 === null || error_6 === void 0 ? void 0 : error_6.message) || "Unable to recover the selected record.",
1508
+ detail: ((_c = error_6 === null || error_6 === void 0 ? void 0 : error_6.data) === null || _c === void 0 ? void 0 : _c.message) || (error_6 === null || error_6 === void 0 ? void 0 : error_6.message) || "Unable to recover the selected record.",
1392
1509
  life: 4000,
1393
1510
  }));
1394
1511
  return [3 /*break*/, 5];
@@ -1455,12 +1572,12 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1455
1572
  })] })] }))] }));
1456
1573
  };
1457
1574
  // ─── Render ───────────────────────────────────────────────────────────────
1458
- return (_jsxs("div", { className: "page-parent-wrapper solid-list-page-wrapper solid-tree-page-wrapper flex h-full min-h-0 overflow-hidden", children: [_jsx("div", { className: "solid-list-content h-full flex flex-col flex-grow-1", children: _jsxs("div", { className: "solid-list-surface solid-tree-surface flex flex-col flex-1 min-h-0", children: [_jsxs("div", { className: "page-header solid-list-toolbar solid-tree-toolbar flex-col lg:flex-row", children: [_jsxs("div", { className: "flex justify-between w-full", children: [_jsxs("div", { className: "flex gap-4 items-center w-full solid-list-toolbar-left", children: [_jsx("div", { className: "flex items-center gap-2" }), ((_h = (_g = (_f = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _f === void 0 ? void 0 : _f.solidView) === null || _g === void 0 ? void 0 : _g.layout) === null || _h === void 0 ? void 0 : _h.attrs.enableGlobalSearch) === true && (_jsx("div", { className: "hidden lg:flex", children: _jsx(SolidGlobalSearchElement, { viewType: "tree", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidTreeViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter }) }))] }), _jsxs("div", { className: "flex items-center solid-header-buttons-wrapper solid-list-toolbar-actions", children: [headerRequestStatusLabel ? _jsx(SolidHeaderRequestStatus, { label: headerRequestStatusLabel }) : null, ((_l = (_k = (_j = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _j === void 0 ? void 0 : _j.solidView) === null || _k === void 0 ? void 0 : _k.layout) === null || _l === void 0 ? void 0 : _l.attrs.enableGlobalSearch) === true && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidButton, { type: "button", size: "sm", variant: "outline", leftIcon: _jsx(Search, { size: 14 }), className: "solid-icon-button", onClick: function () { return setShowGlobalSearchElement(!showGlobalSearchElement); } }) })), actionsAllowed.includes("".concat(permissionExpression(params.modelName, "create"))) &&
1459
- ((_p = (_o = (_m = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _m === void 0 ? void 0 : _m.solidView) === null || _o === void 0 ? void 0 : _o.layout) === null || _p === void 0 ? void 0 : _p.attrs.create) !== false && (_jsx(SolidCreateButton, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, responsiveIconOnly: true })), actionsAllowed.includes("".concat(permissionExpression(params.modelName, "delete"))) &&
1460
- ((_s = (_r = (_q = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _q === void 0 ? void 0 : _q.solidView) === null || _r === void 0 ? void 0 : _r.layout) === null || _s === void 0 ? void 0 : _s.attrs.delete) !== false &&
1575
+ return (_jsxs("div", { className: "page-parent-wrapper solid-list-page-wrapper solid-tree-page-wrapper flex h-full min-h-0 overflow-hidden", children: [_jsx("div", { className: "solid-list-content h-full flex flex-col flex-grow-1", children: _jsxs("div", { className: "solid-list-surface solid-tree-surface flex flex-col flex-1 min-h-0", children: [_jsxs("div", { className: "page-header solid-list-toolbar solid-tree-toolbar flex-col lg:flex-row", children: [_jsxs("div", { className: "flex justify-between w-full", children: [_jsxs("div", { className: "flex gap-4 items-center w-full solid-list-toolbar-left", children: [_jsx("div", { className: "flex items-center gap-2" }), ((_m = (_l = (_k = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _k === void 0 ? void 0 : _k.solidView) === null || _l === void 0 ? void 0 : _l.layout) === null || _m === void 0 ? void 0 : _m.attrs.enableGlobalSearch) === true && (_jsx("div", { className: "hidden lg:flex", children: _jsx(SolidGlobalSearchElement, { viewType: "tree", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidTreeViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter, filterPredicates: filterPredicates }) }))] }), _jsxs("div", { className: "flex items-center solid-header-buttons-wrapper solid-list-toolbar-actions", children: [headerRequestStatusLabel ? _jsx(SolidHeaderRequestStatus, { label: headerRequestStatusLabel }) : null, ((_q = (_p = (_o = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _o === void 0 ? void 0 : _o.solidView) === null || _p === void 0 ? void 0 : _p.layout) === null || _q === void 0 ? void 0 : _q.attrs.enableGlobalSearch) === true && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidButton, { type: "button", size: "sm", variant: "outline", leftIcon: _jsx(Search, { size: 14 }), className: "solid-icon-button", onClick: function () { return setShowGlobalSearchElement(!showGlobalSearchElement); } }) })), _jsx("div", { className: "solid-header-buttons-wrapper hidden items-center lg:flex", children: (_r = visibleHeaderButtons === null || visibleHeaderButtons === void 0 ? void 0 : visibleHeaderButtons.filter(function (button) { var _a; return ((_a = button === null || button === void 0 ? void 0 : button.attrs) === null || _a === void 0 ? void 0 : _a.actionInContextMenu) !== true; })) === null || _r === void 0 ? void 0 : _r.map(function (button, index) { return (_jsx(SolidListViewHeaderButton, { button: button, params: params, solidListViewMetaData: solidTreeViewMetaData, handleCustomButtonClick: handleCustomButtonClick, selectedRecords: selectedRecords, filters: filters }, index)); }) }), actionsAllowed.includes("".concat(permissionExpression(params.modelName, "create"))) &&
1576
+ ((_u = (_t = (_s = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _s === void 0 ? void 0 : _s.solidView) === null || _t === void 0 ? void 0 : _t.layout) === null || _u === void 0 ? void 0 : _u.attrs.create) !== false && (_jsx(SolidCreateButton, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, responsiveIconOnly: true })), actionsAllowed.includes("".concat(permissionExpression(params.modelName, "delete"))) &&
1577
+ ((_x = (_w = (_v = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _v === void 0 ? void 0 : _v.solidView) === null || _w === void 0 ? void 0 : _w.layout) === null || _x === void 0 ? void 0 : _x.attrs.delete) !== false &&
1461
1578
  selectedRecords.length > 0 && (_jsx(SolidButton, { type: "button", label: "Delete", size: "sm", onClick: function () { return setDeleteRecordsDialogVisible(true); }, className: "small-button", severity: "danger" })), _jsx(SolidButton, { type: "button", size: "sm", variant: "outline", leftIcon: _jsx(RefreshCw, { size: 14 }), className: "solid-icon-button", onClick: function () { void loadRootGroups(getPagination("root").offset); } }), showArchived && selectedRecoverRecords.length > 0 && (_jsx(SolidButton, { type: "button", size: "sm", variant: "secondary", className: "hidden lg:flex", onClick: function () { return setRecoverDialogVisible(true); }, leftIcon: _jsx(RotateCcw, { size: 14 }), children: "Recover" })), params.embeded === false &&
1462
- ((_t = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _t === void 0 ? void 0 : _t.configureView) !== false && (_jsx(SolidListViewConfigure, { listViewMetaData: solidTreeViewMetaData, solidListViewLayout: solidTreeViewLayout, setShowArchived: setShowArchived, showArchived: showArchived, viewData: solidTreeViewMetaData, sizeOptions: sizeOptions, setSize: setSize, size: size, viewModes: viewModes, params: params, actionsAllowed: actionsAllowed, selectedRecords: selectedRecords, setDialogVisible: setDeleteRecordsDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleFetchUpdatedRecords: handleFetchUpdatedRecords, setRecoverDialogVisible: setRecoverDialogVisible }))] })] }), ((_w = (_v = (_u = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _u === void 0 ? void 0 : _u.solidView) === null || _v === void 0 ? void 0 : _v.layout) === null || _w === void 0 ? void 0 : _w.attrs.enableGlobalSearch) === true &&
1463
- showGlobalSearchElement && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "tree", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidTreeViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter }) }))] }), _jsx("div", { className: "solid-datatable-wrapper solid-list-table-area solid-tree-table-area flex-1 min-h-0 overflow-hidden", children: activeGroupingRules.length === 0 ? (_jsx("div", { className: "solid-empty-listview-placeholder-container solid-tree-empty-state", children: _jsxs("div", { className: "solid-empty-listview-placeholder-panel", children: [_jsxs("div", { className: "solid-empty-listview-header", children: [_jsx("div", { className: "solid-empty-listview-header-title", children: treeViewTitle || "Tree View" }), _jsx("div", { className: "solid-empty-listview-header-subtitle", children: "Build a grouping structure to explore your data in hierarchical levels." })] }), _jsxs("div", { className: "solid-empty-listview-body", children: [_jsx("div", { className: "solid-empty-listview-title", children: "No grouping rules applied" }), _jsx("div", { className: "solid-empty-listview-actions", children: _jsx(SolidButton, { type: "button", variant: "primary", size: "small", leftIcon: _jsx(Plus, { size: 14 }), onClick: openGroupingBuilder, children: "Create Groups" }) }), _jsx("div", { className: "solid-empty-listview-description", children: "Start by adding grouping rules and optional aggregations for this tree view." })] })] }) })) : (_jsxs(SolidTreeTable, { value: treeNodes, loading: treeLoading, expandedKeys: expandedKeys, onToggle: function (event) { return setExpandedKeys(event.value); }, onExpand: handleNodeExpand, tableStyle: { minWidth: "max-content" }, tableClassName: "solid-data-table", rowClassName: function (node) { var _a; return ((_a = node === null || node === void 0 ? void 0 : node.data) === null || _a === void 0 ? void 0 : _a.deletedAt) ? "greyed-out-row" : ""; }, selectionMode: "checkbox", selectionKeys: selectedNodeKeys, sortField: sortField, sortOrder: sortOrder, removableSort: true, onSort: function (e) {
1579
+ ((_y = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _y === void 0 ? void 0 : _y.configureView) !== false && (_jsx(SolidListViewConfigure, { listViewMetaData: solidTreeViewMetaData, solidListViewLayout: solidTreeViewLayout, setShowArchived: setShowArchived, showArchived: showArchived, viewData: solidTreeViewMetaData, sizeOptions: sizeOptions, setSize: setSize, size: size, viewModes: viewModes, params: params, actionsAllowed: actionsAllowed, selectedRecords: selectedRecords, setDialogVisible: setDeleteRecordsDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleFetchUpdatedRecords: handleFetchUpdatedRecords, setRecoverDialogVisible: setRecoverDialogVisible }))] })] }), ((_1 = (_0 = (_z = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _z === void 0 ? void 0 : _z.solidView) === null || _0 === void 0 ? void 0 : _0.layout) === null || _1 === void 0 ? void 0 : _1.attrs.enableGlobalSearch) === true &&
1580
+ shouldShowMobileSearchElement && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "tree", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidTreeViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter, filterPredicates: filterPredicates }) }))] }), _jsx("div", { className: "solid-datatable-wrapper solid-list-table-area solid-tree-table-area flex-1 min-h-0 overflow-hidden", children: activeGroupingRules.length === 0 ? (_jsx("div", { className: "solid-empty-listview-placeholder-container solid-tree-empty-state", children: _jsxs("div", { className: "solid-empty-listview-placeholder-panel", children: [_jsxs("div", { className: "solid-empty-listview-header", children: [_jsx("div", { className: "solid-empty-listview-header-title", children: treeViewTitle || "Tree View" }), _jsx("div", { className: "solid-empty-listview-header-subtitle", children: "Build a grouping structure to explore your data in hierarchical levels." })] }), _jsxs("div", { className: "solid-empty-listview-body", children: [_jsx("div", { className: "solid-empty-listview-title", children: "No grouping rules applied" }), _jsx("div", { className: "solid-empty-listview-actions", children: _jsx(SolidButton, { type: "button", variant: "primary", size: "small", leftIcon: _jsx(Plus, { size: 14 }), onClick: openGroupingBuilder, children: "Create Groups" }) }), _jsx("div", { className: "solid-empty-listview-description", children: "Start by adding grouping rules and optional aggregations for this tree view." })] })] }) })) : (_jsxs(SolidTreeTable, { value: treeNodes, loading: treeLoading, expandedKeys: expandedKeys, onToggle: function (event) { return setExpandedKeys(event.value); }, onExpand: handleNodeExpand, tableStyle: { minWidth: "max-content" }, tableClassName: "solid-data-table", rowClassName: function (node) { var _a; return ((_a = node === null || node === void 0 ? void 0 : node.data) === null || _a === void 0 ? void 0 : _a.deletedAt) ? "greyed-out-row" : ""; }, selectionMode: "checkbox", selectionKeys: selectedNodeKeys, sortField: sortField, sortOrder: sortOrder, removableSort: true, onSort: function (e) {
1464
1581
  setSortField(e.sortField || "");
1465
1582
  setSortOrder(e.sortOrder || 0);
1466
1583
  }, onRowClick: function (e) {
@@ -1514,16 +1631,10 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1514
1631
  var canPrev = hasPrev(nodeKey);
1515
1632
  var canNext = hasNext(nodeKey);
1516
1633
  return (_jsxs("div", { className: "solid-tree-node-paginator", onClick: function (e) { return e.stopPropagation(); }, children: [_jsx(SolidButton, { type: "button", variant: "outline", size: "sm", leftIcon: _jsx(ChevronLeft, { size: 14 }), disabled: !canPrev || treeLoading, className: "solid-tree-paginator-btn", onClick: function () { return handleNodePageChange(nodeKey, "prev"); } }), _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", leftIcon: _jsx(ChevronRight, { size: 14 }), disabled: !canNext || treeLoading, className: "solid-tree-paginator-btn", onClick: function () { return handleNodePageChange(nodeKey, "next"); } })] }));
1517
- } }, "tree-last-frozen-column")] })) }), _jsx(RootPaginationBar, {})] }) }), _jsxs(SolidDialog, { open: deleteEntity, onOpenChange: function (open) {
1518
- if (!open)
1519
- setDeleteEntity(false);
1520
- }, contentClassName: "solid-confirm-dialog solid-tree-confirm-dialog", showHeader: false, children: [_jsx(SolidDialogHeader, { children: _jsxs(SolidDialogTitle, { children: ["Delete ", ((_z = (_y = (_x = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _x === void 0 ? void 0 : _x.solidView) === null || _y === void 0 ? void 0 : _y.model) === null || _z === void 0 ? void 0 : _z.displayName) || (params === null || params === void 0 ? void 0 : params.modelName)] }) }), _jsx(SolidDialogSeparator, {}), _jsx(SolidDialogBody, { children: _jsx(SolidDialogDescription, { className: "m-0", children: "Are you sure you want to delete this ".concat(((_2 = (_1 = (_0 = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _0 === void 0 ? void 0 : _0.solidView) === null || _1 === void 0 ? void 0 : _1.model) === null || _2 === void 0 ? void 0 : _2.displayName) || (params === null || params === void 0 ? void 0 : params.modelName), "?") }) }), _jsxs(SolidDialogFooter, { children: [_jsx(SolidButton, { label: "Cancel", size: "sm", variant: "outline", onClick: function () { return setDeleteEntity(false); } }), _jsx(SolidButton, { label: "Delete", size: "sm", severity: "danger", onClick: handleDeleteEntity })] })] }), _jsxs(SolidDialog, { open: isDeleteRecordsDialogVisible, onOpenChange: function (open) {
1521
- if (!open)
1522
- setDeleteRecordsDialogVisible(false);
1523
- }, contentClassName: "solid-confirm-dialog solid-tree-confirm-dialog", showHeader: false, children: [_jsx(SolidDialogHeader, { children: _jsx(SolidDialogTitle, { children: "Confirm Delete" }) }), _jsx(SolidDialogSeparator, {}), _jsx(SolidDialogBody, { children: _jsx(SolidDialogDescription, { className: "m-0", children: "Are you sure you want to delete the selected records?" }) }), _jsxs(SolidDialogFooter, { children: [_jsx(SolidButton, { label: "Cancel", size: "sm", variant: "outline", onClick: onDeleteClose }), _jsx(SolidButton, { label: "Delete", size: "sm", severity: "danger", onClick: deleteBulk })] })] }), _jsxs(SolidDialog, { open: isRecoverDialogVisible, onOpenChange: function (open) {
1634
+ } }, "tree-last-frozen-column")] })) }), _jsx(RootPaginationBar, {})] }) }), _jsx(SolidConfirmDialog, { open: deleteEntity, onCancel: function () { return setDeleteEntity(false); }, onConfirm: handleDeleteEntity, className: "solid-shadcn-confirm-dialog solid-delete-confirm-dialog", headerClassName: "solid-shadcn-dialog-head", bodyClassName: "solid-shadcn-dialog-body", footerClassName: "solid-shadcn-dialog-actions", separatorClassName: "solid-shadcn-dialog-sep", showSeparator: true, title: "Delete ".concat(entityDisplayName), message: _jsx("p", { className: "solid-shadcn-dialog-text", children: "Are you sure you want to delete this ".concat(entityDisplayName, "?") }), confirmLabel: "Delete", cancelLabel: "Cancel" }), _jsx(SolidConfirmDialog, { open: isDeleteRecordsDialogVisible, onCancel: onDeleteClose, onConfirm: deleteBulk, className: "solid-shadcn-confirm-dialog solid-delete-confirm-dialog", headerClassName: "solid-shadcn-dialog-head", bodyClassName: "solid-shadcn-dialog-body", footerClassName: "solid-shadcn-dialog-actions", separatorClassName: "solid-shadcn-dialog-sep", showSeparator: true, title: "Delete Records", message: _jsx("p", { className: "solid-shadcn-dialog-text", children: "Are you sure you want to delete the selected records?" }), confirmLabel: "Delete", cancelLabel: "Cancel" }), _jsxs(SolidDialog, { open: isRecoverDialogVisible, onOpenChange: function (open) {
1524
1635
  if (!open)
1525
1636
  setRecoverDialogVisible(false);
1526
- }, contentClassName: "solid-confirm-dialog solid-tree-confirm-dialog", showHeader: false, children: [_jsx(SolidDialogHeader, { children: _jsx(SolidDialogTitle, { children: "Confirm Recover" }) }), _jsx(SolidDialogSeparator, {}), _jsx(SolidDialogBody, { children: _jsx(SolidDialogDescription, { className: "m-0", children: "Are you sure you want to recover all records?" }) }), _jsxs(SolidDialogFooter, { children: [_jsx(SolidButton, { label: "No", size: "sm", variant: "outline", onClick: function () { return setRecoverDialogVisible(false); } }), _jsx(SolidButton, { label: "Yes", size: "sm", severity: "danger", onClick: recoverAll })] })] })] }));
1637
+ }, contentClassName: "solid-confirm-dialog solid-tree-confirm-dialog", showHeader: false, children: [_jsx(SolidDialogHeader, { children: _jsx(SolidDialogTitle, { children: "Confirm Recover" }) }), _jsx(SolidDialogSeparator, {}), _jsx(SolidDialogBody, { children: _jsx(SolidDialogDescription, { className: "m-0", children: "Are you sure you want to recover all records?" }) }), _jsxs(SolidDialogFooter, { children: [_jsx(SolidButton, { label: "No", size: "sm", variant: "outline", onClick: function () { return setRecoverDialogVisible(false); } }), _jsx(SolidButton, { label: "Yes", size: "sm", severity: "danger", onClick: recoverAll })] })] }), openLightbox && (_jsx(SolidLightbox, { open: openLightbox, slides: lightboxSlides, onClose: function () { return setOpenLightbox(false); } }))] }));
1527
1638
  });
1528
1639
  SolidTreeView.displayName = "SolidTreeView";
1529
1640
  //# sourceMappingURL=SolidTreeView.js.map