@solidxai/core-ui 0.1.5-beta.1 → 0.1.5-beta.11
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/core/chatter/SolidChatter.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatter.js +5 -2
- package/dist/components/core/chatter/SolidChatter.js.map +1 -1
- package/dist/components/core/chatter/SolidChatter.tsx +5 -2
- package/dist/components/core/chatter/SolidChatterAuditMessage.d.ts +5 -2
- package/dist/components/core/chatter/SolidChatterAuditMessage.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterAuditMessage.js +19 -1
- package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +29 -5
- package/dist/components/core/chatter/SolidChatterDateDivider.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterDateDivider.js +4 -1
- package/dist/components/core/chatter/SolidChatterDateDivider.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterDateDivider.tsx +5 -1
- package/dist/components/core/common/SolidCreateButton.js +3 -3
- package/dist/components/core/common/SolidCreateButton.js.map +1 -1
- package/dist/components/core/common/SolidCreateButton.tsx +3 -3
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +1 -0
- package/dist/components/core/dashboard/DashboardFilter.d.ts +13 -0
- package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -0
- package/dist/components/core/dashboard/DashboardFilter.js +305 -0
- package/dist/components/core/dashboard/DashboardFilter.js.map +1 -0
- package/dist/components/core/dashboard/DashboardFilter.tsx +356 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +3 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +1 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js +21 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +40 -0
- package/dist/components/core/dashboard/SolidDashboard.d.ts +0 -1
- package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -1
- package/dist/components/core/dashboard/SolidDashboard.js +51 -22
- package/dist/components/core/dashboard/SolidDashboard.js.map +1 -1
- package/dist/components/core/dashboard/SolidDashboard.module.css +6 -2
- package/dist/components/core/dashboard/SolidDashboard.tsx +133 -56
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts +13 -1
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardBody.js +134 -48
- package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardBody.tsx +143 -91
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -1
- package/dist/components/core/dashboard/SolidQuestionRenderer.js +1 -1
- package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -1
- package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +12 -10
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +1 -1
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +29 -2
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +1 -1
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +33 -3
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +10 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +16 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +19 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +8 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +64 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +30 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +8 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js +62 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +29 -0
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +2 -2
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +2 -2
- package/dist/components/core/form/SolidFormView.js +1 -1
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +22 -15
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +14 -2
- package/dist/components/core/kanban/SolidKanbanView.js +2 -2
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +2 -2
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +14 -11
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +8 -7
- package/dist/components/core/list/columns/SolidDateColumn.d.ts +2 -0
- package/dist/components/core/list/columns/SolidDateColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidDateColumn.js +9 -1
- package/dist/components/core/list/columns/SolidDateColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidDateColumn.tsx +13 -1
- package/dist/components/core/list/columns/SolidDatetimeColumn.js +1 -1
- package/dist/components/core/list/columns/SolidDatetimeColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidDatetimeColumn.tsx +1 -1
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +277 -43
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +436 -4
- package/dist/constants/error-messages.d.ts +3 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +3 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/error-messages.ts +24 -20
- package/dist/helpers/registry.d.ts.map +1 -1
- package/dist/helpers/registry.js +10 -0
- package/dist/helpers/registry.js.map +1 -1
- package/dist/helpers/registry.ts +12 -0
- package/dist/helpers/routePaths.d.ts +1 -1
- package/dist/helpers/routePaths.d.ts.map +1 -1
- package/dist/helpers/routePaths.js +2 -2
- package/dist/helpers/routePaths.js.map +1 -1
- package/dist/helpers/routePaths.ts +2 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/index.ts +8 -0
- package/dist/redux/api/dashboardLayoutApi.d.ts +24 -0
- package/dist/redux/api/dashboardLayoutApi.d.ts.map +1 -0
- package/dist/redux/api/dashboardLayoutApi.js +34 -0
- package/dist/redux/api/dashboardLayoutApi.js.map +1 -0
- package/dist/redux/api/dashboardLayoutApi.ts +55 -0
- package/dist/redux/store/defaultStoreConfig.d.ts +4 -0
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/redux/store/defaultStoreConfig.js +3 -2
- package/dist/redux/store/defaultStoreConfig.js.map +1 -1
- package/dist/redux/store/defaultStoreConfig.ts +4 -2
- package/dist/resources/globals.css +8 -0
- package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.js +3 -7
- package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.tsx +2 -5
- package/dist/routes/pages/admin/core/FormPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/FormPage.js +6 -1
- package/dist/routes/pages/admin/core/FormPage.js.map +1 -1
- package/dist/routes/pages/admin/core/FormPage.tsx +7 -1
- package/dist/routes/solidRoutes.js +1 -1
- package/dist/routes/solidRoutes.js.map +1 -1
- package/dist/routes/solidRoutes.tsx +1 -1
- package/package.json +13 -11
|
@@ -40,6 +40,12 @@ import { SolidBeforeTreeNodeLoad } from "../../../types";
|
|
|
40
40
|
import { getExtensionFunction } from "../../../helpers/registry";
|
|
41
41
|
import { SolidTreeLoad, SolidTreeUiEventResponse } from "../../../types/solid-core";
|
|
42
42
|
import { Tooltip } from "primereact/tooltip";
|
|
43
|
+
import { useRouter } from "../../../hooks/useRouter";
|
|
44
|
+
import { normalizeSolidListTreeKanbanActionPath } from "../../../helpers/routePaths";
|
|
45
|
+
import { usePathname } from "../../../hooks/usePathname";
|
|
46
|
+
import { useHandleListCustomButtonClick } from "../../../components/common/useHandleListCustomButtonClick";
|
|
47
|
+
import { OverlayPanel } from "primereact/overlaypanel";
|
|
48
|
+
import { SolidListViewRowButtonContextMenu } from "../list/SolidListViewRowButtonContextMenu";
|
|
43
49
|
|
|
44
50
|
// ─── Types ────────────────────────────────────────────────────────────────────
|
|
45
51
|
|
|
@@ -122,8 +128,10 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
122
128
|
const searchParams = useSearchParams();
|
|
123
129
|
|
|
124
130
|
const session = useSession();
|
|
131
|
+
const router = useRouter()
|
|
125
132
|
const user = session?.data?.user;
|
|
126
133
|
|
|
134
|
+
const pathname = usePathname();
|
|
127
135
|
const solidGlobalSearchElementRef = useRef<any>(null);
|
|
128
136
|
|
|
129
137
|
const [showSaveFilterPopup, setShowSaveFilterPopup] = useState<boolean>(false);
|
|
@@ -131,8 +139,9 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
131
139
|
const [toPopulate, setToPopulate] = useState<string[]>([]);
|
|
132
140
|
const [toPopulateMedia, setToPopulateMedia] = useState<string[]>([]);
|
|
133
141
|
const [actionsAllowed, setActionsAllowed] = useState<string[]>([]);
|
|
134
|
-
const [createButtonUrl, setCreateButtonUrl] = useState<string>();
|
|
135
142
|
const [createActionQueryParams, setCreateActionQueryParams] = useState<Record<string, string>>({});
|
|
143
|
+
const [editActionQueryParams, setEditActionQueryParams] = useState<Record<string, string>>({});
|
|
144
|
+
|
|
136
145
|
const [selectedRecords, setSelectedRecords] = useState<any[]>([]);
|
|
137
146
|
const [selectedRecoverRecords, setSelectedRecoverRecords] = useState<any[]>([]);
|
|
138
147
|
|
|
@@ -156,6 +165,14 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
156
165
|
const [showArchived, setShowArchived] = useState(false);
|
|
157
166
|
|
|
158
167
|
|
|
168
|
+
const [createButtonUrl, setCreateButtonUrl] = useState<string>();
|
|
169
|
+
const [editButtonUrl, setEditButtonUrl] = useState<string>();
|
|
170
|
+
const [isDraftPublishWorkflowEnabled, setIsDraftPublishWorkflowEnabled] = useState(false);
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
159
176
|
const sizeOptions = [
|
|
160
177
|
{ label: "Compact", value: "small", image: CompactImage },
|
|
161
178
|
{ label: "Cozy", value: "normal", image: CozyImage },
|
|
@@ -289,7 +306,66 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
289
306
|
fetchPermissions();
|
|
290
307
|
}, [params.modelName]);
|
|
291
308
|
|
|
292
|
-
|
|
309
|
+
|
|
310
|
+
// set layout and actions for create and edit buttons and view modes
|
|
311
|
+
useEffect(() => {
|
|
312
|
+
if (solidTreeViewLayout) {
|
|
313
|
+
const listLayoutAttrs = solidTreeViewLayout.attrs;
|
|
314
|
+
const createActionUrl = listLayoutAttrs?.createAction && listLayoutAttrs?.createAction?.type === "custom" ? listLayoutAttrs?.createAction?.customComponent : "form/new";
|
|
315
|
+
const editActionUrl = listLayoutAttrs?.editAction && listLayoutAttrs?.editAction?.type === "custom" ? listLayoutAttrs?.editAction?.customComponent : "form";
|
|
316
|
+
|
|
317
|
+
if (listLayoutAttrs?.createAction) {
|
|
318
|
+
setCreateActionQueryParams({
|
|
319
|
+
actionName: listLayoutAttrs.createAction.name,
|
|
320
|
+
actionType: listLayoutAttrs.createAction.type,
|
|
321
|
+
actionContext: listLayoutAttrs.createAction.context,
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
if (listLayoutAttrs?.editAction) {
|
|
325
|
+
setEditActionQueryParams({
|
|
326
|
+
actionName: listLayoutAttrs.editAction.name,
|
|
327
|
+
actionType: listLayoutAttrs.editAction.type,
|
|
328
|
+
actionContext: listLayoutAttrs.editAction.context,
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
// const viewModes = listLayoutAttrs?.allowedViews && listLayoutAttrs?.allowedViews.length > 0 && listLayoutAttrs?.allowedViews.map((view: any) => { return { label: capitalize(view), value: view }; });
|
|
333
|
+
setViewModes(solidTreeViewMetaData?.data?.viewModes);
|
|
334
|
+
if (createActionUrl) {
|
|
335
|
+
setCreateButtonUrl(createActionUrl);
|
|
336
|
+
}
|
|
337
|
+
if (editActionUrl) {
|
|
338
|
+
setEditButtonUrl(editActionUrl);
|
|
339
|
+
}
|
|
340
|
+
setIsDraftPublishWorkflowEnabled(solidTreeViewMetaData?.data?.solidView?.model?.draftPublishWorkflow === true);
|
|
341
|
+
}
|
|
342
|
+
}, [solidTreeViewLayout]);
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
const editBaseUrl = useMemo(
|
|
347
|
+
() => normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || "form"),
|
|
348
|
+
[editButtonUrl, pathname]
|
|
349
|
+
);
|
|
350
|
+
|
|
351
|
+
const [
|
|
352
|
+
deleteSolidSingleEntiry,
|
|
353
|
+
{ isSuccess: isDeleteSolidSingleEntitySuccess },
|
|
354
|
+
] = useDeleteSolidEntityMutation();
|
|
355
|
+
|
|
356
|
+
// Delete mutation
|
|
357
|
+
const [
|
|
358
|
+
deleteManySolidEntities,
|
|
359
|
+
{
|
|
360
|
+
isLoading: isSolidEntitiesDeleted,
|
|
361
|
+
isSuccess: isDeleteSolidEntitiesSucess,
|
|
362
|
+
isError: isSolidEntitiesDeleteError,
|
|
363
|
+
error: SolidEntitiesDeleteError,
|
|
364
|
+
data: DeletedSolidEntities,
|
|
365
|
+
},
|
|
366
|
+
] = useDeleteMultipleSolidEntitiesMutation();
|
|
367
|
+
|
|
368
|
+
|
|
293
369
|
|
|
294
370
|
const treeViewTitle = solidTreeViewMetaData?.data?.solidView?.displayName;
|
|
295
371
|
|
|
@@ -1228,7 +1304,7 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
1228
1304
|
const rootHasPrev = hasPrev("root");
|
|
1229
1305
|
const rootHasNext = hasNext("root");
|
|
1230
1306
|
|
|
1231
|
-
if (!rootHasPrev && !rootHasNext) return null;
|
|
1307
|
+
// if (!rootHasPrev && !rootHasNext) return null;
|
|
1232
1308
|
|
|
1233
1309
|
return (
|
|
1234
1310
|
<div style={{ width: "100%", display: "flex", alignItems: "center", justifyContent: "space-between", borderTop: "1px solid var(--surface-border)" }}>
|
|
@@ -1303,6 +1379,216 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
1303
1379
|
}),
|
|
1304
1380
|
}), [filters, filterPredicates, params.customFilter, treeLoading, treeNodes, paginationMap]);
|
|
1305
1381
|
|
|
1382
|
+
|
|
1383
|
+
const handleCustomButtonClick = useHandleListCustomButtonClick();
|
|
1384
|
+
|
|
1385
|
+
|
|
1386
|
+
|
|
1387
|
+
const [selectedSolidViewData, setSelectedSolidViewData] = useState<any>();
|
|
1388
|
+
const selectedDataRef = useRef<any>();
|
|
1389
|
+
const op = useRef<any>(null);
|
|
1390
|
+
const [deleteEntity, setDeleteEntity] = useState(false);
|
|
1391
|
+
|
|
1392
|
+
const hasEditInContextMenu = actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&
|
|
1393
|
+
solidTreeViewLayout?.attrs?.edit !== false &&
|
|
1394
|
+
solidTreeViewLayout?.attrs?.showDefaultEditButton !== false &&
|
|
1395
|
+
solidTreeViewLayout?.attrs?.showRowEditInContextMenu !== false &&
|
|
1396
|
+
!(isDraftPublishWorkflowEnabled && selectedDataRef.current?.publishedAt);
|
|
1397
|
+
|
|
1398
|
+
const hasDeleteInContextMenu = actionsAllowed.includes(`${permissionExpression(params.modelName, 'delete')}`) &&
|
|
1399
|
+
solidTreeViewLayout?.attrs?.delete !== false &&
|
|
1400
|
+
solidTreeViewLayout?.attrs?.showRowDeleteInContextMenu !== false &&
|
|
1401
|
+
!(isDraftPublishWorkflowEnabled && selectedDataRef.current?.publishedAt);
|
|
1402
|
+
|
|
1403
|
+
const hasCustomContextMenuButtons =
|
|
1404
|
+
solidTreeViewLayout?.attrs?.rowButtons?.some(
|
|
1405
|
+
(rb: any) => rb?.attrs?.actionInContextMenu === true
|
|
1406
|
+
);
|
|
1407
|
+
|
|
1408
|
+
const hasAnyContextMenuActions =
|
|
1409
|
+
hasEditInContextMenu || hasDeleteInContextMenu || hasCustomContextMenuButtons;
|
|
1410
|
+
|
|
1411
|
+
|
|
1412
|
+
const detailsBodyTemplate = (solidViewData: any) => {
|
|
1413
|
+
return (
|
|
1414
|
+
<div>
|
|
1415
|
+
<Button
|
|
1416
|
+
type="button"
|
|
1417
|
+
text
|
|
1418
|
+
size="small"
|
|
1419
|
+
className=""
|
|
1420
|
+
onClick={(e) =>
|
|
1421
|
+
// @ts-ignore
|
|
1422
|
+
{
|
|
1423
|
+
e.stopPropagation();
|
|
1424
|
+
selectedDataRef.current = solidViewData;
|
|
1425
|
+
setSelectedSolidViewData(solidViewData);
|
|
1426
|
+
op.current?.toggle(e)
|
|
1427
|
+
}
|
|
1428
|
+
}
|
|
1429
|
+
>
|
|
1430
|
+
<svg
|
|
1431
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1432
|
+
width="3"
|
|
1433
|
+
height="10"
|
|
1434
|
+
viewBox="0 0 4 16"
|
|
1435
|
+
fill="none"
|
|
1436
|
+
>
|
|
1437
|
+
<path
|
|
1438
|
+
d="M4 14C4 14.55 3.80417 15.0208 3.4125 15.4125C3.02083 15.8042 2.55 16 2 16C1.45 16 0.979167 15.8042 0.5875 15.4125C0.195833 15.0208 0 14.55 0 14C0 13.45 0.195833 12.9792 0.5875 12.5875C0.979167 12.1958 1.45 12 2 12C2.55 12 3.02083 12.1958 3.4125 12.5875C3.80417 12.9792 4 13.45 4 14ZM4 8C4 8.55 3.80417 9.02083 3.4125 9.4125C3.02083 9.80417 2.55 10 2 10C1.45 10 0.979167 9.80417 0.5875 9.4125C0.195833 9.02083 0 8.55 0 8C0 7.45 0.195833 6.97917 0.5875 6.5875C0.979167 6.19583 1.45 6 2 6C2.55 6 3.02083 6.19583 3.4125 6.5875C3.80417 6.97917 4 7.45 4 8ZM4 2C4 2.55 3.80417 3.02083 3.4125 3.4125C3.02083 3.80417 2.55 4 2 4C1.45 4 0.979167 3.80417 0.5875 3.4125C0.195833 3.02083 0 2.55 0 2C0 1.45 0.195833 0.979166 0.5875 0.5875C0.979167 0.195833 1.45 0 2 0C2.55 0 3.02083 0.195833 3.4125 0.5875C3.80417 0.979166 4 1.45 4 2Z"
|
|
1439
|
+
fill="#666666"
|
|
1440
|
+
/>
|
|
1441
|
+
</svg>
|
|
1442
|
+
</Button>
|
|
1443
|
+
</div>
|
|
1444
|
+
);
|
|
1445
|
+
};
|
|
1446
|
+
|
|
1447
|
+
|
|
1448
|
+
const handleDeleteEntity = async () => {
|
|
1449
|
+
try {
|
|
1450
|
+
if (!selectedSolidViewData?.id) {
|
|
1451
|
+
throw new Error(ERROR_MESSAGES.NO_ENTITY_SELECTED);
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
const response: any = await deleteSolidSingleEntiry(selectedSolidViewData.id);
|
|
1455
|
+
|
|
1456
|
+
if (response?.data?.statusCode === 200) {
|
|
1457
|
+
setDeleteEntity(false);
|
|
1458
|
+
toast.current?.show({
|
|
1459
|
+
severity: "success",
|
|
1460
|
+
summary: ERROR_MESSAGES.DELETED,
|
|
1461
|
+
detail: ERROR_MESSAGES.ENTITY_DELETE,
|
|
1462
|
+
life: 3000,
|
|
1463
|
+
});
|
|
1464
|
+
} else {
|
|
1465
|
+
toast.current?.show({
|
|
1466
|
+
severity: "error",
|
|
1467
|
+
summary: ERROR_MESSAGES.DELETE_FAIELD,
|
|
1468
|
+
detail: response?.error?.data?.error,
|
|
1469
|
+
sticky: true, // stays until user closes
|
|
1470
|
+
});
|
|
1471
|
+
}
|
|
1472
|
+
} catch (error: any) {
|
|
1473
|
+
toast.current?.show({
|
|
1474
|
+
severity: "error",
|
|
1475
|
+
summary: ERROR_MESSAGES.DELETE_FAIELD,
|
|
1476
|
+
detail: ERROR_MESSAGES.SOMETHING_WRONG,
|
|
1477
|
+
sticky: true, // stays until user closes
|
|
1478
|
+
|
|
1479
|
+
});
|
|
1480
|
+
}
|
|
1481
|
+
};
|
|
1482
|
+
|
|
1483
|
+
const renderRowActions = (rowData: any) => {
|
|
1484
|
+
return (
|
|
1485
|
+
<div className="flex align-items-center justify-content-end gap-1">
|
|
1486
|
+
|
|
1487
|
+
{/* ---------------- CUSTOM ROW BUTTONS ---------------- */}
|
|
1488
|
+
{solidTreeViewLayout?.attrs?.rowButtons &&
|
|
1489
|
+
solidTreeViewLayout?.attrs?.rowButtons
|
|
1490
|
+
.filter((rb: any) => {
|
|
1491
|
+
const roles = rb?.attrs?.roles || [];
|
|
1492
|
+
const isInContextMenu = rb.attrs.actionInContextMenu === true;
|
|
1493
|
+
|
|
1494
|
+
const isAllowed =
|
|
1495
|
+
roles.length === 0 || hasAnyRole(user?.roles, roles);
|
|
1496
|
+
|
|
1497
|
+
const isVisible = rb?.attrs?.visible !== false;
|
|
1498
|
+
|
|
1499
|
+
return !isInContextMenu && isAllowed && isVisible;
|
|
1500
|
+
})
|
|
1501
|
+
.map((button: any, index: number) => (
|
|
1502
|
+
<Button
|
|
1503
|
+
key={index}
|
|
1504
|
+
type="button"
|
|
1505
|
+
icon={button?.attrs?.icon ?? "pi pi-pencil"}
|
|
1506
|
+
className={`gap-2 ${button?.attrs?.className ?? ""}`}
|
|
1507
|
+
label={
|
|
1508
|
+
button.attrs.showLabel !== false
|
|
1509
|
+
? button.attrs.label
|
|
1510
|
+
: ""
|
|
1511
|
+
}
|
|
1512
|
+
size="small"
|
|
1513
|
+
iconPos="left"
|
|
1514
|
+
onClick={() => {
|
|
1515
|
+
const event = {
|
|
1516
|
+
params,
|
|
1517
|
+
rowData: rowData,
|
|
1518
|
+
solidListViewMetaData: solidTreeViewMetaData?.data,
|
|
1519
|
+
};
|
|
1520
|
+
handleCustomButtonClick(button.attrs, event);
|
|
1521
|
+
}}
|
|
1522
|
+
/>
|
|
1523
|
+
))}
|
|
1524
|
+
|
|
1525
|
+
{/* ---------------- EDIT BUTTON ---------------- */}
|
|
1526
|
+
{actionsAllowed.includes(
|
|
1527
|
+
`${permissionExpression(params.modelName, "update")}`
|
|
1528
|
+
) &&
|
|
1529
|
+
solidTreeViewLayout?.attrs?.edit !== false &&
|
|
1530
|
+
solidTreeViewLayout?.attrs?.showRowEditInContextMenu === false && (
|
|
1531
|
+
<Button
|
|
1532
|
+
text
|
|
1533
|
+
severity="secondary"
|
|
1534
|
+
size="small"
|
|
1535
|
+
icon="pi pi-pencil"
|
|
1536
|
+
onClick={() => {
|
|
1537
|
+
// if (params.embeded == true) {
|
|
1538
|
+
// params.handleEditClickForEmbeddedView(rowData?.id);
|
|
1539
|
+
// } else {
|
|
1540
|
+
try {
|
|
1541
|
+
sessionStorage.setItem("fromView", "list");
|
|
1542
|
+
sessionStorage.setItem(
|
|
1543
|
+
"fromViewUrl",
|
|
1544
|
+
window.location.pathname + window.location.search
|
|
1545
|
+
);
|
|
1546
|
+
} catch (e) { }
|
|
1547
|
+
|
|
1548
|
+
router.push(
|
|
1549
|
+
`${editBaseUrl}/${rowData?.id}?viewMode=edit&${new URLSearchParams(
|
|
1550
|
+
editActionQueryParams
|
|
1551
|
+
).toString()}`
|
|
1552
|
+
);
|
|
1553
|
+
// }
|
|
1554
|
+
}}
|
|
1555
|
+
/>
|
|
1556
|
+
)}
|
|
1557
|
+
|
|
1558
|
+
{/* ---------------- DELETE BUTTON ---------------- */}
|
|
1559
|
+
{actionsAllowed.includes(
|
|
1560
|
+
`${permissionExpression(params.modelName, "delete")}`
|
|
1561
|
+
) &&
|
|
1562
|
+
solidTreeViewLayout?.attrs?.delete !== false &&
|
|
1563
|
+
(params.embeded ||
|
|
1564
|
+
(solidTreeViewLayout?.attrs?.showRowDeleteInContextMenu !==
|
|
1565
|
+
undefined &&
|
|
1566
|
+
solidTreeViewLayout?.attrs?.showRowDeleteInContextMenu !==
|
|
1567
|
+
true)) && (
|
|
1568
|
+
<Button
|
|
1569
|
+
text
|
|
1570
|
+
size="small"
|
|
1571
|
+
severity="danger"
|
|
1572
|
+
icon="pi pi-trash"
|
|
1573
|
+
onClick={() => {
|
|
1574
|
+
// if (
|
|
1575
|
+
// params?.embededFieldRelationType === "many-to-many"
|
|
1576
|
+
// ) {
|
|
1577
|
+
// params?.handleDeleteClick(rowData.id);
|
|
1578
|
+
// } else {
|
|
1579
|
+
setSelectedSolidViewData(rowData);
|
|
1580
|
+
setDeleteEntity(true);
|
|
1581
|
+
// }
|
|
1582
|
+
}}
|
|
1583
|
+
/>
|
|
1584
|
+
)}
|
|
1585
|
+
|
|
1586
|
+
{/* ---------------- CONTEXT MENU ---------------- */}
|
|
1587
|
+
{hasAnyContextMenuActions && detailsBodyTemplate(rowData)}
|
|
1588
|
+
</div>
|
|
1589
|
+
);
|
|
1590
|
+
};
|
|
1591
|
+
|
|
1306
1592
|
// ─── Render ───────────────────────────────────────────────────────────────
|
|
1307
1593
|
|
|
1308
1594
|
return (
|
|
@@ -1474,7 +1760,45 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
1474
1760
|
setSortField(e.sortField);
|
|
1475
1761
|
setSortOrder(e.sortOrder as any);
|
|
1476
1762
|
}}
|
|
1763
|
+
onRowClick={(e) => {
|
|
1764
|
+
const target = e.originalEvent.target as HTMLElement;
|
|
1765
|
+
if (target.closest(".p-checkbox")) return;
|
|
1766
|
+
if (target.closest(".p-c")) return;
|
|
1767
|
+
|
|
1768
|
+
if (e.node.leaf !== true) return;
|
|
1769
|
+
const rowData = e.node.data;
|
|
1770
|
+
|
|
1771
|
+
if (solidTreeViewLayout?.attrs?.disableRowClick === true) return;
|
|
1772
|
+
|
|
1773
|
+
const hasFindPermission = actionsAllowed.includes(
|
|
1774
|
+
permissionExpression(params.modelName, 'findOne')
|
|
1775
|
+
);
|
|
1776
|
+
const hasUpdatePermission =
|
|
1777
|
+
actionsAllowed.includes(permissionExpression(params.modelName, 'update')) &&
|
|
1778
|
+
solidTreeViewLayout?.attrs?.edit !== false;
|
|
1779
|
+
|
|
1780
|
+
if (!(hasFindPermission || hasUpdatePermission)) return;
|
|
1781
|
+
|
|
1782
|
+
// if (params.embeded === true) {
|
|
1783
|
+
// params.handleEditClickForEmbeddedView(rowData?.id);
|
|
1784
|
+
// } else {
|
|
1785
|
+
if (typeof window !== "undefined") {
|
|
1786
|
+
// store a simple marker for the caller
|
|
1787
|
+
|
|
1788
|
+
// also store the full current URL so Back can restore exact state (including action params)
|
|
1789
|
+
try {
|
|
1790
|
+
sessionStorage.setItem("fromView", "list");
|
|
1791
|
+
sessionStorage.setItem("fromViewUrl", window.location.pathname + window.location.search);
|
|
1792
|
+
} catch (e) {
|
|
1793
|
+
// ignore storage errors
|
|
1794
|
+
}
|
|
1795
|
+
}
|
|
1796
|
+
router.push(`${editBaseUrl}/${rowData?.id}?viewMode=view&${new URLSearchParams(editActionQueryParams).toString()}`);
|
|
1797
|
+
// }
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1477
1800
|
onSelectionChange={(e) => {
|
|
1801
|
+
e.originalEvent.stopPropagation();
|
|
1478
1802
|
const incoming = e.value as Record<string, any>;
|
|
1479
1803
|
|
|
1480
1804
|
setSelectedNodeKeys((prev: any) => {
|
|
@@ -1516,8 +1840,13 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
1516
1840
|
body={(node: any) => {
|
|
1517
1841
|
const rowData = node?.data as TreeRowData;
|
|
1518
1842
|
const nodeMeta = rowData?.__treeMeta;
|
|
1519
|
-
if (nodeMeta?.nodeType !== "group") return <span> </span>;
|
|
1520
1843
|
|
|
1844
|
+
// ---------------- NORMAL ROW ----------------
|
|
1845
|
+
if (nodeMeta?.nodeType !== "group") {
|
|
1846
|
+
return renderRowActions(rowData);
|
|
1847
|
+
}
|
|
1848
|
+
|
|
1849
|
+
// ---------------- GROUP ROW ----------------
|
|
1521
1850
|
const nodeKey = String(node.key);
|
|
1522
1851
|
const isExpanded = expandedKeys[nodeKey];
|
|
1523
1852
|
const childrenLoaded = isExpanded && node.children && node.children.length > 0;
|
|
@@ -1585,6 +1914,40 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
1585
1914
|
{/* ── Root-level pagination bar ── */}
|
|
1586
1915
|
<RootPaginationBar />
|
|
1587
1916
|
|
|
1917
|
+
|
|
1918
|
+
|
|
1919
|
+
|
|
1920
|
+
<Dialog
|
|
1921
|
+
header={`Delete ${solidTreeViewMetaData?.data?.solidView?.model?.displayName
|
|
1922
|
+
? solidTreeViewMetaData?.data?.solidView?.model?.displayName
|
|
1923
|
+
: params?.modelName
|
|
1924
|
+
}`}
|
|
1925
|
+
headerClassName="py-2"
|
|
1926
|
+
contentClassName="px-0 pb-0"
|
|
1927
|
+
visible={deleteEntity}
|
|
1928
|
+
style={{ width: "20vw" }}
|
|
1929
|
+
onHide={() => {
|
|
1930
|
+
if (!deleteEntity) return;
|
|
1931
|
+
setDeleteEntity(false);
|
|
1932
|
+
}}
|
|
1933
|
+
className="solid-confirm-dialog"
|
|
1934
|
+
>
|
|
1935
|
+
<Divider className="m-0" />
|
|
1936
|
+
<div className="p-4">
|
|
1937
|
+
<p className="m-0 solid-primary-title" style={{ fontSize: 16 }}>
|
|
1938
|
+
{`Are you sure you want to delete this ${solidTreeViewMetaData?.data?.solidView?.model?.displayName
|
|
1939
|
+
? solidTreeViewMetaData?.data?.solidView?.model?.displayName
|
|
1940
|
+
: params?.modelName
|
|
1941
|
+
}?`}
|
|
1942
|
+
</p>
|
|
1943
|
+
{/* <p className="" style={{ color: 'var{--solid-grey-500}' }}>{selectedSolidViewData?.singularName}</p> */}
|
|
1944
|
+
<div className="flex align-items-center gap-2 mt-3">
|
|
1945
|
+
<Button label="Delete" severity="danger" size="small" onClick={handleDeleteEntity} />
|
|
1946
|
+
<Button label="Cancel" size="small" onClick={() => setDeleteEntity(false)} outlined className='bg-primary-reverse' />
|
|
1947
|
+
</div>
|
|
1948
|
+
</div>
|
|
1949
|
+
</Dialog>
|
|
1950
|
+
|
|
1588
1951
|
{/* ── Delete dialog ── */}
|
|
1589
1952
|
<Dialog
|
|
1590
1953
|
visible={isDeleteRecordsDialogVisible}
|
|
@@ -1630,6 +1993,75 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
|
|
|
1630
1993
|
<p>Are you sure you want to recover all records?</p>
|
|
1631
1994
|
</Dialog>
|
|
1632
1995
|
|
|
1996
|
+
<OverlayPanel
|
|
1997
|
+
ref={op}
|
|
1998
|
+
className="solid-custom-overlay"
|
|
1999
|
+
style={{ top: 10, minWidth: 120 }}
|
|
2000
|
+
>
|
|
2001
|
+
<div className="flex flex-column gap-1 p-1">
|
|
2002
|
+
{hasEditInContextMenu && (
|
|
2003
|
+
<Button
|
|
2004
|
+
type="button"
|
|
2005
|
+
className="w-full text-left gap-1"
|
|
2006
|
+
label="Edit"
|
|
2007
|
+
size="small"
|
|
2008
|
+
iconPos="left"
|
|
2009
|
+
icon={"pi pi-pencil"}
|
|
2010
|
+
onClick={() => {
|
|
2011
|
+
// if (params.embeded == true) {
|
|
2012
|
+
// params.handleEditClickForEmbeddedView(
|
|
2013
|
+
// selectedDataRef.current?.id
|
|
2014
|
+
// );
|
|
2015
|
+
// } else {
|
|
2016
|
+
try {
|
|
2017
|
+
sessionStorage.setItem("fromView", "list");
|
|
2018
|
+
sessionStorage.setItem("fromViewUrl", window.location.pathname + window.location.search);
|
|
2019
|
+
} catch (e) { }
|
|
2020
|
+
router.push(
|
|
2021
|
+
`${editBaseUrl}/${selectedDataRef.current?.id}?viewMode=edit&${new URLSearchParams(editActionQueryParams).toString()}`
|
|
2022
|
+
);
|
|
2023
|
+
// }
|
|
2024
|
+
}}
|
|
2025
|
+
/>
|
|
2026
|
+
)}
|
|
2027
|
+
|
|
2028
|
+
{hasDeleteInContextMenu && !params.embeded && (
|
|
2029
|
+
<Button
|
|
2030
|
+
text
|
|
2031
|
+
type="button"
|
|
2032
|
+
className="w-full text-left gap-1"
|
|
2033
|
+
label="Delete"
|
|
2034
|
+
size="small"
|
|
2035
|
+
iconPos="left"
|
|
2036
|
+
severity="danger"
|
|
2037
|
+
icon={"pi pi-trash"}
|
|
2038
|
+
onClick={() => setDeleteEntity(true)}
|
|
2039
|
+
/>
|
|
2040
|
+
)}
|
|
2041
|
+
{hasCustomContextMenuButtons && solidTreeViewLayout?.attrs?.rowButtons
|
|
2042
|
+
?.filter(
|
|
2043
|
+
(rb: any) =>
|
|
2044
|
+
rb?.attrs?.actionInContextMenu === true &&
|
|
2045
|
+
rb?.attrs?.visible !== false
|
|
2046
|
+
)
|
|
2047
|
+
.map((button: any, index: number) => (
|
|
2048
|
+
<SolidListViewRowButtonContextMenu
|
|
2049
|
+
key={`${index}-${selectedDataRef?.current?.id || ''}`}
|
|
2050
|
+
button={button}
|
|
2051
|
+
params={params}
|
|
2052
|
+
getSelectedSolidViewData={() => selectedDataRef.current}
|
|
2053
|
+
// selectedSolidViewData={selectedSolidViewData}
|
|
2054
|
+
solidListViewMetaData={
|
|
2055
|
+
solidTreeViewMetaData
|
|
2056
|
+
}
|
|
2057
|
+
handleCustomButtonClick={
|
|
2058
|
+
handleCustomButtonClick
|
|
2059
|
+
}
|
|
2060
|
+
/>
|
|
2061
|
+
))}
|
|
2062
|
+
</div>
|
|
2063
|
+
</OverlayPanel>
|
|
2064
|
+
|
|
1633
2065
|
</div>
|
|
1634
2066
|
);
|
|
1635
2067
|
});
|
|
@@ -76,6 +76,8 @@ export declare const ERROR_MESSAGES: {
|
|
|
76
76
|
PROFILE_SAVED: string;
|
|
77
77
|
PROFILE_SAVED_SUCCESSFULLY: string;
|
|
78
78
|
NO_UPDATE_MADE: string;
|
|
79
|
+
DASHBOARD_LAYOUT_UPDATE_SUCCESSFULLY: string;
|
|
80
|
+
DASHBOARD_LAYOUT_UPDATE_FAILED: string;
|
|
79
81
|
INTERATCTION_MESSGAE: (message: string, err: any) => string;
|
|
80
82
|
APPLY_FAILED: string;
|
|
81
83
|
APPLY_SUCCESS: string;
|
|
@@ -98,6 +100,7 @@ export declare const ERROR_MESSAGES: {
|
|
|
98
100
|
NETWORK_ERROR: string;
|
|
99
101
|
NETWORK_OR_SERVER_ERROR: string;
|
|
100
102
|
DELETE_ERROR: string;
|
|
103
|
+
FORBIDDEN_ERROR: string;
|
|
101
104
|
IMPORT_ERROR: string;
|
|
102
105
|
EXPORT_SUCCESSFULLY: string;
|
|
103
106
|
SEND_REPORT: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-messages.d.ts","sourceRoot":"","sources":["../../src/constants/error-messages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;4BAyBD,MAAM;;;;;;;;+BAaH,MAAM;;;;;;;;;;;;;;;2CAkBM,MAAM;;;;;;;;;;0CAaP,MAAM,aAAa,MAAM;;;;;;mCAOhC,MAAM
|
|
1
|
+
{"version":3,"file":"error-messages.d.ts","sourceRoot":"","sources":["../../src/constants/error-messages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;4BAyBD,MAAM;;;;;;;;+BAaH,MAAM;;;;;;;;;;;;;;;2CAkBM,MAAM;;;;;;;;;;0CAaP,MAAM,aAAa,MAAM;;;;;;mCAOhC,MAAM;;;;;;;;;;;;;;;;;;;;;;oCA8BL,MAAM,OAAO,GAAG;;;;sCAKd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAsCd,MAAM;;;;;;;;;;;;gDAaY,MAAM;;;;4BAY1B,MAAM;kCACA,MAAM;2BACb,MAAM;+BACF,MAAM;gCACL,MAAM;8BACR,MAAM;+BACL,MAAM,UAAU,MAAM;8BAEvB,MAAM,QAAQ,MAAM;;;;gCAOlB,MAAM;gCAEN,MAAM;qCAID,MAAM,cAAc,MAAM;qCAE1B,MAAM,cAAc,MAAM;2BAIpC,MAAM;;;0BAMP,MAAM;uCACO,MAAM;iCAIZ,MAAM;;;+CAIQ,MAAM;kCAInB,MAAM;gCAER,MAAM;wCAEE,MAAM;;;;;;uBAYvB,MAAM;CAK1B,CAAC"}
|
|
@@ -94,6 +94,8 @@ export var ERROR_MESSAGES = {
|
|
|
94
94
|
PROFILE_SAVED: 'Profile Saved',
|
|
95
95
|
PROFILE_SAVED_SUCCESSFULLY: 'Profile saved successfully!',
|
|
96
96
|
NO_UPDATE_MADE: 'No updates were made',
|
|
97
|
+
DASHBOARD_LAYOUT_UPDATE_SUCCESSFULLY: 'Dashboard Layout Updated successfully!',
|
|
98
|
+
DASHBOARD_LAYOUT_UPDATE_FAILED: 'Failed to update dashboard layout!',
|
|
97
99
|
/* ------------------------------ INTERACTIONS ------------------------------ */
|
|
98
100
|
INTERATCTION_MESSGAE: function (message, err) {
|
|
99
101
|
return "Error handling interaction.message: ".concat(message || String(err));
|
|
@@ -123,6 +125,7 @@ export var ERROR_MESSAGES = {
|
|
|
123
125
|
NETWORK_ERROR: 'Network error occurred. Please try again',
|
|
124
126
|
NETWORK_OR_SERVER_ERROR: 'Network or server error occurred',
|
|
125
127
|
DELETE_ERROR: 'Delete error',
|
|
128
|
+
FORBIDDEN_ERROR: 'You do not have permission to perform this action.',
|
|
126
129
|
/* ----------------------------- IMPORT / EXPORT ----------------------------- */
|
|
127
130
|
IMPORT_ERROR: 'Import Error',
|
|
128
131
|
EXPORT_SUCCESSFULLY: 'File Exported Successfully',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-messages.js","sourceRoot":"","sources":["../../src/constants/error-messages.ts"],"names":[],"mappings":"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","sourcesContent":["export const ERROR_MESSAGES = {\n\n /* ----------------------------- AUTHENTICATION ----------------------------- */\n NO_AUTH_TOKEN_FOUND: 'No auth token found',\n AUTHENICATION__FAILED: 'Authentication failed',\n INVALID_CREDENTIALS: 'Invalid Credentials',\n SESSION_EXPIRED: 'Session Expired. Please Login Again',\n FAILED_REFRESH_TOKEN: 'Failed to refresh access token: ',\n LOGIN_ERROR: 'Login Error',\n LOGIN_SUCCESS: 'Login Success',\n PLEASE_WAIT: \"Please wait\",\n SOMETHING_WRONG: 'Something Went Wrong !',\n LOGOUT_FAILED: 'Logout Failed !',\n LOGIN_SUCCESSFULLY : 'Login Successfully',\n\n /* -------------------------------- PASSWORD -------------------------------- */\n FAILED_TO_UPDATE_PASSWORD: 'Failed to update password',\n INVALID_PASSWORD_REGX: 'Invalid password regex in .env:',\n INCORRECT_CURRENT: \"Incorrect Current Password\",\n MUST_MATCH: \"Passwords must match\",\n FORCE_PASSWORD_CHANGE: \"Force Password Change Success\",\n PASSWORD_CHANGE: 'Password Change Successfully',\n\n /* ---------------------------------- OTP ----------------------------------- */\n INAVLID_OTP: \"Invalid OTP\",\n OPT_FORMAT: (formatted: string) =>\n `You can request a new OTP in ${formatted} second(s)`,\n\n /* ---------------------------- AUTH / DASHBOARD ----------------------------- */\n DASHBOARD_REDIRECTING: \"Redirecting to dashboard.\",\n\n /* ------------------------------- FILE ERRORS ------------------------------- */\n FILE_DOWNLOAD_FAILED: 'File download failed',\n FAILED_TO_DOWNLOAD: 'Failed to download',\n FAILED_TO_FETCH_FILE: 'Failed to fetch file',\n DOWNLOAD_FAILED: 'Download failed',\n FILE_LARGE: 'File too large',\n MAX_FILE_SIZE: 'Maximum file size is 2MB',\n FILE_TOO_LAREG: (fileSize: string) =>\n `File is too large. Max size is ${fileSize} KB.`,\n FILE_NOT_ACCEPT: 'File not accepted',\n FAILED_UPLOAD_FILE: 'Fail to upload file',\n MISSING_FILE: 'Missing File',\n ERROR_DELETING_FILE: 'Error deleting file:',\n FAILED_DELETED_IMAGE: 'Failed to delete image',\n PROFILE_PICTURE_REMOVE: \"Profile picture removed\",\n FILE_UPLOAD: 'File Uploaded',\n FILE_UPLOAD_SUCCESSFULLY: 'File Uploaded Successfully',\n\n /* ------------------------------- USER / ENTITY ------------------------------ */\n NO_ENTITY_SELECTED: 'No entity selected',\n FAILED_UPDATED_PROFILE: 'Failed to update profile',\n ENTITY_FAILED: 'Failed to create Entity:',\n ENTITY_DELETE: 'Entity deleted successfully',\n RECORD_DELETE: 'Records deleted successfully',\n MODEL_DELETE: 'Model Deleted',\n MODEL_DELETE_SUCCESSFULLY: (modelName: string) =>\n `Model ${modelName} has been deleted successfully`,\n DELETE_FAIELD: \"Delete Failed\",\n EMAIL_ALREADY_TAKEN: 'Email is already taken,',\n UPDATED: 'Updated',\n SETTING_UPDATED: 'Settings updated',\n USER_REGISTER : 'User Registered',\n NO_CHANGE : 'No Change',\n NO_SETTING_UPDATE : 'No settings were updated',\n UPDATING_USER : 'Error updating user view:',\n\n /* ---------------------------- RELATION & FILTER ---------------------------- */\n INVALID_FILTER_STRUCTURE: 'Invalid filter structure',\n INVALID_RELATION_TYPE: (relationType: string, fieldName: string) =>\n `Invalid relationType ${relationType} on field ${fieldName}`,\n INVALID_JSON_WHERECLAUSE: 'Invalid whereClause JSON:',\n FIXED_FILTER_NOT_APPLIED: 'Fixed filter not applied due to parsing issues or invalid data',\n SELECT_RELEVANT_FIELD: 'Please select relevant fields used in fixed filter',\n SKIPPING_EMPTY_FIXED_FILTER: 'Skipping invalid/empty fixed filter : ',\n FIELD_NOT_SELECT: 'Fields Not selected!',\n FIELD_NOT_IN_METADATA: (label: string) =>\n `${label} is not present in metadata`,\n SAVE_FILTER_UNDEFINED_NULL: 'Saved filter ID is undefined or null',\n\n /* -------------------------------- FORM / UI -------------------------------- */\n FAILED_UPDATE_FROM: \"Failed to update the form\",\n UPDATING_STEPPER: 'Error updating stepper : ',\n DYNAMIC_FUNCTION_ERROR: 'Error in DynamicFunctionComponent : ',\n ON_FORM_LOAD: 'Error in onFormLoad handler:',\n UNABLE_LOAD_DYNAMIC_MODULE: 'Unable to load dynamic module: ',\n LOADING_COMPONENT: 'Error loading component',\n FORM_LAYOUT_UPDATE : 'Form Layout Updated successfully!',\n LAYOUT : 'Layout',\n MARK_PUBLISH : 'Marked as publish !',\n MARK_UNPUBLISH : 'Marked as unpublish !',\n SAVED : 'Saved',\n FORM_UPDATE : 'Form Updated',\n FORM_UPDATE_SUCCESSFULLY : 'Form updated successfully!',\n FORM_SAVED : 'Form Saved',\n FORM_SAVED_SUCCESSFULLY : 'Form saved successfully!',\n PROFILE_SAVED : 'Profile Saved',\n PROFILE_SAVED_SUCCESSFULLY : 'Profile saved successfully!',\n NO_UPDATE_MADE :'No updates were made',\n \n\n\n /* ------------------------------ INTERACTIONS ------------------------------ */\n INTERATCTION_MESSGAE: (message: string, err: any) =>\n `Error handling interaction.message: ${message || String(err)}`,\n APPLY_FAILED: 'Apply Failed',\n APPLY_SUCCESS: 'Apply Successful',\n PREVIEW_INTERACTION: 'Preview clicked for interaction:',\n FAILED_APPLY_INTERACTION: (error: string) =>\n `Failed to apply interaction - ${error}`,\n\n /* --------------------------- PROCESS / BACKEND ---------------------------- */\n BACKEND_UNAVAILABLE: 'Backend Unavailable',\n SEEDER_NOT_TRIGGERED: 'Seeder not triggered. Could not reach backend',\n IS_SEEDER_ERROR: 'isSeederError',\n IS_SEEDER_SUCCESS: 'isSeederSuccess',\n SEEDER_ERROR: 'Seeder Error',\n SEEDER_NOT_RUN: 'Could not run seeder. Please try again',\n BACKEND_NOT_ALIVE: 'Backend is not alive, cannot run seeder',\n FAILED_TRIGGER_MCP_CLIENT_JOB: 'Failed to trigger MCP client job',\n\n /* --------------------------------- NETWORK --------------------------------- */\n API_ERROR: 'API error: ',\n ERROR_OCCURED: \"An error occurred\",\n FETCHING_MESSAGE: 'Error fetching messages:',\n FETCHING_USER: 'Error fetching users:',\n FETCHING_ITEMS: 'Error fetching items',\n LOAD_MORE_DATA: 'Failed to load more data:',\n NETWORK_ERROR: 'Network error occurred. Please try again',\n NETWORK_OR_SERVER_ERROR: 'Network or server error occurred',\n DELETE_ERROR: 'Delete error',\n\n /* ----------------------------- IMPORT / EXPORT ----------------------------- */\n IMPORT_ERROR: 'Import Error',\n EXPORT_SUCCESSFULLY: 'File Exported Successfully',\n SEND_REPORT: 'Can you send me the report?',\n\n /* ----------------------------------- MISC ---------------------------------- */\n ERROR: 'Error',\n FAILED: 'Failed',\n IS_SUCCESS: 'Success',\n DELETED: 'Deleted',\n UPDATE_FAILED: 'Update failed',\n FAILED_CREATE_MENU: 'Failed to create menu',\n ORM_TYPE_REQUIRED: 'Orm Type is required!',\n ACTION_FUNCTION: (action: string) =>\n `Action function \"${action}\" not found.`,\n DUPLICATE_KEY: \"Duplicate Key\",\n ERROR_DECODING: 'Error decoding or parsing query string from local storage:',\n CREATE_MODEL: 'Failed to create Model',\n TEMPLATE_FAILED: 'Failed to create template',\n SELECT_FROMAT: 'Please Select Format',\n PARSED_FIELD: 'Failed to parse fields:',\n CODE_GENERTAE_SUCCESSFULLY: 'Code Generated Successfully',\n RESPONSE_GENERATE_CODE_HANDLER: \"response generate code handler\",\n KANBAN_UPDATED: \"Kanban View Updated!\",\n TRY_AGAIN: 'Please try again later',\n REMOVE_ROOT_NODE: \"Cannot remove the root node\",\n ATTEMPT_FETCH_MESSAGE_STATUS: (queryString: string) =>\n `Attempting to fetch mq message status with query string: ${queryString}`,\n FAILED_FETCH_MESSAGE: \"Failed to fetch MQ message status:\",\n FAILED_CREATE_INVOICE: \"Failed to create Invoice:\",\n\n /* ----------------------------------- CRUD ---------------------------------- */\n ADD_ATLEAST_ONE_FIELD: \"Please add at least one field\",\n\n\n /* ----------------------------------- Validation ---------------------------------- */\n\n // -------------------- REQUIRED / BASIC FIELD ERRORS --------------------\n FIELD_REUQIRED: (field: string) => `${field} is required`,\n FIELD_INAVLID_FORMAT: (field: string) => `Invalid ${field} format`,\n FIELD_INVALID: (field: string) => `Invalid ${field}`,\n ENTER_VALID_FIELD: (field: string) => `Please enter a valid ${field}.`,\n FIELD_INVALID_DATA: (field: string) => `${field} has invalid data.`,\n FIELD_MUST_MATCH: (field: string) => `${field}s must match.`,\n FIELD_ALREADY_USE: (field: string, field1: string) =>\n `${field} Already in use. Please choose a different ${field1}.`,\n FIELD_MUST_BE_AN: (field: string, type: string) =>\n `${field} must be an ${type}\"`,\n REQUIRED_REALTION: 'required-relation',\n VALIDATE_SELECTION: 'valid-selection',\n\n // -------------------- PASSWORD VALIDATION --------------------\n PASSWORD_DO_NOT_MEET: 'Password does not meet complexity requirements',\n PASSWORD_CHARACTER: (count: Number) =>\n `Password must be at least ${count} characters`,\n PASSWORD_CONTAIN: (contain: string, type = 'letter') =>\n `Password must contain at least one ${contain} ${type}`,\n\n // -------------------- LENGTH VALIDATION --------------------\n FIELD_MINIMUM_CHARACTER: (field: string, characters: Number) =>\n `${field} should be at-least ${characters} characters long.`,\n FIELD_MAXIMUM_CHARACTER: (field: string, characters: Number) =>\n `${field} should not be more than ${characters} characters long.`,\n\n // -------------------- OTP --------------------\n OTP_CHARACTER: (count: Number) =>\n `OTP must be a ${count}-digit number`,\n OPT_RESEND : 'OTP Resent Successfully',\n OPT_SEND : 'OTP Sent Successfully',\n\n // -------------------- UPDATE MESSAGES --------------------\n FIELD_UPDATE: (field: string) => `${field} Updated`,\n FIELD_UPDATE_SUCCESSFULLY: (field: string) =>\n `${field} Updated Successfully`,\n\n // -------------------- FILE / OBJECT VALIDATION --------------------\n MUST_BE_FILE_OBJECT: (field: string) =>\n `${field} must be a file, an object, or empty`,\n FILE_OBJECT: 'file-or-object',\n EMPTY_VALID_ARRAY: 'is-empty-or-valid-array',\n CONTAIN_EMPTY_ARRAY_OR_FILE_OBECT: (field: string) =>\n `${field} must be an empty array or contain only files/objects.`,\n\n // -------------------- SELECTION VALIDATION --------------------\n FIELD_MUST_HAVE_ITEM: (field: string) =>\n `${field} must have at least one item.`,\n SELECT_ATLEAST_ONE: (field: string) =>\n `You must select at least one ${field}.`,\n SELECT_VALID_FROM_DROPDOWN: (field: string) =>\n `Please select a valid ${field} from the dropdown.`,\n SELECT_ONE_OPERATION: 'Select at least one operation',\n\n // -------------------- JSON VALIDATION --------------------\n IS_VALID_JSON: 'is-valid-json',\n COMPUTED_FIELD_VALIDATE_JSON:\n 'Computed Field Value Provider Context Value must be valid JSON',\n\n // -------------------- OTHER RULES --------------------\n GREATER_THAN_MIN: 'greater-than-min',\n RELATION_CASCADE: 'Relation Cascade Value is required for one-to-one relationships',\n SNAKE_CASE: (name: string) =>\n `${name} name must be in snake_case (lowercase letters, numbers, and underscores only).`,\n\n\n\n};\n"]}
|
|
1
|
+
{"version":3,"file":"error-messages.js","sourceRoot":"","sources":["../../src/constants/error-messages.ts"],"names":[],"mappings":"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","sourcesContent":["export const ERROR_MESSAGES = {\n\n /* ----------------------------- AUTHENTICATION ----------------------------- */\n NO_AUTH_TOKEN_FOUND: 'No auth token found',\n AUTHENICATION__FAILED: 'Authentication failed',\n INVALID_CREDENTIALS: 'Invalid Credentials',\n SESSION_EXPIRED: 'Session Expired. Please Login Again',\n FAILED_REFRESH_TOKEN: 'Failed to refresh access token: ',\n LOGIN_ERROR: 'Login Error',\n LOGIN_SUCCESS: 'Login Success',\n PLEASE_WAIT: \"Please wait\",\n SOMETHING_WRONG: 'Something Went Wrong !',\n LOGOUT_FAILED: 'Logout Failed !',\n LOGIN_SUCCESSFULLY: 'Login Successfully',\n\n /* -------------------------------- PASSWORD -------------------------------- */\n FAILED_TO_UPDATE_PASSWORD: 'Failed to update password',\n INVALID_PASSWORD_REGX: 'Invalid password regex in .env:',\n INCORRECT_CURRENT: \"Incorrect Current Password\",\n MUST_MATCH: \"Passwords must match\",\n FORCE_PASSWORD_CHANGE: \"Force Password Change Success\",\n PASSWORD_CHANGE: 'Password Change Successfully',\n\n /* ---------------------------------- OTP ----------------------------------- */\n INAVLID_OTP: \"Invalid OTP\",\n OPT_FORMAT: (formatted: string) =>\n `You can request a new OTP in ${formatted} second(s)`,\n\n /* ---------------------------- AUTH / DASHBOARD ----------------------------- */\n DASHBOARD_REDIRECTING: \"Redirecting to dashboard.\",\n\n /* ------------------------------- FILE ERRORS ------------------------------- */\n FILE_DOWNLOAD_FAILED: 'File download failed',\n FAILED_TO_DOWNLOAD: 'Failed to download',\n FAILED_TO_FETCH_FILE: 'Failed to fetch file',\n DOWNLOAD_FAILED: 'Download failed',\n FILE_LARGE: 'File too large',\n MAX_FILE_SIZE: 'Maximum file size is 2MB',\n FILE_TOO_LAREG: (fileSize: string) =>\n `File is too large. Max size is ${fileSize} KB.`,\n FILE_NOT_ACCEPT: 'File not accepted',\n FAILED_UPLOAD_FILE: 'Fail to upload file',\n MISSING_FILE: 'Missing File',\n ERROR_DELETING_FILE: 'Error deleting file:',\n FAILED_DELETED_IMAGE: 'Failed to delete image',\n PROFILE_PICTURE_REMOVE: \"Profile picture removed\",\n FILE_UPLOAD: 'File Uploaded',\n FILE_UPLOAD_SUCCESSFULLY: 'File Uploaded Successfully',\n\n /* ------------------------------- USER / ENTITY ------------------------------ */\n NO_ENTITY_SELECTED: 'No entity selected',\n FAILED_UPDATED_PROFILE: 'Failed to update profile',\n ENTITY_FAILED: 'Failed to create Entity:',\n ENTITY_DELETE: 'Entity deleted successfully',\n RECORD_DELETE: 'Records deleted successfully',\n MODEL_DELETE: 'Model Deleted',\n MODEL_DELETE_SUCCESSFULLY: (modelName: string) =>\n `Model ${modelName} has been deleted successfully`,\n DELETE_FAIELD: \"Delete Failed\",\n EMAIL_ALREADY_TAKEN: 'Email is already taken,',\n UPDATED: 'Updated',\n SETTING_UPDATED: 'Settings updated',\n USER_REGISTER: 'User Registered',\n NO_CHANGE: 'No Change',\n NO_SETTING_UPDATE: 'No settings were updated',\n UPDATING_USER: 'Error updating user view:',\n\n /* ---------------------------- RELATION & FILTER ---------------------------- */\n INVALID_FILTER_STRUCTURE: 'Invalid filter structure',\n INVALID_RELATION_TYPE: (relationType: string, fieldName: string) =>\n `Invalid relationType ${relationType} on field ${fieldName}`,\n INVALID_JSON_WHERECLAUSE: 'Invalid whereClause JSON:',\n FIXED_FILTER_NOT_APPLIED: 'Fixed filter not applied due to parsing issues or invalid data',\n SELECT_RELEVANT_FIELD: 'Please select relevant fields used in fixed filter',\n SKIPPING_EMPTY_FIXED_FILTER: 'Skipping invalid/empty fixed filter : ',\n FIELD_NOT_SELECT: 'Fields Not selected!',\n FIELD_NOT_IN_METADATA: (label: string) =>\n `${label} is not present in metadata`,\n SAVE_FILTER_UNDEFINED_NULL: 'Saved filter ID is undefined or null',\n\n /* -------------------------------- FORM / UI -------------------------------- */\n FAILED_UPDATE_FROM: \"Failed to update the form\",\n UPDATING_STEPPER: 'Error updating stepper : ',\n DYNAMIC_FUNCTION_ERROR: 'Error in DynamicFunctionComponent : ',\n ON_FORM_LOAD: 'Error in onFormLoad handler:',\n UNABLE_LOAD_DYNAMIC_MODULE: 'Unable to load dynamic module: ',\n LOADING_COMPONENT: 'Error loading component',\n FORM_LAYOUT_UPDATE: 'Form Layout Updated successfully!',\n LAYOUT: 'Layout',\n MARK_PUBLISH: 'Marked as publish !',\n MARK_UNPUBLISH: 'Marked as unpublish !',\n SAVED: 'Saved',\n FORM_UPDATE: 'Form Updated',\n FORM_UPDATE_SUCCESSFULLY: 'Form updated successfully!',\n FORM_SAVED: 'Form Saved',\n FORM_SAVED_SUCCESSFULLY: 'Form saved successfully!',\n PROFILE_SAVED: 'Profile Saved',\n PROFILE_SAVED_SUCCESSFULLY: 'Profile saved successfully!',\n NO_UPDATE_MADE: 'No updates were made',\n DASHBOARD_LAYOUT_UPDATE_SUCCESSFULLY: 'Dashboard Layout Updated successfully!',\n DASHBOARD_LAYOUT_UPDATE_FAILED: 'Failed to update dashboard layout!',\n\n\n\n\n /* ------------------------------ INTERACTIONS ------------------------------ */\n INTERATCTION_MESSGAE: (message: string, err: any) =>\n `Error handling interaction.message: ${message || String(err)}`,\n APPLY_FAILED: 'Apply Failed',\n APPLY_SUCCESS: 'Apply Successful',\n PREVIEW_INTERACTION: 'Preview clicked for interaction:',\n FAILED_APPLY_INTERACTION: (error: string) =>\n `Failed to apply interaction - ${error}`,\n\n /* --------------------------- PROCESS / BACKEND ---------------------------- */\n BACKEND_UNAVAILABLE: 'Backend Unavailable',\n SEEDER_NOT_TRIGGERED: 'Seeder not triggered. Could not reach backend',\n IS_SEEDER_ERROR: 'isSeederError',\n IS_SEEDER_SUCCESS: 'isSeederSuccess',\n SEEDER_ERROR: 'Seeder Error',\n SEEDER_NOT_RUN: 'Could not run seeder. Please try again',\n BACKEND_NOT_ALIVE: 'Backend is not alive, cannot run seeder',\n FAILED_TRIGGER_MCP_CLIENT_JOB: 'Failed to trigger MCP client job',\n\n /* --------------------------------- NETWORK --------------------------------- */\n API_ERROR: 'API error: ',\n ERROR_OCCURED: \"An error occurred\",\n FETCHING_MESSAGE: 'Error fetching messages:',\n FETCHING_USER: 'Error fetching users:',\n FETCHING_ITEMS: 'Error fetching items',\n LOAD_MORE_DATA: 'Failed to load more data:',\n NETWORK_ERROR: 'Network error occurred. Please try again',\n NETWORK_OR_SERVER_ERROR: 'Network or server error occurred',\n DELETE_ERROR: 'Delete error',\n FORBIDDEN_ERROR: 'You do not have permission to perform this action.',\n\n /* ----------------------------- IMPORT / EXPORT ----------------------------- */\n IMPORT_ERROR: 'Import Error',\n EXPORT_SUCCESSFULLY: 'File Exported Successfully',\n SEND_REPORT: 'Can you send me the report?',\n\n /* ----------------------------------- MISC ---------------------------------- */\n ERROR: 'Error',\n FAILED: 'Failed',\n IS_SUCCESS: 'Success',\n DELETED: 'Deleted',\n UPDATE_FAILED: 'Update failed',\n FAILED_CREATE_MENU: 'Failed to create menu',\n ORM_TYPE_REQUIRED: 'Orm Type is required!',\n ACTION_FUNCTION: (action: string) =>\n `Action function \"${action}\" not found.`,\n DUPLICATE_KEY: \"Duplicate Key\",\n ERROR_DECODING: 'Error decoding or parsing query string from local storage:',\n CREATE_MODEL: 'Failed to create Model',\n TEMPLATE_FAILED: 'Failed to create template',\n SELECT_FROMAT: 'Please Select Format',\n PARSED_FIELD: 'Failed to parse fields:',\n CODE_GENERTAE_SUCCESSFULLY: 'Code Generated Successfully',\n RESPONSE_GENERATE_CODE_HANDLER: \"response generate code handler\",\n KANBAN_UPDATED: \"Kanban View Updated!\",\n TRY_AGAIN: 'Please try again later',\n REMOVE_ROOT_NODE: \"Cannot remove the root node\",\n ATTEMPT_FETCH_MESSAGE_STATUS: (queryString: string) =>\n `Attempting to fetch mq message status with query string: ${queryString}`,\n FAILED_FETCH_MESSAGE: \"Failed to fetch MQ message status:\",\n FAILED_CREATE_INVOICE: \"Failed to create Invoice:\",\n\n /* ----------------------------------- CRUD ---------------------------------- */\n ADD_ATLEAST_ONE_FIELD: \"Please add at least one field\",\n\n\n /* ----------------------------------- Validation ---------------------------------- */\n\n // -------------------- REQUIRED / BASIC FIELD ERRORS --------------------\n FIELD_REUQIRED: (field: string) => `${field} is required`,\n FIELD_INAVLID_FORMAT: (field: string) => `Invalid ${field} format`,\n FIELD_INVALID: (field: string) => `Invalid ${field}`,\n ENTER_VALID_FIELD: (field: string) => `Please enter a valid ${field}.`,\n FIELD_INVALID_DATA: (field: string) => `${field} has invalid data.`,\n FIELD_MUST_MATCH: (field: string) => `${field}s must match.`,\n FIELD_ALREADY_USE: (field: string, field1: string) =>\n `${field} Already in use. Please choose a different ${field1}.`,\n FIELD_MUST_BE_AN: (field: string, type: string) =>\n `${field} must be an ${type}\"`,\n REQUIRED_REALTION: 'required-relation',\n VALIDATE_SELECTION: 'valid-selection',\n\n // -------------------- PASSWORD VALIDATION --------------------\n PASSWORD_DO_NOT_MEET: 'Password does not meet complexity requirements',\n PASSWORD_CHARACTER: (count: Number) =>\n `Password must be at least ${count} characters`,\n PASSWORD_CONTAIN: (contain: string, type = 'letter') =>\n `Password must contain at least one ${contain} ${type}`,\n\n // -------------------- LENGTH VALIDATION --------------------\n FIELD_MINIMUM_CHARACTER: (field: string, characters: Number) =>\n `${field} should be at-least ${characters} characters long.`,\n FIELD_MAXIMUM_CHARACTER: (field: string, characters: Number) =>\n `${field} should not be more than ${characters} characters long.`,\n\n // -------------------- OTP --------------------\n OTP_CHARACTER: (count: Number) =>\n `OTP must be a ${count}-digit number`,\n OPT_RESEND: 'OTP Resent Successfully',\n OPT_SEND: 'OTP Sent Successfully',\n\n // -------------------- UPDATE MESSAGES --------------------\n FIELD_UPDATE: (field: string) => `${field} Updated`,\n FIELD_UPDATE_SUCCESSFULLY: (field: string) =>\n `${field} Updated Successfully`,\n\n // -------------------- FILE / OBJECT VALIDATION --------------------\n MUST_BE_FILE_OBJECT: (field: string) =>\n `${field} must be a file, an object, or empty`,\n FILE_OBJECT: 'file-or-object',\n EMPTY_VALID_ARRAY: 'is-empty-or-valid-array',\n CONTAIN_EMPTY_ARRAY_OR_FILE_OBECT: (field: string) =>\n `${field} must be an empty array or contain only files/objects.`,\n\n // -------------------- SELECTION VALIDATION --------------------\n FIELD_MUST_HAVE_ITEM: (field: string) =>\n `${field} must have at least one item.`,\n SELECT_ATLEAST_ONE: (field: string) =>\n `You must select at least one ${field}.`,\n SELECT_VALID_FROM_DROPDOWN: (field: string) =>\n `Please select a valid ${field} from the dropdown.`,\n SELECT_ONE_OPERATION: 'Select at least one operation',\n\n // -------------------- JSON VALIDATION --------------------\n IS_VALID_JSON: 'is-valid-json',\n COMPUTED_FIELD_VALIDATE_JSON:\n 'Computed Field Value Provider Context Value must be valid JSON',\n\n // -------------------- OTHER RULES --------------------\n GREATER_THAN_MIN: 'greater-than-min',\n RELATION_CASCADE: 'Relation Cascade Value is required for one-to-one relationships',\n SNAKE_CASE: (name: string) =>\n `${name} name must be in snake_case (lowercase letters, numbers, and underscores only).`,\n\n\n\n};\n"]}
|