@solidstarters/solid-core-ui 1.1.18 → 1.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Svg/FileSvg.d.ts +4 -0
- package/dist/components/Svg/FileSvg.d.ts.map +1 -0
- package/dist/components/Svg/FileSvg.js +15 -0
- package/dist/components/Svg/FileSvg.js.map +1 -0
- package/dist/components/auth/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +9 -7
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
- package/dist/components/auth/ForgotPasswordThankYou.js +3 -1
- package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
- package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidForgotPassword.js +3 -1
- package/dist/components/auth/SolidForgotPassword.js.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.js +4 -2
- package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.js +4 -2
- package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +3 -1
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -1
- package/dist/components/auth/SolidOTPVerify.js +3 -1
- package/dist/components/auth/SolidOTPVerify.js.map +1 -1
- package/dist/components/auth/SolidRegister.d.ts.map +1 -1
- package/dist/components/auth/SolidRegister.js +3 -1
- package/dist/components/auth/SolidRegister.js.map +1 -1
- package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidResetPassword.js +4 -2
- package/dist/components/auth/SolidResetPassword.js.map +1 -1
- package/dist/components/common/CancelButton.js +2 -2
- package/dist/components/common/CancelButton.js.map +1 -1
- package/dist/components/common/DropzonePlaceholder.d.ts +6 -1
- package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
- package/dist/components/common/DropzonePlaceholder.js +8 -2
- package/dist/components/common/DropzonePlaceholder.js.map +1 -1
- package/dist/components/common/FileReaderExt.d.ts.map +1 -1
- package/dist/components/common/FileReaderExt.js +2 -1
- package/dist/components/common/FileReaderExt.js.map +1 -1
- package/dist/components/common/SolidBreadcrumb.d.ts +11 -0
- package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -0
- package/dist/components/common/SolidBreadcrumb.js +22 -0
- package/dist/components/common/SolidBreadcrumb.js.map +1 -0
- package/dist/components/core/common/SolidConfigureLayoutElement.d.ts +1 -1
- package/dist/components/core/common/SolidConfigureLayoutElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidConfigureLayoutElement.js +38 -10
- package/dist/components/core/common/SolidConfigureLayoutElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +3 -3
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/filter/SolidManyToOneFilterElement.js +1 -1
- package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +33 -40
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/fields/ISolidField.d.ts +1 -0
- package/dist/components/core/form/fields/ISolidField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.js +3 -2
- package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDateField.js +3 -2
- package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.js +3 -2
- package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.js +10 -2
- package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.js +10 -2
- package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.js +3 -2
- package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.js +3 -2
- package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +69 -66
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +75 -93
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.js +3 -2
- package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js +3 -2
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.js +3 -2
- package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.js +3 -2
- package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidTimeField.js +3 -2
- package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +9 -5
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +7 -8
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +10 -8
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +54 -48
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidManyToOneFilterElement.js +1 -1
- package/dist/components/core/list/SolidManyToOneFilterElement.js.map +1 -1
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +15 -8
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +1 -1
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +65 -68
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
- package/dist/components/core/model/ModelMetaData.js +6 -1
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/components/core/module/CreateModule.d.ts.map +1 -1
- package/dist/components/core/module/CreateModule.js +13 -7
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/users/CreateUser.d.ts.map +1 -1
- package/dist/components/core/users/CreateUser.js +10 -4
- package/dist/components/core/users/CreateUser.js.map +1 -1
- package/dist/components/layout/AppConfig.js +1 -1
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +34 -5
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/navbar-two-menu.js +1 -1
- package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
- package/dist/components/layout/user-profile-menu.js +3 -1
- package/dist/components/layout/user-profile-menu.js.map +1 -1
- package/dist/helpers/downloadMediaFile.d.ts +2 -0
- package/dist/helpers/downloadMediaFile.d.ts.map +1 -0
- package/dist/helpers/downloadMediaFile.js +66 -0
- package/dist/helpers/downloadMediaFile.js.map +1 -0
- package/dist/helpers/getAcceptedFileTypes.d.ts +4 -0
- package/dist/helpers/getAcceptedFileTypes.d.ts.map +1 -0
- package/dist/helpers/getAcceptedFileTypes.js +20 -0
- package/dist/helpers/getAcceptedFileTypes.js.map +1 -0
- package/dist/helpers/permissions.d.ts +1 -0
- package/dist/helpers/permissions.d.ts.map +1 -1
- package/dist/helpers/permissions.js +3 -0
- package/dist/helpers/permissions.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/nextAuth/authProviders.d.ts.map +1 -1
- package/dist/nextAuth/authProviders.js +15 -10
- package/dist/nextAuth/authProviders.js.map +1 -1
- package/dist/redux/api/authApi.d.ts.map +1 -1
- package/dist/redux/api/authApi.js +1 -1
- package/dist/redux/api/authApi.js.map +1 -1
- package/dist/redux/api/solidViewApi.d.ts +1 -1
- package/dist/redux/api/solidViewApi.d.ts.map +1 -1
- package/dist/redux/api/solidViewApi.js +1 -1
- package/dist/redux/api/solidViewApi.js.map +1 -1
- package/dist/resources/globals.css +2551 -0
- package/dist/resources/images/AvatarDemo.png +0 -0
- package/dist/resources/images/Footerbg.png +0 -0
- package/dist/resources/images/LoginBanner.png +0 -0
- package/dist/resources/images/Navigation/Level.svg +5 -0
- package/dist/resources/images/Navigation/Presure.svg +7 -0
- package/dist/resources/images/Navigation/Temperature.svg +13 -0
- package/dist/resources/images/Navigation/settings.png +0 -0
- package/dist/resources/images/Profile/Avatar.png +0 -0
- package/dist/resources/images/SS-Logo.png +0 -0
- package/dist/resources/images/activity.svg +3 -0
- package/dist/resources/images/app-builder.png +0 -0
- package/dist/resources/images/auth/solid-left-layout-bg.png +0 -0
- package/dist/resources/images/auth/solid-login-light.png +0 -0
- package/dist/resources/images/auth/solid-right-layout-bg.png +0 -0
- package/dist/resources/images/clog-wheel.png +0 -0
- package/dist/resources/images/dark-mode.png +0 -0
- package/dist/resources/images/dashboard/Ellipse 1.svg +10 -0
- package/dist/resources/images/dashboard/Rectangle 17.svg +10 -0
- package/dist/resources/images/dashboard/Rectangle 25.svg +11 -0
- package/dist/resources/images/dashboard/image 5.svg +9 -0
- package/dist/resources/images/eye-icon.png +0 -0
- package/dist/resources/images/fb.svg +3 -0
- package/dist/resources/images/fileReader/image-jpg.png +0 -0
- package/dist/resources/images/filter-icon.png +0 -0
- package/dist/resources/images/form/user.png +0 -0
- package/dist/resources/images/iam.png +0 -0
- package/dist/resources/images/icons/icon-activity.svg +3 -0
- package/dist/resources/images/icons/icon-calender.svg +3 -0
- package/dist/resources/images/icons/icon-graph.svg +3 -0
- package/dist/resources/images/icons/icon-kanban.svg +3 -0
- package/dist/resources/images/icons/icon-list.svg +3 -0
- package/dist/resources/images/icons/icon-users.svg +3 -0
- package/dist/resources/images/icons/jump-to-icon.png +0 -0
- package/dist/resources/images/insta.svg +3 -0
- package/dist/resources/images/layout/images/comfortable.png +0 -0
- package/dist/resources/images/layout/images/compact.png +0 -0
- package/dist/resources/images/layout/images/cozy.png +0 -0
- package/dist/resources/images/layout/images/kanban.png +0 -0
- package/dist/resources/images/li.svg +3 -0
- package/dist/resources/images/loginhero.png +0 -0
- package/dist/resources/images/logo.png +0 -0
- package/dist/resources/images/mail-icon.png +0 -0
- package/dist/resources/images/menu/app-builder.svg +19 -0
- package/dist/resources/images/menu/iam.svg +14 -0
- package/dist/resources/images/menu/logicloop-black.svg +28 -0
- package/dist/resources/images/menu/logicloop-blue.svg +32 -0
- package/dist/resources/images/menu/logicloop-white.svg +32 -0
- package/dist/resources/images/menu/queues.svg +14 -0
- package/dist/resources/images/menu/radix.svg +9 -0
- package/dist/resources/images/menu/rl-lead-middleware.svg +19 -0
- package/dist/resources/images/menu/solid-address-master.svg +10 -0
- package/dist/resources/images/menu/srmd-tracker-black.svg +16 -0
- package/dist/resources/images/menu/srmd-tracker-original.svg +32 -0
- package/dist/resources/images/menu/srmd-tracker-white.svg +17 -0
- package/dist/resources/images/menu/srmd-tracker.svg +16 -0
- package/dist/resources/images/menu-icon.png +0 -0
- package/dist/resources/images/menu-toggle.png +0 -0
- package/dist/resources/images/password-icon.png +0 -0
- package/dist/resources/images/profile.png +0 -0
- package/dist/resources/images/radix-logo-white.png +0 -0
- package/dist/resources/images/radix-logo.png +0 -0
- package/dist/resources/images/search-icon.png +0 -0
- package/dist/resources/images/signupBanner.png +0 -0
- package/dist/resources/images/tw.svg +3 -0
- package/dist/resources/images/user-icon.png +0 -0
- package/dist/resources/stylesheets/_config.scss +54 -0
- package/dist/resources/stylesheets/_content.scss +91 -0
- package/dist/resources/stylesheets/_footer.scss +8 -0
- package/dist/resources/stylesheets/_main.scss +47 -0
- package/dist/resources/stylesheets/_menu.scss +185 -0
- package/dist/resources/stylesheets/_mixins.scss +13 -0
- package/dist/resources/stylesheets/_responsive.scss +99 -0
- package/dist/resources/stylesheets/_topbar.scss +149 -0
- package/dist/resources/stylesheets/_typography.scss +63 -0
- package/dist/resources/stylesheets/_utils.scss +27 -0
- package/dist/resources/stylesheets/_variables.scss +3 -0
- package/dist/resources/stylesheets/layout.scss +11 -0
- package/dist/stylesheets/globals.css +2476 -0
- package/dist/stylesheets/styles/SF-Pro-Display-Regular.otf +0 -0
- package/dist/stylesheets/styles/layout/_config.scss +54 -0
- package/dist/stylesheets/styles/layout/_content.scss +77 -0
- package/dist/stylesheets/styles/layout/_footer.scss +8 -0
- package/dist/stylesheets/styles/layout/_main.scss +47 -0
- package/dist/stylesheets/styles/layout/_menu.scss +185 -0
- package/dist/stylesheets/styles/layout/_mixins.scss +13 -0
- package/dist/stylesheets/styles/layout/_responsive.scss +99 -0
- package/dist/stylesheets/styles/layout/_topbar.scss +149 -0
- package/dist/stylesheets/styles/layout/_typography.scss +63 -0
- package/dist/stylesheets/styles/layout/_utils.scss +27 -0
- package/dist/stylesheets/styles/layout/_variables.scss +3 -0
- package/dist/stylesheets/styles/layout/layout.scss +11 -0
- package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Black.otf +0 -0
- package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Bold.otf +0 -0
- package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Heavy.otf +0 -0
- package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Light.otf +0 -0
- package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Medium.otf +0 -0
- package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Regular.otf +0 -0
- package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Semibold.otf +0 -0
- package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Thin.otf +0 -0
- package/dist/stylesheets/themes/solid-dark-purple/fonts/SF-Pro-Display-Ultralight.otf +0 -0
- package/dist/stylesheets/themes/solid-dark-purple/theme.css +9051 -0
- package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Black.otf +0 -0
- package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Bold.otf +0 -0
- package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Heavy.otf +0 -0
- package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Light.otf +0 -0
- package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Medium.otf +0 -0
- package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Regular.otf +0 -0
- package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Semibold.otf +0 -0
- package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Thin.otf +0 -0
- package/dist/stylesheets/themes/solid-light-purple/fonts/SF-Pro-Display-Ultralight.otf +0 -0
- package/dist/stylesheets/themes/solid-light-purple/theme.css +9077 -0
- package/package.json +6 -3
- package/src/components/Svg/FileSvg.tsx +18 -0
- package/src/components/auth/AuthLayout.tsx +13 -8
- package/src/components/auth/ForgotPasswordThankYou.tsx +6 -3
- package/src/components/auth/SolidForgotPassword.tsx +7 -4
- package/src/components/auth/SolidInitialLoginOtp.tsx +7 -4
- package/src/components/auth/SolidInitiateRegisterOtp.tsx +7 -4
- package/src/components/auth/SolidLogin.tsx +6 -3
- package/src/components/auth/SolidOTPVerify.tsx +6 -3
- package/src/components/auth/SolidRegister.tsx +6 -4
- package/src/components/auth/SolidResetPassword.tsx +7 -4
- package/src/components/common/CancelButton.tsx +2 -2
- package/src/components/common/DropzonePlaceholder.tsx +22 -9
- package/src/components/common/FileReaderExt.tsx +5 -3
- package/src/components/common/SolidBreadcrumb.tsx +27 -0
- package/src/components/core/common/SolidConfigureLayoutElement.tsx +102 -42
- package/src/components/core/common/SolidGlobalSearchElement.tsx +4 -3
- package/src/components/core/filter/SolidManyToOneFilterElement.tsx +1 -1
- package/src/components/core/form/SolidFormView.tsx +67 -69
- package/src/components/core/form/fields/ISolidField.tsx +2 -1
- package/src/components/core/form/fields/SolidBooleanField.tsx +3 -2
- package/src/components/core/form/fields/SolidDateField.tsx +3 -2
- package/src/components/core/form/fields/SolidDateTimeField.tsx +3 -2
- package/src/components/core/form/fields/SolidDecimalField.tsx +10 -2
- package/src/components/core/form/fields/SolidIntegerField.tsx +10 -2
- package/src/components/core/form/fields/SolidJsonField.tsx +3 -2
- package/src/components/core/form/fields/SolidLongTextField.tsx +3 -2
- package/src/components/core/form/fields/SolidMediaMultipleField.tsx +119 -97
- package/src/components/core/form/fields/SolidMediaSingleField.tsx +112 -125
- package/src/components/core/form/fields/SolidRichTextField.tsx +3 -2
- package/src/components/core/form/fields/SolidSelectionDynamicField.tsx +3 -2
- package/src/components/core/form/fields/SolidSelectionStaticField.tsx +3 -2
- package/src/components/core/form/fields/SolidShortTextField.tsx +3 -2
- package/src/components/core/form/fields/SolidTimeField.tsx +3 -2
- package/src/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +14 -7
- package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +7 -7
- package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +11 -7
- package/src/components/core/list/SolidListView.tsx +36 -55
- package/src/components/core/list/SolidManyToOneFilterElement.tsx +1 -1
- package/src/components/core/model/CreateModel.tsx +36 -27
- package/src/components/core/model/FieldMetaData.tsx +24 -24
- package/src/components/core/model/FieldMetaDataForm.tsx +45 -60
- package/src/components/core/model/ModelMetaData.tsx +7 -1
- package/src/components/core/module/CreateModule.tsx +24 -19
- package/src/components/core/users/CreateUser.tsx +15 -5
- package/src/components/layout/AppConfig.tsx +1 -1
- package/src/components/layout/AppSidebar.tsx +58 -23
- package/src/components/layout/navbar-two-menu.tsx +1 -1
- package/src/components/layout/user-profile-menu.tsx +18 -16
- package/src/declarations.d.ts +19 -0
- package/src/helpers/downloadMediaFile.tsx +19 -0
- package/src/helpers/getAcceptedFileTypes.tsx +22 -0
- package/src/helpers/permissions.ts +3 -0
- package/src/nextAuth/authProviders.tsx +3 -2
- package/src/redux/api/authApi.ts +2 -1
- package/src/redux/api/solidViewApi.ts +1 -0
- package/src/resources/globals.css +2551 -0
- package/src/resources/images/AvatarDemo.png +0 -0
- package/src/resources/images/Footerbg.png +0 -0
- package/src/resources/images/LoginBanner.png +0 -0
- package/src/resources/images/Navigation/Level.svg +5 -0
- package/src/resources/images/Navigation/Presure.svg +7 -0
- package/src/resources/images/Navigation/Temperature.svg +13 -0
- package/src/resources/images/Navigation/settings.png +0 -0
- package/src/resources/images/Profile/Avatar.png +0 -0
- package/src/resources/images/SS-Logo.png +0 -0
- package/src/resources/images/activity.svg +3 -0
- package/src/resources/images/app-builder.png +0 -0
- package/src/resources/images/auth/solid-left-layout-bg.png +0 -0
- package/src/resources/images/auth/solid-login-light.png +0 -0
- package/src/resources/images/auth/solid-right-layout-bg.png +0 -0
- package/src/resources/images/clog-wheel.png +0 -0
- package/src/resources/images/dark-mode.png +0 -0
- package/src/resources/images/dashboard/Ellipse 1.svg +10 -0
- package/src/resources/images/dashboard/Rectangle 17.svg +10 -0
- package/src/resources/images/dashboard/Rectangle 25.svg +11 -0
- package/src/resources/images/dashboard/image 5.svg +9 -0
- package/src/resources/images/eye-icon.png +0 -0
- package/src/resources/images/fb.svg +3 -0
- package/src/resources/images/fileReader/image-jpg.png +0 -0
- package/src/resources/images/filter-icon.png +0 -0
- package/src/resources/images/form/user.png +0 -0
- package/src/resources/images/iam.png +0 -0
- package/src/resources/images/icons/icon-activity.svg +3 -0
- package/src/resources/images/icons/icon-calender.svg +3 -0
- package/src/resources/images/icons/icon-graph.svg +3 -0
- package/src/resources/images/icons/icon-kanban.svg +3 -0
- package/src/resources/images/icons/icon-list.svg +3 -0
- package/src/resources/images/icons/icon-users.svg +3 -0
- package/src/resources/images/icons/jump-to-icon.png +0 -0
- package/src/resources/images/insta.svg +3 -0
- package/src/resources/images/layout/images/comfortable.png +0 -0
- package/src/resources/images/layout/images/compact.png +0 -0
- package/src/resources/images/layout/images/cozy.png +0 -0
- package/src/resources/images/layout/images/kanban.png +0 -0
- package/src/resources/images/li.svg +3 -0
- package/src/resources/images/loginhero.png +0 -0
- package/src/resources/images/logo.png +0 -0
- package/src/resources/images/mail-icon.png +0 -0
- package/src/resources/images/menu/app-builder.svg +19 -0
- package/src/resources/images/menu/iam.svg +14 -0
- package/src/resources/images/menu/logicloop-black.svg +28 -0
- package/src/resources/images/menu/logicloop-blue.svg +32 -0
- package/src/resources/images/menu/logicloop-white.svg +32 -0
- package/src/resources/images/menu/queues.svg +14 -0
- package/src/resources/images/menu/radix.svg +9 -0
- package/src/resources/images/menu/rl-lead-middleware.svg +19 -0
- package/src/resources/images/menu/solid-address-master.svg +10 -0
- package/src/resources/images/menu/srmd-tracker-black.svg +16 -0
- package/src/resources/images/menu/srmd-tracker-original.svg +32 -0
- package/src/resources/images/menu/srmd-tracker-white.svg +17 -0
- package/src/resources/images/menu/srmd-tracker.svg +16 -0
- package/src/resources/images/menu-icon.png +0 -0
- package/src/resources/images/menu-toggle.png +0 -0
- package/src/resources/images/password-icon.png +0 -0
- package/src/resources/images/profile.png +0 -0
- package/src/resources/images/radix-logo-white.png +0 -0
- package/src/resources/images/radix-logo.png +0 -0
- package/src/resources/images/search-icon.png +0 -0
- package/src/resources/images/signupBanner.png +0 -0
- package/src/resources/images/tw.svg +3 -0
- package/src/resources/images/user-icon.png +0 -0
- package/src/resources/stylesheets/_config.scss +54 -0
- package/src/resources/stylesheets/_content.scss +91 -0
- package/src/resources/stylesheets/_footer.scss +8 -0
- package/src/resources/stylesheets/_main.scss +47 -0
- package/src/resources/stylesheets/_menu.scss +185 -0
- package/src/resources/stylesheets/_mixins.scss +13 -0
- package/src/resources/stylesheets/_responsive.scss +99 -0
- package/src/resources/stylesheets/_topbar.scss +149 -0
- package/src/resources/stylesheets/_typography.scss +63 -0
- package/src/resources/stylesheets/_utils.scss +27 -0
- package/src/resources/stylesheets/_variables.scss +3 -0
- package/src/resources/stylesheets/layout.scss +11 -0
- package/dist/components/common/FilterComponent.d.ts +0 -3
- package/dist/components/common/FilterComponent.d.ts.map +0 -1
- package/dist/components/common/FilterComponent.js +0 -214
- package/dist/components/common/FilterComponent.js.map +0 -1
- package/dist/components/core/filter/columns/SolidBigintField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidBigintField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidBigintField.js +0 -8
- package/dist/components/core/filter/columns/SolidBigintField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidBooleanField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidBooleanField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidBooleanField.js +0 -27
- package/dist/components/core/filter/columns/SolidBooleanField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidComputedField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidComputedField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidComputedField.js +0 -22
- package/dist/components/core/filter/columns/SolidComputedField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidDateField.d.ts +0 -9
- package/dist/components/core/filter/columns/SolidDateField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidDateField.js +0 -35
- package/dist/components/core/filter/columns/SolidDateField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidDatetimeField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidDatetimeField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidDatetimeField.js +0 -24
- package/dist/components/core/filter/columns/SolidDatetimeField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidDecimalField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidDecimalField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidDecimalField.js +0 -8
- package/dist/components/core/filter/columns/SolidDecimalField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidExternalIdField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidExternalIdField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidExternalIdField.js +0 -25
- package/dist/components/core/filter/columns/SolidExternalIdField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidFloatField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidFloatField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidFloatField.js +0 -8
- package/dist/components/core/filter/columns/SolidFloatField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidIdField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidIdField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidIdField.js +0 -25
- package/dist/components/core/filter/columns/SolidIdField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidIntField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidIntField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidIntField.js +0 -34
- package/dist/components/core/filter/columns/SolidIntField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidLongTextField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidLongTextField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidLongTextField.js +0 -8
- package/dist/components/core/filter/columns/SolidLongTextField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidMediaMultipleField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidMediaMultipleField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidMediaMultipleField.js +0 -35
- package/dist/components/core/filter/columns/SolidMediaMultipleField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidMediaSingleField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidMediaSingleField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidMediaSingleField.js +0 -35
- package/dist/components/core/filter/columns/SolidMediaSingleField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidRelationField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidRelationField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidRelationField.js +0 -12
- package/dist/components/core/filter/columns/SolidRelationField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidRichTextField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidRichTextField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidRichTextField.js +0 -8
- package/dist/components/core/filter/columns/SolidRichTextField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidSelectionDynamicField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidSelectionDynamicField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidSelectionDynamicField.js +0 -25
- package/dist/components/core/filter/columns/SolidSelectionDynamicField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidSelectionStaticField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidSelectionStaticField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidSelectionStaticField.js +0 -26
- package/dist/components/core/filter/columns/SolidSelectionStaticField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidShortTextField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidShortTextField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidShortTextField.js +0 -33
- package/dist/components/core/filter/columns/SolidShortTextField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidTimeField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidTimeField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidTimeField.js +0 -24
- package/dist/components/core/filter/columns/SolidTimeField.js.map +0 -1
- package/dist/components/core/filter/columns/SolidUuidField.d.ts +0 -4
- package/dist/components/core/filter/columns/SolidUuidField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/SolidUuidField.js +0 -25
- package/dist/components/core/filter/columns/SolidUuidField.js.map +0 -1
- package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.d.ts +0 -4
- package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.d.ts.map +0 -1
- package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.js +0 -54
- package/dist/components/core/filter/columns/relations/SolidRelationManyToOneField.js.map +0 -1
|
@@ -11,6 +11,10 @@ import { Schema } from "yup";
|
|
|
11
11
|
import { FormikObject, ISolidField, SolidFieldProps } from "./ISolidField";
|
|
12
12
|
import { FileReaderExt } from "@/components/common/FileReaderExt";
|
|
13
13
|
import { ProgressBar } from "primereact/progressbar";
|
|
14
|
+
import Link from "next/link";
|
|
15
|
+
import getAcceptedFileTypes from "@/helpers/getAcceptedFileTypes";
|
|
16
|
+
import { downloadMediaFile } from "@/helpers/downloadMediaFile";
|
|
17
|
+
|
|
14
18
|
export class SolidMediaSingleField implements ISolidField {
|
|
15
19
|
|
|
16
20
|
private fieldContext: SolidFieldProps;
|
|
@@ -79,15 +83,15 @@ export class SolidMediaSingleField implements ISolidField {
|
|
|
79
83
|
const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
|
|
80
84
|
const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
|
|
81
85
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
86
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
82
87
|
|
|
83
88
|
const [isDeleteImageDialogVisible, setDeleteImageDialogVisible] = useState(false);
|
|
84
89
|
const [imageToBeDeletedData, setImageToBeDeletedData] = useState<any>();
|
|
85
|
-
const [imagesPreview, setImagesPreview] = useState<string | ArrayBuffer | null>(null);
|
|
86
|
-
const [uploadProgress, setUploadProgress] = useState<number>(0);
|
|
87
90
|
const [uploadCompleted, setUploadCompleted] = useState<boolean>(false);
|
|
88
|
-
const [fileDetails, setFileDetails] = useState<{ name: string; type: string } | null>(null);
|
|
89
|
-
const [uploadedSize, setUploadedSize] = useState<string>("0 MB");
|
|
91
|
+
const [fileDetails, setFileDetails] = useState<{ name: string; type: string, fileUrl: string } | null>(null);
|
|
90
92
|
const [totalSize, setTotalSize] = useState<string>("0 KB");
|
|
93
|
+
const [isReplaceImageDialogVisible, setReplaceImageDialogVisible] = useState(false);
|
|
94
|
+
const [newFileToUpload, setNewFileToUpload] = useState<any>(null);
|
|
91
95
|
|
|
92
96
|
const formatFileSize = (size: number) => {
|
|
93
97
|
return size >= 1024 * 1024
|
|
@@ -95,145 +99,110 @@ export class SolidMediaSingleField implements ISolidField {
|
|
|
95
99
|
: `${(size / 1024).toFixed(1)} KB`;
|
|
96
100
|
};
|
|
97
101
|
|
|
98
|
-
const fieldDisabled = fieldLayoutInfo.attrs?.disabled;
|
|
99
|
-
const fieldReadonly = fieldLayoutInfo.attrs?.readonly;
|
|
100
|
-
|
|
101
|
-
const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;
|
|
102
|
-
const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;
|
|
103
|
-
|
|
104
102
|
const [
|
|
105
103
|
deleteMedia,
|
|
106
104
|
{ isLoading: isMediaDeleted, isSuccess: isDeleteMediaSuceess, isError: isMediaDeleteError, error: mediaDeleteError, data: DeletedMedia },
|
|
107
105
|
] = useDeleteMediaMutation();
|
|
108
106
|
|
|
109
|
-
const handleDelete = () => {
|
|
110
|
-
imageToBeDeletedData.e.stopPropagation();
|
|
111
|
-
if (imageToBeDeletedData.imagesPreview.id) {
|
|
112
|
-
deleteMedia(imageToBeDeletedData.imagesPreview.id);
|
|
113
|
-
}
|
|
114
|
-
formik.setFieldValue(fieldLayoutInfo.attrs.name, null);
|
|
115
|
-
setDeleteImageDialogVisible(false);
|
|
116
|
-
};
|
|
117
107
|
const handleCancelUpload = (e: React.MouseEvent) => {
|
|
118
108
|
e.stopPropagation();
|
|
119
109
|
if (imageToBeDeletedData) {
|
|
120
110
|
deleteMedia(imageToBeDeletedData);
|
|
121
111
|
}
|
|
122
112
|
e.stopPropagation();
|
|
123
|
-
setUploadProgress(0);
|
|
124
113
|
setUploadCompleted(false);
|
|
125
114
|
setFileDetails(null);
|
|
126
115
|
formik.setFieldValue(fieldLayoutInfo.attrs.name, null);
|
|
127
116
|
setDeleteImageDialogVisible(false);
|
|
128
117
|
};
|
|
129
118
|
|
|
130
|
-
const handleDropImage = (acceptedFiles:
|
|
131
|
-
// const file = acceptedFiles[0];
|
|
132
|
-
// if (file) {
|
|
133
|
-
// formik.setFieldValue(fieldLayoutInfo.attrs.name, file);
|
|
134
|
-
// } else {
|
|
135
|
-
// console.error("No file was accepted");
|
|
136
|
-
// }
|
|
119
|
+
const handleDropImage = (acceptedFiles: any[]) => {
|
|
137
120
|
const file = acceptedFiles[0];
|
|
138
121
|
if (!file) return;
|
|
122
|
+
if (fileDetails) {
|
|
123
|
+
// If a file is already uploaded, show the confirmation dialog
|
|
124
|
+
setNewFileToUpload(file);
|
|
125
|
+
setReplaceImageDialogVisible(true);
|
|
126
|
+
} else {
|
|
127
|
+
// If no file is present, proceed with upload
|
|
128
|
+
uploadFile(file);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
139
131
|
|
|
132
|
+
const uploadFile = (file: any) => {
|
|
140
133
|
setUploadCompleted(false);
|
|
141
|
-
setUploadProgress(0);
|
|
142
134
|
setTotalSize(formatFileSize(file.size));
|
|
143
|
-
|
|
144
|
-
setFileDetails({ name: file.name, type: file.type });
|
|
135
|
+
setFileDetails({ name: file.name, type: file.type, fileUrl: file.fileUrl });
|
|
145
136
|
|
|
146
137
|
const reader = new FileReader();
|
|
147
|
-
|
|
148
|
-
reader.onloadstart = () => {
|
|
149
|
-
setUploadProgress(0);
|
|
150
|
-
setUploadedSize("0 KB");
|
|
151
|
-
};
|
|
152
|
-
reader.onprogress = (event) => {
|
|
153
|
-
if (event.loaded && event.total) {
|
|
154
|
-
const percent = Math.round((event.loaded / event.total) * 100);
|
|
155
|
-
setUploadProgress(percent);
|
|
156
|
-
setUploadedSize(formatFileSize(event.loaded));
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
|
|
160
138
|
reader.onloadend = () => {
|
|
161
|
-
setUploadProgress(100);
|
|
162
139
|
setUploadCompleted(true);
|
|
163
|
-
setUploadedSize(totalSize); // Set uploaded size to total size after completion
|
|
164
140
|
};
|
|
165
|
-
|
|
166
141
|
reader.readAsDataURL(file);
|
|
167
142
|
formik.setFieldValue(fieldLayoutInfo.attrs.name, file);
|
|
168
143
|
};
|
|
144
|
+
const handleReplaceFile = () => {
|
|
145
|
+
// Delete the existing file first
|
|
146
|
+
if (imageToBeDeletedData) {
|
|
147
|
+
deleteMedia(imageToBeDeletedData);
|
|
148
|
+
}
|
|
169
149
|
|
|
170
|
-
|
|
171
|
-
|
|
150
|
+
setUploadCompleted(false);
|
|
151
|
+
setFileDetails(null);
|
|
152
|
+
formik.setFieldValue(fieldLayoutInfo.attrs.name, null);
|
|
172
153
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
// }
|
|
182
|
-
// }, [formik.values, fieldLayoutInfo.attrs.name]);
|
|
154
|
+
// Proceed with uploading new file
|
|
155
|
+
if (newFileToUpload) {
|
|
156
|
+
uploadFile(newFileToUpload);
|
|
157
|
+
setNewFileToUpload(null);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
setReplaceImageDialogVisible(false);
|
|
161
|
+
};
|
|
183
162
|
useEffect(() => {
|
|
184
163
|
const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];
|
|
185
164
|
|
|
186
165
|
if (fieldValue && typeof fieldValue === "object") {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
166
|
+
let fileUrl = "";
|
|
167
|
+
let fileName = "Unknown File";
|
|
168
|
+
|
|
169
|
+
if (fieldValue instanceof File) {
|
|
170
|
+
// Handle new file upload
|
|
171
|
+
fileUrl = fieldValue.name;
|
|
172
|
+
fileName = fileUrl;
|
|
173
|
+
} else if (fieldValue._full_url) {
|
|
174
|
+
// Handle updated file from backend
|
|
175
|
+
fileUrl = fieldValue._full_url;
|
|
176
|
+
fileName = fieldValue.relativeUri?.split("/").pop() || "Unknown File";
|
|
198
177
|
}
|
|
178
|
+
|
|
179
|
+
setFileDetails({ name: fileName, type: "Uploaded File", fileUrl });
|
|
180
|
+
|
|
181
|
+
// Set upload progress
|
|
182
|
+
setUploadCompleted(true);
|
|
183
|
+
setImageToBeDeletedData(fieldValue.id);
|
|
184
|
+
formik.setFieldValue(fieldLayoutInfo.attrs.name, fieldValue);
|
|
199
185
|
}
|
|
200
186
|
}, [formik.values, fieldLayoutInfo.attrs.name]);
|
|
201
187
|
|
|
202
|
-
|
|
203
188
|
const {
|
|
204
189
|
getRootProps: getRootProps,
|
|
205
190
|
getInputProps: getInputProps,
|
|
206
191
|
isDragActive: isDragActive,
|
|
207
192
|
} = useDropzone({
|
|
208
193
|
onDrop: handleDropImage,
|
|
209
|
-
accept:
|
|
210
|
-
|
|
211
|
-
"image/png": [],
|
|
212
|
-
},
|
|
213
|
-
maxSize: 2 * 1024 * 1024, // 2MB
|
|
194
|
+
accept: getAcceptedFileTypes(fieldMetadata.mediaTypes),
|
|
195
|
+
maxSize: fieldMetadata.mediaMaxSizeKb * 1024,
|
|
214
196
|
});
|
|
215
197
|
|
|
216
198
|
const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
|
|
217
199
|
|
|
218
|
-
const imageFormatHandler = (preview: any) => {
|
|
219
|
-
if (typeof preview === 'string') {
|
|
220
|
-
return preview; // Existing URLs
|
|
221
|
-
}
|
|
222
|
-
if (preview instanceof File) {
|
|
223
|
-
return URL.createObjectURL(preview); // Generate preview URL for File
|
|
224
|
-
}
|
|
225
|
-
if (typeof preview === 'object') {
|
|
226
|
-
return preview._full_url
|
|
227
|
-
}
|
|
228
|
-
return ""; // Fallback for invalid cases
|
|
229
|
-
}
|
|
230
|
-
|
|
231
200
|
return (
|
|
232
|
-
<div className={className}>
|
|
201
|
+
<div className={className} style={readOnlyPermission === true ? { filter: 'opacity(50%)', pointerEvents: 'none' } : {}}>
|
|
233
202
|
<div className="flex flex-column gap-2 mt-4">
|
|
234
203
|
{showFieldLabel != false &&
|
|
235
204
|
<label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
|
|
236
|
-
{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
|
|
205
|
+
{/* {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>} */}
|
|
237
206
|
</label>
|
|
238
207
|
}
|
|
239
208
|
<div
|
|
@@ -241,7 +210,10 @@ export class SolidMediaSingleField implements ISolidField {
|
|
|
241
210
|
className="solid-dropzone-wrapper"
|
|
242
211
|
>
|
|
243
212
|
<input {...getInputProps()} />
|
|
244
|
-
<DropzonePlaceholder
|
|
213
|
+
<DropzonePlaceholder
|
|
214
|
+
mediaTypes={fieldMetadata.mediaTypes}
|
|
215
|
+
mediaMaxSizeKb={fieldMetadata.mediaMaxSizeKb}
|
|
216
|
+
/>
|
|
245
217
|
</div>
|
|
246
218
|
{isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
|
|
247
219
|
<Message severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />
|
|
@@ -251,46 +223,47 @@ export class SolidMediaSingleField implements ISolidField {
|
|
|
251
223
|
<div className="flex align-items-center gap-2">
|
|
252
224
|
<FileReaderExt fileDetails={fileDetails} />
|
|
253
225
|
<div className="w-full flex flex-column gap-1">
|
|
254
|
-
<div className="flex align-items-
|
|
255
|
-
<
|
|
256
|
-
<div className="
|
|
257
|
-
<
|
|
258
|
-
<
|
|
259
|
-
|
|
226
|
+
<div className="flex align-items-start justify-content-between">
|
|
227
|
+
<Link className="font-normal w-9" href={process.env.NEXT_PUBLIC_BACKEND_API_URL + `/${fileDetails?.fileUrl}`} target="_blank">{fileDetails.name}</Link>
|
|
228
|
+
<div className="flex align-items-center gap-2">
|
|
229
|
+
<div>
|
|
230
|
+
<Button
|
|
231
|
+
text
|
|
232
|
+
icon={"pi pi-download"}
|
|
233
|
+
size="small"
|
|
234
|
+
severity="secondary"
|
|
235
|
+
// className="p-2"
|
|
236
|
+
style={{
|
|
237
|
+
height: 16,
|
|
238
|
+
width: 16
|
|
239
|
+
}}
|
|
240
|
+
onClick={() => downloadMediaFile(fileDetails?.fileUrl, fileDetails?.name)}
|
|
241
|
+
/>
|
|
242
|
+
</div>
|
|
243
|
+
<div>
|
|
244
|
+
<Button
|
|
245
|
+
text
|
|
246
|
+
icon={"pi pi-times"}
|
|
247
|
+
size="small"
|
|
248
|
+
severity="secondary"
|
|
249
|
+
// className="p-2"
|
|
250
|
+
style={{
|
|
251
|
+
height: 16,
|
|
252
|
+
width: 16
|
|
253
|
+
}}
|
|
254
|
+
onClick={() => setDeleteImageDialogVisible(true)}
|
|
255
|
+
/>
|
|
256
|
+
</div>
|
|
260
257
|
</div>
|
|
261
258
|
</div>
|
|
262
259
|
{
|
|
263
|
-
uploadCompleted
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
<circle cx="2" cy="2" r="2" fill="#C1C1C1" />
|
|
268
|
-
</svg>
|
|
269
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
|
|
270
|
-
<mask id="mask0_2480_8635" style={{ maskType: 'alpha' }} maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20">
|
|
271
|
-
<rect width="20" height="20" fill="#D9D9D9" />
|
|
272
|
-
</mask>
|
|
273
|
-
<g mask="url(#mask0_2480_8635)">
|
|
274
|
-
<path d="M9.16 12.76L13.39 8.53L12.55 7.69L9.16 11.08L7.45 9.37L6.61 10.21L9.16 12.76ZM10 16C9.17 16 8.39 15.8424 7.66 15.5272C6.93 15.2124 6.295 14.785 5.755 14.245C5.215 13.705 4.7876 13.07 4.4728 12.34C4.1576 11.61 4 10.83 4 10C4 9.17 4.1576 8.39 4.4728 7.66C4.7876 6.93 5.215 6.295 5.755 5.755C6.295 5.215 6.93 4.7874 7.66 4.4722C8.39 4.1574 9.17 4 10 4C10.83 4 11.61 4.1574 12.34 4.4722C13.07 4.7874 13.705 5.215 14.245 5.755C14.785 6.295 15.2124 6.93 15.5272 7.66C15.8424 8.39 16 9.17 16 10C16 10.83 15.8424 11.61 15.5272 12.34C15.2124 13.07 14.785 13.705 14.245 14.245C13.705 14.785 13.07 15.2124 12.34 15.5272C11.61 15.8424 10.83 16 10 16Z" fill="#722ED1" />
|
|
275
|
-
</g>
|
|
276
|
-
</svg>
|
|
277
|
-
Completed
|
|
278
|
-
</div>
|
|
279
|
-
:
|
|
280
|
-
<div className="flex align-items-center gap-2 text-sm">
|
|
281
|
-
{uploadedSize} of {totalSize}
|
|
282
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="4" height="4" viewBox="0 0 4 4" fill="none">
|
|
283
|
-
<circle cx="2" cy="2" r="2" fill="#C1C1C1" />
|
|
284
|
-
</svg>
|
|
285
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
286
|
-
<path d="M7.375 10.5V5.40625L5.75 7.03125L4.875 6.125L8 3L11.125 6.125L10.25 7.03125L8.625 5.40625V10.5H7.375ZM4.25 13C3.90625 13 3.61198 12.8776 3.36719 12.6328C3.1224 12.388 3 12.0938 3 11.75V9.875H4.25V11.75H11.75V9.875H13V11.75C13 12.0938 12.8776 12.388 12.6328 12.6328C12.388 12.8776 12.0938 13 11.75 13H4.25Z" fill="black" />
|
|
287
|
-
</svg>
|
|
288
|
-
Uploading ${uploadProgress}% Completed
|
|
289
|
-
</div>
|
|
260
|
+
uploadCompleted &&
|
|
261
|
+
<div className="flex align-items-center gap-2 text-sm">
|
|
262
|
+
{totalSize}
|
|
263
|
+
</div>
|
|
290
264
|
}
|
|
291
265
|
</div>
|
|
292
266
|
</div>
|
|
293
|
-
<ProgressBar value={uploadProgress} showValue={false} style={{ height: 4 }} className="mt-2" />
|
|
294
267
|
</div>
|
|
295
268
|
)}
|
|
296
269
|
</div>
|
|
@@ -306,7 +279,21 @@ export class SolidMediaSingleField implements ISolidField {
|
|
|
306
279
|
)}
|
|
307
280
|
onHide={() => setDeleteImageDialogVisible(false)}
|
|
308
281
|
>
|
|
309
|
-
<p>Are you sure you want to delete
|
|
282
|
+
<p>Are you sure you want to delete media?</p>
|
|
283
|
+
</Dialog>
|
|
284
|
+
<Dialog
|
|
285
|
+
visible={isReplaceImageDialogVisible}
|
|
286
|
+
header="Replace Image"
|
|
287
|
+
modal
|
|
288
|
+
footer={() => (
|
|
289
|
+
<div className="flex justify-content-center">
|
|
290
|
+
<Button label="Yes, Replace" icon="pi pi-check" className='small-button' severity="danger" onClick={handleReplaceFile} />
|
|
291
|
+
<Button label="Cancel" icon="pi pi-times" className='small-button' onClick={() => setReplaceImageDialogVisible(false)} />
|
|
292
|
+
</div>
|
|
293
|
+
)}
|
|
294
|
+
onHide={() => setReplaceImageDialogVisible(false)}
|
|
295
|
+
>
|
|
296
|
+
<p>An media is already uploaded. Do you want to delete it and upload a new one?</p>
|
|
310
297
|
</Dialog>
|
|
311
298
|
</div>
|
|
312
299
|
);
|
|
@@ -62,6 +62,7 @@ export class SolidRichTextField implements ISolidField {
|
|
|
62
62
|
const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
|
|
63
63
|
const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
|
|
64
64
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
65
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
65
66
|
|
|
66
67
|
const [text, setText] = useState();
|
|
67
68
|
|
|
@@ -78,11 +79,11 @@ export class SolidRichTextField implements ISolidField {
|
|
|
78
79
|
<div className="flex flex-column gap-2 mt-4">
|
|
79
80
|
{showFieldLabel != false &&
|
|
80
81
|
<label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
|
|
81
|
-
{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
|
|
82
|
+
{/* {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>} */}
|
|
82
83
|
</label>
|
|
83
84
|
}
|
|
84
85
|
<Editor
|
|
85
|
-
readOnly={formReadonly || fieldReadonly}
|
|
86
|
+
readOnly={formReadonly || fieldReadonly || readOnlyPermission}
|
|
86
87
|
disabled={formDisabled || fieldDisabled}
|
|
87
88
|
key={fieldLayoutInfo.attrs.name} // React will re-render the component whenever this value changes
|
|
88
89
|
id={fieldLayoutInfo.attrs.name}
|
|
@@ -56,6 +56,7 @@ export class SolidSelectionDynamicField implements ISolidField {
|
|
|
56
56
|
const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
|
|
57
57
|
const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
|
|
58
58
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
59
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
59
60
|
|
|
60
61
|
const fieldDisabled = fieldLayoutInfo.attrs?.disabled;
|
|
61
62
|
const fieldReadonly = fieldLayoutInfo.attrs?.readonly;
|
|
@@ -97,11 +98,11 @@ export class SolidSelectionDynamicField implements ISolidField {
|
|
|
97
98
|
<div className="flex flex-column gap-2 mt-4">
|
|
98
99
|
{showFieldLabel != false &&
|
|
99
100
|
<label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
|
|
100
|
-
{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
|
|
101
|
+
{/* {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>} */}
|
|
101
102
|
</label>
|
|
102
103
|
}
|
|
103
104
|
<AutoComplete
|
|
104
|
-
readOnly={formReadonly || fieldReadonly}
|
|
105
|
+
readOnly={formReadonly || fieldReadonly || readOnlyPermission}
|
|
105
106
|
disabled={formDisabled || fieldDisabled}
|
|
106
107
|
{...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
|
|
107
108
|
id={fieldLayoutInfo.attrs.name}
|
|
@@ -77,6 +77,7 @@ export class SolidSelectionStaticField implements ISolidField {
|
|
|
77
77
|
const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
|
|
78
78
|
const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
|
|
79
79
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
80
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
80
81
|
|
|
81
82
|
const fieldDisabled = fieldLayoutInfo.attrs?.disabled;
|
|
82
83
|
const fieldReadonly = fieldLayoutInfo.attrs?.readonly;
|
|
@@ -102,11 +103,11 @@ export class SolidSelectionStaticField implements ISolidField {
|
|
|
102
103
|
<div className="flex flex-column gap-2 mt-4">
|
|
103
104
|
{showFieldLabel != false &&
|
|
104
105
|
<label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
|
|
105
|
-
{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
|
|
106
|
+
{/* {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>} */}
|
|
106
107
|
</label>
|
|
107
108
|
}
|
|
108
109
|
<AutoComplete
|
|
109
|
-
readOnly={formReadonly || fieldReadonly}
|
|
110
|
+
readOnly={formReadonly || fieldReadonly || readOnlyPermission}
|
|
110
111
|
disabled={formDisabled || fieldDisabled}
|
|
111
112
|
{...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
|
|
112
113
|
id={fieldLayoutInfo.attrs.name}
|
|
@@ -69,6 +69,7 @@ export class SolidShortTextField implements ISolidField {
|
|
|
69
69
|
const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
|
|
70
70
|
const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
|
|
71
71
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
72
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
72
73
|
|
|
73
74
|
const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
|
|
74
75
|
|
|
@@ -83,13 +84,13 @@ export class SolidShortTextField implements ISolidField {
|
|
|
83
84
|
<div className="flex flex-column gap-2 mt-4">
|
|
84
85
|
{showFieldLabel != false &&
|
|
85
86
|
<label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
|
|
86
|
-
{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
|
|
87
|
+
{/* {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>} */}
|
|
87
88
|
|
|
88
89
|
{/* {fieldDescription && <span className="form_field_help_text">`(${fieldDescription})` </span>} */}
|
|
89
90
|
</label>
|
|
90
91
|
}
|
|
91
92
|
<InputText
|
|
92
|
-
readOnly={formReadonly || fieldReadonly}
|
|
93
|
+
readOnly={formReadonly || fieldReadonly || readOnlyPermission}
|
|
93
94
|
disabled={formDisabled || fieldDisabled}
|
|
94
95
|
id={fieldLayoutInfo.attrs.name}
|
|
95
96
|
aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}
|
|
@@ -52,6 +52,7 @@ export class SolidTimeField implements ISolidField {
|
|
|
52
52
|
const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
|
|
53
53
|
const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
|
|
54
54
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
55
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
55
56
|
|
|
56
57
|
const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
|
|
57
58
|
|
|
@@ -64,11 +65,11 @@ export class SolidTimeField implements ISolidField {
|
|
|
64
65
|
{showFieldLabel != false &&
|
|
65
66
|
<label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
|
|
66
67
|
|
|
67
|
-
{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
|
|
68
|
+
{/* {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>} */}
|
|
68
69
|
</label>
|
|
69
70
|
}
|
|
70
71
|
<Calendar
|
|
71
|
-
disabled={formDisabled || fieldDisabled}
|
|
72
|
+
disabled={formDisabled || fieldDisabled || readOnlyPermission}
|
|
72
73
|
ref={calendarRef} // Attach ref to Calendar
|
|
73
74
|
id={fieldLayoutInfo.attrs.name}
|
|
74
75
|
aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}
|
|
@@ -13,6 +13,7 @@ import * as Yup from 'yup';
|
|
|
13
13
|
import { Schema } from "yup";
|
|
14
14
|
import SolidFormView from "../../SolidFormView";
|
|
15
15
|
import { FormikObject, ISolidField, SolidFieldProps } from "../ISolidField";
|
|
16
|
+
import { useRouter } from "next/router";
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
|
|
@@ -137,9 +138,13 @@ export class SolidRelationManyToManyField implements ISolidField {
|
|
|
137
138
|
const className = fieldLayoutInfo.attrs?.className || 'field col-12';
|
|
138
139
|
const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
|
|
139
140
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
141
|
+
const router = useRouter();
|
|
142
|
+
|
|
143
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
144
|
+
|
|
140
145
|
|
|
141
146
|
// auto complete specific code.
|
|
142
|
-
const entityApi = createSolidEntityApi(fieldMetadata.
|
|
147
|
+
const entityApi = createSolidEntityApi(fieldMetadata.relationCoModelSingularName);
|
|
143
148
|
const { useLazyGetSolidEntitiesQuery } = entityApi;
|
|
144
149
|
const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();
|
|
145
150
|
|
|
@@ -273,6 +278,7 @@ export class SolidRelationManyToManyField implements ISolidField {
|
|
|
273
278
|
return (
|
|
274
279
|
<div key={a.label} className={`field col-6 flex gap-2 ${i >= 2 ? 'mt-3' : ''}`}>
|
|
275
280
|
<Checkbox
|
|
281
|
+
readOnly={readOnlyPermission}
|
|
276
282
|
inputId={a.label}
|
|
277
283
|
checked={formik.values[fieldLayoutInfo.attrs.name].some((item: any) => item.label === a.label)}
|
|
278
284
|
onChange={() => handleCheckboxChange(a)}
|
|
@@ -295,9 +301,10 @@ export class SolidRelationManyToManyField implements ISolidField {
|
|
|
295
301
|
const className = fieldLayoutInfo.attrs?.className || 'field col-12';
|
|
296
302
|
const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
|
|
297
303
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
304
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
298
305
|
|
|
299
306
|
// auto complete specific code.
|
|
300
|
-
const entityApi = createSolidEntityApi(fieldMetadata.
|
|
307
|
+
const entityApi = createSolidEntityApi(fieldMetadata.relationCoModelSingularName);
|
|
301
308
|
const { useLazyGetSolidEntitiesQuery } = entityApi;
|
|
302
309
|
const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();
|
|
303
310
|
|
|
@@ -369,20 +376,20 @@ export class SolidRelationManyToManyField implements ISolidField {
|
|
|
369
376
|
}
|
|
370
377
|
<div className="flex align-items-center gap-3">
|
|
371
378
|
<AutoComplete
|
|
372
|
-
readOnly={readOnly}
|
|
373
|
-
disabled={disabled}
|
|
379
|
+
readOnly={readOnly || readOnlyPermission}
|
|
380
|
+
disabled={disabled || readOnlyPermission}
|
|
374
381
|
multiple
|
|
375
382
|
{...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
|
|
376
383
|
id={fieldLayoutInfo.attrs.name}
|
|
377
384
|
field="label"
|
|
378
385
|
value={formik.values[fieldLayoutInfo.attrs.name] || ''}
|
|
379
|
-
dropdown
|
|
386
|
+
dropdown={!readOnlyPermission}
|
|
380
387
|
suggestions={autoCompleteItems}
|
|
381
388
|
completeMethod={autoCompleteSearch}
|
|
382
389
|
onChange={formik.handleChange}
|
|
383
390
|
className="solid-standard-autocomplete w-full"
|
|
384
391
|
/>
|
|
385
|
-
{fieldLayoutInfo.attrs.inlineCreate === "true" &&
|
|
392
|
+
{fieldLayoutInfo.attrs.inlineCreate === "true" && readOnlyPermission === false &&
|
|
386
393
|
this.renderSolidFormEmbededView(formik, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity)
|
|
387
394
|
}
|
|
388
395
|
</div>
|
|
@@ -410,7 +417,7 @@ export class SolidRelationManyToManyField implements ISolidField {
|
|
|
410
417
|
handlePopupClose: (() => {
|
|
411
418
|
setvisibleCreateRelationEntity(false);
|
|
412
419
|
}),
|
|
413
|
-
modelName: camelCase(this.fieldContext.fieldMetadata.
|
|
420
|
+
modelName: camelCase(this.fieldContext.fieldMetadata.relationCoModelSingularName)
|
|
414
421
|
}
|
|
415
422
|
|
|
416
423
|
return (
|
|
@@ -64,10 +64,11 @@ export class SolidRelationManyToOneField implements ISolidField {
|
|
|
64
64
|
const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
|
|
65
65
|
const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
|
|
66
66
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
67
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
67
68
|
const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);
|
|
68
69
|
|
|
69
70
|
// auto complete specific code.
|
|
70
|
-
const entityApi = createSolidEntityApi(fieldMetadata.
|
|
71
|
+
const entityApi = createSolidEntityApi(fieldMetadata.relationCoModelSingularName);
|
|
71
72
|
const { useLazyGetSolidEntitiesQuery } = entityApi;
|
|
72
73
|
const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();
|
|
73
74
|
|
|
@@ -117,8 +118,6 @@ export class SolidRelationManyToOneField implements ISolidField {
|
|
|
117
118
|
|
|
118
119
|
|
|
119
120
|
|
|
120
|
-
const disabled = fieldLayoutInfo.attrs?.disabled;
|
|
121
|
-
const readOnly = fieldLayoutInfo.attrs?.readOnly;
|
|
122
121
|
|
|
123
122
|
|
|
124
123
|
const customCreateHandler = (values: any) => {
|
|
@@ -145,19 +144,20 @@ export class SolidRelationManyToOneField implements ISolidField {
|
|
|
145
144
|
</label>
|
|
146
145
|
}
|
|
147
146
|
<AutoComplete
|
|
148
|
-
readOnly={formReadonly || fieldReadonly}
|
|
149
|
-
disabled={formDisabled || fieldDisabled}
|
|
147
|
+
readOnly={formReadonly || fieldReadonly || readOnlyPermission}
|
|
148
|
+
disabled={formDisabled || fieldDisabled || readOnlyPermission}
|
|
150
149
|
{...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
|
|
151
150
|
id={fieldLayoutInfo.attrs.name}
|
|
152
151
|
field="label"
|
|
153
152
|
value={formik.values[fieldLayoutInfo.attrs.name] || ''}
|
|
154
|
-
dropdown
|
|
153
|
+
dropdown={!readOnlyPermission}
|
|
155
154
|
suggestions={autoCompleteItems}
|
|
156
155
|
completeMethod={autoCompleteSearch}
|
|
157
156
|
onChange={formik.handleChange}
|
|
157
|
+
onFocus={(e) => e.target.select()}
|
|
158
158
|
className="w-full solid-standard-autocomplete"
|
|
159
159
|
/>
|
|
160
|
-
{fieldLayoutInfo.attrs.inlineCreate === "true" &&
|
|
160
|
+
{fieldLayoutInfo.attrs.inlineCreate === "true" && readOnlyPermission === false &&
|
|
161
161
|
this.renderSolidFormEmbededView(formik, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity)
|
|
162
162
|
}
|
|
163
163
|
</div>
|