@solidxai/core-ui 0.1.9-beta.0 → 0.1.9-beta.2

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 (107) hide show
  1. package/dist/components/auth/AuthLayout.js +15 -15
  2. package/dist/components/auth/AuthLayout.js.map +1 -1
  3. package/dist/components/auth/AuthLayout.tsx +1 -1
  4. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  5. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  6. package/dist/components/auth/SolidOTPVerify.js +67 -0
  7. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  8. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  9. package/dist/components/common/AuthBanner.js.map +1 -1
  10. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  11. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  12. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  13. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  14. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  15. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  16. package/dist/components/core/form/SolidFormActionHeader.js +4 -2
  17. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  18. package/dist/components/core/form/SolidFormActionHeader.tsx +4 -2
  19. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  20. package/dist/components/core/form/SolidFormView.js +4 -1
  21. package/dist/components/core/form/SolidFormView.js.map +1 -1
  22. package/dist/components/core/form/SolidFormView.tsx +3 -1
  23. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
  24. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  25. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +2 -2
  26. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
  27. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  28. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +2 -1
  29. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  30. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
  31. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  32. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +10 -21
  33. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  34. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
  35. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  36. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +10 -18
  37. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  38. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +6 -3
  39. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  40. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +24 -30
  41. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  42. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
  43. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  44. package/dist/components/core/list/SolidListViewConfigure.js +31 -2
  45. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  46. package/dist/components/core/list/SolidListViewConfigure.tsx +34 -2
  47. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
  48. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
  49. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +7 -6
  50. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  51. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +10 -9
  52. package/dist/components/core/tree/SolidTreeTable.d.ts +1 -1
  53. package/dist/components/core/tree/SolidTreeTable.d.ts.map +1 -1
  54. package/dist/components/core/tree/SolidTreeTable.js +78 -78
  55. package/dist/components/core/tree/SolidTreeTable.js.map +1 -1
  56. package/dist/components/core/tree/SolidTreeTable.tsx +1 -10
  57. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  58. package/dist/components/layout/user-profile-menu.js +2 -1
  59. package/dist/components/layout/user-profile-menu.js.map +1 -1
  60. package/dist/components/layout/user-profile-menu.tsx +22 -27
  61. package/dist/nextAuth/authProviders.d.ts +4 -0
  62. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  63. package/dist/nextAuth/authProviders.js +198 -0
  64. package/dist/nextAuth/authProviders.js.map +1 -0
  65. package/dist/nextAuth/authProviders.tsx +232 -0
  66. package/dist/nextAuth/handleLogout.d.ts +2 -0
  67. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  68. package/dist/nextAuth/handleLogout.js +36 -0
  69. package/dist/nextAuth/handleLogout.js.map +1 -0
  70. package/dist/nextAuth/handleLogout.tsx +39 -0
  71. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  72. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  73. package/dist/nextAuth/refreshAccessToken.js +24 -0
  74. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  75. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  76. package/dist/redux/features/settingsSlice.d.ts +20 -0
  77. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  78. package/dist/redux/features/settingsSlice.js +39 -0
  79. package/dist/redux/features/settingsSlice.js.map +1 -0
  80. package/dist/redux/features/settingsSlice.ts +60 -0
  81. package/dist/resources/globals.css +7 -1
  82. package/dist/resources/shadcn-base.css +8 -0
  83. package/dist/routes/pages/studio/StudioLandingPage.d.ts.map +1 -1
  84. package/dist/routes/pages/studio/StudioLandingPage.js +35 -7
  85. package/dist/routes/pages/studio/StudioLandingPage.js.map +1 -1
  86. package/dist/routes/pages/studio/StudioLandingPage.tsx +42 -6
  87. package/package.json +1 -1
  88. package/dist/components/core/list/SolidDataTablePagination.d.ts +0 -15
  89. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +0 -1
  90. package/dist/components/core/list/SolidDataTablePagination.js +0 -22
  91. package/dist/components/core/list/SolidDataTablePagination.js.map +0 -1
  92. package/dist/components/core/list/SolidDataTablePagination.tsx +0 -71
  93. package/dist/components/solid-ui/SolidButton.d.ts +0 -14
  94. package/dist/components/solid-ui/SolidButton.d.ts.map +0 -1
  95. package/dist/components/solid-ui/SolidButton.js +0 -36
  96. package/dist/components/solid-ui/SolidButton.js.map +0 -1
  97. package/dist/components/solid-ui/SolidButton.tsx +0 -54
  98. package/dist/components/solid-ui/SolidTabs.d.ts +0 -18
  99. package/dist/components/solid-ui/SolidTabs.d.ts.map +0 -1
  100. package/dist/components/solid-ui/SolidTabs.js +0 -22
  101. package/dist/components/solid-ui/SolidTabs.js.map +0 -1
  102. package/dist/components/solid-ui/SolidTabs.tsx +0 -73
  103. package/dist/components/solid-ui/index.d.ts +0 -3
  104. package/dist/components/solid-ui/index.d.ts.map +0 -1
  105. package/dist/components/solid-ui/index.js +0 -3
  106. package/dist/components/solid-ui/index.js.map +0 -1
  107. package/dist/components/solid-ui/index.ts +0 -2
