@solidxai/core-ui 0.1.13-beta.0 → 0.1.13-beta.1

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 (95) hide show
  1. package/dist/adapters/auth/sessionInvalidation.d.ts +3 -0
  2. package/dist/adapters/auth/sessionInvalidation.d.ts.map +1 -0
  3. package/dist/adapters/auth/sessionInvalidation.js +70 -0
  4. package/dist/adapters/auth/sessionInvalidation.js.map +1 -0
  5. package/dist/adapters/auth/sessionInvalidation.ts +22 -0
  6. package/dist/adapters/auth/signOut.d.ts.map +1 -1
  7. package/dist/adapters/auth/signOut.js +0 -2
  8. package/dist/adapters/auth/signOut.js.map +1 -1
  9. package/dist/adapters/auth/signOut.ts +0 -2
  10. package/dist/components/core/card/CardGrid.d.ts +1 -1
  11. package/dist/components/core/card/CardGrid.d.ts.map +1 -1
  12. package/dist/components/core/card/CardGrid.js +2 -2
  13. package/dist/components/core/card/CardGrid.js.map +1 -1
  14. package/dist/components/core/card/CardGrid.tsx +2 -0
  15. package/dist/components/core/card/CardItem.d.ts +1 -0
  16. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  17. package/dist/components/core/card/CardItem.js +2 -2
  18. package/dist/components/core/card/CardItem.js.map +1 -1
  19. package/dist/components/core/card/CardItem.tsx +11 -0
  20. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  21. package/dist/components/core/card/SolidCardView.js +82 -30
  22. package/dist/components/core/card/SolidCardView.js.map +1 -1
  23. package/dist/components/core/card/SolidCardView.tsx +68 -7
  24. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  25. package/dist/components/core/chatter/SolidMessageComposer.js +4 -14
  26. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  27. package/dist/components/core/chatter/SolidMessageComposer.tsx +4 -15
  28. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  29. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +2 -1
  30. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  31. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +3 -1
  32. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  33. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +2 -1
  34. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  35. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +2 -1
  36. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +32 -2
  37. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  38. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +1 -1
  39. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  40. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +3 -1
  41. package/dist/components/core/common/SolidGlobalSearchElement.js +1 -1
  42. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  43. package/dist/components/core/common/SolidGlobalSearchElement.tsx +1 -1
  44. package/dist/components/core/common/globalSearchPersistence.d.ts +7 -0
  45. package/dist/components/core/common/globalSearchPersistence.d.ts.map +1 -0
  46. package/dist/components/core/common/globalSearchPersistence.js +89 -0
  47. package/dist/components/core/common/globalSearchPersistence.js.map +1 -0
  48. package/dist/components/core/common/globalSearchPersistence.ts +88 -0
  49. package/dist/components/core/form/SolidFormFooter.js +1 -1
  50. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  51. package/dist/components/core/form/SolidFormFooter.tsx +1 -1
  52. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  53. package/dist/components/core/form/fields/SolidMediaMultipleField.js +6 -8
  54. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  55. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +36 -55
  56. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  57. package/dist/components/core/kanban/SolidKanbanView.js +2 -2
  58. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  59. package/dist/components/core/kanban/SolidKanbanView.tsx +3 -2
  60. package/dist/components/core/list/SolidListView.d.ts +0 -6
  61. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  62. package/dist/components/core/list/SolidListView.js +1 -89
  63. package/dist/components/core/list/SolidListView.js.map +1 -1
  64. package/dist/components/core/list/SolidListView.tsx +5 -95
  65. package/dist/components/core/model/CreateModel.css +1 -0
  66. package/dist/components/core/module/CreateModule.css +1 -0
  67. package/dist/components/core/module/CreateModule.js +1 -1
  68. package/dist/components/core/module/CreateModule.js.map +1 -1
  69. package/dist/components/core/module/CreateModule.tsx +1 -1
  70. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  71. package/dist/components/core/tree/SolidTreeView.js +135 -41
  72. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  73. package/dist/components/core/tree/SolidTreeView.tsx +96 -34
  74. package/dist/constants/error-messages.d.ts +1 -0
  75. package/dist/constants/error-messages.d.ts.map +1 -1
  76. package/dist/constants/error-messages.js +1 -0
  77. package/dist/constants/error-messages.js.map +1 -1
  78. package/dist/constants/error-messages.ts +2 -0
  79. package/dist/http/solidHttp.d.ts.map +1 -1
  80. package/dist/http/solidHttp.js +28 -16
  81. package/dist/http/solidHttp.js.map +1 -1
  82. package/dist/http/solidHttp.ts +7 -1
  83. package/dist/redux/api/fetchBaseQuery.d.ts.map +1 -1
  84. package/dist/redux/api/fetchBaseQuery.js +25 -19
  85. package/dist/redux/api/fetchBaseQuery.js.map +1 -1
  86. package/dist/redux/api/fetchBaseQuery.tsx +5 -0
  87. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -2
  88. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  89. package/dist/redux/api/solidChatterMessageApi.js +3 -3
  90. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  91. package/dist/redux/api/solidChatterMessageApi.ts +3 -3
  92. package/dist/redux/store/defaultStoreConfig.d.ts +1 -1
  93. package/dist/resources/solid-custom.css +5 -1
  94. package/dist/routes/pages/admin/core/DashboardPage.module.css +4 -0
  95. package/package.json +1 -1
