@solidxai/core-ui 0.1.8-beta.9 → 0.1.9-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- 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 +1 -1
- package/dist/components/auth/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +92 -22
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +38 -12
- package/dist/components/auth/AuthSettingsContext.d.ts +10 -0
- package/dist/components/auth/AuthSettingsContext.d.ts.map +1 -0
- package/dist/components/auth/AuthSettingsContext.js +49 -0
- package/dist/components/auth/AuthSettingsContext.js.map +1 -0
- package/dist/components/auth/AuthSettingsContext.tsx +19 -0
- 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 +98 -0
- package/dist/components/auth/FacebookAuthChecking.js.map +1 -0
- package/dist/components/auth/FacebookAuthChecking.tsx +59 -0
- package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
- package/dist/components/auth/ForgotPasswordThankYou.js +3 -7
- package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
- package/dist/components/auth/ForgotPasswordThankYou.tsx +4 -9
- package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
- package/dist/components/auth/GoogleAuthChecking.js +10 -16
- package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
- package/dist/components/auth/GoogleAuthChecking.tsx +2 -7
- 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 +98 -0
- package/dist/components/auth/MicrosoftAuthChecking.js.map +1 -0
- package/dist/components/auth/MicrosoftAuthChecking.tsx +59 -0
- package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidForgotPassword.js +3 -7
- package/dist/components/auth/SolidForgotPassword.js.map +1 -1
- package/dist/components/auth/SolidForgotPassword.tsx +4 -9
- package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.js +21 -30
- package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.tsx +5 -13
- package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.js +35 -22
- package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.tsx +28 -16
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +25 -31
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +19 -16
- package/dist/components/auth/SolidRegister.d.ts.map +1 -1
- package/dist/components/auth/SolidRegister.js +59 -31
- package/dist/components/auth/SolidRegister.js.map +1 -1
- package/dist/components/auth/SolidRegister.tsx +91 -38
- package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidResetPassword.js +2 -6
- package/dist/components/auth/SolidResetPassword.js.map +1 -1
- package/dist/components/auth/SolidResetPassword.tsx +2 -6
- 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 +235 -151
- package/dist/components/common/GeneralSettings.js.map +1 -1
- package/dist/components/common/GeneralSettings.tsx +1109 -776
- 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.module.css +149 -0
- 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/common/SolidAccountSettings/SolidVersionInfo.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js +21 -4
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.tsx +128 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +1 -1
- package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts +7 -0
- package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js +75 -0
- package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.ts +45 -0
- 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 +10 -5
- package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
- package/dist/components/core/form/SolidFormActionHeader.tsx +33 -4
- package/dist/components/core/form/SolidFormLayouts.js +1 -1
- package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
- package/dist/components/core/form/SolidFormLayouts.tsx +1 -1
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +122 -28
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +111 -10
- 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/SolidDateTimeField.js +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.tsx +1 -1
- package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.js +4 -1
- package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.tsx +4 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js +35 -24
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +30 -14
- package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.js +29 -28
- package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +17 -12
- package/dist/components/core/form/fields/SolidTimeField.js +1 -1
- package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
- package/dist/components/core/form/fields/SolidTimeField.tsx +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -2
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +2 -2
- package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +3 -3
- package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
- package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +0 -5
- 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/SolidDataTable.d.ts.map +1 -1
- package/dist/components/core/list/SolidDataTable.js +6 -5
- package/dist/components/core/list/SolidDataTable.js.map +1 -1
- package/dist/components/core/list/SolidDataTable.tsx +6 -5
- 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/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -3
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +1 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +60 -63
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +43 -48
- package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js +32 -3
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +35 -3
- package/dist/components/core/list/SolidListViewRowActionsMenu.js +2 -2
- package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
- package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +2 -2
- 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/core/list/columns/relations/SolidRelationManyToOneColumn.js +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +1 -1
- package/dist/components/core/tree/SolidTreeTable.d.ts +1 -1
- package/dist/components/core/tree/SolidTreeTable.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeTable.js +78 -78
- package/dist/components/core/tree/SolidTreeTable.js.map +1 -1
- package/dist/components/core/tree/SolidTreeTable.tsx +1 -10
- package/dist/components/core/users/CreateUser.css +27 -2
- package/dist/components/core/users/CreateUser.d.ts.map +1 -1
- package/dist/components/core/users/CreateUser.js +14 -12
- package/dist/components/core/users/CreateUser.js.map +1 -1
- package/dist/components/core/users/CreateUser.tsx +18 -2
- package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
- package/dist/components/layout/user-profile-menu.js +17 -15
- package/dist/components/layout/user-profile-menu.js.map +1 -1
- package/dist/components/layout/user-profile-menu.tsx +30 -33
- package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidAutocomplete.js +9 -1
- package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +10 -1
- package/dist/components/shad-cn-ui/SolidButton.d.ts +14 -15
- package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidButton.js +13 -3
- package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidButton.tsx +24 -4
- package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.js +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.tsx +2 -0
- 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/hydrateRelationRules.js +1 -1
- package/dist/helpers/hydrateRelationRules.js.map +1 -1
- package/dist/helpers/hydrateRelationRules.ts +1 -1
- package/dist/helpers/permissions.js +2 -2
- package/dist/helpers/permissions.js.map +1 -1
- package/dist/helpers/permissions.ts +2 -2
- package/dist/helpers/registry.d.ts +2 -2
- package/dist/helpers/registry.d.ts.map +1 -1
- package/dist/helpers/registry.js +6 -0
- package/dist/helpers/registry.js.map +1 -1
- package/dist/helpers/registry.ts +9 -2
- 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 +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/index.ts +7 -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/api/solidEntityApi.d.ts.map +1 -1
- package/dist/redux/api/solidEntityApi.js +14 -1
- package/dist/redux/api/solidEntityApi.js.map +1 -1
- package/dist/redux/api/solidEntityApi.tsx +17 -1
- package/dist/redux/store/createSolidStore.d.ts +1 -1
- package/dist/redux/store/createSolidStore.d.ts.map +1 -1
- package/dist/redux/store/createSolidStore.js +20 -11
- package/dist/redux/store/createSolidStore.js.map +1 -1
- package/dist/redux/store/createSolidStore.ts +20 -11
- package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/redux/store/dynamicEntityApiMiddleware.d.ts +10 -0
- package/dist/redux/store/dynamicEntityApiMiddleware.d.ts.map +1 -0
- package/dist/redux/store/dynamicEntityApiMiddleware.js +44 -0
- package/dist/redux/store/dynamicEntityApiMiddleware.js.map +1 -0
- package/dist/redux/store/dynamicEntityApiMiddleware.ts +58 -0
- package/dist/redux/store/dynamicReducerManager.d.ts +10 -0
- package/dist/redux/store/dynamicReducerManager.d.ts.map +1 -0
- package/dist/redux/store/dynamicReducerManager.js +51 -0
- package/dist/redux/store/dynamicReducerManager.js.map +1 -0
- package/dist/redux/store/dynamicReducerManager.ts +51 -0
- package/dist/redux/store/solidEntityApiPool.d.ts +31 -0
- package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -0
- package/dist/redux/store/solidEntityApiPool.js +123 -0
- package/dist/redux/store/solidEntityApiPool.js.map +1 -0
- package/dist/redux/store/solidEntityApiPool.ts +167 -0
- package/dist/resources/globals.css +26 -6
- package/dist/resources/shadcn-base.css +269 -92
- 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/SolidRouteMetadataBoundary.d.ts +5 -0
- package/dist/routes/SolidRouteMetadataBoundary.d.ts.map +1 -0
- package/dist/routes/SolidRouteMetadataBoundary.js +72 -0
- package/dist/routes/SolidRouteMetadataBoundary.js.map +1 -0
- package/dist/routes/SolidRouteMetadataBoundary.tsx +77 -0
- package/dist/routes/pages/admin/core/CardPage.js +1 -1
- package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.tsx +1 -1
- package/dist/routes/pages/admin/core/DiagnosticsPage.d.ts +2 -0
- package/dist/routes/pages/admin/core/DiagnosticsPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/DiagnosticsPage.js +48 -0
- package/dist/routes/pages/admin/core/DiagnosticsPage.js.map +1 -0
- package/dist/routes/pages/admin/core/DiagnosticsPage.tsx +167 -0
- package/dist/routes/pages/admin/core/FormPage.js +1 -1
- package/dist/routes/pages/admin/core/FormPage.js.map +1 -1
- package/dist/routes/pages/admin/core/FormPage.tsx +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.js +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.tsx +1 -1
- package/dist/routes/pages/admin/core/ListPage.js +1 -1
- package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.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/admin/core/TreePage.js +1 -1
- package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
- package/dist/routes/pages/admin/core/TreePage.tsx +1 -1
- 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/pages/studio/StudioLandingPage.d.ts.map +1 -1
- package/dist/routes/pages/studio/StudioLandingPage.js +35 -7
- package/dist/routes/pages/studio/StudioLandingPage.js.map +1 -1
- package/dist/routes/pages/studio/StudioLandingPage.tsx +42 -6
- package/dist/routes/solidRoutes.d.ts.map +1 -1
- package/dist/routes/solidRoutes.js +49 -24
- package/dist/routes/solidRoutes.js.map +1 -1
- package/dist/routes/solidRoutes.tsx +49 -24
- package/dist/routes/types.d.ts +8 -1
- package/dist/routes/types.d.ts.map +1 -1
- package/dist/routes/types.js.map +1 -1
- package/dist/routes/types.ts +10 -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 +11 -0
- package/package.json +1 -2
- 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
|
@@ -35,9 +35,10 @@ var SolidSelectionStaticField = /** @class */ (function () {
|
|
|
35
35
|
configurable: true,
|
|
36
36
|
writable: true,
|
|
37
37
|
value: function (value, formData) {
|
|
38
|
+
var _a;
|
|
38
39
|
var fieldLayoutInfo = this.fieldContext.field;
|
|
39
40
|
var fieldMetadata = this.fieldContext.fieldMetadata;
|
|
40
|
-
var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
41
|
+
var isMultiSelect = (_a = fieldLayoutInfo.attrs.multiSelect) !== null && _a !== void 0 ? _a : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
41
42
|
if (isMultiSelect && Array.isArray(value)) {
|
|
42
43
|
formData.append(fieldLayoutInfo.attrs.name, JSON.stringify(value.map(function (v) { return v.value; })));
|
|
43
44
|
}
|
|
@@ -54,12 +55,13 @@ var SolidSelectionStaticField = /** @class */ (function () {
|
|
|
54
55
|
configurable: true,
|
|
55
56
|
writable: true,
|
|
56
57
|
value: function () {
|
|
57
|
-
var _a;
|
|
58
|
+
var _a, _b;
|
|
58
59
|
// Get field name and metadata
|
|
59
|
-
var
|
|
60
|
+
var fieldLayoutInfo = this.fieldContext.field;
|
|
61
|
+
var fieldName = fieldLayoutInfo.attrs.name;
|
|
60
62
|
var fieldMetadata = this.fieldContext.fieldMetadata;
|
|
61
63
|
var fieldDefaultValue = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.defaultValue;
|
|
62
|
-
var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
64
|
+
var isMultiSelect = (_a = fieldLayoutInfo.attrs.multiSelect) !== null && _a !== void 0 ? _a : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
63
65
|
// Get existing value from form data
|
|
64
66
|
var existingValue = this.fieldContext.data[fieldName];
|
|
65
67
|
// Function to get display value based on selectionStaticValues
|
|
@@ -79,7 +81,10 @@ var SolidSelectionStaticField = /** @class */ (function () {
|
|
|
79
81
|
return match ? match.split(':')[1] : value;
|
|
80
82
|
};
|
|
81
83
|
// Determine the final value to use (existing value or default value)
|
|
82
|
-
var finalValue = (
|
|
84
|
+
var finalValue = (_b = existingValue !== null && existingValue !== void 0 ? existingValue : fieldDefaultValue) !== null && _b !== void 0 ? _b : '';
|
|
85
|
+
if (finalValue === '' || finalValue === null || finalValue === undefined || (Array.isArray(finalValue) && finalValue.length === 0)) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
83
88
|
if (isMultiSelect) {
|
|
84
89
|
var values = [];
|
|
85
90
|
if (Array.isArray(finalValue)) {
|
|
@@ -91,7 +96,7 @@ var SolidSelectionStaticField = /** @class */ (function () {
|
|
|
91
96
|
if (Array.isArray(parsed))
|
|
92
97
|
values = parsed;
|
|
93
98
|
}
|
|
94
|
-
catch (
|
|
99
|
+
catch (_c) { }
|
|
95
100
|
}
|
|
96
101
|
return values.map(function (val) { return ({
|
|
97
102
|
label: getDisplayValue(val),
|
|
@@ -108,11 +113,11 @@ var SolidSelectionStaticField = /** @class */ (function () {
|
|
|
108
113
|
configurable: true,
|
|
109
114
|
writable: true,
|
|
110
115
|
value: function () {
|
|
111
|
-
var _a;
|
|
116
|
+
var _a, _b;
|
|
112
117
|
var fieldMetadata = this.fieldContext.fieldMetadata;
|
|
113
118
|
var fieldLayoutInfo = this.fieldContext.field;
|
|
114
119
|
var fieldLabel = (_a = fieldLayoutInfo.attrs.label) !== null && _a !== void 0 ? _a : fieldMetadata.displayName;
|
|
115
|
-
var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
120
|
+
var isMultiSelect = (_b = fieldLayoutInfo.attrs.multiSelect) !== null && _b !== void 0 ? _b : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
116
121
|
// let schema = Yup.object({
|
|
117
122
|
// value: Yup.string().required(`${fieldLabel} is required.`)
|
|
118
123
|
// });
|
|
@@ -193,7 +198,7 @@ var SolidSelectionStaticField = /** @class */ (function () {
|
|
|
193
198
|
}());
|
|
194
199
|
export { SolidSelectionStaticField };
|
|
195
200
|
export var DefaultSelectionStaticAutocompleteFormEditWidget = function (_a) {
|
|
196
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
201
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
197
202
|
var formik = _a.formik, fieldContext = _a.fieldContext;
|
|
198
203
|
var fieldMetadata = fieldContext.fieldMetadata;
|
|
199
204
|
var fieldLayoutInfo = fieldContext.field;
|
|
@@ -205,8 +210,8 @@ export var DefaultSelectionStaticAutocompleteFormEditWidget = function (_a) {
|
|
|
205
210
|
var fieldReadonly = (_e = fieldLayoutInfo.attrs) === null || _e === void 0 ? void 0 : _e.readonly;
|
|
206
211
|
var formDisabled = (_h = (_g = (_f = solidFormViewMetaData.data.solidView) === null || _f === void 0 ? void 0 : _f.layout) === null || _g === void 0 ? void 0 : _g.attrs) === null || _h === void 0 ? void 0 : _h.disabled;
|
|
207
212
|
var formReadonly = (_l = (_k = (_j = solidFormViewMetaData.data.solidView) === null || _j === void 0 ? void 0 : _j.layout) === null || _k === void 0 ? void 0 : _k.attrs) === null || _l === void 0 ? void 0 : _l.readonly;
|
|
208
|
-
var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
209
|
-
var
|
|
213
|
+
var isMultiSelect = (_m = fieldLayoutInfo.attrs.multiSelect) !== null && _m !== void 0 ? _m : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
214
|
+
var _u = useState([]), selectionStaticItems = _u[0], setSelectionStaticItems = _u[1];
|
|
210
215
|
var selectionStaticSearch = function (event) {
|
|
211
216
|
var selectionStaticData = fieldMetadata.selectionStaticValues.map(function (i) {
|
|
212
217
|
return {
|
|
@@ -225,16 +230,12 @@ export var DefaultSelectionStaticAutocompleteFormEditWidget = function (_a) {
|
|
|
225
230
|
return;
|
|
226
231
|
var syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text");
|
|
227
232
|
fieldContext.onChange(syntheticEvent, "onFieldChange");
|
|
228
|
-
},
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
fieldContext.onChange(syntheticEvent, "onFieldChange");
|
|
232
|
-
} }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: typeof formik.errors[(_m = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _m === void 0 ? void 0 : _m.name] === 'object'
|
|
233
|
-
? (_q = (_p = formik.errors[(_o = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _o === void 0 ? void 0 : _o.name]) === null || _p === void 0 ? void 0 : _p.value) === null || _q === void 0 ? void 0 : _q.toString()
|
|
234
|
-
: (_s = formik.errors[(_r = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _r === void 0 ? void 0 : _r.name]) === null || _s === void 0 ? void 0 : _s.toString() }))] }));
|
|
233
|
+
} }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: typeof formik.errors[(_o = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _o === void 0 ? void 0 : _o.name] === 'object'
|
|
234
|
+
? (_r = (_q = formik.errors[(_p = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _p === void 0 ? void 0 : _p.name]) === null || _q === void 0 ? void 0 : _q.value) === null || _r === void 0 ? void 0 : _r.toString()
|
|
235
|
+
: (_t = formik.errors[(_s = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _s === void 0 ? void 0 : _s.name]) === null || _t === void 0 ? void 0 : _t.toString() }))] }));
|
|
235
236
|
};
|
|
236
237
|
export var SolidSelectionStaticRadioFormEditWidget = function (_a) {
|
|
237
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
238
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
238
239
|
var formik = _a.formik, fieldContext = _a.fieldContext;
|
|
239
240
|
var fieldMetadata = fieldContext.fieldMetadata;
|
|
240
241
|
var fieldLayoutInfo = fieldContext.field;
|
|
@@ -246,7 +247,7 @@ export var SolidSelectionStaticRadioFormEditWidget = function (_a) {
|
|
|
246
247
|
var formDisabled = (_h = (_g = (_f = fieldContext.solidFormViewMetaData.data.solidView) === null || _f === void 0 ? void 0 : _f.layout) === null || _g === void 0 ? void 0 : _g.attrs) === null || _h === void 0 ? void 0 : _h.disabled;
|
|
247
248
|
var formReadonly = (_l = (_k = (_j = fieldContext.solidFormViewMetaData.data.solidView) === null || _j === void 0 ? void 0 : _j.layout) === null || _k === void 0 ? void 0 : _k.attrs) === null || _l === void 0 ? void 0 : _l.readonly;
|
|
248
249
|
var fieldName = fieldLayoutInfo.attrs.name;
|
|
249
|
-
var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
250
|
+
var isMultiSelect = (_m = fieldLayoutInfo.attrs.multiSelect) !== null && _m !== void 0 ? _m : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
250
251
|
// Convert selectionStaticValues to usable radio options
|
|
251
252
|
var radioOptions = fieldMetadata.selectionStaticValues.map(function (i) {
|
|
252
253
|
var _a = i.split(":"), value = _a[0], label = _a[1];
|
|
@@ -258,17 +259,17 @@ export var SolidSelectionStaticRadioFormEditWidget = function (_a) {
|
|
|
258
259
|
if (isMultiSelect) {
|
|
259
260
|
return (_jsx("p", { className: styles.fieldError, children: "This render mode is not supported for multi select." }));
|
|
260
261
|
}
|
|
261
|
-
return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel !== false && (_jsxs("label", { htmlFor: fieldName, className: styles.fieldLabel, children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx(SolidRadioGroup, { name: fieldName, options: radioOptions, value: (
|
|
262
|
+
return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel !== false && (_jsxs("label", { htmlFor: fieldName, className: styles.fieldLabel, children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx(SolidRadioGroup, { name: fieldName, options: radioOptions, value: (_p = (_o = formik.values[fieldName]) === null || _o === void 0 ? void 0 : _o.value) !== null && _p !== void 0 ? _p : formik.values[fieldName], disabled: formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled, onChange: function (nextValue) {
|
|
262
263
|
var selectedOption = radioOptions.find(function (opt) { return opt.value === nextValue; });
|
|
263
264
|
if (selectedOption) {
|
|
264
265
|
formik.setFieldValue(fieldName, selectedOption);
|
|
265
266
|
var syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, "radio");
|
|
266
267
|
fieldContext.onChange(syntheticEvent, "onFieldChange");
|
|
267
268
|
}
|
|
268
|
-
} }), isFormFieldValid(formik, fieldName) && (_jsx("p", { className: styles.fieldError, children: (
|
|
269
|
+
} }), isFormFieldValid(formik, fieldName) && (_jsx("p", { className: styles.fieldError, children: (_q = formik === null || formik === void 0 ? void 0 : formik.errors[fieldName]) === null || _q === void 0 ? void 0 : _q.toString() }))] }));
|
|
269
270
|
};
|
|
270
271
|
export var SolidSelectionStaticSelectButtonFormEditWidget = function (_a) {
|
|
271
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
272
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
272
273
|
var formik = _a.formik, fieldContext = _a.fieldContext;
|
|
273
274
|
var fieldMetadata = fieldContext.fieldMetadata;
|
|
274
275
|
var fieldLayoutInfo = fieldContext.field;
|
|
@@ -280,7 +281,7 @@ export var SolidSelectionStaticSelectButtonFormEditWidget = function (_a) {
|
|
|
280
281
|
var formDisabled = (_h = (_g = (_f = fieldContext.solidFormViewMetaData.data.solidView) === null || _f === void 0 ? void 0 : _f.layout) === null || _g === void 0 ? void 0 : _g.attrs) === null || _h === void 0 ? void 0 : _h.disabled;
|
|
281
282
|
var formReadonly = (_l = (_k = (_j = fieldContext.solidFormViewMetaData.data.solidView) === null || _j === void 0 ? void 0 : _j.layout) === null || _k === void 0 ? void 0 : _k.attrs) === null || _l === void 0 ? void 0 : _l.readonly;
|
|
282
283
|
var fieldName = fieldLayoutInfo.attrs.name;
|
|
283
|
-
var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
284
|
+
var isMultiSelect = (_m = fieldLayoutInfo.attrs.multiSelect) !== null && _m !== void 0 ? _m : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
284
285
|
var isFormFieldValid = function (formik, fieldName) {
|
|
285
286
|
return formik.errors[fieldName];
|
|
286
287
|
};
|
|
@@ -300,17 +301,17 @@ export var SolidSelectionStaticSelectButtonFormEditWidget = function (_a) {
|
|
|
300
301
|
var syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, "button");
|
|
301
302
|
fieldContext.onChange(syntheticEvent, "onFieldChange");
|
|
302
303
|
}
|
|
303
|
-
} }), isFormFieldValid(formik, fieldName) && (_jsx("p", { className: styles.fieldError, children: (
|
|
304
|
+
} }), isFormFieldValid(formik, fieldName) && (_jsx("p", { className: styles.fieldError, children: (_o = formik.errors[fieldName]) === null || _o === void 0 ? void 0 : _o.toString() }))] }));
|
|
304
305
|
};
|
|
305
306
|
export var DefaultSelectionStaticFormViewWidget = function (_a) {
|
|
306
|
-
var _b, _c;
|
|
307
|
+
var _b, _c, _d;
|
|
307
308
|
var formik = _a.formik, fieldContext = _a.fieldContext;
|
|
308
309
|
var fieldMetadata = fieldContext.fieldMetadata;
|
|
309
310
|
var fieldLayoutInfo = fieldContext.field;
|
|
310
311
|
var fieldLabel = (_b = fieldLayoutInfo.attrs.label) !== null && _b !== void 0 ? _b : fieldMetadata.displayName;
|
|
311
312
|
var value = formik.values[fieldLayoutInfo.attrs.name];
|
|
312
|
-
var isMultiSelect = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
313
|
-
var showFieldLabel = (
|
|
313
|
+
var isMultiSelect = (_c = fieldLayoutInfo.attrs.multiSelect) !== null && _c !== void 0 ? _c : fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.isMultiSelect;
|
|
314
|
+
var showFieldLabel = (_d = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _d === void 0 ? void 0 : _d.showLabel;
|
|
314
315
|
return (_jsxs("div", { className: styles.fieldViewWrapper, children: [showFieldLabel !== false && (_jsx("p", { className: "".concat(styles.fieldViewLabel, " form-field-label"), children: fieldLabel })), _jsx("p", { className: styles.fieldViewValue, children: isMultiSelect
|
|
315
316
|
? Array.isArray(value)
|
|
316
317
|
? value.map(function (v) { return v === null || v === void 0 ? void 0 : v.label; }).filter(Boolean).join(', ')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidSelectionStaticField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionStaticField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidAutocomplete } from \"../../../shad-cn-ui/SolidAutocomplete\";\nimport { SolidRadioGroup } from \"../../../shad-cn-ui/SolidRadioGroup\";\nimport { SolidSegmentedControl } from \"../../../shad-cn-ui/SolidSegmentedControl\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport styles from './solidFields.module.css';\nimport { useMemo, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\n\ntype AutoCompleteCompleteEvent = { query: string };\n\nexport class SolidSelectionStaticField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n if (isMultiSelect && Array.isArray(value)) {\n formData.append(fieldLayoutInfo.attrs.name, JSON.stringify(value.map(v => v.value)));\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value.value);\n }\n // if (value) {\n // formData.append(fieldLayoutInfo.attrs.name, value.value);\n // }\n }\n\n initialValue(): any {\n // Get field name and metadata\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldDefaultValue = fieldMetadata?.defaultValue;\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n // Get existing value from form data\n const existingValue = this.fieldContext.data[fieldName];\n\n // Function to get display value based on selectionStaticValues\n // const getDisplayValue = (value: string | null): string | null => {\n // if (!value) return null;\n // for (const item of fieldMetadata.selectionStaticValues) {\n // const [lhs, rhs] = item.split(':');\n // if (lhs === value) {\n // return rhs;\n // }\n // }\n // return null;\n // };\n\n // Function to get display value based on selectionStaticValues\n const getDisplayValue = (value: string): string => {\n const match = fieldMetadata.selectionStaticValues.find((item: string) => item.startsWith(value + ':'));\n return match ? match.split(':')[1] : value;\n };\n\n // Determine the final value to use (existing value or default value)\n const finalValue = existingValue ?? fieldDefaultValue ?? '';\n\n if (isMultiSelect) {\n let values: string[] = [];\n\n if (Array.isArray(finalValue)) {\n values = finalValue;\n } else {\n try {\n const parsed = JSON.parse(finalValue);\n if (Array.isArray(parsed)) values = parsed;\n } catch { }\n }\n\n return values.map(val => ({\n label: getDisplayValue(val),\n value: val\n }));\n }\n\n // Get display value for the final value\n // const displayValue = getDisplayValue(finalValue);\n\n return { label: getDisplayValue(finalValue), value: finalValue };\n }\n\n\n validationSchema(): Yup.Schema {\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n\n // let schema = Yup.object({\n // value: Yup.string().required(`${fieldLabel} is required.`)\n // });\n let schema: Yup.Schema;\n\n if (isMultiSelect) {\n // For multi-select, create array schema\n if (fieldMetadata.required) {\n schema = Yup.array()\n .of(Yup.object({\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n }))\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = Yup.array()\n .of(Yup.object({\n value: Yup.string()\n }))\n .nullable(); // Allow null/undefined for non-required fields\n }\n } else {\n // For single select, create object schema\n if (fieldMetadata.required) {\n schema = Yup.object({\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n }).required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = Yup.object({\n value: Yup.string()\n }).nullable(); // Allow null/undefined for non-required fields\n }\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultSelectionStaticAutocompleteFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultSelectionStaticFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n}\n\nexport const DefaultSelectionStaticAutocompleteFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n\n const [selectionStaticItems, setSelectionStaticItems] = useState([]);\n const selectionStaticSearch = (event: AutoCompleteCompleteEvent) => {\n const selectionStaticData = fieldMetadata.selectionStaticValues.map((i: string) => {\n return {\n label: i.split(\":\")[1],\n value: i.split(\":\")[0]\n }\n });\n const suggestionData = selectionStaticData.filter((t: any) => t.value.toLowerCase().startsWith(event.query.toLowerCase()));\n setSelectionStaticItems(suggestionData)\n }\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <div className={`${styles.fieldWrapper} ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalid : \"\"}`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidAutocomplete\n multiple={isMultiSelect}\n dropdown\n field=\"label\"\n className={`solid-standard-autocomplete ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalidControl : \"\"}`}\n value={formik.values[fieldLayoutInfo.attrs.name] || (isMultiSelect ? [] : null)}\n suggestions={selectionStaticItems}\n completeMethod={(e) => selectionStaticSearch(e)}\n onChange={({ value }) => {\n if (formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled) return;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n onSelect={({ value }) => {\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>\n {typeof formik.errors[fieldLayoutInfo?.attrs?.name] === 'object'\n ? (formik.errors[fieldLayoutInfo?.attrs?.name] as any)?.value?.toString()\n : formik.errors[fieldLayoutInfo?.attrs?.name]?.toString()}\n </p>\n )}\n </div>\n );\n}\n\nexport const SolidSelectionStaticRadioFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n // Convert selectionStaticValues to usable radio options\n const radioOptions = fieldMetadata.selectionStaticValues.map((i: string) => {\n const [value, label] = i.split(\":\");\n return { label, value };\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.errors[fieldName];\n\n if (isMultiSelect) {\n return (\n <p className={styles.fieldError}>This render mode is not supported for multi select.</p>\n );\n }\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n <SolidRadioGroup\n name={fieldName}\n options={radioOptions}\n value={formik.values[fieldName]?.value ?? formik.values[fieldName]}\n disabled={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n onChange={(nextValue) => {\n const selectedOption = radioOptions.find((opt: any) => opt.value === nextValue);\n if (selectedOption) {\n formik.setFieldValue(fieldName, selectedOption);\n const syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, \"radio\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }\n }}\n />\n {isFormFieldValid(formik, fieldName) && (\n <p className={styles.fieldError}>{formik?.errors[fieldName]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const SolidSelectionStaticSelectButtonFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.errors[fieldName];\n\n if (isMultiSelect) {\n return (\n <p className={styles.fieldError}>This render mode is not supported for multi select.</p>\n );\n }\n\n const options = fieldMetadata.selectionStaticValues.map((i: string) => {\n const [value, label] = i.split(\":\");\n return { label, value };\n });\n\n const currentValue = formik.values[fieldName];\n const buttonValue =\n typeof currentValue === \"object\" ? currentValue.value : currentValue || null;\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n </label>\n )}\n <SolidSegmentedControl\n options={options}\n value={buttonValue}\n disabled={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n onChange={(nextValue) => {\n const selectedOption = options.find((opt: any) => opt.value === nextValue);\n if (selectedOption) {\n formik.setFieldValue(fieldName, selectedOption);\n const syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, \"button\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }\n }}\n />\n {isFormFieldValid(formik, fieldName) && (\n <p className={styles.fieldError}>{formik.errors[fieldName]?.toString()}</p>\n )}\n </div>\n );\n};\n\n\nexport const DefaultSelectionStaticFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const isMultiSelect = fieldMetadata?.isMultiSelect;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>\n {isMultiSelect\n ? Array.isArray(value)\n ? value.map((v: any) => v?.label).filter(Boolean).join(', ')\n : ''\n : value?.label || ''}\n </p>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SolidSelectionStaticField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionStaticField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidAutocomplete } from \"../../../shad-cn-ui/SolidAutocomplete\";\nimport { SolidRadioGroup } from \"../../../shad-cn-ui/SolidRadioGroup\";\nimport { SolidSegmentedControl } from \"../../../shad-cn-ui/SolidSegmentedControl\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport styles from './solidFields.module.css';\nimport { useMemo, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\n\ntype AutoCompleteCompleteEvent = { query: string };\n\nexport class SolidSelectionStaticField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n if (isMultiSelect && Array.isArray(value)) {\n formData.append(fieldLayoutInfo.attrs.name, JSON.stringify(value.map(v => v.value)));\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value.value);\n }\n // if (value) {\n // formData.append(fieldLayoutInfo.attrs.name, value.value);\n // }\n }\n\n initialValue(): any {\n // Get field name and metadata\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldDefaultValue = fieldMetadata?.defaultValue;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n // Get existing value from form data\n const existingValue = this.fieldContext.data[fieldName];\n\n // Function to get display value based on selectionStaticValues\n // const getDisplayValue = (value: string | null): string | null => {\n // if (!value) return null;\n // for (const item of fieldMetadata.selectionStaticValues) {\n // const [lhs, rhs] = item.split(':');\n // if (lhs === value) {\n // return rhs;\n // }\n // }\n // return null;\n // };\n\n // Function to get display value based on selectionStaticValues\n const getDisplayValue = (value: string): string => {\n const match = fieldMetadata.selectionStaticValues.find((item: string) => item.startsWith(value + ':'));\n return match ? match.split(':')[1] : value;\n };\n\n // Determine the final value to use (existing value or default value)\n const finalValue = existingValue ?? fieldDefaultValue ?? '';\n\n if (finalValue === '' || finalValue === null || finalValue === undefined || (Array.isArray(finalValue) && finalValue.length === 0)) {\n return null;\n }\n\n if (isMultiSelect) {\n let values: string[] = [];\n\n if (Array.isArray(finalValue)) {\n values = finalValue;\n } else {\n try {\n const parsed = JSON.parse(finalValue);\n if (Array.isArray(parsed)) values = parsed;\n } catch { }\n }\n\n return values.map(val => ({\n label: getDisplayValue(val),\n value: val\n }));\n }\n\n // Get display value for the final value\n // const displayValue = getDisplayValue(finalValue);\n\n return { label: getDisplayValue(finalValue), value: finalValue };\n }\n\n\n validationSchema(): Yup.Schema {\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n // let schema = Yup.object({\n // value: Yup.string().required(`${fieldLabel} is required.`)\n // });\n let schema: Yup.Schema;\n\n if (isMultiSelect) {\n // For multi-select, create array schema\n if (fieldMetadata.required) {\n schema = Yup.array()\n .of(Yup.object({\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n }))\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = Yup.array()\n .of(Yup.object({\n value: Yup.string()\n }))\n .nullable(); // Allow null/undefined for non-required fields\n }\n } else {\n // For single select, create object schema\n if (fieldMetadata.required) {\n schema = Yup.object({\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n }).required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = Yup.object({\n value: Yup.string()\n }).nullable(); // Allow null/undefined for non-required fields\n }\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultSelectionStaticAutocompleteFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultSelectionStaticFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n}\n\nexport const DefaultSelectionStaticAutocompleteFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n const [selectionStaticItems, setSelectionStaticItems] = useState([]);\n const selectionStaticSearch = (event: AutoCompleteCompleteEvent) => {\n const selectionStaticData = fieldMetadata.selectionStaticValues.map((i: string) => {\n return {\n label: i.split(\":\")[1],\n value: i.split(\":\")[0]\n }\n });\n const suggestionData = selectionStaticData.filter((t: any) => t.value.toLowerCase().startsWith(event.query.toLowerCase()));\n setSelectionStaticItems(suggestionData)\n }\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <div className={`${styles.fieldWrapper} ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalid : \"\"}`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidAutocomplete\n multiple={isMultiSelect}\n dropdown\n field=\"label\"\n className={`solid-standard-autocomplete ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalidControl : \"\"}`}\n value={formik.values[fieldLayoutInfo.attrs.name] || (isMultiSelect ? [] : null)}\n suggestions={selectionStaticItems}\n completeMethod={(e) => selectionStaticSearch(e)}\n onChange={({ value }) => {\n if (formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled) return;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n // onSelect={({ value }) => {\n // const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n // fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n // }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>\n {typeof formik.errors[fieldLayoutInfo?.attrs?.name] === 'object'\n ? (formik.errors[fieldLayoutInfo?.attrs?.name] as any)?.value?.toString()\n : formik.errors[fieldLayoutInfo?.attrs?.name]?.toString()}\n </p>\n )}\n </div>\n );\n}\n\nexport const SolidSelectionStaticRadioFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n // Convert selectionStaticValues to usable radio options\n const radioOptions = fieldMetadata.selectionStaticValues.map((i: string) => {\n const [value, label] = i.split(\":\");\n return { label, value };\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.errors[fieldName];\n\n if (isMultiSelect) {\n return (\n <p className={styles.fieldError}>This render mode is not supported for multi select.</p>\n );\n }\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n <SolidRadioGroup\n name={fieldName}\n options={radioOptions}\n value={formik.values[fieldName]?.value ?? formik.values[fieldName]}\n disabled={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n onChange={(nextValue) => {\n const selectedOption = radioOptions.find((opt: any) => opt.value === nextValue);\n if (selectedOption) {\n formik.setFieldValue(fieldName, selectedOption);\n const syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, \"radio\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }\n }}\n />\n {isFormFieldValid(formik, fieldName) && (\n <p className={styles.fieldError}>{formik?.errors[fieldName]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const SolidSelectionStaticSelectButtonFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.errors[fieldName];\n\n if (isMultiSelect) {\n return (\n <p className={styles.fieldError}>This render mode is not supported for multi select.</p>\n );\n }\n\n const options = fieldMetadata.selectionStaticValues.map((i: string) => {\n const [value, label] = i.split(\":\");\n return { label, value };\n });\n\n const currentValue = formik.values[fieldName];\n const buttonValue =\n typeof currentValue === \"object\" ? currentValue.value : currentValue || null;\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n </label>\n )}\n <SolidSegmentedControl\n options={options}\n value={buttonValue}\n disabled={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n onChange={(nextValue) => {\n const selectedOption = options.find((opt: any) => opt.value === nextValue);\n if (selectedOption) {\n formik.setFieldValue(fieldName, selectedOption);\n const syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, \"button\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }\n }}\n />\n {isFormFieldValid(formik, fieldName) && (\n <p className={styles.fieldError}>{formik.errors[fieldName]?.toString()}</p>\n )}\n </div>\n );\n};\n\n\nexport const DefaultSelectionStaticFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>\n {isMultiSelect\n ? Array.isArray(value)\n ? value.map((v: any) => v?.label).filter(Boolean).join(', ')\n : ''\n : value?.label || ''}\n </p>\n </div>\n );\n}\n"]}
|
|
@@ -25,7 +25,7 @@ export class SolidSelectionStaticField implements ISolidField {
|
|
|
25
25
|
updateFormData(value: any, formData: FormData): any {
|
|
26
26
|
const fieldLayoutInfo = this.fieldContext.field;
|
|
27
27
|
const fieldMetadata = this.fieldContext.fieldMetadata;
|
|
28
|
-
const isMultiSelect = fieldMetadata?.isMultiSelect;
|
|
28
|
+
const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
|
|
29
29
|
if (isMultiSelect && Array.isArray(value)) {
|
|
30
30
|
formData.append(fieldLayoutInfo.attrs.name, JSON.stringify(value.map(v => v.value)));
|
|
31
31
|
} else if (value) {
|
|
@@ -38,10 +38,11 @@ export class SolidSelectionStaticField implements ISolidField {
|
|
|
38
38
|
|
|
39
39
|
initialValue(): any {
|
|
40
40
|
// Get field name and metadata
|
|
41
|
-
const
|
|
41
|
+
const fieldLayoutInfo = this.fieldContext.field;
|
|
42
|
+
const fieldName = fieldLayoutInfo.attrs.name;
|
|
42
43
|
const fieldMetadata = this.fieldContext.fieldMetadata;
|
|
43
44
|
const fieldDefaultValue = fieldMetadata?.defaultValue;
|
|
44
|
-
const isMultiSelect = fieldMetadata?.isMultiSelect;
|
|
45
|
+
const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
|
|
45
46
|
// Get existing value from form data
|
|
46
47
|
const existingValue = this.fieldContext.data[fieldName];
|
|
47
48
|
|
|
@@ -66,6 +67,10 @@ export class SolidSelectionStaticField implements ISolidField {
|
|
|
66
67
|
// Determine the final value to use (existing value or default value)
|
|
67
68
|
const finalValue = existingValue ?? fieldDefaultValue ?? '';
|
|
68
69
|
|
|
70
|
+
if (finalValue === '' || finalValue === null || finalValue === undefined || (Array.isArray(finalValue) && finalValue.length === 0)) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
|
|
69
74
|
if (isMultiSelect) {
|
|
70
75
|
let values: string[] = [];
|
|
71
76
|
|
|
@@ -96,7 +101,7 @@ export class SolidSelectionStaticField implements ISolidField {
|
|
|
96
101
|
const fieldMetadata = this.fieldContext.fieldMetadata;
|
|
97
102
|
const fieldLayoutInfo = this.fieldContext.field;
|
|
98
103
|
const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
|
|
99
|
-
const isMultiSelect = fieldMetadata?.isMultiSelect;
|
|
104
|
+
const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
|
|
100
105
|
|
|
101
106
|
// let schema = Yup.object({
|
|
102
107
|
// value: Yup.string().required(`${fieldLabel} is required.`)
|
|
@@ -195,7 +200,7 @@ export const DefaultSelectionStaticAutocompleteFormEditWidget = ({ formik, field
|
|
|
195
200
|
|
|
196
201
|
const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;
|
|
197
202
|
const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;
|
|
198
|
-
const isMultiSelect = fieldMetadata?.isMultiSelect;
|
|
203
|
+
const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
|
|
199
204
|
|
|
200
205
|
const [selectionStaticItems, setSelectionStaticItems] = useState([]);
|
|
201
206
|
const selectionStaticSearch = (event: AutoCompleteCompleteEvent) => {
|
|
@@ -232,10 +237,10 @@ export const DefaultSelectionStaticAutocompleteFormEditWidget = ({ formik, field
|
|
|
232
237
|
const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text");
|
|
233
238
|
fieldContext.onChange(syntheticEvent, "onFieldChange");
|
|
234
239
|
}}
|
|
235
|
-
onSelect={({ value }) => {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}}
|
|
240
|
+
// onSelect={({ value }) => {
|
|
241
|
+
// const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text");
|
|
242
|
+
// fieldContext.onChange(syntheticEvent, "onFieldChange");
|
|
243
|
+
// }}
|
|
239
244
|
/>
|
|
240
245
|
{isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
|
|
241
246
|
<p className={styles.fieldError}>
|
|
@@ -261,7 +266,7 @@ export const SolidSelectionStaticRadioFormEditWidget = ({ formik, fieldContext }
|
|
|
261
266
|
const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;
|
|
262
267
|
|
|
263
268
|
const fieldName = fieldLayoutInfo.attrs.name;
|
|
264
|
-
const isMultiSelect = fieldMetadata?.isMultiSelect;
|
|
269
|
+
const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
|
|
265
270
|
// Convert selectionStaticValues to usable radio options
|
|
266
271
|
const radioOptions = fieldMetadata.selectionStaticValues.map((i: string) => {
|
|
267
272
|
const [value, label] = i.split(":");
|
|
@@ -320,7 +325,7 @@ export const SolidSelectionStaticSelectButtonFormEditWidget = ({ formik, fieldCo
|
|
|
320
325
|
const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;
|
|
321
326
|
|
|
322
327
|
const fieldName = fieldLayoutInfo.attrs.name;
|
|
323
|
-
const isMultiSelect = fieldMetadata?.isMultiSelect;
|
|
328
|
+
const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
|
|
324
329
|
|
|
325
330
|
const isFormFieldValid = (formik: any, fieldName: string) =>
|
|
326
331
|
formik.errors[fieldName];
|
|
@@ -375,7 +380,7 @@ export const DefaultSelectionStaticFormViewWidget = ({ formik, fieldContext }: S
|
|
|
375
380
|
const fieldLayoutInfo = fieldContext.field;
|
|
376
381
|
const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
|
|
377
382
|
const value = formik.values[fieldLayoutInfo.attrs.name];
|
|
378
|
-
const isMultiSelect = fieldMetadata?.isMultiSelect;
|
|
383
|
+
const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;
|
|
379
384
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
380
385
|
return (
|
|
381
386
|
<div className={styles.fieldViewWrapper}>
|
|
@@ -189,7 +189,7 @@ export var DefaultTimeFormViewWidget = function (_a) {
|
|
|
189
189
|
var fieldLabel = (_b = fieldLayoutInfo.attrs.label) !== null && _b !== void 0 ? _b : fieldMetadata.displayName;
|
|
190
190
|
var showFieldLabel = (_c = fieldLayoutInfo === null || fieldLayoutInfo === void 0 ? void 0 : fieldLayoutInfo.attrs) === null || _c === void 0 ? void 0 : _c.showLabel;
|
|
191
191
|
var rawValue = formik.values[fieldName];
|
|
192
|
-
var format = (_d = fieldLayoutInfo.attrs) === null || _d === void 0 ? void 0 : _d.format;
|
|
192
|
+
var format = ((_d = fieldLayoutInfo.attrs) === null || _d === void 0 ? void 0 : _d.format) || "HH:mm:ss";
|
|
193
193
|
var parsedTime = rawValue ? parseTimeStringToDate(rawValue) : null;
|
|
194
194
|
var displayValue = parsedTime ? (format ? dayjs(parsedTime).format(format) : formatTime(parsedTime)) : "-";
|
|
195
195
|
return (_jsxs("div", { className: styles.fieldViewWrapper, children: [showFieldLabel !== false && (_jsx("p", { className: "".concat(styles.fieldViewLabel, " form-field-label"), children: fieldLabel })), _jsx("p", { className: styles.fieldViewValue, children: _jsx(DateFieldViewComponent, { value: rawValue, format: format, fallback: "-" }) })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidTimeField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidTimeField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidDatePicker } from \"../../../shad-cn-ui/SolidDatePicker\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport { useRef } from \"react\";\nimport * as Yup from 'yup';\nimport dayjs from 'dayjs';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { DateFieldViewComponent } from '../../../../components/core/common/DateFieldViewComponent';\nimport styles from \"./solidFields.module.css\";\n\n\n// Converts multiple time formats into a JavaScript Date object\nfunction parseTimeStringToDate(timeStr: string): Date | null {\n if (!timeStr) return null;\n\n // CASE 1: HH:mm:ss\n if (typeof timeStr === \"string\" && /^\\d{2}:\\d{2}:\\d{2}$/.test(timeStr)) {\n const [h, m, s] = timeStr.split(\":\").map(Number);\n const d = new Date();\n d.setHours(h, m, s, 0);\n return d;\n }\n\n // CASE 2: timestamp or timestamptz\n try {\n const d = new Date(timeStr); // ← AUTO UTC → LOCAL conversion\n if (!isNaN(d.getTime())) return d;\n } catch (e) {\n console.error(`${ERROR_MESSAGES.FIELD_INAVLID_FORMAT('Date')}:,${e}`)\n }\n\n return null;\n}\n\n// Formats a Date object to a HH:mm:ss string for display\nfunction formatTime(date: Date | null): string {\n if (!date) return \"\";\n return date.toLocaleTimeString();\n}\n\n\nexport class SolidTimeField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value instanceof Date) {\n // Use local date with selected time\n const now = new Date();\n const localDate = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n value.getHours(),\n value.getMinutes(),\n value.getSeconds()\n );\n\n formData.append(fieldLayoutInfo.attrs.name, localDate.toISOString());\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n const existingValue = this.fieldContext.data[fieldName];\n\n if (existingValue) {\n if (existingValue instanceof Date) {\n return existingValue;\n }\n if (typeof existingValue === \"string\") {\n const parsed = parseTimeStringToDate(existingValue);\n if (parsed) return parsed;\n }\n }\n\n return fieldDefaultValue ? new Date(fieldDefaultValue) : null;\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.date().nullable();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultTimeFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultTimeFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\nexport const DefaultTimeFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const calendarRef = useRef<any>(null); // Reference for the Calendar component\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n\n const fieldValue = formik.values[fieldLayoutInfo.attrs.name];\n\n\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <SolidDatePicker\n selected={fieldValue instanceof Date ? fieldValue : typeof fieldValue === \"string\" ? parseTimeStringToDate(fieldValue) ?? undefined : undefined}\n onChange={(date: Date | null) => {\n const nextValue = (date as Date | null) ?? null;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, nextValue, \"time\", nextValue ? true : undefined);\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n readOnly={readOnlyPermission}\n timeOnly\n showTimeSelect\n dateFormat=\"HH:mm\"\n className=\"\"\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\n\nexport const DefaultTimeFormViewWidget = ({\n formik,\n fieldContext,\n}: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldLabel =\n fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const rawValue = formik.values[fieldName];\n const format = fieldLayoutInfo.attrs?.format;\n\n const parsedTime = rawValue ? parseTimeStringToDate(rawValue) : null;\n const displayValue = parsedTime ? (format ? dayjs(parsedTime).format(format) : formatTime(parsedTime)) : \"-\";\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n </p>\n )}\n <p className={styles.fieldViewValue}>\n <DateFieldViewComponent value={rawValue} format={format} fallback=\"-\"></DateFieldViewComponent>\n </p>\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SolidTimeField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidTimeField.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAG9C,+DAA+D;AAC/D,SAAS,qBAAqB,CAAC,OAAe;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,mBAAmB;IACnB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAC9D,IAAA,KAAY,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAzC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAkC,CAAC;QACjD,IAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC;KACZ;IAED,mCAAmC;IACnC,IAAI;QACA,IAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC;QAC7D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,CAAC,CAAC;KACrC;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,UAAG,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,eAAK,CAAC,CAAE,CAAC,CAAA;KACxE;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,yDAAyD;AACzD,SAAS,UAAU,CAAC,IAAiB;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACrC,CAAC;AAGD;IAII,wBAAY,YAA6B;QAFjC;;;;;WAA8B;QAGlC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;;;;;eAED,UAAe,KAAU,EAAE,QAAkB;YACzC,IAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAChD,IAAI,KAAK,YAAY,IAAI,EAAE;gBACvB,oCAAoC;gBACpC,IAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAM,SAAS,GAAG,IAAI,IAAI,CACtB,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,OAAO,EAAE,EACb,KAAK,CAAC,QAAQ,EAAE,EAChB,KAAK,CAAC,UAAU,EAAE,EAClB,KAAK,CAAC,UAAU,EAAE,CACrB,CAAC;gBAEF,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;aACxE;iBAAM,IAAI,KAAK,EAAE;gBACd,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACtD;QACL,CAAC;;;;;;eAED;;YACI,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACrD,IAAM,iBAAiB,GAAG,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,aAAa,0CAAE,YAAY,CAAC;YACzE,IAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAExD,IAAI,aAAa,EAAE;gBACf,IAAI,aAAa,YAAY,IAAI,EAAE;oBAC/B,OAAO,aAAa,CAAC;iBACxB;gBACD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;oBACnC,IAAM,MAAM,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;oBACpD,IAAI,MAAM;wBAAE,OAAO,MAAM,CAAC;iBAC7B;aACJ;YAED,OAAO,iBAAiB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,CAAC;;;;;;eAED;;YACI,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACtD,IAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAChD,IAAM,UAAU,GAAG,MAAA,eAAe,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;YAE5E,eAAe;YACf,IAAI,aAAa,CAAC,QAAQ,EAAE;gBACxB,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;aACvE;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;;;;;;eAED,UAAO,MAAoB;;YACvB,IAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACtD,IAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAChD,IAAM,gBAAgB,GAAG,UAAC,MAAW,EAAE,SAAiB,IAAK,OAAA,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAArD,CAAqD,CAAC;YACnH,IAAM,SAAS,GAAG,CAAA,MAAA,eAAe,CAAC,KAAK,0CAAE,SAAS,KAAI,cAAc,CAAC;YAGrE,IAAI,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;YAClD,IAAI,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;YAClD,IAAI,CAAC,UAAU,EAAE;gBACb,UAAU,GAAG,2BAA2B,CAAC;aAC5C;YACD,IAAI,CAAC,UAAU,EAAE;gBACb,UAAU,GAAG,2BAA2B,CAAC;aAC5C;YACD,IAAM,QAAQ,GAAW,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;YAEpD,OAAO,CACH,4BACI,eAAK,SAAS,EAAE,SAAS,aACpB,QAAQ,KAAK,MAAM;4BAChB,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,MAAM,CAAC,EAErD,QAAQ,KAAK,MAAM;4BAChB,4BACK,UAAU;oCACP,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,MAAM,CAAC,GAEvD,IAEL,GACP,CACN,CAAC;QACN,CAAC;;;;;;eAED,UAA0B,MAAc,EAAE,MAAoB;YAC1D,IAAI,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAClD,IAAM,WAAW,GAA8B;gBAC3C,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,IAAI,CAAC,YAAY;aAClC,CAAA;YACD,OAAO,CACH,4BACK,aAAa,IAAI,KAAC,aAAa,eAAK,WAAW,EAAI,GACrD,CACN,CAAA;QACL,CAAC;;IACL,qBAAC;AAAD,CAAC,AA1GD,IA0GC;;AAID,MAAM,CAAC,IAAM,yBAAyB,GAAG,UAAC,EAAmD;;QAAjD,MAAM,YAAA,EAAE,YAAY,kBAAA;IAC5D,IAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;IACjD,IAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;IAC3C,IAAM,SAAS,GAAG,CAAA,MAAA,eAAe,CAAC,KAAK,0CAAE,SAAS,KAAI,cAAc,CAAC;IACrE,IAAM,UAAU,GAAG,MAAA,eAAe,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;IAC5E,IAAM,WAAW,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC,CAAC,uCAAuC;IAC9E,IAAM,gBAAgB,GAAG,MAAA,eAAe,CAAC,KAAK,CAAC,WAAW,mCAAI,aAAa,CAAC,WAAW,CAAC;IACxF,IAAM,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,CAAC;IACjE,IAAM,cAAc,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,SAAS,CAAC;IACzD,IAAM,kBAAkB,GAAG,YAAY,CAAC,QAAQ,CAAC;IAEjD,IAAM,gBAAgB,GAAG,UAAC,MAAW,EAAE,SAAiB,IAAK,OAAA,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAArD,CAAqD,CAAC;IAEnH,IAAM,aAAa,GAAG,MAAA,eAAe,CAAC,KAAK,0CAAE,QAAQ,CAAC;IACtD,IAAM,YAAY,GAAG,MAAA,MAAA,MAAA,qBAAqB,CAAC,IAAI,CAAC,SAAS,0CAAE,MAAM,0CAAE,KAAK,0CAAE,QAAQ,CAAC;IAEnF,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAI7D,OAAO,CACH,eAAK,SAAS,EAAC,UAAU,aACrB,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aAC9B,cAAc,IAAI,KAAK;wBACpB,iBAAO,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAG,MAAM,CAAC,UAAU,sBAAmB,aAAG,UAAU,EACtG,aAAa,CAAC,QAAQ,IAAI,eAAM,SAAS,EAAC,cAAc,mBAAU,EACnE,KAAC,iBAAiB,IAAC,YAAY,EAAE,YAAY,GAAI,IAE7C,EAEZ,KAAC,eAAe,IACZ,QAAQ,EAAE,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAA,qBAAqB,CAAC,UAAU,CAAC,mCAAI,SAAS,CAAC,CAAC,CAAC,SAAS,EAC/I,QAAQ,EAAE,UAAC,IAAiB;;4BACxB,IAAM,SAAS,GAAG,MAAC,IAAoB,mCAAI,IAAI,CAAC;4BAChD,IAAM,cAAc,GAAG,yBAAyB,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;4BAC9H,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;wBAC3D,CAAC,EACD,QAAQ,EAAE,YAAY,IAAI,aAAa,IAAI,kBAAkB,EAC7D,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,QACR,cAAc,QACd,UAAU,EAAC,OAAO,EAClB,SAAS,EAAC,EAAE,GACd,IACA,EACL,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CACrD,cAAK,SAAS,EAAC,eAAe,YAC1B,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,QAAQ,EAAE,GAAI,GAC7F,CACT,IACC,CACT,CAAC;AACN,CAAC,CAAA;AAGD,MAAM,CAAC,IAAM,yBAAyB,GAAG,UAAC,EAGd;;QAFxB,MAAM,YAAA,EACN,YAAY,kBAAA;IAEZ,IAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;IACjD,IAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;IAE3C,IAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;IAC7C,IAAM,UAAU,GACZ,MAAA,eAAe,CAAC,KAAK,CAAC,KAAK,mCAAI,aAAa,CAAC,WAAW,CAAC;IAC7D,IAAM,cAAc,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,0CAAE,SAAS,CAAC;IAEzD,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAM,MAAM,GAAG,CAAA,MAAA,eAAe,CAAC,KAAK,0CAAE,MAAM,KAAI,UAAU,CAAC;IAE3D,IAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,IAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE7G,OAAO,CACH,eAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,aAClC,cAAc,KAAK,KAAK,IAAI,CACzB,YAAG,SAAS,EAAE,UAAG,MAAM,CAAC,cAAc,sBAAmB,YACpD,UAAU,GACX,CACP,EACD,YAAG,SAAS,EAAE,MAAM,CAAC,cAAc,YAC/B,KAAC,sBAAsB,IAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,GAA0B,GAC/F,IACF,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["\nimport { SolidDatePicker } from \"../../../shad-cn-ui/SolidDatePicker\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport { useRef } from \"react\";\nimport * as Yup from 'yup';\nimport dayjs from 'dayjs';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { DateFieldViewComponent } from '../../../../components/core/common/DateFieldViewComponent';\nimport styles from \"./solidFields.module.css\";\n\n\n// Converts multiple time formats into a JavaScript Date object\nfunction parseTimeStringToDate(timeStr: string): Date | null {\n if (!timeStr) return null;\n\n // CASE 1: HH:mm:ss\n if (typeof timeStr === \"string\" && /^\\d{2}:\\d{2}:\\d{2}$/.test(timeStr)) {\n const [h, m, s] = timeStr.split(\":\").map(Number);\n const d = new Date();\n d.setHours(h, m, s, 0);\n return d;\n }\n\n // CASE 2: timestamp or timestamptz\n try {\n const d = new Date(timeStr); // ← AUTO UTC → LOCAL conversion\n if (!isNaN(d.getTime())) return d;\n } catch (e) {\n console.error(`${ERROR_MESSAGES.FIELD_INAVLID_FORMAT('Date')}:,${e}`)\n }\n\n return null;\n}\n\n// Formats a Date object to a HH:mm:ss string for display\nfunction formatTime(date: Date | null): string {\n if (!date) return \"\";\n return date.toLocaleTimeString();\n}\n\n\nexport class SolidTimeField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value instanceof Date) {\n // Use local date with selected time\n const now = new Date();\n const localDate = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n value.getHours(),\n value.getMinutes(),\n value.getSeconds()\n );\n\n formData.append(fieldLayoutInfo.attrs.name, localDate.toISOString());\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n const existingValue = this.fieldContext.data[fieldName];\n\n if (existingValue) {\n if (existingValue instanceof Date) {\n return existingValue;\n }\n if (typeof existingValue === \"string\") {\n const parsed = parseTimeStringToDate(existingValue);\n if (parsed) return parsed;\n }\n }\n\n return fieldDefaultValue ? new Date(fieldDefaultValue) : null;\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.date().nullable();\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultTimeFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultTimeFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\nexport const DefaultTimeFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const calendarRef = useRef<any>(null); // Reference for the Calendar component\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n\n const fieldValue = formik.values[fieldLayoutInfo.attrs.name];\n\n\n\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <SolidDatePicker\n selected={fieldValue instanceof Date ? fieldValue : typeof fieldValue === \"string\" ? parseTimeStringToDate(fieldValue) ?? undefined : undefined}\n onChange={(date: Date | null) => {\n const nextValue = (date as Date | null) ?? null;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, nextValue, \"time\", nextValue ? true : undefined);\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n readOnly={readOnlyPermission}\n timeOnly\n showTimeSelect\n dateFormat=\"HH:mm\"\n className=\"\"\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\n\nexport const DefaultTimeFormViewWidget = ({\n formik,\n fieldContext,\n}: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldLabel =\n fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n const rawValue = formik.values[fieldName];\n const format = fieldLayoutInfo.attrs?.format || \"HH:mm:ss\";\n\n const parsedTime = rawValue ? parseTimeStringToDate(rawValue) : null;\n const displayValue = parsedTime ? (format ? dayjs(parsedTime).format(format) : formatTime(parsedTime)) : \"-\";\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n </p>\n )}\n <p className={styles.fieldViewValue}>\n <DateFieldViewComponent value={rawValue} format={format} fallback=\"-\"></DateFieldViewComponent>\n </p>\n </div>\n );\n};\n"]}
|
|
@@ -222,7 +222,7 @@ export const DefaultTimeFormViewWidget = ({
|
|
|
222
222
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
223
223
|
|
|
224
224
|
const rawValue = formik.values[fieldName];
|
|
225
|
-
const format = fieldLayoutInfo.attrs?.format;
|
|
225
|
+
const format = fieldLayoutInfo.attrs?.format || "HH:mm:ss";
|
|
226
226
|
|
|
227
227
|
const parsedTime = rawValue ? parseTimeStringToDate(rawValue) : null;
|
|
228
228
|
const displayValue = parsedTime ? (format ? dayjs(parsedTime).format(format) : formatTime(parsedTime)) : "-";
|
|
@@ -458,7 +458,7 @@ export var DefaultRelationManyToOneFormEditWidget = function (_a) {
|
|
|
458
458
|
}, onSelect: function (_a) {
|
|
459
459
|
var value = _a.value;
|
|
460
460
|
return fieldContext.onChange(buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text"), 'onFieldChange');
|
|
461
|
-
}, className: "w-full solid-standard-autocomplete",
|
|
461
|
+
}, className: "w-full min-w-0 solid-standard-autocomplete",
|
|
462
462
|
// virtualScrollerOptions={{
|
|
463
463
|
// itemSize: 38,
|
|
464
464
|
// lazy: true,
|
|
@@ -893,7 +893,7 @@ export var PseudoRelationManyToOneFormWidget = function (_a) {
|
|
|
893
893
|
}, onSelect: function (_a) {
|
|
894
894
|
var value = _a.value;
|
|
895
895
|
return fieldContext.onChange(buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text"), 'onFieldChange');
|
|
896
|
-
}, className: "w-full solid-standard-autocomplete",
|
|
896
|
+
}, className: "w-full min-w-0 solid-standard-autocomplete",
|
|
897
897
|
// virtualScrollerOptions={{
|
|
898
898
|
// itemSize: 38,
|
|
899
899
|
// lazy: true,
|