@solidxai/core-ui 0.1.16-beta.1 → 0.1.17-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +15 -14
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +35 -34
  5. package/dist/components/common/SettingsComponent.module.css +89 -0
  6. package/dist/components/common/SolidAdmin.js +2 -2
  7. package/dist/components/common/SolidAdmin.js.map +1 -1
  8. package/dist/components/common/SolidAdmin.tsx +2 -2
  9. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +1 -1
  10. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  11. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +2 -2
  12. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  13. package/dist/components/core/card/CardItem.js +1 -1
  14. package/dist/components/core/card/CardItem.js.map +1 -1
  15. package/dist/components/core/card/CardItem.tsx +4 -1
  16. package/dist/components/core/card/SolidCardView.js +1 -1
  17. package/dist/components/core/card/SolidCardView.js.map +1 -1
  18. package/dist/components/core/card/SolidCardView.tsx +1 -1
  19. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  20. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  21. package/dist/components/core/card/SolidCardViewConfigure.tsx +1 -1
  22. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  23. package/dist/components/core/kanban/KanbanCard.js +2 -2
  24. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  25. package/dist/components/core/kanban/KanbanCard.tsx +5 -2
  26. package/dist/components/core/kanban/SolidKanbanView.js +1 -1
  27. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  28. package/dist/components/core/kanban/SolidKanbanView.tsx +1 -1
  29. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  30. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  31. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +1 -1
  32. package/dist/components/core/list/SolidListView.js +6 -6
  33. package/dist/components/core/list/SolidListView.js.map +1 -1
  34. package/dist/components/core/list/SolidListView.tsx +4 -4
  35. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  36. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  37. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  38. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  39. package/dist/components/core/locales/SolidLocale.js +1 -1
  40. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  41. package/dist/components/core/locales/SolidLocale.tsx +1 -0
  42. package/dist/components/core/locales/solid-locale.css +9 -0
  43. package/dist/components/core/model/FieldMetaData.js +1 -1
  44. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  45. package/dist/components/core/model/FieldMetaData.tsx +1 -1
  46. package/dist/components/core/model/FieldMetaDataForm.css +60 -0
  47. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  48. package/dist/components/core/model/FieldMetaDataForm.js +47 -36
  49. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  50. package/dist/components/core/model/FieldMetaDataForm.tsx +59 -40
  51. package/dist/components/core/model/ModelMetaData.js +1 -1
  52. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  53. package/dist/components/core/model/ModelMetaData.tsx +1 -1
  54. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  55. package/dist/components/core/module/CreateModule.js +34 -21
  56. package/dist/components/core/module/CreateModule.js.map +1 -1
  57. package/dist/components/core/module/CreateModule.tsx +59 -21
  58. package/dist/components/core/module/ModuleMetadataExplorer.css +72 -2
  59. package/dist/components/core/tree/SolidTreeView.js +2 -2
  60. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  61. package/dist/components/core/tree/SolidTreeView.tsx +2 -2
  62. package/dist/components/core/users/CreateUserRole.js +1 -1
  63. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  64. package/dist/components/core/users/CreateUserRole.tsx +1 -1
  65. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  66. package/dist/components/layout/AdminTopHeader.js +2 -1
  67. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  68. package/dist/components/layout/AdminTopHeader.tsx +2 -1
  69. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  70. package/dist/components/layout/AppSidebar.js +16 -1
  71. package/dist/components/layout/AppSidebar.js.map +1 -1
  72. package/dist/components/layout/AppSidebar.tsx +37 -9
  73. package/dist/resources/images/solidx-logo/solidx-logo-dark.png +0 -0
  74. package/dist/resources/images/solidx-logo/solidx-logo-light.png +0 -0
  75. package/dist/resources/solid-custom.css +67 -40
  76. package/dist/resources/solid-tailwind-generated.css +1 -1
  77. package/dist/resources/themes/solid-dark-enterprise/theme.css +2 -2
  78. package/dist/resources/themes/solid-dark-modern/theme.css +2 -2
  79. package/dist/resources/themes/solid-light-enterprise/theme.css +2 -2
  80. package/dist/resources/themes/solid-light-modern/theme.css +2 -2
  81. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +289 -0
  82. package/package.json +1 -1
@@ -376,7 +376,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
376
376
  }
377
377
  const fieldMetadata = solidFieldsMetadata?.[column.attrs.name];
378
378
  if (!fieldMetadata?.type) {
379
- showFieldError(ERROR_MESSAGES.FIELD_NOT_IN_METADATA(column.attrs.label));
379
+ showFieldError(ERROR_MESSAGES.FIELD_NOT_IN_METADATA(column.attrs.label ?? column.attrs.name ?? JSON.stringify(column.attrs)));
380
380
  // return;
381
381
  }
382
382
  if (fieldMetadata) {
@@ -1105,13 +1105,13 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1105
1105
  ? [errorMessages]
1106
1106
  : [];
1107
1107
  if (messages.length > 0) {
1108
- dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.SEND_REPORT, detail: messages.join(', ') }));
1108
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.ERROR_OCCURED, detail: messages.join(', ') }));
1109
1109
  }
1110
1110
  };
1111
1111
 
1112
1112
  const showFieldError = async (error: any) => {
1113
1113
  if (error) {
1114
- dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.SEND_REPORT, detail: String(error), life: 3000 }));
1114
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.ERROR_OCCURED, detail: String(error), life: 3000 }));
1115
1115
  }
1116
1116
  };
1117
1117
 
@@ -1462,7 +1462,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1462
1462
  </div>
1463
1463
  )}
1464
1464
 