@@ -76,13 +76,13 @@ 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 "../list/SolidListView";
79
+ import { getFilterObjectFromLocalStorage, hasStoredFilterPredicates, setFilterObjectToLocalStorage } from "../common/globalSearchPersistence";
80
80
  import { getExtensionFunction } from "../../../helpers/registry";
81
81
  import { useRouter } from "../../../hooks/useRouter";
82
82
  import { normalizeSolidListTreeKanbanActionPath } from "../../../helpers/routePaths";
83
83
  import { usePathname } from "../../../hooks/usePathname";
84
84
  import { useHandleListCustomButtonClick } from "../../../components/common/useHandleListCustomButtonClick";
85
- import { SolidButton, SolidDialog, SolidDialogBody, SolidDialogDescription, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuSeparator, SolidDropdownMenuTrigger, SolidIcon, SolidSelect } from "../../shad-cn-ui";
85
+ import { SolidButton, SolidDialog, SolidDialogBody, SolidDialogDescription, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuSeparator, SolidDropdownMenuTrigger, SolidSelect } from "../../shad-cn-ui";
86
86
  import { SolidHeaderRequestStatus } from "../../common/SolidHeaderRequestStatus";
87
87
  import { storeCurrentModelViewContext } from "../../../helpers/modelViewPersistence";
88
88
  import { getRelationDisplayText } from "../../../helpers/relationDisplay";
@@ -1081,36 +1081,84 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1081
1081
  };
1082
1082
  // ─── Bulk delete ──────────────────────────────────────────────────────────
1083
1083
  // handle bulk deletion