@@ -0,0 +1,70 @@
1
+ 'use client';
2
+ import { ERROR_MESSAGES } from "../../../constants/error-messages";
3
+ import dynamic from "next/dynamic";
4
+ import { useState, useEffect } from "react";
5
+ // Fallback component for missing components
6
+ const FallbackComponent = ({ componentName }: any) => (
7
+ <div style={{ color: "red" }}>
8
+ Could not load <strong>{componentName}</strong>
9
+ </div>
10
+ );
11
+
12
+ type Props = {
13
+ context: any;
14
+ };
15
+
16
+ export const LoadDynamicJsxComponent = ({ context }: any) => {
17
+
18
+
19
+ // const Component = dynamic<Props>(
20
+ // async () => {
21
+ // try {
22
+
23
+ // const componentName = context?.rowAction?.action?.customComponent.split('/').pop();
24
+ // const mod = await import();
25
+ // // Return the default export or a named export matching the componentName
26
+ // return mod.default || mod[componentName];
27
+ // } catch (error) {
28
+ // console.error(`Failed to load component "${context?.rowAction?.action?.customComponent}":`, error);
29
+ // // Return a fallback component if the import fails
30
+ // return () => <GenerateModelCodeRowAction context={context} />;
31
+ // }
32
+ // },
33
+ // { ssr: false } // Disable server-side rendering
34
+ // );
35
+ const [Component, setComponent] = useState<any>(null);
36
+ const componentPath = context?.rowAction?.action?.customComponent;
37
+ const componentKey = componentPath?.split("/")?.pop();
38
+
39
+ const componentMap: Record<string, any> = {
40
+ "GenerateModelCodeRowAction": dynamic(
41
+ () => import("../extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction"),
42
+ { ssr: false }
43
+ ),
44
+ "GenerateModuleCodeRowAction": dynamic(
45
+ () => import("../extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction"),
46
+ { ssr: false }
47
+ ),
48
+ };
49
+
50
+ useEffect(() => {
51
+ if (!componentKey) return;
52
+
53
+ if (componentMap[componentKey]) {
54
+ setComponent(() => () => setComponent(() => componentMap[componentKey]));
55
+ } else {
56
+ import(componentPath)
57
+ .then((mod) => setComponent(() => mod.default || mod))
58
+ .catch((err) => {
59
+ console.error(` ${ERROR_MESSAGES.LOADING_COMPONENT} ${componentPath}:`, err);
60
+ setComponent(() => () => <FallbackComponent componentName={componentKey} />);
61
+ });
62
+ }
63
+ }, [componentKey]);
64
+
65
+ if (!Component) return <p>Loading...</p>;
66
+
67
+ return <Component context={context} />;
68
+ }
69
+
70
+
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormActionHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormActionHeader.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,qBAAqB,0bAA2b,GAAG,4CA+iB/d,CAAA"}
1
+ {"version":3,"file":"SolidFormActionHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormActionHeader.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,qBAAqB,0bAA2b,GAAG,4CAijB/d,CAAA"}
@@ -31,6 +31,8 @@ export var SolidFormActionHeader = function (_a) {
31
31
  var user = session === null || session === void 0 ? void 0 : session.user;
32
32
  var isPublished = publish && publish !== 'null'; // record is published if publish has value
33
33
  var activeHeaderRequestStatusLabel = headerRequestStatusLabel || (isNavigating ? "Loading..." : null);
34
+ var hasUserInteraction = Object.keys((formik === null || formik === void 0 ? void 0 : formik.touched) || {}).length > 0;
35
+ var shouldShowSaveForExistingRecord = viewMode === "edit" && formik.dirty && hasUserInteraction;
34
36
  useEffect(function () {
35
37
  var _a;
36
38
  if (solidView) {
@@ -194,11 +196,11 @@ export var SolidFormActionHeader = function (_a) {
194
196
  _jsxs(_Fragment, { children: [_jsx("div", { className: "hidden lg:flex", children: _jsx("div", { children: _jsx(SolidButton, { label: "Edit", size: "sm", onClick: function () { return updateViewMode("edit"); }, type: "button" }) }) }), _jsx("div", { className: "lg:hidden", children: _jsx(SolidButton, { icon: "si si-pencil", size: "sm", onClick: function () { return updateViewMode("edit"); }, type: "button", className: "solid-icon-button" }) })] }), params.embeded !== true &&
195
197
  actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'update'))) &&
196
198
  !formViewLayout.attrs.readonly &&
197
- formik.dirty &&
199
+ shouldShowSaveForExistingRecord &&
198
200
  _jsxs("div", { children: [_jsx(SolidButton, { label: "Save", size: "sm", type: "submit", className: "hidden lg:flex", loading: isSubmitting, disabled: isSubmitting }), _jsx(SolidButton, { size: "sm", type: "submit", className: "lg:hidden solid-icon-button", icon: "si si-check", loading: isSubmitting, disabled: isSubmitting })] }), params.embeded == true &&
199
201
  actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'update'))) &&
200
202
  !formViewLayout.attrs.readonly &&
201
- formik.dirty &&
203
+ shouldShowSaveForExistingRecord &&
202
204
  _jsxs("div", { children: [_jsx(SolidButton, { label: "Save", size: "sm", type: "submit", className: "hidden lg:flex", loading: isSubmitting, disabled: isSubmitting }), _jsx(SolidButton, { size: "sm", type: "submit", className: "lg:hidden solid-icon-button", icon: "si si-check", loading: isSubmitting, disabled: isSubmitting })] }), params.embeded == true &&
203
205
  actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'delete'))) &&