1465
- <div className="solid-header-buttons-wrapper hidden items-center lg:flex">
1465
+ <div className="solid-header-buttons-wrapper max-lg:hidden items-center lg:flex">
1466
1466
  {visibleHeaderButtons
1467
1467
  ?.filter((rb: any) => rb.attrs.actionInContextMenu != true)
1468
1468
  ?.map((button: any, index: number) => (
@@ -150,7 +150,7 @@ export var SolidListViewConfigure = function (_a) {
150
150
  }, children: [_jsx(Download, { size: 14, className: "solid-header-action-button-icon" }), _jsx("span", { className: "solid-header-action-button-label", children: "Import" })] })), canExport && (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item", onSelect: function () {
151
151
  setExportView(function (current) { return !current; });
152
152
  setIsCogMenuOpen(false);
153
- }, children: [_jsx(Upload, { size: 14, className: "solid-header-action-button-icon" }), _jsx("span", { className: "solid-header-action-button-label", children: "Export" })] })), contextMenuHeaderButtons === null || contextMenuHeaderButtons === void 0 ? void 0 : contextMenuHeaderButtons.map(function (button, index) { return (_jsx(SolidListViewHeaderContextMenuButton, { button: button, params: params, solidListViewMetaData: listViewMetaData, handleCustomButtonClick: handleCustomButtonClick, selectedRecords: selectedRecords, filters: filters, onActionComplete: function () { return setIsCogMenuOpen(false); } }, index)); }), _jsx("div", { className: "lg:hidden flex flex-col gap-1", children: mobileOnlyHeaderButtons === null || mobileOnlyHeaderButtons === void 0 ? void 0 : mobileOnlyHeaderButtons.map(function (button, index) { return (_jsx(SolidListViewHeaderContextMenuButton, { button: button, params: params, solidListViewMetaData: listViewMetaData, handleCustomButtonClick: handleCustomButtonClick, selectedRecords: selectedRecords, filters: filters, onActionComplete: function () { return setIsCogMenuOpen(false); } }, "mobile-".concat(index))); }) }), ((_t = (_s = (_r = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _r === void 0 ? void 0 : _r.solidView) === null || _s === void 0 ? void 0 : _s.model) === null || _t === void 0 ? void 0 : _t.enableSoftDelete) && (_jsx(SolidDropdownMenuCheckboxItem, { className: showArchived ? "solid-archive-toggle-item-active" : undefined, checked: showArchived, icon: _jsx(Archive, { size: 14, className: "solid-header-action-button-icon solid-archive-toggle-icon" }), onCheckedChange: function () { return setShowArchived(!showArchived); }, children: "Show Archived Rows" })), showArchived && (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item lg:hidden", onSelect: function () {
153
+ }, children: [_jsx(Upload, { size: 14, className: "solid-header-action-button-icon" }), _jsx("span", { className: "solid-header-action-button-label", children: "Export" })] })), contextMenuHeaderButtons === null || contextMenuHeaderButtons === void 0 ? void 0 : contextMenuHeaderButtons.map(function (button, index) { return (_jsx(SolidListViewHeaderContextMenuButton, { button: button, params: params, solidListViewMetaData: listViewMetaData, handleCustomButtonClick: handleCustomButtonClick, selectedRecords: selectedRecords, filters: filters, onActionComplete: function () { return setIsCogMenuOpen(false); } }, index)); }), _jsx("div", { className: "max-lg:flex lg:hidden flex-col gap-1", children: mobileOnlyHeaderButtons === null || mobileOnlyHeaderButtons === void 0 ? void 0 : mobileOnlyHeaderButtons.map(function (button, index) { return (_jsx(SolidListViewHeaderContextMenuButton, { button: button, params: params, solidListViewMetaData: listViewMetaData, handleCustomButtonClick: handleCustomButtonClick, selectedRecords: selectedRecords, filters: filters, onActionComplete: function () { return setIsCogMenuOpen(false); } }, "mobile-".concat(index))); }) }), ((_t = (_s = (_r = viewData === null || viewData === void 0 ? void 0 : viewData.data) === null || _r === void 0 ? void 0 : _r.solidView) === null || _s === void 0 ? void 0 : _s.model) === null || _t === void 0 ? void 0 : _t.enableSoftDelete) && (_jsx(SolidDropdownMenuCheckboxItem, { className: showArchived ? "solid-archive-toggle-item-active" : undefined, checked: showArchived, icon: _jsx(Archive, { size: 14, className: "solid-header-action-button-icon solid-archive-toggle-icon" }), onCheckedChange: function () { return setShowArchived(!showArchived); }, children: "Show Archived Rows" })), showArchived && (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item lg:hidden", onSelect: function () {
154
154
  setRecoverDialogVisible(true);
155
155
  setIsCogMenuOpen(false);
156
156
  }, children: [_jsx(RefreshCw, { size: 14, className: "solid-header-action-button-icon" }), _jsx("span", { className: "solid-header-action-button-label", children: "Recover" })] })), (isHeaderActionEnabled('customizeLayout') && actionsAllowed.includes("".concat(permissionExpression('userViewMetadata', 'create'))) ||
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewConfigure.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewConfigure.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useSession } from \"../../../hooks/useSession\";\nimport { canExportRecords, canImportRecords, permissionExpression } from \"../../../helpers/permissions\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { SolidListColumnSelector } from \"./SolidColumnSelector/SolidListColumnSelector\";\nimport { SolidExport } from \"../../../components/common/SolidExport\";\nimport { useHandleListCustomButtonClick } from \"../../../components/common/useHandleListCustomButtonClick\";\nimport { SolidListViewHeaderContextMenuButton } from \"./SolidListViewHeaderContextMenuButton\";\nimport { isButtonVisibleInCurrentEnv } from \"../../../helpers/buttonEnvironment\";\nimport \"../../common/solid-export.css\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { SolidListViewHeaderButton } from \"./SolidListViewHeaderButton\";\nimport { capitalize } from \"lodash\";\nimport { Archive, Cog, Download, RefreshCw, Save, SlidersHorizontal, Table, Trash2, Upload } from \"lucide-react\";\nimport { storeCurrentModelViewContext } from \"../../../helpers/modelViewPersistence\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogDescription,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidDropdownMenu,\n SolidDropdownMenuCheckboxItem,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuLabel,\n SolidDropdownMenuRadioGroup,\n SolidDropdownMenuRadioItem,\n SolidDropdownMenuSeparator,\n SolidDropdownMenuSub,\n SolidDropdownMenuSubContent,\n SolidDropdownMenuSubTrigger,\n SolidDropdownMenuTrigger,\n} from \"../../shad-cn-ui\";\n\nexport type ViewMode = {\n actionId: string;\n actionName: string;\n menuItemId: string;\n menuItemName: string;\n type: string;\n}\n\nexport const SolidListViewConfigure = (\n { listViewMetaData,\n solidListViewLayout,\n setShowArchived,\n showArchived,\n viewData,\n sizeOptions,\n setSize,\n size,\n viewModes,\n params,\n actionsAllowed,\n selectedRecords,\n setDialogVisible,\n setShowSaveFilterPopup,\n filters,\n hasAnyActiveFilters,\n handleFetchUpdatedRecords,\n setRecoverDialogVisible,\n\n }:\n any) => {\n // const [visible, setVisible] = useState<boolean>(false);\n const handleCustomButtonClick = useHandleListCustomButtonClick();\n const [openImportDialog, setOpenImportDialog] = useState<boolean>(false);\n const pathname = usePathname();\n const router = useRouter();\n const [view, setView] = useState<string>(\"\");\n const [exportView, setExportView] = useState<boolean>(false);\n const [isCogMenuOpen, setIsCogMenuOpen] = useState(false);\n const [showColumnSelectorDialog, setShowColumnSelectorDialog] = useState(false);\n\n const handleViewChange = (newView: ViewMode) => {\n if (view === newView.type) return; // Prevent unnecessary updates\n const pathSegments = pathname.split('/').filter(Boolean);\n pathSegments[pathSegments.length - 1] = newView.type; // Replace the last part with new view\n const newPath = '/' + pathSegments.join('/') + `?menuItemId=${newView.menuItemId}&menuItemName=${newView.menuItemName}&actionId=${newView.actionId}&actionName=${newView.actionName}`;\n storeCurrentModelViewContext(newPath);\n router.push(newPath);\n };\n\n useEffect(() => {\n if (typeof pathname === 'string') {\n const pathSegments = pathname.split('/').filter(Boolean);\n if (pathSegments.length > 0) {\n setView(pathSegments[pathSegments.length - 1]);\n }\n }\n }, [pathname])\n\n //Build a map of actionKey → boolean at the top level\n const headerActions = solidListViewLayout?.attrs ?? {};\n\n const normalizeAction = (value: boolean | string[]) => {\n if (value === true) return { enabled: true, roles: [] };\n if (value === false) return { enabled: false, roles: [] };\n if (Array.isArray(value)) return { enabled: true, roles: value };\n return { enabled: true, roles: [] }; // default\n };\n const normalized = {\n import: normalizeAction(headerActions.import),\n export: normalizeAction(headerActions.export),\n customizeLayout: normalizeAction(headerActions.customizeLayout),\n savedFilters: normalizeAction(headerActions.savedFilters),\n };\n\n // Role checks\n const { data: session, status } = useSession();\n const user = session?.user;\n const useRoleCheck = (roles: string[]) => hasAnyRole(user?.roles, roles);\n\n // Map of action → roleCheck\n const roleCheckMap = {\n import: useRoleCheck(normalized.import.roles),\n export: useRoleCheck(normalized.export.roles),\n customizeLayout: useRoleCheck(normalized.customizeLayout.roles),\n savedFilters: useRoleCheck(normalized.savedFilters.roles),\n };\n\n const isHeaderActionEnabled = (action: keyof typeof normalized) => {\n const { enabled, roles } = normalized[action];\n\n // 1. If explicitly disabled\n if (!enabled) return false;\n\n // 2. If roles list exists → must have at least one\n if (roles.length > 0) {\n return roleCheckMap[action] === true;\n }\n // 3. No restrictions → enabled\n return true;\n };\n const canImport = isHeaderActionEnabled(\"import\") && canImportRecords(actionsAllowed, params.modelName);\n const canExport = isHeaderActionEnabled(\"export\") && canExportRecords(actionsAllowed, params.modelName);\n\n const clearLocalstorageCache = () => {\n const currentPageUrl = window.location.pathname; // Get the current page URL\n localStorage.removeItem(currentPageUrl); // Remove from local storage with the URL as the key\n window.location.reload();\n };\n\n const visibleViewModes = (() => {\n if (!Array.isArray(viewModes)) return [];\n\n const uniqueByType = new Map<string, ViewMode>();\n const currentActionId = String(params?.actionId ?? \"\");\n const currentMenuItemId = String(params?.menuItemId ?? \"\");\n\n for (const mode of viewModes) {\n if (!mode || typeof mode.type !== \"string\") continue;\n\n const existing = uniqueByType.get(mode.type);\n if (!existing) {\n uniqueByType.set(mode.type, mode);\n continue;\n }\n\n const modeActionId = String(mode.actionId ?? \"\");\n const modeMenuItemId = String(mode.menuItemId ?? \"\");\n const existingActionId = String(existing.actionId ?? \"\");\n const existingMenuItemId = String(existing.menuItemId ?? \"\");\n\n const modeIsCurrent = (currentActionId && modeActionId === currentActionId) ||\n (currentMenuItemId && modeMenuItemId === currentMenuItemId);\n const existingIsCurrent = (currentActionId && existingActionId === currentActionId) ||\n (currentMenuItemId && existingMenuItemId === currentMenuItemId);\n\n if (modeIsCurrent && !existingIsCurrent) {\n uniqueByType.set(mode.type, mode);\n }\n }\n\n return Array.from(uniqueByType.values());\n })();\n const showSwitchType = visibleViewModes.length > 0;\n const visibleHeaderButtons = (solidListViewLayout?.attrs?.headerButtons ?? []).filter((rb: any) => isButtonVisibleInCurrentEnv(rb?.attrs));\n const contextMenuHeaderButtons = visibleHeaderButtons.filter((rb: any) => rb?.attrs?.actionInContextMenu === true);\n const mobileOnlyHeaderButtons = visibleHeaderButtons.filter((rb: any) => rb?.attrs?.actionInContextMenu !== true);\n\n const handleViewTypeChange = (nextType: string) => {\n const nextView = visibleViewModes.find((option: ViewMode) => option.type === nextType);\n if (nextView) {\n handleViewChange(nextView);\n }\n };\n\n return (\n <div className=\"position-relative\">\n <SolidDropdownMenu open={isCogMenuOpen} onOpenChange={setIsCogMenuOpen}>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-icon-button solid-header-cog-trigger\"\n aria-label=\"Open list options\"\n >\n <Cog size={16} />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"listview-cogwheel-panel\">\n {(\n (actionsAllowed.includes(`${permissionExpression(params.modelName, 'deleteMany')}`) &&\n viewData?.data?.solidView?.layout?.attrs?.delete !== false &&\n selectedRecords.length > 0) ||\n canImport ||\n canExport ||\n isHeaderActionEnabled('customizeLayout') && actionsAllowed.includes(`${permissionExpression('userViewMetadata', 'create')}`) ||\n isHeaderActionEnabled('savedFilters') && actionsAllowed.includes(`${permissionExpression('savedFilters', 'create')}`) ||\n contextMenuHeaderButtons.length > 0 ||\n mobileOnlyHeaderButtons.length > 0 ||\n viewData?.data?.solidView?.model?.enableSoftDelete\n ) && (\n <>\n {actionsAllowed.includes(`${permissionExpression(params.modelName, 'deleteMany')}`) && viewData?.data?.solidView?.layout?.attrs?.delete !== false && selectedRecords.length > 0 && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item solid-header-dropdown-item-danger\"\n onSelect={() => {\n setDialogVisible(true);\n setIsCogMenuOpen(false);\n }}\n >\n <Trash2 size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Delete</span>\n </SolidDropdownMenuItem>\n )}\n {canImport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setOpenImportDialog(true);\n setIsCogMenuOpen(false);\n }}\n >\n <Download size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Import</span>\n </SolidDropdownMenuItem>\n )}\n {canExport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setExportView((current) => !current);\n setIsCogMenuOpen(false);\n }}\n >\n <Upload size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Export</span>\n </SolidDropdownMenuItem>\n )}\n {contextMenuHeaderButtons\n ?.map((button: any, index: number) => (\n <SolidListViewHeaderContextMenuButton\n key={index}\n button={button}\n params={params}\n solidListViewMetaData={listViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n selectedRecords={selectedRecords}\n filters={filters}\n onActionComplete={() => setIsCogMenuOpen(false)}\n />\n ))}\n <div className=\"lg:hidden flex flex-col gap-1\">\n {mobileOnlyHeaderButtons\n ?.map((button: any, index: number) => (\n <SolidListViewHeaderContextMenuButton\n key={`mobile-${index}`}\n button={button}\n params={params}\n solidListViewMetaData={listViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n selectedRecords={selectedRecords}\n filters={filters}\n onActionComplete={() => setIsCogMenuOpen(false)}\n />\n ))}\n </div>\n {viewData?.data?.solidView?.model?.enableSoftDelete && (\n <SolidDropdownMenuCheckboxItem\n className={showArchived ? \"solid-archive-toggle-item-active\" : undefined}\n checked={showArchived}\n icon={<Archive size={14} className=\"solid-header-action-button-icon solid-archive-toggle-icon\" />}\n onCheckedChange={() => setShowArchived(!showArchived)}\n >\n Show Archived Rows\n </SolidDropdownMenuCheckboxItem>\n )}\n {showArchived && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item lg:hidden\"\n onSelect={() => {\n setRecoverDialogVisible(true);\n setIsCogMenuOpen(false);\n }}\n >\n <RefreshCw size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Recover</span>\n </SolidDropdownMenuItem>\n )}\n\n {(\n isHeaderActionEnabled('customizeLayout') && actionsAllowed.includes(`${permissionExpression('userViewMetadata', 'create')}`) ||\n hasAnyActiveFilters && isHeaderActionEnabled('savedFilters') && actionsAllowed.includes(`${permissionExpression('savedFilters', 'create')}`)\n ) && <SolidDropdownMenuSeparator />}\n\n {isHeaderActionEnabled('customizeLayout') && actionsAllowed.includes(`${permissionExpression('userViewMetadata', 'create')}`) && (\n <SolidDropdownMenuSub>\n <SolidDropdownMenuSubTrigger className=\"solid-header-dropdown-item\">\n <SlidersHorizontal size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Layout</span>\n </SolidDropdownMenuSubTrigger>\n <SolidDropdownMenuSubContent className=\"customize-layout-panel\" side=\"left\">\n {showSwitchType && (\n <>\n <SolidDropdownMenuLabel>Switch Type</SolidDropdownMenuLabel>\n <SolidDropdownMenuRadioGroup value={view} onValueChange={handleViewTypeChange}>\n {visibleViewModes.map((option: ViewMode) => (\n <SolidDropdownMenuRadioItem key={option.type} value={option.type}>\n {capitalize(option.type)}\n </SolidDropdownMenuRadioItem>\n ))}\n </SolidDropdownMenuRadioGroup>\n <SolidDropdownMenuSeparator />\n </>\n )}\n <SolidDropdownMenuLabel>Row Spacing</SolidDropdownMenuLabel>\n <SolidDropdownMenuRadioGroup value={size} onValueChange={(value: string) => setSize(value)}>\n {sizeOptions.map((option: any) => (\n <SolidDropdownMenuRadioItem key={option.value} value={option.value}>\n {option.label}\n </SolidDropdownMenuRadioItem>\n ))}\n </SolidDropdownMenuRadioGroup>\n <SolidDropdownMenuSeparator />\n <SolidDropdownMenuItem\n onSelect={() => {\n setShowColumnSelectorDialog(true);\n setIsCogMenuOpen(false);\n }}\n >\n <Table size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Columns</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuSubContent>\n </SolidDropdownMenuSub>\n )}\n {hasAnyActiveFilters && isHeaderActionEnabled('savedFilters') && actionsAllowed.includes(`${permissionExpression('savedFilters', 'create')}`) && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setShowSaveFilterPopup(true);\n setIsCogMenuOpen(false);\n }}\n >\n <Save size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Save Custom Filter</span>\n </SolidDropdownMenuItem>\n )}\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n clearLocalstorageCache();\n setIsCogMenuOpen(false);\n }}\n >\n <Trash2 size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Reset View</span>\n </SolidDropdownMenuItem>\n </>\n )}\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n <SolidDialog\n open={exportView}\n onOpenChange={setExportView}\n className=\"solid-kanban-export-dialog solid-list-export-dialog\"\n style={{ width: \"min(980px, calc(100vw - 32px))\" }}\n >\n <SolidDialogHeader className=\"solid-export-dialog-header\">\n <div>\n <SolidDialogTitle>Export</SolidDialogTitle>\n <SolidDialogDescription className=\"solid-filter-dialog-subtitle m-0\">\n Choose the file format, refine the field set, and save reusable export templates.\n </SolidDialogDescription>\n </div>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator />\n <SolidDialogBody className=\"solid-kanban-export-dialog-body\">\n <SolidExport\n listViewMetaData={listViewMetaData}\n filters={filters}\n onExportComplete={() => setExportView(false)}\n />\n </SolidDialogBody>\n </SolidDialog>\n <SolidDialog\n open={showColumnSelectorDialog}\n onOpenChange={setShowColumnSelectorDialog}\n className=\"solid-column-selector-dialog\"\n style={{ width: \"min(388px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-filter-dialog-head\">\n <div>\n <SolidDialogTitle className=\"solid-filter-dialog-title m-0\">Column Selector</SolidDialogTitle>\n <SolidDialogDescription className=\"solid-filter-dialog-subtitle m-0\">\n Choose visible columns and reorder them for this list view.\n </SolidDialogDescription>\n </div>\n <SolidDialogClose className=\"solid-filter-dialog-close\" />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-filter-dialog-sep\" />\n <SolidDialogBody className=\"solid-filter-dialog-body\">\n <SolidListColumnSelector\n listViewMetaData={listViewMetaData}\n onClose={() => setShowColumnSelectorDialog(false)}\n />\n </SolidDialogBody>\n </SolidDialog>\n {openImportDialog &&\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={listViewMetaData}\n handleFetchUpdatedRecords={handleFetchUpdatedRecords}\n />\n }\n </div>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidListViewConfigure.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewConfigure.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useSession } from \"../../../hooks/useSession\";\nimport { canExportRecords, canImportRecords, permissionExpression } from \"../../../helpers/permissions\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { SolidListColumnSelector } from \"./SolidColumnSelector/SolidListColumnSelector\";\nimport { SolidExport } from \"../../../components/common/SolidExport\";\nimport { useHandleListCustomButtonClick } from \"../../../components/common/useHandleListCustomButtonClick\";\nimport { SolidListViewHeaderContextMenuButton } from \"./SolidListViewHeaderContextMenuButton\";\nimport { isButtonVisibleInCurrentEnv } from \"../../../helpers/buttonEnvironment\";\nimport \"../../common/solid-export.css\";\nimport { SolidGenericImport } from \"../common/SolidGenericImport/SolidGenericImport\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { SolidListViewHeaderButton } from \"./SolidListViewHeaderButton\";\nimport { capitalize } from \"lodash\";\nimport { Archive, Cog, Download, RefreshCw, Save, SlidersHorizontal, Table, Trash2, Upload } from \"lucide-react\";\nimport { storeCurrentModelViewContext } from \"../../../helpers/modelViewPersistence\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogDescription,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidDropdownMenu,\n SolidDropdownMenuCheckboxItem,\n SolidDropdownMenuContent,\n SolidDropdownMenuItem,\n SolidDropdownMenuLabel,\n SolidDropdownMenuRadioGroup,\n SolidDropdownMenuRadioItem,\n SolidDropdownMenuSeparator,\n SolidDropdownMenuSub,\n SolidDropdownMenuSubContent,\n SolidDropdownMenuSubTrigger,\n SolidDropdownMenuTrigger,\n} from \"../../shad-cn-ui\";\n\nexport type ViewMode = {\n actionId: string;\n actionName: string;\n menuItemId: string;\n menuItemName: string;\n type: string;\n}\n\nexport const SolidListViewConfigure = (\n { listViewMetaData,\n solidListViewLayout,\n setShowArchived,\n showArchived,\n viewData,\n sizeOptions,\n setSize,\n size,\n viewModes,\n params,\n actionsAllowed,\n selectedRecords,\n setDialogVisible,\n setShowSaveFilterPopup,\n filters,\n hasAnyActiveFilters,\n handleFetchUpdatedRecords,\n setRecoverDialogVisible,\n\n }:\n any) => {\n // const [visible, setVisible] = useState<boolean>(false);\n const handleCustomButtonClick = useHandleListCustomButtonClick();\n const [openImportDialog, setOpenImportDialog] = useState<boolean>(false);\n const pathname = usePathname();\n const router = useRouter();\n const [view, setView] = useState<string>(\"\");\n const [exportView, setExportView] = useState<boolean>(false);\n const [isCogMenuOpen, setIsCogMenuOpen] = useState(false);\n const [showColumnSelectorDialog, setShowColumnSelectorDialog] = useState(false);\n\n const handleViewChange = (newView: ViewMode) => {\n if (view === newView.type) return; // Prevent unnecessary updates\n const pathSegments = pathname.split('/').filter(Boolean);\n pathSegments[pathSegments.length - 1] = newView.type; // Replace the last part with new view\n const newPath = '/' + pathSegments.join('/') + `?menuItemId=${newView.menuItemId}&menuItemName=${newView.menuItemName}&actionId=${newView.actionId}&actionName=${newView.actionName}`;\n storeCurrentModelViewContext(newPath);\n router.push(newPath);\n };\n\n useEffect(() => {\n if (typeof pathname === 'string') {\n const pathSegments = pathname.split('/').filter(Boolean);\n if (pathSegments.length > 0) {\n setView(pathSegments[pathSegments.length - 1]);\n }\n }\n }, [pathname])\n\n //Build a map of actionKey → boolean at the top level\n const headerActions = solidListViewLayout?.attrs ?? {};\n\n const normalizeAction = (value: boolean | string[]) => {\n if (value === true) return { enabled: true, roles: [] };\n if (value === false) return { enabled: false, roles: [] };\n if (Array.isArray(value)) return { enabled: true, roles: value };\n return { enabled: true, roles: [] }; // default\n };\n const normalized = {\n import: normalizeAction(headerActions.import),\n export: normalizeAction(headerActions.export),\n customizeLayout: normalizeAction(headerActions.customizeLayout),\n savedFilters: normalizeAction(headerActions.savedFilters),\n };\n\n // Role checks\n const { data: session, status } = useSession();\n const user = session?.user;\n const useRoleCheck = (roles: string[]) => hasAnyRole(user?.roles, roles);\n\n // Map of action → roleCheck\n const roleCheckMap = {\n import: useRoleCheck(normalized.import.roles),\n export: useRoleCheck(normalized.export.roles),\n customizeLayout: useRoleCheck(normalized.customizeLayout.roles),\n savedFilters: useRoleCheck(normalized.savedFilters.roles),\n };\n\n const isHeaderActionEnabled = (action: keyof typeof normalized) => {\n const { enabled, roles } = normalized[action];\n\n // 1. If explicitly disabled\n if (!enabled) return false;\n\n // 2. If roles list exists → must have at least one\n if (roles.length > 0) {\n return roleCheckMap[action] === true;\n }\n // 3. No restrictions → enabled\n return true;\n };\n const canImport = isHeaderActionEnabled(\"import\") && canImportRecords(actionsAllowed, params.modelName);\n const canExport = isHeaderActionEnabled(\"export\") && canExportRecords(actionsAllowed, params.modelName);\n\n const clearLocalstorageCache = () => {\n const currentPageUrl = window.location.pathname; // Get the current page URL\n localStorage.removeItem(currentPageUrl); // Remove from local storage with the URL as the key\n window.location.reload();\n };\n\n const visibleViewModes = (() => {\n if (!Array.isArray(viewModes)) return [];\n\n const uniqueByType = new Map<string, ViewMode>();\n const currentActionId = String(params?.actionId ?? \"\");\n const currentMenuItemId = String(params?.menuItemId ?? \"\");\n\n for (const mode of viewModes) {\n if (!mode || typeof mode.type !== \"string\") continue;\n\n const existing = uniqueByType.get(mode.type);\n if (!existing) {\n uniqueByType.set(mode.type, mode);\n continue;\n }\n\n const modeActionId = String(mode.actionId ?? \"\");\n const modeMenuItemId = String(mode.menuItemId ?? \"\");\n const existingActionId = String(existing.actionId ?? \"\");\n const existingMenuItemId = String(existing.menuItemId ?? \"\");\n\n const modeIsCurrent = (currentActionId && modeActionId === currentActionId) ||\n (currentMenuItemId && modeMenuItemId === currentMenuItemId);\n const existingIsCurrent = (currentActionId && existingActionId === currentActionId) ||\n (currentMenuItemId && existingMenuItemId === currentMenuItemId);\n\n if (modeIsCurrent && !existingIsCurrent) {\n uniqueByType.set(mode.type, mode);\n }\n }\n\n return Array.from(uniqueByType.values());\n })();\n const showSwitchType = visibleViewModes.length > 0;\n const visibleHeaderButtons = (solidListViewLayout?.attrs?.headerButtons ?? []).filter((rb: any) => isButtonVisibleInCurrentEnv(rb?.attrs));\n const contextMenuHeaderButtons = visibleHeaderButtons.filter((rb: any) => rb?.attrs?.actionInContextMenu === true);\n const mobileOnlyHeaderButtons = visibleHeaderButtons.filter((rb: any) => rb?.attrs?.actionInContextMenu !== true);\n\n const handleViewTypeChange = (nextType: string) => {\n const nextView = visibleViewModes.find((option: ViewMode) => option.type === nextType);\n if (nextView) {\n handleViewChange(nextView);\n }\n };\n\n return (\n <div className=\"position-relative\">\n <SolidDropdownMenu open={isCogMenuOpen} onOpenChange={setIsCogMenuOpen}>\n <SolidDropdownMenuTrigger asChild>\n <button\n type=\"button\"\n className=\"solid-icon-button solid-header-cog-trigger\"\n aria-label=\"Open list options\"\n >\n <Cog size={16} />\n </button>\n </SolidDropdownMenuTrigger>\n <SolidDropdownMenuContent className=\"listview-cogwheel-panel\">\n {(\n (actionsAllowed.includes(`${permissionExpression(params.modelName, 'deleteMany')}`) &&\n viewData?.data?.solidView?.layout?.attrs?.delete !== false &&\n selectedRecords.length > 0) ||\n canImport ||\n canExport ||\n isHeaderActionEnabled('customizeLayout') && actionsAllowed.includes(`${permissionExpression('userViewMetadata', 'create')}`) ||\n isHeaderActionEnabled('savedFilters') && actionsAllowed.includes(`${permissionExpression('savedFilters', 'create')}`) ||\n contextMenuHeaderButtons.length > 0 ||\n mobileOnlyHeaderButtons.length > 0 ||\n viewData?.data?.solidView?.model?.enableSoftDelete\n ) && (\n <>\n {actionsAllowed.includes(`${permissionExpression(params.modelName, 'deleteMany')}`) && viewData?.data?.solidView?.layout?.attrs?.delete !== false && selectedRecords.length > 0 && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item solid-header-dropdown-item-danger\"\n onSelect={() => {\n setDialogVisible(true);\n setIsCogMenuOpen(false);\n }}\n >\n <Trash2 size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Delete</span>\n </SolidDropdownMenuItem>\n )}\n {canImport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setOpenImportDialog(true);\n setIsCogMenuOpen(false);\n }}\n >\n <Download size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Import</span>\n </SolidDropdownMenuItem>\n )}\n {canExport && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setExportView((current) => !current);\n setIsCogMenuOpen(false);\n }}\n >\n <Upload size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Export</span>\n </SolidDropdownMenuItem>\n )}\n {contextMenuHeaderButtons\n ?.map((button: any, index: number) => (\n <SolidListViewHeaderContextMenuButton\n key={index}\n button={button}\n params={params}\n solidListViewMetaData={listViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n selectedRecords={selectedRecords}\n filters={filters}\n onActionComplete={() => setIsCogMenuOpen(false)}\n />\n ))}\n <div className=\"max-lg:flex lg:hidden flex-col gap-1\">\n {mobileOnlyHeaderButtons\n ?.map((button: any, index: number) => (\n <SolidListViewHeaderContextMenuButton\n key={`mobile-${index}`}\n button={button}\n params={params}\n solidListViewMetaData={listViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n selectedRecords={selectedRecords}\n filters={filters}\n onActionComplete={() => setIsCogMenuOpen(false)}\n />\n ))}\n </div>\n {viewData?.data?.solidView?.model?.enableSoftDelete && (\n <SolidDropdownMenuCheckboxItem\n className={showArchived ? \"solid-archive-toggle-item-active\" : undefined}\n checked={showArchived}\n icon={<Archive size={14} className=\"solid-header-action-button-icon solid-archive-toggle-icon\" />}\n onCheckedChange={() => setShowArchived(!showArchived)}\n >\n Show Archived Rows\n </SolidDropdownMenuCheckboxItem>\n )}\n {showArchived && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item lg:hidden\"\n onSelect={() => {\n setRecoverDialogVisible(true);\n setIsCogMenuOpen(false);\n }}\n >\n <RefreshCw size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Recover</span>\n </SolidDropdownMenuItem>\n )}\n\n {(\n isHeaderActionEnabled('customizeLayout') && actionsAllowed.includes(`${permissionExpression('userViewMetadata', 'create')}`) ||\n hasAnyActiveFilters && isHeaderActionEnabled('savedFilters') && actionsAllowed.includes(`${permissionExpression('savedFilters', 'create')}`)\n ) && <SolidDropdownMenuSeparator />}\n\n {isHeaderActionEnabled('customizeLayout') && actionsAllowed.includes(`${permissionExpression('userViewMetadata', 'create')}`) && (\n <SolidDropdownMenuSub>\n <SolidDropdownMenuSubTrigger className=\"solid-header-dropdown-item\">\n <SlidersHorizontal size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Layout</span>\n </SolidDropdownMenuSubTrigger>\n <SolidDropdownMenuSubContent className=\"customize-layout-panel\" side=\"left\">\n {showSwitchType && (\n <>\n <SolidDropdownMenuLabel>Switch Type</SolidDropdownMenuLabel>\n <SolidDropdownMenuRadioGroup value={view} onValueChange={handleViewTypeChange}>\n {visibleViewModes.map((option: ViewMode) => (\n <SolidDropdownMenuRadioItem key={option.type} value={option.type}>\n {capitalize(option.type)}\n </SolidDropdownMenuRadioItem>\n ))}\n </SolidDropdownMenuRadioGroup>\n <SolidDropdownMenuSeparator />\n </>\n )}\n <SolidDropdownMenuLabel>Row Spacing</SolidDropdownMenuLabel>\n <SolidDropdownMenuRadioGroup value={size} onValueChange={(value: string) => setSize(value)}>\n {sizeOptions.map((option: any) => (\n <SolidDropdownMenuRadioItem key={option.value} value={option.value}>\n {option.label}\n </SolidDropdownMenuRadioItem>\n ))}\n </SolidDropdownMenuRadioGroup>\n <SolidDropdownMenuSeparator />\n <SolidDropdownMenuItem\n onSelect={() => {\n setShowColumnSelectorDialog(true);\n setIsCogMenuOpen(false);\n }}\n >\n <Table size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Columns</span>\n </SolidDropdownMenuItem>\n </SolidDropdownMenuSubContent>\n </SolidDropdownMenuSub>\n )}\n {hasAnyActiveFilters && isHeaderActionEnabled('savedFilters') && actionsAllowed.includes(`${permissionExpression('savedFilters', 'create')}`) && (\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n setShowSaveFilterPopup(true);\n setIsCogMenuOpen(false);\n }}\n >\n <Save size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Save Custom Filter</span>\n </SolidDropdownMenuItem>\n )}\n <SolidDropdownMenuItem\n className=\"solid-header-dropdown-item\"\n onSelect={() => {\n clearLocalstorageCache();\n setIsCogMenuOpen(false);\n }}\n >\n <Trash2 size={14} className=\"solid-header-action-button-icon\" />\n <span className=\"solid-header-action-button-label\">Reset View</span>\n </SolidDropdownMenuItem>\n </>\n )}\n </SolidDropdownMenuContent>\n </SolidDropdownMenu>\n <SolidDialog\n open={exportView}\n onOpenChange={setExportView}\n className=\"solid-kanban-export-dialog solid-list-export-dialog\"\n style={{ width: \"min(980px, calc(100vw - 32px))\" }}\n >\n <SolidDialogHeader className=\"solid-export-dialog-header\">\n <div>\n <SolidDialogTitle>Export</SolidDialogTitle>\n <SolidDialogDescription className=\"solid-filter-dialog-subtitle m-0\">\n Choose the file format, refine the field set, and save reusable export templates.\n </SolidDialogDescription>\n </div>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator />\n <SolidDialogBody className=\"solid-kanban-export-dialog-body\">\n <SolidExport\n listViewMetaData={listViewMetaData}\n filters={filters}\n onExportComplete={() => setExportView(false)}\n />\n </SolidDialogBody>\n </SolidDialog>\n <SolidDialog\n open={showColumnSelectorDialog}\n onOpenChange={setShowColumnSelectorDialog}\n className=\"solid-column-selector-dialog\"\n style={{ width: \"min(388px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-filter-dialog-head\">\n <div>\n <SolidDialogTitle className=\"solid-filter-dialog-title m-0\">Column Selector</SolidDialogTitle>\n <SolidDialogDescription className=\"solid-filter-dialog-subtitle m-0\">\n Choose visible columns and reorder them for this list view.\n </SolidDialogDescription>\n </div>\n <SolidDialogClose className=\"solid-filter-dialog-close\" />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-filter-dialog-sep\" />\n <SolidDialogBody className=\"solid-filter-dialog-body\">\n <SolidListColumnSelector\n listViewMetaData={listViewMetaData}\n onClose={() => setShowColumnSelectorDialog(false)}\n />\n </SolidDialogBody>\n </SolidDialog>\n {openImportDialog &&\n <SolidGenericImport\n openImportDialog={openImportDialog}\n setOpenImportDialog={setOpenImportDialog}\n listViewMetaData={listViewMetaData}\n handleFetchUpdatedRecords={handleFetchUpdatedRecords}\n />\n }\n </div>\n )\n}\n"]}
@@ -266,7 +266,7 @@ export const SolidListViewConfigure = (
266
266
  onActionComplete={() => setIsCogMenuOpen(false)}
267
267
  />
268
268
  ))}
