@vc-shell/framework 1.0.120 → 1.0.121
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/CHANGELOG.md +9 -0
- package/core/api/platform.ts +8215 -8033
- package/core/composables/useApiClient/index.ts +2 -1
- package/core/composables/useAsync/index.ts +3 -3
- package/core/composables/useErrorHandler/index.ts +2 -2
- package/core/composables/useFunctions/debounce.ts +2 -1
- package/core/composables/useNotifications/index.ts +4 -5
- package/core/composables/usePermissions/index.ts +8 -12
- package/core/composables/useSettings/index.ts +1 -1
- package/core/composables/useUser/index.ts +21 -17
- package/core/plugins/modularity/index.ts +7 -3
- package/core/plugins/moment/humanize.ts +3 -3
- package/core/plugins/moment/moment.ts +3 -3
- package/core/plugins/validation/rules.ts +1 -1
- package/core/types/index.ts +20 -25
- package/dist/core/api/platform.d.ts +5 -5
- package/dist/core/api/platform.d.ts.map +1 -1
- package/dist/core/composables/useApiClient/index.d.ts.map +1 -1
- package/dist/core/composables/useAsync/index.d.ts +1 -1
- package/dist/core/composables/useAsync/index.d.ts.map +1 -1
- package/dist/core/composables/useErrorHandler/index.d.ts +1 -1
- package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
- package/dist/core/composables/useFunctions/debounce.d.ts +1 -1
- package/dist/core/composables/useFunctions/debounce.d.ts.map +1 -1
- package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
- package/dist/core/composables/usePermissions/index.d.ts +1 -1
- package/dist/core/composables/usePermissions/index.d.ts.map +1 -1
- package/dist/core/composables/useUser/index.d.ts +5 -5
- package/dist/core/composables/useUser/index.d.ts.map +1 -1
- package/dist/core/plugins/modularity/index.d.ts +8 -6
- package/dist/core/plugins/modularity/index.d.ts.map +1 -1
- package/dist/core/plugins/moment/humanize.d.ts +1 -1
- package/dist/core/plugins/moment/humanize.d.ts.map +1 -1
- package/dist/core/plugins/moment/moment.d.ts.map +1 -1
- package/dist/core/types/index.d.ts +20 -19
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/framework.mjs +7866 -7825
- package/dist/index.css +1 -1
- package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts +3 -3
- package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +3 -3
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts +21 -21
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +23 -22
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +10 -10
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/types/index.d.ts +34 -18
- package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
- package/dist/shared/components/change-password/change-password.vue.d.ts +1 -1
- package/dist/shared/components/change-password/index.d.ts +1 -1
- package/dist/shared/components/error-interceptor/index.d.ts +35 -35
- package/dist/shared/components/error-interceptor/interceptor.d.ts +4 -4
- package/dist/shared/components/error-interceptor/interceptor.d.ts.map +1 -1
- package/dist/shared/components/language-selector/index.d.ts +7 -7
- package/dist/shared/components/language-selector/language-selector.vue.d.ts +3 -3
- package/dist/shared/components/notifications/components/notification-container/index.d.ts +9 -9
- package/dist/shared/components/notifications/composables/useContainer/index.d.ts +1 -1
- package/dist/shared/components/notifications/composables/useContainer/index.d.ts.map +1 -1
- package/dist/shared/components/notifications/core/notification.d.ts +4 -4
- package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts +2 -1
- package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts.map +1 -1
- package/dist/shared/components/popup-handler/types/index.d.ts +2 -7
- package/dist/shared/components/popup-handler/types/index.d.ts.map +1 -1
- package/dist/shared/components/popup-handler/utils/index.d.ts +1 -1
- package/dist/shared/components/popup-handler/utils/index.d.ts.map +1 -1
- package/dist/shared/components/user-dropdown-button/index.d.ts +5 -5
- package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +3 -3
- package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +3 -3
- package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
- package/dist/shared/modules/assets/components/assets-details/index.d.ts +1 -46
- package/dist/shared/modules/assets/components/assets-details/index.d.ts.map +1 -1
- package/dist/shared/modules/assets/index.d.ts +1 -1
- package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +6 -6
- package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +12 -12
- package/dist/shared/modules/assets-manager/index.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/FIELD_MAP.d.ts +1 -2
- package/dist/shared/modules/dynamic/components/FIELD_MAP.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +83 -82
- package/dist/shared/modules/dynamic/components/SchemaRender.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/factories.d.ts +15 -14
- package/dist/shared/modules/dynamic/components/factories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Button.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Card.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +132 -0
- package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -0
- package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +39 -42
- package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/props.d.ts +38 -41
- package/dist/shared/modules/dynamic/components/fields/props.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts +2 -2
- package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts +3 -3
- package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/factories/types/index.d.ts +10 -11
- package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts +1 -1
- package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/safeIn.d.ts +5 -0
- package/dist/shared/modules/dynamic/helpers/safeIn.d.ts.map +1 -0
- package/dist/shared/modules/dynamic/helpers/setters.d.ts +1 -0
- package/dist/shared/modules/dynamic/helpers/setters.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/toolbarReducer.d.ts +1 -1
- package/dist/shared/modules/dynamic/helpers/toolbarReducer.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/unwrapInterpolation.d.ts +1 -1
- package/dist/shared/modules/dynamic/helpers/unwrapInterpolation.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/index.d.ts +7 -7
- package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +30 -30
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +11 -10
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/types/index.d.ts +321 -17
- package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/types/models.d.ts +7 -3
- package/dist/shared/modules/dynamic/types/models.d.ts.map +1 -1
- package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +15 -28
- package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
- package/dist/shared/pages/InvitePage/components/invite/index.d.ts +13 -17
- package/dist/shared/pages/InvitePage/components/invite/index.d.ts.map +1 -1
- package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +15 -28
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +13 -17
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts.map +1 -1
- package/dist/shared/utilities/assets.d.ts +3 -3
- package/dist/shared/utilities/assets.d.ts.map +1 -1
- package/dist/shared/utilities/vueUtils.d.ts +34 -0
- package/dist/shared/utilities/vueUtils.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-badge/index.d.ts +30 -30
- package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +1 -1
- package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +1 -1
- package/dist/ui/components/atoms/vc-card/index.d.ts +37 -37
- package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-checkbox/index.d.ts +49 -45
- package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-container/index.d.ts +33 -33
- package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-hint/index.d.ts +22 -22
- package/dist/ui/components/atoms/vc-image/index.d.ts +10 -10
- package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-info-row/index.d.ts +4 -4
- package/dist/ui/components/atoms/vc-label/index.d.ts +26 -26
- package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +1 -1
- package/dist/ui/components/atoms/vc-link/index.d.ts +29 -29
- package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts +1 -1
- package/dist/ui/components/atoms/vc-progress/index.d.ts +43 -43
- package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +1 -1
- package/dist/ui/components/atoms/vc-status-icon/index.d.ts +1 -9
- package/dist/ui/components/atoms/vc-status-icon/index.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-switch/index.d.ts +1 -1
- package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts +1 -1
- package/dist/ui/components/atoms/vc-video/index.d.ts +1 -19
- package/dist/ui/components/atoms/vc-video/index.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts +1 -4
- package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-widget/index.d.ts +1 -1
- package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts +9 -9
- package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts +8 -8
- package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +4 -4
- package/dist/ui/components/molecules/vc-code-editor/index.d.ts +65 -75
- package/dist/ui/components/molecules/vc-code-editor/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts +5 -16
- package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +6 -20
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts +3 -3
- package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +2 -2
- package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-file-upload/index.d.ts +59 -59
- package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +2 -2
- package/dist/ui/components/molecules/vc-form/index.d.ts +22 -22
- package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +8 -8
- package/dist/ui/components/molecules/vc-input-currency/index.d.ts +99 -99
- package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +8 -8
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-multivalue/index.d.ts +70 -70
- package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +70 -70
- package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-notification/index.d.ts +1 -51
- package/dist/ui/components/molecules/vc-notification/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-pagination/index.d.ts +7 -7
- package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-rating/index.d.ts +25 -25
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +80 -80
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-slider/index.d.ts +40 -40
- package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +2 -2
- package/dist/ui/components/molecules/vc-textarea/index.d.ts +1 -230
- package/dist/ui/components/molecules/vc-textarea/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +6 -6
- package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +4 -7
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +13 -13
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +10 -10
- package/dist/ui/components/organisms/vc-app/index.d.ts +93 -92
- package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +20 -21
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +4 -4
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +9 -9
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/index.d.ts +70 -70
- package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +5 -5
- package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +67 -67
- package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +15 -15
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +3 -3
- package/dist/ui/components/organisms/vc-gallery/index.d.ts +24 -36
- package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +8 -10
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-login-form/index.d.ts +24 -24
- package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-notification-template/index.d.ts +1 -103
- package/dist/ui/components/organisms/vc-notification-template/index.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts +2 -0
- package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +15 -15
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +105 -105
- package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
- package/package.json +5 -5
- package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +3 -3
- package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +1 -1
- package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +7 -7
- package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +80 -80
- package/shared/components/blade-navigation/types/index.ts +50 -18
- package/shared/components/change-password/change-password.vue +32 -5
- package/shared/components/error-interceptor/interceptor.ts +4 -4
- package/shared/components/notifications/composables/useContainer/index.ts +2 -2
- package/shared/components/notifications/composables/useInstance/index.ts +2 -2
- package/shared/components/notifications/core/notification.ts +2 -2
- package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +2 -2
- package/shared/components/popup-handler/composables/usePopup/index.ts +13 -6
- package/shared/components/popup-handler/types/index.ts +1 -7
- package/shared/components/user-dropdown-button/user-dropdown-button.vue +1 -1
- package/shared/modules/assets/components/assets-details/assets-details.vue +12 -6
- package/shared/modules/assets/components/assets-details/index.ts +1 -3
- package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +10 -10
- package/shared/modules/dynamic/components/FIELD_MAP.ts +4 -2
- package/shared/modules/dynamic/components/SchemaRender.ts +2 -2
- package/shared/modules/dynamic/components/factories.ts +24 -13
- package/shared/modules/dynamic/components/fields/Button.ts +3 -3
- package/shared/modules/dynamic/components/fields/Card.ts +30 -15
- package/shared/modules/dynamic/components/fields/Checkbox.ts +2 -2
- package/shared/modules/dynamic/components/fields/ContentField.ts +2 -2
- package/shared/modules/dynamic/components/fields/DynamicProperty.ts +19 -9
- package/shared/modules/dynamic/components/fields/Fieldset.ts +7 -4
- package/shared/modules/dynamic/components/fields/GalleryField.ts +42 -22
- package/shared/modules/dynamic/components/fields/ImageField.ts +2 -2
- package/shared/modules/dynamic/components/fields/InputCurrency.ts +8 -4
- package/shared/modules/dynamic/components/fields/InputField.ts +9 -9
- package/shared/modules/dynamic/components/fields/SelectField.ts +6 -3
- package/shared/modules/dynamic/components/fields/StatusField.ts +3 -3
- package/shared/modules/dynamic/components/fields/TextareaField.ts +41 -0
- package/shared/modules/dynamic/components/fields/ValidationField.ts +9 -9
- package/shared/modules/dynamic/components/fields/VideoField.ts +2 -5
- package/shared/modules/dynamic/components/fields/props.ts +1 -2
- package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +18 -10
- package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +7 -6
- package/shared/modules/dynamic/factories/base/useListFactory.ts +4 -4
- package/shared/modules/dynamic/factories/types/index.ts +11 -9
- package/shared/modules/dynamic/helpers/nodeBuilder.ts +53 -27
- package/shared/modules/dynamic/helpers/override.ts +14 -27
- package/shared/modules/dynamic/helpers/safeIn.ts +6 -0
- package/shared/modules/dynamic/helpers/setters.ts +11 -2
- package/shared/modules/dynamic/helpers/toolbarReducer.ts +3 -3
- package/shared/modules/dynamic/helpers/unwrapInterpolation.ts +2 -1
- package/shared/modules/dynamic/index.ts +38 -29
- package/shared/modules/dynamic/pages/dynamic-blade-form.vue +33 -31
- package/shared/modules/dynamic/pages/dynamic-blade-list.vue +45 -33
- package/shared/modules/dynamic/types/index.ts +323 -17
- package/shared/modules/dynamic/types/models.ts +11 -3
- package/shared/pages/InvitePage/components/invite/Invite.vue +17 -19
- package/shared/pages/LoginPage/components/login/Login.vue +6 -8
- package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +17 -19
- package/shared/utilities/assets.ts +6 -4
- package/shared/utilities/vueUtils.ts +46 -0
- package/ui/components/atoms/vc-checkbox/vc-checkbox.vue +2 -2
- package/ui/components/atoms/vc-status-icon/index.ts +1 -3
- package/ui/components/atoms/vc-video/vc-video.vue +1 -14
- package/ui/components/molecules/vc-code-editor/vc-code-editor.vue +1 -3
- package/ui/components/molecules/vc-editor/vc-editor.vue +13 -7
- package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +14 -5
- package/ui/components/molecules/vc-field/vc-field.vue +1 -1
- package/ui/components/molecules/vc-input/vc-input.vue +4 -4
- package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +11 -11
- package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -1
- package/ui/components/molecules/vc-notification/index.ts +1 -3
- package/ui/components/molecules/vc-notification/vc-notification.vue +6 -6
- package/ui/components/molecules/vc-select/vc-select.vue +6 -4
- package/ui/components/molecules/vc-textarea/index.ts +1 -10
- package/ui/components/molecules/vc-textarea/vc-textarea.vue +6 -1
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +0 -1
- package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +3 -3
- package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +7 -7
- package/ui/components/organisms/vc-app/vc-app.vue +11 -19
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +2 -2
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +2 -2
- package/ui/components/organisms/vc-blade/vc-blade.vue +1 -1
- package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +3 -3
- package/ui/components/organisms/vc-gallery/vc-gallery.vue +6 -7
- package/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue +1 -12
- package/ui/components/organisms/vc-notification-template/index.ts +1 -3
- package/ui/components/organisms/vc-notification-template/vc-notification-template.vue +35 -17
- package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +6 -6
- package/ui/components/organisms/vc-table/vc-table.vue +12 -11
|
@@ -1,20 +1,29 @@
|
|
|
1
|
-
import { ExtractPropTypes, computed, h, markRaw, reactive, ref, toRefs, toValue, unref, watch } from "vue";
|
|
1
|
+
import { Component, ExtractPropTypes, computed, h, markRaw, reactive, ref, toRefs, toValue, unref, watch } from "vue";
|
|
2
2
|
import { Gallery } from "../factories";
|
|
3
3
|
import componentProps from "./props";
|
|
4
4
|
import { IImage } from "../../../../../core/types";
|
|
5
5
|
import { useBladeNavigation, usePopup } from "./../../../../components";
|
|
6
6
|
import { useI18n } from "vue-i18n";
|
|
7
|
-
import { AssetsDetails } from "../../../assets";
|
|
7
|
+
import { default as AssetsDetails } from "../../../assets/components/assets-details/assets-details.vue";
|
|
8
8
|
import * as _ from "lodash-es";
|
|
9
9
|
import { GallerySchema } from "../../types";
|
|
10
10
|
import { unrefNested } from "./../../helpers/unrefNested";
|
|
11
11
|
import { setModel } from "../../helpers/setters";
|
|
12
|
+
import { safeIn } from "../../helpers/safeIn";
|
|
12
13
|
|
|
13
14
|
export default {
|
|
14
15
|
name: "GalleryField",
|
|
15
16
|
props: componentProps,
|
|
16
17
|
setup(props: ExtractPropTypes<typeof componentProps> & { element: GallerySchema }) {
|
|
17
|
-
if (
|
|
18
|
+
if (
|
|
19
|
+
!(
|
|
20
|
+
safeIn("bladeContext", props) &&
|
|
21
|
+
props.bladeContext &&
|
|
22
|
+
safeIn("scope", props.bladeContext) &&
|
|
23
|
+
props.bladeContext.scope &&
|
|
24
|
+
props.bladeContext.scope.assetsHandler?.images
|
|
25
|
+
)
|
|
26
|
+
) {
|
|
18
27
|
throw new Error(
|
|
19
28
|
`There is no assetsHandler.images config provided in blade scope: ${JSON.stringify(
|
|
20
29
|
props.bladeContext.scope,
|
|
@@ -28,7 +37,7 @@ export default {
|
|
|
28
37
|
const { t } = useI18n({ useScope: "global" });
|
|
29
38
|
const { openBlade } = useBladeNavigation();
|
|
30
39
|
|
|
31
|
-
const
|
|
40
|
+
const imagesHandler = toRefs(props.bladeContext.scope?.assetsHandler?.images);
|
|
32
41
|
const internalModel = ref();
|
|
33
42
|
|
|
34
43
|
watch(
|
|
@@ -43,27 +52,29 @@ export default {
|
|
|
43
52
|
|
|
44
53
|
return () => {
|
|
45
54
|
const imageHandlers = {
|
|
46
|
-
loading,
|
|
55
|
+
loading: imagesHandler.loading,
|
|
47
56
|
async edit(image: IImage) {
|
|
48
|
-
internalModel.value[props.element.property] = await edit
|
|
57
|
+
internalModel.value[props.element.property] = await imagesHandler.edit?.value?.(
|
|
49
58
|
unref(props.formData)[props.element.property] as IImage[],
|
|
50
59
|
image
|
|
51
60
|
);
|
|
52
61
|
await editImages(internalModel.value[props.element.property]);
|
|
53
62
|
},
|
|
54
|
-
async upload(files: FileList) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
async upload(files: FileList | null) {
|
|
64
|
+
if (files) {
|
|
65
|
+
internalModel.value[props.element.property] = await imagesHandler.upload?.value?.(
|
|
66
|
+
files,
|
|
67
|
+
unref(props.formData)[props.element.property] as IImage[],
|
|
68
|
+
(unref(props.formData).id as string) || (unref(props.formData).categoryId as string),
|
|
69
|
+
props.element.uploadFolder
|
|
70
|
+
);
|
|
61
71
|
|
|
62
|
-
|
|
72
|
+
files = null;
|
|
63
73
|
|
|
64
|
-
|
|
74
|
+
await editImages(internalModel.value[props.element.property]);
|
|
65
75
|
|
|
66
|
-
|
|
76
|
+
return internalModel.value[props.element.property];
|
|
77
|
+
}
|
|
67
78
|
},
|
|
68
79
|
async remove(image: IImage) {
|
|
69
80
|
if (
|
|
@@ -77,7 +88,7 @@ export default {
|
|
|
77
88
|
)
|
|
78
89
|
)
|
|
79
90
|
) {
|
|
80
|
-
internalModel.value[props.element.property] = await remove
|
|
91
|
+
internalModel.value[props.element.property] = await imagesHandler.remove?.value?.(
|
|
81
92
|
unref(props.formData)[props.element.property] as IImage[],
|
|
82
93
|
image
|
|
83
94
|
);
|
|
@@ -99,9 +110,16 @@ export default {
|
|
|
99
110
|
}
|
|
100
111
|
|
|
101
112
|
async function editImages(args: IImage[]) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
113
|
+
if (props.fieldContext) {
|
|
114
|
+
internalModel.value[props.element.property] = args;
|
|
115
|
+
setModel({
|
|
116
|
+
property: props.element.property,
|
|
117
|
+
value: args,
|
|
118
|
+
context: props.fieldContext,
|
|
119
|
+
scope: props.bladeContext.scope,
|
|
120
|
+
});
|
|
121
|
+
await props.bladeContext.validationState.validate();
|
|
122
|
+
}
|
|
105
123
|
}
|
|
106
124
|
|
|
107
125
|
const field = Gallery({
|
|
@@ -109,7 +127,9 @@ export default {
|
|
|
109
127
|
...props.baseProps,
|
|
110
128
|
loading: imageHandlers.loading,
|
|
111
129
|
images: props.baseProps.modelValue,
|
|
112
|
-
multiple:
|
|
130
|
+
multiple: props.element.multiple,
|
|
131
|
+
variant: props.element.variant,
|
|
132
|
+
itemActions: props.element.actions,
|
|
113
133
|
onUpload: imageHandlers.upload,
|
|
114
134
|
onRemove: imageHandlers.remove,
|
|
115
135
|
onEdit: onGalleryItemEdit,
|
|
@@ -118,7 +138,7 @@ export default {
|
|
|
118
138
|
options: props.baseOptions,
|
|
119
139
|
});
|
|
120
140
|
|
|
121
|
-
return props.baseOptions.visibility ? h(field.component, unrefNested(field.props)) : null;
|
|
141
|
+
return props.baseOptions.visibility ? h(field.component as Component, unrefNested(field.props)) : null;
|
|
122
142
|
};
|
|
123
143
|
},
|
|
124
144
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtractPropTypes, h } from "vue";
|
|
1
|
+
import { ExtractPropTypes, h, Component } from "vue";
|
|
2
2
|
import { ImageField } from "../factories";
|
|
3
3
|
import componentProps from "./props";
|
|
4
4
|
import { ImageSchema } from "../../types";
|
|
@@ -22,7 +22,7 @@ export default {
|
|
|
22
22
|
options: props.baseOptions,
|
|
23
23
|
});
|
|
24
24
|
|
|
25
|
-
const render = h(field.component, field.props);
|
|
25
|
+
const render = h(field.component as Component, field.props);
|
|
26
26
|
|
|
27
27
|
return props.baseOptions.visibility ? render : null;
|
|
28
28
|
};
|
|
@@ -5,7 +5,6 @@ import ValidationField from "./ValidationField";
|
|
|
5
5
|
import { getModel } from "../../helpers/getters";
|
|
6
6
|
import { setModel } from "../../helpers/setters";
|
|
7
7
|
import { InputCurrencySchema } from "../../types";
|
|
8
|
-
import { unrefNested } from "../../helpers/unrefNested";
|
|
9
8
|
|
|
10
9
|
export default {
|
|
11
10
|
name: "InputCurrency",
|
|
@@ -15,12 +14,17 @@ export default {
|
|
|
15
14
|
const field = InputCurrency({
|
|
16
15
|
props: {
|
|
17
16
|
...props.baseProps,
|
|
18
|
-
option: getModel(props.element.optionProperty, props.fieldContext).value,
|
|
17
|
+
option: getModel(props.element.optionProperty, props.fieldContext ?? {}).value,
|
|
19
18
|
optionLabel: props.element.optionLabel,
|
|
20
19
|
optionValue: props.element.optionValue,
|
|
21
|
-
options: unref(props.bladeContext.scope)["currencies"],
|
|
20
|
+
options: unref(props.bladeContext.scope)?.["currencies"],
|
|
22
21
|
"onUpdate:option": (e: string | number | Record<string, unknown>) => {
|
|
23
|
-
setModel({
|
|
22
|
+
setModel({
|
|
23
|
+
value: e,
|
|
24
|
+
property: props.element.optionProperty,
|
|
25
|
+
context: props.fieldContext ?? {},
|
|
26
|
+
scope: props.bladeContext.scope,
|
|
27
|
+
});
|
|
24
28
|
},
|
|
25
29
|
clearable: props.element.clearable || false,
|
|
26
30
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtractPropTypes, h, VNode } from "vue";
|
|
1
|
+
import { ExtractPropTypes, h, VNode, Component } from "vue";
|
|
2
2
|
import { InputField } from "../factories";
|
|
3
3
|
import componentProps from "./props";
|
|
4
4
|
import ValidationField from "./ValidationField";
|
|
@@ -25,15 +25,15 @@ export default {
|
|
|
25
25
|
clearable: props.element.clearable || false,
|
|
26
26
|
},
|
|
27
27
|
options: props.baseOptions,
|
|
28
|
-
slots: Object.entries(slotsMap).reduce((acc, [key, value]
|
|
29
|
-
if (props.element[key]) {
|
|
30
|
-
acc[value] = () =>
|
|
28
|
+
slots: Object.entries(slotsMap).reduce((acc, [key, value]) => {
|
|
29
|
+
if (props.element[key as keyof InputSchema]) {
|
|
30
|
+
acc[value as keyof InputSchema] = () =>
|
|
31
31
|
nodeBuilder({
|
|
32
|
-
controlSchema: props.element[key] as ControlSchema,
|
|
33
|
-
parentId: `${(props.element[key] as ControlSchema).id}`,
|
|
34
|
-
internalContext: props.fieldContext,
|
|
32
|
+
controlSchema: props.element[key as keyof InputSchema] as ControlSchema,
|
|
33
|
+
parentId: `${(props.element[key as keyof InputSchema] as ControlSchema).id}`,
|
|
34
|
+
internalContext: props.fieldContext ?? {},
|
|
35
35
|
bladeContext: props.bladeContext,
|
|
36
|
-
currentLocale: props.currentLocale,
|
|
36
|
+
currentLocale: props.currentLocale ?? "en-US",
|
|
37
37
|
formData: props.formData,
|
|
38
38
|
});
|
|
39
39
|
}
|
|
@@ -41,7 +41,7 @@ export default {
|
|
|
41
41
|
}, {} as Record<keyof InputSchema, () => VNode | false>),
|
|
42
42
|
});
|
|
43
43
|
|
|
44
|
-
const render = h(field.component, field.props, field.slots);
|
|
44
|
+
const render = h(field.component as Component, field.props, field.slots);
|
|
45
45
|
|
|
46
46
|
if (field.props.rules) {
|
|
47
47
|
return props.baseOptions.visibility
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { ComponentSlots } from "../../../../utilities/vueUtils";
|
|
1
2
|
import { h, resolveComponent, ExtractPropTypes, Component, VNode } from "vue";
|
|
2
3
|
import { SelectField } from "../factories";
|
|
3
4
|
import componentProps from "./props";
|
|
4
5
|
import ValidationField from "./ValidationField";
|
|
5
6
|
import { SelectSchema } from "../../types";
|
|
6
7
|
import { VcSelect } from "../../../../../ui/components";
|
|
7
|
-
import type { ComponentSlots } from "vue-component-type-helpers";
|
|
8
8
|
|
|
9
9
|
type TScope =
|
|
10
10
|
| Parameters<ComponentSlots<typeof VcSelect>["option"]>["0"]
|
|
@@ -21,7 +21,7 @@ export default {
|
|
|
21
21
|
optionValue: props.element.optionValue,
|
|
22
22
|
optionLabel: props.element.optionLabel,
|
|
23
23
|
emitValue: props.element.emitValue,
|
|
24
|
-
options: props.bladeContext.scope[props.element.optionsMethod],
|
|
24
|
+
options: props.bladeContext.scope?.[props.element.optionsMethod],
|
|
25
25
|
currentLanguage: props.currentLocale,
|
|
26
26
|
clearable: props.element.clearable || false,
|
|
27
27
|
searchable: props.element.searchable || false,
|
|
@@ -32,7 +32,10 @@ export default {
|
|
|
32
32
|
props.element.customTemplate &&
|
|
33
33
|
["selected-item", "option"].reduce((obj, slot) => {
|
|
34
34
|
obj[slot] = (scope: TScope) =>
|
|
35
|
-
h(resolveComponent(props.element.customTemplate
|
|
35
|
+
h(resolveComponent(props.element.customTemplate?.component as string), {
|
|
36
|
+
context: scope,
|
|
37
|
+
slotName: slot,
|
|
38
|
+
});
|
|
36
39
|
return obj;
|
|
37
40
|
}, {} as Record<string, (scope: TScope) => VNode>),
|
|
38
41
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtractPropTypes, computed, h, unref } from "vue";
|
|
1
|
+
import { Component, ExtractPropTypes, computed, h, unref } from "vue";
|
|
2
2
|
import componentProps from "./props";
|
|
3
3
|
import { StatusSchema } from "../../types";
|
|
4
4
|
import { StatusField } from "../factories";
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
if (props.element.content && typeof props.element.content === "string") {
|
|
14
14
|
return props.element.content;
|
|
15
15
|
} else if (props.element.content?.method) {
|
|
16
|
-
const method = unref(props.bladeContext.scope)[props.element.content?.method];
|
|
16
|
+
const method = unref(props.bladeContext.scope)?.[props.element.content?.method];
|
|
17
17
|
if (method === "function") {
|
|
18
18
|
return method();
|
|
19
19
|
} else {
|
|
@@ -48,7 +48,7 @@ export default {
|
|
|
48
48
|
});
|
|
49
49
|
|
|
50
50
|
return props.baseOptions.visibility
|
|
51
|
-
? h(field.component, { ...field.props, class: "tw-w-full tw-box-border" }, field.slots)
|
|
51
|
+
? h(field.component as Component, { ...field.props, class: "tw-w-full tw-box-border" }, field.slots)
|
|
52
52
|
: null;
|
|
53
53
|
};
|
|
54
54
|
},
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { TextareaField } from "./../factories";
|
|
2
|
+
import { TextareaSchema } from "./../../types/index";
|
|
3
|
+
import { ExtractPropTypes, h, Component } from "vue";
|
|
4
|
+
import componentProps from "./props";
|
|
5
|
+
import ValidationField from "./ValidationField";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
name: "TextareaField",
|
|
9
|
+
props: componentProps,
|
|
10
|
+
setup(props: ExtractPropTypes<typeof componentProps> & { element: TextareaSchema }) {
|
|
11
|
+
return () => {
|
|
12
|
+
const field = TextareaField({
|
|
13
|
+
props: {
|
|
14
|
+
...props.baseProps,
|
|
15
|
+
currentLanguage: props.currentLocale,
|
|
16
|
+
clearable: props.element.clearable || false,
|
|
17
|
+
},
|
|
18
|
+
options: props.baseOptions,
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
const render = h(field.component as Component, field.props);
|
|
22
|
+
|
|
23
|
+
if (field.props.rules) {
|
|
24
|
+
return props.baseOptions.visibility
|
|
25
|
+
? h(
|
|
26
|
+
ValidationField,
|
|
27
|
+
{
|
|
28
|
+
props: field.props,
|
|
29
|
+
index: props.elIndex,
|
|
30
|
+
rows: props.rows,
|
|
31
|
+
key: `${String(field.props.key)}_validation`,
|
|
32
|
+
},
|
|
33
|
+
() => render
|
|
34
|
+
)
|
|
35
|
+
: null;
|
|
36
|
+
} else {
|
|
37
|
+
return props.baseOptions.visibility ? render : null;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
};
|
|
@@ -15,30 +15,30 @@ export default defineComponent({
|
|
|
15
15
|
setup(props) {
|
|
16
16
|
const slots = useSlots();
|
|
17
17
|
const fieldKey = computed(() =>
|
|
18
|
-
unref(props.props)
|
|
19
|
-
? `${String(props.props
|
|
20
|
-
: String(props.props
|
|
18
|
+
unref(props.props)?.multilanguage
|
|
19
|
+
? `${String(props.props?.key)}_${unref(props.props?.currentLanguage)}`
|
|
20
|
+
: String(props.props?.key)
|
|
21
21
|
);
|
|
22
22
|
|
|
23
23
|
const fieldNameLang = reactify((name: string) => {
|
|
24
|
-
return props.props
|
|
24
|
+
return props.props?.multilanguage ? name + "_" + props.props.currentLanguage : name;
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
return () =>
|
|
28
28
|
h(
|
|
29
29
|
Field,
|
|
30
30
|
{
|
|
31
|
-
rules: props.props
|
|
32
|
-
modelValue: props.props
|
|
33
|
-
label: props.props
|
|
31
|
+
rules: props.props?.rules,
|
|
32
|
+
modelValue: props.props?.modelValue,
|
|
33
|
+
label: props.props?.label,
|
|
34
34
|
key: fieldKey.value,
|
|
35
35
|
name: fieldNameLang(
|
|
36
|
-
props.rows > 1 && props.index >= 0 ? props.props?.name + "_" + props.index : props.props?.name
|
|
36
|
+
(props.rows ?? 1) > 1 && (props.index ?? 0) >= 0 ? props.props?.name + "_" + props.index : props.props?.name
|
|
37
37
|
).value,
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
default: ({ errorMessage, errors }: { errorMessage: ComputedRef<string | undefined>; errors: string[] }) => {
|
|
41
|
-
return slots.default().map((slot) =>
|
|
41
|
+
return slots.default?.().map((slot) =>
|
|
42
42
|
h(slot, {
|
|
43
43
|
...props.props,
|
|
44
44
|
error: !!errors.length,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtractPropTypes, h } from "vue";
|
|
1
|
+
import { Component, ExtractPropTypes, h } from "vue";
|
|
2
2
|
import { VideoField } from "../factories";
|
|
3
3
|
import componentProps from "./props";
|
|
4
4
|
import { VideoSchema } from "../../types";
|
|
@@ -13,14 +13,11 @@ export default {
|
|
|
13
13
|
...props.baseProps,
|
|
14
14
|
source: props.baseProps.modelValue,
|
|
15
15
|
size: props.element.size,
|
|
16
|
-
rounded: props.element.rounded,
|
|
17
|
-
bordered: props.element.bordered,
|
|
18
|
-
clickable: props.element.clickable,
|
|
19
16
|
},
|
|
20
17
|
options: props.baseOptions,
|
|
21
18
|
});
|
|
22
19
|
|
|
23
|
-
const render = h(field.component, field.props);
|
|
20
|
+
const render = h(field.component as Component, field.props);
|
|
24
21
|
|
|
25
22
|
return props.baseOptions.visibility ? render : null;
|
|
26
23
|
};
|
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
default: () => ({} as IControlBaseProps),
|
|
10
10
|
},
|
|
11
11
|
baseOptions: {
|
|
12
|
-
type: Object as PropType<
|
|
12
|
+
type: Object as PropType<IControlBaseOptions>,
|
|
13
13
|
default: () => ({} as IControlBaseOptions),
|
|
14
14
|
},
|
|
15
15
|
element: {
|
|
@@ -30,7 +30,6 @@ export default {
|
|
|
30
30
|
},
|
|
31
31
|
fieldContext: {
|
|
32
32
|
type: Object,
|
|
33
|
-
default: undefined,
|
|
34
33
|
},
|
|
35
34
|
nodeBuilder: {
|
|
36
35
|
type: Function,
|
|
@@ -40,14 +40,16 @@ interface Data {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
export interface UseFilterBuilder {
|
|
43
|
-
filterComponent: (slotMethods: { close: () => void }) =>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
filterComponent: (slotMethods: { close: () => void }) =>
|
|
44
|
+
| VNode<
|
|
45
|
+
RendererNode,
|
|
46
|
+
RendererElement,
|
|
47
|
+
{
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
|
+
[key: string]: any;
|
|
50
|
+
}
|
|
51
|
+
>
|
|
52
|
+
| undefined;
|
|
51
53
|
activeFilterCount: ComputedRef<number>;
|
|
52
54
|
isFilterVisible: ComputedRef<boolean>;
|
|
53
55
|
reset: () => Promise<void>;
|
|
@@ -55,7 +57,11 @@ export interface UseFilterBuilder {
|
|
|
55
57
|
readonly filter: Record<string, any>;
|
|
56
58
|
}
|
|
57
59
|
|
|
58
|
-
export default <Query>(args: {
|
|
60
|
+
export default <Query>(args: {
|
|
61
|
+
data: Data | undefined;
|
|
62
|
+
query: MaybeRef<Query>;
|
|
63
|
+
load: AsyncAction<Query>;
|
|
64
|
+
}): UseFilterBuilder => {
|
|
59
65
|
const _search = args.load;
|
|
60
66
|
const _data = args.data;
|
|
61
67
|
|
|
@@ -108,7 +114,9 @@ export default <Query>(args: { data: Data; query: MaybeRef<Query>; load: AsyncAc
|
|
|
108
114
|
const filterData = control.data;
|
|
109
115
|
const fields = createCheckboxFromData(filterData, control);
|
|
110
116
|
|
|
111
|
-
|
|
117
|
+
if (fields) {
|
|
118
|
+
obj = fields;
|
|
119
|
+
}
|
|
112
120
|
}
|
|
113
121
|
if (control.component === "vc-input") {
|
|
114
122
|
obj[control.field] = createInput(control);
|
|
@@ -6,9 +6,9 @@ import type { ItemId, IValidationState, UseDetails } from "../types";
|
|
|
6
6
|
import { createUnrefFn } from "@vueuse/core";
|
|
7
7
|
|
|
8
8
|
export interface UseDetailsFactoryParams<Item> {
|
|
9
|
-
load: (args
|
|
10
|
-
saveChanges: (details: Item) => Promise<Item>;
|
|
11
|
-
remove
|
|
9
|
+
load: (args?: ItemId) => Promise<Item>;
|
|
10
|
+
saveChanges: (details: Item) => Promise<Item | void>;
|
|
11
|
+
remove?: (args: ItemId) => Promise<void>;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<Item>) => {
|
|
@@ -23,20 +23,20 @@ export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<I
|
|
|
23
23
|
const isDirty = useIsFormDirty();
|
|
24
24
|
const isDisabled = computed(() => !isDirty.value || !isFormValid.value);
|
|
25
25
|
|
|
26
|
-
const { loading: itemLoading, action: load } = useAsync<ItemId>(async (args) => {
|
|
26
|
+
const { loading: itemLoading, action: load } = useAsync<ItemId>(async (args?: ItemId) => {
|
|
27
27
|
item.value = await factoryParams.load(args);
|
|
28
28
|
resetModified(item.value);
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
const { loading: manageLoading, action: saveChanges } = useAsync<Item>(async (item) => {
|
|
32
32
|
if (validationState.value.valid) {
|
|
33
|
-
await factoryParams.saveChanges(item);
|
|
33
|
+
await factoryParams.saveChanges(item as Item);
|
|
34
34
|
isModified.value = false;
|
|
35
35
|
} else throw new Error("Form is not valid");
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
const { loading: removeLoading, action: remove } = useAsync<ItemId>(async (args) => {
|
|
39
|
-
await factoryParams.remove(args);
|
|
39
|
+
await factoryParams.remove?.(args as ItemId);
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
const loading = useLoading(itemLoading, manageLoading, removeLoading);
|
|
@@ -48,6 +48,7 @@ export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<I
|
|
|
48
48
|
modified: isModified.value,
|
|
49
49
|
disabled: isDisabled.value,
|
|
50
50
|
validated: !isDisabled.value && isModified.value,
|
|
51
|
+
cachedValue: itemTemp.value,
|
|
51
52
|
setFieldError,
|
|
52
53
|
setErrors,
|
|
53
54
|
resetModified,
|
|
@@ -38,18 +38,18 @@ export const useListFactory = <Items extends Record<string, any>[], Query extend
|
|
|
38
38
|
|
|
39
39
|
const { loading: itemsLoading, action: load } = useAsync<Query>(async (query) => {
|
|
40
40
|
searchQuery.value = { ...searchQuery.value, ...query };
|
|
41
|
-
searchResult.value = await factoryParams.load(query);
|
|
41
|
+
searchResult.value = await factoryParams.load?.(query as Query);
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
const { loading: itemsDelete, action: remove } = useAsync<CustomQuery>(async (customQuery) => {
|
|
45
|
-
await factoryParams.remove(searchQuery.value, customQuery);
|
|
45
|
+
await factoryParams.remove?.(searchQuery.value, customQuery as CustomQuery);
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
const loading = useLoading(itemsLoading, itemsDelete);
|
|
49
49
|
|
|
50
50
|
const pagination = computed(() => ({
|
|
51
51
|
currentPage: (searchQuery.value?.skip || 0) / Math.max(1, searchQuery?.value.take || 20) + 1,
|
|
52
|
-
totalCount: searchResult.value?.totalCount,
|
|
52
|
+
totalCount: searchResult.value?.totalCount || 0,
|
|
53
53
|
pageSize: pageSize,
|
|
54
54
|
get pages() {
|
|
55
55
|
return Math.ceil(this.totalCount / this.pageSize);
|
|
@@ -57,7 +57,7 @@ export const useListFactory = <Items extends Record<string, any>[], Query extend
|
|
|
57
57
|
}));
|
|
58
58
|
|
|
59
59
|
return {
|
|
60
|
-
items: computed(() => searchResult.value?.results),
|
|
60
|
+
items: computed(() => searchResult.value?.results as Items),
|
|
61
61
|
query: searchQuery,
|
|
62
62
|
loading,
|
|
63
63
|
pagination,
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { ComputedRef, MaybeRef, Ref, UnwrapNestedRefs
|
|
2
|
+
import { ComputedRef, MaybeRef, Ref, UnwrapNestedRefs } from "vue";
|
|
3
3
|
import { AsyncAction } from "../../../../../core/composables";
|
|
4
4
|
import { SettingsSchema } from "../../types";
|
|
5
5
|
import { Asset, AssetsHandler, IBladeToolbar, IImage } from "../../../../../core/types";
|
|
6
6
|
import { useBladeNavigation } from "../../../../components";
|
|
7
|
+
import { FormContext } from "vee-validate";
|
|
7
8
|
|
|
8
9
|
export type ItemId = { id: string };
|
|
9
10
|
|
|
@@ -20,10 +21,11 @@ export interface IValidationState<Item> {
|
|
|
20
21
|
disabled: boolean;
|
|
21
22
|
modified: boolean;
|
|
22
23
|
validated: boolean;
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
cachedValue: Item | undefined;
|
|
25
|
+
setFieldError: FormContext["setFieldError"];
|
|
26
|
+
setErrors: FormContext["setErrors"];
|
|
25
27
|
resetModified: (data: MaybeRef<Item>, updateInitial?: MaybeRef<boolean>) => void;
|
|
26
|
-
validate:
|
|
28
|
+
validate: FormContext["validate"];
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
export type CustomQuery = { ids: string[] | null; allSelected?: boolean };
|
|
@@ -31,9 +33,9 @@ export type CustomQuery = { ids: string[] | null; allSelected?: boolean };
|
|
|
31
33
|
export interface UseDetails<Item, Scope extends DetailsBaseBladeScope = DetailsBaseBladeScope> {
|
|
32
34
|
load: AsyncAction<ItemId>;
|
|
33
35
|
saveChanges: AsyncAction<Item>;
|
|
34
|
-
remove
|
|
36
|
+
remove?: AsyncAction<ItemId>;
|
|
35
37
|
loading: ComputedRef<boolean>;
|
|
36
|
-
item: Ref<Item>;
|
|
38
|
+
item: Ref<Item | undefined>;
|
|
37
39
|
validationState: ComputedRef<IValidationState<Item>>;
|
|
38
40
|
scope?: ComputedRef<UnwrapNestedRefs<Scope>>;
|
|
39
41
|
bladeTitle?: ComputedRef<string>;
|
|
@@ -64,7 +66,7 @@ export interface ListBaseBladeScope extends BaseBladeScope {
|
|
|
64
66
|
}
|
|
65
67
|
|
|
66
68
|
export interface DetailsBaseBladeScope extends BaseBladeScope {
|
|
67
|
-
disabled?: ComputedRef<boolean>;
|
|
69
|
+
disabled?: ComputedRef<boolean | undefined>;
|
|
68
70
|
multilanguage?: {
|
|
69
71
|
loading: ComputedRef<boolean>;
|
|
70
72
|
currentLocale: Ref<string>;
|
|
@@ -89,8 +91,8 @@ export interface DetailsBaseBladeScope extends BaseBladeScope {
|
|
|
89
91
|
}) => void;
|
|
90
92
|
};
|
|
91
93
|
assetsHandler?: {
|
|
92
|
-
assets?: AssetsHandler<Asset
|
|
93
|
-
images?: AssetsHandler<IImage
|
|
94
|
+
assets?: AssetsHandler<Asset>;
|
|
95
|
+
images?: AssetsHandler<IImage>;
|
|
94
96
|
};
|
|
95
97
|
}
|
|
96
98
|
|