@acorex/platform 18.0.0 → 18.0.1
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 -7
- package/auth/README.md +3 -3
- package/auth/lib/auth.strategy.d.ts +6 -3
- package/common/README.md +3 -3
- package/common/index.d.ts +5 -3
- package/common/lib/app/application.types.d.ts +234 -0
- package/common/lib/app/index.d.ts +2 -0
- package/common/lib/common.module.d.ts +6 -4
- package/common/lib/configs/app.config.d.ts +1 -1
- package/common/lib/layout/beardcrumb.type.d.ts +6 -0
- package/common/lib/layout/grid-layout/grid-layout.directive.d.ts +15 -0
- package/common/lib/layout/grid-layout/grid-layout.types.d.ts +19 -0
- package/common/lib/layout/grid-layout/index.d.ts +2 -0
- package/common/lib/layout/index.d.ts +9 -0
- package/common/lib/layout/logo/index.d.ts +2 -0
- package/common/lib/layout/sticky.directive.d.ts +25 -0
- package/common/lib/layout/theme/components/slots/index.d.ts +3 -0
- package/common/lib/layout/theme/components/slots/navbar-slot.component.d.ts +10 -0
- package/common/lib/layout/theme/store/admin-layout.selectors.d.ts +5 -0
- package/common/lib/schema/entity/entity.class.d.ts +155 -0
- package/common/lib/schema/index.d.ts +8 -0
- package/common/lib/schema/schema.types.d.ts +15 -0
- package/common/lib/schema/widget/index.d.ts +5 -0
- package/common/lib/schema/widget/widget-base.d.ts +45 -0
- package/common/lib/schema/widget/widget-token.d.ts +16 -0
- package/common/lib/schema/widgets/avatar/avatar-widget-edit.component.d.ts +16 -0
- package/common/lib/schema/widgets/avatar/avatar-widget-view.component.d.ts +13 -0
- package/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.d.ts +11 -0
- package/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.d.ts +6 -0
- package/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.d.ts +11 -0
- package/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +18 -0
- package/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.d.ts +12 -0
- package/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.d.ts +12 -0
- package/common/lib/schema/widgets/common-widgets.module.d.ts +32 -0
- package/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.d.ts +11 -0
- package/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.d.ts +26 -0
- package/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.d.ts +16 -0
- package/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.d.ts +11 -0
- package/common/lib/schema/widgets/email/email-widget-column.component.d.ts +16 -0
- package/common/lib/schema/widgets/email/email-widget-edit.component.d.ts +28 -0
- package/common/lib/schema/widgets/email/email-widget-view.component.d.ts +16 -0
- package/common/lib/schema/widgets/file/file-widget-column.component.d.ts +8 -0
- package/common/lib/schema/widgets/file/file-widget-edit.component.d.ts +17 -0
- package/common/lib/schema/widgets/file/file-widget-filter.component.d.ts +6 -0
- package/common/lib/schema/widgets/file/file-widget-view.component.d.ts +17 -0
- package/common/lib/schema/widgets/gallery/gallery-widget-edit.component.d.ts +15 -0
- package/common/lib/schema/widgets/gallery/gallery-widget-filter.component.d.ts +6 -0
- package/common/lib/schema/widgets/gallery/gallery-widget-view.component.d.ts +16 -0
- package/common/lib/schema/widgets/lookup/lookup-widget-column.component.d.ts +17 -0
- package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +15 -0
- package/common/lib/schema/widgets/lookup/lookup-widget-filter.component.d.ts +17 -0
- package/common/lib/schema/widgets/lookup/lookup-widget-view.component.d.ts +17 -0
- package/common/lib/schema/widgets/map/map-widget-edit.component.d.ts +15 -0
- package/common/lib/schema/widgets/map/map-widget-view.component.d.ts +17 -0
- package/common/lib/schema/widgets/messenger/messenger-widget-column.component.d.ts +15 -0
- package/common/lib/schema/widgets/messenger/messenger-widget-edit.component.d.ts +14 -0
- package/common/lib/schema/widgets/messenger/messenger-widget-view.component.d.ts +17 -0
- package/common/lib/schema/widgets/number/number-widget-edit.component.d.ts +7 -0
- package/common/lib/schema/widgets/number/number-widget-view.component.d.ts +8 -0
- package/common/lib/schema/widgets/password/password-widget-column.component.d.ts +14 -0
- package/common/lib/schema/widgets/password/password-widget-edit.component.d.ts +6 -0
- package/common/lib/schema/widgets/password/password-widget-view.component.d.ts +18 -0
- package/common/lib/schema/widgets/phone/phone-widget-column.component.d.ts +15 -0
- package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +29 -0
- package/common/lib/schema/widgets/phone/phone-widget-view.component.d.ts +18 -0
- package/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.d.ts +11 -0
- package/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.d.ts +33 -0
- package/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.d.ts +10 -0
- package/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.d.ts +16 -0
- package/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.d.ts +12 -0
- package/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.d.ts +9 -0
- package/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.d.ts +15 -0
- package/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +19 -0
- package/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.d.ts +8 -0
- package/common/lib/schema/widgets/text/largetext-widget-edit.component.d.ts +6 -0
- package/common/lib/schema/widgets/text/text-widget-column.component.d.ts +12 -0
- package/common/lib/schema/widgets/text/text-widget-edit.component.d.ts +23 -0
- package/common/lib/schema/widgets/text/text-widget-view.component.d.ts +11 -0
- package/common/lib/schema/widgets/toggle/toggle-widget-column.component.d.ts +11 -0
- package/common/lib/schema/widgets/toggle/toggle-widget-edit.component.d.ts +6 -0
- package/common/lib/schema/widgets/toggle/toggle-widget-view.component.d.ts +11 -0
- package/common/lib/store/common.actions.d.ts +1 -0
- package/common/lib/utils/data-generator.d.ts +12 -0
- package/common/lib/utils/index.d.ts +1 -1
- package/common/lib/utils/router-util.service.d.ts +1 -1
- package/common/lib/workflows/common.workflow.d.ts +38 -0
- package/common/lib/workflows/error-handler.d.ts +8 -0
- package/esm2022/auth/index.mjs +1 -1
- package/esm2022/auth/lib/application/application.loader.mjs +1 -1
- package/esm2022/auth/lib/application/application.types.mjs +1 -1
- package/esm2022/auth/lib/auth-registry.service.mjs +1 -1
- package/esm2022/auth/lib/auth.guard.mjs +1 -1
- package/esm2022/auth/lib/auth.module.mjs +1 -1
- package/esm2022/auth/lib/auth.strategy.mjs +1 -1
- package/esm2022/auth/lib/errors.types.mjs +1 -1
- package/esm2022/auth/lib/feature/feature.directive.mjs +1 -1
- package/esm2022/auth/lib/feature/feature.guard.mjs +1 -1
- package/esm2022/auth/lib/feature/feature.loader.mjs +1 -1
- package/esm2022/auth/lib/feature/feature.types.mjs +1 -1
- package/esm2022/auth/lib/feature/index.mjs +1 -1
- package/esm2022/auth/lib/permission/index.mjs +1 -1
- package/esm2022/auth/lib/permission/permission.directive.mjs +1 -1
- package/esm2022/auth/lib/permission/permission.guard.mjs +1 -1
- package/esm2022/auth/lib/permission/permission.loader.mjs +1 -1
- package/esm2022/auth/lib/permission/permission.types.mjs +1 -1
- package/esm2022/auth/lib/session.service.mjs +4 -2
- package/esm2022/auth/lib/session.types.mjs +1 -1
- package/esm2022/auth/lib/tenant/tenant.loader.mjs +1 -1
- package/esm2022/auth/lib/tenant/tenant.types.mjs +1 -1
- package/esm2022/auth/lib/user/user.types.mjs +1 -1
- package/esm2022/common/index.mjs +6 -4
- package/esm2022/common/lib/app/application.types.mjs +39 -0
- package/esm2022/common/lib/app/index.mjs +3 -0
- package/esm2022/common/lib/app/operators.mjs +50 -0
- package/esm2022/common/lib/common.module.mjs +20 -44
- package/esm2022/common/lib/configs/app.config.mjs +2 -2
- package/esm2022/common/lib/configs/config.types.mjs +3 -0
- package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
- package/esm2022/common/lib/errors/error-handler-registry.service.mjs +1 -1
- package/esm2022/common/lib/errors/error-handler.types.mjs +1 -1
- package/esm2022/common/lib/errors/global-error-handler.mjs +1 -1
- package/esm2022/common/lib/errors/index.mjs +1 -1
- package/esm2022/common/lib/layout/beardcrumb.type.mjs +2 -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/layout/grid-layout/grid-layout.directive.mjs +61 -0
- package/esm2022/common/lib/layout/grid-layout/grid-layout.types.mjs +2 -0
- package/esm2022/common/lib/layout/grid-layout/index.mjs +3 -0
- package/esm2022/common/lib/layout/index.mjs +10 -0
- package/esm2022/common/lib/layout/layout.service.mjs +79 -0
- package/esm2022/common/lib/layout/logo/index.mjs +3 -0
- package/esm2022/common/lib/layout/logo/logo.component.mjs +38 -0
- package/esm2022/common/lib/layout/logo/logo.types.mjs +21 -0
- package/esm2022/common/lib/layout/menu/index.mjs +3 -0
- package/esm2022/common/lib/layout/menu/menu.loader.mjs +39 -0
- package/esm2022/common/lib/layout/menu/menu.types.mjs +2 -0
- package/esm2022/common/lib/layout/sticky.directive.mjs +78 -0
- package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +20 -0
- package/esm2022/common/lib/layout/theme/components/slots/index.mjs +4 -0
- package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +36 -0
- package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +48 -0
- package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +12 -0
- package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +29 -0
- package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +60 -0
- package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +8 -0
- package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +16 -0
- package/esm2022/common/lib/layout/theme/store/index.mjs +6 -0
- package/esm2022/common/lib/schema/component-loader.mjs +2 -0
- package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +70 -0
- package/esm2022/common/lib/schema/entity/entity.class.mjs +32 -0
- package/esm2022/common/lib/schema/entity/entity.loader.mjs +13 -0
- package/esm2022/common/lib/schema/entity/index.mjs +4 -0
- package/esm2022/common/lib/schema/formats.mjs +2 -0
- package/esm2022/common/lib/schema/index.mjs +9 -0
- package/esm2022/common/lib/schema/schema-registery.service.mjs +33 -0
- package/esm2022/common/lib/schema/schema.module.mjs +23 -0
- package/esm2022/common/lib/schema/schema.types.mjs +2 -0
- package/esm2022/common/lib/schema/widget/index.mjs +6 -0
- package/esm2022/common/lib/schema/widget/widget-base.mjs +113 -0
- package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +118 -0
- package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +133 -0
- package/esm2022/common/lib/schema/widget/widget-renderer.mjs +144 -0
- package/esm2022/common/lib/schema/widget/widget-token.mjs +3 -0
- package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +160 -0
- package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +63 -0
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +53 -0
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +22 -0
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +47 -0
- package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +147 -0
- package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +135 -0
- package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +125 -0
- package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +505 -0
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +44 -0
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +178 -0
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +213 -0
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +71 -0
- package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +73 -0
- package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +249 -0
- package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +108 -0
- package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +27 -0
- package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +200 -0
- package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +27 -0
- package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +153 -0
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +189 -0
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +27 -0
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-types.mjs +2 -0
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +173 -0
- package/esm2022/common/lib/schema/widgets/index.mjs +2 -0
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +43 -0
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +74 -0
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +115 -0
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +54 -0
- package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +91 -0
- package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +63 -0
- package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +71 -0
- package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +136 -0
- package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +132 -0
- package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +46 -0
- package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +30 -0
- package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +174 -0
- package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +67 -0
- package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +41 -0
- package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +109 -0
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +91 -0
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +245 -0
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +123 -0
- package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +61 -0
- package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +67 -0
- package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +34 -0
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +45 -0
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +53 -0
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +41 -0
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +45 -0
- package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +128 -0
- package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +41 -0
- package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +37 -0
- package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +46 -0
- package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +162 -0
- package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +66 -0
- package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +57 -0
- package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +25 -0
- package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +49 -0
- package/esm2022/common/lib/settings/index.mjs +1 -1
- package/esm2022/common/lib/settings/settings.loader.mjs +1 -1
- package/esm2022/common/lib/settings/settings.service.mjs +1 -1
- package/esm2022/common/lib/settings/settings.types.mjs +1 -1
- package/esm2022/common/lib/store/common.actions.mjs +2 -1
- package/esm2022/common/lib/store/common.effects.mjs +1 -1
- package/esm2022/common/lib/store/index.mjs +1 -1
- package/esm2022/common/lib/utils/clipboard-service.mjs +1 -1
- package/esm2022/common/lib/utils/data-generator.mjs +47 -0
- package/esm2022/common/lib/utils/index.mjs +2 -2
- package/esm2022/common/lib/utils/router-util.service.mjs +1 -1
- package/esm2022/common/lib/workflows/common.workflow.mjs +68 -0
- package/esm2022/common/lib/workflows/error-handler.mjs +24 -0
- package/esm2022/common/lib/workflows/index.mjs +3 -0
- package/esm2022/index.mjs +1 -1
- package/esm2022/layout/builder/acorex-platform-layout-builder.mjs +5 -0
- package/esm2022/layout/builder/index.mjs +2 -0
- package/esm2022/layout/builder/lib/builder/builder.module.mjs +67 -0
- package/esm2022/layout/builder/lib/builder/builder.service.mjs +81 -0
- package/esm2022/layout/builder/lib/builder/index.mjs +9 -0
- package/esm2022/layout/builder/lib/builder/layout.types.mjs +2 -0
- package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +110 -0
- package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +55 -0
- package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +33 -0
- package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +293 -0
- package/esm2022/layout/builder/lib/builder/widget.types.mjs +74 -0
- package/esm2022/layout/entity/acorex-platform-layout-entity.mjs +5 -0
- package/esm2022/layout/entity/index.mjs +2 -0
- package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +154 -0
- package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +128 -0
- package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +278 -0
- package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +230 -0
- package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +101 -0
- package/esm2022/layout/entity/lib/entity-registery.service.mjs +69 -0
- package/esm2022/layout/entity/lib/entity.config.mjs +4 -0
- package/esm2022/layout/entity/lib/entity.module.mjs +134 -0
- package/esm2022/layout/entity/lib/entity.viewmodel.mjs +32 -0
- package/esm2022/layout/entity/lib/index.mjs +9 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/index.mjs +8 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +19 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.mjs +19 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +127 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.mjs +20 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.mjs +19 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +105 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +85 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +19 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +24 -0
- package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +93 -0
- package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +123 -0
- package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +104 -0
- package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +36 -0
- package/esm2022/layouts/index.mjs +1 -3
- package/esm2022/layouts/lib/admin/admin.module.mjs +9 -17
- package/esm2022/layouts/lib/admin/admin.routes.mjs +7 -8
- package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +6 -6
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -2
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +3 -2
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +8 -11
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +5 -5
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +4 -4
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +6 -9
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +19 -19
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +6 -8
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +6 -7
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +2 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +5 -5
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -2
- package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +5 -6
- package/esm2022/layouts/lib/admin/entity-layout/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +2 -2
- package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +2 -2
- package/esm2022/layouts/lib/admin/entity-layout/workflows/index.mjs +4 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +2 -2
- package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +85 -0
- package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +27 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +26 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +41 -1
- package/esm2022/layouts/lib/admin/entity.resolver.mjs +1 -1
- package/esm2022/layouts/lib/admin/index.mjs +1 -3
- package/esm2022/layouts/lib/layout.module.mjs +9 -14
- package/esm2022/mocks/index.mjs +1 -1
- package/esm2022/mocks/lib/mocks.module.mjs +1 -1
- package/esm2022/mocks/lib/services/mocker.service.mjs +1 -1
- package/esm2022/mocks/lib/storage/storage.mock.service.mjs +1 -1
- package/esm2022/native/index.mjs +1 -1
- package/esm2022/native/lib/native.service.mjs +1 -1
- package/esm2022/widgets/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-column.component.mjs +45 -0
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +10 -10
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +54 -0
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +10 -4
- package/esm2022/widgets/lib/editors/checkbox/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +32 -7
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +54 -54
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +18 -18
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +54 -7
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +173 -141
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +70 -70
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +112 -112
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +64 -64
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +108 -108
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +98 -98
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-column.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.mjs +6 -6
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-view.component.mjs +6 -6
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +26 -7
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +68 -68
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +33 -19
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +4 -1
- package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-column.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.mjs +10 -10
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +46 -46
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +54 -7
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +162 -134
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +70 -70
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +10 -10
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +10 -10
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +5 -5
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +26 -26
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +24 -18
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +30 -8
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.mjs +32 -32
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +29 -8
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +56 -56
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +18 -18
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +7 -6
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +62 -62
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +2 -2
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +18 -18
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +8 -0
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-column.component.mjs +47 -0
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +19 -0
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.mjs +27 -0
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-view.component.mjs +47 -0
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +24 -0
- package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +14 -14
- package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/layout/block-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/widgets.module.mjs +6 -3
- package/esm2022/workflow/index.mjs +1 -1
- package/esm2022/workflow/lib/errors.types.mjs +1 -1
- package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +1 -1
- package/esm2022/workflow/lib/workflow-registery.service.mjs +1 -1
- package/esm2022/workflow/lib/workflow.module.mjs +1 -1
- package/esm2022/workflow/lib/workflow.service.mjs +1 -1
- package/esm2022/workflow/lib/workflow.types.mjs +1 -1
- package/fesm2022/acorex-platform-auth.mjs +3 -1
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs +178 -0
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs +85 -0
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs +169 -0
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs +177 -0
- package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs +76 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs +46 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs +70 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs +66 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs +198 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs +233 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs +93 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs +97 -0
- package/fesm2022/acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs +269 -0
- package/fesm2022/acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-email-widget-view.component-B6puyycL.mjs +130 -0
- package/fesm2022/acorex-platform-common-email-widget-view.component-B6puyycL.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-file-widget-column.component-C1faGR4K.mjs +49 -0
- package/fesm2022/acorex-platform-common-file-widget-column.component-C1faGR4K.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs +221 -0
- package/fesm2022/acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs +51 -0
- package/fesm2022/acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs +174 -0
- package/fesm2022/acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs +209 -0
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs +50 -0
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs +193 -0
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs +60 -0
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs +66 -0
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs +96 -0
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs +135 -0
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs +77 -0
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs +114 -0
- package/fesm2022/acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs +86 -0
- package/fesm2022/acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs +95 -0
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs +157 -0
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs +154 -0
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs +68 -0
- package/fesm2022/acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs +157 -0
- package/fesm2022/acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs +54 -0
- package/fesm2022/acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs +89 -0
- package/fesm2022/acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs +64 -0
- package/fesm2022/acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-password-widget-view.component-CKaQItON.mjs +128 -0
- package/fesm2022/acorex-platform-common-password-widget-view.component-CKaQItON.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs +115 -0
- package/fesm2022/acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs +265 -0
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs +145 -0
- package/fesm2022/acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs +85 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs +89 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs +58 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs +69 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs +76 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs +65 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs +69 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs +148 -0
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs +63 -0
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs +147 -0
- package/fesm2022/acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs +70 -0
- package/fesm2022/acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs +183 -0
- package/fesm2022/acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs +90 -0
- package/fesm2022/acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs +80 -0
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs +46 -0
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs +72 -0
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +2056 -246
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +687 -0
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +1848 -0
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs +107 -0
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs +88 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts.mjs +1058 -2553
- package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
- package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs +48 -0
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs +57 -0
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +1755 -1293
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/layout/builder/README.md +4 -0
- package/layout/builder/index.d.ts +1 -0
- package/layout/builder/lib/builder/builder.module.d.ts +23 -0
- package/layout/builder/lib/builder/builder.service.d.ts +27 -0
- package/layout/builder/lib/builder/index.d.ts +8 -0
- package/layout/builder/lib/builder/layout.types.d.ts +30 -0
- package/layout/builder/lib/builder/widget-column-renderer.d.ts +31 -0
- package/layout/builder/lib/builder/widget-container.component.d.ts +15 -0
- package/layout/builder/lib/builder/widget-renderer.component.d.ts +43 -0
- package/layout/builder/lib/builder/widget.types.d.ts +74 -0
- package/layout/entity/README.md +4 -0
- package/layout/entity/index.d.ts +1 -0
- package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +32 -0
- package/layout/entity/lib/entity-master-create.viewmodel.d.ts +49 -0
- package/layout/entity/lib/entity-master-list.viewmodel.d.ts +82 -0
- package/layout/entity/lib/entity-master-single.viewmodel.d.ts +62 -0
- package/layout/entity/lib/entity-master-update.viewmodel.d.ts +39 -0
- package/layout/entity/lib/entity-registery.service.d.ts +34 -0
- package/layout/entity/lib/entity.config.d.ts +21 -0
- package/layout/entity/lib/entity.module.d.ts +9 -0
- package/layout/entity/lib/entity.viewmodel.d.ts +22 -0
- package/layout/entity/lib/index.d.ts +8 -0
- package/layout/entity/lib/widgets/lookup-widget/index.d.ts +7 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.d.ts +6 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.d.ts +6 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +27 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.d.ts +6 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.d.ts +6 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.d.ts +13 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +15 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +6 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.d.ts +2 -0
- package/layout/entity/lib/workflows/create-entity.workflow.d.ts +29 -0
- package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +26 -0
- package/layout/entity/lib/workflows/modify-section.workflow.d.ts +34 -0
- package/layout/entity/lib/workflows/show-details.workflow.d.ts +10 -0
- package/layouts/README.md +3 -3
- package/layouts/index.d.ts +0 -2
- package/layouts/lib/admin/admin.module.d.ts +3 -6
- package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.d.ts +1 -1
- package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.d.ts +3 -3
- package/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.d.ts +3 -3
- package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +1 -1
- package/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.d.ts +2 -3
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +1 -1
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.d.ts +4 -6
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.d.ts +1 -1
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.d.ts +3 -4
- package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +6 -6
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +5 -6
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +3 -4
- package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.d.ts +1 -1
- package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.d.ts +3 -3
- package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +2 -2
- package/layouts/lib/admin/entity-layout/workflows/index.d.ts +3 -0
- package/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.d.ts +12 -0
- package/layouts/lib/admin/entity-layout/workflows/show-details.workflow.d.ts +9 -1
- package/layouts/lib/admin/entity-layout/workflows/show-list.workflow.d.ts +9 -1
- package/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.d.ts +11 -1
- package/layouts/lib/admin/index.d.ts +0 -2
- package/layouts/lib/layout.module.d.ts +4 -4
- package/mocks/README.md +3 -3
- package/package.json +13 -19
- package/widgets/README.md +3 -3
- package/widgets/lib/editors/checkbox/checkbox-widget-column.component.d.ts +9 -0
- package/widgets/lib/editors/checkbox/checkbox-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/checkbox/checkbox-widget-view.component.d.ts +9 -0
- package/widgets/lib/editors/checkbox/checkbox-widget.config.d.ts +1 -1
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.d.ts +11 -3
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.d.ts +1 -1
- package/widgets/lib/editors/email-box-widget/email-box-widget-column.component.d.ts +13 -3
- package/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.d.ts +7 -1
- package/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/email-box-widget/email-box-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/email-box-widget/email-box-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/email-box-widget/email-box-widget.config.d.ts +1 -1
- package/widgets/lib/editors/file-box-widget/file-box-widget-column.component.d.ts +1 -1
- package/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/file-box-widget/file-box-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/file-box-widget/file-box-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/file-box-widget/file-box-widget.config.d.ts +1 -1
- package/widgets/lib/editors/gallery-widget/gallery-widget-column.component.d.ts +1 -1
- package/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/gallery-widget/gallery-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/gallery-widget/gallery-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/gallery-widget/gallery-widget.config.d.ts +1 -1
- package/widgets/lib/editors/map-box-widget/map-box-widget-column.component.d.ts +1 -1
- package/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/map-box-widget/map-box-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/map-box-widget/map-box-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/map-box-widget/map-box-widget.config.d.ts +1 -1
- package/widgets/lib/editors/number-box-widget/number-box-widget-column.component.d.ts +5 -3
- package/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +2 -2
- package/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/number-box-widget/number-box-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/number-box-widget/number-box-widget-view.component.d.ts +8 -2
- package/widgets/lib/editors/number-box-widget/number-box-widget.config.d.ts +1 -1
- package/widgets/lib/editors/password-box-widget/password-box-widget-column.component.d.ts +1 -1
- package/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/password-box-widget/password-box-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/password-box-widget/password-box-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/password-box-widget/password-box-widget.config.d.ts +1 -1
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.d.ts +13 -3
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.d.ts +6 -1
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/phone-box-widget/phone-box-widget.config.d.ts +1 -1
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.d.ts +1 -1
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/rich-text-widget/rich-text-widget.config.d.ts +1 -1
- package/widgets/lib/editors/select-box-widget/select-box-widget-column.component.d.ts +3 -3
- package/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/select-box-widget/select-box-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/select-box-widget/select-box-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/select-box-widget/select-box-widget.config.d.ts +1 -1
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.d.ts +11 -3
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.d.ts +7 -2
- package/widgets/lib/editors/selection-list-widget/selection-list-widget.config.d.ts +1 -1
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.d.ts +1 -1
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +1 -1
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.d.ts +1 -1
- package/widgets/lib/editors/text-box-widget/text-box-widget-column.component.d.ts +3 -3
- package/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.d.ts +1 -1
- package/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.d.ts +2 -2
- package/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.d.ts +1 -1
- package/widgets/lib/editors/text-box-widget/text-box-widget-print.component.d.ts +1 -1
- package/widgets/lib/editors/text-box-widget/text-box-widget-view.component.d.ts +1 -1
- package/widgets/lib/editors/text-box-widget/text-box-widget.config.d.ts +1 -1
- package/widgets/lib/editors/toggle-widget/index.d.ts +7 -0
- package/widgets/lib/editors/toggle-widget/toggle-widget-column.component.d.ts +9 -0
- package/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.d.ts +6 -0
- package/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.d.ts +7 -0
- package/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.d.ts +6 -0
- package/widgets/lib/editors/toggle-widget/toggle-widget-print.component.d.ts +6 -0
- package/widgets/lib/editors/toggle-widget/toggle-widget-view.component.d.ts +9 -0
- package/widgets/lib/editors/toggle-widget/toggle-widget.config.d.ts +2 -0
- package/widgets/lib/layout/block-widget/block-widget.component.d.ts +2 -2
- package/widgets/lib/layout/block-widget/block-widget.config.d.ts +1 -1
- package/widgets/lib/widgets.module.d.ts +1 -1
- package/workflow/README.md +3 -3
- package/workflow/lib/workflow.types.d.ts +2 -2
- package/common/lib/shared/state-persistence/index.d.ts +0 -3
- package/common/lib/shared/state-persistence/state-persistence.actions.d.ts +0 -1
- package/common/lib/shared/state-persistence/state-persistence.module.d.ts +0 -8
- package/common/lib/shared/state-persistence/state-persistence.reducers.d.ts +0 -3
- package/common/lib/utils/sticky.directive.d.ts +0 -24
- package/core/README.md +0 -4
- package/core/index.d.ts +0 -4
- package/core/lib/app/application.types.d.ts +0 -144
- package/core/lib/core.module.d.ts +0 -6
- package/esm2022/common/lib/menu/index.mjs +0 -3
- package/esm2022/common/lib/menu/menu.loader.mjs +0 -39
- package/esm2022/common/lib/menu/menu.types.mjs +0 -2
- package/esm2022/common/lib/shared/logo.types.mjs +0 -21
- package/esm2022/common/lib/shared/state-persistence/index.mjs +0 -4
- package/esm2022/common/lib/shared/state-persistence/state-persistence.actions.mjs +0 -3
- package/esm2022/common/lib/shared/state-persistence/state-persistence.module.mjs +0 -36
- package/esm2022/common/lib/shared/state-persistence/state-persistence.reducers.mjs +0 -30
- package/esm2022/common/lib/utils/sticky.directive.mjs +0 -74
- package/esm2022/core/acorex-platform-core.mjs +0 -5
- package/esm2022/core/index.mjs +0 -5
- package/esm2022/core/lib/app/application.types.mjs +0 -19
- package/esm2022/core/lib/app/operators.mjs +0 -50
- package/esm2022/core/lib/configs/config.types.mjs +0 -3
- package/esm2022/core/lib/core.module.mjs +0 -16
- package/esm2022/layout/acorex-platform-layout.mjs +0 -5
- package/esm2022/layout/index.mjs +0 -3
- package/esm2022/layout/lib/builder/builder.module.mjs +0 -66
- package/esm2022/layout/lib/builder/context.service.mjs +0 -64
- package/esm2022/layout/lib/builder/index.mjs +0 -8
- package/esm2022/layout/lib/builder/widget-column-renderer.mjs +0 -75
- package/esm2022/layout/lib/builder/widget-container.mjs +0 -45
- package/esm2022/layout/lib/builder/widget-registery.service.mjs +0 -33
- package/esm2022/layout/lib/builder/widget-renderer.mjs +0 -279
- package/esm2022/layout/lib/builder/widget.types.mjs +0 -49
- package/esm2022/layout/lib/component-slot/component-slot-loader.service.mjs +0 -56
- package/esm2022/layout/lib/component-slot/component-slot-registery.service.mjs +0 -28
- package/esm2022/layout/lib/component-slot/component-slot.directive.mjs +0 -24
- package/esm2022/layout/lib/component-slot/component-slot.module.mjs +0 -72
- package/esm2022/layout/lib/component-slot/component-slot.types.mjs +0 -2
- package/esm2022/layout/lib/component-slot/index.mjs +0 -6
- package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.mjs +0 -58
- package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.component.mjs +0 -50
- package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.module.mjs +0 -57
- package/esm2022/layouts/lib/admin/admin-child-layout/index.mjs +0 -4
- package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.component.mjs +0 -74
- package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.module.mjs +0 -92
- package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.mjs +0 -14
- package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.mjs +0 -29
- package/esm2022/layouts/lib/admin/admin-root-layout/index.mjs +0 -5
- package/esm2022/layouts/lib/admin/store/admin-layout.actions.mjs +0 -12
- package/esm2022/layouts/lib/admin/store/admin-layout.effects.mjs +0 -29
- package/esm2022/layouts/lib/admin/store/admin-layout.reducers.mjs +0 -60
- package/esm2022/layouts/lib/admin/store/admin-layout.selectors.mjs +0 -8
- package/esm2022/layouts/lib/admin/store/admin-layout.state.mjs +0 -16
- package/esm2022/layouts/lib/admin/store/index.mjs +0 -6
- package/esm2022/layouts/lib/layout.routes.mjs +0 -15
- package/esm2022/layouts/lib/shared/components/content-view/content-view.page.mjs +0 -64
- package/esm2022/layouts/lib/shared/components/content-view/content-view.type.mjs +0 -2
- package/esm2022/layouts/lib/shared/components/error-401/error-401.component.mjs +0 -28
- package/esm2022/layouts/lib/shared/components/error-404/error-404.component.mjs +0 -22
- package/esm2022/layouts/lib/shared/components/error-offline/error-offline.component.mjs +0 -16
- package/esm2022/layouts/lib/shared/components/index.mjs +0 -10
- package/esm2022/layouts/lib/shared/components/logo/logo.component.mjs +0 -38
- package/esm2022/layouts/lib/shared/components/slots/footer-text-slot.component.mjs +0 -20
- package/esm2022/layouts/lib/shared/components/slots/navbar-slot.component.mjs +0 -36
- package/esm2022/layouts/lib/shared/components/slots/theme-slot.component.mjs +0 -48
- package/esm2022/layouts/lib/shared/entity/entity-registery.service.mjs +0 -70
- package/esm2022/layouts/lib/shared/entity/entity.class.mjs +0 -32
- package/esm2022/layouts/lib/shared/entity/entity.loader.mjs +0 -13
- package/esm2022/layouts/lib/shared/entity/index.mjs +0 -4
- package/esm2022/layouts/lib/shared/index.mjs +0 -5
- package/esm2022/layouts/lib/shared/services/index.mjs +0 -2
- package/esm2022/layouts/lib/shared/services/layout.service.mjs +0 -79
- package/esm2022/layouts/lib/shared/workflows/common.workflow.mjs +0 -147
- package/esm2022/layouts/lib/shared/workflows/error-handler.mjs +0 -24
- package/esm2022/layouts/lib/shared/workflows/index.mjs +0 -3
- package/esm2022/layouts/lib/themes/default/entity-layouts/entity-details-view/entity-details-view.component.mjs +0 -73
- package/esm2022/layouts/lib/themes/default/entity-layouts/entity-details.viewmodel.mjs +0 -99
- package/esm2022/layouts/lib/themes/default/index.mjs +0 -3
- package/esm2022/layouts/lib/widgets/avatar/avatar-widget-edit.component.mjs +0 -160
- package/esm2022/layouts/lib/widgets/avatar/avatar-widget-view.component.mjs +0 -61
- package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-column.component.mjs +0 -53
- package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.mjs +0 -22
- package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-view.component.mjs +0 -47
- package/esm2022/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.mjs +0 -147
- package/esm2022/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.mjs +0 -135
- package/esm2022/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.mjs +0 -125
- package/esm2022/layouts/lib/widgets/common-widgets.module.mjs +0 -504
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-column.component.mjs +0 -44
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.mjs +0 -178
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.mjs +0 -214
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-view.component.mjs +0 -71
- package/esm2022/layouts/lib/widgets/email/email-widget-column.component.mjs +0 -73
- package/esm2022/layouts/lib/widgets/email/email-widget-edit.component.mjs +0 -249
- package/esm2022/layouts/lib/widgets/email/email-widget-view.component.mjs +0 -108
- package/esm2022/layouts/lib/widgets/file/file-widget-column.component.mjs +0 -27
- package/esm2022/layouts/lib/widgets/file/file-widget-edit.component.mjs +0 -200
- package/esm2022/layouts/lib/widgets/file/file-widget-filter.component.mjs +0 -27
- package/esm2022/layouts/lib/widgets/file/file-widget-view.component.mjs +0 -153
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-edit.component.mjs +0 -189
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-filter.component.mjs +0 -27
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-types.mjs +0 -2
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-view.component.mjs +0 -173
- package/esm2022/layouts/lib/widgets/index.mjs +0 -2
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-column.component.mjs +0 -43
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-edit.component.mjs +0 -74
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-filter.component.mjs +0 -115
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-view.component.mjs +0 -54
- package/esm2022/layouts/lib/widgets/map/map-widget-edit.component.mjs +0 -91
- package/esm2022/layouts/lib/widgets/map/map-widget-view.component.mjs +0 -63
- package/esm2022/layouts/lib/widgets/messenger/messenger-widget-column.component.mjs +0 -71
- package/esm2022/layouts/lib/widgets/messenger/messenger-widget-edit.component.mjs +0 -136
- package/esm2022/layouts/lib/widgets/messenger/messenger-widget-view.component.mjs +0 -132
- package/esm2022/layouts/lib/widgets/number/number-widget-edit.component.mjs +0 -46
- package/esm2022/layouts/lib/widgets/number/number-widget-view.component.mjs +0 -30
- package/esm2022/layouts/lib/widgets/password/change-password.component.mjs +0 -175
- package/esm2022/layouts/lib/widgets/password/password-widget-column.component.mjs +0 -67
- package/esm2022/layouts/lib/widgets/password/password-widget-edit.component.mjs +0 -41
- package/esm2022/layouts/lib/widgets/password/password-widget-view.component.mjs +0 -109
- package/esm2022/layouts/lib/widgets/phone/phone-widget-column.component.mjs +0 -91
- package/esm2022/layouts/lib/widgets/phone/phone-widget-edit.component.mjs +0 -231
- package/esm2022/layouts/lib/widgets/phone/phone-widget-view.component.mjs +0 -123
- package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-column.component.mjs +0 -61
- package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.mjs +0 -67
- package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-view.component.mjs +0 -34
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-column.component.mjs +0 -43
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.mjs +0 -53
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.mjs +0 -41
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-view.component.mjs +0 -45
- package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.mjs +0 -128
- package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.mjs +0 -41
- package/esm2022/layouts/lib/widgets/text/largetext-widget-edit.component.mjs +0 -37
- package/esm2022/layouts/lib/widgets/text/text-widget-column.component.mjs +0 -46
- package/esm2022/layouts/lib/widgets/text/text-widget-edit.component.mjs +0 -162
- package/esm2022/layouts/lib/widgets/text/text-widget-view.component.mjs +0 -66
- package/esm2022/layouts/lib/widgets/toggle/toggle-widget-column.component.mjs +0 -57
- package/esm2022/layouts/lib/widgets/toggle/toggle-widget-edit.component.mjs +0 -25
- package/esm2022/layouts/lib/widgets/toggle/toggle-widget-view.component.mjs +0 -49
- package/esm2022/schema/acorex-platform-schema.mjs +0 -5
- package/esm2022/schema/index.mjs +0 -14
- package/esm2022/schema/lib/component-loader.mjs +0 -2
- package/esm2022/schema/lib/formats.mjs +0 -2
- package/esm2022/schema/lib/operators.mjs +0 -50
- package/esm2022/schema/lib/schema-registery.service.mjs +0 -33
- package/esm2022/schema/lib/schema.module.mjs +0 -23
- package/esm2022/schema/lib/schema.types.mjs +0 -2
- package/esm2022/schema/lib/widget/widget-base.mjs +0 -113
- package/esm2022/schema/lib/widget/widget-column-renderer.mjs +0 -118
- package/esm2022/schema/lib/widget/widget-filter-renderer.mjs +0 -133
- package/esm2022/schema/lib/widget/widget-renderer.mjs +0 -144
- package/esm2022/schema/lib/widget/widget-token.mjs +0 -3
- package/fesm2022/acorex-platform-core.mjs +0 -94
- package/fesm2022/acorex-platform-core.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout.mjs +0 -756
- package/fesm2022/acorex-platform-layout.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-a_eCmVu5.mjs +0 -162
- package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-a_eCmVu5.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-wwI7L0Kc.mjs +0 -64
- package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-wwI7L0Kc.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-CHW4rgxA.mjs +0 -150
- package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-CHW4rgxA.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-change-password.component-vUZy2W_B.mjs +0 -178
- package/fesm2022/acorex-platform-layouts-change-password.component-vUZy2W_B.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-BNEtAS7g.mjs +0 -56
- package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-BNEtAS7g.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-Cqn_QBcv.mjs +0 -25
- package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-Cqn_QBcv.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-DQLggJ9x.mjs +0 -50
- package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-DQLggJ9x.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-D0eNN66F.mjs +0 -47
- package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-D0eNN66F.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-BLqAWdRX.mjs +0 -181
- package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-BLqAWdRX.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-tvc-cTos.mjs +0 -217
- package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-tvc-cTos.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-CjChqiJw.mjs +0 -74
- package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-CjChqiJw.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-email-widget-column.component-CUnxKERe.mjs +0 -76
- package/fesm2022/acorex-platform-layouts-email-widget-column.component-CUnxKERe.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-email-widget-edit.component-DqnNien2.mjs +0 -252
- package/fesm2022/acorex-platform-layouts-email-widget-edit.component-DqnNien2.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-email-widget-view.component-BZsLYW2w.mjs +0 -111
- package/fesm2022/acorex-platform-layouts-email-widget-view.component-BZsLYW2w.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-C3TUCnB2.mjs +0 -108
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-C3TUCnB2.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-BnSfJlc5.mjs +0 -89
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-BnSfJlc5.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-file-widget-column.component-f54Z9E5C.mjs +0 -30
- package/fesm2022/acorex-platform-layouts-file-widget-column.component-f54Z9E5C.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-file-widget-edit.component-CW9ESi46.mjs +0 -203
- package/fesm2022/acorex-platform-layouts-file-widget-edit.component-CW9ESi46.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-file-widget-filter.component-K3mC1xLX.mjs +0 -30
- package/fesm2022/acorex-platform-layouts-file-widget-filter.component-K3mC1xLX.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-file-widget-view.component-DVlbi33v.mjs +0 -156
- package/fesm2022/acorex-platform-layouts-file-widget-view.component-DVlbi33v.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-BUlkUU5u.mjs +0 -192
- package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-BUlkUU5u.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-BYFQSXOV.mjs +0 -30
- package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-BYFQSXOV.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-BqVO3rDH.mjs +0 -176
- package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-BqVO3rDH.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-CmH9daul.mjs +0 -40
- package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-CmH9daul.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-C4Bb5AYW.mjs +0 -46
- package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-C4Bb5AYW.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-B2Qyoi4Q.mjs +0 -120
- package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-B2Qyoi4Q.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-JJzSun3D.mjs +0 -158
- package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-JJzSun3D.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-Bmp_zVcQ.mjs +0 -57
- package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-Bmp_zVcQ.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-map-widget-edit.component-EWlgQnx5.mjs +0 -94
- package/fesm2022/acorex-platform-layouts-map-widget-edit.component-EWlgQnx5.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-map-widget-view.component-cB5Mq7G7.mjs +0 -66
- package/fesm2022/acorex-platform-layouts-map-widget-view.component-cB5Mq7G7.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-DWgWrdmz.mjs +0 -74
- package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-DWgWrdmz.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-C7VOe49a.mjs +0 -139
- package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-C7VOe49a.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-uciMJWYn.mjs +0 -135
- package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-uciMJWYn.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-number-widget-edit.component-CXTwKvM4.mjs +0 -49
- package/fesm2022/acorex-platform-layouts-number-widget-edit.component-CXTwKvM4.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-number-widget-filter.component-ARH7BdkE.mjs +0 -138
- package/fesm2022/acorex-platform-layouts-number-widget-filter.component-ARH7BdkE.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-number-widget-view.component-B0duuEhX.mjs +0 -33
- package/fesm2022/acorex-platform-layouts-number-widget-view.component-B0duuEhX.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-password-widget-column.component-Cav_zCe4.mjs +0 -70
- package/fesm2022/acorex-platform-layouts-password-widget-column.component-Cav_zCe4.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-password-widget-edit.component-Dm2E5zA_.mjs +0 -44
- package/fesm2022/acorex-platform-layouts-password-widget-edit.component-Dm2E5zA_.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-password-widget-view.component-BaipF6fT.mjs +0 -112
- package/fesm2022/acorex-platform-layouts-password-widget-view.component-BaipF6fT.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-phone-widget-column.component-BtZ5Qke0.mjs +0 -94
- package/fesm2022/acorex-platform-layouts-phone-widget-column.component-BtZ5Qke0.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-BugCYS-l.mjs +0 -234
- package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-BugCYS-l.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-phone-widget-view.component-C7EN8qDk.mjs +0 -126
- package/fesm2022/acorex-platform-layouts-phone-widget-view.component-C7EN8qDk.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-B99s2Zhi.mjs +0 -64
- package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-B99s2Zhi.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-Di1P6EQV.mjs +0 -70
- package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-Di1P6EQV.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component-B_QG0YJc.mjs +0 -37
- package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component-B_QG0YJc.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-Cx9QqR9f.mjs +0 -46
- package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-Cx9QqR9f.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-DU-U-Af-.mjs +0 -56
- package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-DU-U-Af-.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-B8y8heXR.mjs +0 -44
- package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-B8y8heXR.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-BDupWZy-.mjs +0 -48
- package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-BDupWZy-.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-bEDsl8mg.mjs +0 -131
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-bEDsl8mg.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-DB903O2F.mjs +0 -44
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-DB903O2F.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-string-widget-filter.component-D3ZxVk6S.mjs +0 -128
- package/fesm2022/acorex-platform-layouts-string-widget-filter.component-D3ZxVk6S.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-text-widget-column.component-D8WDAbQB.mjs +0 -49
- package/fesm2022/acorex-platform-layouts-text-widget-column.component-D8WDAbQB.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-text-widget-edit.component-BrDbNXgJ.mjs +0 -165
- package/fesm2022/acorex-platform-layouts-text-widget-edit.component-BrDbNXgJ.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-text-widget-view.component-XHN41M3T.mjs +0 -69
- package/fesm2022/acorex-platform-layouts-text-widget-view.component-XHN41M3T.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-BjIyTuZj.mjs +0 -60
- package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-BjIyTuZj.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-BKbBile6.mjs +0 -28
- package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-BKbBile6.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-CyjhQSiV.mjs +0 -52
- package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-CyjhQSiV.mjs.map +0 -1
- package/fesm2022/acorex-platform-schema.mjs +0 -594
- package/fesm2022/acorex-platform-schema.mjs.map +0 -1
- package/layout/README.md +0 -4
- package/layout/index.d.ts +0 -2
- package/layout/lib/builder/builder.module.d.ts +0 -23
- package/layout/lib/builder/context.service.d.ts +0 -17
- package/layout/lib/builder/index.d.ts +0 -7
- package/layout/lib/builder/widget-column-renderer.d.ts +0 -30
- package/layout/lib/builder/widget-container.d.ts +0 -13
- package/layout/lib/builder/widget-renderer.d.ts +0 -41
- package/layout/lib/builder/widget.types.d.ts +0 -55
- package/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.d.ts +0 -22
- package/layouts/lib/admin/admin-child-layout/admin-child-layout.component.d.ts +0 -21
- package/layouts/lib/admin/admin-child-layout/admin-child-layout.module.d.ts +0 -17
- package/layouts/lib/admin/admin-child-layout/index.d.ts +0 -3
- package/layouts/lib/admin/admin-root-layout/admin-root-layout.component.d.ts +0 -30
- package/layouts/lib/admin/admin-root-layout/admin-root-layout.module.d.ts +0 -25
- package/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.d.ts +0 -5
- package/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.d.ts +0 -10
- package/layouts/lib/admin/admin-root-layout/index.d.ts +0 -4
- package/layouts/lib/admin/store/admin-layout.selectors.d.ts +0 -5
- package/layouts/lib/layout.routes.d.ts +0 -2
- package/layouts/lib/shared/components/content-view/content-view.page.d.ts +0 -23
- package/layouts/lib/shared/components/content-view/content-view.type.d.ts +0 -16
- package/layouts/lib/shared/components/error-401/error-401.component.d.ts +0 -10
- package/layouts/lib/shared/components/error-404/error-404.component.d.ts +0 -8
- package/layouts/lib/shared/components/error-offline/error-offline.component.d.ts +0 -9
- package/layouts/lib/shared/components/index.d.ts +0 -9
- package/layouts/lib/shared/components/slots/navbar-slot.component.d.ts +0 -10
- package/layouts/lib/shared/entity/entity.class.d.ts +0 -153
- package/layouts/lib/shared/index.d.ts +0 -4
- package/layouts/lib/shared/services/index.d.ts +0 -1
- package/layouts/lib/shared/workflows/common.workflow.d.ts +0 -61
- package/layouts/lib/shared/workflows/error-handler.d.ts +0 -8
- package/layouts/lib/themes/default/entity-layouts/entity-details-view/entity-details-view.component.d.ts +0 -11
- package/layouts/lib/themes/default/entity-layouts/entity-details.viewmodel.d.ts +0 -34
- package/layouts/lib/themes/default/index.d.ts +0 -2
- package/layouts/lib/widgets/avatar/avatar-widget-edit.component.d.ts +0 -16
- package/layouts/lib/widgets/avatar/avatar-widget-view.component.d.ts +0 -13
- package/layouts/lib/widgets/checkbox/checkbox-widget-column.component.d.ts +0 -11
- package/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.d.ts +0 -6
- package/layouts/lib/widgets/checkbox/checkbox-widget-view.component.d.ts +0 -11
- package/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +0 -17
- package/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.d.ts +0 -11
- package/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.d.ts +0 -11
- package/layouts/lib/widgets/common-widgets.module.d.ts +0 -32
- package/layouts/lib/widgets/dateTime/dateTime-widget-column.component.d.ts +0 -11
- package/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.d.ts +0 -26
- package/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.d.ts +0 -16
- package/layouts/lib/widgets/dateTime/dateTime-widget-view.component.d.ts +0 -11
- package/layouts/lib/widgets/email/email-widget-column.component.d.ts +0 -16
- package/layouts/lib/widgets/email/email-widget-edit.component.d.ts +0 -28
- package/layouts/lib/widgets/email/email-widget-view.component.d.ts +0 -16
- package/layouts/lib/widgets/file/file-widget-column.component.d.ts +0 -8
- package/layouts/lib/widgets/file/file-widget-edit.component.d.ts +0 -17
- package/layouts/lib/widgets/file/file-widget-filter.component.d.ts +0 -6
- package/layouts/lib/widgets/file/file-widget-view.component.d.ts +0 -17
- package/layouts/lib/widgets/gallery/gallery-widget-edit.component.d.ts +0 -15
- package/layouts/lib/widgets/gallery/gallery-widget-filter.component.d.ts +0 -6
- package/layouts/lib/widgets/gallery/gallery-widget-view.component.d.ts +0 -16
- package/layouts/lib/widgets/lookup/lookup-widget-column.component.d.ts +0 -16
- package/layouts/lib/widgets/lookup/lookup-widget-edit.component.d.ts +0 -15
- package/layouts/lib/widgets/lookup/lookup-widget-filter.component.d.ts +0 -16
- package/layouts/lib/widgets/lookup/lookup-widget-view.component.d.ts +0 -17
- package/layouts/lib/widgets/map/map-widget-edit.component.d.ts +0 -15
- package/layouts/lib/widgets/map/map-widget-view.component.d.ts +0 -17
- package/layouts/lib/widgets/messenger/messenger-widget-column.component.d.ts +0 -15
- package/layouts/lib/widgets/messenger/messenger-widget-edit.component.d.ts +0 -14
- package/layouts/lib/widgets/messenger/messenger-widget-view.component.d.ts +0 -17
- package/layouts/lib/widgets/number/number-widget-edit.component.d.ts +0 -7
- package/layouts/lib/widgets/number/number-widget-view.component.d.ts +0 -8
- package/layouts/lib/widgets/password/password-widget-column.component.d.ts +0 -14
- package/layouts/lib/widgets/password/password-widget-edit.component.d.ts +0 -6
- package/layouts/lib/widgets/password/password-widget-view.component.d.ts +0 -18
- package/layouts/lib/widgets/phone/phone-widget-column.component.d.ts +0 -15
- package/layouts/lib/widgets/phone/phone-widget-edit.component.d.ts +0 -29
- package/layouts/lib/widgets/phone/phone-widget-view.component.d.ts +0 -18
- package/layouts/lib/widgets/rich-text/rich-text-widget-column.component.d.ts +0 -11
- package/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.d.ts +0 -33
- package/layouts/lib/widgets/rich-text/rich-text-widget-view.component.d.ts +0 -10
- package/layouts/lib/widgets/selection-list/selection-list-widget-column.component.d.ts +0 -16
- package/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.d.ts +0 -12
- package/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.d.ts +0 -9
- package/layouts/lib/widgets/selection-list/selection-list-widget-view.component.d.ts +0 -15
- package/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +0 -19
- package/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.d.ts +0 -8
- package/layouts/lib/widgets/text/largetext-widget-edit.component.d.ts +0 -6
- package/layouts/lib/widgets/text/text-widget-column.component.d.ts +0 -12
- package/layouts/lib/widgets/text/text-widget-edit.component.d.ts +0 -23
- package/layouts/lib/widgets/text/text-widget-view.component.d.ts +0 -11
- package/layouts/lib/widgets/toggle/toggle-widget-column.component.d.ts +0 -11
- package/layouts/lib/widgets/toggle/toggle-widget-edit.component.d.ts +0 -6
- package/layouts/lib/widgets/toggle/toggle-widget-view.component.d.ts +0 -11
- package/schema/README.md +0 -3
- package/schema/index.d.ts +0 -11
- package/schema/lib/operators.d.ts +0 -22
- package/schema/lib/schema.types.d.ts +0 -16
- package/schema/lib/widget/widget-base.d.ts +0 -45
- package/schema/lib/widget/widget-token.d.ts +0 -16
- /package/{core → common}/lib/app/operators.d.ts +0 -0
- /package/{core → common}/lib/configs/config.types.d.ts +0 -0
- /package/{layout/lib → common/lib/layout}/component-slot/component-slot-loader.service.d.ts +0 -0
- /package/{layout/lib → common/lib/layout}/component-slot/component-slot-registery.service.d.ts +0 -0
- /package/{layout/lib → common/lib/layout}/component-slot/component-slot.directive.d.ts +0 -0
- /package/{layout/lib → common/lib/layout}/component-slot/component-slot.module.d.ts +0 -0
- /package/{layout/lib → common/lib/layout}/component-slot/component-slot.types.d.ts +0 -0
- /package/{layout/lib → common/lib/layout}/component-slot/index.d.ts +0 -0
- /package/{layouts/lib/shared/services → common/lib/layout}/layout.service.d.ts +0 -0
- /package/{layouts/lib/shared/components → common/lib/layout}/logo/logo.component.d.ts +0 -0
- /package/common/lib/{shared → layout/logo}/logo.types.d.ts +0 -0
- /package/common/lib/{menu → layout/menu}/index.d.ts +0 -0
- /package/common/lib/{menu → layout/menu}/menu.loader.d.ts +0 -0
- /package/common/lib/{menu → layout/menu}/menu.types.d.ts +0 -0
- /package/{layouts/lib/shared → common/lib/layout/theme}/components/slots/footer-text-slot.component.d.ts +0 -0
- /package/{layouts/lib/shared → common/lib/layout/theme}/components/slots/theme-slot.component.d.ts +0 -0
- /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.actions.d.ts +0 -0
- /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.effects.d.ts +0 -0
- /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.reducers.d.ts +0 -0
- /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.state.d.ts +0 -0
- /package/{layouts/lib/admin → common/lib/layout/theme}/store/index.d.ts +0 -0
- /package/{schema/lib → common/lib/schema}/component-loader.d.ts +0 -0
- /package/{layouts/lib/shared → common/lib/schema}/entity/entity-registery.service.d.ts +0 -0
- /package/{layouts/lib/shared → common/lib/schema}/entity/entity.loader.d.ts +0 -0
- /package/{layouts/lib/shared → common/lib/schema}/entity/index.d.ts +0 -0
- /package/{schema/lib → common/lib/schema}/formats.d.ts +0 -0
- /package/{schema/lib → common/lib/schema}/schema-registery.service.d.ts +0 -0
- /package/{schema/lib → common/lib/schema}/schema.module.d.ts +0 -0
- /package/{schema/lib → common/lib/schema}/widget/widget-column-renderer.d.ts +0 -0
- /package/{schema/lib → common/lib/schema}/widget/widget-filter-renderer.d.ts +0 -0
- /package/{schema/lib → common/lib/schema}/widget/widget-renderer.d.ts +0 -0
- /package/{layouts/lib → common/lib/schema}/widgets/gallery/gallery-widget-types.d.ts +0 -0
- /package/{layouts/lib → common/lib/schema}/widgets/index.d.ts +0 -0
- /package/{layouts/lib → common/lib/schema}/widgets/password/change-password.component.d.ts +0 -0
- /package/{layouts/lib/shared → common/lib}/workflows/index.d.ts +0 -0
- /package/layout/{lib → builder/lib}/builder/widget-registery.service.d.ts +0 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { cloneDeep } from "lodash-es";
|
|
2
|
+
import { Injectable, Injector, computed, inject, signal } from "@angular/core";
|
|
3
|
+
import { AXPEntityDefinitionRegistryService } from "./entity-registery.service";
|
|
4
|
+
import { AXPEntityCommandTriggerViewModel, AXPEntityListViewColumnViewModel } from "./entity.viewmodel";
|
|
5
|
+
import { AXFormatService } from "@acorex/core/format";
|
|
6
|
+
import { AXPSessionService } from "@acorex/platform/auth";
|
|
7
|
+
import { AXDataSource } from "@acorex/components/common";
|
|
8
|
+
import { AXPWorkflowService } from "@acorex/platform/workflow";
|
|
9
|
+
import { AXPEntityCommandScope, AXPLayoutService } from "@acorex/platform/common";
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class AXPEntityMasterListViewQueryViewModel {
|
|
12
|
+
constructor(entity, section, view) {
|
|
13
|
+
this.entity = entity;
|
|
14
|
+
this.section = section;
|
|
15
|
+
this.view = view;
|
|
16
|
+
this.name = this.view.name;
|
|
17
|
+
this.title = this.view.title;
|
|
18
|
+
this.sorts = this.view.sorts;
|
|
19
|
+
this.columns = this.view.columns;
|
|
20
|
+
this.conditions = this.view.conditions;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export class AXPEntityMasterListViewModel {
|
|
24
|
+
constructor(injector, config) {
|
|
25
|
+
this.injector = injector;
|
|
26
|
+
this.config = config;
|
|
27
|
+
this.entityDef = cloneDeep(this.config);
|
|
28
|
+
this._viewDef = cloneDeep(this.entityDef.interfaces?.master?.list);
|
|
29
|
+
this.formatService = this.injector.get(AXFormatService);
|
|
30
|
+
this.session = this.injector.get(AXPSessionService);
|
|
31
|
+
this.workflow = this.injector.get(AXPWorkflowService);
|
|
32
|
+
this.dataSource = new AXDataSource({
|
|
33
|
+
byKey: (key) => {
|
|
34
|
+
const func = this.entityDef.queries.byKey.execute;
|
|
35
|
+
return func();
|
|
36
|
+
},
|
|
37
|
+
load: (e) => {
|
|
38
|
+
const func = this.entityDef.queries.list?.execute;
|
|
39
|
+
return func(e);
|
|
40
|
+
},
|
|
41
|
+
pageSize: 10,
|
|
42
|
+
key: 'id'
|
|
43
|
+
});
|
|
44
|
+
this.selectedItems = signal([]);
|
|
45
|
+
this.hasSelectedItems = computed(() => {
|
|
46
|
+
return this.selectedItems().length > 0;
|
|
47
|
+
});
|
|
48
|
+
//****************** Title ******************//
|
|
49
|
+
this.title = computed(() => {
|
|
50
|
+
return this._viewDef.title ?? this.entityDef.formats.plural;
|
|
51
|
+
});
|
|
52
|
+
//****************** Description ******************//
|
|
53
|
+
this.description = computed(() => {
|
|
54
|
+
return this._viewDef.description ?? null;
|
|
55
|
+
});
|
|
56
|
+
//****************** Inline filter ******************//
|
|
57
|
+
this.inlineFiltersPlaceholders = computed(() => {
|
|
58
|
+
return this.entityDef.properties.filter(p => p.options?.filter?.inline?.enabled).map(c => c.title);
|
|
59
|
+
});
|
|
60
|
+
this.hasInlineFilters = computed(() => {
|
|
61
|
+
return this.inlineFiltersPlaceholders().length > 0;
|
|
62
|
+
});
|
|
63
|
+
//****************** Beardcrumbs ******************//
|
|
64
|
+
this.beardcrumbs = computed(() => {
|
|
65
|
+
return [
|
|
66
|
+
{
|
|
67
|
+
title: "Home",
|
|
68
|
+
icon: "fa-solid fa-home ax-text-xs ax-me-2",
|
|
69
|
+
url: [`/${this.session.application?.name}`]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
title: this.title(),
|
|
73
|
+
url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list']
|
|
74
|
+
}
|
|
75
|
+
];
|
|
76
|
+
});
|
|
77
|
+
//****************** Actions ******************//
|
|
78
|
+
this.actions = computed(() => {
|
|
79
|
+
const list = this.entityDef.interfaces?.master?.list?.actions ?? [];
|
|
80
|
+
return list
|
|
81
|
+
.filter(a => (a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
|
|
82
|
+
(a.scope != AXPEntityCommandScope.Selected && !this.hasSelectedItems()))
|
|
83
|
+
.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];
|
|
84
|
+
});
|
|
85
|
+
this.primaryActions = computed(() => {
|
|
86
|
+
return this.actions().filter(c => c.priority == 'primary');
|
|
87
|
+
});
|
|
88
|
+
this.secondaryActions = computed(() => {
|
|
89
|
+
return this.actions().filter(c => c.priority == 'secondary');
|
|
90
|
+
});
|
|
91
|
+
//****************** Filter ******************//
|
|
92
|
+
this.inlineFilters = {
|
|
93
|
+
field: null,
|
|
94
|
+
logic: 'or',
|
|
95
|
+
operator: null,
|
|
96
|
+
filters: []
|
|
97
|
+
};
|
|
98
|
+
this.advanceFilters = {
|
|
99
|
+
field: null,
|
|
100
|
+
logic: 'and',
|
|
101
|
+
operator: null,
|
|
102
|
+
filters: []
|
|
103
|
+
};
|
|
104
|
+
//****************** Columns ******************//
|
|
105
|
+
this.allAvailableColumns = () => {
|
|
106
|
+
const props = cloneDeep(this.entityDef.properties.filter(c => c.schema.hidden != true && c.options?.table?.enabled));
|
|
107
|
+
return props.map(e => {
|
|
108
|
+
return new AXPEntityListViewColumnViewModel(e);
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
this.visibleColumnCount = () => {
|
|
112
|
+
return this.columns().filter(c => c.visible == true).length;
|
|
113
|
+
};
|
|
114
|
+
this.columns = signal([]);
|
|
115
|
+
//****************** Sort ******************//
|
|
116
|
+
this.sortableFields = () => {
|
|
117
|
+
const props = this.entityDef.properties.filter(c => c.options?.sort?.enabled);
|
|
118
|
+
return props.map(e => {
|
|
119
|
+
return {
|
|
120
|
+
name: e.name,
|
|
121
|
+
title: e.title,
|
|
122
|
+
dir: 'asc'
|
|
123
|
+
};
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
this.sortableFieldsCount = () => {
|
|
127
|
+
return this.entityDef.properties.filter(c => c.options?.sort?.enabled).length ?? 0;
|
|
128
|
+
};
|
|
129
|
+
this.canSort = () => {
|
|
130
|
+
return this.sortableFieldsCount() > 0;
|
|
131
|
+
};
|
|
132
|
+
this.canAddMoreSort = () => {
|
|
133
|
+
return this.sortedCount() < this.sortableFieldsCount();
|
|
134
|
+
};
|
|
135
|
+
this.sortedCount = () => {
|
|
136
|
+
return this.sortedFields().length;
|
|
137
|
+
};
|
|
138
|
+
this.sortedFields = signal([]);
|
|
139
|
+
this.views = computed(() => {
|
|
140
|
+
const views = this.entityDef.interfaces?.master?.list?.views ?? [];
|
|
141
|
+
return views.map(v => {
|
|
142
|
+
return new AXPEntityMasterListViewQueryViewModel(this.entityDef, this, v);
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
this.view = signal(this.views()[0]);
|
|
146
|
+
}
|
|
147
|
+
clearSelection() {
|
|
148
|
+
this.selectedItems.set([]);
|
|
149
|
+
}
|
|
150
|
+
applyInlineFilter(value) {
|
|
151
|
+
const props = this.entityDef.properties.filter(c => c.options?.filter?.inline?.enabled);
|
|
152
|
+
this.inlineFilters.filters = [];
|
|
153
|
+
if (value) {
|
|
154
|
+
props.forEach(p => {
|
|
155
|
+
this.inlineFilters.filters?.push({
|
|
156
|
+
field: p.name,
|
|
157
|
+
operator: {
|
|
158
|
+
type: 'contains'
|
|
159
|
+
},
|
|
160
|
+
value
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
this.applyFilterAndSort();
|
|
165
|
+
}
|
|
166
|
+
applyFilterAndSort() {
|
|
167
|
+
this.dataSource.clearFilter();
|
|
168
|
+
//
|
|
169
|
+
this.dataSource.sort(...this.sortedFields().map(s => ({ dir: s.dir, field: s.name })));
|
|
170
|
+
//
|
|
171
|
+
const inline = this.inlineFilters.filters?.length ?? 0;
|
|
172
|
+
const advance = this.advanceFilters.filters?.length ?? 0;
|
|
173
|
+
debugger;
|
|
174
|
+
if (inline && !advance) {
|
|
175
|
+
this.dataSource.filter(this.inlineFilters);
|
|
176
|
+
}
|
|
177
|
+
else if (!inline && advance) {
|
|
178
|
+
this.dataSource.filter(this.advanceFilters);
|
|
179
|
+
}
|
|
180
|
+
else if (inline && advance) {
|
|
181
|
+
this.dataSource.filter({
|
|
182
|
+
field: null,
|
|
183
|
+
logic: 'and',
|
|
184
|
+
operator: null,
|
|
185
|
+
filters: [this.inlineFilters, this.advanceFilters]
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
//
|
|
189
|
+
this.dataSource.refresh();
|
|
190
|
+
}
|
|
191
|
+
resetColumns() {
|
|
192
|
+
this.applyViewColumns();
|
|
193
|
+
}
|
|
194
|
+
applyColumns() {
|
|
195
|
+
//this.columns.set(this.clonedColumns())
|
|
196
|
+
}
|
|
197
|
+
applyViewColumns() {
|
|
198
|
+
const cols = this.view().columns;
|
|
199
|
+
const cloned = this.allAvailableColumns()
|
|
200
|
+
.map(c => {
|
|
201
|
+
const col = new AXPEntityListViewColumnViewModel(this.entityDef.properties.find(p => p.name == c.name));
|
|
202
|
+
col.visible = !cols.some(c => c == col.name);
|
|
203
|
+
return col;
|
|
204
|
+
});
|
|
205
|
+
this.columns.set(cloned);
|
|
206
|
+
}
|
|
207
|
+
resetSorts() {
|
|
208
|
+
this.applyViewSorts();
|
|
209
|
+
}
|
|
210
|
+
applySorts() {
|
|
211
|
+
this.applyFilterAndSort();
|
|
212
|
+
}
|
|
213
|
+
addSort() {
|
|
214
|
+
const prop = this.sortableFields().find(c => !this.sortedFields().some(s => s.name == c.name));
|
|
215
|
+
if (prop) {
|
|
216
|
+
this.sortedFields.set([...this.sortedFields(), ...[prop]]);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
removeSort(name) {
|
|
220
|
+
this.sortedFields.set(this.sortedFields().filter(c => c.name != name));
|
|
221
|
+
}
|
|
222
|
+
applyViewSorts() {
|
|
223
|
+
const fileds = this.view().sorts.map(c => ({
|
|
224
|
+
name: c.name,
|
|
225
|
+
title: c.name,
|
|
226
|
+
dir: c.dir ?? 'asc'
|
|
227
|
+
}));
|
|
228
|
+
this.sortedFields.set(fileds);
|
|
229
|
+
}
|
|
230
|
+
//****************** Views ******************//
|
|
231
|
+
setView(viewName = null) {
|
|
232
|
+
if (viewName != this.view().name) {
|
|
233
|
+
this.view.set(this.views().find(c => c.name == viewName) ?? this.views()[0]);
|
|
234
|
+
this.applyViewSorts();
|
|
235
|
+
this.applyViewColumns();
|
|
236
|
+
this.applyFilterAndSort();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
//****************** Commands ******************//
|
|
240
|
+
async executeCommand(commandName, data = null) {
|
|
241
|
+
// debugger
|
|
242
|
+
const action = this.actions().find(c => c.name == commandName);
|
|
243
|
+
this.workflow.execute(commandName, {
|
|
244
|
+
payload: {
|
|
245
|
+
module: this.entityDef.module,
|
|
246
|
+
entity: this.entityDef.name,
|
|
247
|
+
data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems : data
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
export class AXPEntityListViewModelFactory {
|
|
253
|
+
constructor() {
|
|
254
|
+
this.entityService = inject(AXPEntityDefinitionRegistryService);
|
|
255
|
+
this.layout = inject(AXPLayoutService);
|
|
256
|
+
this.injector = inject(Injector);
|
|
257
|
+
}
|
|
258
|
+
async create(moduleName, entityName) {
|
|
259
|
+
this.layout.setNavigationLoading(true);
|
|
260
|
+
const config = await this.entityService.resolve(moduleName, entityName);
|
|
261
|
+
this.layout.setNavigationLoading(false);
|
|
262
|
+
return new AXPEntityMasterListViewModel(this.injector, config);
|
|
263
|
+
}
|
|
264
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityListViewModelFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
265
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityListViewModelFactory, providedIn: 'root' }); }
|
|
266
|
+
}
|
|
267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityListViewModelFactory, decorators: [{
|
|
268
|
+
type: Injectable,
|
|
269
|
+
args: [{ providedIn: 'root' }]
|
|
270
|
+
}] });
|
|
271
|
+
export const AXPEntityListViewModelResolver = (route, state, service = inject(AXPEntityListViewModelFactory)) => {
|
|
272
|
+
const appName = route.parent?.paramMap.get('app');
|
|
273
|
+
const moduleName = route.parent?.paramMap.get('module');
|
|
274
|
+
const entityName = route.paramMap.get('entity');
|
|
275
|
+
//
|
|
276
|
+
return service.create(moduleName, entityName);
|
|
277
|
+
};
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1saXN0LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL2VudGl0eS1tYXN0ZXItbGlzdC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBb0QsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQTBDLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBYTFILE1BQU0sT0FBTyxxQ0FBcUM7SUFFOUMsWUFBb0IsTUFBaUIsRUFBVSxPQUFxQyxFQUFVLElBQWtCO1FBQTVGLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQUFVLFNBQUksR0FBSixJQUFJLENBQWM7UUFJaEgsU0FBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixVQUFLLEdB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S0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQVZRLDZCQUE2QjtrSEFBN0IsNkJBQTZCLGNBRGhCLE1BQU07OzJGQUNuQiw2QkFBNkI7a0JBRHpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQWNsQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBcUQsQ0FDNUYsS0FBNkIsRUFDN0IsS0FBMEIsRUFDMUIsVUFBeUMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEVBQ3pDLEVBQUU7SUFDdkMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBVyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQVcsQ0FBQztJQUNsRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQVcsQ0FBQztJQUMxRCxFQUFFO0lBQ0YsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNsRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIi4vZW50aXR5LXJlZ2lzdGVyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJlc29sdmVGbiwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWwsIEFYUEVudGl0eUxpc3RWaWV3Q29sdW1uVmlld01vZGVsIH0gZnJvbSBcIi4vZW50aXR5LnZpZXdtb2RlbFwiO1xyXG5pbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2Zvcm1hdFwiO1xyXG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2F1dGhcIjtcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24sIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24gfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvd1wiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUFF1ZXJ5VmlldywgQVhQQmVhcmRDcnVtYiwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBMYXlvdXRTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3U29ydFByb3BWaWV3TW9kZWwge1xyXG5cclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkaXI6IHN0cmluZztcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld1F1ZXJ5Vmlld01vZGVsIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVudGl0eTogQVhQRW50aXR5LCBwcml2YXRlIHNlY3Rpb246IEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWwsIHByaXZhdGUgdmlldzogQVhQUXVlcnlWaWV3KSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5hbWUgPSB0aGlzLnZpZXcubmFtZTtcclxuICAgIHRpdGxlID0gdGhpcy52aWV3LnRpdGxlO1xyXG4gICAgc29ydHMgPSB0aGlzLnZpZXcuc29ydHM7XHJcbiAgICBjb2x1bW5zID0gdGhpcy52aWV3LmNvbHVtbnM7XHJcbiAgICBjb25kaXRpb25zID0gdGhpcy52aWV3LmNvbmRpdGlvbnM7XHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWwge1xyXG5cclxuXHJcbiAgICBwcml2YXRlIGVudGl0eURlZiA9IGNsb25lRGVlcCh0aGlzLmNvbmZpZykhO1xyXG4gICAgcHJpdmF0ZSBfdmlld0RlZiA9IGNsb25lRGVlcCh0aGlzLmVudGl0eURlZi5pbnRlcmZhY2VzPy5tYXN0ZXI/Lmxpc3QpIVxyXG4gICAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhGb3JtYXRTZXJ2aWNlKVxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQU2Vzc2lvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSB3b3JrZmxvdyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFdvcmtmbG93U2VydmljZSk7XHJcblxyXG5cclxuXHJcbiAgICBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgYnlLZXk6IChrZXkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IHRoaXMuZW50aXR5RGVmLnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcclxuICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxvYWQ6IChlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSB0aGlzLmVudGl0eURlZi5xdWVyaWVzLmxpc3Q/LmV4ZWN1dGUgYXMgRnVuY3Rpb247XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jKGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGFnZVNpemU6IDEwLFxyXG4gICAgICAgIGtleTogJ2lkJ1xyXG5cclxuICAgIH0pXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHlcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RlZEl0ZW1zID0gc2lnbmFsPGFueVtdPihbXSk7XHJcblxyXG4gICAgcHVibGljIGhhc1NlbGVjdGVkSXRlbXMgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcygpLmxlbmd0aCA+IDBcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc2V0KFtdKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBUaXRsZSAqKioqKioqKioqKioqKioqKiovL1xyXG4gICAgcHVibGljIHRpdGxlID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZpZXdEZWYudGl0bGUgPz8gdGhpcy5lbnRpdHlEZWYuZm9ybWF0cy5wbHVyYWwhO1xyXG4gICAgfSk7XHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBEZXNjcmlwdGlvbiAqKioqKioqKioqKioqKioqKiovL1xyXG4gICAgcHVibGljIGRlc2NyaXB0aW9uID0gY29tcHV0ZWQ8c3RyaW5nIHwgbnVsbD4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92aWV3RGVmLmRlc2NyaXB0aW9uID8/IG51bGw7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBJbmxpbmUgZmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgaW5saW5lRmlsdGVyc1BsYWNlaG9sZGVycyA9IGNvbXB1dGVkPHN0cmluZ1tdPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmlsdGVyKHAgPT4gcC5vcHRpb25zPy5maWx0ZXI/LmlubGluZT8uZW5hYmxlZCkubWFwKGMgPT4gYy50aXRsZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBwdWJsaWMgaGFzSW5saW5lRmlsdGVycyA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmxpbmVGaWx0ZXJzUGxhY2Vob2xkZXJzKCkubGVuZ3RoID4gMDtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIEJlYXJkY3J1bWJzICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgYmVhcmRjcnVtYnMgPSBjb21wdXRlZDxBWFBCZWFyZENydW1iW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIb21lXCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImZhLXNvbGlkIGZhLWhvbWUgYXgtdGV4dC14cyBheC1tZS0yXCIsXHJcbiAgICAgICAgICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWBdXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlKCksXHJcbiAgICAgICAgICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWAsICdtJywgYCR7dGhpcy5lbnRpdHlEZWYubW9kdWxlfWAsICdlJywgYCR7dGhpcy5lbnRpdHlEZWYubmFtZX1gLCAnbGlzdCddXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBBY3Rpb25zICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwcml2YXRlIGFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuZW50aXR5RGVmLmludGVyZmFjZXM/Lm1hc3Rlcj8ubGlzdD8uYWN0aW9ucyA/PyBbXTtcclxuICAgICAgICByZXR1cm4gbGlzdFxyXG4gICAgICAgICAgICAuZmlsdGVyKGEgPT5cclxuICAgICAgICAgICAgICAgIChhLnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCAmJiB0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSkgfHxcclxuICAgICAgICAgICAgICAgIChhLnNjb3BlICE9IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCAmJiAhdGhpcy5oYXNTZWxlY3RlZEl0ZW1zKCkpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLm1hcCgodHIpID0+IG5ldyBBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgdHIpKSA/PyBbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBwcmltYXJ5QWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKCkuZmlsdGVyKGMgPT4gYy5wcmlvcml0eSA9PSAncHJpbWFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHNlY29uZGFyeUFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucygpLmZpbHRlcihjID0+IGMucHJpb3JpdHkgPT0gJ3NlY29uZGFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogRmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXHJcblxyXG4gICAgcHJpdmF0ZSBpbmxpbmVGaWx0ZXJzOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XHJcbiAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgIGxvZ2ljOiAnb3InLFxyXG4gICAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcclxuICAgICAgICBmaWx0ZXJzOiBbXVxyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIGFkdmFuY2VGaWx0ZXJzOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XHJcbiAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgIGxvZ2ljOiAnYW5kJyxcclxuICAgICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXHJcbiAgICAgICAgZmlsdGVyczogW11cclxuICAgIH07XHJcblxyXG4gICAgYXBwbHlJbmxpbmVGaWx0ZXIodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLm9wdGlvbnM/LmZpbHRlcj8uaW5saW5lPy5lbmFibGVkKTtcclxuICAgICAgICB0aGlzLmlubGluZUZpbHRlcnMuZmlsdGVycyA9IFtdO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBwcm9wcy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmxpbmVGaWx0ZXJzLmZpbHRlcnM/LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBwLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NvbnRhaW5zJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXJBbmRTb3J0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlGaWx0ZXJBbmRTb3J0KCkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5jbGVhckZpbHRlcigpO1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQoLi4udGhpcy5zb3J0ZWRGaWVsZHMoKS5tYXAocyA9PiAoeyBkaXI6IHMuZGlyLCBmaWVsZDogcy5uYW1lIH0gYXMgQVhEYXRhU291cmNlU29ydE9wdGlvbikpKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIGNvbnN0IGlubGluZSA9IHRoaXMuaW5saW5lRmlsdGVycy5maWx0ZXJzPy5sZW5ndGggPz8gMDtcclxuICAgICAgICBjb25zdCBhZHZhbmNlID0gdGhpcy5hZHZhbmNlRmlsdGVycy5maWx0ZXJzPy5sZW5ndGggPz8gMDtcclxuICAgICAgICBkZWJ1Z2dlclxyXG4gICAgICAgIGlmIChpbmxpbmUgJiYgIWFkdmFuY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih0aGlzLmlubGluZUZpbHRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICghaW5saW5lICYmIGFkdmFuY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih0aGlzLmFkdmFuY2VGaWx0ZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5saW5lICYmIGFkdmFuY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogbnVsbCBhcyBhbnksXHJcbiAgICAgICAgICAgICAgICBsb2dpYzogJ2FuZCcsXHJcbiAgICAgICAgICAgICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBbdGhpcy5pbmxpbmVGaWx0ZXJzLCB0aGlzLmFkdmFuY2VGaWx0ZXJzXVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucmVmcmVzaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIENvbHVtbnMgKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbiAgICBwcml2YXRlIGFsbEF2YWlsYWJsZUNvbHVtbnMgPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjbG9uZURlZXAodGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLnNjaGVtYS5oaWRkZW4gIT0gdHJ1ZSAmJiBjLm9wdGlvbnM/LnRhYmxlPy5lbmFibGVkKSk7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLm1hcChlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbChlKTtcclxuICAgICAgICB9KVxyXG4gICAgfTtcclxuXHJcbiAgICB2aXNpYmxlQ29sdW1uQ291bnQgPSAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sdW1ucygpLmZpbHRlcihjID0+IGMudmlzaWJsZSA9PSB0cnVlKS5sZW5ndGg7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbHVtbnMgPSBzaWduYWw8QVhQRW50aXR5TGlzdFZpZXdDb2x1bW5WaWV3TW9kZWxbXT4oW10pO1xyXG5cclxuICAgIHJlc2V0Q29sdW1ucygpIHtcclxuICAgICAgICB0aGlzLmFwcGx5Vmlld0NvbHVtbnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseUNvbHVtbnMoKSB7XHJcbiAgICAgICAgLy90aGlzLmNvbHVtbnMuc2V0KHRoaXMuY2xvbmVkQ29sdW1ucygpKVxyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5Vmlld0NvbHVtbnMoKSB7XHJcbiAgICAgICAgY29uc3QgY29scyA9IHRoaXMudmlldygpLmNvbHVtbnM7XHJcbiAgICAgICAgY29uc3QgY2xvbmVkID0gdGhpcy5hbGxBdmFpbGFibGVDb2x1bW5zKClcclxuICAgICAgICAgICAgLm1hcChjID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbCA9IG5ldyBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbCh0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbmQocCA9PiBwLm5hbWUgPT0gYy5uYW1lKSEpXHJcbiAgICAgICAgICAgICAgICBjb2wudmlzaWJsZSA9ICFjb2xzLnNvbWUoYyA9PiBjID09IGNvbC5uYW1lKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjb2w7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5jb2x1bW5zLnNldChjbG9uZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIFNvcnQgKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbiAgICBzb3J0YWJsZUZpZWxkcyA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmlsdGVyKGMgPT4gYy5vcHRpb25zPy5zb3J0Py5lbmFibGVkKTtcclxuICAgICAgICByZXR1cm4gcHJvcHMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogZS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGUudGl0bGUsXHJcbiAgICAgICAgICAgICAgICBkaXI6ICdhc2MnXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSlcclxuICAgIH07XHJcblxyXG4gICAgc29ydGFibGVGaWVsZHNDb3VudCA9ICgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLm9wdGlvbnM/LnNvcnQ/LmVuYWJsZWQpLmxlbmd0aCA/PyAwO1xyXG4gICAgfVxyXG5cclxuICAgIGNhblNvcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc29ydGFibGVGaWVsZHNDb3VudCgpID4gMFxyXG4gICAgfTtcclxuXHJcbiAgICBjYW5BZGRNb3JlU29ydCA9ICgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zb3J0ZWRDb3VudCgpIDwgdGhpcy5zb3J0YWJsZUZpZWxkc0NvdW50KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHNvcnRlZENvdW50ID0gKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNvcnRlZEZpZWxkcygpLmxlbmd0aFxyXG4gICAgfTtcclxuXHJcbiAgICBzb3J0ZWRGaWVsZHMgPSBzaWduYWw8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdTb3J0UHJvcFZpZXdNb2RlbFtdPihbXSk7XHJcblxyXG4gICAgcmVzZXRTb3J0cygpIHtcclxuICAgICAgICB0aGlzLmFwcGx5Vmlld1NvcnRzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlTb3J0cygpIHtcclxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyQW5kU29ydCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZFNvcnQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgcHJvcCA9IHRoaXMuc29ydGFibGVGaWVsZHMoKS5maW5kKGMgPT4gIXRoaXMuc29ydGVkRmllbGRzKCkuc29tZShzID0+IHMubmFtZSA9PSBjLm5hbWUpKVxyXG4gICAgICAgIGlmIChwcm9wKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc29ydGVkRmllbGRzLnNldChbLi4udGhpcy5zb3J0ZWRGaWVsZHMoKSwgLi4uW3Byb3BdXSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZVNvcnQobmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zb3J0ZWRGaWVsZHMuc2V0KHRoaXMuc29ydGVkRmllbGRzKCkuZmlsdGVyKGMgPT4gYy5uYW1lICE9IG5hbWUpKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVZpZXdTb3J0cygpIHtcclxuICAgICAgICBjb25zdCBmaWxlZHMgPSB0aGlzLnZpZXcoKS5zb3J0cy5tYXAoYyA9PiAoe1xyXG4gICAgICAgICAgICBuYW1lOiBjLm5hbWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBjLm5hbWUsXHJcbiAgICAgICAgICAgIGRpcjogYy5kaXIgPz8gJ2FzYydcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgdGhpcy5zb3J0ZWRGaWVsZHMuc2V0KGZpbGVkcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogVmlld3MgKioqKioqKioqKioqKioqKioqLy9cclxuXHJcblxyXG4gICAgc2V0Vmlldyh2aWV3TmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcclxuICAgICAgICBpZiAodmlld05hbWUgIT0gdGhpcy52aWV3KCkubmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXcuc2V0KHRoaXMudmlld3MoKS5maW5kKGMgPT4gYy5uYW1lID09IHZpZXdOYW1lKSA/PyB0aGlzLnZpZXdzKClbMF0pO1xyXG4gICAgICAgICAgICB0aGlzLmFwcGx5Vmlld1NvcnRzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwbHlWaWV3Q29sdW1ucygpO1xyXG4gICAgICAgICAgICB0aGlzLmFwcGx5RmlsdGVyQW5kU29ydCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2aWV3cyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgICAgICBjb25zdCB2aWV3cyA9IHRoaXMuZW50aXR5RGVmLmludGVyZmFjZXM/Lm1hc3Rlcj8ubGlzdD8udmlld3MgPz8gW107XHJcbiAgICAgICAgcmV0dXJuIHZpZXdzLm1hcCh2ID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld1F1ZXJ5Vmlld01vZGVsKHRoaXMuZW50aXR5RGVmLCB0aGlzLCB2KTtcclxuICAgICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG4gICAgdmlldyA9IHNpZ25hbDxBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld1F1ZXJ5Vmlld01vZGVsPih0aGlzLnZpZXdzKClbMF0pO1xyXG5cclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiAgQ29tbWFuZHMgKioqKioqKioqKioqKioqKioqLy9cclxuICAgIHB1YmxpYyBhc3luYyBleGVjdXRlQ29tbWFuZChjb21tYW5kTmFtZTogc3RyaW5nLCBkYXRhOiBhbnkgPSBudWxsKSB7XHJcbiAgICAgICAgLy8gZGVidWdnZXJcclxuICAgICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmFjdGlvbnMoKS5maW5kKGMgPT4gYy5uYW1lID09IGNvbW1hbmROYW1lKTtcclxuICAgICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoY29tbWFuZE5hbWUsIHtcclxuICAgICAgICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgICAgICAgICAgbW9kdWxlOiB0aGlzLmVudGl0eURlZi5tb2R1bGUsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHRoaXMuZW50aXR5RGVmLm5hbWUsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiBhY3Rpb24/LnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCA/IHRoaXMuc2VsZWN0ZWRJdGVtcyA6IGRhdGFcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUxpc3RWaWV3TW9kZWxGYWN0b3J5IHtcclxuICAgIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdNb2RlbD4ge1xyXG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKHRydWUpO1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuZW50aXR5U2VydmljZS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xyXG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWwodGhpcy5pbmplY3RvciwgY29uZmlnKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUxpc3RWaWV3TW9kZWxSZXNvbHZlcjogUmVzb2x2ZUZuPFByb21pc2U8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdNb2RlbD4+ID0gKFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcclxuICAgIHNlcnZpY2U6IEFYUEVudGl0eUxpc3RWaWV3TW9kZWxGYWN0b3J5ID0gaW5qZWN0KEFYUEVudGl0eUxpc3RWaWV3TW9kZWxGYWN0b3J5KVxyXG4pOiBQcm9taXNlPEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWw+ID0+IHtcclxuICAgIGNvbnN0IGFwcE5hbWUgPSByb3V0ZS5wYXJlbnQ/LnBhcmFtTWFwLmdldCgnYXBwJykgYXMgc3RyaW5nO1xyXG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IHJvdXRlLnBhcmVudD8ucGFyYW1NYXAuZ2V0KCdtb2R1bGUnKSBhcyBzdHJpbmc7XHJcbiAgICBjb25zdCBlbnRpdHlOYW1lID0gcm91dGUucGFyYW1NYXAuZ2V0KCdlbnRpdHknKSBhcyBzdHJpbmc7XHJcbiAgICAvL1xyXG4gICAgcmV0dXJuIHNlcnZpY2UuY3JlYXRlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xyXG59O1xyXG5cclxuXHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { AXFormatService } from "@acorex/core/format";
|
|
2
|
+
import { cloneDeep, merge, set } from "lodash-es";
|
|
3
|
+
import { Injectable, Injector, computed, inject, signal } from "@angular/core";
|
|
4
|
+
import { AXPWorkflowService, ofType } from "@acorex/platform/workflow";
|
|
5
|
+
import { AXPSessionService } from "@acorex/platform/auth";
|
|
6
|
+
import { AXPEntityDefinitionRegistryService } from "./entity-registery.service";
|
|
7
|
+
import { AXPEntityCommandTriggerViewModel } from "./entity.viewmodel";
|
|
8
|
+
import { AXPEntityDeletedEvent } from "./workflows/delete-entity.workflow";
|
|
9
|
+
import { AXPEntityModifyEvent } from "./workflows/modify-section.workflow";
|
|
10
|
+
import { AXPEntityDetailListViewModel } from "./entity-detail-list.viewmodel";
|
|
11
|
+
import { AXPEntityCommandScope, AXPLayoutService } from "@acorex/platform/common";
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export class AXPEntityMasterSingleViewGroupViewModel {
|
|
14
|
+
constructor(entity, group) {
|
|
15
|
+
this.entity = entity;
|
|
16
|
+
this.group = group;
|
|
17
|
+
this.name = signal(this.group.id);
|
|
18
|
+
this.isLoading = signal(false);
|
|
19
|
+
this.title = computed(() => {
|
|
20
|
+
if (this.group.title)
|
|
21
|
+
return this.group.title;
|
|
22
|
+
return this.group.id;
|
|
23
|
+
});
|
|
24
|
+
this.description = computed(() => {
|
|
25
|
+
if (this.group.description)
|
|
26
|
+
return this.group.description;
|
|
27
|
+
return null;
|
|
28
|
+
});
|
|
29
|
+
this.layout = computed(() => {
|
|
30
|
+
const source = cloneDeep(this.group.layout ?? {});
|
|
31
|
+
set(source, "positions.default.colSpan", 12);
|
|
32
|
+
return source;
|
|
33
|
+
});
|
|
34
|
+
this.props = computed(() => {
|
|
35
|
+
const props = this.entity.properties.filter(c => c.groupId == this.group.id && c.schema.hidden != true && c.options?.view?.enabled != false);
|
|
36
|
+
return props.map(e => {
|
|
37
|
+
return new AXPEntityMasterSingleElementViewModel(this.entity, this, e);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
this.editableProps = computed(() => {
|
|
41
|
+
const props = this.entity.properties.filter(c => c.groupId == this.group.id && c.schema.hidden != true && c.options?.update?.enabled != false);
|
|
42
|
+
return props.map(e => {
|
|
43
|
+
return new AXPEntityMasterSingleElementViewModel(this.entity, this, e);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
this.editable = computed(() => {
|
|
47
|
+
return this.editableProps().length > 0;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export class AXPEntityMasterSingleElementViewModel {
|
|
52
|
+
constructor(entity, section, property) {
|
|
53
|
+
this.entity = entity;
|
|
54
|
+
this.section = section;
|
|
55
|
+
this.property = property;
|
|
56
|
+
this.name = signal(this.property.name);
|
|
57
|
+
this.title = signal(this.property.title);
|
|
58
|
+
this.description = signal(this.property.description);
|
|
59
|
+
this.order = signal(this.property.options?.view?.layout?.order ?? 0);
|
|
60
|
+
this.layout = computed(() => {
|
|
61
|
+
const source = cloneDeep(this.property.options?.view?.layout ?? {});
|
|
62
|
+
set(source, "positions.default.colSpan", 12);
|
|
63
|
+
return source;
|
|
64
|
+
});
|
|
65
|
+
this.node = computed(() => {
|
|
66
|
+
const schema = this.property.schema;
|
|
67
|
+
const widget = schema.interface;
|
|
68
|
+
return {
|
|
69
|
+
type: widget.type,
|
|
70
|
+
mode: 'view',
|
|
71
|
+
path: this.name(),
|
|
72
|
+
children: widget.children,
|
|
73
|
+
formula: widget.formula,
|
|
74
|
+
options: merge(schema.interface?.options, this.property.options?.create?.widget, { validationRules: this.property.validations })
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
export class AXPEntityMasterSingleViewModel {
|
|
80
|
+
constructor(injector, config, entityData) {
|
|
81
|
+
this.injector = injector;
|
|
82
|
+
this.config = config;
|
|
83
|
+
this.entityData = entityData;
|
|
84
|
+
this.entityDef = cloneDeep(this.config);
|
|
85
|
+
this._viewDef = cloneDeep(this.entityDef.interfaces?.master?.single);
|
|
86
|
+
this.session = this.injector.get(AXPSessionService);
|
|
87
|
+
this.formatService = this.injector.get(AXFormatService);
|
|
88
|
+
this.workflow = this.injector.get(AXPWorkflowService);
|
|
89
|
+
this.context = signal(cloneDeep(this.entityData));
|
|
90
|
+
this.actions = computed(() => {
|
|
91
|
+
return this.entityDef.interfaces?.master?.single?.actions?.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];
|
|
92
|
+
});
|
|
93
|
+
this.primaryActions = computed(() => {
|
|
94
|
+
return this.actions().filter(c => c.priority == 'primary');
|
|
95
|
+
});
|
|
96
|
+
this.secondaryActions = computed(() => {
|
|
97
|
+
return this.actions().filter(c => c.priority == 'secondary');
|
|
98
|
+
});
|
|
99
|
+
this.sections = computed(() => {
|
|
100
|
+
const props = this.entityDef.properties.filter(c => c.groupId && c.schema.hidden != true && c.options?.view?.enabled != false);
|
|
101
|
+
const groups = this.entityDef.groups?.filter(g => props.some(p => p.groupId == g.id));
|
|
102
|
+
const result = groups?.map((section) => {
|
|
103
|
+
return new AXPEntityMasterSingleViewGroupViewModel(this.entityDef, section);
|
|
104
|
+
});
|
|
105
|
+
return (result ?? []);
|
|
106
|
+
});
|
|
107
|
+
//****************** Title ******************//
|
|
108
|
+
this.title = computed(() => {
|
|
109
|
+
const suggestedProps = this.entityDef.properties.find((c) => ['title', 'name', 'code'].includes(c.name));
|
|
110
|
+
let suggestedFormat = 'Item #{{id}}';
|
|
111
|
+
if (suggestedProps)
|
|
112
|
+
suggestedFormat = `{{${suggestedProps.name}}}`;
|
|
113
|
+
return this.formatService.format(this._viewDef.title ?? suggestedFormat, 'string', this.context());
|
|
114
|
+
});
|
|
115
|
+
//****************** Description ******************//
|
|
116
|
+
this.description = computed(() => {
|
|
117
|
+
return this._viewDef.description ? this.formatService.format(this._viewDef.description, 'string', this.context()) : null;
|
|
118
|
+
});
|
|
119
|
+
//****************** Beardcrumbs ******************//
|
|
120
|
+
this.beardcrumbs = computed(() => {
|
|
121
|
+
return [
|
|
122
|
+
{
|
|
123
|
+
title: "Home",
|
|
124
|
+
icon: "fa-solid fa-home ax-text-xs ax-me-2",
|
|
125
|
+
url: [`/${this.session.application?.name}`]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
title: this.entityDef.formats.plural ?? this.entityDef.formats.individual,
|
|
129
|
+
url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list']
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
title: this.title(),
|
|
133
|
+
}
|
|
134
|
+
];
|
|
135
|
+
});
|
|
136
|
+
this.relatedEntities = computed(() => {
|
|
137
|
+
return this.entityDef.relatedEntities?.map(re => new AXPEntityDetailListViewModel(this.injector, re, { entity: this.entityDef, data: this.entityData })) ?? [];
|
|
138
|
+
});
|
|
139
|
+
this.workflow.events$.pipe(ofType(AXPEntityDeletedEvent)).subscribe((event) => {
|
|
140
|
+
// if (
|
|
141
|
+
// event.payload.entity == this.loader.entity.name &&
|
|
142
|
+
// event.payload.module == this.loader.entity.module &&
|
|
143
|
+
// event.payload.id.includes(this.loader.data.id)
|
|
144
|
+
// ) {
|
|
145
|
+
// this.workflow.execute('show-list-view', {
|
|
146
|
+
// payload: {
|
|
147
|
+
// module: this.loader.entity.module,
|
|
148
|
+
// entity: this.loader.entity.name,
|
|
149
|
+
// },
|
|
150
|
+
// });
|
|
151
|
+
//}
|
|
152
|
+
});
|
|
153
|
+
this.workflow.events$.pipe(ofType(AXPEntityModifyEvent)).subscribe(async (event) => {
|
|
154
|
+
if (event.payload.entity == this.entityDef.name &&
|
|
155
|
+
event.payload.module == this.entityDef.module &&
|
|
156
|
+
event.payload.updateValues.id === this.context().id) {
|
|
157
|
+
this.context.set(event.payload.updateValues);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
async executeCommand(commandName, data = null) {
|
|
162
|
+
// debugger
|
|
163
|
+
//TODO: syntact for workflow
|
|
164
|
+
switch (commandName) {
|
|
165
|
+
case 'delete-entity':
|
|
166
|
+
this.workflow.execute('delete-entity', {
|
|
167
|
+
module: this.entityDef.module,
|
|
168
|
+
entity: this.entityDef.name,
|
|
169
|
+
ids: [this.context().id],
|
|
170
|
+
});
|
|
171
|
+
break;
|
|
172
|
+
case 'modify-entity-section': {
|
|
173
|
+
this.workflow.execute('modify-entity-section', {
|
|
174
|
+
payload: {
|
|
175
|
+
properties: data.editableProps().map(m => m.name()),
|
|
176
|
+
id: this.entityData.id,
|
|
177
|
+
module: this.entityDef.module,
|
|
178
|
+
entity: this.entityDef.name,
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
default:
|
|
184
|
+
{
|
|
185
|
+
const action = this.actions().find(c => c.name == commandName);
|
|
186
|
+
this.workflow.execute(commandName, {
|
|
187
|
+
payload: {
|
|
188
|
+
module: this.entityDef.module,
|
|
189
|
+
entity: this.entityDef.name,
|
|
190
|
+
data: action?.scope == AXPEntityCommandScope.Individual ? data : null
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
export class AXPEntityDetailViewModelFactory {
|
|
198
|
+
constructor() {
|
|
199
|
+
this.entityService = inject(AXPEntityDefinitionRegistryService);
|
|
200
|
+
this.layout = inject(AXPLayoutService);
|
|
201
|
+
this.injector = inject(Injector);
|
|
202
|
+
}
|
|
203
|
+
async create(moduleName, entityName, id) {
|
|
204
|
+
const config = await this.entityService.resolve(moduleName, entityName);
|
|
205
|
+
this.layout.setNavigationLoading(true);
|
|
206
|
+
if (config.queries.byKey) {
|
|
207
|
+
const func = config.queries.byKey.execute;
|
|
208
|
+
const data = await func(id);
|
|
209
|
+
this.layout.setNavigationLoading(false);
|
|
210
|
+
return new AXPEntityMasterSingleViewModel(this.injector, config, data);
|
|
211
|
+
}
|
|
212
|
+
this.layout.setNavigationLoading(false);
|
|
213
|
+
return Promise.reject('cannot fetch ');
|
|
214
|
+
}
|
|
215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityDetailViewModelFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
216
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityDetailViewModelFactory, providedIn: 'root' }); }
|
|
217
|
+
}
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityDetailViewModelFactory, decorators: [{
|
|
219
|
+
type: Injectable,
|
|
220
|
+
args: [{ providedIn: 'root' }]
|
|
221
|
+
}] });
|
|
222
|
+
export const AXPEntityDetailViewModelResolver = (route, state, service = inject(AXPEntityDetailViewModelFactory)) => {
|
|
223
|
+
const appName = route.parent?.paramMap.get('app');
|
|
224
|
+
const moduleName = route.parent?.paramMap.get('module');
|
|
225
|
+
const entityName = route.paramMap.get('entity');
|
|
226
|
+
const id = route.paramMap.get('id');
|
|
227
|
+
//
|
|
228
|
+
return service.create(moduleName, entityName, id);
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1zaW5nbGUudmlld21vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5L3NyYy9saWIvZW50aXR5LW1hc3Rlci1zaW5nbGUudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBNEIscUJBQXFCLEVBQW1FLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzdLLE1BQU0sT0FBTyx1Q0FBdUM7SUFFaEQsWUFBb0IsTUFBaUIsRUFBVSxLQUE2QjtRQUF4RCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFJNUUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLGNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsVUFBSyxHQUFHLFFBQVEsQ0FBUyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILGdCQUFXLEdBQUcsUUFBUSxDQUE0QixHQUFHLEVBQUU7WUFDbkQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxXQUFNLEdBQUcsUUFBUSxDQUF1QixHQUFHLEVBQUU7WUFDekMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBVyxDQUFDO1lBQzVELEdBQUcsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsT0FBTyxNQUE4QixDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBR0gsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO1lBQzdJLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakIsT0FBTyxJQUFJLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO1lBQy9JLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakIsT0FBTyxJQUFJLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBekNILENBQUM7Q0EwQ0o7QUFFRCxNQUFNLE9BQU8scUNBQXFDO0lBRTlDLFlBQW9CLE1BQWlCLEVBQVUsT0FBZ0QsRUFBVSxRQUEyQjtRQUFoSCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBeUM7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUlwSSxTQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFaEQsVUFBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVoRSxXQUFNLEdBQUcsUUFBUSxDQUF1QixHQUFHLEVBQUU7WUFDekMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksRUFBRSxDQUFXLENBQUM7WUFDOUUsR0FBRyxDQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxPQUFPLE1BQThCLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxTQUFJLEdBQUcsUUFBUSxDQUFnQixHQUFHLEVBQUU7WUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFPLENBQUM7WUFDckMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVUsQ0FBQztZQUNqQyxPQUFPO2dCQUNILElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2pCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtnQkFDekIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUN2QixPQUFPLEVBQUUsS0FBSyxDQUNWLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUNyQyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUNqRDthQUNhLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUE7SUE3QkYsQ0FBQztDQThCSjtBQUlELE1BQU0sT0FBTyw4QkFBOEI7SUFRdkMsWUFDWSxRQUFrQixFQUNsQixNQUFpQixFQUNqQixVQUFlO1FBRmYsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQUs7UUFUbkIsY0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUM7UUFDcEMsYUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFFLENBQUE7UUFDaEUsWUFBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0Msa0JBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUNsRCxhQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQWlDakQsWUFBTyxHQUFHLE1BQU0sQ0FBTSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFakQsWUFBTyxHQUFHLFFBQVEsQ0FBcUMsR0FBRyxFQUFFO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0ksQ0FBQyxDQUFDLENBQUM7UUFFSSxtQkFBYyxHQUFHLFFBQVEsQ0FBcUMsR0FBRyxFQUFFO1lBQ3RFLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFFSSxxQkFBZ0IsR0FBRyxRQUFRLENBQXFDLEdBQUcsRUFBRTtZQUN4RSxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO1FBRUksYUFBUSxHQUFHLFFBQVEsQ0FBNEMsR0FBRyxFQUFFO1lBQ3ZFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQztZQUMvSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0RixNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ25DLE9BQU8sSUFBSSx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQy9FLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQThDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7UUFFSCwrQ0FBK0M7UUFDeEMsVUFBSyxHQUFHLFFBQVEsQ0FBUyxHQUFHLEVBQUU7WUFDakMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3pHLElBQUksZUFBZSxHQUFHLGNBQWMsQ0FBQztZQUNyQyxJQUFJLGNBQWM7Z0JBQUUsZUFBZSxHQUFHLEtBQUssY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDO1lBQ25FLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksZUFBZSxFQUNuRSxRQUFRLEVBQ1IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUNqQixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFDSCxxREFBcUQ7UUFDOUMsZ0JBQVcsR0FBRyxRQUFRLENBQWdCLEdBQUcsRUFBRTtZQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFDbEYsUUFBUSxFQUNSLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDakIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7UUFFSCxxREFBcUQ7UUFDOUMsZ0JBQVcsR0FBRyxRQUFRLENBQWtCLEdBQUcsRUFBRTtZQUNoRCxPQUFPO2dCQUNIO29CQUNJLEtBQUssRUFBRSxNQUFNO29CQUNiLElBQUksRUFBRSxxQ0FBcUM7b0JBQzNDLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQzlDO2dCQUNEO29CQUNJLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVTtvQkFDekUsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUFDO2lCQUN0SDtnQkFDRDtvQkFDSSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtpQkFDdEI7YUFDSixDQUFBO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFHSSxvQkFBZSxHQUFHLFFBQVEsQ0FBaUMsR0FBRyxFQUFFO1lBQ25FLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQzVDLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQ3pHLElBQUksRUFBRSxDQUFBO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUExRkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUUsT0FBTztZQUNQLHVEQUF1RDtZQUN2RCx5REFBeUQ7WUFDekQsbURBQW1EO1lBQ25ELE1BQU07WUFDTiw4Q0FBOEM7WUFDOUMsaUJBQWlCO1lBQ2pCLDJDQUEyQztZQUMzQyx5Q0FBeUM7WUFDekMsU0FBUztZQUNULFFBQVE7WUFDUixHQUFHO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQy9FLElBQ0ksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJO2dCQUMzQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07Z0JBQzdDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUNyRCxDQUFDO2dCQUNDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQXNFTSxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQW1CLEVBQUUsT0FBWSxJQUFJO1FBQzdELFdBQVc7UUFDWCw0QkFBNEI7UUFDNUIsUUFBUSxXQUFXLEVBQUUsQ0FBQztZQUNsQixLQUFLLGVBQWU7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtvQkFDbkMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtvQkFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSTtvQkFDM0IsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDM0IsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDVixLQUFLLHVCQUF1QixDQUFDLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUU7b0JBQzNDLE9BQU8sRUFBRTt3QkFDTCxVQUFVLEVBQUcsSUFBZ0QsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ2hHLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07d0JBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUk7cUJBQzlCO2lCQUNKLENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBQ1YsQ0FBQztZQUNEO2dCQUNJLENBQUM7b0JBQ0csTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLENBQUM7b0JBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDL0IsT0FBTyxFQUFFOzRCQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07NEJBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUk7NEJBQzNCLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxJQUFJLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO3lCQUN4RTtxQkFDSixDQUFDLENBQUE7Z0JBQ04sQ0FBQztRQUNULENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFHRCxNQUFNLE9BQU8sK0JBQStCO0lBRDVDO1FBRVksa0JBQWEsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUMzRCxXQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQWN2QztJQVpVLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBa0IsRUFBRSxVQUFrQixFQUFFLEVBQVU7UUFDbEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBbUIsQ0FBQztZQUN0RCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs4R0FoQlEsK0JBQStCO2tIQUEvQiwrQkFBK0IsY0FEbEIsTUFBTTs7MkZBQ25CLCtCQUErQjtrQkFEM0MsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBcUJsQyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBdUQsQ0FDaEcsS0FBNkIsRUFDN0IsS0FBMEIsRUFDMUIsVUFBMkMsTUFBTSxDQUFDLCtCQUErQixDQUFDLEVBQzNDLEVBQUU7SUFDekMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBVyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQVcsQ0FBQztJQUNsRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQVcsQ0FBQztJQUMxRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQVcsQ0FBQztJQUM5QyxFQUFFO0lBQ0YsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9mb3JtYXRcIjtcclxuaW1wb3J0IHsgY2xvbmVEZWVwLCBtZXJnZSwgc2V0IH0gZnJvbSBcImxvZGFzaC1lc1wiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUmVzb2x2ZUZuLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UsIG9mVHlwZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93XCI7XHJcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vYXV0aFwiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIi4vZW50aXR5LXJlZ2lzdGVyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsIH0gZnJvbSBcIi4vZW50aXR5LnZpZXdtb2RlbFwiO1xyXG5pbXBvcnQgeyBBWFBXaWRnZXROb2RlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXJcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5RGVsZXRlZEV2ZW50IH0gZnJvbSBcIi4vd29ya2Zsb3dzL2RlbGV0ZS1lbnRpdHkud29ya2Zsb3dcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5TW9kaWZ5RXZlbnQgfSBmcm9tIFwiLi93b3JrZmxvd3MvbW9kaWZ5LXNlY3Rpb24ud29ya2Zsb3dcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5RGV0YWlsTGlzdFZpZXdNb2RlbCB9IGZyb20gXCIuL2VudGl0eS1kZXRhaWwtbGlzdC52aWV3bW9kZWxcIjtcclxuaW1wb3J0IHsgQVhQQmVhcmRDcnVtYiwgQVhQRW50aXR5LCBBWFBFbnRpdHlDb21tYW5kU2NvcGUsIEFYUEVudGl0eVByb3BlcnR5LCBBWFBFbnRpdHlQcm9wZXJ0eUdyb3VwLCBBWFBHcmlkTGF5b3V0T3B0aW9ucywgQVhQTGF5b3V0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3R3JvdXBWaWV3TW9kZWwge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OiBBWFBFbnRpdHksIHByaXZhdGUgZ3JvdXA6IEFYUEVudGl0eVByb3BlcnR5R3JvdXApIHtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmFtZSA9IHNpZ25hbCh0aGlzLmdyb3VwLmlkKTtcclxuICAgIGlzTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XHJcblxyXG4gICAgdGl0bGUgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5ncm91cC50aXRsZSlcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAudGl0bGU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAuaWQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICBkZXNjcmlwdGlvbiA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5ncm91cC5kZXNjcmlwdGlvbilcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAuZGVzY3JpcHRpb247XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsYXlvdXQgPSBjb21wdXRlZDxBWFBHcmlkTGF5b3V0T3B0aW9ucz4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IGNsb25lRGVlcCh0aGlzLmdyb3VwLmxheW91dCA/PyB7fSkgYXMgb2JqZWN0O1xyXG4gICAgICAgIHNldChzb3VyY2UsIFwicG9zaXRpb25zLmRlZmF1bHQuY29sU3BhblwiLCAxMik7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZSBhcyBBWFBHcmlkTGF5b3V0T3B0aW9ucztcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICBwcm9wcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuZW50aXR5LnByb3BlcnRpZXMuZmlsdGVyKGMgPT4gYy5ncm91cElkID09IHRoaXMuZ3JvdXAuaWQgJiYgYy5zY2hlbWEuaGlkZGVuICE9IHRydWUgJiYgYy5vcHRpb25zPy52aWV3Py5lbmFibGVkICE9IGZhbHNlKTtcclxuICAgICAgICByZXR1cm4gcHJvcHMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eU1hc3RlclNpbmdsZUVsZW1lbnRWaWV3TW9kZWwodGhpcy5lbnRpdHksIHRoaXMsIGUpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9KTtcclxuXHJcbiAgICBlZGl0YWJsZVByb3BzID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLmdyb3VwSWQgPT0gdGhpcy5ncm91cC5pZCAmJiBjLnNjaGVtYS5oaWRkZW4gIT0gdHJ1ZSAmJiBjLm9wdGlvbnM/LnVwZGF0ZT8uZW5hYmxlZCAhPSBmYWxzZSk7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLm1hcChlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVFbGVtZW50Vmlld01vZGVsKHRoaXMuZW50aXR5LCB0aGlzLCBlKTtcclxuICAgICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG4gICAgZWRpdGFibGUgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdGFibGVQcm9wcygpLmxlbmd0aCA+IDBcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyU2luZ2xlRWxlbWVudFZpZXdNb2RlbCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnRpdHk6IEFYUEVudGl0eSwgcHJpdmF0ZSBzZWN0aW9uOiBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3R3JvdXBWaWV3TW9kZWwsIHByaXZhdGUgcHJvcGVydHk6IEFYUEVudGl0eVByb3BlcnR5KSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5hbWUgPSBzaWduYWwodGhpcy5wcm9wZXJ0eS5uYW1lKTtcclxuICAgIHRpdGxlID0gc2lnbmFsKHRoaXMucHJvcGVydHkudGl0bGUpO1xyXG4gICAgZGVzY3JpcHRpb24gPSBzaWduYWwodGhpcy5wcm9wZXJ0eS5kZXNjcmlwdGlvbik7XHJcblxyXG4gICAgb3JkZXIgPSBzaWduYWwodGhpcy5wcm9wZXJ0eS5vcHRpb25zPy52aWV3Py5sYXlvdXQ/Lm9yZGVyID8/IDApO1xyXG5cclxuICAgIGxheW91dCA9IGNvbXB1dGVkPEFYUEdyaWRMYXlvdXRPcHRpb25zPigoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc291cmNlID0gY2xvbmVEZWVwKHRoaXMucHJvcGVydHkub3B0aW9ucz8udmlldz8ubGF5b3V0ID8/IHt9KSBhcyBvYmplY3Q7XHJcbiAgICAgICAgc2V0KHNvdXJjZSwgXCJwb3NpdGlvbnMuZGVmYXVsdC5jb2xTcGFuXCIsIDEyKTtcclxuICAgICAgICByZXR1cm4gc291cmNlIGFzIEFYUEdyaWRMYXlvdXRPcHRpb25zO1xyXG4gICAgfSk7XHJcblxyXG4gICAgbm9kZSA9IGNvbXB1dGVkPEFYUFdpZGdldE5vZGU+KCgpID0+IHtcclxuICAgICAgICBjb25zdCBzY2hlbWEgPSB0aGlzLnByb3BlcnR5LnNjaGVtYSE7XHJcbiAgICAgICAgY29uc3Qgd2lkZ2V0ID0gc2NoZW1hLmludGVyZmFjZSE7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdHlwZTogd2lkZ2V0LnR5cGUsXHJcbiAgICAgICAgICAgIG1vZGU6ICd2aWV3JyxcclxuICAgICAgICAgICAgcGF0aDogdGhpcy5uYW1lKCksXHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiB3aWRnZXQuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGZvcm11bGE6IHdpZGdldC5mb3JtdWxhLFxyXG4gICAgICAgICAgICBvcHRpb25zOiBtZXJnZShcclxuICAgICAgICAgICAgICAgIHNjaGVtYS5pbnRlcmZhY2U/Lm9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BlcnR5Lm9wdGlvbnM/LmNyZWF0ZT8ud2lkZ2V0LFxyXG4gICAgICAgICAgICAgICAgeyB2YWxpZGF0aW9uUnVsZXM6IHRoaXMucHJvcGVydHkudmFsaWRhdGlvbnMgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH0gYXMgQVhQV2lkZ2V0Tm9kZTtcclxuICAgIH0pXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eU1hc3RlclNpbmdsZVZpZXdNb2RlbCB7XHJcblxyXG4gICAgcHJpdmF0ZSBlbnRpdHlEZWYgPSBjbG9uZURlZXAodGhpcy5jb25maWcpITtcclxuICAgIHByaXZhdGUgX3ZpZXdEZWYgPSBjbG9uZURlZXAodGhpcy5lbnRpdHlEZWYuaW50ZXJmYWNlcz8ubWFzdGVyPy5zaW5nbGUpIVxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQU2Vzc2lvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhGb3JtYXRTZXJ2aWNlKVxyXG4gICAgcHJpdmF0ZSB3b3JrZmxvdyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFdvcmtmbG93U2VydmljZSlcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIGNvbmZpZzogQVhQRW50aXR5LFxyXG4gICAgICAgIHByaXZhdGUgZW50aXR5RGF0YTogYW55LFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy53b3JrZmxvdy5ldmVudHMkLnBpcGUob2ZUeXBlKEFYUEVudGl0eURlbGV0ZWRFdmVudCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgLy8gaWYgKFxyXG4gICAgICAgICAgICAvLyAgIGV2ZW50LnBheWxvYWQuZW50aXR5ID09IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lICYmXHJcbiAgICAgICAgICAgIC8vICAgZXZlbnQucGF5bG9hZC5tb2R1bGUgPT0gdGhpcy5sb2FkZXIuZW50aXR5Lm1vZHVsZSAmJlxyXG4gICAgICAgICAgICAvLyAgIGV2ZW50LnBheWxvYWQuaWQuaW5jbHVkZXModGhpcy5sb2FkZXIuZGF0YS5pZClcclxuICAgICAgICAgICAgLy8gKSB7XHJcbiAgICAgICAgICAgIC8vICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdzaG93LWxpc3QtdmlldycsIHtcclxuICAgICAgICAgICAgLy8gICAgIHBheWxvYWQ6IHtcclxuICAgICAgICAgICAgLy8gICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxyXG4gICAgICAgICAgICAvLyAgICAgICBlbnRpdHk6IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lLFxyXG4gICAgICAgICAgICAvLyAgICAgfSxcclxuICAgICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgICAgLy99XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy53b3JrZmxvdy5ldmVudHMkLnBpcGUob2ZUeXBlKEFYUEVudGl0eU1vZGlmeUV2ZW50KSkuc3Vic2NyaWJlKGFzeW5jIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLmVudGl0eSA9PSB0aGlzLmVudGl0eURlZi5uYW1lICYmXHJcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLm1vZHVsZSA9PSB0aGlzLmVudGl0eURlZi5tb2R1bGUgJiZcclxuICAgICAgICAgICAgICAgIGV2ZW50LnBheWxvYWQudXBkYXRlVmFsdWVzLmlkID09PSB0aGlzLmNvbnRleHQoKS5pZFxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5zZXQoZXZlbnQucGF5bG9hZC51cGRhdGVWYWx1ZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyBjb250ZXh0ID0gc2lnbmFsPGFueT4oY2xvbmVEZWVwKHRoaXMuZW50aXR5RGF0YSkpO1xyXG5cclxuICAgIHByaXZhdGUgYWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlEZWYuaW50ZXJmYWNlcz8ubWFzdGVyPy5zaW5nbGU/LmFjdGlvbnM/Lm1hcCgodHIpID0+IG5ldyBBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgdHIpKSA/PyBbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBwcmltYXJ5QWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKCkuZmlsdGVyKGMgPT4gYy5wcmlvcml0eSA9PSAncHJpbWFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHNlY29uZGFyeUFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucygpLmZpbHRlcihjID0+IGMucHJpb3JpdHkgPT0gJ3NlY29uZGFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHNlY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld0dyb3VwVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmlsdGVyKGMgPT4gYy5ncm91cElkICYmIGMuc2NoZW1hLmhpZGRlbiAhPSB0cnVlICYmIGMub3B0aW9ucz8udmlldz8uZW5hYmxlZCAhPSBmYWxzZSk7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbnRpdHlEZWYuZ3JvdXBzPy5maWx0ZXIoZyA9PiBwcm9wcy5zb21lKHAgPT4gcC5ncm91cElkID09IGcuaWQpKTtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBncm91cHM/Lm1hcCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eU1hc3RlclNpbmdsZVZpZXdHcm91cFZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgc2VjdGlvbilcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiAocmVzdWx0ID8/IFtdKSBhcyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3R3JvdXBWaWV3TW9kZWxbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIFRpdGxlICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgdGl0bGUgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcclxuICAgICAgICBjb25zdCBzdWdnZXN0ZWRQcm9wcyA9IHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmluZCgoYykgPT4gWyd0aXRsZScsICduYW1lJywgJ2NvZGUnXS5pbmNsdWRlcyhjLm5hbWUpKTtcclxuICAgICAgICBsZXQgc3VnZ2VzdGVkRm9ybWF0ID0gJ0l0ZW0gI3t7aWR9fSc7XHJcbiAgICAgICAgaWYgKHN1Z2dlc3RlZFByb3BzKSBzdWdnZXN0ZWRGb3JtYXQgPSBge3ske3N1Z2dlc3RlZFByb3BzLm5hbWV9fX1gO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMuX3ZpZXdEZWYudGl0bGUgPz8gc3VnZ2VzdGVkRm9ybWF0LFxyXG4gICAgICAgICAgICAnc3RyaW5nJyxcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0KClcclxuICAgICAgICApO1xyXG4gICAgfSk7XHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBEZXNjcmlwdGlvbiAqKioqKioqKioqKioqKioqKiovL1xyXG4gICAgcHVibGljIGRlc2NyaXB0aW9uID0gY29tcHV0ZWQ8c3RyaW5nIHwgbnVsbD4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92aWV3RGVmLmRlc2NyaXB0aW9uID8gdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl92aWV3RGVmLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAnc3RyaW5nJyxcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0KClcclxuICAgICAgICApIDogbnVsbDtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIEJlYXJkY3J1bWJzICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgYmVhcmRjcnVtYnMgPSBjb21wdXRlZDxBWFBCZWFyZENydW1iW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIb21lXCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImZhLXNvbGlkIGZhLWhvbWUgYXgtdGV4dC14cyBheC1tZS0yXCIsXHJcbiAgICAgICAgICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWBdXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLmVudGl0eURlZi5mb3JtYXRzLnBsdXJhbCA/PyB0aGlzLmVudGl0eURlZi5mb3JtYXRzLmluZGl2aWR1YWwsXHJcbiAgICAgICAgICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWAsICdtJywgYCR7dGhpcy5lbnRpdHlEZWYubW9kdWxlfWAsICdlJywgYCR7dGhpcy5lbnRpdHlEZWYubmFtZX1gLCAnbGlzdCddXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlKCksXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgcHVibGljIHJlbGF0ZWRFbnRpdGllcyA9IGNvbXB1dGVkPEFYUEVudGl0eURldGFpbExpc3RWaWV3TW9kZWxbXT4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVudGl0eURlZi5yZWxhdGVkRW50aXRpZXM/Lm1hcChyZSA9PlxyXG4gICAgICAgICAgICBuZXcgQVhQRW50aXR5RGV0YWlsTGlzdFZpZXdNb2RlbCh0aGlzLmluamVjdG9yLCByZSwgeyBlbnRpdHk6IHRoaXMuZW50aXR5RGVmLCBkYXRhOiB0aGlzLmVudGl0eURhdGEgfSlcclxuICAgICAgICApID8/IFtdXHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgcHVibGljIGFzeW5jIGV4ZWN1dGVDb21tYW5kKGNvbW1hbmROYW1lOiBzdHJpbmcsIGRhdGE6IGFueSA9IG51bGwpIHtcclxuICAgICAgICAvLyBkZWJ1Z2dlclxyXG4gICAgICAgIC8vVE9ETzogc3ludGFjdCBmb3Igd29ya2Zsb3dcclxuICAgICAgICBzd2l0Y2ggKGNvbW1hbmROYW1lKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZS1lbnRpdHknOlxyXG4gICAgICAgICAgICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdkZWxldGUtZW50aXR5Jywge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZTogdGhpcy5lbnRpdHlEZWYubW9kdWxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGVudGl0eTogdGhpcy5lbnRpdHlEZWYubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBpZHM6IFt0aGlzLmNvbnRleHQoKS5pZF0sXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdtb2RpZnktZW50aXR5LXNlY3Rpb24nOiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ21vZGlmeS1lbnRpdHktc2VjdGlvbicsIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IChkYXRhIGFzIEFYUEVudGl0eU1hc3RlclNpbmdsZVZpZXdHcm91cFZpZXdNb2RlbCkuZWRpdGFibGVQcm9wcygpLm1hcChtID0+IG0ubmFtZSgpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMuZW50aXR5RGF0YS5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlOiB0aGlzLmVudGl0eURlZi5tb2R1bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogdGhpcy5lbnRpdHlEZWYubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuYWN0aW9ucygpLmZpbmQoYyA9PiBjLm5hbWUgPT0gY29tbWFuZE5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud29ya2Zsb3cuZXhlY3V0ZShjb21tYW5kTmFtZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGU6IHRoaXMuZW50aXR5RGVmLm1vZHVsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogdGhpcy5lbnRpdHlEZWYubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGFjdGlvbj8uc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwgPyBkYXRhIDogbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEZXRhaWxWaWV3TW9kZWxGYWN0b3J5IHtcclxuICAgIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld01vZGVsPiB7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lbnRpdHlTZXJ2aWNlLnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XHJcbiAgICAgICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgaWYgKGNvbmZpZy5xdWVyaWVzLmJ5S2V5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBjb25maWcucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZnVuYyhpZCk7XHJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3TW9kZWwodGhpcy5pbmplY3RvciwgY29uZmlnLCBkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnY2Fubm90IGZldGNoICcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eURldGFpbFZpZXdNb2RlbFJlc29sdmVyOiBSZXNvbHZlRm48UHJvbWlzZTxBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3TW9kZWw+PiA9IChcclxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsXHJcbiAgICBzZXJ2aWNlOiBBWFBFbnRpdHlEZXRhaWxWaWV3TW9kZWxGYWN0b3J5ID0gaW5qZWN0KEFYUEVudGl0eURldGFpbFZpZXdNb2RlbEZhY3RvcnkpXHJcbik6IFByb21pc2U8QVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld01vZGVsPiA9PiB7XHJcbiAgICBjb25zdCBhcHBOYW1lID0gcm91dGUucGFyZW50Py5wYXJhbU1hcC5nZXQoJ2FwcCcpIGFzIHN0cmluZztcclxuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSByb3V0ZS5wYXJlbnQ/LnBhcmFtTWFwLmdldCgnbW9kdWxlJykgYXMgc3RyaW5nO1xyXG4gICAgY29uc3QgZW50aXR5TmFtZSA9IHJvdXRlLnBhcmFtTWFwLmdldCgnZW50aXR5JykgYXMgc3RyaW5nO1xyXG4gICAgY29uc3QgaWQgPSByb3V0ZS5wYXJhbU1hcC5nZXQoJ2lkJykgYXMgc3RyaW5nO1xyXG4gICAgLy9cclxuICAgIHJldHVybiBzZXJ2aWNlLmNyZWF0ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lLCBpZCk7XHJcbn07XHJcblxyXG5cclxuIl19
|