269
- <div className="lg:hidden flex flex-col gap-1">
269
+ <div className="max-lg:flex lg:hidden flex-col gap-1">
270
270
  {mobileOnlyHeaderButtons
271
271
  ?.map((button: any, index: number) => (
272
272
  <SolidListViewHeaderContextMenuButton
@@ -1 +1 @@
1
- {"version":3,"file":"SolidLocale.d.ts","sourceRoot":"","sources":["../../../../src/components/core/locales/SolidLocale.tsx"],"names":[],"mappings":"AAKA,OAAO,oBAAoB,CAAC;AAE5B,QAAA,MAAM,WAAW;2BAC2G,GAAG;QAAM,MAAM;oBAAkB,GAAG;uBAAqB,GAAG;cAAY,MAAM;gBAAc,OAAO;gCAA8B,GAAG;uBAAqB,GAAG;2BAAyB,MAAM,GAAG,IAAI;uBAAqB,GAAG;eAAa,MAAM,GAAG,IAAI;;6CAuM/W,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"SolidLocale.d.ts","sourceRoot":"","sources":["../../../../src/components/core/locales/SolidLocale.tsx"],"names":[],"mappings":"AAKA,OAAO,oBAAoB,CAAC;AAE5B,QAAA,MAAM,WAAW;2BAC2G,GAAG;QAAM,MAAM;oBAAkB,GAAG;uBAAqB,GAAG;cAAY,MAAM;gBAAc,OAAO;gCAA8B,GAAG;uBAAqB,GAAG;2BAAyB,MAAM,GAAG,IAAI;uBAAqB,GAAG;eAAa,MAAM,GAAG,IAAI;;6CAwM/W,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -123,7 +123,7 @@ var SolidLocale = function (_a) {
123
123
  return (_jsx("span", { className: "solid-workflow-pill solid-workflow-pill--".concat(value.toLowerCase()), children: value }));
124
124
  };
125
125
  return (_jsxs("div", { className: "flex flex-col p-0 m-0 solid-locale-stack", children: [_jsx("div", { className: "flex justify-end gap-4" }), shouldShowInformationCard && (_jsxs("div", { className: "solid-locale-info-card", children: [_jsxs("div", { className: "solid-locale-info-card-header", children: [_jsx("h3", { className: "solid-locale-section-title p-0 m-0", children: "Information" }), isDraftPublishWorkflowEnabled && _jsx(StatusPill, { value: statusLabel })] }), _jsxs("div", { className: "solid-locale-info-grid", children: [_jsx(InfoRow, { label: "Document ID", value: documentId ? "#".concat(documentId) : '-' }), _jsx(InfoRow, { label: "Created At", value: formatToDDMMYYWithTime(data === null || data === void 0 ? void 0 : data.createdAt) }), _jsx(InfoRow, { label: "Created By", value: getUserDisplay(data === null || data === void 0 ? void 0 : data.createdBy) }), _jsx(InfoRow, { label: "Updated At", value: formatToDDMMYYWithTime(data === null || data === void 0 ? void 0 : data.updatedAt) }), _jsx(InfoRow, { label: "Updated By", value: getUserDisplay(data === null || data === void 0 ? void 0 : data.updatedBy) }), isDraftPublishWorkflowEnabled && (_jsxs(_Fragment, { children: [_jsx(InfoRow, { label: "Published At", value: formatToDDMMYYWithTime((_k = (_j = data === null || data === void 0 ? void 0 : data.publishedAt) !== null && _j !== void 0 ? _j : published) !== null && _k !== void 0 ? _k : '') }), _jsx(InfoRow, { label: "Published By", value: getUserDisplay(publishedBy) })] }))] })] })), shouldShowCreateInfoPlaceholder && (_jsxs("div", { className: "solid-locale-info-card solid-locale-empty-info-card", children: [_jsx("div", { className: "solid-locale-info-card-header", children: _jsx("h3", { className: "solid-locale-section-title p-0 m-0", children: "Information" }) }), _jsxs("div", { className: "solid-locale-empty-info-body", children: [_jsx("p", { className: "solid-locale-empty-info-title m-0", children: "Details will appear after the first save" }), _jsx("p", { className: "solid-locale-empty-info-copy m-0", children: "Status, document ID, and audit timestamps are created once this draft record is saved." })] })] })), isInternationalisationEnabled &&
126
- _jsxs("div", { className: "solid-locale-info-card solid-locale-i18n-panel", children: [_jsxs("div", { className: "solid-locale-info-card-header", children: [_jsxs("div", { children: [_jsx("h3", { className: "solid-locale-section-title p-0 m-0", children: "Internationalisation" }), _jsxs("p", { className: "solid-locale-i18n-subtitle m-0", children: [localeOptions.length || 0, " locales"] })] }), _jsx("span", { className: "solid-locale-i18n-code", children: activeLocaleCode })] }), _jsx("div", { className: "solid-locale-i18n-body", children: _jsxs("div", { className: "solid-locale-i18n-control", children: [_jsx("label", { className: "solid-locale-i18n-label", children: "Locale" }), _jsx(SolidSelect, { value: selectedLocale, onChange: function (e) { return handleLocaleChange(e.value); }, options: localeOptions, placeholder: "Select locale", className: "w-full solid-locale-select", disabled: createMode })] }) })] })] }));
126
+ _jsxs("div", { className: "solid-locale-info-card solid-locale-i18n-panel", children: [_jsxs("div", { className: "solid-locale-info-card-header", children: [_jsxs("div", { children: [_jsx("h3", { className: "solid-locale-section-title p-0 m-0", children: "Internationalisation" }), _jsxs("p", { className: "solid-locale-i18n-subtitle m-0", children: [localeOptions.length || 0, " locales"] })] }), _jsx("span", { className: "solid-locale-i18n-code", children: activeLocaleCode })] }), _jsx("div", { className: "solid-locale-i18n-body", children: _jsxs("div", { className: "solid-locale-i18n-control", children: [_jsx("label", { className: "solid-locale-i18n-label", children: "Locale" }), _jsx(SolidSelect, { value: selectedLocale, onChange: function (e) { return handleLocaleChange(e.value); }, options: localeOptions, native: false, placeholder: "Select locale", className: "w-full solid-locale-select", disabled: createMode })] }) })] })] }));
127
127
  };