1084
- var deleteBulk = function () {
1085
- var deleteList = [];
1086
- selectedRecords.forEach(function (element) {
1087
- deleteList.push(element.id);
1088
- });
1089
- deleteManySolidEntities(deleteList)
1090
- .unwrap()
1091
- .then(function () {
1092
- dispatch(showToast({ severity: 'success', summary: 'Deleted', detail: ERROR_MESSAGES.RECORD_DELETE, life: 3000 }));
1093
- setDeleteRecordsDialogVisible(false);
1094
- })
1095
- .catch(function (error) {
1096
- var _a;
1097
- dispatch(showToast({ severity: 'error', summary: 'Delete Failed', detail: (_a = error === null || error === void 0 ? void 0 : error.data) === null || _a === void 0 ? void 0 : _a.message, life: 4000 }));
1084
+ var deleteBulk = function () { return __awaiter(void 0, void 0, void 0, function () {
1085
+ var deleteList, error_3;
1086
+ var _a;
1087
+ return __generator(this, function (_b) {
1088
+ switch (_b.label) {
1089
+ case 0:
1090
+ deleteList = selectedRecords.map(function (element) { return element.id; });
1091
+ if (deleteList.length === 0) {
1092
+ setDeleteRecordsDialogVisible(false);
1093
+ return [2 /*return*/];
1094
+ }
1095
+ _b.label = 1;
1096
+ case 1:
1097
+ _b.trys.push([1, 4, , 5]);
1098
+ return [4 /*yield*/, deleteManySolidEntities(deleteList).unwrap()];
1099
+ case 2:
1100
+ _b.sent();
1101
+ dispatch(showToast({ severity: 'success', summary: 'Deleted', detail: ERROR_MESSAGES.RECORD_DELETE, life: 3000 }));
1102
+ setDeleteRecordsDialogVisible(false);
1103
+ return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
1104
+ case 3:
1105
+ _b.sent();
1106
+ return [3 /*break*/, 5];
1107
+ case 4:
1108
+ error_3 = _b.sent();
1109
+ dispatch(showToast({ severity: 'error', summary: 'Delete Failed', detail: (_a = error_3 === null || error_3 === void 0 ? void 0 : error_3.data) === null || _a === void 0 ? void 0 : _a.message, life: 4000 }));
1110
+ return [3 /*break*/, 5];
1111
+ case 5: return [2 /*return*/];
1112
+ }
1098
1113
  });
1099
- };
1114
+ }); };
1100
1115
  // handle closing of the delete dialog...
1101
1116
  var onDeleteClose = function () {
1102
1117
  setDeleteRecordsDialogVisible(false);
1103
1118
  setSelectedRecords([]);
1104
1119
  setSelectedRecoverRecords([]);
1105
1120
  };
1106
- var recoverAll = function () {
1107
- var recoverList = [];
1108
- selectedRecoverRecords.forEach(function (element) {
1109
- recoverList.push(element.id);
1121
+ var recoverAll = function () { return __awaiter(void 0, void 0, void 0, function () {
1122
+ var recoverList, response, error_4;
1123
+ var _a, _b;
1124
+ return __generator(this, function (_c) {
1125
+ switch (_c.label) {
1126
+ case 0:
1127
+ recoverList = selectedRecoverRecords.map(function (element) { return element.id; });
1128
+ if (recoverList.length === 0) {
1129
+ setRecoverDialogVisible(false);
1130
+ return [2 /*return*/];
1131
+ }
1132
+ _c.label = 1;
1133
+ case 1:
1134
+ _c.trys.push([1, 4, , 5]);
1135
+ return [4 /*yield*/, triggerRecoverSolidEntities(recoverList).unwrap()];
1136
+ case 2:
1137
+ response = _c.sent();
1138
+ setRecoverDialogVisible(false);
1139
+ dispatch(showToast({
1140
+ severity: "success",
1141
+ summary: "Success",
1142
+ detail: ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) || "Records recovered successfully.",
1143
+ life: 3000,
1144
+ }));
1145
+ return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
1146
+ case 3:
1147
+ _c.sent();
1148
+ return [3 /*break*/, 5];
1149
+ case 4:
1150
+ error_4 = _c.sent();
1151
+ dispatch(showToast({
1152
+ severity: "error",
1153
+ summary: "Recover Failed",
1154
+ detail: ((_b = error_4 === null || error_4 === void 0 ? void 0 : error_4.data) === null || _b === void 0 ? void 0 : _b.message) || (error_4 === null || error_4 === void 0 ? void 0 : error_4.message) || "Unable to recover the selected records.",
1155
+ life: 4000,
1156
+ }));
1157
+ return [3 /*break*/, 5];
1158
+ case 5: return [2 /*return*/];
1159
+ }
1110
1160
  });
1111
- triggerRecoverSolidEntities(recoverList);
1112
- setRecoverDialogVisible(false);
1113
- };
1161
+ }); };
1114
1162
  var handleFetchUpdatedRecords = function () {
1115
1163
  var _a, _b;
1116
1164
  if (hasStoredFilterPredicates(getFilterObjectFromLocalStorage())) {
@@ -1204,9 +1252,9 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1204
1252
  var start = total === 0 ? 0 : offset + 1;
1205
1253
  var end = total === 0 ? 0 : Math.min(offset + limit, total);
1206
1254
  var report = "".concat(start, " - ").concat(end, " of ").concat(total);
1207
- return (_jsxs("div", { className: "w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-2 sm:px-3 py-1.5 bg-background", children: [_jsxs("div", { className: "solid-paginator-meta flex items-center gap-2 sm:ml-auto", children: [_jsx("span", { className: "solid-paginator-label", children: "Rows" }), _jsx(SolidSelect, { value: limit, className: "solid-paginator-select", options: pageSizeOptions.map(function (option) { return ({ label: String(option), value: option }); }), native: false, onChange: function (event) {
1255
+ return (_jsxs("div", { className: "w-full solid-table-paginator solid-table-paginator-align-end solid-tree-root-paginator flex flex-wrap items-center justify-between gap-3 text-sm rounded-md border border-border/60 px-2 sm:px-3 py-1.5 bg-background", children: [_jsxs("div", { className: "solid-paginator-meta solid-tree-root-paginator-meta flex flex-wrap items-center gap-2 sm:ml-auto", children: [_jsx("span", { className: "solid-paginator-label", children: "Rows" }), _jsx(SolidSelect, { value: limit, className: "solid-paginator-select solid-tree-page-size-select", options: pageSizeOptions.map(function (option) { return ({ label: String(option), value: option }); }), native: false, menuPlacement: "top", onChange: function (event) {
1208
1256
  setGlobalLimit(Number(event.value));
1209
- } }), _jsx("span", { className: "solid-paginator-report", children: report })] }), _jsxs("div", { className: "solid-paginator-actions flex items-center gap-2", children: [_jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { void handleRootPageChange("prev"); }, disabled: !rootHasPrev || treeLoading, children: "Previous" }), _jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { void handleRootPageChange("next"); }, disabled: !rootHasNext || treeLoading, children: "Next" })] })] }));
1257
+ } }), _jsx("span", { className: "solid-paginator-report", children: report })] }), _jsxs("div", { className: "solid-paginator-actions solid-tree-root-paginator-actions flex items-center gap-2", children: [_jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { void handleRootPageChange("prev"); }, disabled: !rootHasPrev || treeLoading, children: "Previous" }), _jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { void handleRootPageChange("next"); }, disabled: !rootHasNext || treeLoading, children: "Next" })] })] }));
1210
1258
  };