204
206
  ((_e = formViewLayout.attrs) === null || _e === void 0 ? void 0 : _e.showDeleteFormButton) !== false &&
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormActionHeader.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormActionHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SolidHeaderRequestStatus } from \"../../../components/common/SolidHeaderRequestStatus\";\nimport { useHandleFormCustomButtonClickaction } from \"../../../components/common/useHandleFormCustomButtonClick\";\nimport { permissionExpression } from \"../../../helpers/permissions\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { normalizeSolidFormActionPath } from \"../../../helpers/routePaths\";\nimport { useEffect, useState } from \"react\";\nimport { SolidFormViewNormalHeaderButton } from \"./SolidFormViewNormalHeaderButton\";\nimport { SolidFormViewContextMenuHeaderButton } from \"./SolidFormViewContextMenuHeaderButton\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { useSession } from '../../../hooks/useSession'\nimport { SolidFormStepper } from \"../../../components/common/SolidFormStepper\";\nimport { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from \"../../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidFormActionHeader = ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel, showMobileOpenChatter, onMobileOpenChatter }: any) => {\n const handleCustomButtonClick = useHandleFormCustomButtonClickaction();\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const [contextMenuHeaderButtons, setContextMenuHeaderButtons] = useState<any>([]);\n const [normalHeaderButtons, setNormalHeaderButtons] = useState<any>([]);\n const [isNavigating, setIsNavigating] = useState(false);\n const [formActionsMenuOpen, setFormActionsMenuOpen] = useState(false);\n const createHeaderTitle = `Create ${solidView.model.displayName}`;\n const editHeaderTitle = `Edit ${solidView.model.displayName}`;\n\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const isPublished = publish && publish !== 'null'; // record is published if publish has value\n const activeHeaderRequestStatusLabel = headerRequestStatusLabel || (isNavigating ? \"Loading...\" : null);\n\n useEffect(() => {\n if (solidView) {\n let contextMenuHeaderButtonsData: any = [];\n let normalHeaderButtonsData: any = [];\n const formHeaderButtons = formViewLayout?.attrs?.formButtons;\n if (formHeaderButtons && formHeaderButtons.length > 0) {\n\n // Process normal header buttons\n contextMenuHeaderButtonsData = formHeaderButtons.filter((button: any) => {\n const visibleToRole = button.attrs?.roles || [];\n const defaultVisible = button.attrs?.visible;\n if (defaultVisible === false) {\n return false;\n }\n if (visibleToRole.length > 0) {\n if (!hasAnyRole(user?.roles, visibleToRole)) {\n return false;\n }\n }\n return button.attrs && button.attrs.actionInContextMenu && button.attrs.actionInContextMenu === true;\n });\n setContextMenuHeaderButtons(contextMenuHeaderButtonsData)\n\n // Process normal header buttons\n normalHeaderButtonsData = formHeaderButtons.filter((button: any) => {\n const visibleToRole = button.attrs?.roles || [];\n if (visibleToRole.length > 0) {\n if (!hasAnyRole(user?.roles, visibleToRole)) {\n return false;\n }\n }\n\n return !button.attrs || !button.attrs.actionInContextMenu || button.attrs.actionInContextMenu === false;\n });\n setNormalHeaderButtons(normalHeaderButtonsData);\n }\n }\n }, [formViewLayout]);\n\n const updateViewMode = (newMode: \"view\" | \"edit\") => {\n setViewMode(newMode);\n const queryParams = new URLSearchParams(searchParams.toString());\n queryParams.set(\"viewMode\", newMode);\n const basePath = params?.id\n ? normalizeSolidFormActionPath(pathname, `form/${params.id}`)\n : pathname;\n router.push(`${basePath}?${queryParams.toString()}`);\n // const router = useRouter();\n // const pathname = usePathname();\n // const params = new URLSearchParams(searchParams?.toString() || \"\");\n // params.set(\"viewMode\", newMode);\n // router.push(`${pathname}?${params.toString()}`, { scroll: false });\n\n };\n const menuButtonClassNames = (...parts: Array<string | false | undefined>) => parts.filter(Boolean).join(\" \");\n\n const FormActionMenuButton = ({\n label,\n icon,\n onClick,\n danger,\n }: {\n label: string;\n icon?: string;\n onClick: () => void;\n danger?: boolean;\n }) => (\n <button\n type=\"button\"\n className={menuButtonClassNames(\"solid-row-action-button\", danger && \"solid-row-action-button-danger\")}\n onClick={onClick}\n >\n {icon && (() => { const m = parseSolidIconMeta(icon); return m ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-row-action-button-icon\" /> : <i className={`${icon} solid-row-action-button-icon`} />; })()}\n <span className=\"solid-row-action-button-label\">{label}</span>\n </button>\n );\n\n const FormActionDropdown = () => {\n const canPublish = actionsAllowed.includes(permissionExpression(params.modelName, 'publish'));\n const canUnpublish = actionsAllowed.includes(permissionExpression(params.modelName, 'unpublish'));\n const closeMenu = () => setFormActionsMenuOpen(false);\n\n return (\n <SolidPopover open={formActionsMenuOpen} onOpenChange={setFormActionsMenuOpen}>\n <div className=\"flex gap-2\">\n <SolidPopoverTrigger asChild>\n <SolidButton\n variant=\"outline\"\n type=\"button\"\n icon={'si si-cog'}\n size=\"sm\"\n className=\"surface-card solid-icon-button hidden md:flex\"\n />\n </SolidPopoverTrigger>\n <SolidPopoverTrigger asChild>\n <SolidButton\n variant=\"outline\"\n type=\"button\"\n icon={'si si-cog'}\n size=\"sm\"\n className=\"surface-card solid-icon-button md:hidden\"\n />\n </SolidPopoverTrigger>\n </div>\n <SolidPopoverContent\n side=\"bottom\"\n align=\"end\"\n className=\"solid-form-actions-popover\"\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"solid-row-actions-menu solid-form-actions-menu\">\n {params.embeded !== true &&\n params.id !== \"new\" &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'delete')}`) &&\n !isPublished &&\n solidView?.layout?.attrs?.showDeleteFormButton !== false &&\n !formViewLayout.attrs.readonly && (\n <FormActionMenuButton\n label=\"Delete\"\n icon=\"si si-trash\"\n danger\n onClick={() => {\n setDeleteDialogVisible(true);\n closeMenu();\n }}\n />\n )}\n <FormActionMenuButton\n label=\"Layout\"\n icon=\"si si-objects-column\"\n onClick={() => {\n setLayoutDialogVisible(true);\n closeMenu();\n }}\n />\n {draftEnabled && params.id !== 'new' && (\n <>\n {!isPublished && canPublish && (\n <FormActionMenuButton\n label=\"Publish\"\n icon=\"si si-cloud-upload\"\n onClick={() => {\n handleDraftPublishWorkFlow('publish');\n closeMenu();\n }}\n />\n )}\n\n {isPublished && canUnpublish && (\n <FormActionMenuButton\n label=\"Unpublish\"\n icon=\"si si-cloud-download\"\n onClick={() => {\n handleDraftPublishWorkFlow('unpublish');\n closeMenu();\n }}\n />\n )}\n </>\n )}\n\n {contextMenuHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewContextMenuHeaderButton\n key={button?.attrs?.action ?? index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n variant=\"menu\"\n onActionComplete={closeMenu}\n />\n )\n })}\n <div className=\"lg:hidden flex flex-column gap-1\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewNormalHeaderButton\n key={button?.attrs?.action ?? index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n variant=\"menu\"\n onActionComplete={closeMenu}\n />\n )\n })}\n {params.embeded !== true && params.draftEnabled &&\n !formViewLayout.attrs.readonly && params.publish !== 'null' &&\n formik.dirty && (\n <FormActionMenuButton\n label=\"Draft\"\n onClick={() => { }}\n />\n )}\n </div>\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n )\n }\n return (\n <>\n <div className=\"page-header solid-list-toolbar flex-column lg:flex-row\">\n <div className=\"flex justify-content-between w-full solid-form-toolbar-row\">\n {params.id === \"new\" ? (\n <>\n <div className=\"flex gap-3 align-items-center solid-form-toolbar-left\">\n {/* {params.embeded !== true && <BackButton />}*/}\n {params.embeded == true &&\n <p className=\"m-0 view-title solid-text-wrapper\">{createHeaderTitle}</p>\n }\n {params.embeded !== true &&\n <SolidFormStepper\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n ></SolidFormStepper>\n }\n </div>\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions\">\n <SolidHeaderRequestStatus label={activeHeaderRequestStatusLabel} />\n <div className=\"hidden lg:flex solid-header-buttons-wrapper\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewNormalHeaderButton\n key={index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n />\n\n )\n })\n }\n </div>\n {params.embeded !== true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Save\"\n size=\"sm\"\n type=\"submit\"\n className=\"hidden lg:flex\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n <SolidButton\n size=\"sm\"\n type=\"submit\"\n className=\"lg:hidden solid-icon-button\"\n icon=\"si si-check\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n </div>\n }\n <div className=\"hidden lg:flex\">\n {params.embeded !== true && params.draftEnabled &&\n !formViewLayout.attrs.readonly && params.publish !== 'null' &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Draft\"\n size=\"sm\"\n type=\"button\"\n />\n </div>\n }\n </div>\n {params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Save\"\n size=\"sm\"\n onClick={() => {\n setRedirectToList(params.redirectToPath ? true : false);\n }}\n type=\"submit\"\n className=\"hidden lg:flex\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n <SolidButton\n size=\"sm\"\n onClick={() => {\n setRedirectToList(params.redirectToPath ? true : false);\n }}\n type=\"submit\"\n className=\"lg:hidden solid-icon-button\"\n icon=\"si si-check\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n </div>\n }\n {params.embeded == true &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" label=\"Close\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse ' style={{ minWidth: 66 }} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" icon=\"si si-times\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse solid-icon-button' />\n </div>\n </>\n }\n {/* {params.embeded !== true &&\n <SolidCancelButton />\n } */}\n {\n formViewLayout?.attrs?.showCogWheelFormButton !== false &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n <FormActionDropdown />\n }\n {\n showMobileOpenChatter &&\n <div className=\"lg:hidden\">\n <SolidButton\n type=\"button\"\n icon=\"si si-comments\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={onMobileOpenChatter}\n aria-label=\"Open chatter\"\n />\n </div>\n }\n </div>\n </>\n ) : (\n <>\n <div className=\"flex gap-3 align-items-center solid-form-toolbar-left\">\n {params.embeded !== true &&\n <SolidFormStepper\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n ></SolidFormStepper>\n }\n {/* {params.embeded !== true && <BackButton />} */}\n {params.embeded == true &&\n <p className=\"m-0 view-title solid-text-wrapper\">{viewMode === \"edit\" ? editHeaderTitle : solidView.model.displayName}</p>\n }\n </div>\n\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions\">\n <SolidHeaderRequestStatus label={activeHeaderRequestStatusLabel} />\n <div className=\"hidden lg:flex solid-header-buttons-wrapper\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n // <SolidButton\n // text\n // type=\"button\"\n // className=\"w-full text-left gap-2\"\n // label={button.attrs.label}\n // size=\"small\"\n // iconPos=\"left\"\n // severity=\"contrast\"\n // icon={button?.attrs?.className ? button?.attrs?.className : \"si si-pencil\"}\n // onClick={() => {\n // const event = {\n // action: button.attrs.action,\n // params,\n // formik,\n // solidFormViewMetaData: solidFormViewMetaData.data\n // }\n // handleCustomButtonClick(button.attrs, event)\n // }}\n // />\n <SolidFormViewNormalHeaderButton\n key={index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n />\n )\n })\n }\n </div>\n {\n !formViewLayout.attrs.readonly &&\n formViewLayout.attrs?.showAddFormButton !== false &&\n params.embeded !== true &&\n viewMode === \"view\" &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton type=\"button\" label=\"Add\" size='sm' onClick={() => {\n setIsNavigating(true);\n router.replace(`${normalizeSolidFormActionPath(pathname, \"form\")}/new?viewMode=edit`);\n }} loading={isNavigating} disabled={isNavigating} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton type=\"button\" icon=\"si si-plus\" size='sm' onClick={() => {\n setIsNavigating(true);\n router.replace(`${normalizeSolidFormActionPath(pathname, \"form\")}/new?viewMode=edit`);\n }} className=\"solid-icon-button\" loading={isNavigating} disabled={isNavigating} />\n </div>\n </>\n }\n {\n !formViewLayout.attrs.readonly &&\n formViewLayout.attrs?.showEditFormButton !== false &&\n params.embeded !== true &&\n viewMode === \"view\" &&\n !isPublished &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton label=\"Edit\" size=\"sm\" onClick={() => updateViewMode(\"edit\")} type=\"button\" />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton icon=\"si si-pencil\" size=\"sm\" onClick={() => updateViewMode(\"edit\")} type=\"button\" className=\"solid-icon-button\" />\n </div>\n </>\n }\n\n {\n params.embeded !== true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n\n <div>\n <SolidButton label=\"Save\" size=\"sm\" type=\"submit\" className=\"hidden lg:flex\" loading={isSubmitting} disabled={isSubmitting} />\n <SolidButton size=\"sm\" type=\"submit\" className=\"lg:hidden solid-icon-button\" icon=\"si si-check\" loading={isSubmitting} disabled={isSubmitting} />\n </div>\n }\n\n {/* Inline */}\n\n {\n params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n\n <div>\n <SolidButton label=\"Save\" size=\"sm\" type=\"submit\" className=\"hidden lg:flex\" loading={isSubmitting} disabled={isSubmitting} />\n <SolidButton size=\"sm\" type=\"submit\" className=\"lg:hidden solid-icon-button\" icon=\"si si-check\" loading={isSubmitting} disabled={isSubmitting} />\n\n </div>\n }\n\n {\n params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'delete')}`) &&\n formViewLayout.attrs?.showDeleteFormButton !== false &&\n !formViewLayout.attrs.readonly &&\n !isPublished &&\n <div>\n <SolidButton size=\"sm\" type=\"button\" label=\"Delete\" variant=\"destructive\" onClick={() => setDeleteDialogVisible(true)} />\n </div>\n }\n {\n params.embeded == true &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" label=\"Close\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse ' style={{ minWidth: 66 }} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" icon=\"si si-times\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse solid-icon-button' />\n </div>\n </>\n }\n {/* {\n params.embeded !== true &&\n\n <SolidCancelButton />\n } */}\n {\n formViewLayout?.attrs?.showCogWheelFormButton !== false &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n\n <FormActionDropdown />\n }\n {\n showMobileOpenChatter &&\n <div className=\"lg:hidden\">\n <SolidButton\n type=\"button\"\n icon=\"si si-comments\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={onMobileOpenChatter}\n aria-label=\"Open chatter\"\n />\n </div>\n }\n </div>\n </>\n )}\n </div>\n </div>\n {/* {params.embeded !== true &&\n <SolidFormHeader\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n />\n } */}\n </>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidFormActionHeader.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormActionHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SolidHeaderRequestStatus } from \"../../../components/common/SolidHeaderRequestStatus\";\nimport { useHandleFormCustomButtonClickaction } from \"../../../components/common/useHandleFormCustomButtonClick\";\nimport { permissionExpression } from \"../../../helpers/permissions\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { normalizeSolidFormActionPath } from \"../../../helpers/routePaths\";\nimport { useEffect, useState } from \"react\";\nimport { SolidFormViewNormalHeaderButton } from \"./SolidFormViewNormalHeaderButton\";\nimport { SolidFormViewContextMenuHeaderButton } from \"./SolidFormViewContextMenuHeaderButton\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { useSession } from '../../../hooks/useSession'\nimport { SolidFormStepper } from \"../../../components/common/SolidFormStepper\";\nimport { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from \"../../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidFormActionHeader = ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel, showMobileOpenChatter, onMobileOpenChatter }: any) => {\n const handleCustomButtonClick = useHandleFormCustomButtonClickaction();\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const [contextMenuHeaderButtons, setContextMenuHeaderButtons] = useState<any>([]);\n const [normalHeaderButtons, setNormalHeaderButtons] = useState<any>([]);\n const [isNavigating, setIsNavigating] = useState(false);\n const [formActionsMenuOpen, setFormActionsMenuOpen] = useState(false);\n const createHeaderTitle = `Create ${solidView.model.displayName}`;\n const editHeaderTitle = `Edit ${solidView.model.displayName}`;\n\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const isPublished = publish && publish !== 'null'; // record is published if publish has value\n const activeHeaderRequestStatusLabel = headerRequestStatusLabel || (isNavigating ? \"Loading...\" : null);\n const hasUserInteraction = Object.keys(formik?.touched || {}).length > 0;\n const shouldShowSaveForExistingRecord = viewMode === \"edit\" && formik.dirty && hasUserInteraction;\n\n useEffect(() => {\n if (solidView) {\n let contextMenuHeaderButtonsData: any = [];\n let normalHeaderButtonsData: any = [];\n const formHeaderButtons = formViewLayout?.attrs?.formButtons;\n if (formHeaderButtons && formHeaderButtons.length > 0) {\n\n // Process normal header buttons\n contextMenuHeaderButtonsData = formHeaderButtons.filter((button: any) => {\n const visibleToRole = button.attrs?.roles || [];\n const defaultVisible = button.attrs?.visible;\n if (defaultVisible === false) {\n return false;\n }\n if (visibleToRole.length > 0) {\n if (!hasAnyRole(user?.roles, visibleToRole)) {\n return false;\n }\n }\n return button.attrs && button.attrs.actionInContextMenu && button.attrs.actionInContextMenu === true;\n });\n setContextMenuHeaderButtons(contextMenuHeaderButtonsData)\n\n // Process normal header buttons\n normalHeaderButtonsData = formHeaderButtons.filter((button: any) => {\n const visibleToRole = button.attrs?.roles || [];\n if (visibleToRole.length > 0) {\n if (!hasAnyRole(user?.roles, visibleToRole)) {\n return false;\n }\n }\n\n return !button.attrs || !button.attrs.actionInContextMenu || button.attrs.actionInContextMenu === false;\n });\n setNormalHeaderButtons(normalHeaderButtonsData);\n }\n }\n }, [formViewLayout]);\n\n const updateViewMode = (newMode: \"view\" | \"edit\") => {\n setViewMode(newMode);\n const queryParams = new URLSearchParams(searchParams.toString());\n queryParams.set(\"viewMode\", newMode);\n const basePath = params?.id\n ? normalizeSolidFormActionPath(pathname, `form/${params.id}`)\n : pathname;\n router.push(`${basePath}?${queryParams.toString()}`);\n // const router = useRouter();\n // const pathname = usePathname();\n // const params = new URLSearchParams(searchParams?.toString() || \"\");\n // params.set(\"viewMode\", newMode);\n // router.push(`${pathname}?${params.toString()}`, { scroll: false });\n\n };\n const menuButtonClassNames = (...parts: Array<string | false | undefined>) => parts.filter(Boolean).join(\" \");\n\n const FormActionMenuButton = ({\n label,\n icon,\n onClick,\n danger,\n }: {\n label: string;\n icon?: string;\n onClick: () => void;\n danger?: boolean;\n }) => (\n <button\n type=\"button\"\n className={menuButtonClassNames(\"solid-row-action-button\", danger && \"solid-row-action-button-danger\")}\n onClick={onClick}\n >\n {icon && (() => { const m = parseSolidIconMeta(icon); return m ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-row-action-button-icon\" /> : <i className={`${icon} solid-row-action-button-icon`} />; })()}\n <span className=\"solid-row-action-button-label\">{label}</span>\n </button>\n );\n\n const FormActionDropdown = () => {\n const canPublish = actionsAllowed.includes(permissionExpression(params.modelName, 'publish'));\n const canUnpublish = actionsAllowed.includes(permissionExpression(params.modelName, 'unpublish'));\n const closeMenu = () => setFormActionsMenuOpen(false);\n\n return (\n <SolidPopover open={formActionsMenuOpen} onOpenChange={setFormActionsMenuOpen}>\n <div className=\"flex gap-2\">\n <SolidPopoverTrigger asChild>\n <SolidButton\n variant=\"outline\"\n type=\"button\"\n icon={'si si-cog'}\n size=\"sm\"\n className=\"surface-card solid-icon-button hidden md:flex\"\n />\n </SolidPopoverTrigger>\n <SolidPopoverTrigger asChild>\n <SolidButton\n variant=\"outline\"\n type=\"button\"\n icon={'si si-cog'}\n size=\"sm\"\n className=\"surface-card solid-icon-button md:hidden\"\n />\n </SolidPopoverTrigger>\n </div>\n <SolidPopoverContent\n side=\"bottom\"\n align=\"end\"\n className=\"solid-form-actions-popover\"\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"solid-row-actions-menu solid-form-actions-menu\">\n {params.embeded !== true &&\n params.id !== \"new\" &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'delete')}`) &&\n !isPublished &&\n solidView?.layout?.attrs?.showDeleteFormButton !== false &&\n !formViewLayout.attrs.readonly && (\n <FormActionMenuButton\n label=\"Delete\"\n icon=\"si si-trash\"\n danger\n onClick={() => {\n setDeleteDialogVisible(true);\n closeMenu();\n }}\n />\n )}\n <FormActionMenuButton\n label=\"Layout\"\n icon=\"si si-objects-column\"\n onClick={() => {\n setLayoutDialogVisible(true);\n closeMenu();\n }}\n />\n {draftEnabled && params.id !== 'new' && (\n <>\n {!isPublished && canPublish && (\n <FormActionMenuButton\n label=\"Publish\"\n icon=\"si si-cloud-upload\"\n onClick={() => {\n handleDraftPublishWorkFlow('publish');\n closeMenu();\n }}\n />\n )}\n\n {isPublished && canUnpublish && (\n <FormActionMenuButton\n label=\"Unpublish\"\n icon=\"si si-cloud-download\"\n onClick={() => {\n handleDraftPublishWorkFlow('unpublish');\n closeMenu();\n }}\n />\n )}\n </>\n )}\n\n {contextMenuHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewContextMenuHeaderButton\n key={button?.attrs?.action ?? index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n variant=\"menu\"\n onActionComplete={closeMenu}\n />\n )\n })}\n <div className=\"lg:hidden flex flex-column gap-1\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewNormalHeaderButton\n key={button?.attrs?.action ?? index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n variant=\"menu\"\n onActionComplete={closeMenu}\n />\n )\n })}\n {params.embeded !== true && params.draftEnabled &&\n !formViewLayout.attrs.readonly && params.publish !== 'null' &&\n formik.dirty && (\n <FormActionMenuButton\n label=\"Draft\"\n onClick={() => { }}\n />\n )}\n </div>\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n )\n }\n return (\n <>\n <div className=\"page-header solid-list-toolbar flex-column lg:flex-row\">\n <div className=\"flex justify-content-between w-full solid-form-toolbar-row\">\n {params.id === \"new\" ? (\n <>\n <div className=\"flex gap-3 align-items-center solid-form-toolbar-left\">\n {/* {params.embeded !== true && <BackButton />}*/}\n {params.embeded == true &&\n <p className=\"m-0 view-title solid-text-wrapper\">{createHeaderTitle}</p>\n }\n {params.embeded !== true &&\n <SolidFormStepper\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n ></SolidFormStepper>\n }\n </div>\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions\">\n <SolidHeaderRequestStatus label={activeHeaderRequestStatusLabel} />\n <div className=\"hidden lg:flex solid-header-buttons-wrapper\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewNormalHeaderButton\n key={index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n />\n\n )\n })\n }\n </div>\n {params.embeded !== true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Save\"\n size=\"sm\"\n type=\"submit\"\n className=\"hidden lg:flex\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n <SolidButton\n size=\"sm\"\n type=\"submit\"\n className=\"lg:hidden solid-icon-button\"\n icon=\"si si-check\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n </div>\n }\n <div className=\"hidden lg:flex\">\n {params.embeded !== true && params.draftEnabled &&\n !formViewLayout.attrs.readonly && params.publish !== 'null' &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Draft\"\n size=\"sm\"\n type=\"button\"\n />\n </div>\n }\n </div>\n {params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Save\"\n size=\"sm\"\n onClick={() => {\n setRedirectToList(params.redirectToPath ? true : false);\n }}\n type=\"submit\"\n className=\"hidden lg:flex\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n <SolidButton\n size=\"sm\"\n onClick={() => {\n setRedirectToList(params.redirectToPath ? true : false);\n }}\n type=\"submit\"\n className=\"lg:hidden solid-icon-button\"\n icon=\"si si-check\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n </div>\n }\n {params.embeded == true &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" label=\"Close\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse ' style={{ minWidth: 66 }} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" icon=\"si si-times\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse solid-icon-button' />\n </div>\n </>\n }\n {/* {params.embeded !== true &&\n <SolidCancelButton />\n } */}\n {\n formViewLayout?.attrs?.showCogWheelFormButton !== false &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n <FormActionDropdown />\n }\n {\n showMobileOpenChatter &&\n <div className=\"lg:hidden\">\n <SolidButton\n type=\"button\"\n icon=\"si si-comments\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={onMobileOpenChatter}\n aria-label=\"Open chatter\"\n />\n </div>\n }\n </div>\n </>\n ) : (\n <>\n <div className=\"flex gap-3 align-items-center solid-form-toolbar-left\">\n {params.embeded !== true &&\n <SolidFormStepper\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n ></SolidFormStepper>\n }\n {/* {params.embeded !== true && <BackButton />} */}\n {params.embeded == true &&\n <p className=\"m-0 view-title solid-text-wrapper\">{viewMode === \"edit\" ? editHeaderTitle : solidView.model.displayName}</p>\n }\n </div>\n\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions\">\n <SolidHeaderRequestStatus label={activeHeaderRequestStatusLabel} />\n <div className=\"hidden lg:flex solid-header-buttons-wrapper\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n // <SolidButton\n // text\n // type=\"button\"\n // className=\"w-full text-left gap-2\"\n // label={button.attrs.label}\n // size=\"small\"\n // iconPos=\"left\"\n // severity=\"contrast\"\n // icon={button?.attrs?.className ? button?.attrs?.className : \"si si-pencil\"}\n // onClick={() => {\n // const event = {\n // action: button.attrs.action,\n // params,\n // formik,\n // solidFormViewMetaData: solidFormViewMetaData.data\n // }\n // handleCustomButtonClick(button.attrs, event)\n // }}\n // />\n <SolidFormViewNormalHeaderButton\n key={index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n />\n )\n })\n }\n </div>\n {\n !formViewLayout.attrs.readonly &&\n formViewLayout.attrs?.showAddFormButton !== false &&\n params.embeded !== true &&\n viewMode === \"view\" &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton type=\"button\" label=\"Add\" size='sm' onClick={() => {\n setIsNavigating(true);\n router.replace(`${normalizeSolidFormActionPath(pathname, \"form\")}/new?viewMode=edit`);\n }} loading={isNavigating} disabled={isNavigating} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton type=\"button\" icon=\"si si-plus\" size='sm' onClick={() => {\n setIsNavigating(true);\n router.replace(`${normalizeSolidFormActionPath(pathname, \"form\")}/new?viewMode=edit`);\n }} className=\"solid-icon-button\" loading={isNavigating} disabled={isNavigating} />\n </div>\n </>\n }\n {\n !formViewLayout.attrs.readonly &&\n formViewLayout.attrs?.showEditFormButton !== false &&\n params.embeded !== true &&\n viewMode === \"view\" &&\n !isPublished &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton label=\"Edit\" size=\"sm\" onClick={() => updateViewMode(\"edit\")} type=\"button\" />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton icon=\"si si-pencil\" size=\"sm\" onClick={() => updateViewMode(\"edit\")} type=\"button\" className=\"solid-icon-button\" />\n </div>\n </>\n }\n\n {\n params.embeded !== true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n !formViewLayout.attrs.readonly &&\n shouldShowSaveForExistingRecord &&\n\n <div>\n <SolidButton label=\"Save\" size=\"sm\" type=\"submit\" className=\"hidden lg:flex\" loading={isSubmitting} disabled={isSubmitting} />\n <SolidButton size=\"sm\" type=\"submit\" className=\"lg:hidden solid-icon-button\" icon=\"si si-check\" loading={isSubmitting} disabled={isSubmitting} />\n </div>\n }\n\n {/* Inline */}\n\n {\n params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n !formViewLayout.attrs.readonly &&\n shouldShowSaveForExistingRecord &&\n\n <div>\n <SolidButton label=\"Save\" size=\"sm\" type=\"submit\" className=\"hidden lg:flex\" loading={isSubmitting} disabled={isSubmitting} />\n <SolidButton size=\"sm\" type=\"submit\" className=\"lg:hidden solid-icon-button\" icon=\"si si-check\" loading={isSubmitting} disabled={isSubmitting} />\n\n </div>\n }\n\n {\n params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'delete')}`) &&\n formViewLayout.attrs?.showDeleteFormButton !== false &&\n !formViewLayout.attrs.readonly &&\n !isPublished &&\n <div>\n <SolidButton size=\"sm\" type=\"button\" label=\"Delete\" variant=\"destructive\" onClick={() => setDeleteDialogVisible(true)} />\n </div>\n }\n {\n params.embeded == true &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" label=\"Close\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse ' style={{ minWidth: 66 }} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" icon=\"si si-times\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse solid-icon-button' />\n </div>\n </>\n }\n {/* {\n params.embeded !== true &&\n\n <SolidCancelButton />\n } */}\n {\n formViewLayout?.attrs?.showCogWheelFormButton !== false &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n\n <FormActionDropdown />\n }\n {\n showMobileOpenChatter &&\n <div className=\"lg:hidden\">\n <SolidButton\n type=\"button\"\n icon=\"si si-comments\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={onMobileOpenChatter}\n aria-label=\"Open chatter\"\n />\n </div>\n }\n </div>\n </>\n )}\n </div>\n </div>\n {/* {params.embeded !== true &&\n <SolidFormHeader\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n />\n } */}\n </>\n )\n}\n"]}
@@ -31,6 +31,8 @@ export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formView
31
31
 
