@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
|
@@ -1,22 +1,43 @@
|
|
|
1
1
|
"use client"
|
|
2
|
+
import { deleteManyPermission, deletePermission } from "@/helpers/permissions";
|
|
3
|
+
import Image from "next/image";
|
|
2
4
|
import { Accordion, AccordionTab } from "primereact/accordion";
|
|
3
5
|
import { Button } from "primereact/button";
|
|
4
6
|
import { Checkbox, CheckboxChangeEvent } from "primereact/checkbox";
|
|
5
7
|
import { Divider } from "primereact/divider";
|
|
6
8
|
import { OverlayPanel } from "primereact/overlaypanel";
|
|
7
9
|
import { RadioButton } from "primereact/radiobutton";
|
|
8
|
-
import { useRef, useState } from "react";
|
|
10
|
+
import { useEffect, useRef, useState } from "react";
|
|
9
11
|
|
|
10
12
|
interface FilterColumns {
|
|
11
13
|
name: string;
|
|
12
14
|
key: string;
|
|
13
15
|
}
|
|
14
|
-
export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, viewData, sizeOptions, setSize, size, viewModes, setView, view }: any) => {
|
|
16
|
+
export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, viewData, sizeOptions, setSize, size, viewModes, setView, view, params, actionsAllowed, selectedRecords, setDialogVisible }: any) => {
|
|
15
17
|
|
|
16
18
|
// const [visible, setVisible] = useState<boolean>(false);
|
|
17
19
|
const op = useRef(null);
|
|
18
|
-
const customizeLayout = useRef(null);
|
|
19
|
-
const [isOverlayOpen, setIsOverlayOpen] = useState(
|
|
20
|
+
const customizeLayout = useRef<OverlayPanel | null>(null);
|
|
21
|
+
const [isOverlayOpen, setIsOverlayOpen] = useState(false);
|
|
22
|
+
console.log("isOverlayOpen", isOverlayOpen);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
const handleClickOutside = (event: MouseEvent) => {
|
|
25
|
+
if (
|
|
26
|
+
customizeLayout.current &&
|
|
27
|
+
!customizeLayout.current.getElement()?.contains(event.target as Node)
|
|
28
|
+
) {
|
|
29
|
+
setIsOverlayOpen(false);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
if (isOverlayOpen) {
|
|
34
|
+
document.addEventListener("click", handleClickOutside);
|
|
35
|
+
} else {
|
|
36
|
+
document.removeEventListener("click", handleClickOutside);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return () => document.removeEventListener("click", handleClickOutside);
|
|
40
|
+
}, [isOverlayOpen])
|
|
20
41
|
|
|
21
42
|
const categories: FilterColumns[] = [
|
|
22
43
|
{ name: 'ID', key: 'A' },
|
|
@@ -48,55 +69,89 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
|
|
|
48
69
|
// @ts-ignore
|
|
49
70
|
onClick={(e) => op.current.toggle(e)}
|
|
50
71
|
/>
|
|
51
|
-
<OverlayPanel ref={op}>
|
|
72
|
+
<OverlayPanel ref={op} className="listview-cogwheel-panel">
|
|
52
73
|
<div className="p-2">
|
|
53
74
|
<div className="flex flex-column">
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
75
|
+
{actionsAllowed.includes(`${deleteManyPermission(params.modelName)}`) && viewData?.data?.solidView?.layout?.attrs?.delete !== false && selectedRecords.length > 0 &&
|
|
76
|
+
<Button
|
|
77
|
+
text
|
|
78
|
+
type="button"
|
|
79
|
+
className="text-left gap-2 text-base"
|
|
80
|
+
label="Delete"
|
|
81
|
+
size="small"
|
|
82
|
+
iconPos="left"
|
|
83
|
+
severity="danger"
|
|
84
|
+
icon={'pi pi-trash'}
|
|
85
|
+
onClick={() => setDialogVisible(true)}
|
|
86
|
+
/>}
|
|
87
|
+
<Button text icon='pi pi-download' label="Import" size="small" severity="secondary" className="text-left gap-2 text-base" />
|
|
88
|
+
<Button text icon='pi pi-upload' label="Export" size="small" severity="secondary" className="text-left gap-2 text-base" />
|
|
89
|
+
{/* <Button text icon='pi pi-share-alt' label="Share" size="small" severity="secondary" className="text-left gap-2" /> */}
|
|
90
|
+
{/* {viewData?.data?.solidView?.model?.enableSoftDelete &&
|
|
91
|
+
<Button text severity="secondary" size="small" className="text-left w-13rem" label={showArchived ? "Hide Archived Records" : "Show Archived Records"} iconPos="left" onClick={() => { setShowArchived(!showArchived); }} />
|
|
92
|
+
} */}
|
|
93
|
+
{viewData?.data?.solidView?.model?.enableSoftDelete && (
|
|
94
|
+
<div className="flex align-items-center px-3 gap-2 mt-2 mb-1">
|
|
95
|
+
<Checkbox
|
|
96
|
+
inputId="showArchived"
|
|
97
|
+
checked={showArchived}
|
|
98
|
+
onChange={() => setShowArchived(!showArchived)}
|
|
99
|
+
/>
|
|
100
|
+
<label htmlFor="showArchived" className="ml-2 text-base solid-secondary-text-color">
|
|
101
|
+
Show Archived Records
|
|
102
|
+
</label>
|
|
103
|
+
</div>
|
|
104
|
+
)}
|
|
105
|
+
|
|
106
|
+
|
|
57
107
|
</div>
|
|
58
108
|
</div>
|
|
59
109
|
<Divider className="m-0" />
|
|
60
110
|
<div className="p-2 position-relative flex flex-column gap-1">
|
|
61
|
-
{viewData?.data?.solidView?.model?.enableSoftDelete &&
|
|
62
|
-
<Button text size="small" className="text-left w-13rem" label={showArchived ? "Hide Archived Records" : "Show Archived Records"} iconPos="left" onClick={() => { setShowArchived(!showArchived); }} />
|
|
63
|
-
}
|
|
64
111
|
<Button
|
|
65
112
|
icon='pi pi-sliders-h'
|
|
66
113
|
label="Customize Layout"
|
|
114
|
+
severity={isOverlayOpen ? undefined : "secondary"}
|
|
67
115
|
size="small"
|
|
68
|
-
text={isOverlayOpen}
|
|
69
|
-
className="text-left gap-2 w-
|
|
116
|
+
text={isOverlayOpen ? false : true}
|
|
117
|
+
className="text-left gap-2 w-full text-base"
|
|
70
118
|
// @ts-ignore
|
|
71
|
-
onClick={(e) =>
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
119
|
+
onClick={(e) => {
|
|
120
|
+
customizeLayout.current?.toggle(e);
|
|
121
|
+
setIsOverlayOpen((prev) => !prev); // ✅ Ensure state updates when toggled
|
|
122
|
+
}}
|
|
123
|
+
>
|
|
124
|
+
<i className="pi pi-chevron-right text-sm"></i>
|
|
125
|
+
</Button>
|
|
126
|
+
{/* <p className="mt-3 mb-1 font-medium" style={{ color: 'var(--gray-400)' }}>Saved Layouts</p> */}
|
|
127
|
+
{/* <Button text severity="secondary" label="Diet Tracking" icon="pi pi-plus" size="small" /> */}
|
|
76
128
|
<OverlayPanel ref={customizeLayout} className="customize-layout-panel" style={{ minWidth: 250 }}
|
|
77
|
-
onShow={() => setIsOverlayOpen(
|
|
78
|
-
onHide={() =>
|
|
129
|
+
onShow={() => setIsOverlayOpen(true)}
|
|
130
|
+
onHide={() => {
|
|
131
|
+
console.log("Overlay closed");
|
|
132
|
+
setTimeout(() => setIsOverlayOpen(false), 50); // ✅ Ensure state updates
|
|
133
|
+
}}
|
|
79
134
|
>
|
|
80
135
|
<div className="solid-layout-accordion">
|
|
81
136
|
<Accordion multiple expandIcon="pi pi-chevron-down" collapseIcon="pi pi-chevron-up">
|
|
82
137
|
<AccordionTab header="Switch Type">
|
|
83
|
-
<div className="flex flex-column gap-1">
|
|
84
|
-
{
|
|
85
|
-
<div key={option.value} className={`flex align-items-center ${option.value ===
|
|
138
|
+
<div className="flex flex-column gap-1 p-1">
|
|
139
|
+
{viewModes.map((option: any) => (
|
|
140
|
+
<div key={option.value} className={`flex align-items-center ${option.value === view ? 'solid-active-view' : 'solid-view'}`}>
|
|
86
141
|
<RadioButton
|
|
87
142
|
inputId={option.value}
|
|
88
|
-
name="
|
|
143
|
+
name="views"
|
|
89
144
|
value={option.value}
|
|
90
|
-
onChange={(e) =>
|
|
91
|
-
checked={option.value ===
|
|
145
|
+
onChange={(e) => setView(e.value)}
|
|
146
|
+
checked={option.value === view}
|
|
92
147
|
/>
|
|
93
148
|
<label htmlFor={option.value} className="ml-2 flex align-items-center justify-content-between w-full">
|
|
94
149
|
{option.label}
|
|
95
|
-
<
|
|
150
|
+
<Image
|
|
96
151
|
src={option.image}
|
|
97
152
|
alt={option.value}
|
|
98
|
-
|
|
99
|
-
|
|
153
|
+
fill
|
|
154
|
+
className='relative row-spacing-img'
|
|
100
155
|
/>
|
|
101
156
|
</label>
|
|
102
157
|
</div>
|
|
@@ -104,23 +159,24 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
|
|
|
104
159
|
</div>
|
|
105
160
|
</AccordionTab>
|
|
106
161
|
<AccordionTab header="List">
|
|
107
|
-
<div className="flex flex-column gap-1">
|
|
108
|
-
|
|
109
|
-
|
|
162
|
+
<div className="flex flex-column gap-1 p-1">
|
|
163
|
+
<p className="m-0 px-3">Row Spacing</p>
|
|
164
|
+
{sizeOptions.map((option: any) => (
|
|
165
|
+
<div key={option.value} className={`flex align-items-center ${option.value === size ? 'solid-active-view' : 'solid-view'}`}>
|
|
110
166
|
<RadioButton
|
|
111
167
|
inputId={option.value}
|
|
112
|
-
name="
|
|
168
|
+
name="sizes"
|
|
113
169
|
value={option.value}
|
|
114
|
-
onChange={(e) =>
|
|
115
|
-
checked={option.value ===
|
|
170
|
+
onChange={(e) => setSize(e.value)}
|
|
171
|
+
checked={option.value === size}
|
|
116
172
|
/>
|
|
117
173
|
<label htmlFor={option.value} className="ml-2 flex align-items-center justify-content-between w-full">
|
|
118
174
|
{option.label}
|
|
119
|
-
<
|
|
175
|
+
<Image
|
|
120
176
|
src={option.image}
|
|
121
177
|
alt={option.value}
|
|
122
|
-
|
|
123
|
-
|
|
178
|
+
fill
|
|
179
|
+
className='relative row-spacing-img'
|
|
124
180
|
/>
|
|
125
181
|
</label>
|
|
126
182
|
</div>
|
|
@@ -134,7 +190,7 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
|
|
|
134
190
|
<p className="m-0">Column Selector</p>
|
|
135
191
|
{/* <Button text label="Save Layout" icon="pi pi-plus" /> */}
|
|
136
192
|
</div>
|
|
137
|
-
<div className="flex flex-column gap-3 p-3">
|
|
193
|
+
<div className="flex flex-column gap-3 p-3 cogwheel-column-filter">
|
|
138
194
|
{categories.map((category) => {
|
|
139
195
|
return (
|
|
140
196
|
<div key={category.key} className="flex align-items-center gap-1">
|
|
@@ -144,8 +200,9 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
|
|
|
144
200
|
value={category}
|
|
145
201
|
onChange={onCategoryChange}
|
|
146
202
|
checked={selectedCategories.some((item) => item.key === category.key)}
|
|
203
|
+
className="text-base"
|
|
147
204
|
/>
|
|
148
|
-
<label htmlFor={category.key} className="ml-2">
|
|
205
|
+
<label htmlFor={category.key} className="ml-2 text-base">
|
|
149
206
|
{category.name}
|
|
150
207
|
</label>
|
|
151
208
|
</div>
|
|
@@ -155,11 +212,14 @@ export const SolidConfigureLayoutElement = ({ setShowArchived, showArchived, vie
|
|
|
155
212
|
<Divider className="m-0" />
|
|
156
213
|
<div className="p-3 flex gap-2">
|
|
157
214
|
<Button label="Apply" size="small" />
|
|
158
|
-
<Button outlined label="Cancel" size="small"
|
|
215
|
+
<Button outlined label="Cancel" size="small"
|
|
216
|
+
// @ts-ignore
|
|
217
|
+
onClick={(e) => op.current.hide(e)}
|
|
218
|
+
/>
|
|
159
219
|
</div>
|
|
160
220
|
</OverlayPanel>
|
|
161
221
|
</div>
|
|
162
222
|
</OverlayPanel>
|
|
163
|
-
</div
|
|
223
|
+
</div>
|
|
164
224
|
)
|
|
165
225
|
}
|
|
@@ -340,7 +340,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, handleApplyCusto
|
|
|
340
340
|
// }}
|
|
341
341
|
/>
|
|
342
342
|
</div>
|
|
343
|
-
<OverlayPanel ref={op} className="solid-custom-overlay" style={{ minWidth:
|
|
343
|
+
<OverlayPanel ref={op} className="solid-custom-overlay" style={{ minWidth: 405 }}>
|
|
344
344
|
{inputValue ? (
|
|
345
345
|
<>
|
|
346
346
|
<div className="custom-filter-search-options px-2 py-2 flex flex-column">
|
|
@@ -353,6 +353,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, handleApplyCusto
|
|
|
353
353
|
onClick={() => handleAddChip(value?.attrs?.name)}
|
|
354
354
|
text
|
|
355
355
|
severity="secondary"
|
|
356
|
+
size="small"
|
|
356
357
|
>
|
|
357
358
|
Search <strong>{value?.attrs?.name}</strong> for :
|
|
358
359
|
<span className="font-bold" style={{ color: '#000' }}>{inputValue}</span>
|
|
@@ -364,12 +365,12 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, handleApplyCusto
|
|
|
364
365
|
</>
|
|
365
366
|
) :
|
|
366
367
|
<>
|
|
367
|
-
<div className="p-3">Search Here...</div>
|
|
368
|
+
<div className="p-3 text-base">Search Here...</div>
|
|
368
369
|
<Divider className="m-0" />
|
|
369
370
|
</>
|
|
370
371
|
}
|
|
371
372
|
<div className="px-2 py-1">
|
|
372
|
-
<Button text size="small" label="Custom Filter" iconPos="left" icon='pi pi-plus' onClick={() => setShowGlobalSearchElement(true)} />
|
|
373
|
+
<Button text size="small" label="Custom Filter" iconPos="left" icon='pi pi-plus' onClick={() => setShowGlobalSearchElement(true)} className="font-bold" />
|
|
373
374
|
</div>
|
|
374
375
|
<Divider className="m-0" />
|
|
375
376
|
</OverlayPanel>
|
|
@@ -7,7 +7,7 @@ import qs from "qs";
|
|
|
7
7
|
|
|
8
8
|
export const SolidManyToOneFilterElement = ({ value, updateInputs, index, fieldMetadata }: any) => {
|
|
9
9
|
|
|
10
|
-
const entityApi = createSolidEntityApi(fieldMetadata.
|
|
10
|
+
const entityApi = createSolidEntityApi(fieldMetadata.relationCoModelSingularName);
|
|
11
11
|
const { useLazyGetSolidEntitiesQuery } = entityApi;
|
|
12
12
|
const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();
|
|
13
13
|
|
|
@@ -35,6 +35,7 @@ import { SolidTimeField } from "./fields/SolidTimeField";
|
|
|
35
35
|
import { BackButton } from "@/components/common/BackButton";
|
|
36
36
|
import { SolidFormStepper } from "@/components/common/SolidFormStepper";
|
|
37
37
|
import { OverlayPanel } from "primereact/overlaypanel";
|
|
38
|
+
import { SolidBreadcrumb } from "@/components/common/SolidBreadcrumb";
|
|
38
39
|
|
|
39
40
|
export type SolidFormViewProps = {
|
|
40
41
|
moduleName: string;
|
|
@@ -130,7 +131,7 @@ const fieldFactory = (type: string, fieldContext: SolidFieldProps): ISolidField
|
|
|
130
131
|
}
|
|
131
132
|
|
|
132
133
|
// solidFieldsMetadata={solidFieldsMetadata} solidView={solidView}
|
|
133
|
-
const SolidField = ({ formik, field, fieldMetadata, initialEntityData, solidFormViewMetaData, modelName }: any) => {
|
|
134
|
+
const SolidField = ({ formik, field, fieldMetadata, initialEntityData, solidFormViewMetaData, modelName, readOnly }: any) => {
|
|
134
135
|
const fieldContext: SolidFieldProps = {
|
|
135
136
|
// field metadata - coming from the field-metadata table.
|
|
136
137
|
fieldMetadata: fieldMetadata,
|
|
@@ -141,6 +142,7 @@ const SolidField = ({ formik, field, fieldMetadata, initialEntityData, solidForm
|
|
|
141
142
|
// complete form view metadata - this includes layout of the whole form & metadata about all fields in the corresponding model.
|
|
142
143
|
solidFormViewMetaData: solidFormViewMetaData,
|
|
143
144
|
modelName: modelName,
|
|
145
|
+
readOnly: readOnly
|
|
144
146
|
}
|
|
145
147
|
const solidField = fieldFactory(fieldMetadata?.type, fieldContext);
|
|
146
148
|
|
|
@@ -543,7 +545,13 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
543
545
|
const {
|
|
544
546
|
data: solidFormViewData,
|
|
545
547
|
isLoading: solidFormViewDataIsLoading,
|
|
546
|
-
|
|
548
|
+
refetch: refetchSolidFormViewData,
|
|
549
|
+
} = useGetSolidEntityByIdQuery({ id: params.id, qs: formViewDataQs });
|
|
550
|
+
useEffect(() => {
|
|
551
|
+
refetchSolidFormViewData()
|
|
552
|
+
}, [formViewDataQs])
|
|
553
|
+
|
|
554
|
+
|
|
547
555
|
useEffect(() => {
|
|
548
556
|
if (solidFormViewData) {
|
|
549
557
|
setInitialEntityData(solidFormViewData.data);
|
|
@@ -628,8 +636,9 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
628
636
|
case "field": {
|
|
629
637
|
// const fieldMetadata = solidFieldsMetadata[attrs.name];
|
|
630
638
|
const fieldMetadata = solidFormViewMetaData.data.solidFieldsMetadata[attrs.name];
|
|
631
|
-
|
|
632
|
-
|
|
639
|
+
// Read only permission if there is no update permission on model and router doesnt contains new
|
|
640
|
+
const readOnlyPermission = !actionsAllowed.includes(`${updatePermission(params.modelName)}`) && params.id !== "new"
|
|
641
|
+
return <SolidField key={key} field={element} formik={formik} fieldMetadata={fieldMetadata} initialEntityData={solidFormViewData ? solidFormViewData.data : null} solidFormViewMetaData={solidFormViewMetaData} modelName={params.modelName} readOnly={readOnlyPermission} />;
|
|
633
642
|
}
|
|
634
643
|
case "notebook":
|
|
635
644
|
return <SolidNotebook key={key}>{children.map((element: any) => renderFormElementDynamically(element, solidFormViewMetaData))}</SolidNotebook>;
|
|
@@ -688,16 +697,12 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
688
697
|
outlined
|
|
689
698
|
severity="secondary"
|
|
690
699
|
type="button"
|
|
691
|
-
icon={
|
|
692
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
|
693
|
-
<path d="M6 14C5.45 14 4.97917 13.8042 4.5875 13.4125C4.19583 13.0208 4 12.55 4 12C4 11.45 4.19583 10.9792 4.5875 10.5875C4.97917 10.1958 5.45 10 6 10C6.55 10 7.02083 10.1958 7.4125 10.5875C7.80417 10.9792 8 11.45 8 12C8 12.55 7.80417 13.0208 7.4125 13.4125C7.02083 13.8042 6.55 14 6 14ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.45 10.1958 10.9792 10.5875 10.5875C10.9792 10.1958 11.45 10 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14ZM18 14C17.45 14 16.9792 13.8042 16.5875 13.4125C16.1958 13.0208 16 12.55 16 12C16 11.45 16.1958 10.9792 16.5875 10.5875C16.9792 10.1958 17.45 10 18 10C18.55 10 19.0208 10.1958 19.4125 10.5875C19.8042 10.9792 20 11.45 20 12C20 12.55 19.8042 13.0208 19.4125 13.4125C19.0208 13.8042 18.55 14 18 14Z" fill="#4B4D52" />
|
|
694
|
-
</svg>
|
|
695
|
-
}
|
|
700
|
+
icon={'pi pi-cog'}
|
|
696
701
|
size="small"
|
|
697
|
-
className="
|
|
702
|
+
className="surface-card p-0"
|
|
698
703
|
style={{
|
|
699
|
-
height:
|
|
700
|
-
width:
|
|
704
|
+
height: 33.06,
|
|
705
|
+
width: 33.06
|
|
701
706
|
}}
|
|
702
707
|
onClick={(e) =>
|
|
703
708
|
// @ts-ignore
|
|
@@ -706,7 +711,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
706
711
|
/>
|
|
707
712
|
<OverlayPanel ref={op} className="solid-custom-overlay">
|
|
708
713
|
<div className="flex flex-column gap-1 p-1">
|
|
709
|
-
<Button
|
|
714
|
+
{/* <Button
|
|
710
715
|
text
|
|
711
716
|
type="button"
|
|
712
717
|
className="w-8rem text-left gap-2 text-color"
|
|
@@ -716,26 +721,48 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
716
721
|
icon={<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
717
722
|
<path d="M6 11.9997C5.63333 11.9997 5.31944 11.8691 5.05833 11.608C4.79722 11.3469 4.66667 11.033 4.66667 10.6663V2.66634C4.66667 2.29967 4.79722 1.98579 5.05833 1.72467C5.31944 1.46356 5.63333 1.33301 6 1.33301H12C12.3667 1.33301 12.6806 1.46356 12.9417 1.72467C13.2028 1.98579 13.3333 2.29967 13.3333 2.66634V10.6663C13.3333 11.033 13.2028 11.3469 12.9417 11.608C12.6806 11.8691 12.3667 11.9997 12 11.9997H6ZM6 10.6663H12V2.66634H6V10.6663ZM3.33333 14.6663C2.96667 14.6663 2.65278 14.5358 2.39167 14.2747C2.13056 14.0136 2 13.6997 2 13.333V3.99967H3.33333V13.333H10.6667V14.6663H3.33333Z" fill="black" fill-opacity="0.88" />
|
|
718
723
|
</svg>}
|
|
719
|
-
/>
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
724
|
+
/> */}
|
|
725
|
+
{params.embeded !== true &&
|
|
726
|
+
actionsAllowed.includes(`${deletePermission(params.modelName)}`) &&
|
|
727
|
+
!formViewLayout.attrs.readonly &&
|
|
728
|
+
<Button
|
|
729
|
+
text
|
|
730
|
+
type="button"
|
|
731
|
+
className="w-8rem text-left gap-2"
|
|
732
|
+
label="Delete"
|
|
733
|
+
size="small"
|
|
734
|
+
iconPos="left"
|
|
735
|
+
severity="danger"
|
|
736
|
+
icon={'pi pi-trash'}
|
|
737
|
+
onClick={() => setDeleteDialogVisible(true)}
|
|
738
|
+
/>
|
|
739
|
+
}
|
|
740
|
+
{params.embeded == true &&
|
|
741
|
+
actionsAllowed.includes(`${deletePermission(params.modelName)}`) &&
|
|
742
|
+
!formViewLayout.attrs.readonly &&
|
|
743
|
+
<Button
|
|
744
|
+
text
|
|
745
|
+
type="button"
|
|
746
|
+
className="w-8rem text-left gap-2"
|
|
747
|
+
label="Delete"
|
|
748
|
+
size="small"
|
|
749
|
+
iconPos="left"
|
|
750
|
+
severity="danger"
|
|
751
|
+
icon={'pi pi-trash'}
|
|
752
|
+
onClick={() => setDeleteDialogVisible(true)}
|
|
753
|
+
/>
|
|
754
|
+
}
|
|
733
755
|
</div>
|
|
734
756
|
</OverlayPanel>
|
|
735
757
|
</div>
|
|
736
758
|
)
|
|
737
759
|
}
|
|
738
760
|
|
|
761
|
+
const breadcrumbData = [
|
|
762
|
+
{ label: 'Book', link: '/admin/core/library-management/book/list' },
|
|
763
|
+
{ label: params.id === "new" ? `Add ${params.modelName}` : `Edit ${params.modelName}` },
|
|
764
|
+
];
|
|
765
|
+
|
|
739
766
|
return (
|
|
740
767
|
<div className="solid-form-wrapper">
|
|
741
768
|
<Toast ref={toast} />
|
|
@@ -752,7 +779,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
752
779
|
{params.embeded !== true &&
|
|
753
780
|
actionsAllowed.includes(`${createPermission(params.modelName)}`) &&
|
|
754
781
|
!formViewLayout.attrs.readonly &&
|
|
755
|
-
|
|
782
|
+
formik.dirty &&
|
|
756
783
|
<div>
|
|
757
784
|
<Button
|
|
758
785
|
label="Save"
|
|
@@ -762,10 +789,9 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
762
789
|
/>
|
|
763
790
|
</div>
|
|
764
791
|
}
|
|
765
|
-
{params.embeded !== true &&
|
|
792
|
+
{/* {params.embeded !== true &&
|
|
766
793
|
actionsAllowed.includes(`${createPermission(params.modelName)}`) &&
|
|
767
794
|
!formViewLayout.attrs.readonly &&
|
|
768
|
-
!formViewLayout.attrs.readonly &&
|
|
769
795
|
<div>
|
|
770
796
|
<Button
|
|
771
797
|
label="Save & Close"
|
|
@@ -777,11 +803,11 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
777
803
|
type="submit"
|
|
778
804
|
/>
|
|
779
805
|
</div>
|
|
780
|
-
}
|
|
806
|
+
} */}
|
|
781
807
|
{params.embeded == true &&
|
|
782
808
|
actionsAllowed.includes(`${createPermission(params.modelName)}`) &&
|
|
783
809
|
!formViewLayout.attrs.readonly &&
|
|
784
|
-
|
|
810
|
+
formik.dirty &&
|
|
785
811
|
<div>
|
|
786
812
|
<Button
|
|
787
813
|
label="Save"
|
|
@@ -795,7 +821,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
795
821
|
</div>
|
|
796
822
|
}
|
|
797
823
|
{params.embeded == true &&
|
|
798
|
-
<Button outlined size="small" type="button" label="
|
|
824
|
+
<Button outlined size="small" type="button" label="Close" onClick={() => params.handlePopupClose()} className='bg-primary-reverse' />
|
|
799
825
|
|
|
800
826
|
}
|
|
801
827
|
{params.embeded !== true &&
|
|
@@ -814,7 +840,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
814
840
|
{params.embeded !== true &&
|
|
815
841
|
actionsAllowed.includes(`${updatePermission(params.modelName)}`) &&
|
|
816
842
|
!formViewLayout.attrs.readonly &&
|
|
817
|
-
|
|
843
|
+
formik.dirty &&
|
|
818
844
|
<div>
|
|
819
845
|
<Button
|
|
820
846
|
label="Save"
|
|
@@ -827,7 +853,7 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
827
853
|
{params.embeded == true &&
|
|
828
854
|
actionsAllowed.includes(`${updatePermission(params.modelName)}`) &&
|
|
829
855
|
!formViewLayout.attrs.readonly &&
|
|
830
|
-
|
|
856
|
+
formik.dirty &&
|
|
831
857
|
<div>
|
|
832
858
|
<Button
|
|
833
859
|
label="Save"
|
|
@@ -837,10 +863,9 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
837
863
|
/>
|
|
838
864
|
</div>
|
|
839
865
|
}
|
|
840
|
-
{params.embeded !== true &&
|
|
866
|
+
{/* {params.embeded !== true &&
|
|
841
867
|
actionsAllowed.includes(`${updatePermission(params.modelName)}`) &&
|
|
842
868
|
!formViewLayout.attrs.readonly &&
|
|
843
|
-
!formViewLayout.attrs.readonly &&
|
|
844
869
|
<div>
|
|
845
870
|
<Button
|
|
846
871
|
label="Save & Close"
|
|
@@ -852,37 +877,9 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
852
877
|
type="submit"
|
|
853
878
|
/>
|
|
854
879
|
</div>
|
|
855
|
-
}
|
|
856
|
-
{params.embeded !== true &&
|
|
857
|
-
actionsAllowed.includes(`${deletePermission(params.modelName)}`) &&
|
|
858
|
-
!formViewLayout.attrs.readonly &&
|
|
859
|
-
!formViewLayout.attrs.readonly &&
|
|
860
|
-
<div>
|
|
861
|
-
<Button
|
|
862
|
-
size="small"
|
|
863
|
-
type="button"
|
|
864
|
-
label="Delete"
|
|
865
|
-
severity="danger"
|
|
866
|
-
onClick={() => setDeleteDialogVisible(true)}
|
|
867
|
-
/>
|
|
868
|
-
</div>
|
|
869
|
-
}
|
|
870
|
-
{params.embeded == true &&
|
|
871
|
-
actionsAllowed.includes(`${deletePermission(params.modelName)}`) &&
|
|
872
|
-
!formViewLayout.attrs.readonly &&
|
|
873
|
-
!formViewLayout.attrs.readonly &&
|
|
874
|
-
<div>
|
|
875
|
-
<Button
|
|
876
|
-
size="small"
|
|
877
|
-
type="button"
|
|
878
|
-
label="Delete"
|
|
879
|
-
severity="danger"
|
|
880
|
-
onClick={() => setDeleteDialogVisible(true)}
|
|
881
|
-
/>
|
|
882
|
-
</div>
|
|
883
|
-
}
|
|
880
|
+
} */}
|
|
884
881
|
{params.embeded == true &&
|
|
885
|
-
<Button outlined size="small" type="button" label="
|
|
882
|
+
<Button outlined size="small" type="button" label="Close" onClick={() => params.handlePopupClose()} className='bg-primary-reverse' />
|
|
886
883
|
|
|
887
884
|
}
|
|
888
885
|
{params.embeded !== true &&
|
|
@@ -893,11 +890,12 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
893
890
|
</>
|
|
894
891
|
)}
|
|
895
892
|
</div>
|
|
896
|
-
{
|
|
893
|
+
<SolidBreadcrumb breadcrumbItems={breadcrumbData} />
|
|
894
|
+
{/* {params.embeded !== true &&
|
|
897
895
|
<div className="solid-form-stepper">
|
|
898
896
|
<SolidFormStepper />
|
|
899
897
|
</div>
|
|
900
|
-
}
|
|
898
|
+
} */}
|
|
901
899
|
<div className="p-4 solid-form-content">
|
|
902
900
|
{renderFormDynamically(formViewMetaData)}
|
|
903
901
|
</div>
|
|
@@ -70,6 +70,7 @@ export class SolidBooleanField implements ISolidField {
|
|
|
70
70
|
const booleanOptions = ["false", "true"];
|
|
71
71
|
const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
|
|
72
72
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
73
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
73
74
|
|
|
74
75
|
useEffect(() => { formik.setFieldValue(fieldLayoutInfo.attrs.name, "false") }, [])
|
|
75
76
|
|
|
@@ -86,7 +87,7 @@ export class SolidBooleanField implements ISolidField {
|
|
|
86
87
|
<div className="flex flex-column gap-2 mt-4">
|
|
87
88
|
{showFieldLabel != false &&
|
|
88
89
|
<label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
|
|
89
|
-
{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
|
|
90
|
+
{/* {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>} */}
|
|
90
91
|
</label>
|
|
91
92
|
}
|
|
92
93
|
{/* <InputText
|
|
@@ -97,7 +98,7 @@ export class SolidBooleanField implements ISolidField {
|
|
|
97
98
|
value={formik.values[fieldLayoutInfo.attrs.name] || ''}
|
|
98
99
|
/> */}
|
|
99
100
|
<SelectButton
|
|
100
|
-
readOnly={formReadonly || fieldReadonly}
|
|
101
|
+
readOnly={formReadonly || fieldReadonly || readOnlyPermission}
|
|
101
102
|
disabled={formDisabled || fieldDisabled}
|
|
102
103
|
id={fieldLayoutInfo.attrs.name}
|
|
103
104
|
aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}
|
|
@@ -53,6 +53,7 @@ export class SolidDateField implements ISolidField {
|
|
|
53
53
|
const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
|
|
54
54
|
const solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
|
|
55
55
|
const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;
|
|
56
|
+
const readOnlyPermission = this.fieldContext.readOnly;
|
|
56
57
|
|
|
57
58
|
const fieldDisabled = fieldLayoutInfo.attrs?.disabled;
|
|
58
59
|
// const fieldReadonly = fieldLayoutInfo.attrs?.readonly;
|
|
@@ -65,11 +66,11 @@ export class SolidDateField implements ISolidField {
|
|
|
65
66
|
<div className="flex flex-column gap-2 mt-4">
|
|
66
67
|
{showFieldLabel != false &&
|
|
67
68
|
<label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">{fieldLabel}
|
|
68
|
-
{fieldDescription && <span className="form_field_help">({fieldDescription}) </span>}
|
|
69
|
+
{/* {fieldDescription && <span className="form_field_help">({fieldDescription}) </span>} */}
|
|
69
70
|
</label>
|
|
70
71
|
}
|
|
71
72
|
<Calendar
|
|
72
|
-
disabled={formDisabled || fieldDisabled}
|
|
73
|
+
disabled={formDisabled || fieldDisabled || readOnlyPermission}
|
|
73
74
|
ref={calendarRef} // Attach ref to Calendar
|
|
74
75
|
id={fieldLayoutInfo.attrs.name}
|
|
75
76
|
aria-describedby={`${fieldLayoutInfo.attrs.name}-help`}
|