128
128
  export default SolidLocale;
129
129
  //# sourceMappingURL=SolidLocale.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidLocale.js","sourceRoot":"","sources":["../../../../src/components/core/locales/SolidLocale.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { SolidSelect } from \"../../shad-cn-ui\";\nimport { createSolidEntityApi } from \"../../../redux/api/solidEntityApi\";\nimport qs from \"qs\";\nimport \"./solid-locale.css\";\n\nconst SolidLocale = ({ solidFormViewMetaData, id, selectedLocale, setSelectedLocale, viewMode, createMode, handleLocaleChangeRedirect,\n applicableLocales, defaultEntityLocaleId, solidFormViewData, published, workflowStatusLabel }: { solidFormViewMetaData: any, id: string, selectedLocale: any, setSelectedLocale: any, viewMode: string, createMode: boolean, handleLocaleChangeRedirect: any, applicableLocales: any, defaultEntityLocaleId: string | null, solidFormViewData: any, published: string | null, workflowStatusLabel?: string | null }) => {\n const [localeOptions, setLocaleOptions] = useState([]);\n const [defautlLocale, setDefaultLocale] = useState('');\n const userApi = useMemo(() => createSolidEntityApi(\"user\"), []);\n const { useGetSolidEntitiesQuery: useGetUsersQuery } = userApi;\n\n useEffect(() => {\n if (!applicableLocales) return;\n // Set dropdown options\n const localeOptions = applicableLocales.map((x: any) => ({\n label: x.displayName,\n value: x.locale,\n }));\n setLocaleOptions(localeOptions);\n\n if (createMode) {\n const defaultLocale = applicableLocales.find((x: any) => x.isDefault === 'yes');\n setSelectedLocale(defaultLocale?.locale || null);\n setDefaultLocale(defaultLocale?.displayName || '');\n return;\n }\n\n if (viewMode === 'edit' || viewMode === 'view') {\n const matchedLocale = applicableLocales.find(\n (x: any) => String(x.entityId) === String(id)\n );\n if (matchedLocale) {\n setSelectedLocale(matchedLocale.locale);\n }\n }\n }, [applicableLocales, id, viewMode, createMode]);\n\n const handleLocaleChange = (newLocale: string) => {\n if (newLocale === selectedLocale) return;\n setSelectedLocale(newLocale);\n const targetDefaultEntityLocaleId = id === 'new' ? defaultEntityLocaleId : defaultEntityLocaleId || id;\n handleLocaleChangeRedirect(newLocale, targetDefaultEntityLocaleId, viewMode);\n };\n\n // utils/formatDate.ts\n const formatToDDMMYYWithTime = (dateString: string) => {\n if (!dateString) return '-';\n const date = new Date(dateString);\n if (Number.isNaN(date.getTime())) return '-';\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = String(date.getFullYear()).slice(-2);\n\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n\n return `${day}-${month}-${year} ${hours}:${minutes}`;\n }\n\n const data = solidFormViewData?.data;\n const isDraftPublishWorkflowEnabled = Boolean(solidFormViewMetaData?.data?.solidView?.model?.draftPublishWorkflow);\n const isInternationalisationEnabled = Boolean(solidFormViewMetaData?.data?.solidView?.model?.internationalisation);\n const shouldShowInformationCard = !(createMode && isDraftPublishWorkflowEnabled);\n const shouldShowCreateInfoPlaceholder = createMode && isDraftPublishWorkflowEnabled && !isInternationalisationEnabled;\n const isPublished = isDraftPublishWorkflowEnabled && Boolean(data?.isPublished ?? published);\n const statusLabel = workflowStatusLabel || (isPublished ? 'Published' : 'Draft');\n const publishedBy = isDraftPublishWorkflowEnabled && data?.publishedAt ? data?.updatedBy : null;\n const documentId = data?.initialEntityVersionId || data?.id;\n const defaultLocaleMeta = applicableLocales?.find((locale: any) => locale.isDefault === 'yes');\n const defaultLocaleLabel = defaultLocaleMeta?.displayName || defautlLocale || '-';\n const activeLocaleCode = selectedLocale || '-';\n\n const getUserId = (value: any) => {\n if (!value) return '-';\n if (typeof value === 'object') {\n return value.id;\n }\n return value;\n };\n\n const auditUserIds = useMemo(() => {\n return Array.from(new Set([data?.createdBy, data?.updatedBy, publishedBy]\n .map(getUserId)\n .filter((userId) => userId !== '-' && userId !== null && userId !== undefined)\n .map((userId) => Number(userId))\n .filter((userId) => !Number.isNaN(userId))));\n }, [data?.createdBy, data?.updatedBy, publishedBy]);\n\n const auditUsersQuery = useMemo(() => qs.stringify({\n limit: auditUserIds.length || 1,\n fields: ['id', 'fullName', 'username', 'email'],\n filters: {\n id: {\n $in: auditUserIds,\n },\n },\n }, { encodeValuesOnly: true }), [auditUserIds.join(',')]);\n\n const [auditUsersById, setAuditUsersById] = useState<Map<string, any>>(new Map());\n const { data: auditUsersData } = useGetUsersQuery(auditUsersQuery, {\n skip: auditUserIds.length === 0,\n });\n\n useEffect(() => {\n if (auditUserIds.length === 0) {\n setAuditUsersById(new Map());\n return;\n }\n\n const userMap = new Map<string, any>();\n (auditUsersData?.records || []).forEach((user: any) => {\n userMap.set(String(user.id), user);\n });\n setAuditUsersById(userMap);\n }, [auditUsersData, auditUserIds.length]);\n\n const getUserDisplay = (value: any) => {\n if (!value) return '-';\n if (typeof value === 'object') {\n return value.fullName || value.username || value.email || value.name || value.id || '-';\n }\n const user = auditUsersById.get(String(value));\n return user?.fullName || user?.username || user?.email || value;\n };\n\n const InfoRow = ({ label, value }: { label: string, value: any }) => (\n <div className='solid-locale-info-row'>\n <p className=\"text-sm m-0 solid-locale-info-label\">{label}</p>\n <p className=\"text-sm m-0 solid-locale-info-value\">{value || '-'}</p>\n </div>\n );\n\n const StatusPill = ({ value }: { value: string }) => (\n <span className={`solid-workflow-pill solid-workflow-pill--${value.toLowerCase()}`}>\n {value}\n </span>\n );\n\n return (\n <div className=\"flex flex-col p-0 m-0 solid-locale-stack\">\n <div className=\"flex justify-end gap-4\">\n </div>\n {shouldShowInformationCard && (\n <div className=\"solid-locale-info-card\">\n <div className=\"solid-locale-info-card-header\">\n <h3 className=\"solid-locale-section-title p-0 m-0\">Information</h3>\n {isDraftPublishWorkflowEnabled && <StatusPill value={statusLabel} />}\n </div>\n <div className=\"solid-locale-info-grid\">\n <InfoRow label=\"Document ID\" value={documentId ? `#${documentId}` : '-'} />\n <InfoRow label=\"Created At\" value={formatToDDMMYYWithTime(data?.createdAt)} />\n <InfoRow label=\"Created By\" value={getUserDisplay(data?.createdBy)} />\n <InfoRow label=\"Updated At\" value={formatToDDMMYYWithTime(data?.updatedAt)} />\n <InfoRow label=\"Updated By\" value={getUserDisplay(data?.updatedBy)} />\n {isDraftPublishWorkflowEnabled && (\n <>\n <InfoRow label=\"Published At\" value={formatToDDMMYYWithTime(data?.publishedAt ?? published ?? '')} />\n <InfoRow label=\"Published By\" value={getUserDisplay(publishedBy)} />\n </>\n )}\n </div>\n </div>\n )}\n {shouldShowCreateInfoPlaceholder && (\n <div className=\"solid-locale-info-card solid-locale-empty-info-card\">\n <div className=\"solid-locale-info-card-header\">\n <h3 className=\"solid-locale-section-title p-0 m-0\">Information</h3>\n </div>\n <div className=\"solid-locale-empty-info-body\">\n <p className=\"solid-locale-empty-info-title m-0\">Details will appear after the first save</p>\n <p className=\"solid-locale-empty-info-copy m-0\">\n Status, document ID, and audit timestamps are created once this draft record is saved.\n </p>\n </div>\n </div>\n )}\n {isInternationalisationEnabled &&\n <div className=\"solid-locale-info-card solid-locale-i18n-panel\">\n <div className=\"solid-locale-info-card-header\">\n <div>\n <h3 className=\"solid-locale-section-title p-0 m-0\">Internationalisation</h3>\n <p className=\"solid-locale-i18n-subtitle m-0\">{localeOptions.length || 0} locales</p>\n </div>\n <span className=\"solid-locale-i18n-code\">{activeLocaleCode}</span>\n </div>\n <div className=\"solid-locale-i18n-body\">\n <div className=\"solid-locale-i18n-control\">\n <label className=\"solid-locale-i18n-label\">Locale</label>\n <SolidSelect\n value={selectedLocale}\n onChange={(e) => handleLocaleChange(e.value)}\n options={localeOptions}\n placeholder=\"Select locale\"\n className=\"w-full solid-locale-select\"\n disabled={createMode}\n />\n </div>\n </div>\n </div>\n }\n {/* <p className=\"text-sm font-bold text-gray-500 px-2\">Fill in form another locale</p> */}\n </div>\n );\n};\n\nexport default SolidLocale;\n"]}
