@acorex/platform 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/auth/README.md +3 -0
- package/auth/index.d.ts +16 -0
- package/auth/lib/application/application.loader.d.ts +9 -0
- package/auth/lib/application/application.types.d.ts +10 -0
- package/auth/lib/auth-registry.service.d.ts +12 -0
- package/auth/lib/auth.guard.d.ts +2 -0
- package/auth/lib/auth.module.d.ts +20 -0
- package/auth/lib/auth.strategy.d.ts +28 -0
- package/auth/lib/errors.types.d.ts +6 -0
- package/auth/lib/feature/feature.loader.d.ts +7 -0
- package/auth/lib/feature/feature.types.d.ts +6 -0
- package/auth/lib/permission/permission.directive.d.ts +16 -0
- package/auth/lib/permission/permission.guard.d.ts +2 -0
- package/auth/lib/permission/permission.loader.d.ts +7 -0
- package/auth/lib/permission/permission.types.d.ts +1 -0
- package/auth/lib/session.service.d.ts +51 -0
- package/auth/lib/tenant/tenant.loader.d.ts +9 -0
- package/auth/lib/tenant/tenant.types.d.ts +8 -0
- package/auth/lib/user/user.types.d.ts +6 -0
- package/common/README.md +3 -0
- package/common/index.d.ts +11 -0
- package/common/lib/common.module.d.ts +21 -0
- package/common/lib/configs/app.config.d.ts +19 -0
- package/common/lib/data/data-provider.types.d.ts +11 -0
- package/common/lib/data/index.d.ts +1 -0
- package/common/lib/errors/error-handler-registry.service.d.ts +12 -0
- package/common/lib/errors/error-handler.types.d.ts +3 -0
- package/common/lib/errors/global-error-handler.d.ts +11 -0
- package/common/lib/errors/index.d.ts +3 -0
- package/common/lib/layout/component-slot/component-slot-loader.service.d.ts +11 -0
- package/common/lib/layout/component-slot/component-slot-registery.service.d.ts +9 -0
- package/common/lib/layout/component-slot/component-slot.directive.d.ts +12 -0
- package/common/lib/layout/component-slot/component-slot.module.d.ts +15 -0
- package/common/lib/layout/component-slot/component-slot.types.d.ts +14 -0
- package/common/lib/layout/component-slot/index.d.ts +5 -0
- package/common/lib/menu/index.d.ts +2 -0
- package/common/lib/menu/menu.loader.d.ts +17 -0
- package/common/lib/menu/menu.types.d.ts +13 -0
- package/common/lib/settings/index.d.ts +3 -0
- package/common/lib/settings/settings.loader.d.ts +8 -0
- package/common/lib/settings/settings.service.d.ts +9 -0
- package/common/lib/settings/settings.types.d.ts +5 -0
- package/common/lib/shared/logo.types.d.ts +19 -0
- package/common/lib/shared/state-persistence/index.d.ts +3 -0
- package/common/lib/shared/state-persistence/state-persistence.actions.d.ts +1 -0
- package/common/lib/shared/state-persistence/state-persistence.module.d.ts +8 -0
- package/common/lib/shared/state-persistence/state-persistence.reducers.d.ts +3 -0
- package/common/lib/store/common.actions.d.ts +14 -0
- package/common/lib/store/common.effects.d.ts +11 -0
- package/common/lib/store/index.d.ts +2 -0
- package/common/lib/utils/clipboard-service.d.ts +7 -0
- package/common/lib/utils/index.d.ts +3 -0
- package/common/lib/utils/router-util.service.d.ts +12 -0
- package/common/lib/utils/sticky.directive.d.ts +24 -0
- package/esm2022/acorex-platform.mjs +5 -0
- package/esm2022/auth/acorex-platform-auth.mjs +5 -0
- package/esm2022/auth/index.mjs +17 -0
- package/esm2022/auth/lib/application/application.loader.mjs +26 -0
- package/esm2022/auth/lib/application/application.types.mjs +2 -0
- package/esm2022/auth/lib/auth-registry.service.mjs +29 -0
- package/esm2022/auth/lib/auth.guard.mjs +18 -0
- package/esm2022/auth/lib/auth.module.mjs +84 -0
- package/esm2022/auth/lib/auth.strategy.mjs +2 -0
- package/esm2022/auth/lib/errors.types.mjs +13 -0
- package/esm2022/auth/lib/feature/feature.loader.mjs +14 -0
- package/esm2022/auth/lib/feature/feature.types.mjs +2 -0
- package/esm2022/auth/lib/permission/permission.directive.mjs +51 -0
- package/esm2022/auth/lib/permission/permission.guard.mjs +16 -0
- package/esm2022/auth/lib/permission/permission.loader.mjs +14 -0
- package/esm2022/auth/lib/permission/permission.types.mjs +2 -0
- package/esm2022/auth/lib/session.service.mjs +240 -0
- package/esm2022/auth/lib/tenant/tenant.loader.mjs +23 -0
- package/esm2022/auth/lib/tenant/tenant.types.mjs +2 -0
- package/esm2022/auth/lib/user/user.types.mjs +2 -0
- package/esm2022/common/acorex-platform-common.mjs +5 -0
- package/esm2022/common/index.mjs +12 -0
- package/esm2022/common/lib/common.module.mjs +123 -0
- package/esm2022/common/lib/configs/app.config.mjs +27 -0
- package/esm2022/common/lib/data/data-provider.types.mjs +3 -0
- package/esm2022/common/lib/data/index.mjs +2 -0
- package/esm2022/common/lib/errors/error-handler-registry.service.mjs +29 -0
- package/esm2022/common/lib/errors/error-handler.types.mjs +2 -0
- package/esm2022/common/lib/errors/global-error-handler.mjs +36 -0
- package/esm2022/common/lib/errors/index.mjs +4 -0
- package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +56 -0
- package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +28 -0
- package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +24 -0
- package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +72 -0
- package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +2 -0
- package/esm2022/common/lib/layout/component-slot/index.mjs +6 -0
- package/esm2022/common/lib/menu/index.mjs +3 -0
- package/esm2022/common/lib/menu/menu.loader.mjs +39 -0
- package/esm2022/common/lib/menu/menu.types.mjs +2 -0
- package/esm2022/common/lib/settings/index.mjs +4 -0
- package/esm2022/common/lib/settings/settings.loader.mjs +17 -0
- package/esm2022/common/lib/settings/settings.service.mjs +20 -0
- package/esm2022/common/lib/settings/settings.types.mjs +2 -0
- package/esm2022/common/lib/shared/logo.types.mjs +21 -0
- package/esm2022/common/lib/shared/state-persistence/index.mjs +4 -0
- package/esm2022/common/lib/shared/state-persistence/state-persistence.actions.mjs +3 -0
- package/esm2022/common/lib/shared/state-persistence/state-persistence.module.mjs +36 -0
- package/esm2022/common/lib/shared/state-persistence/state-persistence.reducers.mjs +30 -0
- package/esm2022/common/lib/store/common.actions.mjs +5 -0
- package/esm2022/common/lib/store/common.effects.mjs +31 -0
- package/esm2022/common/lib/store/index.mjs +3 -0
- package/esm2022/common/lib/utils/clipboard-service.mjs +26 -0
- package/esm2022/common/lib/utils/index.mjs +4 -0
- package/esm2022/common/lib/utils/router-util.service.mjs +43 -0
- package/esm2022/common/lib/utils/sticky.directive.mjs +74 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/layouts/acorex-platform-layouts.mjs +5 -0
- package/esm2022/layouts/index.mjs +5 -0
- package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.mjs +58 -0
- package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.component.mjs +50 -0
- package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.module.mjs +57 -0
- package/esm2022/layouts/lib/admin/admin-child-layout/index.mjs +4 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.component.mjs +74 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.module.mjs +92 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.mjs +14 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.mjs +29 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/index.mjs +5 -0
- package/esm2022/layouts/lib/admin/admin.module.mjs +75 -0
- package/esm2022/layouts/lib/admin/admin.routes.mjs +37 -0
- package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +20 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +105 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +137 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +125 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +180 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +3 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +200 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +6 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +56 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +108 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +76 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +57 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +283 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +5 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +333 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +156 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +86 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +66 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +82 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/index.mjs +2 -0
- package/esm2022/layouts/lib/admin/entity-layout/index.mjs +4 -0
- package/esm2022/layouts/lib/admin/entity-layout/store/entity.actions.mjs +18 -0
- package/esm2022/layouts/lib/admin/entity-layout/store/entity.effects.mjs +76 -0
- package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +91 -0
- package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +153 -0
- package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +98 -0
- package/esm2022/layouts/lib/admin/entity.resolver.mjs +21 -0
- package/esm2022/layouts/lib/admin/index.mjs +8 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.actions.mjs +12 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.effects.mjs +29 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.reducers.mjs +60 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.selectors.mjs +8 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.state.mjs +16 -0
- package/esm2022/layouts/lib/admin/store/index.mjs +6 -0
- package/esm2022/layouts/lib/layout.module.mjs +63 -0
- package/esm2022/layouts/lib/layout.routes.mjs +15 -0
- package/esm2022/layouts/lib/shared/components/content-view/content-view.page.mjs +64 -0
- package/esm2022/layouts/lib/shared/components/content-view/content-view.type.mjs +2 -0
- package/esm2022/layouts/lib/shared/components/error-401/error-401.component.mjs +29 -0
- package/esm2022/layouts/lib/shared/components/error-404/error-404.component.mjs +22 -0
- package/esm2022/layouts/lib/shared/components/error-offline/error-offline.component.mjs +16 -0
- package/esm2022/layouts/lib/shared/components/index.mjs +9 -0
- package/esm2022/layouts/lib/shared/components/logo/logo.component.mjs +38 -0
- package/esm2022/layouts/lib/shared/components/slots/footer-text-slot.component.mjs +20 -0
- package/esm2022/layouts/lib/shared/components/slots/navbar-slot.component.mjs +36 -0
- package/esm2022/layouts/lib/shared/components/slots/theme-slot.component.mjs +48 -0
- package/esm2022/layouts/lib/shared/entity/entity-registery.service.mjs +70 -0
- package/esm2022/layouts/lib/shared/entity/entity.class.mjs +32 -0
- package/esm2022/layouts/lib/shared/entity/entity.loader.mjs +13 -0
- package/esm2022/layouts/lib/shared/entity/index.mjs +4 -0
- package/esm2022/layouts/lib/shared/index.mjs +5 -0
- package/esm2022/layouts/lib/shared/services/index.mjs +2 -0
- package/esm2022/layouts/lib/shared/services/layout.service.mjs +79 -0
- package/esm2022/layouts/lib/shared/workflows/common.workflow.mjs +110 -0
- package/esm2022/layouts/lib/shared/workflows/error-handler.mjs +24 -0
- package/esm2022/layouts/lib/shared/workflows/index.mjs +3 -0
- package/esm2022/layouts/lib/widgets/avatar/avatar-widget-edit.component.mjs +102 -0
- package/esm2022/layouts/lib/widgets/avatar/avatar-widget-view.component.mjs +33 -0
- package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-column.component.mjs +53 -0
- package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.mjs +22 -0
- package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-view.component.mjs +47 -0
- package/esm2022/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.mjs +147 -0
- package/esm2022/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.mjs +135 -0
- package/esm2022/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.mjs +125 -0
- package/esm2022/layouts/lib/widgets/common-widgets.module.mjs +479 -0
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-column.component.mjs +44 -0
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.mjs +175 -0
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.mjs +230 -0
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-view.component.mjs +71 -0
- package/esm2022/layouts/lib/widgets/email/email-widget-column.component.mjs +73 -0
- package/esm2022/layouts/lib/widgets/email/email-widget-edit.component.mjs +249 -0
- package/esm2022/layouts/lib/widgets/email/email-widget-view.component.mjs +108 -0
- package/esm2022/layouts/lib/widgets/file/file-widget-column.component.mjs +27 -0
- package/esm2022/layouts/lib/widgets/file/file-widget-edit.component.mjs +200 -0
- package/esm2022/layouts/lib/widgets/file/file-widget-filter.component.mjs +27 -0
- package/esm2022/layouts/lib/widgets/file/file-widget-view.component.mjs +153 -0
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-edit.component.mjs +189 -0
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-filter.component.mjs +27 -0
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-types.mjs +2 -0
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-view.component.mjs +173 -0
- package/esm2022/layouts/lib/widgets/index.mjs +2 -0
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-column.component.mjs +43 -0
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-edit.component.mjs +74 -0
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-filter.component.mjs +139 -0
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-view.component.mjs +54 -0
- package/esm2022/layouts/lib/widgets/map/map-widget-edit.component.mjs +91 -0
- package/esm2022/layouts/lib/widgets/map/map-widget-view.component.mjs +63 -0
- package/esm2022/layouts/lib/widgets/messenger/messenger-widget-column.component.mjs +71 -0
- package/esm2022/layouts/lib/widgets/messenger/messenger-widget-edit.component.mjs +136 -0
- package/esm2022/layouts/lib/widgets/messenger/messenger-widget-view.component.mjs +132 -0
- package/esm2022/layouts/lib/widgets/number/number-widget-edit.component.mjs +46 -0
- package/esm2022/layouts/lib/widgets/number/number-widget-view.component.mjs +30 -0
- package/esm2022/layouts/lib/widgets/password/change-password.component.mjs +175 -0
- package/esm2022/layouts/lib/widgets/password/password-widget-column.component.mjs +77 -0
- package/esm2022/layouts/lib/widgets/password/password-widget-edit.component.mjs +34 -0
- package/esm2022/layouts/lib/widgets/password/password-widget-view.component.mjs +109 -0
- package/esm2022/layouts/lib/widgets/phone/phone-widget-column.component.mjs +91 -0
- package/esm2022/layouts/lib/widgets/phone/phone-widget-edit.component.mjs +315 -0
- package/esm2022/layouts/lib/widgets/phone/phone-widget-view.component.mjs +123 -0
- package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-column.component.mjs +69 -0
- package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.mjs +67 -0
- package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-view.component.mjs +34 -0
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-column.component.mjs +43 -0
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.mjs +53 -0
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.mjs +41 -0
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-view.component.mjs +45 -0
- package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.mjs +128 -0
- package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.mjs +41 -0
- package/esm2022/layouts/lib/widgets/text/largetext-widget-edit.component.mjs +37 -0
- package/esm2022/layouts/lib/widgets/text/text-widget-column.component.mjs +47 -0
- package/esm2022/layouts/lib/widgets/text/text-widget-edit.component.mjs +162 -0
- package/esm2022/layouts/lib/widgets/text/text-widget-view.component.mjs +66 -0
- package/esm2022/layouts/lib/widgets/toggle/toggle-widget-column.component.mjs +57 -0
- package/esm2022/layouts/lib/widgets/toggle/toggle-widget-edit.component.mjs +25 -0
- package/esm2022/layouts/lib/widgets/toggle/toggle-widget-view.component.mjs +49 -0
- package/esm2022/mocks/acorex-platform-mocks.mjs +5 -0
- package/esm2022/mocks/index.mjs +7 -0
- package/esm2022/mocks/lib/mocks.module.mjs +15 -0
- package/esm2022/mocks/lib/services/mocker.service.mjs +124 -0
- package/esm2022/mocks/lib/storage/storage.mock.service.mjs +186 -0
- package/esm2022/native/acorex-platform-native.mjs +5 -0
- package/esm2022/native/index.mjs +3 -0
- package/esm2022/native/lib/native.module.mjs +16 -0
- package/esm2022/native/lib/native.service.mjs +133 -0
- package/esm2022/schema/acorex-platform-schema.mjs +5 -0
- package/esm2022/schema/index.mjs +14 -0
- package/esm2022/schema/lib/component-loader.mjs +2 -0
- package/esm2022/schema/lib/formats.mjs +2 -0
- package/esm2022/schema/lib/operators.mjs +50 -0
- package/esm2022/schema/lib/schema-registery.service.mjs +33 -0
- package/esm2022/schema/lib/schema.mjs +2 -0
- package/esm2022/schema/lib/schema.module.mjs +23 -0
- package/esm2022/schema/lib/widget/widget-base.mjs +110 -0
- package/esm2022/schema/lib/widget/widget-column-renderer.mjs +99 -0
- package/esm2022/schema/lib/widget/widget-filter-renderer.mjs +133 -0
- package/esm2022/schema/lib/widget/widget-renderer.mjs +144 -0
- package/esm2022/schema/lib/widget/widget-token.mjs +3 -0
- package/esm2022/workflow/acorex-platform-workflow.mjs +5 -0
- package/esm2022/workflow/index.mjs +7 -0
- package/esm2022/workflow/lib/errors.types.mjs +8 -0
- package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +23 -0
- package/esm2022/workflow/lib/workflow-registery.service.mjs +39 -0
- package/esm2022/workflow/lib/workflow.module.mjs +96 -0
- package/esm2022/workflow/lib/workflow.service.mjs +141 -0
- package/esm2022/workflow/lib/workflow.types.mjs +52 -0
- package/fesm2022/acorex-platform-auth.mjs +502 -0
- package/fesm2022/acorex-platform-auth.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +699 -0
- package/fesm2022/acorex-platform-common.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-PZr1lXj-.mjs +104 -0
- package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-PZr1lXj-.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-pJJYkvdH.mjs +36 -0
- package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-pJJYkvdH.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-H056Q5Gz.mjs +150 -0
- package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-H056Q5Gz.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-change-password.component-QMAm6dxN.mjs +178 -0
- package/fesm2022/acorex-platform-layouts-change-password.component-QMAm6dxN.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-vRJI5S-w.mjs +56 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-vRJI5S-w.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-P4cD_Nwg.mjs +25 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-P4cD_Nwg.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-m6bF8XFR.mjs +50 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-m6bF8XFR.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-qeQRJePy.mjs +47 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-qeQRJePy.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-zeJXGXY8.mjs +178 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-zeJXGXY8.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-DJ6esclU.mjs +233 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-DJ6esclU.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-BrwycTWz.mjs +74 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-BrwycTWz.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-email-widget-column.component-ac8gqsFT.mjs +76 -0
- package/fesm2022/acorex-platform-layouts-email-widget-column.component-ac8gqsFT.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-email-widget-edit.component-m2dI7y9X.mjs +252 -0
- package/fesm2022/acorex-platform-layouts-email-widget-edit.component-m2dI7y9X.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-email-widget-view.component-XrV8va7z.mjs +111 -0
- package/fesm2022/acorex-platform-layouts-email-widget-view.component-XrV8va7z.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-8rtifIvM.mjs +108 -0
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-8rtifIvM.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-VeTkP3-n.mjs +89 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-VeTkP3-n.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-file-widget-column.component-v7kAdIQ9.mjs +30 -0
- package/fesm2022/acorex-platform-layouts-file-widget-column.component-v7kAdIQ9.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-file-widget-edit.component-Wrq7ZL9R.mjs +203 -0
- package/fesm2022/acorex-platform-layouts-file-widget-edit.component-Wrq7ZL9R.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-file-widget-filter.component-1-NJh38j.mjs +30 -0
- package/fesm2022/acorex-platform-layouts-file-widget-filter.component-1-NJh38j.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-file-widget-view.component-mXBrKX0K.mjs +156 -0
- package/fesm2022/acorex-platform-layouts-file-widget-view.component-mXBrKX0K.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-cWNvVwum.mjs +192 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-cWNvVwum.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-OCz0hj5i.mjs +30 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-OCz0hj5i.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-xU52uaP0.mjs +176 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-xU52uaP0.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-Um_eBRFi.mjs +40 -0
- package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-Um_eBRFi.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-Ts0MJe8O.mjs +46 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-Ts0MJe8O.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-l5nSr9Cm.mjs +119 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-l5nSr9Cm.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-gp5skvmz.mjs +181 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-gp5skvmz.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-ftFXFj6k.mjs +57 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-ftFXFj6k.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-map-widget-edit.component-SOQvPhmX.mjs +94 -0
- package/fesm2022/acorex-platform-layouts-map-widget-edit.component-SOQvPhmX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-map-widget-view.component-1Lj9efbd.mjs +66 -0
- package/fesm2022/acorex-platform-layouts-map-widget-view.component-1Lj9efbd.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-W7ZY-W84.mjs +74 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-W7ZY-W84.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-dAX8nirB.mjs +139 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-dAX8nirB.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-9TJiFdq-.mjs +135 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-9TJiFdq-.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-number-widget-edit.component-DDi-o_Zn.mjs +49 -0
- package/fesm2022/acorex-platform-layouts-number-widget-edit.component-DDi-o_Zn.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-number-widget-filter.component-DPGSzdNm.mjs +138 -0
- package/fesm2022/acorex-platform-layouts-number-widget-filter.component-DPGSzdNm.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-number-widget-view.component-hqkAR0LG.mjs +33 -0
- package/fesm2022/acorex-platform-layouts-number-widget-view.component-hqkAR0LG.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-password-widget-column.component-ic1jykZL.mjs +80 -0
- package/fesm2022/acorex-platform-layouts-password-widget-column.component-ic1jykZL.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-password-widget-edit.component-D8xI17yk.mjs +37 -0
- package/fesm2022/acorex-platform-layouts-password-widget-edit.component-D8xI17yk.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-password-widget-view.component-E2vtPKRO.mjs +112 -0
- package/fesm2022/acorex-platform-layouts-password-widget-view.component-E2vtPKRO.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-column.component-s04WZfzv.mjs +94 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-column.component-s04WZfzv.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-MKzlZ0_B.mjs +318 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-MKzlZ0_B.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-view.component-NEO22XO7.mjs +126 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-view.component-NEO22XO7.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-P0YzXTIB.mjs +72 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-P0YzXTIB.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-ro2yg7PR.mjs +70 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-ro2yg7PR.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component--Rzxm2a6.mjs +37 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component--Rzxm2a6.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-9FTkDGmq.mjs +46 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-9FTkDGmq.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-FpOQ12Ie.mjs +56 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-FpOQ12Ie.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-hGk-ZZ78.mjs +44 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-hGk-ZZ78.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-s9xq___Y.mjs +48 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-s9xq___Y.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-W28Uk9zO.mjs +131 -0
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-W28Uk9zO.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-R40Ml757.mjs +44 -0
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-R40Ml757.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-string-widget-filter.component-4oZ6BVis.mjs +128 -0
- package/fesm2022/acorex-platform-layouts-string-widget-filter.component-4oZ6BVis.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-text-widget-column.component-qhh6MT79.mjs +50 -0
- package/fesm2022/acorex-platform-layouts-text-widget-column.component-qhh6MT79.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-text-widget-edit.component-TC127Dq8.mjs +165 -0
- package/fesm2022/acorex-platform-layouts-text-widget-edit.component-TC127Dq8.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-text-widget-view.component-65eOj0qR.mjs +69 -0
- package/fesm2022/acorex-platform-layouts-text-widget-view.component-65eOj0qR.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-uxOXR-bL.mjs +60 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-uxOXR-bL.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-R44L1pgJ.mjs +28 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-R44L1pgJ.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-DTOeAUiy.mjs +52 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-DTOeAUiy.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts.mjs +3732 -0
- package/fesm2022/acorex-platform-layouts.mjs.map +1 -0
- package/fesm2022/acorex-platform-mocks.mjs +332 -0
- package/fesm2022/acorex-platform-mocks.mjs.map +1 -0
- package/fesm2022/acorex-platform-native.mjs +154 -0
- package/fesm2022/acorex-platform-native.mjs.map +1 -0
- package/fesm2022/acorex-platform-schema.mjs +572 -0
- package/fesm2022/acorex-platform-schema.mjs.map +1 -0
- package/fesm2022/acorex-platform-workflow.mjs +350 -0
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -0
- package/fesm2022/acorex-platform.mjs +6 -0
- package/fesm2022/acorex-platform.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/layouts/README.md +3 -0
- package/layouts/index.d.ts +4 -0
- package/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.d.ts +22 -0
- package/layouts/lib/admin/admin-child-layout/admin-child-layout.component.d.ts +21 -0
- package/layouts/lib/admin/admin-child-layout/admin-child-layout.module.d.ts +17 -0
- package/layouts/lib/admin/admin-child-layout/index.d.ts +3 -0
- package/layouts/lib/admin/admin-root-layout/admin-root-layout.component.d.ts +30 -0
- package/layouts/lib/admin/admin-root-layout/admin-root-layout.module.d.ts +25 -0
- package/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.d.ts +5 -0
- package/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.d.ts +10 -0
- package/layouts/lib/admin/admin-root-layout/index.d.ts +4 -0
- package/layouts/lib/admin/admin.module.d.ts +11 -0
- package/layouts/lib/admin/admin.routes.d.ts +2 -0
- package/layouts/lib/admin/custom-reuse.strategy.d.ts +8 -0
- package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.d.ts +20 -0
- package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.d.ts +54 -0
- package/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.d.ts +48 -0
- package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +41 -0
- package/layouts/lib/admin/entity-layout/entity-details-view/index.d.ts +2 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.d.ts +47 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/index.d.ts +5 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +22 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.d.ts +35 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.d.ts +18 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.d.ts +22 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +63 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/index.d.ts +4 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +110 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +41 -0
- package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.d.ts +25 -0
- package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.d.ts +31 -0
- package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +22 -0
- package/layouts/lib/admin/entity-layout/entity-quick-view/index.d.ts +1 -0
- package/layouts/lib/admin/entity-layout/index.d.ts +3 -0
- package/layouts/lib/admin/entity-layout/store/entity.actions.d.ts +48 -0
- package/layouts/lib/admin/entity-layout/store/entity.effects.d.ts +22 -0
- package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +28 -0
- package/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.d.ts +33 -0
- package/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.d.ts +31 -0
- package/layouts/lib/admin/entity.resolver.d.ts +4 -0
- package/layouts/lib/admin/index.d.ts +7 -0
- package/layouts/lib/admin/store/admin-layout.actions.d.ts +8 -0
- package/layouts/lib/admin/store/admin-layout.effects.d.ts +10 -0
- package/layouts/lib/admin/store/admin-layout.reducers.d.ts +24 -0
- package/layouts/lib/admin/store/admin-layout.selectors.d.ts +5 -0
- package/layouts/lib/admin/store/admin-layout.state.d.ts +14 -0
- package/layouts/lib/admin/store/index.d.ts +5 -0
- package/layouts/lib/layout.module.d.ts +9 -0
- package/layouts/lib/layout.routes.d.ts +2 -0
- package/layouts/lib/shared/components/content-view/content-view.page.d.ts +23 -0
- package/layouts/lib/shared/components/content-view/content-view.type.d.ts +16 -0
- package/layouts/lib/shared/components/error-401/error-401.component.d.ts +13 -0
- package/layouts/lib/shared/components/error-404/error-404.component.d.ts +8 -0
- package/layouts/lib/shared/components/error-offline/error-offline.component.d.ts +9 -0
- package/layouts/lib/shared/components/index.d.ts +8 -0
- package/layouts/lib/shared/components/logo/logo.component.d.ts +8 -0
- package/layouts/lib/shared/components/slots/footer-text-slot.component.d.ts +6 -0
- package/layouts/lib/shared/components/slots/navbar-slot.component.d.ts +10 -0
- package/layouts/lib/shared/components/slots/theme-slot.component.d.ts +8 -0
- package/layouts/lib/shared/entity/entity-registery.service.d.ts +34 -0
- package/layouts/lib/shared/entity/entity.class.d.ts +145 -0
- package/layouts/lib/shared/entity/entity.loader.d.ts +9 -0
- package/layouts/lib/shared/entity/index.d.ts +3 -0
- package/layouts/lib/shared/index.d.ts +4 -0
- package/layouts/lib/shared/services/index.d.ts +1 -0
- package/layouts/lib/shared/services/layout.service.d.ts +19 -0
- package/layouts/lib/shared/workflows/common.workflow.d.ts +52 -0
- package/layouts/lib/shared/workflows/error-handler.d.ts +8 -0
- package/layouts/lib/shared/workflows/index.d.ts +2 -0
- package/layouts/lib/widgets/avatar/avatar-widget-edit.component.d.ts +10 -0
- package/layouts/lib/widgets/avatar/avatar-widget-view.component.d.ts +8 -0
- package/layouts/lib/widgets/checkbox/checkbox-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.d.ts +6 -0
- package/layouts/lib/widgets/checkbox/checkbox-widget-view.component.d.ts +11 -0
- package/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +17 -0
- package/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.d.ts +11 -0
- package/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.d.ts +11 -0
- package/layouts/lib/widgets/common-widgets.module.d.ts +32 -0
- package/layouts/lib/widgets/dateTime/dateTime-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.d.ts +24 -0
- package/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.d.ts +16 -0
- package/layouts/lib/widgets/dateTime/dateTime-widget-view.component.d.ts +11 -0
- package/layouts/lib/widgets/email/email-widget-column.component.d.ts +16 -0
- package/layouts/lib/widgets/email/email-widget-edit.component.d.ts +28 -0
- package/layouts/lib/widgets/email/email-widget-view.component.d.ts +16 -0
- package/layouts/lib/widgets/file/file-widget-column.component.d.ts +8 -0
- package/layouts/lib/widgets/file/file-widget-edit.component.d.ts +17 -0
- package/layouts/lib/widgets/file/file-widget-filter.component.d.ts +6 -0
- package/layouts/lib/widgets/file/file-widget-view.component.d.ts +17 -0
- package/layouts/lib/widgets/gallery/gallery-widget-edit.component.d.ts +15 -0
- package/layouts/lib/widgets/gallery/gallery-widget-filter.component.d.ts +6 -0
- package/layouts/lib/widgets/gallery/gallery-widget-types.d.ts +10 -0
- package/layouts/lib/widgets/gallery/gallery-widget-view.component.d.ts +16 -0
- package/layouts/lib/widgets/index.d.ts +1 -0
- package/layouts/lib/widgets/lookup/lookup-widget-column.component.d.ts +16 -0
- package/layouts/lib/widgets/lookup/lookup-widget-edit.component.d.ts +15 -0
- package/layouts/lib/widgets/lookup/lookup-widget-filter.component.d.ts +16 -0
- package/layouts/lib/widgets/lookup/lookup-widget-view.component.d.ts +17 -0
- package/layouts/lib/widgets/map/map-widget-edit.component.d.ts +15 -0
- package/layouts/lib/widgets/map/map-widget-view.component.d.ts +17 -0
- package/layouts/lib/widgets/messenger/messenger-widget-column.component.d.ts +15 -0
- package/layouts/lib/widgets/messenger/messenger-widget-edit.component.d.ts +14 -0
- package/layouts/lib/widgets/messenger/messenger-widget-view.component.d.ts +17 -0
- package/layouts/lib/widgets/number/number-widget-edit.component.d.ts +7 -0
- package/layouts/lib/widgets/number/number-widget-view.component.d.ts +8 -0
- package/layouts/lib/widgets/password/change-password.component.d.ts +16 -0
- package/layouts/lib/widgets/password/password-widget-column.component.d.ts +14 -0
- package/layouts/lib/widgets/password/password-widget-edit.component.d.ts +6 -0
- package/layouts/lib/widgets/password/password-widget-view.component.d.ts +18 -0
- package/layouts/lib/widgets/phone/phone-widget-column.component.d.ts +15 -0
- package/layouts/lib/widgets/phone/phone-widget-edit.component.d.ts +29 -0
- package/layouts/lib/widgets/phone/phone-widget-view.component.d.ts +18 -0
- package/layouts/lib/widgets/rich-text/rich-text-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.d.ts +33 -0
- package/layouts/lib/widgets/rich-text/rich-text-widget-view.component.d.ts +10 -0
- package/layouts/lib/widgets/selection-list/selection-list-widget-column.component.d.ts +16 -0
- package/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.d.ts +10 -0
- package/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.d.ts +9 -0
- package/layouts/lib/widgets/selection-list/selection-list-widget-view.component.d.ts +15 -0
- package/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +19 -0
- package/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.d.ts +8 -0
- package/layouts/lib/widgets/text/largetext-widget-edit.component.d.ts +6 -0
- package/layouts/lib/widgets/text/text-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/text/text-widget-edit.component.d.ts +23 -0
- package/layouts/lib/widgets/text/text-widget-view.component.d.ts +11 -0
- package/layouts/lib/widgets/toggle/toggle-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/toggle/toggle-widget-edit.component.d.ts +6 -0
- package/layouts/lib/widgets/toggle/toggle-widget-view.component.d.ts +11 -0
- package/mocks/README.md +3 -0
- package/mocks/index.d.ts +3 -0
- package/mocks/lib/mocks.module.d.ts +7 -0
- package/mocks/lib/services/mocker.service.d.ts +29 -0
- package/mocks/lib/storage/storage.mock.service.d.ts +25 -0
- package/native/README.md +4 -0
- package/native/index.d.ts +2 -0
- package/native/lib/native.module.d.ts +6 -0
- package/native/lib/native.service.d.ts +26 -0
- package/package.json +67 -0
- package/schema/README.md +3 -0
- package/schema/index.d.ts +11 -0
- package/schema/lib/component-loader.d.ts +24 -0
- package/schema/lib/formats.d.ts +8 -0
- package/schema/lib/operators.d.ts +22 -0
- package/schema/lib/schema-registery.service.d.ts +20 -0
- package/schema/lib/schema.d.ts +21 -0
- package/schema/lib/schema.module.d.ts +12 -0
- package/schema/lib/widget/widget-base.d.ts +43 -0
- package/schema/lib/widget/widget-column-renderer.d.ts +27 -0
- package/schema/lib/widget/widget-filter-renderer.d.ts +30 -0
- package/schema/lib/widget/widget-renderer.d.ts +26 -0
- package/schema/lib/widget/widget-token.d.ts +15 -0
- package/workflow/README.md +4 -0
- package/workflow/index.d.ts +6 -0
- package/workflow/lib/errors.types.d.ts +4 -0
- package/workflow/lib/workflow-event-dispatcher.service.d.ts +10 -0
- package/workflow/lib/workflow-registery.service.d.ts +17 -0
- package/workflow/lib/workflow.module.d.ts +25 -0
- package/workflow/lib/workflow.service.d.ts +23 -0
- package/workflow/lib/workflow.types.d.ts +61 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { AXPWorkflowModule } from '@acorex/platform/workflow';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { RouteReuseStrategy } from '@angular/router';
|
|
4
|
+
import { EffectsModule } from '@ngrx/effects';
|
|
5
|
+
import { StoreModule } from '@ngrx/store';
|
|
6
|
+
import { AXPAdminRootLayoutModule } from './admin-root-layout';
|
|
7
|
+
import { AXPCustomReuseStrategy } from './custom-reuse.strategy';
|
|
8
|
+
import { AXPListViewModule } from './entity-layout';
|
|
9
|
+
import { AXPEntityEffects } from './entity-layout/store/entity.effects';
|
|
10
|
+
import { AXPCreateEntityWorkflow, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, } from './entity-layout/workflows/create-entity.workflow';
|
|
11
|
+
import { AXPDeleteEntityWorkflow, AXPEntityPerformDeleteAction, AXPMyCustomFunc, } from './entity-layout/workflows/delete-entity.workflow';
|
|
12
|
+
import { AXPEntityModifyConfirmedAction, AXPEntityModifyPopupAction, AXPModifyEntityWorkflow, } from './entity-layout/workflows/modify-entity.workflow';
|
|
13
|
+
import { AXPLayoutEffects, AXPLayoutFeature } from './store';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "@ngrx/store";
|
|
16
|
+
import * as i2 from "@ngrx/effects";
|
|
17
|
+
import * as i3 from "@acorex/platform/workflow";
|
|
18
|
+
export class AXPAdminLayoutModule {
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPAdminLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
20
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: AXPAdminLayoutModule, imports: [i1.StoreFeatureModule, i2.EffectsFeatureModule, AXPAdminRootLayoutModule,
|
|
21
|
+
AXPListViewModule, i3.AXPWorkflowModule] }); }
|
|
22
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPAdminLayoutModule, providers: [{ provide: RouteReuseStrategy, useClass: AXPCustomReuseStrategy }], imports: [StoreModule.forFeature(AXPLayoutFeature),
|
|
23
|
+
EffectsModule.forFeature([AXPLayoutEffects, AXPEntityEffects]),
|
|
24
|
+
AXPAdminRootLayoutModule,
|
|
25
|
+
AXPListViewModule,
|
|
26
|
+
AXPWorkflowModule.forChild({
|
|
27
|
+
actions: {
|
|
28
|
+
AXPEntityPerformDeleteAction,
|
|
29
|
+
AXPEntityModifyPopupAction,
|
|
30
|
+
AXPEntityModifyConfirmedAction,
|
|
31
|
+
AXPEntityCreatePopupAction,
|
|
32
|
+
AXPEntityCreateSubmittedAction,
|
|
33
|
+
},
|
|
34
|
+
workflows: {
|
|
35
|
+
'delete-entity': AXPDeleteEntityWorkflow,
|
|
36
|
+
'modify-entity': AXPModifyEntityWorkflow,
|
|
37
|
+
'create-entity': AXPCreateEntityWorkflow,
|
|
38
|
+
},
|
|
39
|
+
functions: {
|
|
40
|
+
test: AXPMyCustomFunc,
|
|
41
|
+
},
|
|
42
|
+
})] }); }
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPAdminLayoutModule, decorators: [{
|
|
45
|
+
type: NgModule,
|
|
46
|
+
args: [{
|
|
47
|
+
imports: [
|
|
48
|
+
StoreModule.forFeature(AXPLayoutFeature),
|
|
49
|
+
EffectsModule.forFeature([AXPLayoutEffects, AXPEntityEffects]),
|
|
50
|
+
AXPAdminRootLayoutModule,
|
|
51
|
+
AXPListViewModule,
|
|
52
|
+
AXPWorkflowModule.forChild({
|
|
53
|
+
actions: {
|
|
54
|
+
AXPEntityPerformDeleteAction,
|
|
55
|
+
AXPEntityModifyPopupAction,
|
|
56
|
+
AXPEntityModifyConfirmedAction,
|
|
57
|
+
AXPEntityCreatePopupAction,
|
|
58
|
+
AXPEntityCreateSubmittedAction,
|
|
59
|
+
},
|
|
60
|
+
workflows: {
|
|
61
|
+
'delete-entity': AXPDeleteEntityWorkflow,
|
|
62
|
+
'modify-entity': AXPModifyEntityWorkflow,
|
|
63
|
+
'create-entity': AXPCreateEntityWorkflow,
|
|
64
|
+
},
|
|
65
|
+
functions: {
|
|
66
|
+
test: AXPMyCustomFunc,
|
|
67
|
+
},
|
|
68
|
+
}),
|
|
69
|
+
],
|
|
70
|
+
exports: [],
|
|
71
|
+
declarations: [],
|
|
72
|
+
providers: [{ provide: RouteReuseStrategy, useClass: AXPCustomReuseStrategy }],
|
|
73
|
+
}]
|
|
74
|
+
}] });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vYWRtaW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQzFCLDhCQUE4QixHQUMvQixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsNEJBQTRCLEVBQzVCLGVBQWUsR0FDaEIsTUFBTSxrREFBa0QsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLDBCQUEwQixFQUMxQix1QkFBdUIsR0FDeEIsTUFBTSxrREFBa0QsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7O0FBOEI3RCxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQiw0REF4QjdCLHdCQUF3QjtZQUN4QixpQkFBaUI7K0dBdUJSLG9CQUFvQixhQUZwQixDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLFlBeEI1RSxXQUFXLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO1lBQ3hDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlELHdCQUF3QjtZQUN4QixpQkFBaUI7WUFDakIsaUJBQWlCLENBQUMsUUFBUSxDQUFDO2dCQUN6QixPQUFPLEVBQUU7b0JBQ1AsNEJBQTRCO29CQUM1QiwwQkFBMEI7b0JBQzFCLDhCQUE4QjtvQkFDOUIsMEJBQTBCO29CQUMxQiw4QkFBOEI7aUJBQy9CO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxlQUFlLEVBQUUsdUJBQXVCO29CQUN4QyxlQUFlLEVBQUUsdUJBQXVCO29CQUN4QyxlQUFlLEVBQUUsdUJBQXVCO2lCQUN6QztnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLGVBQWU7aUJBQ3RCO2FBQ0YsQ0FBQzs7MkZBTU8sb0JBQW9CO2tCQTVCaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDeEMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7d0JBQzlELHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3dCQUNqQixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3pCLE9BQU8sRUFBRTtnQ0FDUCw0QkFBNEI7Z0NBQzVCLDBCQUEwQjtnQ0FDMUIsOEJBQThCO2dDQUM5QiwwQkFBMEI7Z0NBQzFCLDhCQUE4Qjs2QkFDL0I7NEJBQ0QsU0FBUyxFQUFFO2dDQUNULGVBQWUsRUFBRSx1QkFBdUI7Z0NBQ3hDLGVBQWUsRUFBRSx1QkFBdUI7Z0NBQ3hDLGVBQWUsRUFBRSx1QkFBdUI7NkJBQ3pDOzRCQUNELFNBQVMsRUFBRTtnQ0FDVCxJQUFJLEVBQUUsZUFBZTs2QkFDdEI7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7aUJBQy9FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQV29ya2Zsb3dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZVJldXNlU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBWFBBZG1pblJvb3RMYXlvdXRNb2R1bGUgfSBmcm9tICcuL2FkbWluLXJvb3QtbGF5b3V0JztcbmltcG9ydCB7IEFYUEN1c3RvbVJldXNlU3RyYXRlZ3kgfSBmcm9tICcuL2N1c3RvbS1yZXVzZS5zdHJhdGVneSc7XG5pbXBvcnQgeyBBWFBMaXN0Vmlld01vZHVsZSB9IGZyb20gJy4vZW50aXR5LWxheW91dCc7XG5pbXBvcnQgeyBBWFBFbnRpdHlFZmZlY3RzIH0gZnJvbSAnLi9lbnRpdHktbGF5b3V0L3N0b3JlL2VudGl0eS5lZmZlY3RzJztcbmltcG9ydCB7XG4gIEFYUENyZWF0ZUVudGl0eVdvcmtmbG93LFxuICBBWFBFbnRpdHlDcmVhdGVQb3B1cEFjdGlvbixcbiAgQVhQRW50aXR5Q3JlYXRlU3VibWl0dGVkQWN0aW9uLFxufSBmcm9tICcuL2VudGl0eS1sYXlvdXQvd29ya2Zsb3dzL2NyZWF0ZS1lbnRpdHkud29ya2Zsb3cnO1xuaW1wb3J0IHtcbiAgQVhQRGVsZXRlRW50aXR5V29ya2Zsb3csXG4gIEFYUEVudGl0eVBlcmZvcm1EZWxldGVBY3Rpb24sXG4gIEFYUE15Q3VzdG9tRnVuYyxcbn0gZnJvbSAnLi9lbnRpdHktbGF5b3V0L3dvcmtmbG93cy9kZWxldGUtZW50aXR5LndvcmtmbG93JztcbmltcG9ydCB7XG4gIEFYUEVudGl0eU1vZGlmeUNvbmZpcm1lZEFjdGlvbixcbiAgQVhQRW50aXR5TW9kaWZ5UG9wdXBBY3Rpb24sXG4gIEFYUE1vZGlmeUVudGl0eVdvcmtmbG93LFxufSBmcm9tICcuL2VudGl0eS1sYXlvdXQvd29ya2Zsb3dzL21vZGlmeS1lbnRpdHkud29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQTGF5b3V0RWZmZWN0cywgQVhQTGF5b3V0RmVhdHVyZSB9IGZyb20gJy4vc3RvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShBWFBMYXlvdXRGZWF0dXJlKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW0FYUExheW91dEVmZmVjdHMsIEFYUEVudGl0eUVmZmVjdHNdKSxcbiAgICBBWFBBZG1pblJvb3RMYXlvdXRNb2R1bGUsXG4gICAgQVhQTGlzdFZpZXdNb2R1bGUsXG4gICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICBBWFBFbnRpdHlQZXJmb3JtRGVsZXRlQWN0aW9uLFxuICAgICAgICBBWFBFbnRpdHlNb2RpZnlQb3B1cEFjdGlvbixcbiAgICAgICAgQVhQRW50aXR5TW9kaWZ5Q29uZmlybWVkQWN0aW9uLFxuICAgICAgICBBWFBFbnRpdHlDcmVhdGVQb3B1cEFjdGlvbixcbiAgICAgICAgQVhQRW50aXR5Q3JlYXRlU3VibWl0dGVkQWN0aW9uLFxuICAgICAgfSxcbiAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAnZGVsZXRlLWVudGl0eSc6IEFYUERlbGV0ZUVudGl0eVdvcmtmbG93LFxuICAgICAgICAnbW9kaWZ5LWVudGl0eSc6IEFYUE1vZGlmeUVudGl0eVdvcmtmbG93LFxuICAgICAgICAnY3JlYXRlLWVudGl0eSc6IEFYUENyZWF0ZUVudGl0eVdvcmtmbG93LFxuICAgICAgfSxcbiAgICAgIGZ1bmN0aW9uczoge1xuICAgICAgICB0ZXN0OiBBWFBNeUN1c3RvbUZ1bmMsXG4gICAgICB9LFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSb3V0ZVJldXNlU3RyYXRlZ3ksIHVzZUNsYXNzOiBBWFBDdXN0b21SZXVzZVN0cmF0ZWd5IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBBZG1pbkxheW91dE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AXPEntityDetailsViewComponent, AXPEntityListViewComponent } from './entity-layout';
|
|
2
|
+
import { AXPEntityDetailViewLoaderResolver, AXPListViewLoaderResolver } from './entity.resolver';
|
|
3
|
+
import { AXPAuthGuard } from '@acorex/platform/auth';
|
|
4
|
+
export const AX_ADMIN_ROUTES = [
|
|
5
|
+
{
|
|
6
|
+
path: ':app',
|
|
7
|
+
canActivate: [AXPAuthGuard],
|
|
8
|
+
children: [
|
|
9
|
+
{
|
|
10
|
+
path: ':module',
|
|
11
|
+
children: [
|
|
12
|
+
{
|
|
13
|
+
path: 'e/:entity/:id/view/:section',
|
|
14
|
+
resolve: { loader: AXPEntityDetailViewLoaderResolver },
|
|
15
|
+
component: AXPEntityDetailsViewComponent,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
path: 'e/:entity/:id/view',
|
|
19
|
+
resolve: { loader: AXPEntityDetailViewLoaderResolver },
|
|
20
|
+
component: AXPEntityDetailsViewComponent,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
path: 'e/:entity',
|
|
24
|
+
redirectTo: ':entity/list',
|
|
25
|
+
pathMatch: 'full',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
path: 'e/:entity/list',
|
|
29
|
+
component: AXPEntityListViewComponent,
|
|
30
|
+
resolve: { loader: AXPListViewLoaderResolver },
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4ucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vYWRtaW4ucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVk7SUFDdEM7UUFDRSxJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxDQUFDLFlBQVksQ0FBQztRQUMzQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLDZCQUE2Qjt3QkFDbkMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLGlDQUFpQyxFQUFFO3dCQUN0RCxTQUFTLEVBQUUsNkJBQTZCO3FCQUN6QztvQkFDRDt3QkFDRSxJQUFJLEVBQUUsb0JBQW9CO3dCQUMxQixPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsaUNBQWlDLEVBQUU7d0JBQ3RELFNBQVMsRUFBRSw2QkFBNkI7cUJBQ3pDO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXO3dCQUNqQixVQUFVLEVBQUUsY0FBYzt3QkFDMUIsU0FBUyxFQUFFLE1BQU07cUJBQ2xCO29CQUNEO3dCQUNFLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLFNBQVMsRUFBRSwwQkFBMEI7d0JBQ3JDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsRUFBRTtxQkFDL0M7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQsIEFYUEVudGl0eUxpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktbGF5b3V0JztcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXJSZXNvbHZlciwgQVhQTGlzdFZpZXdMb2FkZXJSZXNvbHZlciB9IGZyb20gJy4vZW50aXR5LnJlc29sdmVyJztcbmltcG9ydCB7IEFYUEF1dGhHdWFyZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5cbmV4cG9ydCBjb25zdCBBWF9BRE1JTl9ST1VURVM6IFJvdXRlW10gPSBbXG4gIHtcbiAgICBwYXRoOiAnOmFwcCcsXG4gICAgY2FuQWN0aXZhdGU6IFtBWFBBdXRoR3VhcmRdLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICc6bW9kdWxlJyxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnZS86ZW50aXR5LzppZC92aWV3LzpzZWN0aW9uJyxcbiAgICAgICAgICAgIHJlc29sdmU6IHsgbG9hZGVyOiBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyUmVzb2x2ZXIgfSxcbiAgICAgICAgICAgIGNvbXBvbmVudDogQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnZS86ZW50aXR5LzppZC92aWV3JyxcbiAgICAgICAgICAgIHJlc29sdmU6IHsgbG9hZGVyOiBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyUmVzb2x2ZXIgfSxcbiAgICAgICAgICAgIGNvbXBvbmVudDogQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnZS86ZW50aXR5JyxcbiAgICAgICAgICAgIHJlZGlyZWN0VG86ICc6ZW50aXR5L2xpc3QnLFxuICAgICAgICAgICAgcGF0aE1hdGNoOiAnZnVsbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnZS86ZW50aXR5L2xpc3QnLFxuICAgICAgICAgICAgY29tcG9uZW50OiBBWFBFbnRpdHlMaXN0Vmlld0NvbXBvbmVudCxcbiAgICAgICAgICAgIHJlc29sdmU6IHsgbG9hZGVyOiBBWFBMaXN0Vmlld0xvYWRlclJlc29sdmVyIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AXPEntityDetailsViewComponent, AXPEntityListViewComponent } from './entity-layout';
|
|
2
|
+
export class AXPCustomReuseStrategy {
|
|
3
|
+
shouldDetach(route) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
store(route, detachedTree) { }
|
|
7
|
+
shouldAttach(route) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
retrieve(route) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
shouldReuseRoute(future, curr) {
|
|
14
|
+
if (future.component === AXPEntityListViewComponent || future.component === AXPEntityDetailsViewComponent) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return future.routeConfig === curr.routeConfig;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJldXNlLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vY3VzdG9tLXJldXNlLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzVGLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFBWSxDQUFDLEtBQTZCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBNkIsRUFBRSxZQUFpQyxJQUFVLENBQUM7SUFFakYsWUFBWSxDQUFDLEtBQTZCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBNkI7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQThCLEVBQUUsSUFBNEI7UUFDekUsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLDBCQUEwQixJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssNkJBQTZCLEVBQUUsQ0FBQztZQUN4RyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDbkQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVSZXVzZVN0cmF0ZWd5LCBEZXRhY2hlZFJvdXRlSGFuZGxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbHNWaWV3Q29tcG9uZW50LCBBWFBFbnRpdHlMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vZW50aXR5LWxheW91dCc7XG5cblxuZXhwb3J0IGNsYXNzIEFYUEN1c3RvbVJldXNlU3RyYXRlZ3kgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xuICAgIHNob3VsZERldGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgc3RvcmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGRldGFjaGVkVHJlZTogRGV0YWNoZWRSb3V0ZUhhbmRsZSk6IHZvaWQgeyB9XG5cbiAgICBzaG91bGRBdHRhY2gocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHJpZXZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogRGV0YWNoZWRSb3V0ZUhhbmRsZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBzaG91bGRSZXVzZVJvdXRlKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoZnV0dXJlLmNvbXBvbmVudCA9PT0gQVhQRW50aXR5TGlzdFZpZXdDb21wb25lbnQgfHwgZnV0dXJlLmNvbXBvbmVudCA9PT0gQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmdXR1cmUucm91dGVDb25maWcgPT09IGN1cnIucm91dGVDb25maWc7XG4gICAgfVxufVxuIl19
|
package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { AXButtonModule } from '@acorex/components/button';
|
|
2
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
3
|
+
import { AXDialogModule } from '@acorex/components/dialog';
|
|
4
|
+
import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
|
|
5
|
+
import { AXFormModule } from '@acorex/components/form';
|
|
6
|
+
import { AXLabelModule } from '@acorex/components/label';
|
|
7
|
+
import { AXLoadingModule } from '@acorex/components/loading';
|
|
8
|
+
import { AXBasePageComponent } from '@acorex/components/page';
|
|
9
|
+
import { AXTabsModule } from '@acorex/components/tabs';
|
|
10
|
+
import { AXTooltipModule } from '@acorex/components/tooltip';
|
|
11
|
+
import { AXPSchemaModule } from '@acorex/platform/schema';
|
|
12
|
+
import { CommonModule } from '@angular/common';
|
|
13
|
+
import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
|
|
14
|
+
import { FormsModule } from '@angular/forms';
|
|
15
|
+
import { AXValidationModule } from '@acorex/core/validation';
|
|
16
|
+
import { AXDropdownModule } from '@acorex/components/dropdown';
|
|
17
|
+
import { AXPStickyDirective } from '@acorex/platform/common';
|
|
18
|
+
import { AXPWorkflowService } from '@acorex/platform/workflow';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "@angular/common";
|
|
21
|
+
import * as i2 from "@acorex/components/form";
|
|
22
|
+
import * as i3 from "@acorex/components/decorators";
|
|
23
|
+
import * as i4 from "@acorex/components/button";
|
|
24
|
+
import * as i5 from "@acorex/components/loading";
|
|
25
|
+
import * as i6 from "@acorex/platform/schema";
|
|
26
|
+
import * as i7 from "@acorex/components/label";
|
|
27
|
+
import * as i8 from "@acorex/components/dropdown-button";
|
|
28
|
+
export class AXPEntityCreateViewComponent extends AXBasePageComponent {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
this.workflow = inject(AXPWorkflowService);
|
|
32
|
+
this.submitLoading = signal(false);
|
|
33
|
+
}
|
|
34
|
+
handleCloseClick() {
|
|
35
|
+
this.close();
|
|
36
|
+
}
|
|
37
|
+
async handleBackClick() {
|
|
38
|
+
await this.loader.back();
|
|
39
|
+
}
|
|
40
|
+
async handleNextClick(form) {
|
|
41
|
+
const formResult = await form.validate();
|
|
42
|
+
if (formResult.result) {
|
|
43
|
+
await this.loader.next();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async handleSaveClick(form) {
|
|
47
|
+
const formResult = await form.validate();
|
|
48
|
+
if (formResult.result) {
|
|
49
|
+
if (this.entity.commands?.create) {
|
|
50
|
+
this.submitLoading.set(true);
|
|
51
|
+
const record = await this.entity.commands.create(this.loader.data);
|
|
52
|
+
if (record) {
|
|
53
|
+
this.submitLoading.set(false);
|
|
54
|
+
this.close({ save: true, recordId: record.id, redirect: true });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async handleSaveAndNewClick(form) {
|
|
60
|
+
const formResult = await form.validate();
|
|
61
|
+
if (formResult.result) {
|
|
62
|
+
if (this.entity.commands?.create) {
|
|
63
|
+
this.submitLoading.set(true);
|
|
64
|
+
const record = await this.entity.commands.create(this.loader.data);
|
|
65
|
+
if (record) {
|
|
66
|
+
this.submitLoading.set(false);
|
|
67
|
+
this.close({ save: true, recordId: record.id, redirect: false });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
this.workflow.execute('create-entity', {
|
|
71
|
+
payload: {
|
|
72
|
+
module: this.loader.entity.module,
|
|
73
|
+
entity: this.loader.entity.name,
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AXPEntityCreateViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-min-h-[25vh]\">\n @if((loader.hasSections$ | async)) {\n <ol\n class=\"ax-flex ax-items-center ax-w-full ax-space-x-2 ax-text-sm ax-font-medium ax-text-center ax-text-gray-500 ax-bg-white dark:ax-text-gray-400 sm:ax-text-base ax-p-4 sm:ax-space-x-4 rtl:ax-space-x-reverse ax-sticky ax-top-0 ax-z-10\"\n [axpSticky]=\"'ax-bg-surface ax-drop-shadow-lg'\" [stickyParent]=\"'.ax-popup-body-container'\">\n @for(section of (loader.sections$ | async); track section.name;let index = $index;let last = $last;let count=\n $count) {\n <li class=\"ax-flex ax-items-center\">\n <span\n class=\"ax-flex ax-items-center ax-justify-center ax-w-5 ax-h-5 ax-me-2 ax-text-xs ax-text-white ax-bg-neutral-500 ax-rounded-full ax-shrink-0\"\n [class.!ax-bg-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-bg-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\">\n {{ index + 1 }}\n </span>\n <p class=\"ax-font-normal\" [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n [class.!ax-font-semibold]=\"(loader.section$ | async) == section\">\n {{ section.title }}\n </p>\n\n <i *ngIf=\"!last\" [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n class=\"ax-text-xs ax-text-neutral-500 fa-solid fa-chevrons-right ax-ms-2 sm:ax-ms-4 rtl:ax-rotate-180\"></i>\n </li>\n }\n </ol>\n }\n\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n @for(section of (loader.section$ | async)?.sections; track section.name;) {\n <div class=\"ax-flex ax-flex-col ax-pb-4\">\n @if(((loader.section$ | async)?.sections?.length ?? 0) > 1) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-2xl\">{{ section.title }}</span>\n @if(section.description) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description }}</p>\n }\n </div>\n }\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-py-2 first:ax-pt-0 last:ax-pb-0\">\n @for(name of section.properties; track name) {\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <!-- lg:ax-col-span-6 -->\n <!-- lg:ax-col-start-1 -->\n <ax-form-field class=\"ax-col-span-12 ax-col-start-1 lg:ax-col-span-{{\n prop.layout?.positions?.default?.span || 12\n }} lg:ax-col-start-{{ prop.layout?.positions?.default?.start || 1 }} ax-flex ax-flex-col\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"loader.isRequired(name)\">{{ prop.title\n }}</ax-label>\n <axp-widget-renderer [schema]=\"prop.schema\" [prop]=\"prop\" [mode]=\"'edit'\"\n [context]=\"loader.data\"></axp-widget-renderer>\n </ax-form-field>\n </ng-container>\n }\n </div>\n </div>\n }\n </ax-form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n @if((loader.hasSections$| async) && !(loader.isFirst$| async)) {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Back\" (onClick)=\"handleBackClick()\"> </ax-button>\n } @else {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Cancel\" (onClick)=\"handleCloseClick()\"> </ax-button>\n } @if((loader.isLast$ | async)) {\n <ax-dropdown-button [disabled]=\"submitLoading()\" color=\"primary\" text=\"Save\" look=\"solid\"\n (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"submitLoading()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item text=\"Save & Create New\" (onClick)=\"handleSaveAndNewClick(form)\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n\n } @else {\n <ax-button look=\"solid\" color=\"primary\" text=\"Continue\" (onClick)=\"handleNextClick(form)\"> </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field" }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXPSchemaModule }, { kind: "component", type: i6.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["context", "prop", "mode", "schema"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i7.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i8.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "directive", type:
|
|
80
|
+
//
|
|
81
|
+
AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{ imports: [
|
|
86
|
+
CommonModule,
|
|
87
|
+
FormsModule,
|
|
88
|
+
AXFormModule,
|
|
89
|
+
AXDecoratorModule,
|
|
90
|
+
CommonModule,
|
|
91
|
+
AXButtonModule,
|
|
92
|
+
AXDialogModule,
|
|
93
|
+
AXLoadingModule,
|
|
94
|
+
AXTabsModule,
|
|
95
|
+
AXPSchemaModule,
|
|
96
|
+
AXTooltipModule,
|
|
97
|
+
AXValidationModule,
|
|
98
|
+
AXLabelModule,
|
|
99
|
+
AXDropdownModule,
|
|
100
|
+
AXDropdownButtonModule,
|
|
101
|
+
//
|
|
102
|
+
AXPStickyDirective,
|
|
103
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-min-h-[25vh]\">\n @if((loader.hasSections$ | async)) {\n <ol\n class=\"ax-flex ax-items-center ax-w-full ax-space-x-2 ax-text-sm ax-font-medium ax-text-center ax-text-gray-500 ax-bg-white dark:ax-text-gray-400 sm:ax-text-base ax-p-4 sm:ax-space-x-4 rtl:ax-space-x-reverse ax-sticky ax-top-0 ax-z-10\"\n [axpSticky]=\"'ax-bg-surface ax-drop-shadow-lg'\" [stickyParent]=\"'.ax-popup-body-container'\">\n @for(section of (loader.sections$ | async); track section.name;let index = $index;let last = $last;let count=\n $count) {\n <li class=\"ax-flex ax-items-center\">\n <span\n class=\"ax-flex ax-items-center ax-justify-center ax-w-5 ax-h-5 ax-me-2 ax-text-xs ax-text-white ax-bg-neutral-500 ax-rounded-full ax-shrink-0\"\n [class.!ax-bg-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-bg-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\">\n {{ index + 1 }}\n </span>\n <p class=\"ax-font-normal\" [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n [class.!ax-font-semibold]=\"(loader.section$ | async) == section\">\n {{ section.title }}\n </p>\n\n <i *ngIf=\"!last\" [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n class=\"ax-text-xs ax-text-neutral-500 fa-solid fa-chevrons-right ax-ms-2 sm:ax-ms-4 rtl:ax-rotate-180\"></i>\n </li>\n }\n </ol>\n }\n\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n @for(section of (loader.section$ | async)?.sections; track section.name;) {\n <div class=\"ax-flex ax-flex-col ax-pb-4\">\n @if(((loader.section$ | async)?.sections?.length ?? 0) > 1) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-2xl\">{{ section.title }}</span>\n @if(section.description) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description }}</p>\n }\n </div>\n }\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-py-2 first:ax-pt-0 last:ax-pb-0\">\n @for(name of section.properties; track name) {\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <!-- lg:ax-col-span-6 -->\n <!-- lg:ax-col-start-1 -->\n <ax-form-field class=\"ax-col-span-12 ax-col-start-1 lg:ax-col-span-{{\n prop.layout?.positions?.default?.span || 12\n }} lg:ax-col-start-{{ prop.layout?.positions?.default?.start || 1 }} ax-flex ax-flex-col\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"loader.isRequired(name)\">{{ prop.title\n }}</ax-label>\n <axp-widget-renderer [schema]=\"prop.schema\" [prop]=\"prop\" [mode]=\"'edit'\"\n [context]=\"loader.data\"></axp-widget-renderer>\n </ax-form-field>\n </ng-container>\n }\n </div>\n </div>\n }\n </ax-form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n @if((loader.hasSections$| async) && !(loader.isFirst$| async)) {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Back\" (onClick)=\"handleBackClick()\"> </ax-button>\n } @else {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Cancel\" (onClick)=\"handleCloseClick()\"> </ax-button>\n } @if((loader.isLast$ | async)) {\n <ax-dropdown-button [disabled]=\"submitLoading()\" color=\"primary\" text=\"Save\" look=\"solid\"\n (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"submitLoading()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item text=\"Save & Create New\" (onClick)=\"handleSaveAndNewClick(form)\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n\n } @else {\n <ax-button look=\"solid\" color=\"primary\" text=\"Continue\" (onClick)=\"handleNextClick(form)\"> </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>" }]
|
|
104
|
+
}] });
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNyZWF0ZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWNyZWF0ZS12aWV3L2VudGl0eS1jcmVhdGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1jcmVhdGUtdmlldy9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8s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QVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRSxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtnQkFDckMsT0FBTyxFQUFFO29CQUNQLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNO29CQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSTtpQkFDaEM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0FyRFUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsK0ZDL0N6Qyw0aklBK0VNLDJDRHJERixZQUFZLHVMQUNaLFdBQVcsOEJBQ1gsWUFBWSxzUUFDWixpQkFBaUIsdVBBRWpCLGNBQWMsb3JCQUNkLGNBQWMsOEJBQ2QsZUFBZSw4S0FDZixZQUFZLDhCQUNaLGVBQWUsMEtBQ2YsZUFBZSw4QkFDZixrQkFBa0IsOEJBQ2xCLGFBQWEsZ0tBQ2IsZ0JBQWdCLDhCQUNoQixzQkFBc0I7Z0JBQ3RCLEVBQUU7Z0JBQ0Ysa0JBQWtCOzsyRkFLVCw0QkFBNEI7a0JBeEJ4QyxTQUFTOzhCQUVDO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLEVBQUU7d0JBQ0Ysa0JBQWtCO3FCQUNuQixjQUNXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWEZvcm1Db21wb25lbnQsIEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IEFYUFNjaGVtYU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vc2NoZW1hJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBXcml0YWJsZVNpZ25hbCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlciB9IGZyb20gJy4vZW50aXR5LWNyZWF0ZS12aWV3LmNvbmZpZyc7XG5cbmltcG9ydCB7IEFYVmFsaWRhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS92YWxpZGF0aW9uJztcblxuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWFBTdGlja3lEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEFYUEVudGl0eUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWNyZWF0ZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGlhbG9nTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhQU2NoZW1hTW9kdWxlLFxuICAgIEFYVG9vbHRpcE1vZHVsZSxcbiAgICBBWFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgQVhMYWJlbE1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgLy9cbiAgICBBWFBTdGlja3lEaXJlY3RpdmUsXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlDcmVhdGVWaWV3Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBsb2FkZXIhOiBBWFBFbnRpdHlDcmVhdGVWaWV3TG9hZGVyO1xuICBwcm90ZWN0ZWQgZW50aXR5ITogQVhQRW50aXR5Q29uZmlnO1xuICBwcm90ZWN0ZWQgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHN1Ym1pdExvYWRpbmc6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2VDbGljaygpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlQmFja0NsaWNrKCkge1xuICAgIGF3YWl0IHRoaXMubG9hZGVyLmJhY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVOZXh0Q2xpY2soZm9ybTogQVhGb3JtQ29tcG9uZW50KSB7XG4gICAgY29uc3QgZm9ybVJlc3VsdCA9IGF3YWl0IGZvcm0udmFsaWRhdGUoKTtcbiAgICBpZiAoZm9ybVJlc3VsdC5yZXN1bHQpIHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZGVyLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZUNsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICBpZiAodGhpcy5lbnRpdHkuY29tbWFuZHM/LmNyZWF0ZSkge1xuICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHsgc2F2ZTogdHJ1ZSwgcmVjb3JkSWQ6IHJlY29yZC5pZCwgcmVkaXJlY3Q6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZUFuZE5ld0NsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICBpZiAodGhpcy5lbnRpdHkuY29tbWFuZHM/LmNyZWF0ZSkge1xuICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHsgc2F2ZTogdHJ1ZSwgcmVjb3JkSWQ6IHJlY29yZC5pZCwgcmVkaXJlY3Q6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ2NyZWF0ZS1lbnRpdHknLCB7XG4gICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICBtb2R1bGU6IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUsXG4gICAgICAgICAgZW50aXR5OiB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LW1pbi1oLVsyNXZoXVwiPlxuICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyQgfCBhc3luYykpIHtcbiAgPG9sXG4gICAgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC13LWZ1bGwgYXgtc3BhY2UteC0yIGF4LXRleHQtc20gYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1jZW50ZXIgYXgtdGV4dC1ncmF5LTUwMCBheC1iZy13aGl0ZSBkYXJrOmF4LXRleHQtZ3JheS00MDAgc206YXgtdGV4dC1iYXNlIGF4LXAtNCBzbTpheC1zcGFjZS14LTQgcnRsOmF4LXNwYWNlLXgtcmV2ZXJzZSBheC1zdGlja3kgYXgtdG9wLTAgYXgtei0xMFwiXG4gICAgW2F4cFN0aWNreV09XCInYXgtYmctc3VyZmFjZSBheC1kcm9wLXNoYWRvdy1sZydcIiBbc3RpY2t5UGFyZW50XT1cIicuYXgtcG9wdXAtYm9keS1jb250YWluZXInXCI+XG4gICAgQGZvcihzZWN0aW9uIG9mIChsb2FkZXIuc2VjdGlvbnMkIHwgYXN5bmMpOyB0cmFjayBzZWN0aW9uLm5hbWU7bGV0IGluZGV4ID0gJGluZGV4O2xldCBsYXN0ID0gJGxhc3Q7bGV0IGNvdW50PVxuICAgICRjb3VudCkge1xuICAgIDxsaSBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXctNSBheC1oLTUgYXgtbWUtMiBheC10ZXh0LXhzIGF4LXRleHQtd2hpdGUgYXgtYmctbmV1dHJhbC01MDAgYXgtcm91bmRlZC1mdWxsIGF4LXNocmluay0wXCJcbiAgICAgICAgW2NsYXNzLiFheC1iZy1wcmltYXJ5LTUwMF09XCIobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpID09IHNlY3Rpb25cIlxuICAgICAgICBbY2xhc3MuIWF4LWJnLXN1Y2Nlc3MtNTAwXT1cImluZGV4IDwgKChsb2FkZXIuY3VycmVudEluZGV4JCB8IGFzeW5jKSB8fCAwKVwiPlxuICAgICAgICB7eyBpbmRleCArIDEgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWxcIiBbY2xhc3MuIWF4LXRleHQtcHJpbWFyeS01MDBdPVwiKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKSA9PSBzZWN0aW9uXCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXN1Y2Nlc3MtNTAwXT1cImluZGV4IDwgKChsb2FkZXIuY3VycmVudEluZGV4JCB8IGFzeW5jKSB8fCAwKVwiXG4gICAgICAgIFtjbGFzcy4hYXgtZm9udC1zZW1pYm9sZF09XCIobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpID09IHNlY3Rpb25cIj5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgICAgPC9wPlxuXG4gICAgICA8aSAqbmdJZj1cIiFsYXN0XCIgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBjbGFzcz1cImF4LXRleHQteHMgYXgtdGV4dC1uZXV0cmFsLTUwMCBmYS1zb2xpZCBmYS1jaGV2cm9ucy1yaWdodCBheC1tcy0yIHNtOmF4LW1zLTQgcnRsOmF4LXJvdGF0ZS0xODBcIj48L2k+XG4gICAgPC9saT5cbiAgICB9XG4gIDwvb2w+XG4gIH1cblxuICA8YXgtZm9ybSBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTYgYXgtcC00XCIgI2Zvcm0gW21lc3NhZ2VTdHlsZV09XCInYm90dG9tJ1wiIFt1cGRhdGVPbl09XCInYmx1cidcIj5cbiAgICBAZm9yKHNlY3Rpb24gb2YgKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKT8uc2VjdGlvbnM7IHRyYWNrIHNlY3Rpb24ubmFtZTspIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1wYi00XCI+XG4gICAgICBAaWYoKChsb2FkZXIuc2VjdGlvbiQgfCBhc3luYyk/LnNlY3Rpb25zPy5sZW5ndGggPz8gMCkgPiAxKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtcGItNFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtYm9sZCBheC10ZXh0LTJ4bFwiPnt7IHNlY3Rpb24udGl0bGUgfX08L3NwYW4+XG4gICAgICAgIEBpZihzZWN0aW9uLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC1zbSBheC10ZXh0LWdyYXktNTAwXCI+e3sgc2VjdGlvbi5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTQgYXgtcHktMiBmaXJzdDpheC1wdC0wIGxhc3Q6YXgtcGItMFwiPlxuICAgICAgICBAZm9yKG5hbWUgb2Ygc2VjdGlvbi5wcm9wZXJ0aWVzOyB0cmFjayBuYW1lKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkZXIuZ2V0UHJvcChuYW1lKSBhcyBwcm9wXCI+XG4gICAgICAgICAgPCEtLSBsZzpheC1jb2wtc3Bhbi02IC0tPlxuICAgICAgICAgIDwhLS0gbGc6YXgtY29sLXN0YXJ0LTEgLS0+XG4gICAgICAgICAgPGF4LWZvcm0tZmllbGQgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBheC1jb2wtc3RhcnQtMSBsZzpheC1jb2wtc3Bhbi17e1xuICAgICAgICAgICAgICBwcm9wLmxheW91dD8ucG9zaXRpb25zPy5kZWZhdWx0Py5zcGFuIHx8IDEyXG4gICAgICAgICAgICB9fSAgbGc6YXgtY29sLXN0YXJ0LXt7IHByb3AubGF5b3V0Py5wb3NpdGlvbnM/LmRlZmF1bHQ/LnN0YXJ0IHx8IDEgfX0gYXgtZmxleCBheC1mbGV4LWNvbFwiPlxuICAgICAgICAgICAgPGF4LWxhYmVsIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCIgW3JlcXVpcmVkXT1cImxvYWRlci5pc1JlcXVpcmVkKG5hbWUpXCI+e3sgcHJvcC50aXRsZVxuICAgICAgICAgICAgICB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICA8YXhwLXdpZGdldC1yZW5kZXJlciBbc2NoZW1hXT1cInByb3Auc2NoZW1hXCIgW3Byb3BdPVwicHJvcFwiIFttb2RlXT1cIidlZGl0J1wiXG4gICAgICAgICAgICAgIFtjb250ZXh0XT1cImxvYWRlci5kYXRhXCI+PC9heHAtd2lkZ2V0LXJlbmRlcmVyPlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9heC1mb3JtPlxuICA8YXgtZm9vdGVyPlxuICAgIDxheC1wcmVmaXg+IDwvYXgtcHJlZml4PlxuICAgIDxheC1zdWZmaXg+XG4gICAgICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyR8IGFzeW5jKSAmJiAhKGxvYWRlci5pc0ZpcnN0JHwgYXN5bmMpKSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiB0ZXh0PVwiQmFja1wiIChvbkNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiB0ZXh0PVwiQ2FuY2VsXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2VDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAaWYoKGxvYWRlci5pc0xhc3QkIHwgYXN5bmMpKSB7XG4gICAgICA8YXgtZHJvcGRvd24tYnV0dG9uIFtkaXNhYmxlZF09XCJzdWJtaXRMb2FkaW5nKClcIiBjb2xvcj1cInByaW1hcnlcIiB0ZXh0PVwiU2F2ZVwiIGxvb2s9XCJzb2xpZFwiXG4gICAgICAgIChvbkNsaWNrKT1cImhhbmRsZVNhdmVDbGljayhmb3JtKVwiPlxuICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cInN1Ym1pdExvYWRpbmcoKVwiPjwvYXgtbG9hZGluZz5cbiAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJTYXZlICYgQ3JlYXRlIE5ld1wiIChvbkNsaWNrKT1cImhhbmRsZVNhdmVBbmROZXdDbGljayhmb3JtKVwiPiA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICA8L2F4LWRyb3Bkb3duLWJ1dHRvbj5cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIHRleHQ9XCJDb250aW51ZVwiIChvbkNsaWNrKT1cImhhbmRsZU5leHRDbGljayhmb3JtKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2F4LXN1ZmZpeD5cbiAgPC9heC1mb290ZXI+XG48L2Rpdj4iXX0=
|
package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { AXFormatService } from '@acorex/core/format';
|
|
2
|
+
import { Injectable, inject } from '@angular/core';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import { cloneDeep } from 'lodash-es';
|
|
5
|
+
import { BehaviorSubject, defaultIfEmpty, map, of, switchMap } from 'rxjs';
|
|
6
|
+
import { AXPEntityRegistryService, AXPLayoutService, } from '../../../shared';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class AXPEntityCreateLoaderDefault {
|
|
9
|
+
constructor(config, store, formatService) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
this.store = store;
|
|
12
|
+
this.formatService = formatService;
|
|
13
|
+
this._data = {};
|
|
14
|
+
this._currentSection = 'default';
|
|
15
|
+
this._sections$ = new BehaviorSubject(this.sections);
|
|
16
|
+
//****************** Properties ******************//
|
|
17
|
+
this.getProp = (name) => this.entity.properties.find((c) => c.name == name);
|
|
18
|
+
this.isRequired = (name) => this.getProp(name)?.validationRules?.some(c => c.rule == 'required') || false;
|
|
19
|
+
this._currentSection = this.sections[0]?.name || 'default';
|
|
20
|
+
}
|
|
21
|
+
get entity() {
|
|
22
|
+
if (!this._config) {
|
|
23
|
+
this._config = cloneDeep(this.config);
|
|
24
|
+
}
|
|
25
|
+
return this._config;
|
|
26
|
+
}
|
|
27
|
+
get data() {
|
|
28
|
+
return this._data;
|
|
29
|
+
}
|
|
30
|
+
get view() {
|
|
31
|
+
return this.entity.views.createView;
|
|
32
|
+
}
|
|
33
|
+
//****************** Sections ******************//
|
|
34
|
+
get sections() {
|
|
35
|
+
return this.view.root.sections?.length
|
|
36
|
+
? this.view.root.sections
|
|
37
|
+
: [
|
|
38
|
+
{
|
|
39
|
+
name: 'default',
|
|
40
|
+
title: 'Default',
|
|
41
|
+
properties: this.view.root.properties,
|
|
42
|
+
},
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
get sections$() {
|
|
46
|
+
return this._sections$.pipe(defaultIfEmpty([]));
|
|
47
|
+
}
|
|
48
|
+
get section$() {
|
|
49
|
+
return this.sections$.pipe(switchMap((sections) => {
|
|
50
|
+
const section = sections.find((c) => c.name === this._currentSection) ?? this.sections[0];
|
|
51
|
+
if (!section.sections?.length) {
|
|
52
|
+
section.sections = [
|
|
53
|
+
{
|
|
54
|
+
name: 'default',
|
|
55
|
+
title: 'Details',
|
|
56
|
+
properties: section.properties,
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
}
|
|
60
|
+
return of(section);
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
get hasSections$() {
|
|
64
|
+
return this.sections$.pipe(map((c) => c.length > 1));
|
|
65
|
+
}
|
|
66
|
+
get isLast$() {
|
|
67
|
+
return this.sections$.pipe(map((c) => this.sections.length - this.sections.findIndex((c) => c.name == this._currentSection) == 1));
|
|
68
|
+
}
|
|
69
|
+
get isFirst$() {
|
|
70
|
+
return this.sections$.pipe(map((c) => this.sections.findIndex((c) => c.name == this._currentSection) == 0));
|
|
71
|
+
}
|
|
72
|
+
get currentIndex$() {
|
|
73
|
+
return this.sections$.pipe(map((c) => this.sections.findIndex((c) => c.name == this._currentSection)));
|
|
74
|
+
}
|
|
75
|
+
setSection(name) {
|
|
76
|
+
this._currentSection = name ?? 'default';
|
|
77
|
+
const updatedSection = this.sections.find((c) => c.name === this._currentSection) || {
|
|
78
|
+
name: 'default',
|
|
79
|
+
title: 'Default',
|
|
80
|
+
properties: this.view.root.properties,
|
|
81
|
+
};
|
|
82
|
+
const currentSections = this._sections$.value;
|
|
83
|
+
const updatedSections = currentSections.map((section) => {
|
|
84
|
+
if (section.name === updatedSection.name) {
|
|
85
|
+
return updatedSection;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
return section;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
this._sections$.next(updatedSections);
|
|
92
|
+
}
|
|
93
|
+
next() {
|
|
94
|
+
const nextIndex = this.sections.findIndex((c) => c.name == this._currentSection) + 1;
|
|
95
|
+
if (nextIndex >= this.sections.length) {
|
|
96
|
+
return Promise.resolve();
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.setSection(this.sections[nextIndex].name);
|
|
100
|
+
return Promise.resolve();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
back() {
|
|
104
|
+
const prevIndex = this.sections.findIndex((c) => c.name == this._currentSection) - 1;
|
|
105
|
+
if (prevIndex < 0) {
|
|
106
|
+
return Promise.resolve();
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.setSection(this.sections[prevIndex].name);
|
|
110
|
+
return Promise.resolve();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export class AXPEntityCreateViewLoaderFactory {
|
|
115
|
+
constructor() {
|
|
116
|
+
this.entityService = inject(AXPEntityRegistryService);
|
|
117
|
+
this.formatService = inject(AXFormatService);
|
|
118
|
+
this.layout = inject(AXPLayoutService);
|
|
119
|
+
this.store = inject(Store);
|
|
120
|
+
}
|
|
121
|
+
async create(moduleName, entityName) {
|
|
122
|
+
const config = await this.entityService.resolve(moduleName, entityName);
|
|
123
|
+
this.layout.setNavigationLoading(true);
|
|
124
|
+
if (config.dataSource.byKey) {
|
|
125
|
+
this.layout.setNavigationLoading(false);
|
|
126
|
+
return new AXPEntityCreateLoaderDefault(config, this.store, this.formatService);
|
|
127
|
+
}
|
|
128
|
+
return Promise.reject('cannot fetch ');
|
|
129
|
+
}
|
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewLoaderFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
131
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewLoaderFactory, providedIn: 'root' }); }
|
|
132
|
+
}
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewLoaderFactory, decorators: [{
|
|
134
|
+
type: Injectable,
|
|
135
|
+
args: [{ providedIn: 'root' }]
|
|
136
|
+
}] });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNyZWF0ZS12aWV3LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWNyZWF0ZS12aWV3L2VudGl0eS1jcmVhdGUtdmlldy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RixPQUFPLEVBR0wsd0JBQXdCLEVBR3hCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDOztBQW9CekIsTUFBTSxPQUFPLDRCQUE0QjtJQUt2QyxZQUFvQixNQUF1QixFQUFVLEtBQVksRUFBVSxhQUE4QjtRQUFyRixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFIakcsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUNoQixvQkFBZSxHQUFHLFNBQVMsQ0FBQztRQW1DNUIsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFvQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFnRjNGLG9EQUFvRDtRQUM3QyxZQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQWlDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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LENBQUMsQ0FBQztZQUMvQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztDQUtGO0FBR0QsTUFBTSxPQUFPLGdDQUFnQztJQUQ3QztRQUVVLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDakQsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FXL0I7SUFUUSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxPQUFPLElBQUksNEJBQTRCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0FkVSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxjQURuQixNQUFNOzsyRkFDbkIsZ0NBQWdDO2tCQUQ1QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRlZmF1bHRJZkVtcHR5LCBtYXAsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eUNvbmZpZyxcbiAgQVhQRW50aXR5UHJvcGVydHksXG4gIEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSxcbiAgQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZyxcbiAgQVhQRW50aXR5Vmlld0NvbmZpZyxcbiAgQVhQTGF5b3V0U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlDcmVhdGVWaWV3TG9hZGVyIHtcbiAgZ2V0IGVudGl0eSgpOiBBWFBFbnRpdHlDb25maWc7XG4gIGdldCBkYXRhKCk6IGFueTtcblxuICBnZXQgc2VjdGlvbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdPjtcbiAgZ2V0IGhhc1NlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBnZXQgaXNMYXN0JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBnZXQgaXNGaXJzdCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZ2V0IGN1cnJlbnRJbmRleCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBnZXQgc2VjdGlvbiQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnPjtcbiAgc2V0U2VjdGlvbihuYW1lOiBzdHJpbmcpOiB2b2lkO1xuICBuZXh0KCk6IFByb21pc2U8dm9pZD47XG4gIGJhY2soKTogUHJvbWlzZTx2b2lkPjtcblxuICBnZXRQcm9wKG5hbWU6IHN0cmluZyk6IEFYUEVudGl0eVByb3BlcnR5IHwgdW5kZWZpbmVkO1xuICBpc1JlcXVpcmVkKG5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlDcmVhdGVMb2FkZXJEZWZhdWx0IGltcGxlbWVudHMgQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlciB7XG4gIHByaXZhdGUgX2NvbmZpZyE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJpdmF0ZSBfZGF0YTogYW55ID0ge307XG4gIHByaXZhdGUgX2N1cnJlbnRTZWN0aW9uID0gJ2RlZmF1bHQnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHlDb25maWcsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIGZvcm1hdFNlcnZpY2U6IEFYRm9ybWF0U2VydmljZSkge1xuICAgIHRoaXMuX2N1cnJlbnRTZWN0aW9uID0gdGhpcy5zZWN0aW9uc1swXT8ubmFtZSB8fCAnZGVmYXVsdCc7XG4gIH1cblxuICBnZXQgZW50aXR5KCk6IEFYUEVudGl0eUNvbmZpZyB7XG4gICAgaWYgKCF0aGlzLl9jb25maWcpIHtcbiAgICAgIHRoaXMuX2NvbmZpZyA9IGNsb25lRGVlcCh0aGlzLmNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBnZXQgZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdmlldygpOiBBWFBFbnRpdHlWaWV3Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHkudmlld3MuY3JlYXRlVmlldyBhcyBBWFBFbnRpdHlWaWV3Q29uZmlnO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogU2VjdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cblxuICBwcml2YXRlIGdldCBzZWN0aW9ucygpOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLnZpZXcucm9vdC5zZWN0aW9ucz8ubGVuZ3RoXG4gICAgICA/IHRoaXMudmlldy5yb290LnNlY3Rpb25zXG4gICAgICA6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdkZWZhdWx0JyxcbiAgICAgICAgICB0aXRsZTogJ0RlZmF1bHQnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHRoaXMudmlldy5yb290LnByb3BlcnRpZXMsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2VjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnW10+KHRoaXMuc2VjdGlvbnMpO1xuXG4gIHB1YmxpYyBnZXQgc2VjdGlvbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlY3Rpb25zJC5waXBlKGRlZmF1bHRJZkVtcHR5KFtdKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlY3Rpb24kKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLnNlY3Rpb25zJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChzZWN0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBzZWN0aW9uID0gc2VjdGlvbnMuZmluZCgoYykgPT4gYy5uYW1lID09PSB0aGlzLl9jdXJyZW50U2VjdGlvbikgPz8gdGhpcy5zZWN0aW9uc1swXTtcbiAgICAgICAgaWYgKCFzZWN0aW9uLnNlY3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICBzZWN0aW9uLnNlY3Rpb25zID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgIHRpdGxlOiAnRGV0YWlscycsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IHNlY3Rpb24ucHJvcGVydGllcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2Yoc2VjdGlvbik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1NlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9ucyQucGlwZShtYXAoKGMpID0+IGMubGVuZ3RoID4gMSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0xhc3QkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNlY3Rpb25zJC5waXBlKFxuICAgICAgbWFwKChjKSA9PiB0aGlzLnNlY3Rpb25zLmxlbmd0aCAtIHRoaXMuc2VjdGlvbnMuZmluZEluZGV4KChjKSA9PiBjLm5hbWUgPT0gdGhpcy5fY3VycmVudFNlY3Rpb24pID09IDEpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNGaXJzdCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbnMkLnBpcGUobWFwKChjKSA9PiB0aGlzLnNlY3Rpb25zLmZpbmRJbmRleCgoYykgPT4gYy5uYW1lID09IHRoaXMuX2N1cnJlbnRTZWN0aW9uKSA9PSAwKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRJbmRleCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9ucyQucGlwZShtYXAoKGMpID0+IHRoaXMuc2VjdGlvbnMuZmluZEluZGV4KChjKSA9PiBjLm5hbWUgPT0gdGhpcy5fY3VycmVudFNlY3Rpb24pKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2VjdGlvbihuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jdXJyZW50U2VjdGlvbiA9IG5hbWUgPz8gJ2RlZmF1bHQnO1xuICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9uID0gdGhpcy5zZWN0aW9ucy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHRoaXMuX2N1cnJlbnRTZWN0aW9uKSB8fCB7XG4gICAgICBuYW1lOiAnZGVmYXVsdCcsXG4gICAgICB0aXRsZTogJ0RlZmF1bHQnLFxuICAgICAgcHJvcGVydGllczogdGhpcy52aWV3LnJvb3QucHJvcGVydGllcyxcbiAgICB9O1xuICAgIGNvbnN0IGN1cnJlbnRTZWN0aW9ucyA9IHRoaXMuX3NlY3Rpb25zJC52YWx1ZTtcbiAgICBjb25zdCB1cGRhdGVkU2VjdGlvbnMgPSBjdXJyZW50U2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PiB7XG4gICAgICBpZiAoc2VjdGlvbi5uYW1lID09PSB1cGRhdGVkU2VjdGlvbi5uYW1lKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVkU2VjdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzZWN0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX3NlY3Rpb25zJC5uZXh0KHVwZGF0ZWRTZWN0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSB0aGlzLnNlY3Rpb25zLmZpbmRJbmRleCgoYykgPT4gYy5uYW1lID09IHRoaXMuX2N1cnJlbnRTZWN0aW9uKSArIDE7XG4gICAgaWYgKG5leHRJbmRleCA+PSB0aGlzLnNlY3Rpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFNlY3Rpb24odGhpcy5zZWN0aW9uc1tuZXh0SW5kZXhdLm5hbWUpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBiYWNrKCkge1xuICAgIGNvbnN0IHByZXZJbmRleCA9IHRoaXMuc2VjdGlvbnMuZmluZEluZGV4KChjKSA9PiBjLm5hbWUgPT0gdGhpcy5fY3VycmVudFNlY3Rpb24pIC0gMTtcbiAgICBpZiAocHJldkluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFNlY3Rpb24odGhpcy5zZWN0aW9uc1twcmV2SW5kZXhdLm5hbWUpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFByb3BlcnRpZXMgKioqKioqKioqKioqKioqKioqLy9cbiAgcHVibGljIGdldFByb3AgPSAobmFtZTogc3RyaW5nKTogQVhQRW50aXR5UHJvcGVydHkgfCB1bmRlZmluZWQgPT4gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk7XG4gIHB1YmxpYyBpc1JlcXVpcmVkID0gKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4gPT4gdGhpcy5nZXRQcm9wKG5hbWUpPy52YWxpZGF0aW9uUnVsZXM/LnNvbWUoYyA9PiBjLnJ1bGUgPT0gJ3JlcXVpcmVkJykgfHwgZmFsc2U7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlckZhY3Rvcnkge1xuICBwcml2YXRlIGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG4gIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xuICBwcml2YXRlIHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlKG1vZHVsZU5hbWU6IHN0cmluZywgZW50aXR5TmFtZTogc3RyaW5nKTogUHJvbWlzZTxBWFBFbnRpdHlDcmVhdGVWaWV3TG9hZGVyPiB7XG4gICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lbnRpdHlTZXJ2aWNlLnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcodHJ1ZSk7XG4gICAgaWYgKGNvbmZpZy5kYXRhU291cmNlLmJ5S2V5KSB7XG4gICAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgICByZXR1cm4gbmV3IEFYUEVudGl0eUNyZWF0ZUxvYWRlckRlZmF1bHQoY29uZmlnLCB0aGlzLnN0b3JlLCB0aGlzLmZvcm1hdFNlcnZpY2UpO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ2Nhbm5vdCBmZXRjaCAnKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { AXFormatService } from '@acorex/core/format';
|
|
2
|
+
import { Injectable, inject } from '@angular/core';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import { assign, cloneDeep } from 'lodash-es';
|
|
5
|
+
import { BehaviorSubject, defaultIfEmpty, map, of, switchMap } from 'rxjs';
|
|
6
|
+
import { AXPEntityRegistryService, AXPLayoutService, } from '../../../shared';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class AXPEntityDetailLoaderDefault {
|
|
9
|
+
constructor(config, store, entityData, formatService) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
this.store = store;
|
|
12
|
+
this.entityData = entityData;
|
|
13
|
+
this.formatService = formatService;
|
|
14
|
+
this._currentSection = 'default';
|
|
15
|
+
this._sections$ = new BehaviorSubject(this.sections);
|
|
16
|
+
//****************** Properties ******************//
|
|
17
|
+
this.getProp = (name) => this.entity.properties.find((c) => c.name == name);
|
|
18
|
+
}
|
|
19
|
+
get entity() {
|
|
20
|
+
if (!this._config) {
|
|
21
|
+
this._config = cloneDeep(this.config);
|
|
22
|
+
}
|
|
23
|
+
return this._config;
|
|
24
|
+
}
|
|
25
|
+
get data() {
|
|
26
|
+
return this.entityData;
|
|
27
|
+
}
|
|
28
|
+
get view() {
|
|
29
|
+
return (this.entity.views.detailView ?? this.entity.views.quickView);
|
|
30
|
+
}
|
|
31
|
+
//****************** Titles ******************//
|
|
32
|
+
get title() {
|
|
33
|
+
const suggestedProps = this.entity.properties.find((c) => ['title', 'name', 'code'].includes(c.name));
|
|
34
|
+
let suggestedFormat = 'Item #{{id}}';
|
|
35
|
+
if (suggestedProps)
|
|
36
|
+
suggestedFormat = `{{${suggestedProps.name}}}`;
|
|
37
|
+
const title = this.formatService.format(this.entity.formats?.header ?? this.entity.formats?.default ?? suggestedFormat, 'string', this.data);
|
|
38
|
+
return title;
|
|
39
|
+
}
|
|
40
|
+
get sectionTitle() {
|
|
41
|
+
return `${this.entity.title}`;
|
|
42
|
+
}
|
|
43
|
+
//****************** Sections ******************//
|
|
44
|
+
get sections() {
|
|
45
|
+
return this.view.root.sections?.length
|
|
46
|
+
? this.view.root.sections
|
|
47
|
+
: [
|
|
48
|
+
{
|
|
49
|
+
name: 'default',
|
|
50
|
+
title: 'Default',
|
|
51
|
+
properties: this.view.root.properties,
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
get sections$() {
|
|
56
|
+
return this._sections$.pipe(defaultIfEmpty([]));
|
|
57
|
+
}
|
|
58
|
+
get section$() {
|
|
59
|
+
return this.sections$.pipe(switchMap((sections) => {
|
|
60
|
+
const section = sections.find((c) => c.name === this._currentSection) ?? this.sections[0];
|
|
61
|
+
if (!section.sections?.length) {
|
|
62
|
+
section.sections = [
|
|
63
|
+
{
|
|
64
|
+
name: 'default',
|
|
65
|
+
title: 'Details',
|
|
66
|
+
properties: section.properties,
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
return of(section);
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
get hasSections$() {
|
|
74
|
+
return this.sections$.pipe(map((c) => c.length > 1));
|
|
75
|
+
}
|
|
76
|
+
setSection(name) {
|
|
77
|
+
this._currentSection = name ?? 'default';
|
|
78
|
+
const updatedSection = this.sections.find((c) => c.name === this._currentSection) || {
|
|
79
|
+
name: 'default',
|
|
80
|
+
title: 'Default',
|
|
81
|
+
properties: this.view.root.properties,
|
|
82
|
+
};
|
|
83
|
+
const currentSections = this._sections$.value;
|
|
84
|
+
const updatedSections = currentSections.map((section) => {
|
|
85
|
+
if (section.name === updatedSection.name) {
|
|
86
|
+
return updatedSection;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return section;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
this._sections$.next(updatedSections);
|
|
93
|
+
}
|
|
94
|
+
//****************** Update ******************//
|
|
95
|
+
async update(values) {
|
|
96
|
+
assign(this.data, values);
|
|
97
|
+
this.setSection(this._currentSection);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export class AXPEntityDetailViewLoaderFactory {
|
|
101
|
+
constructor() {
|
|
102
|
+
this.entityService = inject(AXPEntityRegistryService);
|
|
103
|
+
this.formatService = inject(AXFormatService);
|
|
104
|
+
this.layout = inject(AXPLayoutService);
|
|
105
|
+
this.store = inject(Store);
|
|
106
|
+
}
|
|
107
|
+
async create(moduleName, entityName, id) {
|
|
108
|
+
const config = await this.entityService.resolve(moduleName, entityName);
|
|
109
|
+
this.layout.setNavigationLoading(true);
|
|
110
|
+
if (config.dataSource.byKey) {
|
|
111
|
+
const data = await config.dataSource.byKey(id);
|
|
112
|
+
this.layout.setNavigationLoading(false);
|
|
113
|
+
return new AXPEntityDetailLoaderDefault(config, this.store, data, this.formatService);
|
|
114
|
+
}
|
|
115
|
+
this.layout.setNavigationLoading(false);
|
|
116
|
+
return Promise.reject('cannot fetch ');
|
|
117
|
+
}
|
|
118
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityDetailViewLoaderFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
119
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityDetailViewLoaderFactory, providedIn: 'root' }); }
|
|
120
|
+
}
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityDetailViewLoaderFactory, decorators: [{
|
|
122
|
+
type: Injectable,
|
|
123
|
+
args: [{ providedIn: 'root' }]
|
|
124
|
+
}] });
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXZpZXcuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktZGV0YWlscy12aWV3L2RldGFpbC12aWV3LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RixPQUFPLEVBR0wsd0JBQXdCLEVBR3hCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDOztBQWlCekIsTUFBTSxPQUFPLDRCQUE0QjtJQUl2QyxZQUNVLE1BQXVCLEVBQ3ZCLEtBQVksRUFDWixVQUFlLEVBQ2YsYUFBOEI7UUFIOUIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFOaEMsb0JBQWUsR0FBRyxTQUFTLENBQUM7UUF1RDVCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBb0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBOEMzRixvREFBb0Q7UUFDN0MsWUFBTyxHQUFHLENBQUMsSUFBWSxFQUFpQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFD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QztrQkFENUMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBhc3NpZ24sIGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRlZmF1bHRJZkVtcHR5LCBtYXAsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eUNvbmZpZyxcbiAgQVhQRW50aXR5UHJvcGVydHksXG4gIEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSxcbiAgQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZyxcbiAgQVhQRW50aXR5Vmlld0NvbmZpZyxcbiAgQVhQTGF5b3V0U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyIHtcbiAgZ2V0IGVudGl0eSgpOiBBWFBFbnRpdHlDb25maWc7XG4gIGdldCBkYXRhKCk6IGFueTtcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZztcblxuICBnZXQgc2VjdGlvblRpdGxlKCk6IHN0cmluZztcbiAgZ2V0IHNlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWdbXT47XG4gIGdldCBoYXNTZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZ2V0IHNlY3Rpb24kKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZz47XG4gIHNldFNlY3Rpb24obmFtZTogc3RyaW5nKTogdm9pZDtcblxuICBnZXRQcm9wKG5hbWU6IHN0cmluZyk6IEFYUEVudGl0eVByb3BlcnR5IHwgdW5kZWZpbmVkO1xuICB1cGRhdGUodmFsdWVzOiBhbnkpOiBQcm9taXNlPGFueT47XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEZXRhaWxMb2FkZXJEZWZhdWx0IGltcGxlbWVudHMgQVhQRW50aXR5RGV0YWlsVmlld0xvYWRlciB7XG4gIHByaXZhdGUgX2NvbmZpZyE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJpdmF0ZSBfY3VycmVudFNlY3Rpb24gPSAnZGVmYXVsdCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWc6IEFYUEVudGl0eUNvbmZpZyxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGVudGl0eURhdGE6IGFueSxcbiAgICBwcml2YXRlIGZvcm1hdFNlcnZpY2U6IEFYRm9ybWF0U2VydmljZVxuICApIHt9XG5cbiAgZ2V0IGVudGl0eSgpOiBBWFBFbnRpdHlDb25maWcge1xuICAgIGlmICghdGhpcy5fY29uZmlnKSB7XG4gICAgICB0aGlzLl9jb25maWcgPSBjbG9uZURlZXAodGhpcy5jb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgZ2V0IGRhdGEoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHlEYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdmlldygpOiBBWFBFbnRpdHlWaWV3Q29uZmlnIHtcbiAgICByZXR1cm4gKHRoaXMuZW50aXR5LnZpZXdzLmRldGFpbFZpZXcgPz8gdGhpcy5lbnRpdHkudmlld3MucXVpY2tWaWV3KSBhcyBBWFBFbnRpdHlWaWV3Q29uZmlnO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogVGl0bGVzICoqKioqKioqKioqKioqKioqKi8vXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN1Z2dlc3RlZFByb3BzID0gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maW5kKChjKSA9PiBbJ3RpdGxlJywgJ25hbWUnLCAnY29kZSddLmluY2x1ZGVzKGMubmFtZSkpO1xuICAgIGxldCBzdWdnZXN0ZWRGb3JtYXQgPSAnSXRlbSAje3tpZH19JztcbiAgICBpZiAoc3VnZ2VzdGVkUHJvcHMpIHN1Z2dlc3RlZEZvcm1hdCA9IGB7eyR7c3VnZ2VzdGVkUHJvcHMubmFtZX19fWA7XG4gICAgY29uc3QgdGl0bGUgPSB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KFxuICAgICAgdGhpcy5lbnRpdHkuZm9ybWF0cz8uaGVhZGVyID8/IHRoaXMuZW50aXR5LmZvcm1hdHM/LmRlZmF1bHQgPz8gc3VnZ2VzdGVkRm9ybWF0LFxuICAgICAgJ3N0cmluZycsXG4gICAgICB0aGlzLmRhdGFcbiAgICApO1xuICAgIHJldHVybiB0aXRsZTtcbiAgfVxuXG4gIGdldCBzZWN0aW9uVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5lbnRpdHkudGl0bGV9YDtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFNlY3Rpb25zICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgcHJpdmF0ZSBnZXQgc2VjdGlvbnMoKTogQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy52aWV3LnJvb3Quc2VjdGlvbnM/Lmxlbmd0aFxuICAgICAgPyB0aGlzLnZpZXcucm9vdC5zZWN0aW9uc1xuICAgICAgOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgdGl0bGU6ICdEZWZhdWx0JyxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHRoaXMudmlldy5yb290LnByb3BlcnRpZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlY3Rpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdPih0aGlzLnNlY3Rpb25zKTtcblxuICBwdWJsaWMgZ2V0IHNlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWN0aW9ucyQucGlwZShkZWZhdWx0SWZFbXB0eShbXSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWN0aW9uJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9ucyQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoc2VjdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbiA9IHNlY3Rpb25zLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdGhpcy5fY3VycmVudFNlY3Rpb24pID8/IHRoaXMuc2VjdGlvbnNbMF07XG4gICAgICAgIGlmICghc2VjdGlvbi5zZWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgc2VjdGlvbi5zZWN0aW9ucyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICB0aXRsZTogJ0RldGFpbHMnLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBzZWN0aW9uLnByb3BlcnRpZXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHNlY3Rpb24pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNTZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbnMkLnBpcGUobWFwKChjKSA9PiBjLmxlbmd0aCA+IDEpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWN0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuX2N1cnJlbnRTZWN0aW9uID0gbmFtZSA/PyAnZGVmYXVsdCc7XG4gICAgY29uc3QgdXBkYXRlZFNlY3Rpb24gPSB0aGlzLnNlY3Rpb25zLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdGhpcy5fY3VycmVudFNlY3Rpb24pIHx8IHtcbiAgICAgIG5hbWU6ICdkZWZhdWx0JyxcbiAgICAgIHRpdGxlOiAnRGVmYXVsdCcsXG4gICAgICBwcm9wZXJ0aWVzOiB0aGlzLnZpZXcucm9vdC5wcm9wZXJ0aWVzLFxuICAgIH07XG4gICAgY29uc3QgY3VycmVudFNlY3Rpb25zID0gdGhpcy5fc2VjdGlvbnMkLnZhbHVlO1xuICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9ucyA9IGN1cnJlbnRTZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+IHtcbiAgICAgIGlmIChzZWN0aW9uLm5hbWUgPT09IHVwZGF0ZWRTZWN0aW9uLm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRTZWN0aW9uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNlY3Rpb247XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5fc2VjdGlvbnMkLm5leHQodXBkYXRlZFNlY3Rpb25zKTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFByb3BlcnRpZXMgKioqKioqKioqKioqKioqKioqLy9cbiAgcHVibGljIGdldFByb3AgPSAobmFtZTogc3RyaW5nKTogQVhQRW50aXR5UHJvcGVydHkgfCB1bmRlZmluZWQgPT4gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk7XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogVXBkYXRlICoqKioqKioqKioqKioqKioqKi8vXG4gIHB1YmxpYyBhc3luYyB1cGRhdGUodmFsdWVzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGFzc2lnbih0aGlzLmRhdGEsIHZhbHVlcyk7XG4gICAgdGhpcy5zZXRTZWN0aW9uKHRoaXMuX2N1cnJlbnRTZWN0aW9uKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXJGYWN0b3J5IHtcbiAgcHJpdmF0ZSBlbnRpdHlTZXJ2aWNlID0gaW5qZWN0KEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgZm9ybWF0U2VydmljZSA9IGluamVjdChBWEZvcm1hdFNlcnZpY2UpO1xuICBwcml2YXRlIGxheW91dCA9IGluamVjdChBWFBMYXlvdXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZSk7XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5RGV0YWlsVmlld0xvYWRlcj4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuZW50aXR5U2VydmljZS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKHRydWUpO1xuICAgIGlmIChjb25maWcuZGF0YVNvdXJjZS5ieUtleSkge1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGNvbmZpZy5kYXRhU291cmNlLmJ5S2V5KGlkKTtcbiAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5RGV0YWlsTG9hZGVyRGVmYXVsdChjb25maWcsIHRoaXMuc3RvcmUsIGRhdGEsIHRoaXMuZm9ybWF0U2VydmljZSk7XG4gICAgfVxuICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ2Nhbm5vdCBmZXRjaCAnKTtcbiAgfVxufVxuIl19
|