@solidxai/core-ui 0.1.13-beta.3 → 0.1.13-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/AuthTabs.d.ts.map +1 -1
- package/dist/components/auth/AuthTabs.js +1 -1
- package/dist/components/auth/AuthTabs.js.map +1 -1
- package/dist/components/auth/AuthTabs.tsx +1 -0
- package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.js +2 -2
- package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.tsx +9 -8
- package/dist/components/common/SettingsComponent.d.ts.map +1 -1
- package/dist/components/common/SettingsComponent.js +1 -1
- package/dist/components/common/SettingsComponent.js.map +1 -1
- package/dist/components/common/SettingsComponent.tsx +1 -0
- package/dist/components/common/SolidFieldTooltip.d.ts.map +1 -1
- package/dist/components/common/SolidFieldTooltip.js +1 -33
- package/dist/components/common/SolidFieldTooltip.js.map +1 -1
- package/dist/components/common/SolidFieldTooltip.tsx +8 -64
- package/dist/components/common/SolidMaterialSymbol.d.ts +1 -1
- package/dist/components/common/SolidMaterialSymbol.d.ts.map +1 -1
- package/dist/components/common/SolidMaterialSymbol.js +6 -37
- package/dist/components/common/SolidMaterialSymbol.js.map +1 -1
- package/dist/components/common/SolidMaterialSymbol.tsx +6 -54
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +2 -2
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +2 -0
- package/dist/components/core/card/CardItem.d.ts.map +1 -1
- package/dist/components/core/card/CardItem.js +1 -1
- package/dist/components/core/card/CardItem.js.map +1 -1
- package/dist/components/core/card/CardItem.tsx +16 -14
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +75 -51
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +61 -35
- package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.js +3 -7
- package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.tsx +3 -9
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +99 -0
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js +76 -5
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.tsx +39 -4
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +172 -124
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +73 -84
- package/dist/components/core/common/globalSearchPersistence.d.ts +3 -0
- package/dist/components/core/common/globalSearchPersistence.d.ts.map +1 -1
- package/dist/components/core/common/globalSearchPersistence.js +33 -24
- package/dist/components/core/common/globalSearchPersistence.js.map +1 -1
- package/dist/components/core/common/globalSearchPersistence.ts +34 -27
- package/dist/components/core/filter/fields/SolidMediaMultipleField.js +2 -2
- package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +2 -2
- package/dist/components/core/filter/fields/SolidMediaSingleField.js +2 -2
- package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +2 -2
- package/dist/components/core/filter/fields/SolidShortTextField.js +2 -2
- package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidShortTextField.tsx +2 -2
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +2 -10
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +2 -10
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +1 -1
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +18 -16
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +73 -59
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +57 -22
- package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js +14 -9
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +38 -9
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +2 -3
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -3
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +8 -16
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +9 -15
- package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js +22 -16
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +32 -11
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +3 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +3 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +7 -0
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +5 -0
- package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js +3 -0
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +2 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.d.ts.map +1 -1
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +3 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +2 -0
- package/dist/components/core/model/CreateModel.css +10 -0
- package/dist/components/core/model/FieldMetaDataForm.css +10 -0
- package/dist/components/core/model/FieldMetaDataForm.js +8 -8
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.tsx +13 -13
- package/dist/components/core/module/ModuleMetadataExplorer.css +23 -0
- package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.js +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.tsx +9 -0
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +251 -152
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +222 -106
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +1 -1
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +1 -0
- package/dist/components/layout/AdminHeaderActions.js +6 -13
- package/dist/components/layout/AdminHeaderActions.js.map +1 -1
- package/dist/components/layout/AdminHeaderActions.tsx +11 -11
- package/dist/components/layout/AdminLayout.d.ts.map +1 -1
- package/dist/components/layout/AdminLayout.js +2 -2
- package/dist/components/layout/AdminLayout.js.map +1 -1
- package/dist/components/layout/AdminLayout.tsx +5 -4
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +17 -2
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +21 -2
- package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.js +35 -3
- package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.tsx +84 -0
- package/dist/components/shad-cn-ui/SolidTooltip.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidTooltip.js +55 -2
- package/dist/components/shad-cn-ui/SolidTooltip.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidTooltip.tsx +95 -1
- package/dist/helpers/permissions.d.ts +13 -0
- package/dist/helpers/permissions.d.ts.map +1 -1
- package/dist/helpers/permissions.js +79 -0
- package/dist/helpers/permissions.js.map +1 -1
- package/dist/helpers/permissions.ts +92 -1
- package/dist/resources/globals.css +109 -1
- package/dist/resources/solid-custom.css +53 -3
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.js +2 -2
- package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.tsx +2 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1 -0
- package/dist/types/css-modules.d.ts +2 -0
- package/package.json +1 -1
|
@@ -64,7 +64,7 @@ import { useGetSolidViewLayoutQuery } from "../../../redux/api/solidViewApi";
|
|
|
64
64
|
import qs from "qs";
|
|
65
65
|
import { useSearchParams } from "../../../hooks/useSearchParams";
|
|
66
66
|
import { SolidGlobalSearchElement } from "../common/SolidGlobalSearchElement";
|
|
67
|
-
import { permissionExpression } from "../../../helpers/permissions";
|
|
67
|
+
import { getCollectionViewPermissionNames, permissionExpression } from "../../../helpers/permissions";
|
|
68
68
|
import { SolidCreateButton } from "../common/SolidCreateButton";
|
|
69
69
|
import { createSolidEntityApi } from "../../../redux/api/solidEntityApi";
|
|
70
70
|
import { SolidListViewColumn } from "../list/SolidListViewColumn";
|
|
@@ -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 {
|
|
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
|
|
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
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
109
|
-
var
|
|
110
|
-
var
|
|
111
|
-
var
|
|
112
|
-
var
|
|
113
|
-
var
|
|
114
|
-
var
|
|
115
|
-
var
|
|
116
|
-
var
|
|
117
|
-
var
|
|
118
|
-
var
|
|
119
|
-
var
|
|
120
|
-
var
|
|
121
|
-
var
|
|
122
|
-
var
|
|
123
|
-
var
|
|
124
|
-
var
|
|
125
|
-
var
|
|
126
|
-
var
|
|
127
|
-
var
|
|
128
|
-
var
|
|
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
|
|
135
|
-
var
|
|
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
|
|
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
|
|
172
|
-
var
|
|
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,
|
|
@@ -189,19 +211,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
189
211
|
switch (_a.label) {
|
|
190
212
|
case 0:
|
|
191
213
|
if (!params.modelName) return [3 /*break*/, 2];
|
|
192
|
-
permissionNames =
|
|
193
|
-
permissionExpression(params.modelName, 'create'),
|
|
194
|
-
permissionExpression(params.modelName, 'delete'),
|
|
195
|
-
permissionExpression(params.modelName, 'update'),
|
|
196
|
-
permissionExpression(params.modelName, 'deleteMany'),
|
|
197
|
-
permissionExpression(params.modelName, 'findOne'),
|
|
198
|
-
permissionExpression(params.modelName, 'findMany'),
|
|
199
|
-
permissionExpression(params.modelName, 'insertMany'),
|
|
200
|
-
permissionExpression('importTransaction', 'create'),
|
|
201
|
-
permissionExpression('exportTransaction', 'create'),
|
|
202
|
-
permissionExpression('userViewMetadata', 'create'),
|
|
203
|
-
permissionExpression('savedFilters', 'create')
|
|
204
|
-
];
|
|
214
|
+
permissionNames = getCollectionViewPermissionNames(params.modelName);
|
|
205
215
|
queryData = {
|
|
206
216
|
permissionNames: permissionNames,
|
|
207
217
|
};
|
|
@@ -252,9 +262,9 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
252
262
|
}
|
|
253
263
|
}, [solidTreeViewLayout]);
|
|
254
264
|
var editBaseUrl = useMemo(function () { return normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || "form"); }, [editButtonUrl, pathname]);
|
|
255
|
-
var
|
|
265
|
+
var _36 = useDeleteSolidEntityMutation(), deleteSolidSingleEntiry = _36[0], isDeleteSolidSingleEntitySuccess = _36[1].isSuccess;
|
|
256
266
|
// Delete mutation
|
|
257
|
-
var
|
|
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;
|
|
258
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;
|
|
259
269
|
var toggleBothSidebars = function () {
|
|
260
270
|
if (visibleNavbar) {
|
|
@@ -264,8 +274,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
264
274
|
dispatch(showNavbar());
|
|
265
275
|
}
|
|
266
276
|
};
|
|
267
|
-
var
|
|
268
|
-
var
|
|
277
|
+
var _39 = useState(null), filters = _39[0], setFilters = _39[1];
|
|
278
|
+
var _40 = useState(null), filterPredicates = _40[0], setFilterPredicates = _40[1];
|
|
269
279
|
var latestFiltersRef = useRef(filters);
|
|
270
280
|
var latestFilterPredicatesRef = useRef(filterPredicates);
|
|
271
281
|
var activeGroupingRules = useMemo(function () { return (groupingRules || []).filter(function (rule) { return !!(rule === null || rule === void 0 ? void 0 : rule.fieldName); }); }, [groupingRules]);
|
|
@@ -485,6 +495,19 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
485
495
|
return groupPath
|
|
486
496
|
.map(function (item) { return buildImplicitFilterCondition(item); });
|
|
487
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
|
+
};
|
|
488
511
|
var mergeFiltersWithImplicit = function (implicitFilters) {
|
|
489
512
|
var _a;
|
|
490
513
|
var baseFilters = latestFiltersRef.current;
|
|
@@ -575,7 +598,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
575
598
|
};
|
|
576
599
|
// ─── API fetch helpers (now accept offset + limit) ────────────────────────
|
|
577
600
|
var runGroupedQuery = function (ruleIndex, groupPath, offset, limit) { return __awaiter(void 0, void 0, void 0, function () {
|
|
578
|
-
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;
|
|
579
602
|
var _a, _b, _c, _d, _e;
|
|
580
603
|
return __generator(this, function (_f) {
|
|
581
604
|
switch (_f.label) {
|
|
@@ -636,7 +659,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
636
659
|
return [3 /*break*/, 4];
|
|
637
660
|
case 4:
|
|
638
661
|
queryString = qs.stringify(queryData, { encodeValuesOnly: true });
|
|
639
|
-
|
|
662
|
+
request = triggerGetSolidEntities(queryString);
|
|
663
|
+
return [4 /*yield*/, request.unwrap().finally(function () { return request.unsubscribe(); })];
|
|
640
664
|
case 5:
|
|
641
665
|
response = _f.sent();
|
|
642
666
|
return [2 /*return*/, { queryData: queryData, queryString: queryString, response: response }];
|
|
@@ -644,7 +668,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
644
668
|
});
|
|
645
669
|
}); };
|
|
646
670
|
var runLeafQuery = function (groupPath, offset, limit) { return __awaiter(void 0, void 0, void 0, function () {
|
|
647
|
-
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;
|
|
648
672
|
var _a, _b, _c, _d, _e;
|
|
649
673
|
return __generator(this, function (_f) {
|
|
650
674
|
switch (_f.label) {
|
|
@@ -700,7 +724,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
700
724
|
return [3 /*break*/, 4];
|
|
701
725
|
case 4:
|
|
702
726
|
queryString = qs.stringify(queryData, { encodeValuesOnly: true });
|
|
703
|
-
|
|
727
|
+
request = triggerGetSolidEntities(queryString);
|
|
728
|
+
return [4 /*yield*/, request.unwrap().finally(function () { return request.unsubscribe(); })];
|
|
704
729
|
case 5:
|
|
705
730
|
response = _f.sent();
|
|
706
731
|
return [2 /*return*/, { queryData: queryData, queryString: queryString, response: response }];
|
|
@@ -708,7 +733,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
708
733
|
});
|
|
709
734
|
}); };
|
|
710
735
|
// ─── Node builders ────────────────────────────────────────────────────────
|
|
711
|
-
var buildGroupNodes = function (groupMetaRows, ruleIndex, parentPath
|
|
736
|
+
var buildGroupNodes = function (groupMetaRows, ruleIndex, parentPath) {
|
|
712
737
|
var rule = activeGroupingRules[ruleIndex];
|
|
713
738
|
if (!(rule === null || rule === void 0 ? void 0 : rule.fieldName))
|
|
714
739
|
return [];
|
|
@@ -716,7 +741,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
716
741
|
var filterField = getResolvedGroupField(fieldName);
|
|
717
742
|
// const dateGranularity = dateTimeImplicitFilter(rule);
|
|
718
743
|
var dateGranularity = getDateGranularity(rule);
|
|
719
|
-
return (groupMetaRows || []).map(function (groupMeta
|
|
744
|
+
return (groupMetaRows || []).map(function (groupMeta) {
|
|
720
745
|
var _a;
|
|
721
746
|
var rawGroupLabel = groupMeta === null || groupMeta === void 0 ? void 0 : groupMeta.groupName;
|
|
722
747
|
var normalizedGroupLabel = rawGroupLabel === "[object Object]"
|
|
@@ -729,7 +754,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
729
754
|
{ ruleIndex: ruleIndex, fieldName: fieldName, filterField: filterField, value: groupValue, dateGranularity: dateGranularity },
|
|
730
755
|
], false);
|
|
731
756
|
return {
|
|
732
|
-
key:
|
|
757
|
+
key: getGroupNodeKey(groupPath),
|
|
733
758
|
data: {
|
|
734
759
|
__treeMeta: {
|
|
735
760
|
nodeType: "group",
|
|
@@ -771,18 +796,59 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
771
796
|
return node;
|
|
772
797
|
});
|
|
773
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
|
+
};
|
|
774
838
|
// ─── Root group load / paginate ───────────────────────────────────────────
|
|
775
|
-
var loadRootGroups = function (offset) {
|
|
839
|
+
var loadRootGroups = function (offset, affectedGroupPaths) {
|
|
776
840
|
if (offset === void 0) { offset = 0; }
|
|
841
|
+
if (affectedGroupPaths === void 0) { affectedGroupPaths = []; }
|
|
777
842
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
778
|
-
var queryObject, limit, response, rootNodes, total, queryData, error_1;
|
|
779
|
-
var
|
|
780
|
-
return __generator(this, function (
|
|
781
|
-
switch (
|
|
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) {
|
|
782
847
|
case 0:
|
|
783
848
|
if (!solidTreeViewMetaData || activeGroupingRules.length === 0) {
|
|
784
849
|
setTreeNodes([]);
|
|
785
850
|
setExpandedKeys({});
|
|
851
|
+
setPaginationMap({});
|
|
786
852
|
queryObject = getFilterObjectFromLocalStorage();
|
|
787
853
|
if (queryObject) {
|
|
788
854
|
delete queryObject.grouping_rules;
|
|
@@ -793,18 +859,59 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
793
859
|
}
|
|
794
860
|
limit = globalLimit || DEFAULT_PAGE_SIZE;
|
|
795
861
|
setTreeLoading(true);
|
|
796
|
-
|
|
862
|
+
_d.label = 1;
|
|
797
863
|
case 1:
|
|
798
|
-
|
|
864
|
+
_d.trys.push([1, 9, 10, 11]);
|
|
799
865
|
return [4 /*yield*/, runGroupedQuery(0, [], offset, limit)];
|
|
800
866
|
case 2:
|
|
801
|
-
response = (
|
|
802
|
-
rootNodes = buildGroupNodes((response === null || response === void 0 ? void 0 : response.groupMeta) || [], 0, []
|
|
803
|
-
|
|
804
|
-
|
|
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);
|
|
805
911
|
setSelectedNodeKeys({});
|
|
806
|
-
|
|
807
|
-
|
|
912
|
+
setPaginationMap(nextPaginationMap);
|
|
913
|
+
if (affectedGroupPaths.length === 0)
|
|
914
|
+
setExpandedKeys({});
|
|
808
915
|
if (latestFilterPredicatesRef.current && latestFilterPredicatesRef.current.persistFilter) {
|
|
809
916
|
queryData = {
|
|
810
917
|
offset: offset,
|
|
@@ -824,16 +931,15 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
824
931
|
applyArchivedQueryState(queryData);
|
|
825
932
|
setFilterObjectToLocalStorage(queryData);
|
|
826
933
|
}
|
|
827
|
-
return [3 /*break*/,
|
|
828
|
-
case
|
|
829
|
-
error_1 =
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
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:
|
|
834
940
|
setTreeLoading(false);
|
|
835
941
|
return [7 /*endfinally*/];
|
|
836
|
-
case
|
|
942
|
+
case 11: return [2 /*return*/];
|
|
837
943
|
}
|
|
838
944
|
});
|
|
839
945
|
});
|
|
@@ -848,37 +954,23 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
848
954
|
}, [solidTreeViewMetaData, params.modelName, activeGroupingRules, aggregationRules, filters, sortField, sortOrder, globalLimit, showArchived]);
|
|
849
955
|
// ─── Expand handler ───────────────────────────────────────────────────────
|
|
850
956
|
var loadNodeChildren = function (node, offset) { return __awaiter(void 0, void 0, void 0, function () {
|
|
851
|
-
var meta, nodeKey, limit,
|
|
852
|
-
var
|
|
853
|
-
return __generator(this, function (
|
|
854
|
-
switch (
|
|
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) {
|
|
855
961
|
case 0:
|
|
856
|
-
meta = (
|
|
962
|
+
meta = (_b = node.data) === null || _b === void 0 ? void 0 : _b.__treeMeta;
|
|
857
963
|
if (!meta || meta.nodeType !== "group")
|
|
858
964
|
return [2 /*return*/];
|
|
859
965
|
nodeKey = String(node.key);
|
|
860
966
|
limit = getPagination(nodeKey).limit || globalLimit || DEFAULT_PAGE_SIZE;
|
|
861
|
-
nextRuleIndex = meta.ruleIndex + 1;
|
|
862
967
|
setTreeLoading(true);
|
|
863
|
-
|
|
968
|
+
_d.label = 1;
|
|
864
969
|
case 1:
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
total = 0;
|
|
868
|
-
if (!(nextRuleIndex < activeGroupingRules.length)) return [3 /*break*/, 3];
|
|
869
|
-
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)];
|
|
870
972
|
case 2:
|
|
871
|
-
|
|
872
|
-
children_1 = buildGroupNodes((response === null || response === void 0 ? void 0 : response.groupMeta) || [], nextRuleIndex, meta.groupPath || [], nodeKey);
|
|
873
|
-
total = (_b = response === null || response === void 0 ? void 0 : response.meta.totalRecords) !== null && _b !== void 0 ? _b : 0;
|
|
874
|
-
return [3 /*break*/, 5];
|
|
875
|
-
case 3: return [4 /*yield*/, runLeafQuery(meta.groupPath || [], offset, limit)];
|
|
876
|
-
case 4:
|
|
877
|
-
response = (_e.sent()).response;
|
|
878
|
-
children_1 = buildRecordNodes((response === null || response === void 0 ? void 0 : response.records) || [], nodeKey, meta.groupPath || []);
|
|
879
|
-
total = (_c = response === null || response === void 0 ? void 0 : response.meta.totalRecords) !== null && _c !== void 0 ? _c : 0;
|
|
880
|
-
_e.label = 5;
|
|
881
|
-
case 5:
|
|
973
|
+
_a = _d.sent(), children_1 = _a.children, total = _a.total;
|
|
882
974
|
setTreeNodes(function (prev) { return updateNodeChildren(prev, nodeKey, children_1); });
|
|
883
975
|
setPagination(node.key, { offset: offset, total: total, limit: limit });
|
|
884
976
|
setSelectedNodeKeys(function (prevKeys) {
|
|
@@ -921,16 +1013,16 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
921
1013
|
return next;
|
|
922
1014
|
});
|
|
923
1015
|
}
|
|
924
|
-
return [3 /*break*/,
|
|
925
|
-
case
|
|
926
|
-
error_2 =
|
|
927
|
-
dispatch(showToast({ severity: "error", summary: "Failed to expand node", detail: ((
|
|
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 }));
|
|
928
1020
|
setTreeNodes(function (prev) { return updateNodeChildren(prev, nodeKey, []); });
|
|
929
|
-
return [3 /*break*/,
|
|
930
|
-
case
|
|
1021
|
+
return [3 /*break*/, 5];
|
|
1022
|
+
case 4:
|
|
931
1023
|
setTreeLoading(false);
|
|
932
1024
|
return [7 /*endfinally*/];
|
|
933
|
-
case
|
|
1025
|
+
case 5: return [2 /*return*/];
|
|
934
1026
|
}
|
|
935
1027
|
});
|
|
936
1028
|
}); };
|
|
@@ -1082,12 +1174,15 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1082
1174
|
// ─── Bulk delete ──────────────────────────────────────────────────────────
|
|
1083
1175
|
// handle bulk deletion
|
|
1084
1176
|
var deleteBulk = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1085
|
-
var deleteList, error_3;
|
|
1177
|
+
var deleteList, affectedGroupPaths, error_3;
|
|
1086
1178
|
var _a;
|
|
1087
1179
|
return __generator(this, function (_b) {
|
|
1088
1180
|
switch (_b.label) {
|
|
1089
1181
|
case 0:
|
|
1090
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); });
|
|
1091
1186
|
if (deleteList.length === 0) {
|
|
1092
1187
|
setDeleteRecordsDialogVisible(false);
|
|
1093
1188
|
return [2 /*return*/];
|
|
@@ -1100,7 +1195,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1100
1195
|
_b.sent();
|
|
1101
1196
|
dispatch(showToast({ severity: 'success', summary: 'Deleted', detail: ERROR_MESSAGES.RECORD_DELETE, life: 3000 }));
|
|
1102
1197
|
setDeleteRecordsDialogVisible(false);
|
|
1103
|
-
return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
|
|
1198
|
+
return [4 /*yield*/, loadRootGroups(getPagination("root").offset, affectedGroupPaths)];
|
|
1104
1199
|
case 3:
|
|
1105
1200
|
_b.sent();
|
|
1106
1201
|
return [3 /*break*/, 5];
|
|
@@ -1119,12 +1214,15 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1119
1214
|
setSelectedRecoverRecords([]);
|
|
1120
1215
|
};
|
|
1121
1216
|
var recoverAll = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1122
|
-
var recoverList, response, error_4;
|
|
1217
|
+
var recoverList, affectedGroupPaths, response, error_4;
|
|
1123
1218
|
var _a, _b;
|
|
1124
1219
|
return __generator(this, function (_c) {
|
|
1125
1220
|
switch (_c.label) {
|
|
1126
1221
|
case 0:
|
|
1127
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); });
|
|
1128
1226
|
if (recoverList.length === 0) {
|
|
1129
1227
|
setRecoverDialogVisible(false);
|
|
1130
1228
|
return [2 /*return*/];
|
|
@@ -1142,7 +1240,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1142
1240
|
detail: ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) || "Records recovered successfully.",
|
|
1143
1241
|
life: 3000,
|
|
1144
1242
|
}));
|
|
1145
|
-
return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
|
|
1243
|
+
return [4 /*yield*/, loadRootGroups(getPagination("root").offset, affectedGroupPaths)];
|
|
1146
1244
|
case 3:
|
|
1147
1245
|
_c.sent();
|
|
1148
1246
|
return [3 /*break*/, 5];
|
|
@@ -1187,8 +1285,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1187
1285
|
solidListViewMetaData: solidTreeViewMetaData,
|
|
1188
1286
|
fieldMetadata: fieldMetadata,
|
|
1189
1287
|
column: column,
|
|
1190
|
-
setLightboxUrls:
|
|
1191
|
-
setOpenLightbox:
|
|
1288
|
+
setLightboxUrls: setLightboxUrls,
|
|
1289
|
+
setOpenLightbox: setOpenLightbox,
|
|
1192
1290
|
});
|
|
1193
1291
|
if (!React.isValidElement(listColumn))
|
|
1194
1292
|
return null;
|
|
@@ -1299,8 +1397,14 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1299
1397
|
}); },
|
|
1300
1398
|
}); }, [filters, filterPredicates, paginationMap, showArchived, sortField, sortOrder, treeLoading, treeNodes]);
|
|
1301
1399
|
var handleCustomButtonClick = useHandleListCustomButtonClick();
|
|
1302
|
-
var
|
|
1303
|
-
var
|
|
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);
|
|
1304
1408
|
var openRowForEdit = function (rowData, viewMode) {
|
|
1305
1409
|
storeCurrentModelViewContext();
|
|
1306
1410
|
router.push("".concat(editBaseUrl, "/").concat(rowData === null || rowData === void 0 ? void 0 : rowData.id, "?viewMode=").concat(viewMode, "&").concat(new URLSearchParams(editActionQueryParams).toString()));
|
|
@@ -1339,32 +1443,33 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1339
1443
|
});
|
|
1340
1444
|
};
|
|
1341
1445
|
var handleDeleteEntity = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1342
|
-
var response, error_5;
|
|
1343
|
-
var _a, _b, _c;
|
|
1344
|
-
return __generator(this, function (
|
|
1345
|
-
switch (
|
|
1446
|
+
var affectedGroupPath, response, error_5;
|
|
1447
|
+
var _a, _b, _c, _d;
|
|
1448
|
+
return __generator(this, function (_e) {
|
|
1449
|
+
switch (_e.label) {
|
|
1346
1450
|
case 0:
|
|
1347
|
-
|
|
1451
|
+
_e.trys.push([0, 5, , 6]);
|
|
1348
1452
|
if (!(selectedSolidViewData === null || selectedSolidViewData === void 0 ? void 0 : selectedSolidViewData.id)) {
|
|
1349
1453
|
throw new Error(ERROR_MESSAGES.NO_ENTITY_SELECTED);
|
|
1350
1454
|
}
|
|
1455
|
+
affectedGroupPath = (_a = selectedSolidViewData === null || selectedSolidViewData === void 0 ? void 0 : selectedSolidViewData.__treeMeta) === null || _a === void 0 ? void 0 : _a.groupPath;
|
|
1351
1456
|
return [4 /*yield*/, deleteSolidSingleEntiry(selectedSolidViewData.id)];
|
|
1352
1457
|
case 1:
|
|
1353
|
-
response =
|
|
1354
|
-
if (!(((
|
|
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];
|
|
1355
1460
|
setDeleteEntity(false);
|
|
1356
1461
|
setSelectedSolidViewData(undefined);
|
|
1357
1462
|
dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.DELETED, detail: ERROR_MESSAGES.ENTITY_DELETE, life: 3000 }));
|
|
1358
|
-
return [4 /*yield*/, loadRootGroups(getPagination("root").offset)];
|
|
1463
|
+
return [4 /*yield*/, loadRootGroups(getPagination("root").offset, Array.isArray(affectedGroupPath) ? [affectedGroupPath] : [])];
|
|
1359
1464
|
case 2:
|
|
1360
|
-
|
|
1465
|
+
_e.sent();
|
|
1361
1466
|
return [3 /*break*/, 4];
|
|
1362
1467
|
case 3:
|
|
1363
|
-
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.DELETE_FAIELD, detail: (
|
|
1364
|
-
|
|
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;
|
|
1365
1470
|
case 4: return [3 /*break*/, 6];
|
|
1366
1471
|
case 5:
|
|
1367
|
-
error_5 =
|
|
1472
|
+
error_5 = _e.sent();
|
|
1368
1473
|
dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.DELETE_FAIELD, detail: ERROR_MESSAGES.SOMETHING_WRONG, sticky: true }));
|
|
1369
1474
|
return [3 /*break*/, 6];
|
|
1370
1475
|
case 6: return [2 /*return*/];
|
|
@@ -1373,34 +1478,34 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1373
1478
|
}); };
|
|
1374
1479
|
var handleRecoverRecord = function (record) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1375
1480
|
var response, error_6;
|
|
1376
|
-
var _a, _b;
|
|
1377
|
-
return __generator(this, function (
|
|
1378
|
-
switch (
|
|
1481
|
+
var _a, _b, _c;
|
|
1482
|
+
return __generator(this, function (_d) {
|
|
1483
|
+
switch (_d.label) {
|
|
1379
1484
|
case 0:
|
|
1380
1485
|
if (!(record === null || record === void 0 ? void 0 : record.id))
|
|
1381
1486
|
return [2 /*return*/];
|
|
1382
|
-
|
|
1487
|
+
_d.label = 1;
|
|
1383
1488
|
case 1:
|
|
1384
|
-
|
|
1489
|
+
_d.trys.push([1, 4, , 5]);
|
|
1385
1490
|
return [4 /*yield*/, triggerRecoverSolidEntitiesById(record.id).unwrap()];
|
|
1386
1491
|
case 2:
|
|
1387
|
-
response =
|
|
1492
|
+
response = _d.sent();
|
|
1388
1493
|
dispatch(showToast({
|
|
1389
1494
|
severity: "success",
|
|
1390
1495
|
summary: "Success",
|
|
1391
1496
|
detail: ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.message) || "Record recovered successfully.",
|
|
1392
1497
|
life: 3000,
|
|
1393
1498
|
}));
|
|
1394
|
-
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] : [])];
|
|
1395
1500
|
case 3:
|
|
1396
|
-
|
|
1501
|
+
_d.sent();
|
|
1397
1502
|
return [3 /*break*/, 5];
|
|
1398
1503
|
case 4:
|
|
1399
|
-
error_6 =
|
|
1504
|
+
error_6 = _d.sent();
|
|
1400
1505
|
dispatch(showToast({
|
|
1401
1506
|
severity: "error",
|
|
1402
1507
|
summary: "Recover Failed",
|
|
1403
|
-
detail: ((
|
|
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.",
|
|
1404
1509
|
life: 4000,
|
|
1405
1510
|
}));
|
|
1406
1511
|
return [3 /*break*/, 5];
|
|
@@ -1467,12 +1572,12 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1467
1572
|
})] })] }))] }));
|
|
1468
1573
|
};
|
|
1469
1574
|
// ─── Render ───────────────────────────────────────────────────────────────
|
|
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" }), ((
|
|
1471
|
-
((
|
|
1472
|
-
((
|
|
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 &&
|
|
1473
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 &&
|
|
1474
|
-
((
|
|
1475
|
-
|
|
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) {
|
|
1476
1581
|
setSortField(e.sortField || "");
|
|
1477
1582
|
setSortOrder(e.sortOrder || 0);
|
|
1478
1583
|
}, onRowClick: function (e) {
|
|
@@ -1526,16 +1631,10 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1526
1631
|
var canPrev = hasPrev(nodeKey);
|
|
1527
1632
|
var canNext = hasNext(nodeKey);
|
|
1528
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"); } })] }));
|
|
1529
|
-
} }, "tree-last-frozen-column")] })) }), _jsx(RootPaginationBar, {})] }) }), _jsxs(SolidDialog, { open:
|
|
1530
|
-
if (!open)
|
|
1531
|
-
setDeleteEntity(false);
|
|
1532
|
-
}, 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) {
|
|
1533
|
-
if (!open)
|
|
1534
|
-
setDeleteRecordsDialogVisible(false);
|
|
1535
|
-
}, 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) {
|
|
1536
1635
|
if (!open)
|
|
1537
1636
|
setRecoverDialogVisible(false);
|
|
1538
|
-
}, 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); } }))] }));
|
|
1539
1638
|
});
|
|
1540
1639
|
SolidTreeView.displayName = "SolidTreeView";
|
|
1541
1640
|
//# sourceMappingURL=SolidTreeView.js.map
|