1
+ {"version":3,"file":"SolidLocale.js","sourceRoot":"","sources":["../../../../src/components/core/locales/SolidLocale.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { SolidSelect } from \"../../shad-cn-ui\";\nimport { createSolidEntityApi } from \"../../../redux/api/solidEntityApi\";\nimport qs from \"qs\";\nimport \"./solid-locale.css\";\n\nconst SolidLocale = ({ solidFormViewMetaData, id, selectedLocale, setSelectedLocale, viewMode, createMode, handleLocaleChangeRedirect,\n applicableLocales, defaultEntityLocaleId, solidFormViewData, published, workflowStatusLabel }: { solidFormViewMetaData: any, id: string, selectedLocale: any, setSelectedLocale: any, viewMode: string, createMode: boolean, handleLocaleChangeRedirect: any, applicableLocales: any, defaultEntityLocaleId: string | null, solidFormViewData: any, published: string | null, workflowStatusLabel?: string | null }) => {\n const [localeOptions, setLocaleOptions] = useState([]);\n const [defautlLocale, setDefaultLocale] = useState('');\n const userApi = useMemo(() => createSolidEntityApi(\"user\"), []);\n const { useGetSolidEntitiesQuery: useGetUsersQuery } = userApi;\n\n useEffect(() => {\n if (!applicableLocales) return;\n // Set dropdown options\n const localeOptions = applicableLocales.map((x: any) => ({\n label: x.displayName,\n value: x.locale,\n }));\n setLocaleOptions(localeOptions);\n\n if (createMode) {\n const defaultLocale = applicableLocales.find((x: any) => x.isDefault === 'yes');\n setSelectedLocale(defaultLocale?.locale || null);\n setDefaultLocale(defaultLocale?.displayName || '');\n return;\n }\n\n if (viewMode === 'edit' || viewMode === 'view') {\n const matchedLocale = applicableLocales.find(\n (x: any) => String(x.entityId) === String(id)\n );\n if (matchedLocale) {\n setSelectedLocale(matchedLocale.locale);\n }\n }\n }, [applicableLocales, id, viewMode, createMode]);\n\n const handleLocaleChange = (newLocale: string) => {\n if (newLocale === selectedLocale) return;\n setSelectedLocale(newLocale);\n const targetDefaultEntityLocaleId = id === 'new' ? defaultEntityLocaleId : defaultEntityLocaleId || id;\n handleLocaleChangeRedirect(newLocale, targetDefaultEntityLocaleId, viewMode);\n };\n\n // utils/formatDate.ts\n const formatToDDMMYYWithTime = (dateString: string) => {\n if (!dateString) return '-';\n const date = new Date(dateString);\n if (Number.isNaN(date.getTime())) return '-';\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = String(date.getFullYear()).slice(-2);\n\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n\n return `${day}-${month}-${year} ${hours}:${minutes}`;\n }\n\n const data = solidFormViewData?.data;\n const isDraftPublishWorkflowEnabled = Boolean(solidFormViewMetaData?.data?.solidView?.model?.draftPublishWorkflow);\n const isInternationalisationEnabled = Boolean(solidFormViewMetaData?.data?.solidView?.model?.internationalisation);\n const shouldShowInformationCard = !(createMode && isDraftPublishWorkflowEnabled);\n const shouldShowCreateInfoPlaceholder = createMode && isDraftPublishWorkflowEnabled && !isInternationalisationEnabled;\n const isPublished = isDraftPublishWorkflowEnabled && Boolean(data?.isPublished ?? published);\n const statusLabel = workflowStatusLabel || (isPublished ? 'Published' : 'Draft');\n const publishedBy = isDraftPublishWorkflowEnabled && data?.publishedAt ? data?.updatedBy : null;\n const documentId = data?.initialEntityVersionId || data?.id;\n const defaultLocaleMeta = applicableLocales?.find((locale: any) => locale.isDefault === 'yes');\n const defaultLocaleLabel = defaultLocaleMeta?.displayName || defautlLocale || '-';\n const activeLocaleCode = selectedLocale || '-';\n\n const getUserId = (value: any) => {\n if (!value) return '-';\n if (typeof value === 'object') {\n return value.id;\n }\n return value;\n };\n\n const auditUserIds = useMemo(() => {\n return Array.from(new Set([data?.createdBy, data?.updatedBy, publishedBy]\n .map(getUserId)\n .filter((userId) => userId !== '-' && userId !== null && userId !== undefined)\n .map((userId) => Number(userId))\n .filter((userId) => !Number.isNaN(userId))));\n }, [data?.createdBy, data?.updatedBy, publishedBy]);\n\n const auditUsersQuery = useMemo(() => qs.stringify({\n limit: auditUserIds.length || 1,\n fields: ['id', 'fullName', 'username', 'email'],\n filters: {\n id: {\n $in: auditUserIds,\n },\n },\n }, { encodeValuesOnly: true }), [auditUserIds.join(',')]);\n\n const [auditUsersById, setAuditUsersById] = useState<Map<string, any>>(new Map());\n const { data: auditUsersData } = useGetUsersQuery(auditUsersQuery, {\n skip: auditUserIds.length === 0,\n });\n\n useEffect(() => {\n if (auditUserIds.length === 0) {\n setAuditUsersById(new Map());\n return;\n }\n\n const userMap = new Map<string, any>();\n (auditUsersData?.records || []).forEach((user: any) => {\n userMap.set(String(user.id), user);\n });\n setAuditUsersById(userMap);\n }, [auditUsersData, auditUserIds.length]);\n\n const getUserDisplay = (value: any) => {\n if (!value) return '-';\n if (typeof value === 'object') {\n return value.fullName || value.username || value.email || value.name || value.id || '-';\n }\n const user = auditUsersById.get(String(value));\n return user?.fullName || user?.username || user?.email || value;\n };\n\n const InfoRow = ({ label, value }: { label: string, value: any }) => (\n <div className='solid-locale-info-row'>\n <p className=\"text-sm m-0 solid-locale-info-label\">{label}</p>\n <p className=\"text-sm m-0 solid-locale-info-value\">{value || '-'}</p>\n </div>\n );\n\n const StatusPill = ({ value }: { value: string }) => (\n <span className={`solid-workflow-pill solid-workflow-pill--${value.toLowerCase()}`}>\n {value}\n </span>\n );\n\n return (\n <div className=\"flex flex-col p-0 m-0 solid-locale-stack\">\n <div className=\"flex justify-end gap-4\">\n </div>\n {shouldShowInformationCard && (\n <div className=\"solid-locale-info-card\">\n <div className=\"solid-locale-info-card-header\">\n <h3 className=\"solid-locale-section-title p-0 m-0\">Information</h3>\n {isDraftPublishWorkflowEnabled && <StatusPill value={statusLabel} />}\n </div>\n <div className=\"solid-locale-info-grid\">\n <InfoRow label=\"Document ID\" value={documentId ? `#${documentId}` : '-'} />\n <InfoRow label=\"Created At\" value={formatToDDMMYYWithTime(data?.createdAt)} />\n <InfoRow label=\"Created By\" value={getUserDisplay(data?.createdBy)} />\n <InfoRow label=\"Updated At\" value={formatToDDMMYYWithTime(data?.updatedAt)} />\n <InfoRow label=\"Updated By\" value={getUserDisplay(data?.updatedBy)} />\n {isDraftPublishWorkflowEnabled && (\n <>\n <InfoRow label=\"Published At\" value={formatToDDMMYYWithTime(data?.publishedAt ?? published ?? '')} />\n <InfoRow label=\"Published By\" value={getUserDisplay(publishedBy)} />\n </>\n )}\n </div>\n </div>\n )}\n {shouldShowCreateInfoPlaceholder && (\n <div className=\"solid-locale-info-card solid-locale-empty-info-card\">\n <div className=\"solid-locale-info-card-header\">\n <h3 className=\"solid-locale-section-title p-0 m-0\">Information</h3>\n </div>\n <div className=\"solid-locale-empty-info-body\">\n <p className=\"solid-locale-empty-info-title m-0\">Details will appear after the first save</p>\n <p className=\"solid-locale-empty-info-copy m-0\">\n Status, document ID, and audit timestamps are created once this draft record is saved.\n </p>\n </div>\n </div>\n )}\n {isInternationalisationEnabled &&\n <div className=\"solid-locale-info-card solid-locale-i18n-panel\">\n <div className=\"solid-locale-info-card-header\">\n <div>\n <h3 className=\"solid-locale-section-title p-0 m-0\">Internationalisation</h3>\n <p className=\"solid-locale-i18n-subtitle m-0\">{localeOptions.length || 0} locales</p>\n </div>\n <span className=\"solid-locale-i18n-code\">{activeLocaleCode}</span>\n </div>\n <div className=\"solid-locale-i18n-body\">\n <div className=\"solid-locale-i18n-control\">\n <label className=\"solid-locale-i18n-label\">Locale</label>\n <SolidSelect\n value={selectedLocale}\n onChange={(e) => handleLocaleChange(e.value)}\n options={localeOptions}\n native={false}\n placeholder=\"Select locale\"\n className=\"w-full solid-locale-select\"\n disabled={createMode}\n />\n </div>\n </div>\n </div>\n }\n {/* <p className=\"text-sm font-bold text-gray-500 px-2\">Fill in form another locale</p> */}\n </div>\n );\n};\n\nexport default SolidLocale;\n"]}
@@ -194,6 +194,7 @@ const SolidLocale = ({ solidFormViewMetaData, id, selectedLocale, setSelectedLoc
194
194
  value={selectedLocale}
195
195
  onChange={(e) => handleLocaleChange(e.value)}
196
196
  options={localeOptions}
197
+ native={false}
197
198
  placeholder="Select locale"
198
199
  className="w-full solid-locale-select"
199
200
  disabled={createMode}
@@ -175,6 +175,9 @@
175
175
 
176
176
  .solid-locale-i18n-panel {
177
177
  margin-top: 0.65rem;
178
+ overflow: visible;
179
+ position: relative;
180
+ z-index: 2;
178
181
  }
179
182
 
180
183
  .solid-locale-i18n-body {
@@ -214,6 +217,8 @@
214
217
  display: flex;
215
218
  flex-direction: column;
216
219
  gap: 0.35rem;
220
+ position: relative;
221
+ z-index: 3;
217
222
  }
218
223
 
219
224
  .solid-locale-i18n-label {
@@ -227,6 +232,10 @@
227
232
  min-height: 34px;
228
233
  }
229
234
 
235
+ .solid-locale-select .solid-select-menu {
236
+ z-index: calc(var(--z-overlay) + 8);
237
+ }
238
+
230
239
  .solid-workflow-pill {
231
240
  display: inline-flex;
232
241
  align-items: center;
@@ -91,7 +91,7 @@ var FieldMetaData = function (_a) {
91
91
  return __generator(this, function (_a) {
92
92
  errorMessages = Object.values(message);
93
93
  if (errorMessages.length > 0) {
94
- dispatch(showToast({ severity: severity, summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));
94
+ dispatch(showToast({ severity: severity, summary: ERROR_MESSAGES.ERROR_OCCURED, detail: errorMessages.map(String).join(', '), life: 3000 }));
95
95
  }
96
96
  return [2 /*return*/];
97
97
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FieldMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaData.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,IAAI,SAAS,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EACL,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAG1B,IAAM,aAAa,GAAG,UAAC,EAA0M;QAAxM,UAAU,gBAAA,EAAE,eAAe,qBAAA,EAAE,aAAa,mBAAA,EAAE,aAAa,mBAAA,EAAE,gBAAgB,sBAAA,EAAE,mBAAmB,yBAAA,EAAE,OAAO,aAAA,EAAE,uBAAuB,6BAAA,EAAE,MAAM,YAAA,EAAE,sBAAsB,EAAtB,cAAc,mBAAG,KAAK,KAAA,EAAE,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAA,EAAE,MAAM,YAAA;IACxN,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IACzB,IAAA,KAAkC,QAAQ,CAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAC;IAClD,IAAA,KAAwC,QAAQ,CAAC,KAAK,CAAC,EAAtD,eAAe,QAAA,EAAE,kBAAkB,QAAmB,CAAC;IACxD,IAAA,KAAkC,QAAQ,EAAE,EAA3C,YAAY,QAAA,EAAE,eAAe,QAAc,CAAC;IAC7C,IAAA,KAAoD,QAAQ,CAAM,IAAI,CAAC,EAAtE,qBAAqB,QAAA,EAAE,wBAAwB,QAAuB,CAAC;IACxE,IAAA,KAA0C,QAAQ,CAAC,KAAK,CAAC,EAAxD,gBAAgB,QAAA,EAAE,mBAAmB,QAAmB,CAAC;IAC1D,IAAA,KAAgC,QAAQ,CAAM,IAAI,CAAC,EAAlD,WAAW,QAAA,EAAE,cAAc,QAAuB,CAAC;IAC1D,IAAM,WAAW,GAAG,UAAC,KAAU;QAC7B,eAAe,CAAC,IAAI,CAAC,CAAC;IAExB,CAAC,CAAC;IAGF,IAAM,YAAY,GAAG,UAAC,OAAY;QAChC,OAAO,CACL,4BAEG,OAAO,CAAC,WAAW;gBAClB,4BACE,wBAAI,OAAO,CAAC,WAAW,EACpB,OAAO,CAAC,kBAAkB,KAAK,IAAI;gCAClC,8BACE,cAAS,QAAE,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,uFAA+E,IACxI,IAEH,GACH,GAEJ,CACJ,CAAA;IACH,CAAC,CAAC;IAGF,sCAAsC;IACtC,IAAM,YAAY,GAAG,UAAC,OAAY;QAChC,OAAO,CACL,4BACG,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI;gBAC/D,KAAC,WAAW,IACV,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,mBAAmB,gBAClB,YAAY,EACvB,QAAQ,EAAE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,EAC9B,OAAO,EAAE;wBACP,wBAAwB,CAAC,OAAO,CAAC,CAAC;wBAClC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC,GACD,GAEH,CACJ,CAAA;IACH,CAAC,CAAC;IAEF,2BAA2B;IAC3B,IAAM,SAAS,GAAG,UAAC,OAAY;QAC7B,wEAAwE;QACxE,gBAAgB,CAAC,UAAC,QAAa;YAC7B,IAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAA1B,CAA0B,CAAC,CAAC;YAC/E,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,4CAA4C;YAC9D,IAAI,eAAe;gBAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,8CAA8C;IAC9C,IAAM,cAAc,GAAG,UAAC,OAAY;QAClC,OAAO,CACL,4BACG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC;gBAClG,KAAC,WAAW,IACV,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,mBAAmB,EAC7B,KAAK,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,gBACrC,cAAc,EACzB,QAAQ,EAAE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,EAC9B,OAAO,EAAE,cAAQ,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,GACrE,GAGH,CACJ,CAAA;IACH,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,UAAO,OAAY,EAAE,QAAa;;;YAC9C,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,UAAA,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aAClI;;;SACF,CAAC;IAGF,oCAAoC;IACpC,aAAa;IACb,qDAAqD;IACrD,OAAO;IACP,KAAK;IAGL,IAAM,eAAe,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;IAE7E,OAAO,CACL,4BAEG,eAAe,CAAC,CAAC;YAChB,cAAK,SAAS,EAAC,gCAAgC,YAC7C,eAAK,SAAS,EAAC,wBAAwB,aACrC,cAAK,SAAS,EAAC,6BAA6B,YAC1C,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,GACd,EACN,eAAK,SAAS,EAAC,6BAA6B,aAC1C,YAAG,SAAS,EAAC,8BAA8B,uCAA2B,EACtE,YAAG,SAAS,EAAC,6BAA6B,gGAAoF,IAC1H,IACF,GACF;YACN,CAAC;gBACD,8BAEE,eAAK,SAAS,EAAC,wBAAwB,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,aACtE,cAAc,IAAI,CACjB,KAAC,WAAW,IACV,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,MAAM,qBAGH,CACf,EACA,aAAa,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,aAAa;oCAChD,KAAC,WAAW,IACV,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,EAC5B,OAAO,EAAE;4CACP,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,CAAA,EAAE;gDAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;6CACrH;iDAAM;gDACL,wBAAwB,CAAC,IAAI,CAAC,CAAC;gDAC/B,eAAe,CAAC,IAAI,CAAC,CAAA;6CACtB;wCACH,CAAC,oBAGW,IAEZ,EACN,cAAK,SAAS,EAAC,8EAA8E,YAC3F,MAAC,SAAS,IACR,KAAK,EAAE,aAAa,EACpB,OAAO,EAAC,IAAI,EACZ,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,sBAAsB,EACnC,YAAY,EAAE,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAA3D,CAA2D,aAEtF,KAAC,MAAM,IAAC,KAAK,EAAC,aAAa,EAAC,MAAM,EAAC,cAAc,EAAC,IAAI,EAAE,YAAY,GAAW,EAC/E,KAAC,MAAM,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,GAAU,EAC5C,KAAC,MAAM,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,GAAU,EAE3C,aAAa,CAAC,QAAQ,KAAK,IAAI;wCAC9B,KAAC,MAAM,IAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,EAEvE,aAAa,CAAC,QAAQ,KAAK,IAAI;wCAC9B,KAAC,MAAM,IAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,IAElE,GACR,EACN,KAAC,WAAW,IACV,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,UAAC,IAAI;gCACjB,IAAI,CAAC,IAAI,EAAE;oCACT,eAAe,CAAC,KAAK,CAAC,CAAC;iCACxB;4BACH,CAAC,EACD,SAAS,EAAC,iCAAiC,EAC3C,KAAK,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,QAAQ,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,EAAE,EACrF,UAAU,EAAE,KAAK,YAEjB,KAAC,eAAe,IAAC,SAAS,EAAC,yBAAyB,YAClD,KAAC,iBAAiB,IAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,GAAsB,GACjY,GACN,EACd,MAAC,WAAW,IACV,IAAI,EAAE,eAAe,EACrB,YAAY,EAAE,UAAC,IAAI;gCACjB,IAAI,CAAC,IAAI,EAAE;oCACT,kBAAkB,CAAC,KAAK,CAAC,CAAC;iCAC3B;4BACH,CAAC,EACD,SAAS,EAAC,8DAA8D,EACxE,KAAK,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,aAElD,MAAC,iBAAiB,IAAC,SAAS,EAAC,4BAA4B,aACvD,KAAC,gBAAgB,cACf,gBAAM,SAAS,EAAC,yBAAyB,aACvC,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,iBAAiB,GAAG,EACvD,qCAAoB,IACf,GACU,EACnB,KAAC,gBAAgB,KAAG,IACF,EACpB,KAAC,eAAe,IAAC,SAAS,EAAC,iCAAiC,YAC1D,YAAG,SAAS,EAAC,6BAA6B,4HAAgH,GAC1I,EAClB,KAAC,iBAAiB,IAAC,SAAS,EAAC,6BAA6B,YACxD,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,cAAM,OAAA,kBAAkB,CAAC,KAAK,CAAC,EAAzB,CAAyB,mBAEjD,GACI,IACR,EACd,MAAC,WAAW,IACV,IAAI,EAAE,gBAAgB,EACtB,YAAY,EAAE,UAAC,IAAI;gCACjB,IAAI,CAAC,IAAI,EAAE;oCACT,mBAAmB,CAAC,KAAK,CAAC,CAAC;oCAC3B,cAAc,CAAC,IAAI,CAAC,CAAC;iCACtB;4BACH,CAAC,EACD,SAAS,EAAC,4DAA4D,EACtE,KAAK,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,aAElD,MAAC,iBAAiB,IAAC,SAAS,EAAC,uDAAuD,aAClF,KAAC,gBAAgB,cACf,gBAAM,SAAS,EAAC,yBAAyB,aACvC,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,iBAAiB,GAAG,EACvD,0CAAyB,IACpB,GACU,EACnB,KAAC,gBAAgB,KAAG,IACF,EACpB,KAAC,oBAAoB,IAAC,SAAS,EAAC,yBAAyB,GAAG,EAC5D,MAAC,eAAe,IAAC,SAAS,EAAC,uDAAuD,aAChF,YAAG,SAAS,EAAC,wDAAwD,sDAEjE,EACJ,cAAI,SAAS,EAAC,8BAA8B,aAC1C,yBACE,eAAM,SAAS,EAAC,+BAA+B,mBAAU,EACzD,eAAK,SAAS,EAAC,8BAA8B,aAC3C,YAAG,SAAS,EAAC,oCAAoC,0DAA8C,EAC/F,eAAM,SAAS,EAAC,mCAAmC,kDAAyC,IACxF,IACH,EACL,yBACE,eAAM,SAAS,EAAC,+BAA+B,mBAAU,EACzD,eAAK,SAAS,EAAC,8BAA8B,aAC3C,YAAG,SAAS,EAAC,oCAAoC,8CAAkC,EACnF,eAAM,SAAS,EAAC,mCAAmC,uFAA8E,IAC7H,IACH,IACF,IACW,EAClB,MAAC,iBAAiB,IAAC,SAAS,EAAC,6DAA6D,aACxF,KAAC,WAAW,IACV,IAAI,EAAC,IAAI,EACT,OAAO,EAAE;gDACP,IAAI,WAAW,EAAE;oDACf,SAAS,CAAC,WAAW,CAAC,CAAC;iDACxB;gDACD,mBAAmB,CAAC,KAAK,CAAC,CAAC;gDAC3B,cAAc,CAAC,IAAI,CAAC,CAAC;4CACvB,CAAC,mBAGW,EACd,KAAC,WAAW,IACV,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE;gDACP,mBAAmB,CAAC,KAAK,CAAC,CAAC;gDAC3B,cAAc,CAAC,IAAI,CAAC,CAAC;4CACvB,CAAC,uBAGW,IACI,IACR,IAEb,GAEJ,CAIJ,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,aAAa,CAAC","sourcesContent":["import { usePathname } from \"../../../hooks/usePathname\";\nimport { SolidDataTable as DataTable, Column } from \"../list/SolidDataTable\";\nimport { useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport FieldMetaDataForm from \"./FieldMetaDataForm\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { AlertTriangle, Info, Pencil, Plus, Trash2 } from \"lucide-react\";\nimport {\n SolidButton,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n} from \"../../shad-cn-ui\";\n\n\nconst FieldMetaData = ({ setIsDirty, setFieldDeleted, modelMetaData, fieldMetaData, setFieldMetaData, deleteModelFunction, nextTab, formikFieldsMetadataRef, params, showSaveButton = false, hideAddButton = false, onSave }: any) => {\n const pathname = usePathname();\n const dispatch = useDispatch();\n const [visiblePopup, setVisiblePopup] = useState(false);\n const [isRequiredPopUp, setIsRequiredPopUp] = useState(false);\n const [currentPopup, setCurrentPopup] = useState();\n const [selectedFieldMetaData, setSelectedFieldMetaData] = useState<any>(null);\n const [deleteAlertPopup, setDeleteAlertPopup] = useState(false);\n const [rowToDelete, setRowToDelete] = useState<any>(null);\n const onRowSelect = (event: any) => {\n setVisiblePopup(true);\n\n };\n\n\n const bodyTemplate = (rowData: any) => {\n return (\n <>\n\n {rowData.displayName &&\n <>\n <p>{rowData.displayName}\n {rowData.isMarkedForRemoval === true &&\n <>\n <br></br> <span style={{ fontSize: '11px', color: 'red' }}>This field will be removed next time you generate code for this model.</span>\n </>\n }\n </p>\n </>\n }\n </>\n )\n };\n\n\n // Template for the pencil icon column\n const editTemplate = (rowData: any) => {\n return (\n <>\n {rowData.isSystem !== true && rowData.isMarkedForRemoval !== true &&\n <SolidButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"solid-icon-button\"\n aria-label=\"Edit field\"\n leftIcon={<Pencil size={14} />}\n onClick={() => {\n setSelectedFieldMetaData(rowData);\n setVisiblePopup(true);\n }}\n />\n }\n </>\n )\n };\n\n // Function to delete a row\n const deleteRow = (rowData: any) => {\n //show dialog bbefore deletion & which will have to option ok and cancel\n setFieldMetaData((prevData: any) => {\n const updatedData = prevData.filter((item: any) => item.name !== rowData.name);\n setIsDirty(true); // Ensure dirty state is updated immediately\n if (setFieldDeleted) setFieldDeleted(true);\n return updatedData;\n });\n };\n\n // Template for the trash (delete) icon column\n const deleteTemplate = (rowData: any) => {\n return (\n <>\n {(pathname.includes('create') || (rowData.isSystem !== true && rowData.isMarkedForRemoval !== true)) &&\n <SolidButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"solid-icon-button\"\n style={{ color: \"var(--solid-danger, #ef4444)\" }}\n aria-label=\"Delete field\"\n leftIcon={<Trash2 size={14} />}\n onClick={() => { setRowToDelete(rowData); setDeleteAlertPopup(true) }}\n />\n\n }\n </>\n )\n };\n\n const showToaster = async (message: any, severity: any) => {\n const errorMessages = Object.values(message);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity, summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n // const rowClass = (data: any) => {\n // return {\n // 'bg-red-row': data.isMarkedForRemoval === true\n // };\n // };\n\n\n const needsModelSetup = !modelMetaData.moduleId || !modelMetaData.dataSource;\n\n return (\n <>\n\n {needsModelSetup ?\n <div className=\"solid-placeholder-card-wrapper\">\n <div className=\"solid-placeholder-card\">\n <div className=\"solid-placeholder-card-icon\">\n <Info size={18} />\n </div>\n <div className=\"solid-placeholder-card-body\">\n <p className=\"solid-placeholder-card-title\">Model setup incomplete</p>\n <p className=\"solid-placeholder-card-text\">Please select Module and Datasource from the models tab before managing fields.</p>\n </div>\n </div>\n </div>\n :\n <>\n\n <div className=\"flex justify-end gap-2\" style={{ marginBottom: '0.5rem' }}>\n {showSaveButton && (\n <SolidButton\n size=\"sm\"\n onClick={onSave}\n >\n Save\n </SolidButton>\n )}\n {modelMetaData.isSystem !== true && !hideAddButton &&\n <SolidButton\n size=\"sm\"\n leftIcon={<Plus size={14} />}\n onClick={() => {\n if (!modelMetaData?.dataSourceType) {\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.ORM_TYPE_REQUIRED }));\n } else {\n setSelectedFieldMetaData(null);\n setVisiblePopup(true)\n }\n }}\n >\n Add\n </SolidButton>\n }\n </div>\n <div className=\"solid-datatable-wrapper solid-list-table-area flex-1 min-h-0 overflow-hidden\">\n <DataTable\n value={fieldMetaData}\n dataKey=\"id\"\n size=\"small\"\n emptyMessage=\"No fields configured\"\n rowClassName={(rowData) => rowData.isMarkedForRemoval === true ? \"greyed-out-row\" : \"\"}\n >\n <Column field=\"displayName\" header=\"Display Name\" body={bodyTemplate}></Column>\n <Column field=\"name\" header=\"Name\"></Column>\n <Column field=\"type\" header=\"Type\"></Column>\n\n {modelMetaData.isSystem !== true &&\n <Column body={editTemplate} header=\"Edit\" style={{ width: '80px' }} />\n }\n {modelMetaData.isSystem !== true &&\n <Column body={deleteTemplate} header=\"Delete\" style={{ width: '90px' }} />\n }\n </DataTable>\n </div>\n <SolidDialog\n open={visiblePopup}\n onOpenChange={(open) => {\n if (!open) {\n setVisiblePopup(false);\n }\n }}\n className=\"solid-dialog solid-field-dialog\"\n style={{ width: \"min(720px, calc(100vw - 2rem))\", minWidth:\"20rem\", maxWidth:\"95vw\" }}\n showHeader={false}\n >\n <SolidDialogBody className=\"solid-dialog-body-flush\">\n <FieldMetaDataForm setIsDirty={setIsDirty} modelMetaData={modelMetaData} fieldMetaData={selectedFieldMetaData} allFields={fieldMetaData} setFieldMetaData={setFieldMetaData} deleteModelFunction={deleteModelFunction} setVisiblePopup={setVisiblePopup} formikFieldsMetadataRef={formikFieldsMetadataRef} params={params} setIsRequiredPopUp={setIsRequiredPopUp} showToaster={showToaster}></FieldMetaDataForm>\n </SolidDialogBody>\n </SolidDialog>\n <SolidDialog\n open={isRequiredPopUp}\n onOpenChange={(open) => {\n if (!open) {\n setIsRequiredPopUp(false);\n }\n }}\n className=\"solid-dialog solid-confirm-dialog solid-field-confirm-dialog\"\n style={{ width: \"min(420px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-field-confirm-header\">\n <SolidDialogTitle>\n <span className=\"flex items-center gap-2\">\n <AlertTriangle size={18} className=\"text-yellow-500\" />\n <span>Warning</span>\n </span>\n </SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody className=\"solid-field-confirm-dialog-body\">\n <p className=\"solid-field-confirm-message\">If there is data against this model this operation might not work and manual intervention will be required.</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-field-confirm-actions\">\n <SolidButton size=\"sm\" onClick={() => setIsRequiredPopUp(false)}>\n Ok\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n <SolidDialog\n open={deleteAlertPopup}\n onOpenChange={(open) => {\n if (!open) {\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }\n }}\n className=\"solid-shadcn-confirm-dialog solid-field-delete-flow-dialog\"\n style={{ width: \"min(560px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head solid-field-delete-flow-head\">\n <SolidDialogTitle>\n <span className=\"flex items-center gap-2\">\n <AlertTriangle size={18} className=\"text-yellow-500\" />\n <span>Remove Field</span>\n </span>\n </SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body solid-field-delete-flow-body\">\n <p className=\"solid-shadcn-dialog-text solid-field-delete-flow-intro\">\n Removing a field is a 2 step process.\n </p>\n <ol className=\"solid-field-delete-flow-list\">\n <li>\n <span className=\"solid-field-delete-flow-index\">1.</span>\n <div className=\"solid-field-delete-flow-step\">\n <p className=\"solid-field-delete-flow-step-title\">Delete the field and save the model form.</p>\n <span className=\"solid-field-delete-flow-step-note\">This marks the field for removal.</span>\n </div>\n </li>\n <li>\n <span className=\"solid-field-delete-flow-index\">2.</span>\n <div className=\"solid-field-delete-flow-step\">\n <p className=\"solid-field-delete-flow-step-title\">Generate code for this model.</p>\n <span className=\"solid-field-delete-flow-step-note\">This removes the field from generated code, metadata tables, and JSON.</span>\n </div>\n </li>\n </ol>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions solid-field-delete-flow-actions\">\n <SolidButton\n size=\"sm\"\n onClick={() => {\n if (rowToDelete) {\n deleteRow(rowToDelete);\n }\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }}\n >\n Ok\n </SolidButton>\n <SolidButton\n size=\"sm\"\n variant=\"outline\"\n onClick={() => {\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }}\n >\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n\n </>\n }\n </>\n\n\n\n );\n};\nexport default FieldMetaData;\n"]}
1
+ {"version":3,"file":"FieldMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaData.tsx"],"names":[],"mappings":"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","sourcesContent":["import { usePathname } from \"../../../hooks/usePathname\";\nimport { SolidDataTable as DataTable, Column } from \"../list/SolidDataTable\";\nimport { useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport FieldMetaDataForm from \"./FieldMetaDataForm\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { AlertTriangle, Info, Pencil, Plus, Trash2 } from \"lucide-react\";\nimport {\n SolidButton,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n} from \"../../shad-cn-ui\";\n\n\nconst FieldMetaData = ({ setIsDirty, setFieldDeleted, modelMetaData, fieldMetaData, setFieldMetaData, deleteModelFunction, nextTab, formikFieldsMetadataRef, params, showSaveButton = false, hideAddButton = false, onSave }: any) => {\n const pathname = usePathname();\n const dispatch = useDispatch();\n const [visiblePopup, setVisiblePopup] = useState(false);\n const [isRequiredPopUp, setIsRequiredPopUp] = useState(false);\n const [currentPopup, setCurrentPopup] = useState();\n const [selectedFieldMetaData, setSelectedFieldMetaData] = useState<any>(null);\n const [deleteAlertPopup, setDeleteAlertPopup] = useState(false);\n const [rowToDelete, setRowToDelete] = useState<any>(null);\n const onRowSelect = (event: any) => {\n setVisiblePopup(true);\n\n };\n\n\n const bodyTemplate = (rowData: any) => {\n return (\n <>\n\n {rowData.displayName &&\n <>\n <p>{rowData.displayName}\n {rowData.isMarkedForRemoval === true &&\n <>\n <br></br> <span style={{ fontSize: '11px', color: 'red' }}>This field will be removed next time you generate code for this model.</span>\n </>\n }\n </p>\n </>\n }\n </>\n )\n };\n\n\n // Template for the pencil icon column\n const editTemplate = (rowData: any) => {\n return (\n <>\n {rowData.isSystem !== true && rowData.isMarkedForRemoval !== true &&\n <SolidButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"solid-icon-button\"\n aria-label=\"Edit field\"\n leftIcon={<Pencil size={14} />}\n onClick={() => {\n setSelectedFieldMetaData(rowData);\n setVisiblePopup(true);\n }}\n />\n }\n </>\n )\n };\n\n // Function to delete a row\n const deleteRow = (rowData: any) => {\n //show dialog bbefore deletion & which will have to option ok and cancel\n setFieldMetaData((prevData: any) => {\n const updatedData = prevData.filter((item: any) => item.name !== rowData.name);\n setIsDirty(true); // Ensure dirty state is updated immediately\n if (setFieldDeleted) setFieldDeleted(true);\n return updatedData;\n });\n };\n\n // Template for the trash (delete) icon column\n const deleteTemplate = (rowData: any) => {\n return (\n <>\n {(pathname.includes('create') || (rowData.isSystem !== true && rowData.isMarkedForRemoval !== true)) &&\n <SolidButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"solid-icon-button\"\n style={{ color: \"var(--solid-danger, #ef4444)\" }}\n aria-label=\"Delete field\"\n leftIcon={<Trash2 size={14} />}\n onClick={() => { setRowToDelete(rowData); setDeleteAlertPopup(true) }}\n />\n\n }\n </>\n )\n };\n\n const showToaster = async (message: any, severity: any) => {\n const errorMessages = Object.values(message);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity, summary: ERROR_MESSAGES.ERROR_OCCURED, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n // const rowClass = (data: any) => {\n // return {\n // 'bg-red-row': data.isMarkedForRemoval === true\n // };\n // };\n\n\n const needsModelSetup = !modelMetaData.moduleId || !modelMetaData.dataSource;\n\n return (\n <>\n\n {needsModelSetup ?\n <div className=\"solid-placeholder-card-wrapper\">\n <div className=\"solid-placeholder-card\">\n <div className=\"solid-placeholder-card-icon\">\n <Info size={18} />\n </div>\n <div className=\"solid-placeholder-card-body\">\n <p className=\"solid-placeholder-card-title\">Model setup incomplete</p>\n <p className=\"solid-placeholder-card-text\">Please select Module and Datasource from the models tab before managing fields.</p>\n </div>\n </div>\n </div>\n :\n <>\n\n <div className=\"flex justify-end gap-2\" style={{ marginBottom: '0.5rem' }}>\n {showSaveButton && (\n <SolidButton\n size=\"sm\"\n onClick={onSave}\n >\n Save\n </SolidButton>\n )}\n {modelMetaData.isSystem !== true && !hideAddButton &&\n <SolidButton\n size=\"sm\"\n leftIcon={<Plus size={14} />}\n onClick={() => {\n if (!modelMetaData?.dataSourceType) {\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.ORM_TYPE_REQUIRED }));\n } else {\n setSelectedFieldMetaData(null);\n setVisiblePopup(true)\n }\n }}\n >\n Add\n </SolidButton>\n }\n </div>\n <div className=\"solid-datatable-wrapper solid-list-table-area flex-1 min-h-0 overflow-hidden\">\n <DataTable\n value={fieldMetaData}\n dataKey=\"id\"\n size=\"small\"\n emptyMessage=\"No fields configured\"\n rowClassName={(rowData) => rowData.isMarkedForRemoval === true ? \"greyed-out-row\" : \"\"}\n >\n <Column field=\"displayName\" header=\"Display Name\" body={bodyTemplate}></Column>\n <Column field=\"name\" header=\"Name\"></Column>\n <Column field=\"type\" header=\"Type\"></Column>\n\n {modelMetaData.isSystem !== true &&\n <Column body={editTemplate} header=\"Edit\" style={{ width: '80px' }} />\n }\n {modelMetaData.isSystem !== true &&\n <Column body={deleteTemplate} header=\"Delete\" style={{ width: '90px' }} />\n }\n </DataTable>\n </div>\n <SolidDialog\n open={visiblePopup}\n onOpenChange={(open) => {\n if (!open) {\n setVisiblePopup(false);\n }\n }}\n className=\"solid-dialog solid-field-dialog\"\n style={{ width: \"min(720px, calc(100vw - 2rem))\", minWidth:\"20rem\", maxWidth:\"95vw\" }}\n showHeader={false}\n >\n <SolidDialogBody className=\"solid-dialog-body-flush\">\n <FieldMetaDataForm setIsDirty={setIsDirty} modelMetaData={modelMetaData} fieldMetaData={selectedFieldMetaData} allFields={fieldMetaData} setFieldMetaData={setFieldMetaData} deleteModelFunction={deleteModelFunction} setVisiblePopup={setVisiblePopup} formikFieldsMetadataRef={formikFieldsMetadataRef} params={params} setIsRequiredPopUp={setIsRequiredPopUp} showToaster={showToaster}></FieldMetaDataForm>\n </SolidDialogBody>\n </SolidDialog>\n <SolidDialog\n open={isRequiredPopUp}\n onOpenChange={(open) => {\n if (!open) {\n setIsRequiredPopUp(false);\n }\n }}\n className=\"solid-dialog solid-confirm-dialog solid-field-confirm-dialog\"\n style={{ width: \"min(420px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-field-confirm-header\">\n <SolidDialogTitle>\n <span className=\"flex items-center gap-2\">\n <AlertTriangle size={18} className=\"text-yellow-500\" />\n <span>Warning</span>\n </span>\n </SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody className=\"solid-field-confirm-dialog-body\">\n <p className=\"solid-field-confirm-message\">If there is data against this model this operation might not work and manual intervention will be required.</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-field-confirm-actions\">\n <SolidButton size=\"sm\" onClick={() => setIsRequiredPopUp(false)}>\n Ok\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n <SolidDialog\n open={deleteAlertPopup}\n onOpenChange={(open) => {\n if (!open) {\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }\n }}\n className=\"solid-shadcn-confirm-dialog solid-field-delete-flow-dialog\"\n style={{ width: \"min(560px, calc(100vw - 2rem))\" }}\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head solid-field-delete-flow-head\">\n <SolidDialogTitle>\n <span className=\"flex items-center gap-2\">\n <AlertTriangle size={18} className=\"text-yellow-500\" />\n <span>Remove Field</span>\n </span>\n </SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body solid-field-delete-flow-body\">\n <p className=\"solid-shadcn-dialog-text solid-field-delete-flow-intro\">\n Removing a field is a 2 step process.\n </p>\n <ol className=\"solid-field-delete-flow-list\">\n <li>\n <span className=\"solid-field-delete-flow-index\">1.</span>\n <div className=\"solid-field-delete-flow-step\">\n <p className=\"solid-field-delete-flow-step-title\">Delete the field and save the model form.</p>\n <span className=\"solid-field-delete-flow-step-note\">This marks the field for removal.</span>\n </div>\n </li>\n <li>\n <span className=\"solid-field-delete-flow-index\">2.</span>\n <div className=\"solid-field-delete-flow-step\">\n <p className=\"solid-field-delete-flow-step-title\">Generate code for this model.</p>\n <span className=\"solid-field-delete-flow-step-note\">This removes the field from generated code, metadata tables, and JSON.</span>\n </div>\n </li>\n </ol>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions solid-field-delete-flow-actions\">\n <SolidButton\n size=\"sm\"\n onClick={() => {\n if (rowToDelete) {\n deleteRow(rowToDelete);\n }\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }}\n >\n Ok\n </SolidButton>\n <SolidButton\n size=\"sm\"\n variant=\"outline\"\n onClick={() => {\n setDeleteAlertPopup(false);\n setRowToDelete(null);\n }}\n >\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n\n </>\n }\n </>\n\n\n\n );\n};\nexport default FieldMetaData;\n"]}
@@ -108,7 +108,7 @@ const FieldMetaData = ({ setIsDirty, setFieldDeleted, modelMetaData, fieldMetaDa
108
108
  const showToaster = async (message: any, severity: any) => {
109
109
  const errorMessages = Object.values(message);
110
110
  if (errorMessages.length > 0) {
111
- dispatch(showToast({ severity, summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));
111
+ dispatch(showToast({ severity, summary: ERROR_MESSAGES.ERROR_OCCURED, detail: errorMessages.map(String).join(', '), life: 3000 }));
112
112
  }
113
113
  };
114
114