32
32
  const isPublished = publish && publish !== 'null'; // record is published if publish has value
33
33
  const activeHeaderRequestStatusLabel = headerRequestStatusLabel || (isNavigating ? "Loading..." : null);
34
+ const hasUserInteraction = Object.keys(formik?.touched || {}).length > 0;
35
+ const shouldShowSaveForExistingRecord = viewMode === "edit" && formik.dirty && hasUserInteraction;
34
36
 
35
37
  useEffect(() => {
36
38
  if (solidView) {
@@ -484,7 +486,7 @@ export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formView
484
486
  params.embeded !== true &&
485
487
  actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&
486
488
  !formViewLayout.attrs.readonly &&
487
- formik.dirty &&
489
+ shouldShowSaveForExistingRecord &&
488
490
 
489
491
  <div>
490
492
  <SolidButton label="Save" size="sm" type="submit" className="hidden lg:flex" loading={isSubmitting} disabled={isSubmitting} />
@@ -498,7 +500,7 @@ export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formView
498
500
  params.embeded == true &&
499
501
  actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&
500
502
  !formViewLayout.attrs.readonly &&
501
- formik.dirty &&
503
+ shouldShowSaveForExistingRecord &&
502
504
 
503
505
  <div>
504
506
  <SolidButton label="Save" size="sm" type="submit" className="hidden lg:flex" loading={isSubmitting} disabled={isSubmitting} />
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormView.tsx"],"names":[],"mappings":"AA4DA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAyBF,eAAO,MAAM,uBAAuB,WAAY,GAAG,EAAE,KAAG,GAQvD,CAAA;AACD,eAAO,MAAM,sBAAsB,QAAS,MAAM,uBAAuB,OAAO,MAAM,EAAE,GAAG,CAAC,QAa3F,CAAC;AA0UF,QAAA,MAAM,aAAa,WAAY,kBAAkB,4CAw6ChD,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"SolidFormView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormView.tsx"],"names":[],"mappings":"AA4DA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAyBF,eAAO,MAAM,uBAAuB,WAAY,GAAG,EAAE,KAAG,GAQvD,CAAA;AACD,eAAO,MAAM,sBAAsB,QAAS,MAAM,uBAAuB,OAAO,MAAM,EAAE,GAAG,CAAC,QAa3F,CAAC;AA0UF,QAAA,MAAM,aAAa,WAAY,kBAAkB,4CA06ChD,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1205,10 +1205,13 @@ var SolidFormView = function (params) {
1205
1205
  switch (_b.label) {
1206
1206
  case 0:
1207
1207
  // console.log("formFieldOnXXX", eventType, event);
1208
- // Invoke the formik change
1208
+ // Invoke the formik change
1209
1209
  if (eventType === 'onFieldChange') {
1210
1210
  formik.handleChange(event);
1211
1211
  }
1212
+ else if (eventType === 'onFieldBlur') {
1213
+ formik.handleBlur(event);
1214
+ }
1212
1215
  _a = event.target, fieldName = _a.name, value = _a.value, type = _a.type, checked = _a.checked;
1213
1216
  changeHandler = solidView_1.layout.attrs[eventType];
1214
1217
  if (!changeHandler) {