@solidxai/core-ui 0.1.7-beta.3 → 0.1.7-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +1 -1
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +5 -3
- package/dist/components/auth/SolidLogin.js +3 -3
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +2 -2
- package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
- package/dist/components/common/DropzonePlaceholder.js +1 -1
- package/dist/components/common/DropzonePlaceholder.js.map +1 -1
- package/dist/components/common/DropzonePlaceholder.tsx +8 -6
- package/dist/components/core/chatter/SolidChatter.d.ts +2 -1
- package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatter.js +2 -4
- package/dist/components/core/chatter/SolidChatter.js.map +1 -1
- package/dist/components/core/chatter/SolidChatter.tsx +3 -4
- package/dist/components/core/chatter/SolidChatterHeader.d.ts +1 -0
- package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.js +2 -2
- package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.tsx +4 -3
- package/dist/components/core/chatter/chatter.module.css +42 -32
- package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidGenericImport.tsx +2 -2
- package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +153 -30
- package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js +7 -7
- package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +9 -10
- package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.js +1 -1
- package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.js.map +1 -1
- package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.tsx +6 -4
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.js +1 -1
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.js.map +1 -1
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.tsx +3 -1
- package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormActionHeader.js +13 -13
- package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
- package/dist/components/core/form/SolidFormActionHeader.tsx +21 -24
- package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormFooter.js +1 -1
- package/dist/components/core/form/SolidFormFooter.js.map +1 -1
- package/dist/components/core/form/SolidFormFooter.tsx +0 -1
- package/dist/components/core/form/SolidFormUserViewLayout.js +1 -1
- package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
- package/dist/components/core/form/SolidFormUserViewLayout.tsx +1 -1
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +22 -33
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +38 -59
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +12 -1
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +1 -0
- package/dist/components/core/form/fields/SolidLongTextField.js +4 -4
- package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.tsx +4 -4
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +14 -14
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +35 -21
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +2 -2
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +48 -34
- package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidPasswordField.js +2 -2
- package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
- package/dist/components/core/form/fields/SolidPasswordField.tsx +46 -42
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +23 -27
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +64 -66
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +2 -6
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +4 -7
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +12 -15
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +30 -16
- package/dist/components/core/form/fields/solidFields.module.css +86 -15
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +18 -28
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +52 -48
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +111 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +122 -0
- package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +1 -1
- package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +5 -4
- package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.js +11 -5
- package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.tsx +8 -0
- package/dist/components/core/kanban/KanbanCard.d.ts +1 -0
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +4 -4
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +5 -4
- package/dist/components/core/kanban/KanbanColumn.d.ts +2 -1
- package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.js +3 -3
- package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.tsx +4 -3
- package/dist/components/core/list/SolidDataTable.d.ts +1 -0
- package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
- package/dist/components/core/list/SolidDataTable.js +19 -2
- package/dist/components/core/list/SolidDataTable.js.map +1 -1
- package/dist/components/core/list/SolidDataTable.tsx +30 -2
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +1 -1
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +1 -0
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +33 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +50 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +158 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +1 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +185 -0
- package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.js +7 -4
- package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +28 -11
- package/dist/components/core/locales/SolidLocale.js +4 -4
- package/dist/components/core/locales/SolidLocale.js.map +1 -1
- package/dist/components/core/locales/SolidLocale.tsx +18 -18
- package/dist/components/core/locales/solid-locale.css +105 -7
- package/dist/components/core/model/CreateModel.js +2 -2
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +2 -2
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +3 -3
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.tsx +45 -22
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts +7 -0
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -0
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +138 -0
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -0
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +246 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +8 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +156 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +184 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts +9 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +37 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +111 -0
- package/dist/components/core/users/ApiKeysTab/index.d.ts +4 -0
- package/dist/components/core/users/ApiKeysTab/index.d.ts.map +1 -0
- package/dist/components/core/users/ApiKeysTab/index.js +4 -0
- package/dist/components/core/users/ApiKeysTab/index.js.map +1 -0
- package/dist/components/core/users/ApiKeysTab/index.ts +3 -0
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +75 -7
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +84 -7
- package/dist/components/layout/FilterMenu.js +2 -3
- package/dist/components/layout/FilterMenu.js.map +1 -1
- package/dist/components/layout/FilterMenu.tsx +3 -3
- package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidCodeEditor.js +13 -7
- package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +22 -12
- package/dist/components/shad-cn-ui/SolidDatePicker.js +2 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.tsx +1 -1
- package/dist/components/shad-cn-ui/SolidDialog.d.ts +2 -1
- package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidDialog.js +2 -2
- package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidDialog.tsx +6 -3
- 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 +4 -3
- package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidIcon.tsx +15 -12
- package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
- package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidSelect.js +2 -2
- package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidSelect.tsx +3 -0
- package/dist/components/shad-cn-ui/SolidTextarea.d.ts +1 -1
- package/dist/components/shad-cn-ui/SolidTextarea.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidTextarea.js +3 -2
- package/dist/components/shad-cn-ui/SolidTextarea.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidTextarea.tsx +17 -2
- package/dist/helpers/# no such endpoints exist, need to calle +3 -0
- package/dist/helpers/registry.d.ts.map +1 -1
- package/dist/helpers/registry.js +10 -0
- package/dist/helpers/registry.js.map +1 -1
- package/dist/helpers/registry.ts +16 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/index.ts +71 -2
- package/dist/redux/api/apiKeyApi.d.ts +40 -0
- package/dist/redux/api/apiKeyApi.d.ts.map +1 -0
- package/dist/redux/api/apiKeyApi.js +36 -0
- package/dist/redux/api/apiKeyApi.js.map +1 -0
- package/dist/redux/api/apiKeyApi.ts +60 -0
- package/dist/resources/globals.css +628 -67
- package/dist/resources/shadcn-base.css +333 -7
- package/dist/resources/solid-responsive.css +6 -6
- package/dist/resources/themes/solid-dark-purple/theme.css +1 -1
- package/dist/routes/pages/studio/StudioLandingPage.js.map +1 -1
- package/dist/routes/pages/studio/StudioLandingPage.tsx +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidMediaSingleField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaSingleField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { DropzonePlaceholder } from \"../../../../components/common/DropzonePlaceholder\";\nimport { useDeleteMediaMutation } from \"../../../../redux/api/mediaApi\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n} from \"../../../shad-cn-ui/SolidDialog\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { SolidProgressBar } from \"../../../shad-cn-ui/SolidProgressBar\";\nimport { useEffect, useState } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { FileReaderExt } from \"../../../../components/common/FileReaderExt\";\nimport getAcceptedFileTypes from \"../../../../helpers/getAcceptedFileTypes\";\nimport { downloadMediaFile } from \"../../../../helpers/downloadMediaFile\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidMediaFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\nimport { SolidIcon } from \"../../../shad-cn-ui\";\n\nexport class SolidMediaSingleField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n private setLightboxUrls?: (urls: { src: string; downloadUrl: string }[]) => void;\n private setOpenLightbox?: (open: boolean) => void;\n constructor(fieldContext: SolidFieldProps, setLightboxUrls?: (urls: { src: string; downloadUrl: string }[]) => void,\n setOpenLightbox?: (open: boolean) => void) {\n this.fieldContext = fieldContext;\n this.setLightboxUrls = setLightboxUrls;\n this.setOpenLightbox = setOpenLightbox;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value instanceof File) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const mediaUrls = this.fieldContext.data && this.fieldContext.data._media && this.fieldContext.data._media[this.fieldContext.field.attrs.name][0];\n return mediaUrls;\n }\n\n validationSchema(): Yup.Schema {\n // let schema: Yup.StringSchema = Yup.object();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n // Dynamically determine the base type based on the 'required' flag\n\n // Define base schema\n let schema: Yup.MixedSchema<File | object>;\n\n if (fieldMetadata.required) {\n // For required fields: disallow null and undefined\n schema = Yup.mixed<File | object>()\n .required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .test(\n ERROR_MESSAGES.FILE_OBJECT,\n ERROR_MESSAGES.MUST_BE_FILE_OBJECT(fieldLabel),\n (value) =>\n value instanceof File || typeof value === \"object\" // Validate File or object\n );\n } else {\n // For optional fields: allow null or undefined\n schema = Yup.mixed<any>()\n .nullable() // Allow null explicitly\n .test(\n ERROR_MESSAGES.FILE_OBJECT,\n ERROR_MESSAGES.MUST_BE_FILE_OBJECT(fieldLabel),\n (value) =>\n value === null || // Allow null\n value === undefined || // Allow undefined\n value instanceof File || // Allow File\n value === 'false' ||\n typeof value === \"object\" // Allow object\n );\n }\n return schema;\n\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.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultMediaSingleFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultMediaSingleFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\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\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidMediaFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n setLightboxUrls: this.setLightboxUrls,\n setOpenLightbox: this.setOpenLightbox\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\n\n\nexport const DefaultMediaSingleFormEditWidget = ({ formik, fieldContext, setLightboxUrls, setOpenLightbox }: SolidMediaFormFieldWidgetProps) => {\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 fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const viewMode: string = fieldContext.viewMode;\n\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\n const isFieldDisabled = formDisabled || fieldDisabled;\n const isFieldReadonly = formReadonly || fieldReadonly || readOnlyPermission;\n\n const [isDeleteImageDialogVisible, setDeleteImageDialogVisible] = useState(false);\n const [imageToBeDeletedData, setImageToBeDeletedData] = useState<any>();\n const [fileDetails, setFileDetails] = useState<{ name: string; type: string, fileUrl: string, fileSize: number } | null>(null);\n const [isReplaceImageDialogVisible, setReplaceImageDialogVisible] = useState(false);\n const [newFileToUpload, setNewFileToUpload] = useState<any>(null);\n const [fileSizeError, setFileSizeError] = useState<string | null>(null);\n\n const formatFileSize = (size: number) => {\n return size >= 1024 * 1024\n ? `${(size / (1024 * 1024)).toFixed(1)} MB`\n : `${(size / 1024).toFixed(1)} KB`;\n };\n\n const [\n deleteMedia,\n { isLoading: isMediaDeleted, isSuccess: isDeleteMediaSuceess, isError: isMediaDeleteError, error: mediaDeleteError, data: DeletedMedia },\n ] = useDeleteMediaMutation();\n\n const handleCancelUpload = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (imageToBeDeletedData) {\n deleteMedia(imageToBeDeletedData);\n }\n e.stopPropagation();\n setFileDetails(null);\n formik.setFieldValue(fieldLayoutInfo.attrs.name, null);\n setDeleteImageDialogVisible(false);\n };\n\n const handleDropImage = (acceptedFiles: any[]) => {\n const file = acceptedFiles[0];\n if (!file) return;\n setFileSizeError(null);\n if (fileDetails) {\n // If a file is already uploaded, show the confirmation dialog\n setNewFileToUpload(file);\n setReplaceImageDialogVisible(true);\n } else {\n // If no file is present, proceed with upload\n uploadFile(file);\n }\n };\n\n const uploadFile = (file: File) => {\n setFileDetails({\n name: file.name,\n type: file.type,\n fileUrl: URL.createObjectURL(file),\n fileSize: file.size\n });\n\n const reader = new FileReader();\n reader.readAsDataURL(file);\n formik.setFieldValue(fieldLayoutInfo.attrs.name, file);\n };\n\n const handleReplaceFile = () => {\n // Delete the existing file first\n if (imageToBeDeletedData) {\n deleteMedia(imageToBeDeletedData);\n }\n setFileDetails(null);\n formik.setFieldValue(fieldLayoutInfo.attrs.name, null);\n\n // Proceed with uploading new file\n if (newFileToUpload) {\n uploadFile(newFileToUpload);\n setNewFileToUpload(null);\n }\n\n setReplaceImageDialogVisible(false);\n };\n\n useEffect(() => {\n const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];\n\n if (fieldValue && typeof fieldValue === \"object\") {\n let fileUrl = \"\";\n let fileName = \"Unknown File\";\n let fileSize = 0;\n\n if (fieldValue instanceof File) {\n fileUrl = URL.createObjectURL(fieldValue);\n fileName = fieldValue.name;\n fileSize = fieldValue.size;\n } else if (fieldValue._full_url) {\n fileUrl = fieldValue._full_url;\n fileName = fieldValue.originalFileName;\n fileSize = fieldValue.fileSize;\n }\n\n setFileDetails({\n name: fileName,\n type: fieldValue.mimeType ? fieldValue.mimeType : fieldValue.type,\n fileUrl,\n fileSize\n });\n\n // Set file ID for delete operation\n setImageToBeDeletedData(fieldValue.id);\n\n // Ensure formik has the correct value\n formik.setFieldValue(fieldLayoutInfo.attrs.name, fieldValue);\n }\n }, [formik.values, fieldLayoutInfo.attrs.name]);\n\n const {\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n isDragActive: isDragActive,\n } = useDropzone({\n onDrop: handleDropImage,\n onDropRejected: (fileRejections) => {\n const rejection = fileRejections[0];\n const sizeError = rejection.errors.find(err => err.code === 'file-too-large');\n if (sizeError) {\n setFileSizeError(ERROR_MESSAGES.FILE_TOO_LAREG(fieldMetadata.mediaMaxSizeKb));\n } else {\n setFileSizeError(rejection.errors[0]?.message || ERROR_MESSAGES.FILE_NOT_ACCEPT);\n }\n },\n accept: getAcceptedFileTypes(fieldMetadata.mediaTypes),\n maxSize: fieldMetadata.mediaMaxSizeKb * 1024,\n disabled: isFieldDisabled || isFieldReadonly\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n let DynamicWidget = getExtensionComponent(\"SolidFormFieldViewMediaSingleWidget\");\n const widgetProps = {\n formik: formik,\n fieldContext: fieldContext,\n setLightboxUrls: setLightboxUrls,\n setOpenLightbox: setOpenLightbox\n }\n\n const handleFileView = (url: any) => {\n const downloadOnlyExt = [\n \"txt\", \"zip\", \"rar\",\n \"doc\", \"docx\",\n \"xls\", \"xlsx\",\n \"ppt\", \"pptx\"\n ];\n\n const fileUrl = url?.fileUrl || \"\";\n const cleanUrl = fileUrl.split(\"?\")[0];\n const ext = cleanUrl.split(\".\").pop()?.toLowerCase();\n\n if (ext && downloadOnlyExt.includes(ext)) {\n const link = document.createElement('a');\n link.href = url.fileUrl;\n link.download = ''; // or specify a file name like 'file.pdf'\n link.target = '_blank';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n } else {\n setLightboxUrls?.([\n { src: url.fileUrl, downloadUrl: url.fileUrl },\n ]);\n setOpenLightbox?.(true);\n }\n }\n\n\n return (\n <div style={(isFieldDisabled === true || isFieldReadonly === true) ? { filter: 'opacity(50%)', pointerEvents: 'none' } : {}}>\n <div className={`${styles.fieldWrapper} relative`}>\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 <div className=\"relative\">\n <div\n {...getRootProps()}\n className=\"solid-dropzone-wrapper\"\n >\n <input {...getInputProps()} />\n <DropzonePlaceholder\n mediaTypes={fieldMetadata.mediaTypes}\n mediaMaxSizeKb={fieldMetadata.mediaMaxSizeKb}\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 fileSizeError &&\n <SolidMessage severity=\"error\" text={fileSizeError?.toString()} />\n }\n {fileDetails && (\n <div className=\"solid-file-upload-wrapper mt-4\">\n <div className=\"flex align-items-center md:gap-2\">\n <FileReaderExt fileDetails={fileDetails} />\n <div className=\"w-full flex flex-column gap-1\">\n <div className=\"flex align-items-start justify-content-between\">\n <p className=\"font-normal w-9 text-primary m-0 solid-img-text-wrapper\" style={{ cursor: 'pointer' }} onClick={() => handleFileView(fileDetails)}>{fileDetails.name}</p>\n <div className=\"flex align-items-center gap-2\">\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Download file\"\n onClick={() => downloadMediaFile(fileDetails?.fileUrl, fileDetails?.name)}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn is-danger\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Remove file\"\n onClick={() => setDeleteImageDialogVisible(true)}\n >\n <SolidIcon name=\"si-times\" aria-hidden />\n </button>\n </div>\n </div>\n <div className=\"flex align-items-center gap-2 text-sm\">\n {fileDetails && formatFileSize(fileDetails.fileSize)}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n <SolidDialog\n open={isDeleteImageDialogVisible}\n onOpenChange={setDeleteImageDialogVisible}\n className=\"solid-shadcn-confirm-dialog\"\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head\">\n <SolidDialogTitle>Confirm Delete</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body\">\n <p className=\"solid-shadcn-dialog-text\">Are you sure you want to delete media?</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions\">\n <SolidButton variant=\"destructive\" size=\"sm\" autoFocus onClick={handleCancelUpload}>\n Delete\n </SolidButton>\n <SolidButton variant=\"outline\" size=\"sm\" onClick={() => setDeleteImageDialogVisible(false)}>\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n <SolidDialog\n open={isReplaceImageDialogVisible}\n onOpenChange={setReplaceImageDialogVisible}\n className=\"solid-shadcn-confirm-dialog\"\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head\">\n <SolidDialogTitle>Replace Media</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body\">\n <p className=\"solid-shadcn-dialog-text\">A media file is already uploaded. Do you want to delete it and upload a new one?</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions\">\n <SolidButton variant=\"destructive\" size=\"sm\" onClick={handleReplaceFile}>\n Replace\n </SolidButton>\n <SolidButton variant=\"outline\" size=\"sm\" onClick={() => setReplaceImageDialogVisible(false)}>\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n </div>\n );\n}\n\nexport const DefaultMediaSingleFormViewWidget = ({ formik, fieldContext, setLightboxUrls, setOpenLightbox }: SolidMediaFormFieldWidgetProps) => {\n const [fileDetails, setFileDetails] = useState<{ name: string; type: string, fileUrl: string, fileSize: number } | null>(null);\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 showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n // useEffect(() => { formik.setFieldValue(fieldLayoutInfo.attrs.name, \"false\") }, [])\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const formatFileSize = (size: number) => {\n return size >= 1024 * 1024\n ? `${(size / (1024 * 1024)).toFixed(1)} MB`\n : `${(size / 1024).toFixed(1)} KB`;\n };\n\n useEffect(() => {\n const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];\n\n if (fieldValue && typeof fieldValue === \"object\") {\n let fileUrl = \"\";\n let fileName = \"Unknown File\";\n let fileSize = 0;\n\n if (fieldValue instanceof File) {\n fileUrl = URL.createObjectURL(fieldValue);\n fileName = fieldValue.name;\n fileSize = fieldValue.size;\n } else if (fieldValue._full_url) {\n fileUrl = fieldValue._full_url;\n fileName = fieldValue.originalFileName;\n fileSize = fieldValue.fileSize;\n }\n\n setFileDetails({\n name: fileName,\n type: fieldValue.mimeType ? fieldValue.mimeType : fieldValue.type,\n fileUrl,\n fileSize\n });\n // Ensure formik has the correct value\n formik.setFieldValue(fieldLayoutInfo.attrs.name, fieldValue);\n }\n }, [formik.values, fieldLayoutInfo.attrs.name]);\n\n const handleFileView = (url: any) => {\n const downloadOnlyExt = [\n \"txt\", \"zip\", \"rar\",\n \"doc\", \"docx\",\n \"xls\", \"xlsx\",\n \"ppt\", \"pptx\"\n ];\n\n const fileUrl = url?.fileUrl || \"\";\n const cleanUrl = fileUrl.split(\"?\")[0];\n const ext = cleanUrl.split(\".\").pop()?.toLowerCase();\n\n if (ext && downloadOnlyExt.includes(ext)) {\n const link = document.createElement('a');\n link.href = url.fileUrl;\n link.download = ''; // or specify a file name like 'file.pdf'\n link.target = '_blank';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n } else {\n setLightboxUrls?.([\n { src: url.fileUrl, downloadUrl: url.fileUrl },\n ]);\n setOpenLightbox?.(true);\n }\n }\n\n return (\n <div className={`${styles.fieldViewWrapper} relative`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n\n {fileDetails && (\n <div className=\"solid-file-view-wrapper mt-4\">\n <div className=\"flex align-items-center md:gap-2\">\n <FileReaderExt fileDetails={fileDetails} />\n <div className=\"w-full flex flex-column gap-1\">\n <div className=\"flex align-items-start justify-content-between\">\n <p className=\"font-normal w-9 text-primary m-0 solid-img-text-wrapper\" style={{ cursor: 'pointer' }} onClick={() => handleFileView(fileDetails)}>{fileDetails.name}</p>\n <div className=\"flex align-items-center md:gap-2\">\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n aria-label=\"Download file\"\n onClick={() => downloadMediaFile(fileDetails?.fileUrl, fileDetails?.name)}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n </div>\n </div>\n <div className=\"flex align-items-center gap-2 text-sm\">\n {fileDetails && formatFileSize(fileDetails.fileSize)}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SolidMediaSingleField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaSingleField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { DropzonePlaceholder } from \"../../../../components/common/DropzonePlaceholder\";\nimport { useDeleteMediaMutation } from \"../../../../redux/api/mediaApi\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n} from \"../../../shad-cn-ui/SolidDialog\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { SolidProgressBar } from \"../../../shad-cn-ui/SolidProgressBar\";\nimport { useEffect, useState } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { FileReaderExt } from \"../../../../components/common/FileReaderExt\";\nimport getAcceptedFileTypes from \"../../../../helpers/getAcceptedFileTypes\";\nimport { downloadMediaFile } from \"../../../../helpers/downloadMediaFile\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidMediaFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\nimport { SolidIcon } from \"../../../shad-cn-ui\";\n\nexport class SolidMediaSingleField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n private setLightboxUrls?: (urls: { src: string; downloadUrl: string }[]) => void;\n private setOpenLightbox?: (open: boolean) => void;\n constructor(fieldContext: SolidFieldProps, setLightboxUrls?: (urls: { src: string; downloadUrl: string }[]) => void,\n setOpenLightbox?: (open: boolean) => void) {\n this.fieldContext = fieldContext;\n this.setLightboxUrls = setLightboxUrls;\n this.setOpenLightbox = setOpenLightbox;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value instanceof File) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n const mediaUrls = this.fieldContext.data && this.fieldContext.data._media && this.fieldContext.data._media[this.fieldContext.field.attrs.name][0];\n return mediaUrls;\n }\n\n validationSchema(): Yup.Schema {\n // let schema: Yup.StringSchema = Yup.object();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n // Dynamically determine the base type based on the 'required' flag\n\n // Define base schema\n let schema: Yup.MixedSchema<File | object>;\n\n if (fieldMetadata.required) {\n // For required fields: disallow null and undefined\n schema = Yup.mixed<File | object>()\n .required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .test(\n ERROR_MESSAGES.FILE_OBJECT,\n ERROR_MESSAGES.MUST_BE_FILE_OBJECT(fieldLabel),\n (value) =>\n value instanceof File || typeof value === \"object\" // Validate File or object\n );\n } else {\n // For optional fields: allow null or undefined\n schema = Yup.mixed<any>()\n .nullable() // Allow null explicitly\n .test(\n ERROR_MESSAGES.FILE_OBJECT,\n ERROR_MESSAGES.MUST_BE_FILE_OBJECT(fieldLabel),\n (value) =>\n value === null || // Allow null\n value === undefined || // Allow undefined\n value instanceof File || // Allow File\n value === 'false' ||\n typeof value === \"object\" // Allow object\n );\n }\n return schema;\n\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.touched[fieldName] && formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultMediaSingleFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultMediaSingleFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\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\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidMediaFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n setLightboxUrls: this.setLightboxUrls,\n setOpenLightbox: this.setOpenLightbox\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\n\n\nexport const DefaultMediaSingleFormEditWidget = ({ formik, fieldContext, setLightboxUrls, setOpenLightbox }: SolidMediaFormFieldWidgetProps) => {\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 fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const viewMode: string = fieldContext.viewMode;\n\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\n const isFieldDisabled = formDisabled || fieldDisabled;\n const isFieldReadonly = formReadonly || fieldReadonly || readOnlyPermission;\n\n const [isDeleteImageDialogVisible, setDeleteImageDialogVisible] = useState(false);\n const [imageToBeDeletedData, setImageToBeDeletedData] = useState<any>();\n const [fileDetails, setFileDetails] = useState<{ name: string; type: string, fileUrl: string, fileSize: number } | null>(null);\n const [isReplaceImageDialogVisible, setReplaceImageDialogVisible] = useState(false);\n const [newFileToUpload, setNewFileToUpload] = useState<any>(null);\n const [fileSizeError, setFileSizeError] = useState<string | null>(null);\n\n const formatFileSize = (size: number) => {\n return size >= 1024 * 1024\n ? `${(size / (1024 * 1024)).toFixed(1)} MB`\n : `${(size / 1024).toFixed(1)} KB`;\n };\n\n const [\n deleteMedia,\n { isLoading: isMediaDeleted, isSuccess: isDeleteMediaSuceess, isError: isMediaDeleteError, error: mediaDeleteError, data: DeletedMedia },\n ] = useDeleteMediaMutation();\n\n const handleCancelUpload = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (imageToBeDeletedData) {\n deleteMedia(imageToBeDeletedData);\n }\n e.stopPropagation();\n setFileDetails(null);\n formik.setFieldValue(fieldLayoutInfo.attrs.name, null);\n setDeleteImageDialogVisible(false);\n };\n\n const handleDropImage = (acceptedFiles: any[]) => {\n const file = acceptedFiles[0];\n if (!file) return;\n setFileSizeError(null);\n if (fileDetails) {\n // If a file is already uploaded, show the confirmation dialog\n setNewFileToUpload(file);\n setReplaceImageDialogVisible(true);\n } else {\n // If no file is present, proceed with upload\n uploadFile(file);\n }\n };\n\n const uploadFile = (file: File) => {\n setFileDetails({\n name: file.name,\n type: file.type,\n fileUrl: URL.createObjectURL(file),\n fileSize: file.size\n });\n\n const reader = new FileReader();\n reader.readAsDataURL(file);\n formik.setFieldValue(fieldLayoutInfo.attrs.name, file);\n };\n\n const handleReplaceFile = () => {\n // Delete the existing file first\n if (imageToBeDeletedData) {\n deleteMedia(imageToBeDeletedData);\n }\n setFileDetails(null);\n formik.setFieldValue(fieldLayoutInfo.attrs.name, null);\n\n // Proceed with uploading new file\n if (newFileToUpload) {\n uploadFile(newFileToUpload);\n setNewFileToUpload(null);\n }\n\n setReplaceImageDialogVisible(false);\n };\n\n useEffect(() => {\n const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];\n\n if (fieldValue && typeof fieldValue === \"object\") {\n let fileUrl = \"\";\n let fileName = \"Unknown File\";\n let fileSize = 0;\n\n if (fieldValue instanceof File) {\n fileUrl = URL.createObjectURL(fieldValue);\n fileName = fieldValue.name;\n fileSize = fieldValue.size;\n } else if (fieldValue._full_url) {\n fileUrl = fieldValue._full_url;\n fileName = fieldValue.originalFileName;\n fileSize = fieldValue.fileSize;\n }\n\n setFileDetails({\n name: fileName,\n type: fieldValue.mimeType ? fieldValue.mimeType : fieldValue.type,\n fileUrl,\n fileSize\n });\n\n // Set file ID for delete operation\n setImageToBeDeletedData(fieldValue.id);\n\n // Ensure formik has the correct value\n formik.setFieldValue(fieldLayoutInfo.attrs.name, fieldValue);\n }\n }, [formik.values, fieldLayoutInfo.attrs.name]);\n\n const {\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n isDragActive: isDragActive,\n } = useDropzone({\n onDrop: handleDropImage,\n onDropRejected: (fileRejections) => {\n const rejection = fileRejections[0];\n const sizeError = rejection.errors.find(err => err.code === 'file-too-large');\n if (sizeError) {\n setFileSizeError(ERROR_MESSAGES.FILE_TOO_LAREG(fieldMetadata.mediaMaxSizeKb));\n } else {\n setFileSizeError(rejection.errors[0]?.message || ERROR_MESSAGES.FILE_NOT_ACCEPT);\n }\n },\n accept: getAcceptedFileTypes(fieldMetadata.mediaTypes),\n maxSize: fieldMetadata.mediaMaxSizeKb * 1024,\n disabled: isFieldDisabled || isFieldReadonly\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n let DynamicWidget = getExtensionComponent(\"SolidFormFieldViewMediaSingleWidget\");\n const widgetProps = {\n formik: formik,\n fieldContext: fieldContext,\n setLightboxUrls: setLightboxUrls,\n setOpenLightbox: setOpenLightbox\n }\n\n const handleFileView = (url: any) => {\n const downloadOnlyExt = [\n \"txt\", \"zip\", \"rar\",\n \"doc\", \"docx\",\n \"xls\", \"xlsx\",\n \"ppt\", \"pptx\"\n ];\n\n const fileUrl = url?.fileUrl || \"\";\n const cleanUrl = fileUrl.split(\"?\")[0];\n const ext = cleanUrl.split(\".\").pop()?.toLowerCase();\n\n if (ext && downloadOnlyExt.includes(ext)) {\n const link = document.createElement('a');\n link.href = url.fileUrl;\n link.download = ''; // or specify a file name like 'file.pdf'\n link.target = '_blank';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n } else {\n setLightboxUrls?.([\n { src: url.fileUrl, downloadUrl: url.fileUrl },\n ]);\n setOpenLightbox?.(true);\n }\n }\n\n\n return (\n <div style={(isFieldDisabled === true || isFieldReadonly === true) ? { filter: 'opacity(50%)', pointerEvents: 'none' } : {}}>\n <div className={`${styles.fieldWrapper} relative`}>\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 <div className=\"relative\">\n <div\n {...getRootProps()}\n className=\"solid-dropzone-wrapper\"\n >\n <input {...getInputProps()} />\n <DropzonePlaceholder\n mediaTypes={fieldMetadata.mediaTypes}\n mediaMaxSizeKb={fieldMetadata.mediaMaxSizeKb}\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 fileSizeError &&\n <SolidMessage severity=\"error\" text={fileSizeError?.toString()} />\n }\n {fileDetails && (\n <div className={`${styles.mediaAttachmentCard} mt-4`}>\n <div className={`${styles.mediaAttachmentRow} flex align-items-center md:gap-2`}>\n <FileReaderExt fileDetails={fileDetails} />\n <div className={`${styles.mediaAttachmentMeta} w-full`}>\n <div className=\"flex align-items-start justify-content-between gap-3\">\n <button\n type=\"button\"\n className={styles.mediaAttachmentName}\n onClick={() => handleFileView(fileDetails)}\n title={fileDetails.name}\n >\n {fileDetails.name}\n </button>\n <div className={`${styles.mediaAttachmentActions} flex align-items-center gap-2`}>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Download file\"\n onClick={() => downloadMediaFile(fileDetails?.fileUrl, fileDetails?.name)}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn is-danger\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Remove file\"\n onClick={() => setDeleteImageDialogVisible(true)}\n >\n <SolidIcon name=\"si-times\" aria-hidden />\n </button>\n </div>\n </div>\n <div className={styles.mediaAttachmentSize}>\n {fileDetails && formatFileSize(fileDetails.fileSize)}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n <SolidDialog\n open={isDeleteImageDialogVisible}\n onOpenChange={setDeleteImageDialogVisible}\n className=\"solid-shadcn-confirm-dialog\"\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head\">\n <SolidDialogTitle>Confirm Delete</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body\">\n <p className=\"solid-shadcn-dialog-text\">Are you sure you want to delete media?</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions\">\n <SolidButton variant=\"destructive\" size=\"sm\" autoFocus onClick={handleCancelUpload}>\n Delete\n </SolidButton>\n <SolidButton variant=\"outline\" size=\"sm\" onClick={() => setDeleteImageDialogVisible(false)}>\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n <SolidDialog\n open={isReplaceImageDialogVisible}\n onOpenChange={setReplaceImageDialogVisible}\n className=\"solid-shadcn-confirm-dialog\"\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head\">\n <SolidDialogTitle>Replace Media</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body\">\n <p className=\"solid-shadcn-dialog-text\">A media file is already uploaded. Do you want to delete it and upload a new one?</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions\">\n <SolidButton variant=\"destructive\" size=\"sm\" onClick={handleReplaceFile}>\n Replace\n </SolidButton>\n <SolidButton variant=\"outline\" size=\"sm\" onClick={() => setReplaceImageDialogVisible(false)}>\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n </div>\n );\n}\n\nexport const DefaultMediaSingleFormViewWidget = ({ formik, fieldContext, setLightboxUrls, setOpenLightbox }: SolidMediaFormFieldWidgetProps) => {\n const [fileDetails, setFileDetails] = useState<{ name: string; type: string, fileUrl: string, fileSize: number } | null>(null);\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 showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n // useEffect(() => { formik.setFieldValue(fieldLayoutInfo.attrs.name, \"false\") }, [])\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const formatFileSize = (size: number) => {\n return size >= 1024 * 1024\n ? `${(size / (1024 * 1024)).toFixed(1)} MB`\n : `${(size / 1024).toFixed(1)} KB`;\n };\n\n useEffect(() => {\n const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];\n\n if (fieldValue && typeof fieldValue === \"object\") {\n let fileUrl = \"\";\n let fileName = \"Unknown File\";\n let fileSize = 0;\n\n if (fieldValue instanceof File) {\n fileUrl = URL.createObjectURL(fieldValue);\n fileName = fieldValue.name;\n fileSize = fieldValue.size;\n } else if (fieldValue._full_url) {\n fileUrl = fieldValue._full_url;\n fileName = fieldValue.originalFileName;\n fileSize = fieldValue.fileSize;\n }\n\n setFileDetails({\n name: fileName,\n type: fieldValue.mimeType ? fieldValue.mimeType : fieldValue.type,\n fileUrl,\n fileSize\n });\n // Ensure formik has the correct value\n formik.setFieldValue(fieldLayoutInfo.attrs.name, fieldValue);\n }\n }, [formik.values, fieldLayoutInfo.attrs.name]);\n\n const handleFileView = (url: any) => {\n const downloadOnlyExt = [\n \"txt\", \"zip\", \"rar\",\n \"doc\", \"docx\",\n \"xls\", \"xlsx\",\n \"ppt\", \"pptx\"\n ];\n\n const fileUrl = url?.fileUrl || \"\";\n const cleanUrl = fileUrl.split(\"?\")[0];\n const ext = cleanUrl.split(\".\").pop()?.toLowerCase();\n\n if (ext && downloadOnlyExt.includes(ext)) {\n const link = document.createElement('a');\n link.href = url.fileUrl;\n link.download = ''; // or specify a file name like 'file.pdf'\n link.target = '_blank';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n } else {\n setLightboxUrls?.([\n { src: url.fileUrl, downloadUrl: url.fileUrl },\n ]);\n setOpenLightbox?.(true);\n }\n }\n\n return (\n <div className={`${styles.fieldViewWrapper} relative`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n\n {fileDetails && (\n <div className={`${styles.mediaAttachmentCard} ${styles.mediaAttachmentCardView} mt-4`}>\n <div className={`${styles.mediaAttachmentRow} flex align-items-center md:gap-2`}>\n <FileReaderExt fileDetails={fileDetails} />\n <div className={`${styles.mediaAttachmentMeta} w-full`}>\n <div className=\"flex align-items-start justify-content-between gap-3\">\n <button\n type=\"button\"\n className={styles.mediaAttachmentName}\n onClick={() => handleFileView(fileDetails)}\n title={fileDetails.name}\n >\n {fileDetails.name}\n </button>\n <div className={`${styles.mediaAttachmentActions} flex align-items-center md:gap-2`}>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n aria-label=\"Download file\"\n onClick={() => downloadMediaFile(fileDetails?.fileUrl, fileDetails?.name)}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n </div>\n </div>\n <div className={styles.mediaAttachmentSize}>\n {fileDetails && formatFileSize(fileDetails.fileSize)}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -365,34 +365,41 @@ export const DefaultMediaSingleFormEditWidget = ({ formik, fieldContext, setLigh
|
|
|
365
365
|
<SolidMessage severity="error" text={fileSizeError?.toString()} />
|
|
366
366
|
}
|
|
367
367
|
{fileDetails && (
|
|
368
|
-
<div className=
|
|
369
|
-
<div className=
|
|
368
|
+
<div className={`${styles.mediaAttachmentCard} mt-4`}>
|
|
369
|
+
<div className={`${styles.mediaAttachmentRow} flex align-items-center md:gap-2`}>
|
|
370
370
|
<FileReaderExt fileDetails={fileDetails} />
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
371
|
+
<div className={`${styles.mediaAttachmentMeta} w-full`}>
|
|
372
|
+
<div className="flex align-items-start justify-content-between gap-3">
|
|
373
|
+
<button
|
|
374
|
+
type="button"
|
|
375
|
+
className={styles.mediaAttachmentName}
|
|
376
|
+
onClick={() => handleFileView(fileDetails)}
|
|
377
|
+
title={fileDetails.name}
|
|
378
|
+
>
|
|
379
|
+
{fileDetails.name}
|
|
380
|
+
</button>
|
|
381
|
+
<div className={`${styles.mediaAttachmentActions} flex align-items-center gap-2`}>
|
|
382
|
+
<button
|
|
383
|
+
type="button"
|
|
384
|
+
className="solid-file-icon-btn"
|
|
385
|
+
disabled={isFieldDisabled || isFieldReadonly}
|
|
386
|
+
aria-label="Download file"
|
|
387
|
+
onClick={() => downloadMediaFile(fileDetails?.fileUrl, fileDetails?.name)}
|
|
388
|
+
>
|
|
389
|
+
<SolidIcon name="si-download" aria-hidden />
|
|
390
|
+
</button>
|
|
391
|
+
<button
|
|
392
|
+
type="button"
|
|
393
|
+
className="solid-file-icon-btn is-danger"
|
|
394
|
+
disabled={isFieldDisabled || isFieldReadonly}
|
|
395
|
+
aria-label="Remove file"
|
|
396
|
+
onClick={() => setDeleteImageDialogVisible(true)}
|
|
397
|
+
>
|
|
398
|
+
<SolidIcon name="si-times" aria-hidden />
|
|
399
|
+
</button>
|
|
400
|
+
</div>
|
|
401
|
+
</div>
|
|
402
|
+
<div className={styles.mediaAttachmentSize}>
|
|
396
403
|
{fileDetails && formatFileSize(fileDetails.fileSize)}
|
|
397
404
|
</div>
|
|
398
405
|
</div>
|
|
@@ -532,13 +539,20 @@ export const DefaultMediaSingleFormViewWidget = ({ formik, fieldContext, setLigh
|
|
|
532
539
|
}
|
|
533
540
|
|
|
534
541
|
{fileDetails && (
|
|
535
|
-
<div className=
|
|
536
|
-
<div className=
|
|
542
|
+
<div className={`${styles.mediaAttachmentCard} ${styles.mediaAttachmentCardView} mt-4`}>
|
|
543
|
+
<div className={`${styles.mediaAttachmentRow} flex align-items-center md:gap-2`}>
|
|
537
544
|
<FileReaderExt fileDetails={fileDetails} />
|
|
538
|
-
<div className=
|
|
539
|
-
<div className="flex align-items-start justify-content-between">
|
|
540
|
-
<
|
|
541
|
-
|
|
545
|
+
<div className={`${styles.mediaAttachmentMeta} w-full`}>
|
|
546
|
+
<div className="flex align-items-start justify-content-between gap-3">
|
|
547
|
+
<button
|
|
548
|
+
type="button"
|
|
549
|
+
className={styles.mediaAttachmentName}
|
|
550
|
+
onClick={() => handleFileView(fileDetails)}
|
|
551
|
+
title={fileDetails.name}
|
|
552
|
+
>
|
|
553
|
+
{fileDetails.name}
|
|
554
|
+
</button>
|
|
555
|
+
<div className={`${styles.mediaAttachmentActions} flex align-items-center md:gap-2`}>
|
|
542
556
|
<button
|
|
543
557
|
type="button"
|
|
544
558
|
className="solid-file-icon-btn"
|
|
@@ -549,7 +563,7 @@ export const DefaultMediaSingleFormViewWidget = ({ formik, fieldContext, setLigh
|
|
|
549
563
|
</button>
|
|
550
564
|
</div>
|
|
551
565
|
</div>
|
|
552
|
-
<div className=
|
|
566
|
+
<div className={styles.mediaAttachmentSize}>
|
|
553
567
|
{fileDetails && formatFileSize(fileDetails.fileSize)}
|
|
554
568
|
</div>
|
|
555
569
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidPasswordField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidPasswordField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"SolidPasswordField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidPasswordField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAa3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AASzE,qBAAa,kBAAmB,YAAW,WAAW;IAElD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,eAAe;IAIzC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQpD,YAAY,IAAI,GAAG;IASnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IA+C9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAkD3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAYjE;AAED,eAAO,MAAM,6BAA6B,6BAA8B,yBAAyB,4CAwBhG,CAAA;AAKD,eAAO,MAAM,+BAA+B,6BAA8B,yBAAyB,4CAqElG,CAAA;AAKD,eAAO,MAAM,6BAA6B,6BAA8B,yBAAyB,4CAmIhG,CAAC"}
|
|
@@ -51,7 +51,7 @@ import * as Yup from 'yup';
|
|
|
51
51
|
import { SolidButton } from "../../../shad-cn-ui/SolidButton";
|
|
52
52
|
import { SolidIcon } from "../../../shad-cn-ui";
|
|
53
53
|
import { SolidPasswordInput } from "../../../shad-cn-ui/SolidPasswordInput";
|
|
54
|
-
import { SolidDialog, SolidDialogBody, } from "../../../shad-cn-ui/SolidDialog";
|
|
54
|
+
import { SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogFooter, SolidDialogHeader, SolidDialogTitle, } from "../../../shad-cn-ui/SolidDialog";
|
|
55
55
|
import { getExtensionComponent } from "../../../../helpers/registry";
|
|
56
56
|
import { useState } from "react";
|
|
57
57
|
import { SolidFieldTooltip } from "../../../../components/common/SolidFieldTooltip";
|
|
@@ -294,6 +294,6 @@ export var DefaultPasswordFormEditWidget = function (_a) {
|
|
|
294
294
|
});
|
|
295
295
|
},
|
|
296
296
|
});
|
|
297
|
-
return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel !== false && (_jsxs("label", { htmlFor: fieldName, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx(SolidButton, { type: "button", label: "Change Password", icon: "si si-lock", onClick: function () { return setVisible(true); }, className: "mt-1", disabled: formDisabled || fieldDisabled || readOnlyPermission || fieldReadonly }),
|
|
297
|
+
return (_jsxs("div", { className: styles.fieldWrapper, children: [showFieldLabel !== false && (_jsxs("label", { htmlFor: fieldName, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: "*" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] })), _jsx(SolidButton, { type: "button", label: "Change Password", icon: "si si-lock", onClick: function () { return setVisible(true); }, className: "mt-1", disabled: formDisabled || fieldDisabled || readOnlyPermission || fieldReadonly }), _jsxs(SolidDialog, { open: visible, onOpenChange: setVisible, style: { width: '30vw' }, className: "solid-confirm-dialog", children: [_jsxs(SolidDialogHeader, { children: [_jsx(SolidDialogTitle, { children: "Change ".concat(fieldLabel) }), _jsx(SolidDialogClose, {})] }), _jsx(SolidDialogBody, { children: _jsxs("form", { onSubmit: modalFormik.handleSubmit, className: "p-fluid", children: [_jsxs("div", { className: styles.fieldWrapper, children: [_jsxs("label", { htmlFor: fieldName, className: "".concat(styles.fieldLabel, " form-field-label"), children: ["New ", fieldLabel] }), _jsx(SolidPasswordInput, { id: fieldName, name: fieldName, value: modalFormik.values[fieldName], onChange: modalFormik.handleChange, onBlur: modalFormik.handleBlur, toggle: true, autoComplete: "new-password", className: "w-full" }), isFormFieldValid(modalFormik, fieldName) && (_jsx("p", { className: styles.fieldError, children: (_q = modalFormik.errors[fieldName]) === null || _q === void 0 ? void 0 : _q.toString() }))] }), _jsxs("div", { className: styles.fieldWrapper, children: [_jsxs("label", { htmlFor: confirmFieldName, className: "".concat(styles.fieldLabel, " form-field-label"), children: ["Confirm ", fieldLabel] }), _jsx(SolidPasswordInput, { id: confirmFieldName, name: confirmFieldName, value: modalFormik.values[confirmFieldName], onChange: modalFormik.handleChange, onBlur: modalFormik.handleBlur, toggle: true, autoComplete: "new-password", className: "w-full" }), isFormFieldValid(modalFormik, confirmFieldName) && (_jsx("p", { className: styles.fieldError, children: (_r = modalFormik.errors[confirmFieldName]) === null || _r === void 0 ? void 0 : _r.toString() }))] }), _jsx(SolidDialogFooter, { className: "mt-5", children: _jsx(SolidButton, { label: "Update Password", icon: "si si-check", type: "submit", className: "w-full" }) })] }) })] })] }));
|
|
298
298
|
};
|
|
299
299
|
//# sourceMappingURL=SolidPasswordField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidPasswordField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidPasswordField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport styles from './solidFields.module.css';\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport { SolidIcon } from \"../../../shad-cn-ui\";\nimport { SolidPasswordInput } from \"../../../shad-cn-ui/SolidPasswordInput\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogTitle,\n} from \"../../../shad-cn-ui/SolidDialog\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { useState } from \"react\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { Formik, useFormik } from \"formik\";\nimport { usePathname } from \"../../../../hooks/usePathname\";\nimport { useSearchParams } from \"../../../../hooks/useSearchParams\";\nimport { updatePasswordField } from \"../../../../helpers/updatePasswordField\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\n\nexport class SolidPasswordField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): void {\n const fieldName = this.fieldContext?.field?.attrs?.name;\n if (value !== undefined && value !== null && value !== '') {\n formData.append(fieldName, value);\n }\n }\n\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n\n const existingValue = this.fieldContext.data[fieldName];\n // return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n return existingValue !== undefined && existingValue !== null ? undefined : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldName = fieldLayoutInfo.attrs.name;\n const confirmFieldName = `${fieldName}Confirm`;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n // 1. required\n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel, fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel, fieldMetadata.max));\n }\n // 3. regular expression\n if (fieldMetadata.regexPattern) {\n const regexPatternNotMatchingErrorMsg = fieldMetadata.regexPatternNotMatchingErrorMsg ?? ERROR_MESSAGES.FIELD_INVALID_DATA(fieldLabel)\n schema = schema.matches(fieldMetadata.regexPattern, regexPatternNotMatchingErrorMsg);\n }\n //check password and confirm password match if password have value\n schema = schema.test('passwords-match', ERROR_MESSAGES.FIELD_MUST_MATCH(fieldLabel), function (value) {\n const { path, parent } = this;\n const confirmValue = parent[confirmFieldName];\n\n // Edit mode / untouched → SKIP\n if (!value && !confirmValue) {\n return true;\n }\n // Only one filled → ERROR\n if (value || confirmValue) {\n return value === confirmValue;\n }\n return true; // If password is empty, don't validate match\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 let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n let createWidget = fieldLayoutInfo?.attrs?.createWidget;\n const pathname = usePathname();\n const isCreateForm = pathname.endsWith('/new');\n const data = this.fieldContext.data || {};\n const isFieldDataEmpty = Object.keys(data).length === 0;\n if (!createWidget) {\n createWidget = 'DefaultPasswordFormCreateWidget';\n }\n if (!editWidget) {\n editWidget = 'DefaultPasswordFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultPasswordFormViewWidget'; // add of this need to createWidget\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n <></>\n // this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (!isCreateForm && !isFieldDataEmpty) &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n {viewMode === \"edit\" && (isCreateForm || isFieldDataEmpty) &&\n <>\n {createWidget &&\n this.renderExtensionRenderMode(createWidget, formik)\n }\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\nexport const DefaultPasswordFormViewWidget = ({ 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 [isText, setIsText] = useState(false)\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <div className=\"flex align-items-center gap-3\">\n <p className={styles.fieldViewValue}>\n {isText ? formik.values[fieldLayoutInfo.attrs.name] : \"••••••••\"}\n </p>\n <SolidIcon\n name={isText ? \"si-eye\" : \"si-eye-slash\"}\n onClick={() => setIsText(!isText)}\n style={{ cursor: \"pointer\" }}\n aria-hidden\n />\n </div>\n </div>\n );\n}\n\n\n\n// Adding formCreateWidget\nexport const DefaultPasswordFormCreateWidget = ({ 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\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\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 return (\n <div>\n <div className={styles.fieldWrapper}>\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 <SolidPasswordInput\n id={fieldLayoutInfo.attrs.name}\n name={fieldMetadata.name}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n onChange={(e) => fieldContext.onChange(e, 'onFieldChange')}\n onBlur={(e) => fieldContext.onBlur(e, 'onFieldBlur')}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled}\n toggle\n autoComplete=\"new-password\"\n className=\"w-full\"\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor={`${fieldLayoutInfo.attrs.name}Confirm`} className={`${styles.fieldLabel} form-field-label`}>\n Confirm {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n </label>\n <SolidPasswordInput\n id={`${fieldLayoutInfo.attrs.name}Confirm`}\n name={`${fieldLayoutInfo.attrs.name}Confirm`}\n value={formik.values[`${fieldLayoutInfo.attrs.name}Confirm`] || ''}\n onChange={(e) => {\n formik.setFieldValue(`${fieldLayoutInfo.attrs.name}Confirm`, e.target.value);\n }}\n onBlur={(e) => {\n formik.setFieldTouched(`${fieldLayoutInfo.attrs.name}Confirm`, true);\n }}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled}\n toggle\n autoComplete=\"new-password\"\n className=\"w-full\"\n />\n {isFormFieldValid(formik, `${fieldLayoutInfo.attrs.name}Confirm`) && (\n <p className={styles.fieldError}>{formik?.errors[`${fieldLayoutInfo.attrs.name}Confirm`]?.toString()}</p>\n )}\n </div>\n </div>\n );\n}\n\n\n// Adding formEditWidget custom\n\nexport const DefaultPasswordFormEditWidget = ({ 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\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const url = fieldContext?.modelName\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2')\n .toLowerCase();\n const id = fieldContext?.data?.id;\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const [visible, setVisible] = useState(false);\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const confirmFieldName = `${fieldName}Confirm`;\n\n const modalFormik = useFormik({\n initialValues: {\n [fieldName]: '',\n [confirmFieldName]: '',\n },\n validationSchema: Yup.object({\n [fieldName]: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel)),\n [confirmFieldName]: Yup.string()\n .required(`Confirm ${ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel)}`)\n .oneOf([Yup.ref(fieldName)], ERROR_MESSAGES.FIELD_MUST_MATCH(fieldLabel)),\n }),\n onSubmit: async (values: { [x: string]: any; }, { resetForm }: any) => {\n try {\n await updatePasswordField({\n url,\n id,\n fieldName,\n fieldValue: values[fieldName],\n confirmFieldName,\n confirmFieldValue: values[confirmFieldName],\n });\n\n // formik.setFieldValue(fieldName, values[fieldName]);\n resetForm();\n setVisible(false);\n } catch (err) {\n console.error(err);\n // TODO: show user-friendly error\n }\n },\n });\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} 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\n <SolidButton\n type=\"button\"\n label=\"Change Password\"\n icon=\"si si-lock\"\n onClick={() => setVisible(true)}\n className=\"mt-1\"\n disabled={formDisabled || fieldDisabled || readOnlyPermission || fieldReadonly}\n />\n\n <SolidDialog\n header={`Change ${fieldLabel}`}\n visible={visible}\n onHide={() => setVisible(false)}\n style={{ width: '30vw' }}\n className=\"solid-confirm-dialog\"\n >\n <SolidDialogBody>\n <form onSubmit={modalFormik.handleSubmit} className=\"p-fluid\">\n <div className={styles.fieldWrapper}>\n <label htmlFor={fieldName} className={`${styles.fieldLabel} form-field-label`}>New {fieldLabel}</label>\n <SolidPasswordInput\n id={fieldName}\n name={fieldName}\n value={modalFormik.values[fieldName]}\n onChange={modalFormik.handleChange}\n onBlur={modalFormik.handleBlur}\n toggle\n autoComplete=\"new-password\"\n className=\"w-full\"\n />\n {isFormFieldValid(modalFormik, fieldName) && (\n <p className={styles.fieldError}>{modalFormik.errors[fieldName]?.toString()}</p>\n )}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor={confirmFieldName} className={`${styles.fieldLabel} form-field-label`}>Confirm {fieldLabel}</label>\n <SolidPasswordInput\n id={confirmFieldName}\n name={confirmFieldName}\n value={modalFormik.values[confirmFieldName]}\n onChange={modalFormik.handleChange}\n onBlur={modalFormik.handleBlur}\n toggle\n autoComplete=\"new-password\"\n className=\"w-full\"\n />\n {isFormFieldValid(modalFormik, confirmFieldName) && (\n <p className={styles.fieldError}>{modalFormik.errors[confirmFieldName]?.toString()}</p>\n )}\n </div>\n\n <div className=\"mt-5\">\n <SolidButton label=\"Update Password\" icon=\"si si-check\" type=\"submit\" className=\"w-full\" />\n </div>\n </form>\n </SolidDialogBody>\n </SolidDialog>\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SolidPasswordField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidPasswordField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport styles from './solidFields.module.css';\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport { SolidIcon } from \"../../../shad-cn-ui\";\nimport { SolidPasswordInput } from \"../../../shad-cn-ui/SolidPasswordInput\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogTitle,\n} from \"../../../shad-cn-ui/SolidDialog\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { useState } from \"react\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { Formik, useFormik } from \"formik\";\nimport { usePathname } from \"../../../../hooks/usePathname\";\nimport { useSearchParams } from \"../../../../hooks/useSearchParams\";\nimport { updatePasswordField } from \"../../../../helpers/updatePasswordField\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\n\nexport class SolidPasswordField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): void {\n const fieldName = this.fieldContext?.field?.attrs?.name;\n if (value !== undefined && value !== null && value !== '') {\n formData.append(fieldName, value);\n }\n }\n\n\n initialValue(): any {\n const fieldName = this.fieldContext.field.attrs.name;\n const fieldDefaultValue = this.fieldContext?.fieldMetadata?.defaultValue;\n\n const existingValue = this.fieldContext.data[fieldName];\n // return existingValue !== undefined && existingValue !== null ? existingValue : fieldDefaultValue || '';\n return existingValue !== undefined && existingValue !== null ? undefined : fieldDefaultValue || '';\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldName = fieldLayoutInfo.attrs.name;\n const confirmFieldName = `${fieldName}Confirm`;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n // 1. required\n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel, fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel, fieldMetadata.max));\n }\n // 3. regular expression\n if (fieldMetadata.regexPattern) {\n const regexPatternNotMatchingErrorMsg = fieldMetadata.regexPatternNotMatchingErrorMsg ?? ERROR_MESSAGES.FIELD_INVALID_DATA(fieldLabel)\n schema = schema.matches(fieldMetadata.regexPattern, regexPatternNotMatchingErrorMsg);\n }\n //check password and confirm password match if password have value\n schema = schema.test('passwords-match', ERROR_MESSAGES.FIELD_MUST_MATCH(fieldLabel), function (value) {\n const { path, parent } = this;\n const confirmValue = parent[confirmFieldName];\n\n // Edit mode / untouched → SKIP\n if (!value && !confirmValue) {\n return true;\n }\n // Only one filled → ERROR\n if (value || confirmValue) {\n return value === confirmValue;\n }\n return true; // If password is empty, don't validate match\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 let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n let createWidget = fieldLayoutInfo?.attrs?.createWidget;\n const pathname = usePathname();\n const isCreateForm = pathname.endsWith('/new');\n const data = this.fieldContext.data || {};\n const isFieldDataEmpty = Object.keys(data).length === 0;\n if (!createWidget) {\n createWidget = 'DefaultPasswordFormCreateWidget';\n }\n if (!editWidget) {\n editWidget = 'DefaultPasswordFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultPasswordFormViewWidget'; // add of this need to createWidget\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n <></>\n // this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" && (!isCreateForm && !isFieldDataEmpty) &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n {viewMode === \"edit\" && (isCreateForm || isFieldDataEmpty) &&\n <>\n {createWidget &&\n this.renderExtensionRenderMode(createWidget, formik)\n }\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\nexport const DefaultPasswordFormViewWidget = ({ 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 [isText, setIsText] = useState(false)\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <div className=\"flex align-items-center gap-3\">\n <p className={styles.fieldViewValue}>\n {isText ? formik.values[fieldLayoutInfo.attrs.name] : \"••••••••\"}\n </p>\n <SolidIcon\n name={isText ? \"si-eye\" : \"si-eye-slash\"}\n onClick={() => setIsText(!isText)}\n style={{ cursor: \"pointer\" }}\n aria-hidden\n />\n </div>\n </div>\n );\n}\n\n\n\n// Adding formCreateWidget\nexport const DefaultPasswordFormCreateWidget = ({ 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\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\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 return (\n <div>\n <div className={styles.fieldWrapper}>\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 <SolidPasswordInput\n id={fieldLayoutInfo.attrs.name}\n name={fieldMetadata.name}\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n onChange={(e) => fieldContext.onChange(e, 'onFieldChange')}\n onBlur={(e) => fieldContext.onBlur(e, 'onFieldBlur')}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled}\n toggle\n autoComplete=\"new-password\"\n className=\"w-full\"\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor={`${fieldLayoutInfo.attrs.name}Confirm`} className={`${styles.fieldLabel} form-field-label`}>\n Confirm {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n </label>\n <SolidPasswordInput\n id={`${fieldLayoutInfo.attrs.name}Confirm`}\n name={`${fieldLayoutInfo.attrs.name}Confirm`}\n value={formik.values[`${fieldLayoutInfo.attrs.name}Confirm`] || ''}\n onChange={(e) => {\n formik.setFieldValue(`${fieldLayoutInfo.attrs.name}Confirm`, e.target.value);\n }}\n onBlur={(e) => {\n formik.setFieldTouched(`${fieldLayoutInfo.attrs.name}Confirm`, true);\n }}\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled}\n toggle\n autoComplete=\"new-password\"\n className=\"w-full\"\n />\n {isFormFieldValid(formik, `${fieldLayoutInfo.attrs.name}Confirm`) && (\n <p className={styles.fieldError}>{formik?.errors[`${fieldLayoutInfo.attrs.name}Confirm`]?.toString()}</p>\n )}\n </div>\n </div>\n );\n}\n\n\n// Adding formEditWidget custom\n\nexport const DefaultPasswordFormEditWidget = ({ 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\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const url = fieldContext?.modelName\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2')\n .toLowerCase();\n const id = fieldContext?.data?.id;\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const [visible, setVisible] = useState(false);\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const confirmFieldName = `${fieldName}Confirm`;\n\n const modalFormik = useFormik({\n initialValues: {\n [fieldName]: '',\n [confirmFieldName]: '',\n },\n validationSchema: Yup.object({\n [fieldName]: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel)),\n [confirmFieldName]: Yup.string()\n .required(`Confirm ${ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel)}`)\n .oneOf([Yup.ref(fieldName)], ERROR_MESSAGES.FIELD_MUST_MATCH(fieldLabel)),\n }),\n onSubmit: async (values: { [x: string]: any; }, { resetForm }: any) => {\n try {\n await updatePasswordField({\n url,\n id,\n fieldName,\n fieldValue: values[fieldName],\n confirmFieldName,\n confirmFieldValue: values[confirmFieldName],\n });\n\n // formik.setFieldValue(fieldName, values[fieldName]);\n resetForm();\n setVisible(false);\n } catch (err) {\n console.error(err);\n // TODO: show user-friendly error\n }\n },\n });\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} 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\n <SolidButton\n type=\"button\"\n label=\"Change Password\"\n icon=\"si si-lock\"\n onClick={() => setVisible(true)}\n className=\"mt-1\"\n disabled={formDisabled || fieldDisabled || readOnlyPermission || fieldReadonly}\n />\n\n <SolidDialog\n open={visible}\n onOpenChange={setVisible}\n style={{ width: '30vw' }}\n className=\"solid-confirm-dialog\"\n >\n <SolidDialogHeader>\n <SolidDialogTitle>{`Change ${fieldLabel}`}</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody>\n <form onSubmit={modalFormik.handleSubmit} className=\"p-fluid\">\n <div className={styles.fieldWrapper}>\n <label htmlFor={fieldName} className={`${styles.fieldLabel} form-field-label`}>New {fieldLabel}</label>\n <SolidPasswordInput\n id={fieldName}\n name={fieldName}\n value={modalFormik.values[fieldName]}\n onChange={modalFormik.handleChange}\n onBlur={modalFormik.handleBlur}\n toggle\n autoComplete=\"new-password\"\n className=\"w-full\"\n />\n {isFormFieldValid(modalFormik, fieldName) && (\n <p className={styles.fieldError}>{modalFormik.errors[fieldName]?.toString()}</p>\n )}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor={confirmFieldName} className={`${styles.fieldLabel} form-field-label`}>Confirm {fieldLabel}</label>\n <SolidPasswordInput\n id={confirmFieldName}\n name={confirmFieldName}\n value={modalFormik.values[confirmFieldName]}\n onChange={modalFormik.handleChange}\n onBlur={modalFormik.handleBlur}\n toggle\n autoComplete=\"new-password\"\n className=\"w-full\"\n />\n {isFormFieldValid(modalFormik, confirmFieldName) && (\n <p className={styles.fieldError}>{modalFormik.errors[confirmFieldName]?.toString()}</p>\n )}\n </div>\n\n <SolidDialogFooter className=\"mt-5\">\n <SolidButton label=\"Update Password\" icon=\"si si-check\" type=\"submit\" className=\"w-full\" />\n </SolidDialogFooter>\n </form>\n </SolidDialogBody>\n </SolidDialog>\n </div>\n );\n};\n"]}
|