1211
1259
  var openGroupingBuilder = function () {
1212
1260
  var _a, _b;
@@ -1291,41 +1339,87 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1291
1339
  });
1292
1340
  };
1293
1341
  var handleDeleteEntity = function () { return __awaiter(void 0, void 0, void 0, function () {
1294
- var response, error_3;
1342
+ var response, error_5;
1295
1343
  var _a, _b, _c;
1296
1344
  return __generator(this, function (_d) {
1297
1345
  switch (_d.label) {
1298
1346
  case 0:
1299
- _d.trys.push([0, 2, , 3]);
1347
+ _d.trys.push([0, 5, , 6]);
1300
1348
  if (!(selectedSolidViewData === null || selectedSolidViewData === void 0 ? void 0 : selectedSolidViewData.id)) {
1301
1349
  throw new Error(ERROR_MESSAGES.NO_ENTITY_SELECTED);
1302
1350
  }
1303
1351
  return [4 /*yield*/, deleteSolidSingleEntiry(selectedSolidViewData.id)];
1304
1352
  case 1:
1305
1353
  response = _d.sent();
1306
- if (((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.statusCode) === 200) {
1307
- setDeleteEntity(false);
1308
- dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.DELETED, detail: ERROR_MESSAGES.ENTITY_DELETE, life: 3000 }));
1309
- }
1310
- else {
1311
- 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 }));
1312
- }
1313
- return [3 /*break*/, 3];
1354
+ if (!(((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.statusCode) === 200)) return [3 /*break*/, 3];
1355
+ setDeleteEntity(false);
1356
+ setSelectedSolidViewData(undefined);
1357
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.DELETED, detail: ERROR_MESSAGES.ENTITY_DELETE, life: 3000 }));
1358
+ return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
1314
1359
  case 2:
1315
- error_3 = _d.sent();
1360
+ _d.sent();
1361
+ return [3 /*break*/, 4];
1362
+ case 3:
1363
+ 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 }));
1364
+ _d.label = 4;
1365
+ case 4: return [3 /*break*/, 6];
1366
+ case 5:
1367
+ error_5 = _d.sent();
1316
1368
  dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.DELETE_FAIELD, detail: ERROR_MESSAGES.SOMETHING_WRONG, sticky: true }));
