@solidxai/core-ui 0.1.8-beta.19 → 0.1.8-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/auth/getSession.d.ts.map +1 -1
- package/dist/adapters/auth/getSession.js +1 -1
- package/dist/adapters/auth/getSession.js.map +1 -1
- package/dist/adapters/auth/getSession.ts +1 -0
- package/dist/adapters/auth/helper.d.ts.map +1 -1
- package/dist/adapters/auth/helper.js +1 -0
- package/dist/adapters/auth/helper.js.map +1 -1
- package/dist/adapters/auth/helper.ts +3 -1
- package/dist/adapters/auth/signIn.d.ts.map +1 -1
- package/dist/adapters/auth/signIn.js +1 -0
- package/dist/adapters/auth/signIn.js.map +1 -1
- package/dist/adapters/auth/signIn.ts +3 -1
- package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts +1 -0
- package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts.map +1 -1
- package/dist/adapters/auth/signInWithOAuthAccessCode.js +10 -9
- package/dist/adapters/auth/signInWithOAuthAccessCode.js.map +1 -1
- package/dist/adapters/auth/signInWithOAuthAccessCode.ts +6 -3
- package/dist/adapters/auth/signOut.d.ts.map +1 -1
- package/dist/adapters/auth/signOut.js +7 -1
- package/dist/adapters/auth/signOut.js.map +1 -1
- package/dist/adapters/auth/signOut.ts +7 -1
- package/dist/adapters/auth/types.d.ts +1 -0
- package/dist/adapters/auth/types.d.ts.map +1 -1
- package/dist/adapters/auth/types.js.map +1 -1
- package/dist/adapters/auth/types.ts +1 -0
- package/dist/components/auth/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +2 -1
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +2 -1
- package/dist/components/auth/FacebookAuthChecking.d.ts +2 -0
- package/dist/components/auth/FacebookAuthChecking.d.ts.map +1 -0
- package/dist/components/auth/FacebookAuthChecking.js +103 -0
- package/dist/components/auth/FacebookAuthChecking.js.map +1 -0
- package/dist/components/auth/FacebookAuthChecking.tsx +64 -0
- package/dist/components/auth/GoogleAuthChecking.js +0 -1
- package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
- package/dist/components/auth/GoogleAuthChecking.tsx +1 -1
- package/dist/components/auth/MicrosoftAuthChecking.d.ts +2 -0
- package/dist/components/auth/MicrosoftAuthChecking.d.ts.map +1 -0
- package/dist/components/auth/MicrosoftAuthChecking.js +103 -0
- package/dist/components/auth/MicrosoftAuthChecking.js.map +1 -0
- package/dist/components/auth/MicrosoftAuthChecking.tsx +64 -0
- package/dist/components/auth/SolidInitialLoginOtp.js +0 -1
- package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.tsx +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.js +28 -12
- package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.tsx +26 -11
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +7 -4
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +15 -3
- package/dist/components/auth/SolidRegister.d.ts.map +1 -1
- package/dist/components/auth/SolidRegister.js +48 -17
- package/dist/components/auth/SolidRegister.js.map +1 -1
- package/dist/components/auth/SolidRegister.tsx +87 -30
- package/dist/components/common/AuthBanner.js.map +1 -1
- package/dist/components/common/GeneralSettings.d.ts.map +1 -1
- package/dist/components/common/GeneralSettings.js +228 -146
- package/dist/components/common/GeneralSettings.js.map +1 -1
- package/dist/components/common/GeneralSettings.tsx +1103 -772
- package/dist/components/common/SettingsComponent.d.ts +2 -0
- package/dist/components/common/SettingsComponent.d.ts.map +1 -0
- package/dist/components/common/SettingsComponent.js +351 -0
- package/dist/components/common/SettingsComponent.js.map +1 -0
- package/dist/components/common/SettingsComponent.module.css +421 -0
- package/dist/components/common/SettingsComponent.tsx +582 -0
- package/dist/components/common/SocialMediaLogin.d.ts +8 -1
- package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
- package/dist/components/common/SocialMediaLogin.js +6 -13
- package/dist/components/common/SocialMediaLogin.js.map +1 -1
- package/dist/components/common/SocialMediaLogin.tsx +120 -58
- package/dist/components/common/SolidExport.d.ts.map +1 -1
- package/dist/components/common/SolidExport.js +1 -1
- package/dist/components/common/SolidExport.js.map +1 -1
- package/dist/components/common/SolidExport.tsx +2 -1
- package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
- package/dist/components/common/SolidFormStepper.js +2 -1
- package/dist/components/common/SolidFormStepper.js.map +1 -1
- package/dist/components/common/SolidFormStepper.tsx +2 -1
- package/dist/components/common/solid-export.css +26 -0
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +24 -25
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +22 -27
- package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.tsx +1 -1
- package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatter.js +39 -9
- package/dist/components/core/chatter/SolidChatter.js.map +1 -1
- package/dist/components/core/chatter/SolidChatter.tsx +42 -7
- package/dist/components/core/chatter/SolidChatterAuditMessage.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterAuditMessage.js +19 -1
- package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +22 -1
- package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +3 -0
- package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterMessageBox.js +68 -4
- package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterMessageBox.tsx +45 -3
- package/dist/components/core/chatter/chatter.module.css +0 -3
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +3 -1
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +3 -1
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +9 -8
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +4 -2
- package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts +3 -0
- package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js +81 -0
- package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.tsx +114 -0
- package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
- package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormActionHeader.js +5 -3
- package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
- package/dist/components/core/form/SolidFormActionHeader.tsx +27 -1
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +67 -27
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +54 -7
- package/dist/components/core/form/fields/SolidComputedField.d.ts +25 -0
- package/dist/components/core/form/fields/SolidComputedField.d.ts.map +1 -0
- package/dist/components/core/form/fields/SolidComputedField.js +128 -0
- package/dist/components/core/form/fields/SolidComputedField.js.map +1 -0
- package/dist/components/core/form/fields/SolidComputedField.tsx +134 -0
- package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js +11 -3
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +13 -4
- package/dist/components/core/kanban/KanbanBoard.js +1 -1
- package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.tsx +1 -1
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +216 -102
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +204 -72
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +1 -1
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
- package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +1 -2
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +21 -10
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +18 -10
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +3 -6
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +30 -24
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
- package/dist/components/core/list/SolidDataTablePagination.d.ts +15 -0
- package/dist/components/core/list/SolidDataTablePagination.d.ts.map +1 -0
- package/dist/components/core/list/SolidDataTablePagination.js +22 -0
- package/dist/components/core/list/SolidDataTablePagination.js.map +1 -0
- package/dist/components/core/list/SolidDataTablePagination.tsx +71 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +58 -61
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +42 -46
- package/dist/components/core/list/SolidListViewConfigure.js +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +6 -7
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +9 -10
- package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
- package/dist/components/layout/user-profile-menu.js +15 -14
- package/dist/components/layout/user-profile-menu.js.map +1 -1
- package/dist/components/layout/user-profile-menu.tsx +8 -6
- package/dist/components/shad-cn-ui/SolidDialog.d.ts +1 -1
- package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidDialog.tsx +1 -1
- package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -2
- package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidIcon.js +3 -4
- package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidIcon.tsx +12 -15
- package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidRichTextEditor.js +9 -1
- package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +8 -1
- package/dist/components/shad-cn-ui/SolidTabs.d.ts +2 -1
- package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.js +2 -2
- package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.tsx +12 -1
- package/dist/components/solid-ui/SolidButton.d.ts +14 -0
- package/dist/components/solid-ui/SolidButton.d.ts.map +1 -0
- package/dist/components/solid-ui/SolidButton.js +36 -0
- package/dist/components/solid-ui/SolidButton.js.map +1 -0
- package/dist/components/solid-ui/SolidButton.tsx +54 -0
- package/dist/components/solid-ui/SolidTabs.d.ts +18 -0
- package/dist/components/solid-ui/SolidTabs.d.ts.map +1 -0
- package/dist/components/solid-ui/SolidTabs.js +22 -0
- package/dist/components/solid-ui/SolidTabs.js.map +1 -0
- package/dist/components/solid-ui/SolidTabs.tsx +73 -0
- package/dist/components/solid-ui/index.d.ts +3 -0
- package/dist/components/solid-ui/index.d.ts.map +1 -0
- package/dist/components/solid-ui/index.js +3 -0
- package/dist/components/solid-ui/index.js.map +1 -0
- package/dist/components/solid-ui/index.ts +2 -0
- package/dist/helpers/registry.d.ts +2 -2
- package/dist/helpers/registry.d.ts.map +1 -1
- package/dist/helpers/registry.js +4 -0
- package/dist/helpers/registry.js.map +1 -1
- package/dist/helpers/registry.ts +5 -3
- package/dist/helpers/settingsPayload.d.ts +32 -0
- package/dist/helpers/settingsPayload.d.ts.map +1 -0
- package/dist/helpers/settingsPayload.js +72 -0
- package/dist/helpers/settingsPayload.js.map +1 -0
- package/dist/helpers/settingsPayload.ts +125 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/index.ts +4 -0
- package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
- package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
- package/dist/redux/api/solidChatterMessageApi.js +11 -1
- package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
- package/dist/redux/api/solidChatterMessageApi.ts +10 -1
- package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/resources/globals.css +5 -1
- package/dist/resources/shadcn-base.css +242 -81
- package/dist/resources/solid-responsive.css +22 -4
- package/dist/routes/AppEventListener.js +1 -1
- package/dist/routes/AppEventListener.js.map +1 -1
- package/dist/routes/AppEventListener.tsx +1 -1
- package/dist/routes/pages/admin/core/SettingsPage.js +2 -2
- package/dist/routes/pages/admin/core/SettingsPage.js.map +1 -1
- package/dist/routes/pages/admin/core/SettingsPage.tsx +2 -2
- package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts +2 -0
- package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts.map +1 -0
- package/dist/routes/pages/auth/InitiateFacebookOauthPage.js +6 -0
- package/dist/routes/pages/auth/InitiateFacebookOauthPage.js.map +1 -0
- package/dist/routes/pages/auth/InitiateFacebookOauthPage.tsx +5 -0
- package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts +2 -0
- package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts.map +1 -0
- package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js +6 -0
- package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js.map +1 -0
- package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.tsx +5 -0
- package/dist/routes/solidRoutes.d.ts.map +1 -1
- package/dist/routes/solidRoutes.js +5 -1
- package/dist/routes/solidRoutes.js.map +1 -1
- package/dist/routes/solidRoutes.tsx +5 -1
- package/dist/routes/types.d.ts +1 -1
- package/dist/routes/types.d.ts.map +1 -1
- package/dist/routes/types.js.map +1 -1
- package/dist/routes/types.ts +2 -0
- package/dist/types/extension-registry.d.ts +1 -0
- package/dist/types/extension-registry.d.ts.map +1 -1
- package/dist/types/extension-registry.js +1 -0
- package/dist/types/extension-registry.js.map +1 -1
- package/dist/types/extension-registry.ts +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/solid-core.d.ts +10 -0
- package/package.json +1 -1
- package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
- package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
- package/dist/components/auth/SolidOTPVerify.js +0 -67
- package/dist/components/auth/SolidOTPVerify.js.map +0 -1
- package/dist/components/auth/SolidOTPVerify.tsx +0 -133
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
- package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
- package/dist/nextAuth/authProviders.d.ts +0 -4
- package/dist/nextAuth/authProviders.d.ts.map +0 -1
- package/dist/nextAuth/authProviders.js +0 -198
- package/dist/nextAuth/authProviders.js.map +0 -1
- package/dist/nextAuth/authProviders.tsx +0 -232
- package/dist/nextAuth/handleLogout.d.ts +0 -2
- package/dist/nextAuth/handleLogout.d.ts.map +0 -1
- package/dist/nextAuth/handleLogout.js +0 -36
- package/dist/nextAuth/handleLogout.js.map +0 -1
- package/dist/nextAuth/handleLogout.tsx +0 -39
- package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
- package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
- package/dist/nextAuth/refreshAccessToken.js +0 -24
- package/dist/nextAuth/refreshAccessToken.js.map +0 -1
- package/dist/nextAuth/refreshAccessToken.tsx +0 -28
- package/dist/redux/features/settingsSlice.d.ts +0 -20
- package/dist/redux/features/settingsSlice.d.ts.map +0 -1
- package/dist/redux/features/settingsSlice.js +0 -39
- package/dist/redux/features/settingsSlice.js.map +0 -1
- package/dist/redux/features/settingsSlice.ts +0 -60
package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.tsx
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { useMemo, useState } from "react";
|
|
2
|
+
import { SolidButton, SolidTabGroup } from "../../../../shad-cn-ui";
|
|
3
|
+
import type { SolidSettingsWidgetProps } from "../../../../../types/solid-core";
|
|
4
|
+
import {
|
|
5
|
+
ModelConfigTab,
|
|
6
|
+
ProvidersTab,
|
|
7
|
+
type ModelBehavior,
|
|
8
|
+
type ModelEntry,
|
|
9
|
+
type SolidAiConfig,
|
|
10
|
+
ensureBuiltInProviders,
|
|
11
|
+
} from "../../../../common/SolidSettings/LlmSettings/AiModelConfigTab";
|
|
12
|
+
|
|
13
|
+
const DEFAULT_BEHAVIOR: ModelBehavior = { streaming: false, custom: "" };
|
|
14
|
+
const DEFAULT_MODEL_ENTRY: ModelEntry = { providerId: "", model: "", behavior: DEFAULT_BEHAVIOR };
|
|
15
|
+
|
|
16
|
+
function toSolidAiConfig(value: unknown): SolidAiConfig {
|
|
17
|
+
const defaultConfig: SolidAiConfig = {
|
|
18
|
+
models: {
|
|
19
|
+
default: DEFAULT_MODEL_ENTRY,
|
|
20
|
+
fast: DEFAULT_MODEL_ENTRY,
|
|
21
|
+
},
|
|
22
|
+
providers: {},
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
if (!value) return defaultConfig;
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
const parsed = typeof value === "string" ? JSON.parse(value) : value;
|
|
29
|
+
if (!parsed || typeof parsed !== "object") return defaultConfig;
|
|
30
|
+
const typed = parsed as SolidAiConfig;
|
|
31
|
+
return {
|
|
32
|
+
models: {
|
|
33
|
+
default: typed.models?.default ?? DEFAULT_MODEL_ENTRY,
|
|
34
|
+
fast: typed.models?.fast ?? DEFAULT_MODEL_ENTRY,
|
|
35
|
+
},
|
|
36
|
+
providers: typed.providers ?? {},
|
|
37
|
+
};
|
|
38
|
+
} catch {
|
|
39
|
+
return defaultConfig;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export default function solidXGenAiCodeBuilderConfigWidget({ setting, value, updateValue }: SolidSettingsWidgetProps) {
|
|
44
|
+
const [activeTab, setActiveTab] = useState<"providers" | "default" | "fast">("providers");
|
|
45
|
+
const [showAddProvider, setShowAddProvider] = useState(false);
|
|
46
|
+
|
|
47
|
+
const aiConfig = useMemo(() => toSolidAiConfig(value), [value]);
|
|
48
|
+
const providers = ensureBuiltInProviders(aiConfig.providers ?? {});
|
|
49
|
+
|
|
50
|
+
const onAiConfigChange = (nextConfig: SolidAiConfig) => {
|
|
51
|
+
updateValue(setting.key, nextConfig);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const tabs = [
|
|
55
|
+
{
|
|
56
|
+
value: "providers" as const,
|
|
57
|
+
label: "Providers",
|
|
58
|
+
content: (
|
|
59
|
+
<ProvidersTab
|
|
60
|
+
providers={providers}
|
|
61
|
+
onProvidersChange={(nextProviders: SolidAiConfig["providers"]) => {
|
|
62
|
+
onAiConfigChange({ ...aiConfig, providers: nextProviders });
|
|
63
|
+
}}
|
|
64
|
+
showAddModal={showAddProvider}
|
|
65
|
+
onAddModalClose={() => setShowAddProvider(false)}
|
|
66
|
+
/>
|
|
67
|
+
),
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
value: "default" as const,
|
|
71
|
+
label: "Intelligent Model",
|
|
72
|
+
content: (
|
|
73
|
+
<ModelConfigTab
|
|
74
|
+
modelEntry={aiConfig.models?.default ?? DEFAULT_MODEL_ENTRY}
|
|
75
|
+
providers={providers}
|
|
76
|
+
onModelEntryChange={(entry: ModelEntry) => {
|
|
77
|
+
onAiConfigChange({ ...aiConfig, models: { ...aiConfig.models, default: entry } });
|
|
78
|
+
}}
|
|
79
|
+
/>
|
|
80
|
+
),
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
value: "fast" as const,
|
|
84
|
+
label: "Fast Model",
|
|
85
|
+
content: (
|
|
86
|
+
<ModelConfigTab
|
|
87
|
+
modelEntry={aiConfig.models?.fast ?? DEFAULT_MODEL_ENTRY}
|
|
88
|
+
providers={providers}
|
|
89
|
+
onModelEntryChange={(entry: ModelEntry) => {
|
|
90
|
+
onAiConfigChange({ ...aiConfig, models: { ...aiConfig.models, fast: entry } });
|
|
91
|
+
}}
|
|
92
|
+
/>
|
|
93
|
+
),
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
return (
|
|
98
|
+
<div>
|
|
99
|
+
<SolidTabGroup
|
|
100
|
+
tabs={tabs}
|
|
101
|
+
value={activeTab}
|
|
102
|
+
onValueChange={(tab: string) => setActiveTab(tab as "providers" | "default" | "fast")}
|
|
103
|
+
tabPosition="left"
|
|
104
|
+
extra={
|
|
105
|
+
activeTab === "providers" ? (
|
|
106
|
+
<SolidButton size="sm" onClick={() => setShowAddProvider(true)}>
|
|
107
|
+
Add
|
|
108
|
+
</SolidButton>
|
|
109
|
+
) : undefined
|
|
110
|
+
}
|
|
111
|
+
/>
|
|
112
|
+
</div>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SolidFormActionHeader: ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel }: any) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export declare 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) => import("react/jsx-runtime").JSX.Element;
|
|
2
2
|
//# sourceMappingURL=SolidFormActionHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidFormActionHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormActionHeader.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,qBAAqB,
|
|
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"}
|
|
@@ -16,7 +16,7 @@ import { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } f
|
|
|
16
16
|
import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
|
|
17
17
|
export var SolidFormActionHeader = function (_a) {
|
|
18
18
|
var _b, _c, _d, _e, _f;
|
|
19
|
-
var formik = _a.formik, params = _a.params, actionsAllowed = _a.actionsAllowed, formViewLayout = _a.formViewLayout, solidView = _a.solidView, solidFormViewMetaData = _a.solidFormViewMetaData, initialEntityData = _a.initialEntityData, setDeleteDialogVisible = _a.setDeleteDialogVisible, setLayoutDialogVisible = _a.setLayoutDialogVisible, setRedirectToList = _a.setRedirectToList, viewMode = _a.viewMode, setViewMode = _a.setViewMode, solidWorkflowFieldValue = _a.solidWorkflowFieldValue, setSolidWorkflowFieldValue = _a.setSolidWorkflowFieldValue, internationalisationEnabled = _a.internationalisationEnabled, handleDraftPublishWorkFlow = _a.handleDraftPublishWorkFlow, publish = _a.publish, draftEnabled = _a.draftEnabled, onStepperUpdate = _a.onStepperUpdate, formData = _a.formData, isSubmitting = _a.isSubmitting, headerRequestStatusLabel = _a.headerRequestStatusLabel;
|
|
19
|
+
var formik = _a.formik, params = _a.params, actionsAllowed = _a.actionsAllowed, formViewLayout = _a.formViewLayout, solidView = _a.solidView, solidFormViewMetaData = _a.solidFormViewMetaData, initialEntityData = _a.initialEntityData, setDeleteDialogVisible = _a.setDeleteDialogVisible, setLayoutDialogVisible = _a.setLayoutDialogVisible, setRedirectToList = _a.setRedirectToList, viewMode = _a.viewMode, setViewMode = _a.setViewMode, solidWorkflowFieldValue = _a.solidWorkflowFieldValue, setSolidWorkflowFieldValue = _a.setSolidWorkflowFieldValue, internationalisationEnabled = _a.internationalisationEnabled, handleDraftPublishWorkFlow = _a.handleDraftPublishWorkFlow, publish = _a.publish, draftEnabled = _a.draftEnabled, onStepperUpdate = _a.onStepperUpdate, formData = _a.formData, isSubmitting = _a.isSubmitting, headerRequestStatusLabel = _a.headerRequestStatusLabel, showMobileOpenChatter = _a.showMobileOpenChatter, onMobileOpenChatter = _a.onMobileOpenChatter;
|
|
20
20
|
var handleCustomButtonClick = useHandleFormCustomButtonClickaction();
|
|
21
21
|
var router = useRouter();
|
|
22
22
|
var pathname = usePathname();
|
|
@@ -149,7 +149,8 @@ export var SolidFormActionHeader = function (_a) {
|
|
|
149
149
|
_jsxs(_Fragment, { children: [_jsx("div", { className: "hidden lg:flex", children: _jsx("div", { children: _jsx(SolidButton, { variant: "outline", size: "sm", type: "button", label: "Close", onClick: function () { return params.handlePopupClose(); }, className: 'bg-primary-reverse ', style: { minWidth: 66 } }) }) }), _jsx("div", { className: "lg:hidden", children: _jsx(SolidButton, { variant: "outline", size: "sm", type: "button", icon: "si si-times", onClick: function () { return params.handlePopupClose(); }, className: 'bg-primary-reverse solid-icon-button' }) })] }), ((_b = formViewLayout === null || formViewLayout === void 0 ? void 0 : formViewLayout.attrs) === null || _b === void 0 ? void 0 : _b.showCogWheelFormButton) !== false &&
|
|
150
150
|
actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'update'))) &&
|
|
151
151
|
actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'create'))) &&
|
|
152
|
-
_jsx(FormActionDropdown, {})
|
|
152
|
+
_jsx(FormActionDropdown, {}), showMobileOpenChatter &&
|
|
153
|
+
_jsx("div", { className: "lg:hidden", children: _jsx(SolidButton, { type: "button", icon: "si si-comments", size: "sm", className: "solid-icon-button", onClick: onMobileOpenChatter, "aria-label": "Open chatter" }) })] })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex gap-3 align-items-center solid-form-toolbar-left", children: [params.embeded !== true &&
|
|
153
154
|
_jsx(SolidFormStepper, { solidFormViewMetaData: solidFormViewMetaData, initialEntityData: initialEntityData, modelName: params.modelName, id: params.id, solidWorkflowFieldValue: solidWorkflowFieldValue, setSolidWorkflowFieldValue: setSolidWorkflowFieldValue, onStepperUpdate: onStepperUpdate }), params.embeded == true &&
|
|
154
155
|
_jsx("p", { className: "m-0 view-title solid-text-wrapper", children: viewMode === "edit" ? editHeaderTitle : solidView.model.displayName })] }), _jsxs("div", { className: "flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions", children: [_jsx(SolidHeaderRequestStatus, { label: activeHeaderRequestStatusLabel }), _jsx("div", { className: "hidden lg:flex solid-header-buttons-wrapper", children: normalHeaderButtons.map(function (button, index) {
|
|
155
156
|
return (
|
|
@@ -207,6 +208,7 @@ export var SolidFormActionHeader = function (_a) {
|
|
|
207
208
|
_jsxs(_Fragment, { children: [_jsx("div", { className: "hidden lg:flex", children: _jsx("div", { children: _jsx(SolidButton, { variant: "outline", size: "sm", type: "button", label: "Close", onClick: function () { return params.handlePopupClose(); }, className: 'bg-primary-reverse ', style: { minWidth: 66 } }) }) }), _jsx("div", { className: "lg:hidden", children: _jsx(SolidButton, { variant: "outline", size: "sm", type: "button", icon: "si si-times", onClick: function () { return params.handlePopupClose(); }, className: 'bg-primary-reverse solid-icon-button' }) })] }), ((_f = formViewLayout === null || formViewLayout === void 0 ? void 0 : formViewLayout.attrs) === null || _f === void 0 ? void 0 : _f.showCogWheelFormButton) !== false &&
|
|
208
209
|
actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'update'))) &&
|
|
209
210
|
actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'create'))) &&
|
|
210
|
-
_jsx(FormActionDropdown, {})
|
|
211
|
+
_jsx(FormActionDropdown, {}), showMobileOpenChatter &&
|
|
212
|
+
_jsx("div", { className: "lg:hidden", children: _jsx(SolidButton, { type: "button", icon: "si si-comments", size: "sm", className: "solid-icon-button", onClick: onMobileOpenChatter, "aria-label": "Open chatter" }) })] })] })) }) }) }));
|
|
211
213
|
};
|
|
212
214
|
//# sourceMappingURL=SolidFormActionHeader.js.map
|
|
@@ -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 }: 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 </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 </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":";AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,oCAAoC,EAAE,MAAM,2DAA2D,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,EAA0b;;QAAxb,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,cAAc,oBAAA,EAAE,cAAc,oBAAA,EAAE,SAAS,eAAA,EAAE,qBAAqB,2BAAA,EAAE,iBAAiB,uBAAA,EAAE,sBAAsB,4BAAA,EAAE,sBAAsB,4BAAA,EAAE,iBAAiB,uBAAA,EAAE,QAAQ,cAAA,EAAE,WAAW,iBAAA,EAAE,uBAAuB,6BAAA,EAAE,0BAA0B,gCAAA,EAAE,2BAA2B,iCAAA,EAAE,0BAA0B,gCAAA,EAAE,OAAO,aAAA,EAAE,YAAY,kBAAA,EAAE,eAAe,qBAAA,EAAE,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAE,wBAAwB,8BAAA,EAAE,qBAAqB,2BAAA,EAAE,mBAAmB,yBAAA;IACrd,IAAM,uBAAuB,GAAG,oCAAoC,EAAE,CAAC;IACvE,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACjC,IAAA,KAA0D,QAAQ,CAAM,EAAE,CAAC,EAA1E,wBAAwB,QAAA,EAAE,2BAA2B,QAAqB,CAAC;IAC5E,IAAA,KAAgD,QAAQ,CAAM,EAAE,CAAC,EAAhE,mBAAmB,QAAA,EAAE,sBAAsB,QAAqB,CAAC;IAClE,IAAA,KAAkC,QAAQ,CAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAC;IAClD,IAAA,KAAgD,QAAQ,CAAC,KAAK,CAAC,EAA9D,mBAAmB,QAAA,EAAE,sBAAsB,QAAmB,CAAC;IACtE,IAAM,iBAAiB,GAAG,iBAAU,SAAS,CAAC,KAAK,CAAC,WAAW,CAAE,CAAC;IAClE,IAAM,eAAe,GAAG,eAAQ,SAAS,CAAC,KAAK,CAAC,WAAW,CAAE,CAAC;IAExD,IAAA,KAA4B,UAAU,EAAE,EAAhC,OAAO,UAAA,EAAE,MAAM,YAAiB,CAAC;IAC/C,IAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAE3B,IAAM,WAAW,GAAG,OAAO,IAAI,OAAO,KAAK,MAAM,CAAC,CAAG,2CAA2C;IAChG,IAAM,8BAA8B,GAAG,wBAAwB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAExG,SAAS,CAAC;;QACN,IAAI,SAAS,EAAE;YACX,IAAI,4BAA4B,GAAQ,EAAE,CAAC;YAC3C,IAAI,uBAAuB,GAAQ,EAAE,CAAC;YACtC,IAAM,iBAAiB,GAAG,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,WAAW,CAAC;YAC7D,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAEnD,gCAAgC;gBAChC,4BAA4B,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAC,MAAW;;oBAChE,IAAM,aAAa,GAAG,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,KAAK,KAAI,EAAE,CAAC;oBAChD,IAAM,cAAc,GAAG,MAAA,MAAM,CAAC,KAAK,0CAAE,OAAO,CAAC;oBAC7C,IAAI,cAAc,KAAK,KAAK,EAAE;wBAC1B,OAAO,KAAK,CAAC;qBAChB;oBACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,aAAa,CAAC,EAAE;4BACzC,OAAO,KAAK,CAAC;yBAChB;qBACJ;oBACD,OAAO,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,IAAI,CAAC;gBACzG,CAAC,CAAC,CAAC;gBACH,2BAA2B,CAAC,4BAA4B,CAAC,CAAA;gBAEzD,gCAAgC;gBAChC,uBAAuB,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAC,MAAW;;oBAC3D,IAAM,aAAa,GAAG,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,KAAK,KAAI,EAAE,CAAC;oBAChD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,aAAa,CAAC,EAAE;4BACzC,OAAO,KAAK,CAAC;yBAChB;qBACJ;oBAED,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,KAAK,CAAC;gBAC5G,CAAC,CAAC,CAAC;gBACH,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;aACnD;SACJ;IACL,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,IAAM,cAAc,GAAG,UAAC,OAAwB;QAC5C,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,IAAM,WAAW,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrC,IAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE;YACvB,CAAC,CAAC,4BAA4B,CAAC,QAAQ,EAAE,eAAQ,MAAM,CAAC,EAAE,CAAE,CAAC;YAC7D,CAAC,CAAC,QAAQ,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,UAAG,QAAQ,cAAI,WAAW,CAAC,QAAQ,EAAE,CAAE,CAAC,CAAC;QACrD,8BAA8B;QAC9B,kCAAkC;QAClC,sEAAsE;QACtE,mCAAmC;QACnC,sEAAsE;IAE1E,CAAC,CAAC;IACF,IAAM,oBAAoB,GAAG;QAAC,eAA2C;aAA3C,UAA2C,EAA3C,qBAA2C,EAA3C,IAA2C;YAA3C,0BAA2C;;QAAK,OAAA,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAA/B,CAA+B,CAAC;IAE9G,IAAM,oBAAoB,GAAG,UAAC,EAU7B;YATG,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,MAAM,YAAA;QAMJ,OAAA,CACF,kBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,oBAAoB,CAAC,yBAAyB,EAAE,MAAM,IAAI,gCAAgC,CAAC,EACtG,OAAO,EAAE,OAAO,aAEf,IAAI,IAAI,CAAC,cAAQ,IAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAC,8BAA8B,GAAG,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,UAAG,IAAI,kCAA+B,GAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EACpN,eAAM,SAAS,EAAC,+BAA+B,YAAE,KAAK,GAAQ,IACzD,CACZ;IATK,CASL,CAAC;IAEF,IAAM,kBAAkB,GAAG;;QACvB,IAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9F,IAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAClG,IAAM,SAAS,GAAG,cAAM,OAAA,sBAAsB,CAAC,KAAK,CAAC,EAA7B,CAA6B,CAAC;QAEtD,OAAO,CACH,MAAC,YAAY,IAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,sBAAsB,aACzE,eAAK,SAAS,EAAC,YAAY,aACvB,KAAC,mBAAmB,IAAC,OAAO,kBACxB,KAAC,WAAW,IACR,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,WAAW,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,+CAA+C,GAC3D,GACgB,EACtB,KAAC,mBAAmB,IAAC,OAAO,kBACxB,KAAC,WAAW,IACR,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,WAAW,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,0CAA0C,GACtD,GACgB,IACpB,EACN,KAAC,mBAAmB,IAChB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,KAAK,EACX,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,eAAe,EAAE,EAAvB,CAAuB,YAE3C,eAAK,SAAS,EAAC,gDAAgD,aAC1D,MAAM,CAAC,OAAO,KAAK,IAAI;gCACpB,MAAM,CAAC,EAAE,KAAK,KAAK;gCACnB,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;gCAC9E,CAAC,WAAW;gCACZ,CAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,0CAAE,KAAK,0CAAE,oBAAoB,MAAK,KAAK;gCACxD,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,IAAI,CAC9B,KAAC,oBAAoB,IACjB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,aAAa,EAClB,MAAM,QACN,OAAO,EAAE;oCACL,sBAAsB,CAAC,IAAI,CAAC,CAAC;oCAC7B,SAAS,EAAE,CAAC;gCAChB,CAAC,GACH,CACL,EACL,KAAC,oBAAoB,IACjB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,sBAAsB,EAC3B,OAAO,EAAE;oCACL,sBAAsB,CAAC,IAAI,CAAC,CAAC;oCAC7B,SAAS,EAAE,CAAC;gCAChB,CAAC,GACH,EACD,YAAY,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,CACpC,8BACK,CAAC,WAAW,IAAI,UAAU,IAAI,CAC3B,KAAC,oBAAoB,IACjB,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,oBAAoB,EACzB,OAAO,EAAE;4CACL,0BAA0B,CAAC,SAAS,CAAC,CAAC;4CACtC,SAAS,EAAE,CAAC;wCAChB,CAAC,GACH,CACL,EAEA,WAAW,IAAI,YAAY,IAAI,CAC5B,KAAC,oBAAoB,IACjB,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,sBAAsB,EAC3B,OAAO,EAAE;4CACL,0BAA0B,CAAC,WAAW,CAAC,CAAC;4CACxC,SAAS,EAAE,CAAC;wCAChB,CAAC,GACH,CACL,IACF,CACN,EAEA,wBAAwB,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,KAAa;;gCACrD,OAAO,CACH,KAAC,oCAAoC,IAEjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,EAChD,OAAO,EAAC,MAAM,EACd,gBAAgB,EAAE,SAAS,IARtB,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,mCAAI,KAAK,CASrC,CACL,CAAA;4BACL,CAAC,CAAC,EACF,eAAK,SAAS,EAAC,kCAAkC,aAC5C,mBAAmB,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,KAAa;;wCAChD,OAAO,CACH,KAAC,+BAA+B,IAE5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,EAChD,OAAO,EAAC,MAAM,EACd,gBAAgB,EAAE,SAAS,IARtB,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,mCAAI,KAAK,CASrC,CACL,CAAA;oCACL,CAAC,CAAC,EACD,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY;wCAC3C,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM;wCAC3D,MAAM,CAAC,KAAK,IAAI,CACZ,KAAC,oBAAoB,IACjB,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,cAAQ,CAAC,GACpB,CACL,IACH,IACJ,GACY,IACX,CAClB,CAAA;IACL,CAAC,CAAA;IACD,OAAO,CACH,4BACI,cAAK,SAAS,EAAC,wDAAwD,YACnE,cAAK,SAAS,EAAC,4DAA4D,YACtE,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CACnB,8BACI,eAAK,SAAS,EAAC,uDAAuD,aAEjE,MAAM,CAAC,OAAO,IAAI,IAAI;oCACnB,YAAG,SAAS,EAAC,mCAAmC,YAAE,iBAAiB,GAAK,EAE3E,MAAM,CAAC,OAAO,KAAK,IAAI;oCACpB,KAAC,gBAAgB,IACb,qBAAqB,EAAE,qBAAqB,EAC5C,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,EAAE,EAAE,MAAM,CAAC,EAAE,EACb,uBAAuB,EAAE,uBAAuB,EAChD,0BAA0B,EAAE,0BAA0B,EACtD,eAAe,EAAE,eAAe,GAChB,IAEtB,EACN,eAAK,SAAS,EAAC,iFAAiF,aAC5F,KAAC,wBAAwB,IAAC,KAAK,EAAE,8BAA8B,GAAI,EACnE,cAAK,SAAS,EAAC,6CAA6C,YACvD,mBAAmB,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,KAAa;wCAChD,OAAO,CACH,KAAC,+BAA+B,IAE5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,IAN3C,KAAK,CAOZ,CAEL,CAAA;oCACL,CAAC,CAAC,GAEA,EACL,MAAM,CAAC,OAAO,KAAK,IAAI;oCACpB,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ;oCAC9B,MAAM,CAAC,KAAK;oCACZ,0BACI,KAAC,WAAW,IACR,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,IAAI,EACT,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,YAAY,GACxB,EACF,KAAC,WAAW,IACR,IAAI,EAAC,IAAI,EACT,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,6BAA6B,EACvC,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,YAAY,GACxB,IACA,EAEV,cAAK,SAAS,EAAC,gBAAgB,YAC1B,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY;wCAC3C,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM;wCAC3D,MAAM,CAAC,KAAK;wCACZ,wBACI,KAAC,WAAW,IACR,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,IAAI,EACT,IAAI,EAAC,QAAQ,GACf,GACA,GAER,EACL,MAAM,CAAC,OAAO,IAAI,IAAI;oCACnB,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ;oCAC9B,MAAM,CAAC,KAAK;oCACZ,0BACI,KAAC,WAAW,IACR,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,IAAI,EACT,OAAO,EAAE;oDACL,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gDAC5D,CAAC,EACD,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,YAAY,GACxB,EACF,KAAC,WAAW,IACR,IAAI,EAAC,IAAI,EACT,OAAO,EAAE;oDACL,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gDAC5D,CAAC,EACD,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,6BAA6B,EACvC,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,YAAY,GACxB,IACA,EAET,MAAM,CAAC,OAAO,IAAI,IAAI;oCACnB,8BACI,cAAK,SAAS,EAAC,gBAAgB,YAC3B,wBACI,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAE,cAAM,OAAA,MAAM,CAAC,gBAAgB,EAAE,EAAzB,CAAyB,EAAE,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,GACxK,GACJ,EACN,cAAK,SAAS,EAAC,WAAW,YACtB,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,cAAM,OAAA,MAAM,CAAC,gBAAgB,EAAE,EAAzB,CAAyB,EAAE,SAAS,EAAC,sCAAsC,GAAG,GACrK,IACP,EAMH,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,sBAAsB,MAAK,KAAK;oCACvD,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,KAAC,kBAAkB,KAAG,EAGtB,qBAAqB;oCACrB,cAAK,SAAS,EAAC,WAAW,YACtB,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,gBAAgB,EACrB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,mBAAmB,EAC7B,OAAO,EAAE,mBAAmB,gBACjB,cAAc,GAC3B,GACA,IAER,IACP,CACN,CAAC,CAAC,CAAC,CACA,8BACI,eAAK,SAAS,EAAC,uDAAuD,aACjE,MAAM,CAAC,OAAO,KAAK,IAAI;oCACpB,KAAC,gBAAgB,IACb,qBAAqB,EAAE,qBAAqB,EAC5C,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,EAAE,EAAE,MAAM,CAAC,EAAE,EACb,uBAAuB,EAAE,uBAAuB,EAChD,0BAA0B,EAAE,0BAA0B,EACtD,eAAe,EAAE,eAAe,GAChB,EAGvB,MAAM,CAAC,OAAO,IAAI,IAAI;oCACnB,YAAG,SAAS,EAAC,mCAAmC,YAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,GAAK,IAE5H,EAEN,eAAK,SAAS,EAAC,iFAAiF,aAC5F,KAAC,wBAAwB,IAAC,KAAK,EAAE,8BAA8B,GAAI,EACnE,cAAK,SAAS,EAAC,6CAA6C,YACvD,mBAAmB,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,KAAa;wCAChD,OAAO;wCACH,eAAe;wCACf,WAAW;wCACX,qBAAqB;wCACrB,yCAAyC;wCACzC,iCAAiC;wCACjC,mBAAmB;wCACnB,qBAAqB;wCACrB,0BAA0B;wCAC1B,kFAAkF;wCAClF,uBAAuB;wCACvB,0BAA0B;wCAC1B,2CAA2C;wCAC3C,sBAAsB;wCACtB,sBAAsB;wCACtB,gEAAgE;wCAChE,YAAY;wCACZ,uDAAuD;wCACvD,SAAS;wCACT,KAAK;wCACL,KAAC,+BAA+B,IAE5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,IAN3C,KAAK,CAOZ,CACL,CAAA;oCACL,CAAC,CAAC,GAEA,EAEF,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ;oCAC9B,CAAA,MAAA,cAAc,CAAC,KAAK,0CAAE,iBAAiB,MAAK,KAAK;oCACjD,MAAM,CAAC,OAAO,KAAK,IAAI;oCACvB,QAAQ,KAAK,MAAM;oCACnB,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,8BACI,cAAK,SAAS,EAAC,gBAAgB,YAC3B,wBACI,KAAC,WAAW,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE;4DACtD,eAAe,CAAC,IAAI,CAAC,CAAC;4DACtB,MAAM,CAAC,OAAO,CAAC,UAAG,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,uBAAoB,CAAC,CAAC;wDAC1F,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAI,GAClD,GACJ,EACN,cAAK,SAAS,EAAC,WAAW,YACtB,KAAC,WAAW,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE;wDAC5D,eAAe,CAAC,IAAI,CAAC,CAAC;wDACtB,MAAM,CAAC,OAAO,CAAC,UAAG,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,uBAAoB,CAAC,CAAC;oDAC1F,CAAC,EAAE,SAAS,EAAC,mBAAmB,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAI,GAChF,IACP,EAGH,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ;oCAC9B,CAAA,MAAA,cAAc,CAAC,KAAK,0CAAE,kBAAkB,MAAK,KAAK;oCAClD,MAAM,CAAC,OAAO,KAAK,IAAI;oCACvB,QAAQ,KAAK,MAAM;oCACnB,CAAC,WAAW;oCACZ,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,8BACI,cAAK,SAAS,EAAC,gBAAgB,YAC3B,wBACI,KAAC,WAAW,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,MAAM,CAAC,EAAtB,CAAsB,EAAE,IAAI,EAAC,QAAQ,GAAG,GACzF,GACJ,EACN,cAAK,SAAS,EAAC,WAAW,YACtB,KAAC,WAAW,IAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,MAAM,CAAC,EAAtB,CAAsB,EAAE,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,mBAAmB,GAAG,GAC9H,IACP,EAIH,MAAM,CAAC,OAAO,KAAK,IAAI;oCACvB,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ;oCAC9B,MAAM,CAAC,KAAK;oCAEZ,0BACI,KAAC,WAAW,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,gBAAgB,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAI,EAC9H,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,6BAA6B,EAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAI,IAC/I,EAMN,MAAM,CAAC,OAAO,IAAI,IAAI;oCACtB,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ;oCAC9B,MAAM,CAAC,KAAK;oCAEZ,0BACI,KAAC,WAAW,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,gBAAgB,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAI,EAC9H,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,6BAA6B,EAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAI,IAE/I,EAIN,MAAM,CAAC,OAAO,IAAI,IAAI;oCACtB,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,CAAA,MAAA,cAAc,CAAC,KAAK,0CAAE,oBAAoB,MAAK,KAAK;oCACpD,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ;oCAC9B,CAAC,WAAW;oCACZ,wBACI,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,aAAa,EAAC,OAAO,EAAE,cAAM,OAAA,sBAAsB,CAAC,IAAI,CAAC,EAA5B,CAA4B,GAAI,GACvH,EAGN,MAAM,CAAC,OAAO,IAAI,IAAI;oCACtB,8BACI,cAAK,SAAS,EAAC,gBAAgB,YAC3B,wBACI,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAE,cAAM,OAAA,MAAM,CAAC,gBAAgB,EAAE,EAAzB,CAAyB,EAAE,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,GACxK,GACJ,EACN,cAAK,SAAS,EAAC,WAAW,YACtB,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,cAAM,OAAA,MAAM,CAAC,gBAAgB,EAAE,EAAzB,CAAyB,EAAE,SAAS,EAAC,sCAAsC,GAAG,GACrK,IACP,EAQH,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,sBAAsB,MAAK,KAAK;oCACvD,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAC9E,cAAc,CAAC,QAAQ,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAE,CAAC;oCAE9E,KAAC,kBAAkB,KAAG,EAGtB,qBAAqB;oCACrB,cAAK,SAAS,EAAC,WAAW,YACtB,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,gBAAgB,EACrB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,mBAAmB,EAC7B,OAAO,EAAE,mBAAmB,gBACjB,cAAc,GAC3B,GACA,IAER,IACP,CACN,GACC,GACJ,GAYP,CACN,CAAA;AACL,CAAC,CAAA","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"]}
|
|
@@ -14,7 +14,7 @@ import { SolidFormStepper } from "../../../components/common/SolidFormStepper";
|
|
|
14
14
|
import { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from "../../shad-cn-ui";
|
|
15
15
|
import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
|
|
16
16
|
|
|
17
|
-
export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel }: any) => {
|
|
17
|
+
export 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) => {
|
|
18
18
|
const handleCustomButtonClick = useHandleFormCustomButtonClickaction();
|
|
19
19
|
const router = useRouter();
|
|
20
20
|
const pathname = usePathname();
|
|
@@ -366,6 +366,19 @@ export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formView
|
|
|
366
366
|
actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&
|
|
367
367
|
<FormActionDropdown />
|
|
368
368
|
}
|
|
369
|
+
{
|
|
370
|
+
showMobileOpenChatter &&
|
|
371
|
+
<div className="lg:hidden">
|
|
372
|
+
<SolidButton
|
|
373
|
+
type="button"
|
|
374
|
+
icon="si si-comments"
|
|
375
|
+
size="sm"
|
|
376
|
+
className="solid-icon-button"
|
|
377
|
+
onClick={onMobileOpenChatter}
|
|
378
|
+
aria-label="Open chatter"
|
|
379
|
+
/>
|
|
380
|
+
</div>
|
|
381
|
+
}
|
|
369
382
|
</div>
|
|
370
383
|
</>
|
|
371
384
|
) : (
|
|
@@ -529,6 +542,19 @@ export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formView
|
|
|
529
542
|
|
|
530
543
|
<FormActionDropdown />
|
|
531
544
|
}
|
|
545
|
+
{
|
|
546
|
+
showMobileOpenChatter &&
|
|
547
|
+
<div className="lg:hidden">
|
|
548
|
+
<SolidButton
|
|
549
|
+
type="button"
|
|
550
|
+
icon="si si-comments"
|
|
551
|
+
size="sm"
|
|
552
|
+
className="solid-icon-button"
|
|
553
|
+
onClick={onMobileOpenChatter}
|
|
554
|
+
aria-label="Open chatter"
|
|
555
|
+
/>
|
|
556
|
+
</div>
|
|
557
|
+
}
|
|
532
558
|
</div>
|
|
533
559
|
</>
|
|
534
560
|
)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidFormView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormView.tsx"],"names":[],"mappings":"
|
|
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"}
|