@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,39 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class AXPWorkflowRegistryService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.functionsMap = new Map();
|
|
6
|
+
this.actionsMap = new Map();
|
|
7
|
+
this.workflowsMap = new Map();
|
|
8
|
+
}
|
|
9
|
+
registerWorkflow(name, workflow) {
|
|
10
|
+
this.workflowsMap.set(name, workflow);
|
|
11
|
+
}
|
|
12
|
+
getWorkflow(name) {
|
|
13
|
+
return this.workflowsMap.get(name);
|
|
14
|
+
}
|
|
15
|
+
registerAction(name, action) {
|
|
16
|
+
this.actionsMap.set(name, action);
|
|
17
|
+
}
|
|
18
|
+
getAction(name) {
|
|
19
|
+
return this.actionsMap.get(name);
|
|
20
|
+
}
|
|
21
|
+
registerFunction(name, func) {
|
|
22
|
+
this.functionsMap.set(name, func);
|
|
23
|
+
}
|
|
24
|
+
getFunction(name) {
|
|
25
|
+
return this.functionsMap.get(name);
|
|
26
|
+
}
|
|
27
|
+
getFunctionNames() {
|
|
28
|
+
return Array.from(this.functionsMap.keys());
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
31
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowRegistryService, providedIn: 'root' }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowRegistryService, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: 'root'
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQzs7QUFTakQsTUFBTSxPQUFPLDBCQUEwQjtJQUh2QztRQUlZLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFDNUQsZUFBVSxHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1FBQ3hELGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7S0E2QnpEO0lBM0JHLGdCQUFnQixDQUFDLElBQVksRUFBRSxRQUFxQjtRQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsTUFBK0I7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsSUFBK0I7UUFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OEdBL0JRLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07OzJGQUVULDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93RnVuY3Rpb24gfSBmcm9tICcuL3dvcmtmbG93LnR5cGVzJztcblxuXG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSB7XG4gICAgcHJpdmF0ZSBmdW5jdGlvbnNNYXAgPSBuZXcgTWFwPHN0cmluZywgVHlwZTxBWFBXb3JrZmxvd0Z1bmN0aW9uPj4oKTtcbiAgICBwcml2YXRlIGFjdGlvbnNNYXAgPSBuZXcgTWFwPHN0cmluZywgVHlwZTxBWFBXb3JrZmxvd0FjdGlvbj4+KCk7XG4gICAgcHJpdmF0ZSB3b3JrZmxvd3NNYXAgPSBuZXcgTWFwPHN0cmluZywgQVhQV29ya2Zsb3c+KCk7XG5cbiAgICByZWdpc3RlcldvcmtmbG93KG5hbWU6IHN0cmluZywgd29ya2Zsb3c6IEFYUFdvcmtmbG93KTogdm9pZCB7XG4gICAgICAgIHRoaXMud29ya2Zsb3dzTWFwLnNldChuYW1lLCB3b3JrZmxvdyk7XG4gICAgfVxuXG4gICAgZ2V0V29ya2Zsb3cobmFtZTogc3RyaW5nKTogQVhQV29ya2Zsb3cgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy53b3JrZmxvd3NNYXAuZ2V0KG5hbWUpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyQWN0aW9uKG5hbWU6IHN0cmluZywgYWN0aW9uOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPik6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGlvbnNNYXAuc2V0KG5hbWUsIGFjdGlvbik7XG4gICAgfVxuXG4gICAgZ2V0QWN0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGU8QVhQV29ya2Zsb3dBY3Rpb24+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9uc01hcC5nZXQobmFtZSk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJGdW5jdGlvbihuYW1lOiBzdHJpbmcsIGZ1bmM6IFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mdW5jdGlvbnNNYXAuc2V0KG5hbWUsIGZ1bmMpO1xuICAgIH1cblxuICAgIGdldEZ1bmN0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5mdW5jdGlvbnNNYXAuZ2V0KG5hbWUpO1xuICAgIH1cblxuICAgIGdldEZ1bmN0aW9uTmFtZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZ1bmN0aW9uc01hcC5rZXlzKCkpO1xuICAgIH1cbn0iXX0=
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Inject, NgModule, Optional } from "@angular/core";
|
|
2
|
+
import { AXPWorkflowRegistryService } from "./workflow-registery.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AXPWorkflowModule {
|
|
5
|
+
static forRoot(config) {
|
|
6
|
+
return {
|
|
7
|
+
ngModule: AXPWorkflowModule,
|
|
8
|
+
providers: [
|
|
9
|
+
{
|
|
10
|
+
provide: 'AXPWorkflowModuleFactory',
|
|
11
|
+
useFactory: (registry) => () => {
|
|
12
|
+
if (config?.functions) {
|
|
13
|
+
for (const [key, type] of Object.entries(config.functions)) {
|
|
14
|
+
registry.registerFunction(key, type);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//
|
|
18
|
+
if (config?.actions) {
|
|
19
|
+
for (const [key, type] of Object.entries(config.actions)) {
|
|
20
|
+
registry.registerAction(key, type);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//
|
|
24
|
+
if (config?.workflows) {
|
|
25
|
+
for (const [key, type] of Object.entries(config.workflows)) {
|
|
26
|
+
registry.registerWorkflow(key, type);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
deps: [AXPWorkflowRegistryService],
|
|
31
|
+
multi: true
|
|
32
|
+
},
|
|
33
|
+
...Object.values(config?.actions ?? {}),
|
|
34
|
+
...Object.values(config?.functions ?? {}),
|
|
35
|
+
]
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
static forChild(config) {
|
|
39
|
+
return {
|
|
40
|
+
ngModule: AXPWorkflowModule,
|
|
41
|
+
providers: [
|
|
42
|
+
{
|
|
43
|
+
provide: 'AXPWorkflowModuleFactory',
|
|
44
|
+
useFactory: (registry) => () => {
|
|
45
|
+
if (config?.functions) {
|
|
46
|
+
for (const [key, type] of Object.entries(config.functions)) {
|
|
47
|
+
registry.registerFunction(key, type);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//
|
|
51
|
+
if (config?.actions) {
|
|
52
|
+
for (const [key, type] of Object.entries(config.actions)) {
|
|
53
|
+
registry.registerAction(key, type);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//
|
|
57
|
+
if (config?.workflows) {
|
|
58
|
+
for (const [key, type] of Object.entries(config.workflows)) {
|
|
59
|
+
registry.registerWorkflow(key, type);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
deps: [AXPWorkflowRegistryService],
|
|
64
|
+
multi: true
|
|
65
|
+
},
|
|
66
|
+
...Object.values(config?.actions ?? {}),
|
|
67
|
+
...Object.values(config?.functions ?? {})
|
|
68
|
+
]
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @ignore
|
|
73
|
+
*/
|
|
74
|
+
constructor(instances) {
|
|
75
|
+
instances?.forEach(f => {
|
|
76
|
+
f();
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowModule, deps: [{ token: 'AXPWorkflowModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
80
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowModule }); }
|
|
81
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowModule }); }
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowModule, decorators: [{
|
|
84
|
+
type: NgModule,
|
|
85
|
+
args: [{
|
|
86
|
+
imports: [],
|
|
87
|
+
exports: [],
|
|
88
|
+
declarations: [],
|
|
89
|
+
}]
|
|
90
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
91
|
+
type: Optional
|
|
92
|
+
}, {
|
|
93
|
+
type: Inject,
|
|
94
|
+
args: ['AXPWorkflowModuleFactory']
|
|
95
|
+
}] }] });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQXFCMUUsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWlDO1FBQzVDLE9BQU87WUFDSCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxVQUFVLEVBQUUsQ0FBQyxRQUFvQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7d0JBQ3ZELElBQUksTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDOzRCQUNwQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQ0FDekQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs0QkFDekMsQ0FBQzt3QkFDTCxDQUFDO3dCQUNELEVBQUU7d0JBQ0YsSUFBSSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7NEJBQ2xCLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dDQUN2RCxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs0QkFDdkMsQ0FBQzt3QkFDTCxDQUFDO3dCQUNELEVBQUU7d0JB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ImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIi4vd29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2VcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dGdW5jdGlvbiB9IGZyb20gXCIuL3dvcmtmbG93LnR5cGVzXCI7XG5cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd01vZHVsZUNvbmZpZ3Mge1xuICAgIGZ1bmN0aW9ucz86IHtcbiAgICAgICAgW25hbWU6IHN0cmluZ106IFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj5cbiAgICB9LFxuICAgIGFjdGlvbnM/OiB7XG4gICAgICAgIFtuYW1lOiBzdHJpbmddOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPlxuICAgIH0sXG4gICAgd29ya2Zsb3dzPzoge1xuICAgICAgICBbbmFtZTogc3RyaW5nXTogQVhQV29ya2Zsb3dcbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW10sXG4gICAgZXhwb3J0czogW10sXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dNb2R1bGUge1xuXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBWFBXb3JrZmxvd01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEFYUFdvcmtmbG93TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiAnQVhQV29ya2Zsb3dNb2R1bGVGYWN0b3J5JyxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKHJlZ2lzdHJ5OiBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZz8uZnVuY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcuZnVuY3Rpb25zKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckZ1bmN0aW9uKGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWc/LmFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy5hY3Rpb25zKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbihrZXksIHR5cGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnPy53b3JrZmxvd3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy53b3JrZmxvd3MpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyV29ya2Zsb3coa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbmZpZz8uYWN0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhjb25maWc/LmZ1bmN0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGZvckNoaWxkKGNvbmZpZz86IEFYUFdvcmtmbG93TW9kdWxlQ29uZmlncyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhQV29ya2Zsb3dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBWFBXb3JrZmxvd01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChyZWdpc3RyeTogQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWc/LmZ1bmN0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmZ1bmN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJGdW5jdGlvbihrZXksIHR5cGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnPy5hY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcuYWN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJBY3Rpb24oa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZz8ud29ya2Zsb3dzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcud29ya2Zsb3dzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlcldvcmtmbG93KGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhjb25maWc/LmFjdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5mdW5jdGlvbnMgPz8ge30pXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScpIGluc3RhbmNlczogYW55W10pIHtcbiAgICAgICAgaW5zdGFuY2VzPy5mb3JFYWNoKGYgPT4ge1xuICAgICAgICAgICAgZigpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Injectable, Injector, inject } from '@angular/core';
|
|
2
|
+
import { AXPWorkflowError } from './errors.types';
|
|
3
|
+
import { AXPWorkflowEventService } from './workflow-event-dispatcher.service';
|
|
4
|
+
import { AXPWorkflowRegistryService } from './workflow-registery.service';
|
|
5
|
+
import { AXPWorkflowContext, } from './workflow.types';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./workflow-registery.service";
|
|
8
|
+
export class AXPWorkflowService {
|
|
9
|
+
get events$() {
|
|
10
|
+
return this.eventService.events$;
|
|
11
|
+
}
|
|
12
|
+
constructor(registryService, injector) {
|
|
13
|
+
this.registryService = registryService;
|
|
14
|
+
this.injector = injector;
|
|
15
|
+
this.eventService = inject(AXPWorkflowEventService);
|
|
16
|
+
}
|
|
17
|
+
async execute(workflow, initialContext = {}) {
|
|
18
|
+
// Instantiate or retrieve the workflow
|
|
19
|
+
const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;
|
|
20
|
+
let currentStepId = wk.startStepId;
|
|
21
|
+
const context = new AXPWorkflowContext();
|
|
22
|
+
// Initialize context with initial variables
|
|
23
|
+
Object.entries(initialContext).forEach(e => context.setVariable(e[0], e[1]));
|
|
24
|
+
while (currentStepId) {
|
|
25
|
+
const currentStep = wk.steps[currentStepId];
|
|
26
|
+
if (!currentStep) {
|
|
27
|
+
throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);
|
|
28
|
+
}
|
|
29
|
+
// Instantiate or retrieve the action
|
|
30
|
+
const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;
|
|
31
|
+
if (currentStep.input) {
|
|
32
|
+
Object.assign(action, currentStep.input);
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
await action.execute(context);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
throw new AXPWorkflowError('Workflow Error', error);
|
|
39
|
+
}
|
|
40
|
+
// Determine the next step based on the conditions
|
|
41
|
+
const nextStepInfo = await this.determineNextStep(currentStep, context);
|
|
42
|
+
if (nextStepInfo) {
|
|
43
|
+
currentStepId = nextStepInfo.nextStepId;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
break; // Exit the loop if no next step is determined
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
getActionInstance(actionName) {
|
|
51
|
+
const actionType = this.registryService.getAction(actionName);
|
|
52
|
+
if (!actionType) {
|
|
53
|
+
throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);
|
|
54
|
+
}
|
|
55
|
+
return this.injector.get(actionType);
|
|
56
|
+
}
|
|
57
|
+
getWorkflowInstance(workflowName) {
|
|
58
|
+
const workflowType = this.registryService.getWorkflow(workflowName);
|
|
59
|
+
if (!workflowType) {
|
|
60
|
+
throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);
|
|
61
|
+
}
|
|
62
|
+
return workflowType;
|
|
63
|
+
}
|
|
64
|
+
async determineNextStep(currentStep, context) {
|
|
65
|
+
if (!currentStep.nextSteps) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
for (const nextStep of currentStep.nextSteps) {
|
|
69
|
+
if (await this.evaluateCondition(nextStep.conditions, context)) {
|
|
70
|
+
return nextStep;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
async evaluateCondition(conditions, context) {
|
|
76
|
+
if (!conditions || conditions.length === 0) {
|
|
77
|
+
return true; // If no conditions, the step proceeds
|
|
78
|
+
}
|
|
79
|
+
// Map each condition to a promise using evaluateSingleCondition
|
|
80
|
+
const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));
|
|
81
|
+
// Wait for all promises to resolve
|
|
82
|
+
const results = await Promise.all(conditionPromises);
|
|
83
|
+
// Check if every condition is true
|
|
84
|
+
return results.every((result) => result);
|
|
85
|
+
}
|
|
86
|
+
async evaluateSingleCondition(condition, context) {
|
|
87
|
+
switch (condition.type) {
|
|
88
|
+
case 'SINGLE':
|
|
89
|
+
return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context));
|
|
90
|
+
case 'AND':
|
|
91
|
+
// Evaluate all conditions with 'AND' logic
|
|
92
|
+
const andConditions = condition.conditions ?? [];
|
|
93
|
+
const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));
|
|
94
|
+
return andResults.every((result) => result);
|
|
95
|
+
case 'OR':
|
|
96
|
+
// Evaluate all conditions with 'OR' logic
|
|
97
|
+
const orConditions = condition.conditions ?? [];
|
|
98
|
+
const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));
|
|
99
|
+
return orResults.some((result) => result);
|
|
100
|
+
default:
|
|
101
|
+
throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async evaluateExpression(expression, context) {
|
|
105
|
+
try {
|
|
106
|
+
// Create a scope that includes context and registered functions
|
|
107
|
+
const scope = { context, ...this.createFunctionScope() };
|
|
108
|
+
// Evaluating the expression within the created scope
|
|
109
|
+
const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);
|
|
110
|
+
const result = await sandbox(scope);
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
console.error('Error evaluating expression:', error);
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
createFunctionScope() {
|
|
119
|
+
const scope = {};
|
|
120
|
+
this.registryService.getFunctionNames().forEach((name) => {
|
|
121
|
+
scope[name] = this.getFunctionInstance(name).execute;
|
|
122
|
+
});
|
|
123
|
+
return scope;
|
|
124
|
+
}
|
|
125
|
+
getFunctionInstance(functionName) {
|
|
126
|
+
const functionType = this.registryService.getFunction(functionName);
|
|
127
|
+
if (!functionType) {
|
|
128
|
+
throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);
|
|
129
|
+
}
|
|
130
|
+
return this.injector.get(functionType);
|
|
131
|
+
}
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowService, deps: [{ token: i1.AXPWorkflowRegistryService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
133
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowService, providedIn: 'root' }); }
|
|
134
|
+
}
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowService, decorators: [{
|
|
136
|
+
type: Injectable,
|
|
137
|
+
args: [{
|
|
138
|
+
providedIn: 'root',
|
|
139
|
+
}]
|
|
140
|
+
}], ctorParameters: () => [{ type: i1.AXPWorkflowRegistryService }, { type: i0.Injector }] });
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi93b3JrZmxvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBSUwsa0JBQWtCLEdBS25CLE1BQU0sa0JBQWtCLENBQUM7OztBQUsxQixNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQW9CLGVBQTJDLEVBQVUsUUFBa0I7UUFBdkUsb0JBQWUsR0FBZixlQUFlLENBQTRCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU5uRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBTXdDLENBQUM7SUFFaEcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUE4QixFQUFFLGlCQUFzQixFQUFFO1FBQ3BFLHVDQUF1QztRQUN2QyxNQUFNLEVBQUUsR0FBRyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRXhGLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLDRD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bUJBQW1CO1FBQ3pCLE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxZQUFvQjtRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdCQUFnQixDQUFDLGtCQUFrQixZQUFZLDhCQUE4QixDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0FqSlUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93RXJyb3IgfSBmcm9tICcuL2Vycm9ycy50eXBlcyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi93b3JrZmxvdy1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQge1xuICBBWFBXb3JrZmxvdyxcbiAgQVhQV29ya2Zsb3dBY3Rpb24sXG4gIEFYUFdvcmtmbG93Q29uZGl0aW9uLFxuICBBWFBXb3JrZmxvd0NvbnRleHQsXG4gIEFYUFdvcmtmbG93RXZlbnQsXG4gIEFYUFdvcmtmbG93RnVuY3Rpb24sXG4gIEFYUFdvcmtmbG93TmV4dFN0ZXAsXG4gIEFYUFdvcmtmbG93U3RlcCxcbn0gZnJvbSAnLi93b3JrZmxvdy50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd1NlcnZpY2Uge1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd0V2ZW50U2VydmljZSk7XG5cbiAgZ2V0IGV2ZW50cyQoKTogT2JzZXJ2YWJsZTxBWFBXb3JrZmxvd0V2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRTZXJ2aWNlLmV2ZW50cyQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZ2lzdHJ5U2VydmljZTogQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cblxuICBhc3luYyBleGVjdXRlKHdvcmtmbG93OiBBWFBXb3JrZmxvdyB8IHN0cmluZywgaW5pdGlhbENvbnRleHQ6IGFueSA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gSW5zdGFudGlhdGUgb3IgcmV0cmlldmUgdGhlIHdvcmtmbG93XG4gICAgY29uc3Qgd2sgPSB0eXBlb2Ygd29ya2Zsb3cgPT09ICdzdHJpbmcnID8gdGhpcy5nZXRXb3JrZmxvd0luc3RhbmNlKHdvcmtmbG93KSA6IHdvcmtmbG93O1xuXG4gICAgbGV0IGN1cnJlbnRTdGVwSWQgPSB3ay5zdGFydFN0ZXBJZDtcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IEFYUFdvcmtmbG93Q29udGV4dCgpO1xuICAgIC8vIEluaXRpYWxpemUgY29udGV4dCB3aXRoIGluaXRpYWwgdmFyaWFibGVzXG4gICAgT2JqZWN0LmVudHJpZXMoaW5pdGlhbENvbnRleHQpLmZvckVhY2goZSA9PiBjb250ZXh0LnNldFZhcmlhYmxlKGVbMF0sIGVbMV0pKTtcblxuICAgIHdoaWxlIChjdXJyZW50U3RlcElkKSB7XG4gICAgICBjb25zdCBjdXJyZW50U3RlcCA9IHdrLnN0ZXBzW2N1cnJlbnRTdGVwSWRdO1xuICAgICAgaWYgKCFjdXJyZW50U3RlcCkge1xuICAgICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgU3RlcCAnJHtjdXJyZW50U3RlcElkfScgbm90IGZvdW5kIGluIHRoZSB3b3JrZmxvdyBzdGVwcy5gKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5zdGFudGlhdGUgb3IgcmV0cmlldmUgdGhlIGFjdGlvblxuICAgICAgY29uc3QgYWN0aW9uID1cbiAgICAgICAgdHlwZW9mIGN1cnJlbnRTdGVwLmFjdGlvbiA9PT0gJ3N0cmluZycgPyB0aGlzLmdldEFjdGlvbkluc3RhbmNlKGN1cnJlbnRTdGVwLmFjdGlvbikgOiBjdXJyZW50U3RlcC5hY3Rpb247XG4gICAgICBpZiAoY3VycmVudFN0ZXAuaW5wdXQpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihhY3Rpb24sIGN1cnJlbnRTdGVwLmlucHV0KTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYWN0aW9uLmV4ZWN1dGUoY29udGV4dCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcignV29ya2Zsb3cgRXJyb3InLCBlcnJvciBhcyBFcnJvcik7XG4gICAgICB9XG4gICAgICAvLyBEZXRlcm1pbmUgdGhlIG5leHQgc3RlcCBiYXNlZCBvbiB0aGUgY29uZGl0aW9uc1xuICAgICAgY29uc3QgbmV4dFN0ZXBJbmZvID0gYXdhaXQgdGhpcy5kZXRlcm1pbmVOZXh0U3RlcChjdXJyZW50U3RlcCwgY29udGV4dCk7XG4gICAgICBpZiAobmV4dFN0ZXBJbmZvKSB7XG4gICAgICAgIGN1cnJlbnRTdGVwSWQgPSBuZXh0U3RlcEluZm8ubmV4dFN0ZXBJZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrOyAvLyBFeGl0IHRoZSBsb29wIGlmIG5vIG5leHQgc3RlcCBpcyBkZXRlcm1pbmVkXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3Rpb25JbnN0YW5jZShhY3Rpb25OYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgY29uc3QgYWN0aW9uVHlwZSA9IHRoaXMucmVnaXN0cnlTZXJ2aWNlLmdldEFjdGlvbihhY3Rpb25OYW1lKTtcbiAgICBpZiAoIWFjdGlvblR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKGBBY3Rpb24gdHlwZSAnJHthY3Rpb25OYW1lfScgbm90IGZvdW5kIGluIHRoZSByZWdpc3RyeS5gKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KGFjdGlvblR5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXb3JrZmxvd0luc3RhbmNlKHdvcmtmbG93TmFtZTogc3RyaW5nKTogQVhQV29ya2Zsb3cge1xuICAgIGNvbnN0IHdvcmtmbG93VHlwZSA9IHRoaXMucmVnaXN0cnlTZXJ2aWNlLmdldFdvcmtmbG93KHdvcmtmbG93TmFtZSk7XG4gICAgaWYgKCF3b3JrZmxvd1R5cGUpIHtcbiAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKGBXb3JrZmxvdyB0eXBlICcke3dvcmtmbG93TmFtZX0nIG5vdCBmb3VuZCBpbiB0aGUgcmVnaXN0cnkuYCk7XG4gICAgfVxuICAgIHJldHVybiB3b3JrZmxvd1R5cGU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRldGVybWluZU5leHRTdGVwKFxuICAgIGN1cnJlbnRTdGVwOiBBWFBXb3JrZmxvd1N0ZXAsXG4gICAgY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0XG4gICk6IFByb21pc2U8QVhQV29ya2Zsb3dOZXh0U3RlcCB8IG51bGw+IHtcbiAgICBpZiAoIWN1cnJlbnRTdGVwLm5leHRTdGVwcykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGZvciAoY29uc3QgbmV4dFN0ZXAgb2YgY3VycmVudFN0ZXAubmV4dFN0ZXBzKSB7XG4gICAgICBpZiAoYXdhaXQgdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihuZXh0U3RlcC5jb25kaXRpb25zLCBjb250ZXh0KSkge1xuICAgICAgICByZXR1cm4gbmV4dFN0ZXA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBldmFsdWF0ZUNvbmRpdGlvbihjb25kaXRpb25zOiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdLCBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoIWNvbmRpdGlvbnMgfHwgY29uZGl0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlOyAvLyBJZiBubyBjb25kaXRpb25zLCB0aGUgc3RlcCBwcm9jZWVkc1xuICAgIH1cblxuICAgIC8vIE1hcCBlYWNoIGNvbmRpdGlvbiB0byBhIHByb21pc2UgdXNpbmcgZXZhbHVhdGVTaW5nbGVDb25kaXRpb25cbiAgICBjb25zdCBjb25kaXRpb25Qcm9taXNlcyA9IGNvbmRpdGlvbnMubWFwKChjb25kaXRpb24pID0+IHRoaXMuZXZhbHVhdGVTaW5nbGVDb25kaXRpb24oY29uZGl0aW9uLCBjb250ZXh0KSk7XG5cbiAgICAvLyBXYWl0IGZvciBhbGwgcHJvbWlzZXMgdG8gcmVzb2x2ZVxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChjb25kaXRpb25Qcm9taXNlcyk7XG5cbiAgICAvLyBDaGVjayBpZiBldmVyeSBjb25kaXRpb24gaXMgdHJ1ZVxuICAgIHJldHVybiByZXN1bHRzLmV2ZXJ5KChyZXN1bHQpID0+IHJlc3VsdCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlU2luZ2xlQ29uZGl0aW9uKFxuICAgIGNvbmRpdGlvbjogQVhQV29ya2Zsb3dDb25kaXRpb24sXG4gICAgY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0XG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHN3aXRjaCAoY29uZGl0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgJ1NJTkdMRSc6XG4gICAgICAgIHJldHVybiAoIWNvbmRpdGlvbi5leHByZXNzaW9uID8gdHJ1ZSA6IGF3YWl0IHRoaXMuZXZhbHVhdGVFeHByZXNzaW9uKGNvbmRpdGlvbi5leHByZXNzaW9uLCBjb250ZXh0KSkgYXMgYm9vbGVhbjtcbiAgICAgIGNhc2UgJ0FORCc6XG4gICAgICAgIC8vIEV2YWx1YXRlIGFsbCBjb25kaXRpb25zIHdpdGggJ0FORCcgbG9naWNcbiAgICAgICAgY29uc3QgYW5kQ29uZGl0aW9ucyA9IGNvbmRpdGlvbi5jb25kaXRpb25zID8/IFtdO1xuICAgICAgICBjb25zdCBhbmRSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoYW5kQ29uZGl0aW9ucy5tYXAoKGNvbmQpID0+IHRoaXMuZXZhbHVhdGVTaW5nbGVDb25kaXRpb24oY29uZCwgY29udGV4dCkpKTtcbiAgICAgICAgcmV0dXJuIGFuZFJlc3VsdHMuZXZlcnkoKHJlc3VsdCkgPT4gcmVzdWx0KTtcblxuICAgICAgY2FzZSAnT1InOlxuICAgICAgICAvLyBFdmFsdWF0ZSBhbGwgY29uZGl0aW9ucyB3aXRoICdPUicgbG9naWNcbiAgICAgICAgY29uc3Qgb3JDb25kaXRpb25zID0gY29uZGl0aW9uLmNvbmRpdGlvbnMgPz8gW107XG4gICAgICAgIGNvbnN0IG9yUmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKG9yQ29uZGl0aW9ucy5tYXAoKGNvbmQpID0+IHRoaXMuZXZhbHVhdGVTaW5nbGVDb25kaXRpb24oY29uZCwgY29udGV4dCkpKTtcbiAgICAgICAgcmV0dXJuIG9yUmVzdWx0cy5zb21lKChyZXN1bHQpID0+IHJlc3VsdCk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKGBVbnN1cHBvcnRlZCBjb25kaXRpb24gdHlwZTogJHtjb25kaXRpb24udHlwZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlRXhwcmVzc2lvbihleHByZXNzaW9uOiBzdHJpbmcsIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8Qm9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBDcmVhdGUgYSBzY29wZSB0aGF0IGluY2x1ZGVzIGNvbnRleHQgYW5kIHJlZ2lzdGVyZWQgZnVuY3Rpb25zXG4gICAgICBjb25zdCBzY29wZSA9IHsgY29udGV4dCwgLi4udGhpcy5jcmVhdGVGdW5jdGlvblNjb3BlKCkgfTtcblxuICAgICAgLy8gRXZhbHVhdGluZyB0aGUgZXhwcmVzc2lvbiB3aXRoaW4gdGhlIGNyZWF0ZWQgc2NvcGVcbiAgICAgIGNvbnN0IHNhbmRib3ggPSBuZXcgRnVuY3Rpb24oJ3Njb3BlJywgYHJldHVybiAoYXN5bmMgZnVuY3Rpb24oKSB7IHdpdGggKHNjb3BlKSB7IHJldHVybiAke2V4cHJlc3Npb259OyB9IH0pKCk7YCk7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzYW5kYm94KHNjb3BlKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbjonLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGdW5jdGlvblNjb3BlKCk6IGFueSB7XG4gICAgY29uc3Qgc2NvcGU6IGFueSA9IHt9O1xuICAgIHRoaXMucmVnaXN0cnlTZXJ2aWNlLmdldEZ1bmN0aW9uTmFtZXMoKS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICBzY29wZVtuYW1lXSA9IHRoaXMuZ2V0RnVuY3Rpb25JbnN0YW5jZShuYW1lKS5leGVjdXRlO1xuICAgIH0pO1xuICAgIHJldHVybiBzY29wZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RnVuY3Rpb25JbnN0YW5jZShmdW5jdGlvbk5hbWU6IHN0cmluZyk6IEFYUFdvcmtmbG93RnVuY3Rpb24ge1xuICAgIGNvbnN0IGZ1bmN0aW9uVHlwZSA9IHRoaXMucmVnaXN0cnlTZXJ2aWNlLmdldEZ1bmN0aW9uKGZ1bmN0aW9uTmFtZSk7XG4gICAgaWYgKCFmdW5jdGlvblR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKGBGdW5jdGlvbiB0eXBlICcke2Z1bmN0aW9uTmFtZX0nIG5vdCBmb3VuZCBpbiB0aGUgcmVnaXN0cnkuYCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChmdW5jdGlvblR5cGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { filter } from 'rxjs';
|
|
3
|
+
import { AXPWorkflowEventService } from './workflow-event-dispatcher.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AXPWorkflowContext {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.variables = new Map();
|
|
8
|
+
this.stepOutputs = new Map();
|
|
9
|
+
// You can add more helper methods as needed
|
|
10
|
+
}
|
|
11
|
+
setVariable(key, value) {
|
|
12
|
+
this.variables.set(key, value);
|
|
13
|
+
}
|
|
14
|
+
getVariable(key) {
|
|
15
|
+
return this.variables.get(key);
|
|
16
|
+
}
|
|
17
|
+
setOutput(stepId, output) {
|
|
18
|
+
this.stepOutputs.set(stepId, output);
|
|
19
|
+
}
|
|
20
|
+
getOutput(stepId) {
|
|
21
|
+
return this.stepOutputs.get(stepId);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class AXPWorkflowAction {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.eventService = inject(AXPWorkflowEventService);
|
|
27
|
+
}
|
|
28
|
+
dispatch(event) {
|
|
29
|
+
this.eventService.dispatch(event);
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowAction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowAction }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowAction, decorators: [{
|
|
35
|
+
type: Injectable
|
|
36
|
+
}] });
|
|
37
|
+
export class AXPWorkflowFunction {
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowFunction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowFunction }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPWorkflowFunction, decorators: [{
|
|
42
|
+
type: Injectable
|
|
43
|
+
}] });
|
|
44
|
+
export function createWorkFlowEvent(type) {
|
|
45
|
+
const eventCreator = (payload) => ({ type, payload });
|
|
46
|
+
eventCreator.type = type;
|
|
47
|
+
return eventCreator;
|
|
48
|
+
}
|
|
49
|
+
export function ofType(...allowedTypes) {
|
|
50
|
+
return filter((event) => allowedTypes.some((type) => event.type === type.type));
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFROUUsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUNVLGNBQVMsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4QyxnQkFBVyxHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBa0JsRCw0Q0FBNEM7SUFDOUMsQ0FBQztJQWpCQyxXQUFXLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYyxFQUFFLE1BQVc7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FHRjtBQXlCRCxNQUFNLE9BQWdCLGlCQUFpQjtJQUR2QztRQUVVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FPeEQ7SUFMVyxRQUFRLENBQUMsS0FBdUI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0FMbUIsaUJBQWlCO2tIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRHRDLFVBQVU7O0FBWVgsTUFBTSxPQUFnQixtQkFBbUI7OEdBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVOztBQVlYLE1BQU0sVUFBVSxtQkFBbUIsQ0FBSSxJQUFZO0lBQ2pELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDekIsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQTZCLEdBQUcsWUFBcUM7SUFDekYsT0FBTyxNQUFNLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvdyB7XG4gIHN0ZXBzOiB7IFtzdGVwTmFtZTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XG4gIHN0YXJ0U3RlcElkOiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93Q29udGV4dCB7XG4gIHByaXZhdGUgdmFyaWFibGVzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHN0ZXBPdXRwdXRzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuXG4gIHNldFZhcmlhYmxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YXJpYWJsZXMuc2V0KGtleSwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlcy5nZXQoa2V5KTtcbiAgfVxuXG4gIHNldE91dHB1dChzdGVwSWQ6IHN0cmluZywgb3V0cHV0OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBPdXRwdXRzLnNldChzdGVwSWQsIG91dHB1dCk7XG4gIH1cblxuICBnZXRPdXRwdXQoc3RlcElkOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnN0ZXBPdXRwdXRzLmdldChzdGVwSWQpO1xuICB9XG5cbiAgLy8gWW91IGNhbiBhZGQgbW9yZSBoZWxwZXIgbWV0aG9kcyBhcyBuZWVkZWRcbn1cblxuZXhwb3J0IHR5cGUgQVhQV29ya2Zsb3dBY3Rpb25JbnB1dCA9IGFueTtcblxuZXhwb3J0IHR5cGUgQVhQV29ya2Zsb3dDb25kaXRpb25UeXBlID0gJ0FORCcgfCAnT1InIHwgJ1NJTkdMRSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dDb25kaXRpb24ge1xuICB0eXBlOiBBWFBXb3JrZmxvd0NvbmRpdGlvblR5cGU7XG4gIGNvbmRpdGlvbnM/OiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdOyAvLyBOZXN0ZWQgY29uZGl0aW9uc1xuICBleHByZXNzaW9uPzogc3RyaW5nOyAvLyBVc2VkIGlmIHR5cGUgaXMgJ1NJTkdMRSdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd05leHRTdGVwIHtcbiAgY29uZGl0aW9uczogQVhQV29ya2Zsb3dDb25kaXRpb25bXTtcbiAgbmV4dFN0ZXBJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93U3RlcCB7XG4gIGlkOiBzdHJpbmc7XG4gIGFjdGlvbjogQVhQV29ya2Zsb3dBY3Rpb24gfCBzdHJpbmc7XG4gIGlucHV0PzogQVhQV29ya2Zsb3dBY3Rpb25JbnB1dDtcbiAgbmV4dFN0ZXBzPzogQVhQV29ya2Zsb3dOZXh0U3RlcFtdO1xuICBjb25kaXRpb25zPzogQVhQV29ya2Zsb3dDb25kaXRpb25bXTtcbn1cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYUFdvcmtmbG93RXZlbnRTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgZGlzcGF0Y2goZXZlbnQ6IEFYUFdvcmtmbG93RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZS5kaXNwYXRjaChldmVudCk7XG4gIH1cblxuICBhYnN0cmFjdCBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgYWJzdHJhY3QgZXhlY3V0ZSguLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8YW55PiB8IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0V2ZW50IHtcbiAgdHlwZTogc3RyaW5nO1xuICBwYXlsb2FkPzogYW55O1xufVxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtGbG93RXZlbnQ8VD4odHlwZTogc3RyaW5nKSB7XG4gIGNvbnN0IGV2ZW50Q3JlYXRvciA9IChwYXlsb2FkOiBUKSA9PiAoeyB0eXBlLCBwYXlsb2FkIH0pO1xuICBldmVudENyZWF0b3IudHlwZSA9IHR5cGU7XG4gIHJldHVybiBldmVudENyZWF0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZlR5cGU8VCBleHRlbmRzIHsgdHlwZTogc3RyaW5nIH0+KC4uLmFsbG93ZWRUeXBlczogQXJyYXk8eyB0eXBlOiBzdHJpbmcgfT4pIHtcbiAgcmV0dXJuIGZpbHRlcigoZXZlbnQ6IFQpID0+IGFsbG93ZWRUeXBlcy5zb21lKCh0eXBlKSA9PiBldmVudC50eXBlID09PSB0eXBlLnR5cGUpKTtcbn1cbiJdfQ==
|