1317
- return [3 /*break*/, 3];
1318
- case 3: return [2 /*return*/];
1369
+ return [3 /*break*/, 6];
1370
+ case 6: return [2 /*return*/];
1371
+ }
1372
+ });
1373
+ }); };
1374
+ var handleRecoverRecord = function (record) { return __awaiter(void 0, void 0, void 0, function () {
1375
+ var response, error_6;
1376
+ var _a, _b;
1377
+ return __generator(this, function (_c) {
1378
+ switch (_c.label) {
1379
+ case 0:
1380
+ if (!(record === null || record === void 0 ? void 0 : record.id))
1381
+ return [2 /*return*/];
1382
+ _c.label = 1;
1383
+ case 1:
1384
+ _c.trys.push([1, 4, , 5]);
1385
+ return [4 /*yield*/, triggerRecoverSolidEntitiesById(record.id).unwrap()];
1386
+ case 2:
1387
+ response = _c.sent();
1388
+ dispatch(showToast({
1389
+ severity: "success",
1390
+ summary: "Success",
1391
+ detail: ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) || "Record recovered successfully.",
1392
+ life: 3000,
1393
+ }));
1394
+ return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
1395
+ case 3:
1396
+ _c.sent();
1397
+ return [3 /*break*/, 5];
1398
+ case 4:
1399
+ error_6 = _c.sent();
1400
+ dispatch(showToast({
1401
+ severity: "error",
1402
+ summary: "Recover Failed",
1403
+ 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.",
1404
+ life: 4000,
1405
+ }));
1406
+ return [3 /*break*/, 5];
1407
+ case 5: return [2 /*return*/];
1319
1408
  }
1320
1409
  });
1321
1410
  }); };
1322
1411
  var renderRowActions = function (rowData) {
1323
1412
  var _a, _b, _c, _d, _e, _f, _g;
1413
+ if (rowData === null || rowData === void 0 ? void 0 : rowData.deletedAt) {
1414
+ return (_jsx("div", { className: "flex items-center justify-end gap-1 cursor-pointer", onClick: function (event) { return event.stopPropagation(); }, children: _jsx("button", { type: "button", className: "solid-tree-row-menu-trigger", "aria-label": "Recover row", "data-no-row-click": "true", onClick: function () {
1415
+ void handleRecoverRecord(rowData);
1416
+ }, children: _jsx(RotateCcw, { size: 14 }) }) }));
1417
+ }
1324
1418
  var customContextMenuButtons = getContextMenuButtons(rowData);
1325
1419
  var hasAnyContextMenuActions = canEditRow(rowData, true) ||
1326
1420
  canDeleteRow(rowData, true) ||
1327
1421
  customContextMenuButtons.length > 0;
1328
- return (_jsxs("div", { className: "flex items-center justify-end gap-1", onClick: function (event) { return event.stopPropagation(); }, children: [((_a = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _a === void 0 ? void 0 : _a.rowButtons) &&
1422
+ return (_jsxs("div", { className: "flex items-center justify-end gap-1 cursor-pointer", onClick: function (event) { return event.stopPropagation(); }, children: [((_a = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _a === void 0 ? void 0 : _a.rowButtons) &&
1329
1423
  ((_b = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _b === void 0 ? void 0 : _b.rowButtons.filter(function (rb) {
1330
1424
  var _a, _b;
1331
1425
  var roles = ((_a = rb === null || rb === void 0 ? void 0 : rb.attrs) === null || _a === void 0 ? void 0 : _a.roles) || [];
@@ -1373,7 +1467,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1373
1467
  })] })] }))] }));
1374
1468
  };
1375
1469
  // ─── Render ───────────────────────────────────────────────────────────────
1376
- 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: [_jsxs("div", { className: "flex items-center gap-2", children: [params.embeded !== true && (_jsx("div", { className: "apps-icon block md:hidden cursor-pointer", onClick: toggleBothSidebars, children: _jsx(SolidIcon, { name: "si-th-large" }) })), _jsx("p", { className: "m-0 view-title solid-text-wrapper", children: treeViewTitle })] }), ((_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"))) &&
1470
+ 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"))) &&
1377
1471
  ((_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"))) &&
1378
1472
  ((_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 &&
1379
1473
  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 &&