@acorex/platform 18.0.9 → 18.0.11
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/auth/lib/application/application.types.d.ts +3 -3
- package/auth/lib/auth.strategy.d.ts +5 -0
- package/auth/lib/errors.types.d.ts +4 -4
- package/auth/lib/session.service.d.ts +4 -3
- package/common/lib/app/application.types.d.ts +6 -12
- package/common/lib/schema/entity/entity.class.d.ts +2 -1
- package/common/lib/schema/schema.types.d.ts +2 -1
- package/common/lib/schema/widget/widget-base.d.ts +1 -1
- package/common/lib/schema/widget/widget-token.d.ts +1 -1
- package/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.d.ts +1 -1
- package/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.d.ts +2 -2
- package/common/lib/schema/widgets/text/text-widget-column.component.d.ts +1 -1
- package/common/lib/schema/widgets/text/text-widget-view.component.d.ts +1 -1
- package/core/README.md +4 -0
- package/core/index.d.ts +3 -0
- package/core/lib/types.d.ts +13 -0
- package/core/utils/countdown-timer.d.ts +12 -0
- package/core/utils/html-utils.d.ts +9 -0
- package/esm2022/auth/lib/application/application.types.mjs +1 -1
- package/esm2022/auth/lib/auth-registry.service.mjs +3 -3
- package/esm2022/auth/lib/auth.module.mjs +4 -4
- package/esm2022/auth/lib/auth.strategy.mjs +1 -1
- package/esm2022/auth/lib/feature/feature.directive.mjs +3 -3
- package/esm2022/auth/lib/permission/permission.directive.mjs +3 -3
- package/esm2022/auth/lib/session.service.mjs +58 -16
- package/esm2022/common/lib/app/application.types.mjs +1 -1
- package/esm2022/common/lib/common.module.mjs +4 -4
- package/esm2022/common/lib/errors/error-handler-registry.service.mjs +3 -3
- package/esm2022/common/lib/errors/global-error-handler.mjs +5 -5
- package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +3 -3
- package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +3 -3
- package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +3 -3
- package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +4 -4
- package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +3 -3
- package/esm2022/common/lib/layout/layout.service.mjs +3 -3
- package/esm2022/common/lib/layout/logo/logo.component.mjs +3 -3
- package/esm2022/common/lib/layout/sticky.directive.mjs +3 -3
- package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +3 -3
- package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +3 -3
- package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +5 -5
- package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +3 -3
- package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +3 -3
- package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
- package/esm2022/common/lib/schema/schema-registery.service.mjs +3 -3
- package/esm2022/common/lib/schema/schema.module.mjs +4 -4
- package/esm2022/common/lib/schema/schema.types.mjs +1 -1
- package/esm2022/common/lib/schema/widget/widget-base.mjs +10 -10
- package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +3 -3
- package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +3 -3
- package/esm2022/common/lib/schema/widget/widget-renderer.mjs +3 -3
- package/esm2022/common/lib/schema/widget/widget-token.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +4 -4
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +4 -4
- package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +4 -4
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +4 -4
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +4 -4
- package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +3 -3
- package/esm2022/common/lib/settings/settings.service.mjs +3 -3
- package/esm2022/common/lib/store/common.effects.mjs +3 -3
- package/esm2022/common/lib/utils/clipboard-service.mjs +3 -3
- package/esm2022/common/lib/utils/pdf.service.mjs +3 -3
- package/esm2022/common/lib/utils/router-util.service.mjs +3 -3
- package/esm2022/common/lib/workflows/common.workflow.mjs +9 -9
- package/esm2022/common/lib/workflows/error-handler.mjs +3 -3
- package/esm2022/core/acorex-platform-core.mjs +5 -0
- package/esm2022/core/index.mjs +4 -0
- package/esm2022/core/lib/types.mjs +13 -0
- package/esm2022/core/utils/countdown-timer.mjs +42 -0
- package/esm2022/core/utils/html-utils.mjs +27 -0
- package/esm2022/layout/builder/lib/builder/builder.module.mjs +4 -4
- package/esm2022/layout/builder/lib/builder/builder.service.mjs +18 -4
- package/esm2022/layout/builder/lib/builder/layout.types.mjs +29 -1
- package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +12 -5
- package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +14 -20
- package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +7 -4
- package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +40 -15
- package/esm2022/layout/builder/lib/builder/widget.types.mjs +98 -42
- package/esm2022/layout/designer/acorex-platform-layout-designer.mjs +5 -0
- package/esm2022/layout/designer/index.mjs +8 -0
- package/esm2022/layout/designer/lib/board/board.component.mjs +68 -0
- package/esm2022/layout/designer/lib/breadcrumbs/breadcrumbs.component.mjs +64 -0
- package/esm2022/layout/designer/lib/buttons/add-widget-button/add-widget-button.component.mjs +37 -0
- package/esm2022/layout/designer/lib/designer/designer.component.mjs +77 -0
- package/esm2022/layout/designer/lib/designer.module.mjs +16 -0
- package/esm2022/layout/designer/lib/designer.service.mjs +370 -0
- package/esm2022/layout/designer/lib/outline/outline.component.mjs +56 -0
- package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +103 -0
- package/esm2022/layout/designer/lib/widget-designer-renderer.component.mjs +243 -0
- package/esm2022/layout/designer/lib/widget-picker/widget-picker.component.mjs +23 -0
- package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +3 -3
- package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +4 -5
- package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +5 -7
- package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +3 -3
- package/esm2022/layout/entity/lib/entity-registery.service.mjs +3 -3
- package/esm2022/layout/entity/lib/entity.module.mjs +4 -4
- package/esm2022/layout/entity/lib/entity.viewmodel.mjs +2 -3
- package/esm2022/layout/entity/lib/widgets/lookup-widget/index.mjs +1 -2
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +6 -6
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +21 -20
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.mjs +6 -6
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.mjs +6 -6
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +5 -5
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +59 -10
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +39 -4
- package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +4 -5
- package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +3 -3
- package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +6 -6
- package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +3 -3
- package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +3 -3
- package/esm2022/layouts/lib/admin/admin.module.mjs +4 -4
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +4 -4
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +5 -5
- package/esm2022/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.mjs +4 -4
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +4 -4
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +5 -5
- 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 +4 -4
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +4 -4
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +6 -6
- package/esm2022/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +3 -3
- package/esm2022/layouts/lib/layout.module.mjs +4 -4
- package/esm2022/mocks/lib/mocks.module.mjs +4 -4
- package/esm2022/mocks/lib/services/mocker.service.mjs +3 -3
- package/esm2022/mocks/lib/storage/storage.mock.service.mjs +4 -4
- package/esm2022/native/lib/native.module.mjs +4 -4
- package/esm2022/native/lib/native.service.mjs +3 -3
- package/esm2022/themes/default/lib/default.module.mjs +4 -4
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +7 -6
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +5 -5
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +4 -4
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +4 -4
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +6 -6
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +6 -6
- package/esm2022/themes/default/lib/layouts/root-layout/components/footer/footer.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +4 -4
- package/esm2022/themes/default/lib/pages/errors/error-401/error-401.component.mjs +4 -4
- package/esm2022/themes/default/lib/pages/errors/error-404/error-404.component.mjs +3 -3
- package/esm2022/themes/default/lib/pages/errors/error-offline/error-offline.component.mjs +3 -3
- package/esm2022/widgets/index.mjs +3 -1
- package/esm2022/widgets/lib/properties/editors.props.mjs +389 -0
- package/esm2022/widgets/lib/properties/groups.mjs +21 -0
- package/esm2022/widgets/lib/properties/index.mjs +4 -0
- package/esm2022/widgets/lib/properties/table-column.props.mjs +17 -0
- package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget-view.component.mjs +37 -0
- package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget.config.mjs +25 -0
- package/esm2022/widgets/lib/widgets/actions/button-widget/index.mjs +3 -0
- package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.mjs +51 -0
- package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +48 -0
- package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.mjs +55 -0
- package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.mjs +34 -0
- package/esm2022/widgets/lib/widgets/editors/checkbox/index.mjs +3 -0
- package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-column.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-edit.component.mjs +54 -0
- package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-view.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget.config.mjs +34 -0
- package/esm2022/widgets/lib/widgets/editors/color-box-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-column.component.mjs +36 -0
- package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-edit.component.mjs +297 -0
- package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-view.component.mjs +122 -0
- package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget.config.mjs +78 -0
- package/esm2022/widgets/lib/widgets/editors/contact-widget/contact.type.mjs +2 -0
- package/esm2022/widgets/lib/widgets/editors/contact-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/contact-widget/popup-component.mjs +78 -0
- package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +44 -0
- package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +133 -0
- package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +54 -0
- package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget.config.mjs +38 -0
- package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-column.component.mjs +66 -0
- package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-edit.component.mjs +249 -0
- package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-view.component.mjs +115 -0
- package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget.config.mjs +36 -0
- package/esm2022/widgets/lib/widgets/editors/email-box-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-column.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-edit.component.mjs +122 -0
- package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-view.component.mjs +215 -0
- package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.config.mjs +48 -0
- package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.service.mjs +3 -0
- package/esm2022/widgets/lib/widgets/editors/file-box-widget/index.mjs +8 -0
- package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-column.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-edit.component.mjs +173 -0
- package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-types.mjs +2 -0
- package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-view.component.mjs +160 -0
- package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget.config.mjs +26 -0
- package/esm2022/widgets/lib/widgets/editors/gallery-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/large-text-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-column.component.mjs +23 -0
- package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-edit.component.mjs +60 -0
- package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-view.component.mjs +31 -0
- package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget.config.mjs +37 -0
- package/esm2022/widgets/lib/widgets/editors/link-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-column.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-edit.component.mjs +391 -0
- package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-view.component.mjs +120 -0
- package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget.config.mjs +26 -0
- package/esm2022/widgets/lib/widgets/editors/map-box-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-column.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-edit.component.mjs +96 -0
- package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-view.component.mjs +65 -0
- package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget.config.mjs +28 -0
- package/esm2022/widgets/lib/widgets/editors/number-box-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-column.component.mjs +38 -0
- package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-edit.component.mjs +151 -0
- package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-view.component.mjs +56 -0
- package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget.config.mjs +37 -0
- package/esm2022/widgets/lib/widgets/editors/password-box-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-column.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-edit.component.mjs +52 -0
- package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-view.component.mjs +76 -0
- package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget.config.mjs +35 -0
- package/esm2022/widgets/lib/widgets/editors/phone-box-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-column.component.mjs +66 -0
- package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-edit.component.mjs +221 -0
- package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-view.component.mjs +115 -0
- package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget.config.mjs +29 -0
- package/esm2022/widgets/lib/widgets/editors/rich-text-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-popup.component.mjs +38 -0
- package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-column.component.mjs +46 -0
- package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-edit.component.mjs +67 -0
- package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-view.component.mjs +45 -0
- package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget.config.mjs +37 -0
- package/esm2022/widgets/lib/widgets/editors/select-box-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-column.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-edit.component.mjs +75 -0
- package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-filter.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-view.component.mjs +60 -0
- package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget.config.mjs +28 -0
- package/esm2022/widgets/lib/widgets/editors/selection-list-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-column.component.mjs +41 -0
- package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-edit.component.mjs +72 -0
- package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-view.component.mjs +44 -0
- package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget.config.mjs +25 -0
- package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +142 -0
- package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +43 -0
- package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget.config.mjs +34 -0
- package/esm2022/widgets/lib/widgets/editors/text-box-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-column.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-edit.component.mjs +119 -0
- package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-view.component.mjs +47 -0
- package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget.config.mjs +38 -0
- package/esm2022/widgets/lib/widgets/editors/toggle-widget/index.mjs +7 -0
- package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-column.component.mjs +53 -0
- package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-edit.component.mjs +31 -0
- package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-view.component.mjs +53 -0
- package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget.config.mjs +36 -0
- package/esm2022/widgets/lib/widgets/index.mjs +25 -0
- package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget-designer.component.mjs +65 -0
- package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget-view.component.mjs +48 -0
- package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget.config.mjs +27 -0
- package/esm2022/widgets/lib/widgets/layout/block-widget/index.mjs +4 -0
- package/esm2022/widgets/lib/widgets/layout/page-widget/index.mjs +3 -0
- package/esm2022/widgets/lib/widgets/layout/page-widget/page-widget-designer.component.mjs +55 -0
- package/esm2022/widgets/lib/widgets/layout/page-widget/page-widget-view.component.mjs +42 -0
- package/esm2022/widgets/lib/widgets/layout/page-widget/page-widget.config.mjs +27 -0
- package/esm2022/widgets/lib/widgets/layout/repeater-widget/index.mjs +6 -0
- package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-designer.component.mjs +50 -0
- package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-edit.component.mjs +20 -0
- package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-view.component.mjs +52 -0
- package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget.config.mjs +20 -0
- package/esm2022/widgets/lib/widgets/layout/text-block-widget/index.mjs +3 -0
- package/esm2022/widgets/lib/widgets/layout/text-block-widget/text-block-widget-view.component.mjs +29 -0
- package/esm2022/widgets/lib/widgets/layout/text-block-widget/text-block-widget.config.mjs +39 -0
- package/esm2022/widgets/lib/widgets.module.mjs +24 -26
- package/esm2022/workflow/lib/actions/start-workflow.action.mjs +3 -3
- package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +3 -3
- package/esm2022/workflow/lib/workflow-registery.service.mjs +3 -3
- package/esm2022/workflow/lib/workflow.module.mjs +4 -4
- package/esm2022/workflow/lib/workflow.service.mjs +3 -3
- package/esm2022/workflow/lib/workflow.types.mjs +6 -6
- package/fesm2022/acorex-platform-auth.mjs +70 -28
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs +179 -0
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs +86 -0
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs +170 -0
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-change-password.component-BBPFxmB6.mjs +177 -0
- package/fesm2022/acorex-platform-common-change-password.component-BBPFxmB6.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs +77 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs +47 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs +71 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs +67 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs +199 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs +234 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs +94 -0
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-email-widget-column.component-BOer2nZi.mjs +98 -0
- package/fesm2022/acorex-platform-common-email-widget-column.component-BOer2nZi.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs +270 -0
- package/fesm2022/acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs +131 -0
- package/fesm2022/acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs +50 -0
- package/fesm2022/acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs +222 -0
- package/fesm2022/acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs +52 -0
- package/fesm2022/acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs +175 -0
- package/fesm2022/acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs +210 -0
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs +51 -0
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs +194 -0
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs +61 -0
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs +67 -0
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs +118 -0
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs +153 -0
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs +78 -0
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs +115 -0
- package/fesm2022/acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs +87 -0
- package/fesm2022/acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs +96 -0
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs +158 -0
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs +155 -0
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-number-widget-edit.component-XSWI6466.mjs +69 -0
- package/fesm2022/acorex-platform-common-number-widget-edit.component-XSWI6466.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-number-widget-filter.component-BOT9wPJ5.mjs +158 -0
- package/fesm2022/acorex-platform-common-number-widget-filter.component-BOT9wPJ5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-number-widget-view.component-CP5aboLU.mjs +55 -0
- package/fesm2022/acorex-platform-common-number-widget-view.component-CP5aboLU.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs +90 -0
- package/fesm2022/acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs +65 -0
- package/fesm2022/acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs +129 -0
- package/fesm2022/acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs +116 -0
- package/fesm2022/acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs +270 -0
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs +146 -0
- package/fesm2022/acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs +86 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CnH3MjYz.mjs +90 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CnH3MjYz.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs +59 -0
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs +70 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs +77 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs +66 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs +70 -0
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs +149 -0
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs +64 -0
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs +148 -0
- package/fesm2022/acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-text-widget-column.component-D-mLfzKJ.mjs +71 -0
- package/fesm2022/acorex-platform-common-text-widget-column.component-D-mLfzKJ.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs +184 -0
- package/fesm2022/acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs +91 -0
- package/fesm2022/acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs +81 -0
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs +47 -0
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs +73 -0
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +168 -168
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +87 -0
- package/fesm2022/acorex-platform-core.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-builder.mjs +213 -85
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DkZGbnkz.mjs +26 -0
- package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DkZGbnkz.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-designer.mjs +984 -0
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +170 -114
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-B2XtNJo1.mjs +110 -0
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-B2XtNJo1.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs +93 -0
- package/fesm2022/acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-CjofXJku.mjs +91 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-CjofXJku.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts.mjs +82 -82
- package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
- package/fesm2022/acorex-platform-mocks.mjs +10 -10
- package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +7 -7
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cv0mt0pU.mjs +100 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cv0mt0pU.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDk03AnX.mjs +88 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDk03AnX.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs +31 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs +25 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +42 -42
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BzNhzB9y.mjs +54 -0
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BzNhzB9y.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BCsej7C6.mjs +58 -0
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BCsej7C6.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DYb6bilD.mjs +58 -0
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DYb6bilD.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs +41 -0
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +2920 -1714
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +22 -22
- package/layout/builder/lib/builder/builder.service.d.ts +10 -0
- package/layout/builder/lib/builder/layout.types.d.ts +1 -30
- package/layout/builder/lib/builder/widget-container.component.d.ts +5 -5
- package/layout/builder/lib/builder/widget-registery.service.d.ts +1 -0
- package/layout/builder/lib/builder/widget-renderer.component.d.ts +7 -2
- package/layout/builder/lib/builder/widget.types.d.ts +99 -43
- package/layout/designer/README.md +4 -0
- package/layout/designer/index.d.ts +7 -0
- package/layout/designer/lib/board/board.component.d.ts +10 -0
- package/layout/designer/lib/breadcrumbs/breadcrumbs.component.d.ts +11 -0
- package/layout/designer/lib/buttons/add-widget-button/add-widget-button.component.d.ts +9 -0
- package/layout/designer/lib/designer/designer.component.d.ts +18 -0
- package/layout/designer/lib/designer.module.d.ts +6 -0
- package/layout/designer/lib/designer.service.d.ts +103 -0
- package/layout/designer/lib/outline/outline.component.d.ts +17 -0
- package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +41 -0
- package/layout/designer/lib/widget-designer-renderer.component.d.ts +38 -0
- package/layout/designer/lib/widget-picker/widget-picker.component.d.ts +9 -0
- package/layout/entity/lib/widgets/lookup-widget/index.d.ts +0 -1
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.d.ts +2 -2
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +10 -9
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.d.ts +2 -2
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.d.ts +2 -2
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +14 -2
- package/package.json +13 -2
- package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +3 -3
- package/widgets/index.d.ts +2 -0
- package/widgets/lib/properties/editors.props.d.ts +26 -0
- package/widgets/lib/properties/groups.d.ts +5 -0
- package/widgets/lib/properties/index.d.ts +3 -0
- package/widgets/lib/properties/table-column.props.d.ts +2 -0
- package/widgets/lib/widgets/actions/button-widget/button-widget-view.component.d.ts +15 -0
- package/widgets/lib/widgets/actions/button-widget/button-widget.config.d.ts +2 -0
- package/widgets/lib/widgets/actions/button-widget/index.d.ts +2 -0
- package/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.d.ts +9 -0
- package/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.d.ts +15 -0
- package/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.d.ts +9 -0
- package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-edit.component.d.ts +12 -0
- package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-view.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/color-box-widget/color-box-widget.config.d.ts +2 -0
- package/widgets/lib/widgets/editors/color-box-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/contact-widget/contact-widget-column.component.d.ts +8 -0
- package/widgets/lib/widgets/editors/contact-widget/contact-widget-edit.component.d.ts +32 -0
- package/widgets/lib/widgets/editors/contact-widget/contact-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/contact-widget/contact-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/contact-widget/contact-widget-view.component.d.ts +19 -0
- package/widgets/lib/widgets/editors/contact-widget/contact.type.d.ts +5 -0
- package/widgets/lib/widgets/editors/contact-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-column.component.d.ts +14 -0
- package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-edit.component.d.ts +24 -0
- package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-view.component.d.ts +11 -0
- package/widgets/lib/widgets/editors/date-time-box-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-column.component.d.ts +16 -0
- package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-edit.component.d.ts +32 -0
- package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-view.component.d.ts +12 -0
- package/widgets/lib/widgets/editors/email-box-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-edit.component.d.ts +24 -0
- package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-view.component.d.ts +29 -0
- package/widgets/lib/widgets/editors/file-box-widget/file-box-widget.service.d.ts +12 -0
- package/widgets/lib/widgets/editors/file-box-widget/index.d.ts +7 -0
- package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-edit.component.d.ts +15 -0
- package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-view.component.d.ts +15 -0
- package/widgets/lib/widgets/editors/gallery-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/large-text-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-edit.component.d.ts +14 -0
- package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-view.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/link-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/link-widget/link-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/link-widget/link-widget-edit.component.d.ts +38 -0
- package/widgets/lib/widgets/editors/link-widget/link-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/link-widget/link-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/link-widget/link-widget-view.component.d.ts +13 -0
- package/widgets/lib/widgets/editors/map-box-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-edit.component.d.ts +15 -0
- package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-view.component.d.ts +16 -0
- package/widgets/lib/widgets/editors/number-box-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-column.component.d.ts +8 -0
- package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-edit.component.d.ts +25 -0
- package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-view.component.d.ts +12 -0
- package/widgets/lib/widgets/editors/password-box-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-edit.component.d.ts +10 -0
- package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-view.component.d.ts +14 -0
- package/widgets/lib/widgets/editors/phone-box-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-column.component.d.ts +16 -0
- package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-edit.component.d.ts +29 -0
- package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-view.component.d.ts +12 -0
- package/widgets/lib/widgets/editors/rich-text-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/rich-text-widget/rich-text-popup.component.d.ts +9 -0
- package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-column.component.d.ts +14 -0
- package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-edit.component.d.ts +11 -0
- package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-view.component.d.ts +14 -0
- package/widgets/lib/widgets/editors/select-box-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-edit.component.d.ts +16 -0
- package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-view.component.d.ts +12 -0
- package/widgets/lib/widgets/editors/selection-list-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-column.component.d.ts +14 -0
- package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-edit.component.d.ts +16 -0
- package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-view.component.d.ts +11 -0
- package/widgets/lib/widgets/editors/signature-pad-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +23 -0
- package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-view.component.d.ts +8 -0
- package/widgets/lib/widgets/editors/text-box-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-column.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-edit.component.d.ts +18 -0
- package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-view.component.d.ts +8 -0
- package/widgets/lib/widgets/editors/toggle-widget/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-column.component.d.ts +9 -0
- package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-edit.component.d.ts +10 -0
- package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-view.component.d.ts +9 -0
- package/widgets/lib/widgets/index.d.ts +22 -0
- package/widgets/lib/widgets/layout/block-widget/block-widget-designer.component.d.ts +11 -0
- package/widgets/lib/widgets/layout/block-widget/block-widget-view.component.d.ts +10 -0
- package/widgets/lib/widgets/layout/block-widget/index.d.ts +3 -0
- package/widgets/lib/widgets/layout/page-widget/index.d.ts +2 -0
- package/widgets/lib/widgets/layout/page-widget/page-widget-designer.component.d.ts +8 -0
- package/widgets/lib/widgets/layout/page-widget/page-widget-view.component.d.ts +8 -0
- package/widgets/lib/widgets/layout/page-widget/page-widget.config.d.ts +2 -0
- package/widgets/lib/widgets/layout/repeater-widget/index.d.ts +5 -0
- package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-designer.component.d.ts +8 -0
- package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-edit.component.d.ts +6 -0
- package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-print.component.d.ts +6 -0
- package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-view.component.d.ts +11 -0
- package/widgets/lib/widgets/layout/repeater-widget/repeater-widget.config.d.ts +2 -0
- package/widgets/lib/widgets/layout/text-block-widget/index.d.ts +2 -0
- package/widgets/lib/widgets/layout/text-block-widget/text-block-widget-view.component.d.ts +10 -0
- package/widgets/lib/widgets/layout/text-block-widget/text-block-widget.config.d.ts +2 -0
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-column.component.mjs +0 -45
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +0 -45
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +0 -54
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +0 -15
- package/esm2022/widgets/lib/editors/checkbox/index.mjs +0 -3
- package/esm2022/widgets/lib/editors/contact-widget/contact-widget-column.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/contact-widget/contact-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/contact-widget/contact-widget-edit.component.mjs +0 -267
- package/esm2022/widgets/lib/editors/contact-widget/contact-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/contact-widget/contact-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/contact-widget/contact-widget-view.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/contact-widget/contact-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/contact-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/contact-widget/popup-component.mjs +0 -78
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +0 -44
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +0 -122
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +0 -45
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +0 -66
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +0 -228
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +0 -111
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +0 -189
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +0 -147
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +0 -172
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +0 -2
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +0 -159
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/large-text-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-column.component.mjs +0 -23
- package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-edit.component.mjs +0 -47
- package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-view.component.mjs +0 -31
- package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/link-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/link-widget/link-widget-column.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/link-widget/link-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/link-widget/link-widget-edit.component.mjs +0 -391
- package/esm2022/widgets/lib/editors/link-widget/link-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/link-widget/link-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/link-widget/link-widget-view.component.mjs +0 -120
- package/esm2022/widgets/lib/editors/link-widget/link-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-column.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.mjs +0 -92
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-view.component.mjs +0 -65
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +0 -38
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +0 -138
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +0 -53
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +0 -27
- package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-column.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.mjs +0 -39
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +0 -73
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +0 -66
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +0 -220
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +0 -113
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +0 -23
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +0 -63
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +0 -39
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +0 -80
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +0 -60
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +0 -41
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.mjs +0 -58
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +0 -41
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +0 -140
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +0 -42
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +0 -121
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +0 -40
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +0 -25
- package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +0 -8
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-column.component.mjs +0 -47
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.mjs +0 -27
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +0 -19
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-view.component.mjs +0 -47
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +0 -24
- package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +0 -39
- package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +0 -9
- package/esm2022/widgets/lib/layout/block-widget/index.mjs +0 -3
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs +0 -179
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs +0 -86
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs +0 -170
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-change-password.component-CULJjn0l.mjs +0 -177
- package/fesm2022/acorex-platform-common-change-password.component-CULJjn0l.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs +0 -77
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs +0 -47
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs +0 -71
- package/fesm2022/acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs +0 -67
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs +0 -199
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs +0 -234
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs +0 -94
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-column.component-DlPoexcx.mjs +0 -98
- package/fesm2022/acorex-platform-common-email-widget-column.component-DlPoexcx.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs +0 -270
- package/fesm2022/acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs +0 -131
- package/fesm2022/acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs +0 -50
- package/fesm2022/acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs +0 -222
- package/fesm2022/acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs +0 -52
- package/fesm2022/acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs +0 -175
- package/fesm2022/acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs +0 -210
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs +0 -51
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs +0 -194
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs +0 -61
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs +0 -67
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs +0 -118
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs +0 -153
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs +0 -78
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs +0 -115
- package/fesm2022/acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs +0 -87
- package/fesm2022/acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs +0 -96
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs +0 -158
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs +0 -155
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-edit.component-D9dC514F.mjs +0 -69
- package/fesm2022/acorex-platform-common-number-widget-edit.component-D9dC514F.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs +0 -158
- package/fesm2022/acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs +0 -55
- package/fesm2022/acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs +0 -90
- package/fesm2022/acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs +0 -65
- package/fesm2022/acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs +0 -129
- package/fesm2022/acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs +0 -116
- package/fesm2022/acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs +0 -270
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs +0 -146
- package/fesm2022/acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs +0 -86
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs +0 -90
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs +0 -59
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs +0 -70
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs +0 -77
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs +0 -66
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs +0 -70
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs +0 -149
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs +0 -64
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs +0 -148
- package/fesm2022/acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-column.component-qXusAevm.mjs +0 -71
- package/fesm2022/acorex-platform-common-text-widget-column.component-qXusAevm.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs +0 -184
- package/fesm2022/acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs +0 -91
- package/fesm2022/acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs +0 -81
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs +0 -47
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs +0 -73
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs +0 -110
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs +0 -93
- package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs +0 -91
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs +0 -99
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs +0 -88
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs +0 -31
- package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs +0 -25
- package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs +0 -48
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs +0 -57
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs.map +0 -1
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/checkbox/checkbox-widget-column.component.d.ts +0 -9
- package/widgets/lib/editors/checkbox/checkbox-widget-edit.component.d.ts +0 -13
- package/widgets/lib/editors/checkbox/checkbox-widget-view.component.d.ts +0 -9
- package/widgets/lib/editors/contact-widget/contact-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/contact-widget/contact-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/contact-widget/contact-widget-edit.component.d.ts +0 -36
- package/widgets/lib/editors/contact-widget/contact-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/contact-widget/contact-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/contact-widget/contact-widget-view.component.d.ts +0 -6
- package/widgets/lib/editors/contact-widget/index.d.ts +0 -7
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.d.ts +0 -14
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.d.ts +0 -24
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.d.ts +0 -11
- package/widgets/lib/editors/date-time-box-widget/index.d.ts +0 -7
- package/widgets/lib/editors/email-box-widget/email-box-widget-column.component.d.ts +0 -16
- package/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.d.ts +0 -31
- package/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/email-box-widget/email-box-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/email-box-widget/email-box-widget-view.component.d.ts +0 -12
- package/widgets/lib/editors/email-box-widget/index.d.ts +0 -7
- package/widgets/lib/editors/file-box-widget/file-box-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.d.ts +0 -18
- package/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/file-box-widget/file-box-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/file-box-widget/file-box-widget-view.component.d.ts +0 -17
- package/widgets/lib/editors/file-box-widget/index.d.ts +0 -7
- package/widgets/lib/editors/gallery-widget/gallery-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.d.ts +0 -15
- package/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/gallery-widget/gallery-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/gallery-widget/gallery-widget-view.component.d.ts +0 -15
- package/widgets/lib/editors/gallery-widget/index.d.ts +0 -7
- package/widgets/lib/editors/large-text-widget/index.d.ts +0 -7
- package/widgets/lib/editors/large-text-widget/large-text-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/large-text-widget/large-text-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/large-text-widget/large-text-widget-edit.component.d.ts +0 -10
- package/widgets/lib/editors/large-text-widget/large-text-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/large-text-widget/large-text-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/large-text-widget/large-text-widget-view.component.d.ts +0 -6
- package/widgets/lib/editors/link-widget/index.d.ts +0 -7
- package/widgets/lib/editors/link-widget/link-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/link-widget/link-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/link-widget/link-widget-edit.component.d.ts +0 -38
- package/widgets/lib/editors/link-widget/link-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/link-widget/link-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/link-widget/link-widget-view.component.d.ts +0 -13
- package/widgets/lib/editors/map-box-widget/index.d.ts +0 -7
- package/widgets/lib/editors/map-box-widget/map-box-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.d.ts +0 -15
- package/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/map-box-widget/map-box-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/map-box-widget/map-box-widget-view.component.d.ts +0 -16
- package/widgets/lib/editors/number-box-widget/index.d.ts +0 -7
- package/widgets/lib/editors/number-box-widget/number-box-widget-column.component.d.ts +0 -8
- package/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +0 -28
- package/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/number-box-widget/number-box-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/number-box-widget/number-box-widget-view.component.d.ts +0 -14
- package/widgets/lib/editors/password-box-widget/index.d.ts +0 -7
- package/widgets/lib/editors/password-box-widget/password-box-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.d.ts +0 -8
- package/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/password-box-widget/password-box-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/password-box-widget/password-box-widget-view.component.d.ts +0 -13
- package/widgets/lib/editors/phone-box-widget/index.d.ts +0 -7
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.d.ts +0 -16
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.d.ts +0 -30
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.d.ts +0 -12
- package/widgets/lib/editors/rich-text-widget/index.d.ts +0 -7
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.d.ts +0 -33
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.d.ts +0 -10
- package/widgets/lib/editors/select-box-widget/index.d.ts +0 -7
- package/widgets/lib/editors/select-box-widget/select-box-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.d.ts +0 -15
- package/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/select-box-widget/select-box-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/select-box-widget/select-box-widget-view.component.d.ts +0 -12
- package/widgets/lib/editors/selection-list-widget/index.d.ts +0 -7
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.d.ts +0 -14
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.d.ts +0 -13
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.d.ts +0 -11
- package/widgets/lib/editors/signature-pad-widget/index.d.ts +0 -7
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +0 -21
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.d.ts +0 -7
- package/widgets/lib/editors/text-box-widget/index.d.ts +0 -7
- package/widgets/lib/editors/text-box-widget/text-box-widget-column.component.d.ts +0 -6
- package/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.d.ts +0 -19
- package/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/text-box-widget/text-box-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/text-box-widget/text-box-widget-view.component.d.ts +0 -8
- package/widgets/lib/editors/toggle-widget/index.d.ts +0 -7
- package/widgets/lib/editors/toggle-widget/toggle-widget-column.component.d.ts +0 -9
- package/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.d.ts +0 -6
- package/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.d.ts +0 -7
- package/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.d.ts +0 -6
- package/widgets/lib/editors/toggle-widget/toggle-widget-print.component.d.ts +0 -6
- package/widgets/lib/editors/toggle-widget/toggle-widget-view.component.d.ts +0 -9
- package/widgets/lib/layout/block-widget/block-widget.component.d.ts +0 -8
- package/widgets/lib/layout/block-widget/index.d.ts +0 -2
- /package/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/checkbox/index.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/contact-widget/contact-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/contact-widget/popup-component.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-types.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/large-text-widget/large-text-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget.config.d.ts +0 -0
- /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget.config.d.ts +0 -0
- /package/widgets/lib/{layout → widgets/layout}/block-widget/block-widget.config.d.ts +0 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
import { AXPopupService } from '@acorex/components/popup';
|
|
2
|
+
import { AXPWidgetRegistryService } from '@acorex/platform/layout/builder';
|
|
3
|
+
import { computed, inject, Injectable, signal } from '@angular/core';
|
|
4
|
+
import { cloneDeep, get, merge, set, sortBy } from 'lodash-es';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class AXPDesignerService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.clipboard = signal(null);
|
|
10
|
+
this.undoStack = [];
|
|
11
|
+
this.redoStack = [];
|
|
12
|
+
this.maxHistorySize = 20;
|
|
13
|
+
this.canUndo = signal(false);
|
|
14
|
+
this.canRedo = signal(false);
|
|
15
|
+
this.canCutCopy = computed(() => this.selectedNode() != null && this.selectedNode()?.name != "page");
|
|
16
|
+
this.canPaste = computed(() => (this.clipboard() != null));
|
|
17
|
+
this.popupService = inject(AXPopupService);
|
|
18
|
+
this.widgetRegisteryService = inject(AXPWidgetRegistryService);
|
|
19
|
+
this.root = signal(this.createPage());
|
|
20
|
+
this.breadcrumbs = computed(() => {
|
|
21
|
+
return this.selectedNode() ? this.findBreadcrumbs(this.root(), this.selectedNode()) ?? [] : [];
|
|
22
|
+
});
|
|
23
|
+
this.selectedNode = signal(null);
|
|
24
|
+
this._lastSelectedNode = null;
|
|
25
|
+
this._focusedNode = null;
|
|
26
|
+
this.focusedNode = () => this._focusedNode;
|
|
27
|
+
this._mode = signal('designer');
|
|
28
|
+
this.mode = this._mode.asReadonly();
|
|
29
|
+
this.onSelected = new Subject();
|
|
30
|
+
this.onRefresh = new Subject();
|
|
31
|
+
this.onUpdate = new Subject();
|
|
32
|
+
this.onFocused = new Subject();
|
|
33
|
+
}
|
|
34
|
+
setMode(mode) {
|
|
35
|
+
this._mode.set(mode);
|
|
36
|
+
}
|
|
37
|
+
register(command) {
|
|
38
|
+
if (!this._lastSelectedNode) {
|
|
39
|
+
this.select({ widget: command.widget });
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.select({ widget: this._lastSelectedNode });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
select(command) {
|
|
46
|
+
this.selectedNode.set(command.widget);
|
|
47
|
+
this._lastSelectedNode = this.selectedNode();
|
|
48
|
+
this.onSelected.next(command);
|
|
49
|
+
}
|
|
50
|
+
update(command) {
|
|
51
|
+
if (command.mode == 'update') {
|
|
52
|
+
console.log(this.selectedNode()?.name, command);
|
|
53
|
+
this.saveStateForUndo();
|
|
54
|
+
}
|
|
55
|
+
this.selectedNode.update(c => merge(this.selectedNode(), command.values));
|
|
56
|
+
this.onUpdate.next({ widget: this.selectedNode(), values: command.values });
|
|
57
|
+
}
|
|
58
|
+
focus(command) {
|
|
59
|
+
if (this._focusedNode != command.widget) {
|
|
60
|
+
this._focusedNode = command.widget;
|
|
61
|
+
this.onFocused.next({ widget: this._focusedNode });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
refresh(command) {
|
|
65
|
+
this.onRefresh.next({ widget: command.widget });
|
|
66
|
+
}
|
|
67
|
+
findBreadcrumbs(node, targetNode, breadcrumb = []) {
|
|
68
|
+
// Add the current node to the breadcrumb path
|
|
69
|
+
const currentBreadcrumb = [...breadcrumb, node];
|
|
70
|
+
// Check if the current node is the target node
|
|
71
|
+
if (node === targetNode) {
|
|
72
|
+
return currentBreadcrumb;
|
|
73
|
+
}
|
|
74
|
+
// If the node has children, recursively search them
|
|
75
|
+
if (node.children) {
|
|
76
|
+
for (const child of node.children) {
|
|
77
|
+
const result = this.findBreadcrumbs(child, targetNode, currentBreadcrumb);
|
|
78
|
+
if (result) {
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Return undefined if no match is found
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
async showPicker(currentNode) {
|
|
87
|
+
const com = await import('./widget-picker/widget-picker.component').then(c => c.AXPDesignerWidgetPickerComponent);
|
|
88
|
+
const result = await this.popupService.open(com, {
|
|
89
|
+
title: "Widget Gallery",
|
|
90
|
+
size: 'md',
|
|
91
|
+
closeButton: true,
|
|
92
|
+
data: {
|
|
93
|
+
widgets: sortBy(this.widgetRegisteryService.all().filter(c => c.visible != false), c => c.title)
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
if ((result.data?.widgets ?? []).length) {
|
|
97
|
+
const selected = result.data?.widgets;
|
|
98
|
+
selected.forEach(c => {
|
|
99
|
+
this.addWidget(currentNode, { type: c.name });
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
createPage() {
|
|
104
|
+
const config = this.widgetRegisteryService.resolve('page');
|
|
105
|
+
const page = {
|
|
106
|
+
type: 'page',
|
|
107
|
+
children: [],
|
|
108
|
+
name: "page",
|
|
109
|
+
};
|
|
110
|
+
set(page, '__meta__.id', Math.random() * Math.pow(10, 18));
|
|
111
|
+
set(page, '__meta__.config', config);
|
|
112
|
+
return page;
|
|
113
|
+
}
|
|
114
|
+
findWidgetById(root, id) {
|
|
115
|
+
if (get(root, "__meta__.id") === id) {
|
|
116
|
+
return root; // Return the root if it matches the ID
|
|
117
|
+
}
|
|
118
|
+
if (!root.children)
|
|
119
|
+
return null;
|
|
120
|
+
for (const child of root.children) {
|
|
121
|
+
const found = this.findWidgetById(child, id);
|
|
122
|
+
if (found) {
|
|
123
|
+
return found; // Return the found child
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return null; // Node not found
|
|
127
|
+
}
|
|
128
|
+
findParent(id, parent = this.root()) {
|
|
129
|
+
if (!parent.children)
|
|
130
|
+
return null;
|
|
131
|
+
if (parent.children.some(child => get(child, "__meta__.id") === id)) {
|
|
132
|
+
return parent; // Return this node as it's the parent of the node with the given ID
|
|
133
|
+
}
|
|
134
|
+
for (const child of parent.children) {
|
|
135
|
+
const foundParent = this.findParent(id, child);
|
|
136
|
+
if (foundParent)
|
|
137
|
+
return foundParent;
|
|
138
|
+
}
|
|
139
|
+
return null; // No parent found
|
|
140
|
+
}
|
|
141
|
+
findNearestContainer(node, searchUpward = true) {
|
|
142
|
+
if (searchUpward) {
|
|
143
|
+
let current = node;
|
|
144
|
+
while (current) {
|
|
145
|
+
const config = this.widgetRegisteryService.resolve(current.type);
|
|
146
|
+
if (config && config.container) {
|
|
147
|
+
return current;
|
|
148
|
+
}
|
|
149
|
+
current = this.findParent(get(current, "__meta__.id")); // Use findParent to navigate upwards
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
// Recursive search to find the first container among children
|
|
154
|
+
if (node.children) {
|
|
155
|
+
for (const child of node.children) {
|
|
156
|
+
const config = this.widgetRegisteryService.resolve(child.type);
|
|
157
|
+
if (config && config.container) {
|
|
158
|
+
return child;
|
|
159
|
+
}
|
|
160
|
+
const foundContainer = this.findNearestContainer(child, false); // Continue searching downwards
|
|
161
|
+
if (foundContainer)
|
|
162
|
+
return foundContainer;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return null; // Return null if no container found
|
|
167
|
+
}
|
|
168
|
+
addWidget(currentNode, node) {
|
|
169
|
+
if (!currentNode)
|
|
170
|
+
return null;
|
|
171
|
+
//
|
|
172
|
+
this.saveStateForUndo();
|
|
173
|
+
//
|
|
174
|
+
if (!currentNode.children) {
|
|
175
|
+
currentNode.children = [];
|
|
176
|
+
}
|
|
177
|
+
const config = this.widgetRegisteryService.resolve(node.type);
|
|
178
|
+
//
|
|
179
|
+
const cloned = cloneDeep(node);
|
|
180
|
+
cloned.name = this.generateUniqueName(node.type);
|
|
181
|
+
set(cloned, '__meta__.id', Math.random() * Math.pow(10, 18));
|
|
182
|
+
set(cloned, '__meta__.config', config);
|
|
183
|
+
//
|
|
184
|
+
currentNode.children.push(cloned);
|
|
185
|
+
//
|
|
186
|
+
//
|
|
187
|
+
this.refresh({ widget: currentNode });
|
|
188
|
+
this.select({ widget: cloned });
|
|
189
|
+
return cloned;
|
|
190
|
+
}
|
|
191
|
+
removeWidget(node) {
|
|
192
|
+
if (node.type === "page") {
|
|
193
|
+
console.error("Cannot remove the page node.");
|
|
194
|
+
return; // Prevent removing the root page node
|
|
195
|
+
}
|
|
196
|
+
this.saveStateForUndo(); // Save state before making changes
|
|
197
|
+
const nodeIdToRemove = get(node, "__meta__.id");
|
|
198
|
+
if (!nodeIdToRemove) {
|
|
199
|
+
throw new Error("Node does not have a valid __meta__.id to identify it for removal.");
|
|
200
|
+
}
|
|
201
|
+
// Find the parent of the node to remove it
|
|
202
|
+
const parent = this.findParent(nodeIdToRemove, this.root());
|
|
203
|
+
if (!parent) {
|
|
204
|
+
throw new Error("Parent node not found. The node might be the root node or does not exist.");
|
|
205
|
+
}
|
|
206
|
+
const index = parent.children?.findIndex(child => get(child, "__meta__.id") === nodeIdToRemove) ?? -1;
|
|
207
|
+
if (index > -1) {
|
|
208
|
+
parent.children.splice(index, 1);
|
|
209
|
+
this.refresh({ widget: parent }); // Refresh the UI to reflect changes
|
|
210
|
+
this.select({ widget: parent }); // Select the parent node after removal
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
throw new Error("Node to remove not found in the widget tree.");
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
saveStateForUndo() {
|
|
217
|
+
if (this.undoStack.length >= this.maxHistorySize) {
|
|
218
|
+
this.undoStack.shift(); // Remove the oldest snapshot if exceeding the max history size.
|
|
219
|
+
}
|
|
220
|
+
this.undoStack.push(cloneDeep(this.root()));
|
|
221
|
+
this.canUndo.set(true);
|
|
222
|
+
// Clear the redo stack whenever a new change is made after undo
|
|
223
|
+
if (this.redoStack.length > 0) {
|
|
224
|
+
this.redoStack = [];
|
|
225
|
+
this.canRedo.set(false);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
applyState(state) {
|
|
229
|
+
this.root.set(state);
|
|
230
|
+
this.refresh({ widget: this.root() });
|
|
231
|
+
//TODO: select the selected widget on this state
|
|
232
|
+
this.select({ widget: this._lastSelectedNode ?? this.root() });
|
|
233
|
+
}
|
|
234
|
+
undo() {
|
|
235
|
+
if (this.undoStack.length > 0) {
|
|
236
|
+
const currentState = cloneDeep(this.root());
|
|
237
|
+
this.redoStack.push(currentState);
|
|
238
|
+
const prevState = this.undoStack.pop();
|
|
239
|
+
this.applyState(prevState);
|
|
240
|
+
this.canUndo.set(this.undoStack.length > 0);
|
|
241
|
+
this.canRedo.set(true); // There is at least one action to redo now
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
redo() {
|
|
245
|
+
if (this.redoStack.length > 0) {
|
|
246
|
+
const nextState = this.redoStack.pop();
|
|
247
|
+
this.undoStack.push(cloneDeep(this.root()));
|
|
248
|
+
this.applyState(nextState);
|
|
249
|
+
this.canRedo.set(this.redoStack.length > 0);
|
|
250
|
+
this.canUndo.set(true); // Undo is always available after a redo
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
formatOutputJSON(obj, nodeName) {
|
|
254
|
+
// Check if the object is an array
|
|
255
|
+
if (Array.isArray(obj)) {
|
|
256
|
+
return obj.map(item => this.formatOutputJSON(item, nodeName));
|
|
257
|
+
}
|
|
258
|
+
else if (typeof obj === 'object' && obj !== null) {
|
|
259
|
+
// Create a new object to store the result
|
|
260
|
+
let newObj = {};
|
|
261
|
+
for (let key in obj) {
|
|
262
|
+
// Only add the key if it's not the nodeName we want to remove
|
|
263
|
+
if (key !== nodeName) {
|
|
264
|
+
newObj[key] = this.formatOutputJSON(obj[key], nodeName);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return newObj;
|
|
268
|
+
}
|
|
269
|
+
// If the value is not an object or array, return it as is
|
|
270
|
+
return obj;
|
|
271
|
+
}
|
|
272
|
+
copy(widget = this.selectedNode()) {
|
|
273
|
+
if (!widget)
|
|
274
|
+
return;
|
|
275
|
+
this.clipboard.set(cloneDeep(widget)); // Use lodash's cloneDeep to ensure a deep copy
|
|
276
|
+
}
|
|
277
|
+
cut(widget = this.selectedNode()) {
|
|
278
|
+
if (!widget)
|
|
279
|
+
return;
|
|
280
|
+
this.copy(widget); // Copy the widget to the clipboard
|
|
281
|
+
this.removeWidget(widget); // Reuse the removeWidget method which should handle undo internally
|
|
282
|
+
}
|
|
283
|
+
paste(parentNode = this.selectedNode() ?? this.root()) {
|
|
284
|
+
if (!this.clipboard() || !this.selectedNode()) {
|
|
285
|
+
console.error("Clipboard is empty or no node is selected.");
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
const nearestContainer = this.findNearestContainer(parentNode, true);
|
|
289
|
+
if (!nearestContainer) {
|
|
290
|
+
console.error("No suitable container found.");
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
//
|
|
294
|
+
this.saveStateForUndo(); // Prepare for undo functionality
|
|
295
|
+
//
|
|
296
|
+
if (!nearestContainer.children) {
|
|
297
|
+
nearestContainer.children = [];
|
|
298
|
+
}
|
|
299
|
+
const newNode = cloneDeep(this.clipboard());
|
|
300
|
+
set(newNode, "__meta__.id", Math.random() * Math.pow(10, 18)); // Ensure a unique ID
|
|
301
|
+
//
|
|
302
|
+
nearestContainer.children.push(newNode); // Add the new node to the container
|
|
303
|
+
this.refresh({ widget: nearestContainer }); // Refresh the UI
|
|
304
|
+
this.select({ widget: newNode }); // Select the newly pasted node
|
|
305
|
+
}
|
|
306
|
+
export() {
|
|
307
|
+
const json = this.formatOutputJSON(this.root(), "__meta__");
|
|
308
|
+
return JSON.stringify(json);
|
|
309
|
+
}
|
|
310
|
+
download() {
|
|
311
|
+
// Convert the object to a JSON string
|
|
312
|
+
const jsonStr = this.export();
|
|
313
|
+
// Create a blob object from the JSON string
|
|
314
|
+
const blob = new Blob([jsonStr], { type: "application/json" });
|
|
315
|
+
// Create a URL for the blob object
|
|
316
|
+
const url = URL.createObjectURL(blob);
|
|
317
|
+
// Create a temporary <a> element to trigger the download
|
|
318
|
+
const a = document.createElement("a");
|
|
319
|
+
a.href = url;
|
|
320
|
+
a.download = "export.json";
|
|
321
|
+
// Append the <a> element to the document body (necessary for some browsers)
|
|
322
|
+
document.body.appendChild(a);
|
|
323
|
+
// Trigger the download by clicking the <a> element
|
|
324
|
+
a.click();
|
|
325
|
+
// Clean up by revoking the object URL and removing the <a> element
|
|
326
|
+
URL.revokeObjectURL(url);
|
|
327
|
+
document.body.removeChild(a);
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Generates a well-formed, unique name for a new widget node based on its type.
|
|
331
|
+
* @param type The type of the widget (e.g., 'textBox', 'numberBox').
|
|
332
|
+
* @returns A unique name for the widget (e.g., 'textBox1', 'numberBox2').
|
|
333
|
+
*/
|
|
334
|
+
generateUniqueName(type) {
|
|
335
|
+
// Normalize the type to follow camelCase convention
|
|
336
|
+
const baseName = type.charAt(0).toLowerCase() + type.slice(1);
|
|
337
|
+
let index = 1;
|
|
338
|
+
let uniqueName = `${baseName}${index}`;
|
|
339
|
+
// Gather all existing names to check against
|
|
340
|
+
const existingNames = new Set();
|
|
341
|
+
this.collectAllNames(this.root(), existingNames);
|
|
342
|
+
// Increment the index until a unique name is found
|
|
343
|
+
while (existingNames.has(uniqueName)) {
|
|
344
|
+
index++;
|
|
345
|
+
uniqueName = `${baseName}${index}`;
|
|
346
|
+
}
|
|
347
|
+
return uniqueName;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Collects all existing widget names from the widget tree.
|
|
351
|
+
* @param node The current node being inspected.
|
|
352
|
+
* @param names A set to store existing names.
|
|
353
|
+
*/
|
|
354
|
+
collectAllNames(node, names) {
|
|
355
|
+
if (node.name) {
|
|
356
|
+
names.add(node.name);
|
|
357
|
+
}
|
|
358
|
+
if (node.children) {
|
|
359
|
+
for (const child of node.children) {
|
|
360
|
+
this.collectAllNames(child, names);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
365
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerService }); }
|
|
366
|
+
}
|
|
367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerService, decorators: [{
|
|
368
|
+
type: Injectable
|
|
369
|
+
}] });
|
|
370
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2Rlc2lnbmVyL3NyYy9saWIvZGVzaWduZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFzRCx3QkFBd0IsRUFBdUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwSixPQUFPLEVBQUUsUUFBUSxFQUFVLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQVcsR0FBRyxFQUFXLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFVLE1BQU0sV0FBVyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBa0QvQixNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRVksY0FBUyxHQUFHLE1BQU0sQ0FBdUIsSUFBSSxDQUFDLENBQUM7UUFDL0MsY0FBUyxHQUFvQixFQUFFLENBQUM7UUFDaEMsY0FBUyxHQUFvQixFQUFFLENBQUM7UUFDaEMsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqQyxZQUFPLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBQ2hHLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLENB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O1FBQzdDLE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFakQsbURBQW1EO1FBQ25ELE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ25DLEtBQUssRUFBRSxDQUFDO1lBQ1IsVUFBVSxHQUFHLEdBQUcsUUFBUSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGVBQWUsQ0FBQyxJQUFtQixFQUFFLEtBQWtCO1FBQzNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7OEdBNWFRLGtCQUFrQjtrSEFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAnO1xuaW1wb3J0IHsgQVhGaWxlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9maWxlJztcbmltcG9ydCB7IEFYUFdpZGdldENvbXBvbmVudCwgQVhQV2lkZ2V0Q29uZmlnLCBBWFBXaWRnZXROb2RlLCBBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UsIEFYUFdpZGdldFJlbmRlck1vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGZvckVhY2gsIGdldCwgaXNFcXVhbCwgbWVyZ2UsIHNldCwgc29ydEJ5LCB2YWx1ZXMgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUERlc2lnbmVyRm9jdXNDb21tYW5kIHtcbiAgICB3aWRnZXQ6IEFYUFdpZGdldE5vZGUgfCBudWxsLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUERlc2lnbmVyVXBkYXRlQ29tbWFuZCB7XG4gICAgdmFsdWVzOiBhbnk7XG4gICAgbW9kZTogXCJpbml0XCIgfCBcInVwZGF0ZVwiXG59XG5leHBvcnQgaW50ZXJmYWNlIEFYUERlc2lnbmVyVXBkYXRlRXZlbnQge1xuICAgIHZhbHVlczogYW55O1xuICAgIHdpZGdldDogQVhQV2lkZ2V0Tm9kZSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBEZXNpZ25lclNlbGVjdENvbW1hbmQge1xuICAgIHdpZGdldDogQVhQV2lkZ2V0Tm9kZSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBEZXNpZ25lclJlZ2lzdGVyQ29tbWFuZCB7XG4gICAgaWQ6IG51bWJlcixcbiAgICB3aWRnZXQ6IEFYUFdpZGdldE5vZGUsXG4gICAgY29uZmlnOiBBWFBXaWRnZXRDb25maWcsXG4gICAgaW5zdGFuY2U6IEFYUFdpZGdldENvbXBvbmVudCxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBEZXNpZ25lclNlbGVjdEV2ZW50IHtcbiAgICB3aWRnZXQ6IEFYUFdpZGdldE5vZGUsXG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBBWFBEZXNpZ25lclJlZnJlc2hDb21tYW5kIHtcbiAgICB3aWRnZXQ6IEFYUFdpZGdldE5vZGUsXG59XG5leHBvcnQgaW50ZXJmYWNlIEFYUERlc2lnbmVyUmVmcmVzaEV2ZW50IHtcbiAgICB3aWRnZXQ6IEFYUFdpZGdldE5vZGUsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRGVzaWduZXJBZGROb2RlQ29tbWFuZCB7XG4gICAgd2lkZ2V0OiBBWFBXaWRnZXROb2RlLFxufVxuZXhwb3J0IGludGVyZmFjZSBBWFBEZXNpZ25lckFkZE5vZGVFdmVudCB7XG4gICAgd2lkZ2V0OiBBWFBXaWRnZXROb2RlLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUERlc2lnbmVyRm9jdXNFdmVudCB7XG4gICAgd2lkZ2V0OiBBWFBXaWRnZXROb2RlIHwgbnVsbCxcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUERlc2lnbmVyU2VydmljZSB7XG4gICAgcHJpdmF0ZSBjbGlwYm9hcmQgPSBzaWduYWw8QVhQV2lkZ2V0Tm9kZSB8IG51bGw+KG51bGwpO1xuICAgIHByaXZhdGUgdW5kb1N0YWNrOiBBWFBXaWRnZXROb2RlW10gPSBbXTtcbiAgICBwcml2YXRlIHJlZG9TdGFjazogQVhQV2lkZ2V0Tm9kZVtdID0gW107XG4gICAgcHJpdmF0ZSBtYXhIaXN0b3J5U2l6ZSA9IDIwO1xuICAgIHB1YmxpYyBjYW5VbmRvID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwdWJsaWMgY2FuUmVkbyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gICAgcHVibGljIGNhbkN1dENvcHkgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlbGVjdGVkTm9kZSgpICE9IG51bGwgJiYgdGhpcy5zZWxlY3RlZE5vZGUoKT8ubmFtZSAhPSBcInBhZ2VcIik7XG4gICAgcHVibGljIGNhblBhc3RlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuY2xpcGJvYXJkKCkgIT0gbnVsbCkpO1xuXG4gICAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICAgIHByaXZhdGUgd2lkZ2V0UmVnaXN0ZXJ5U2VydmljZSA9IGluamVjdChBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHJvb3QgPSBzaWduYWwodGhpcy5jcmVhdGVQYWdlKCkpO1xuXG4gICAgcHVibGljIGJyZWFkY3J1bWJzID0gY29tcHV0ZWQ8QVhQV2lkZ2V0Tm9kZVtdPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTm9kZSgpID8gdGhpcy5maW5kQnJlYWRjcnVtYnModGhpcy5yb290KCksIHRoaXMuc2VsZWN0ZWROb2RlKCkhKSA/PyBbXSA6IFtdO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHNlbGVjdGVkTm9kZSA9IHNpZ25hbDxBWFBXaWRnZXROb2RlIHwgbnVsbD4obnVsbCk7XG5cbiAgICBwcml2YXRlIF9sYXN0U2VsZWN0ZWROb2RlOiBBWFBXaWRnZXROb2RlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIF9mb2N1c2VkTm9kZTogQVhQV2lkZ2V0Tm9kZSB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBmb2N1c2VkTm9kZSA9ICgpID0+IHRoaXMuX2ZvY3VzZWROb2RlO1xuXG4gICAgcHJpdmF0ZSBfbW9kZSA9IHNpZ25hbDxBWFBXaWRnZXRSZW5kZXJNb2RlPignZGVzaWduZXInKTtcbiAgICBwdWJsaWMgbW9kZSA9IHRoaXMuX21vZGUuYXNSZWFkb25seSgpO1xuXG4gICAgcHVibGljIHNldE1vZGUobW9kZTogQVhQV2lkZ2V0UmVuZGVyTW9kZSkge1xuICAgICAgICB0aGlzLl9tb2RlLnNldChtb2RlKTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyByZWFkb25seSBvblNlbGVjdGVkID0gbmV3IFN1YmplY3Q8QVhQRGVzaWduZXJTZWxlY3RFdmVudD4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgb25SZWZyZXNoID0gbmV3IFN1YmplY3Q8QVhQRGVzaWduZXJSZWZyZXNoRXZlbnQ+KCk7XG5cblxuICAgIHB1YmxpYyByZWdpc3Rlcihjb21tYW5kOiBBWFBEZXNpZ25lclJlZ2lzdGVyQ29tbWFuZCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2xhc3RTZWxlY3RlZE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0KHsgd2lkZ2V0OiBjb21tYW5kLndpZGdldCB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0KHsgd2lkZ2V0OiB0aGlzLl9sYXN0U2VsZWN0ZWROb2RlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdChjb21tYW5kOiBBWFBEZXNpZ25lclNlbGVjdENvbW1hbmQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuc2V0KGNvbW1hbmQud2lkZ2V0KTtcbiAgICAgICAgdGhpcy5fbGFzdFNlbGVjdGVkTm9kZSA9IHRoaXMuc2VsZWN0ZWROb2RlKCk7XG4gICAgICAgIHRoaXMub25TZWxlY3RlZC5uZXh0KGNvbW1hbmQpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWFkb25seSBvblVwZGF0ZSA9IG5ldyBTdWJqZWN0PEFYUERlc2lnbmVyVXBkYXRlRXZlbnQ+KCk7XG5cbiAgICBwdWJsaWMgdXBkYXRlKGNvbW1hbmQ6IEFYUERlc2lnbmVyVXBkYXRlQ29tbWFuZCk6IHZvaWQge1xuICAgICAgICBpZiAoY29tbWFuZC5tb2RlID09ICd1cGRhdGUnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkTm9kZSgpPy5uYW1lLCBjb21tYW5kKTtcbiAgICAgICAgICAgIHRoaXMuc2F2ZVN0YXRlRm9yVW5kbygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLnVwZGF0ZShjID0+IG1lcmdlKHRoaXMuc2VsZWN0ZWROb2RlKCksIGNvbW1hbmQudmFsdWVzKSk7XG4gICAgICAgIHRoaXMub25VcGRhdGUubmV4dCh7IHdpZGdldDogdGhpcy5zZWxlY3RlZE5vZGUoKSEsIHZhbHVlczogY29tbWFuZC52YWx1ZXMgfSk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgb25Gb2N1c2VkID0gbmV3IFN1YmplY3Q8QVhQRGVzaWduZXJGb2N1c0V2ZW50PigpO1xuXG4gICAgcHVibGljIGZvY3VzKGNvbW1hbmQ6IEFYUERlc2lnbmVyRm9jdXNDb21tYW5kKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9mb2N1c2VkTm9kZSAhPSBjb21tYW5kLndpZGdldCkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNlZE5vZGUgPSBjb21tYW5kLndpZGdldDtcbiAgICAgICAgICAgIHRoaXMub25Gb2N1c2VkLm5leHQoeyB3aWRnZXQ6IHRoaXMuX2ZvY3VzZWROb2RlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlZnJlc2goY29tbWFuZDogQVhQRGVzaWduZXJSZWZyZXNoQ29tbWFuZCkge1xuICAgICAgICB0aGlzLm9uUmVmcmVzaC5uZXh0KHsgd2lkZ2V0OiBjb21tYW5kLndpZGdldCB9KTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgZmluZEJyZWFkY3J1bWJzKFxuICAgICAgICBub2RlOiBBWFBXaWRnZXROb2RlLFxuICAgICAgICB0YXJnZXROb2RlOiBBWFBXaWRnZXROb2RlLFxuICAgICAgICBicmVhZGNydW1iOiBBWFBXaWRnZXROb2RlW10gPSBbXVxuICAgICk6IEFYUFdpZGdldE5vZGVbXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIC8vIEFkZCB0aGUgY3VycmVudCBub2RlIHRvIHRoZSBicmVhZGNydW1iIHBhdGhcbiAgICAgICAgY29uc3QgY3VycmVudEJyZWFkY3J1bWIgPSBbLi4uYnJlYWRjcnVtYiwgbm9kZV07XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgbm9kZSBpcyB0aGUgdGFyZ2V0IG5vZGVcbiAgICAgICAgaWYgKG5vZGUgPT09IHRhcmdldE5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50QnJlYWRjcnVtYjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSBub2RlIGhhcyBjaGlsZHJlbiwgcmVjdXJzaXZlbHkgc2VhcmNoIHRoZW1cbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZmluZEJyZWFkY3J1bWJzKGNoaWxkLCB0YXJnZXROb2RlLCBjdXJyZW50QnJlYWRjcnVtYik7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB1bmRlZmluZWQgaWYgbm8gbWF0Y2ggaXMgZm91bmRcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cblxuICAgIGFzeW5jIHNob3dQaWNrZXIoY3VycmVudE5vZGU6IEFYUFdpZGdldE5vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY29tID0gYXdhaXQgaW1wb3J0KCcuL3dpZGdldC1waWNrZXIvd2lkZ2V0LXBpY2tlci5jb21wb25lbnQnKS50aGVuKGMgPT4gYy5BWFBEZXNpZ25lcldpZGdldFBpY2tlckNvbXBvbmVudCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oY29tLCB7XG4gICAgICAgICAgICB0aXRsZTogXCJXaWRnZXQgR2FsbGVyeVwiLFxuICAgICAgICAgICAgc2l6ZTogJ21kJyxcbiAgICAgICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIHdpZGdldHM6IHNvcnRCeSh0aGlzLndpZGdldFJlZ2lzdGVyeVNlcnZpY2UuYWxsKCkuZmlsdGVyKGMgPT4gYy52aXNpYmxlICE9IGZhbHNlKSwgYyA9PiBjLnRpdGxlKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICgocmVzdWx0LmRhdGE/LndpZGdldHMgPz8gW10pLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSByZXN1bHQuZGF0YT8ud2lkZ2V0cyBhcyBBWFBXaWRnZXRDb25maWdbXTtcbiAgICAgICAgICAgIHNlbGVjdGVkLmZvckVhY2goYyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRXaWRnZXQoY3VycmVudE5vZGUsIHsgdHlwZTogYy5uYW1lIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlUGFnZSgpOiBBWFBXaWRnZXROb2RlIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy53aWRnZXRSZWdpc3RlcnlTZXJ2aWNlLnJlc29sdmUoJ3BhZ2UnKTtcblxuICAgICAgICBjb25zdCBwYWdlOiBBWFBXaWRnZXROb2RlID0ge1xuICAgICAgICAgICAgdHlwZTogJ3BhZ2UnLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgbmFtZTogXCJwYWdlXCIsXG4gICAgICAgIH1cblxuICAgICAgICBzZXQocGFnZSwgJ19fbWV0YV9fLmlkJywgTWF0aC5yYW5kb20oKSAqIE1hdGgucG93KDEwLCAxOCkpO1xuICAgICAgICBzZXQocGFnZSwgJ19fbWV0YV9fLmNvbmZpZycsIGNvbmZpZyk7XG4gICAgICAgIHJldHVybiBwYWdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaW5kV2lkZ2V0QnlJZChyb290OiBBWFBXaWRnZXROb2RlLCBpZDogc3RyaW5nKTogQVhQV2lkZ2V0Tm9kZSB8IG51bGwge1xuICAgICAgICBpZiAoZ2V0KHJvb3QsIFwiX19tZXRhX18uaWRcIikgPT09IGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gcm9vdDsgIC8vIFJldHVybiB0aGUgcm9vdCBpZiBpdCBtYXRjaGVzIHRoZSBJRFxuICAgICAgICB9XG4gICAgICAgIGlmICghcm9vdC5jaGlsZHJlbikgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiByb290LmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuZmluZFdpZGdldEJ5SWQoY2hpbGQsIGlkKTtcbiAgICAgICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmb3VuZDsgIC8vIFJldHVybiB0aGUgZm91bmQgY2hpbGRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsOyAgLy8gTm9kZSBub3QgZm91bmRcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRQYXJlbnQoaWQ6IHN0cmluZywgcGFyZW50OiBBWFBXaWRnZXROb2RlID0gdGhpcy5yb290KCkpOiBBWFBXaWRnZXROb2RlIHwgbnVsbCB7XG4gICAgICAgIGlmICghcGFyZW50LmNoaWxkcmVuKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAocGFyZW50LmNoaWxkcmVuLnNvbWUoY2hpbGQgPT4gZ2V0KGNoaWxkLCBcIl9fbWV0YV9fLmlkXCIpID09PSBpZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7ICAvLyBSZXR1cm4gdGhpcyBub2RlIGFzIGl0J3MgdGhlIHBhcmVudCBvZiB0aGUgbm9kZSB3aXRoIHRoZSBnaXZlbiBJRFxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBwYXJlbnQuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kUGFyZW50ID0gdGhpcy5maW5kUGFyZW50KGlkLCBjaGlsZCk7XG4gICAgICAgICAgICBpZiAoZm91bmRQYXJlbnQpIHJldHVybiBmb3VuZFBhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsOyAgLy8gTm8gcGFyZW50IGZvdW5kXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kTmVhcmVzdENvbnRhaW5lcihub2RlOiBBWFBXaWRnZXROb2RlLCBzZWFyY2hVcHdhcmQ6IGJvb2xlYW4gPSB0cnVlKTogQVhQV2lkZ2V0Tm9kZSB8IG51bGwge1xuICAgICAgICBpZiAoc2VhcmNoVXB3YXJkKSB7XG4gICAgICAgICAgICBsZXQgY3VycmVudDogQVhQV2lkZ2V0Tm9kZSB8IG51bGwgPSBub2RlO1xuICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLndpZGdldFJlZ2lzdGVyeVNlcnZpY2UucmVzb2x2ZShjdXJyZW50LnR5cGUpO1xuICAgICAgICAgICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY3VycmVudCA9IHRoaXMuZmluZFBhcmVudChnZXQoY3VycmVudCwgXCJfX21ldGFfXy5pZFwiKSEpOyAvLyBVc2UgZmluZFBhcmVudCB0byBuYXZpZ2F0ZSB1cHdhcmRzXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBSZWN1cnNpdmUgc2VhcmNoIHRvIGZpbmQgdGhlIGZpcnN0IGNvbnRhaW5lciBhbW9uZyBjaGlsZHJlblxuICAgICAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy53aWRnZXRSZWdpc3RlcnlTZXJ2aWNlLnJlc29sdmUoY2hpbGQudHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvdW5kQ29udGFpbmVyID0gdGhpcy5maW5kTmVhcmVzdENvbnRhaW5lcihjaGlsZCwgZmFsc2UpOyAvLyBDb250aW51ZSBzZWFyY2hpbmcgZG93bndhcmRzXG4gICAgICAgICAgICAgICAgICAgIGlmIChmb3VuZENvbnRhaW5lcikgcmV0dXJuIGZvdW5kQ29udGFpbmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDsgLy8gUmV0dXJuIG51bGwgaWYgbm8gY29udGFpbmVyIGZvdW5kXG4gICAgfVxuXG4gICAgYWRkV2lkZ2V0KGN1cnJlbnROb2RlOiBBWFBXaWRnZXROb2RlLCBub2RlOiBBWFBXaWRnZXROb2RlKTogQVhQV2lkZ2V0Tm9kZSB8IG51bGwge1xuICAgICAgICBpZiAoIWN1cnJlbnROb2RlKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIC8vXG4gICAgICAgIHRoaXMuc2F2ZVN0YXRlRm9yVW5kbygpO1xuICAgICAgICAvL1xuICAgICAgICBpZiAoIWN1cnJlbnROb2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBjdXJyZW50Tm9kZS5jaGlsZHJlbiA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy53aWRnZXRSZWdpc3RlcnlTZXJ2aWNlLnJlc29sdmUobm9kZS50eXBlKTtcbiAgICAgICAgLy9cbiAgICAgICAgY29uc3QgY2xvbmVkID0gY2xvbmVEZWVwKG5vZGUpO1xuICAgICAgICBjbG9uZWQubmFtZSA9IHRoaXMuZ2VuZXJhdGVVbmlxdWVOYW1lKG5vZGUudHlwZSk7XG4gICAgICAgIHNldChjbG9uZWQsICdfX21ldGFfXy5pZCcsIE1hdGgucmFuZG9tKCkgKiBNYXRoLnBvdygxMCwgMTgpKTtcbiAgICAgICAgc2V0KGNsb25lZCwgJ19fbWV0YV9fLmNvbmZpZycsIGNvbmZpZyk7XG4gICAgICAgIC8vXG4gICAgICAgIGN1cnJlbnROb2RlLmNoaWxkcmVuLnB1c2goY2xvbmVkKTtcbiAgICAgICAgLy9cbiAgICAgICAgLy9cbiAgICAgICAgdGhpcy5yZWZyZXNoKHsgd2lkZ2V0OiBjdXJyZW50Tm9kZSB9KTtcbiAgICAgICAgdGhpcy5zZWxlY3QoeyB3aWRnZXQ6IGNsb25lZCB9KTtcbiAgICAgICAgcmV0dXJuIGNsb25lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlV2lkZ2V0KG5vZGU6IEFYUFdpZGdldE5vZGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKG5vZGUudHlwZSA9PT0gXCJwYWdlXCIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJDYW5ub3QgcmVtb3ZlIHRoZSBwYWdlIG5vZGUuXCIpO1xuICAgICAgICAgICAgcmV0dXJuOyAgLy8gUHJldmVudCByZW1vdmluZyB0aGUgcm9vdCBwYWdlIG5vZGVcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2F2ZVN0YXRlRm9yVW5kbygpOyAgLy8gU2F2ZSBzdGF0ZSBiZWZvcmUgbWFraW5nIGNoYW5nZXNcblxuICAgICAgICBjb25zdCBub2RlSWRUb1JlbW92ZSA9IGdldChub2RlLCBcIl9fbWV0YV9fLmlkXCIpO1xuICAgICAgICBpZiAoIW5vZGVJZFRvUmVtb3ZlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb2RlIGRvZXMgbm90IGhhdmUgYSB2YWxpZCBfX21ldGFfXy5pZCB0byBpZGVudGlmeSBpdCBmb3IgcmVtb3ZhbC5cIik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaW5kIHRoZSBwYXJlbnQgb2YgdGhlIG5vZGUgdG8gcmVtb3ZlIGl0XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZmluZFBhcmVudChub2RlSWRUb1JlbW92ZSwgdGhpcy5yb290KCkpO1xuICAgICAgICBpZiAoIXBhcmVudCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUGFyZW50IG5vZGUgbm90IGZvdW5kLiBUaGUgbm9kZSBtaWdodCBiZSB0aGUgcm9vdCBub2RlIG9yIGRvZXMgbm90IGV4aXN0LlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gcGFyZW50LmNoaWxkcmVuPy5maW5kSW5kZXgoY2hpbGQgPT4gZ2V0KGNoaWxkLCBcIl9fbWV0YV9fLmlkXCIpID09PSBub2RlSWRUb1JlbW92ZSkgPz8gLTE7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBwYXJlbnQuY2hpbGRyZW4hLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2goeyB3aWRnZXQ6IHBhcmVudCB9KTsgIC8vIFJlZnJlc2ggdGhlIFVJIHRvIHJlZmxlY3QgY2hhbmdlc1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QoeyB3aWRnZXQ6IHBhcmVudCB9KTsgIC8vIFNlbGVjdCB0aGUgcGFyZW50IG5vZGUgYWZ0ZXIgcmVtb3ZhbFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm9kZSB0byByZW1vdmUgbm90IGZvdW5kIGluIHRoZSB3aWRnZXQgdHJlZS5cIik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgcHJpdmF0ZSBzYXZlU3RhdGVGb3JVbmRvKCkge1xuICAgICAgICBpZiAodGhpcy51bmRvU3RhY2subGVuZ3RoID49IHRoaXMubWF4SGlzdG9yeVNpemUpIHtcbiAgICAgICAgICAgIHRoaXMudW5kb1N0YWNrLnNoaWZ0KCk7IC8vIFJlbW92ZSB0aGUgb2xkZXN0IHNuYXBzaG90IGlmIGV4Y2VlZGluZyB0aGUgbWF4IGhpc3Rvcnkgc2l6ZS5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVuZG9TdGFjay5wdXNoKGNsb25lRGVlcCh0aGlzLnJvb3QoKSkpO1xuICAgICAgICB0aGlzLmNhblVuZG8uc2V0KHRydWUpO1xuXG4gICAgICAgIC8vIENsZWFyIHRoZSByZWRvIHN0YWNrIHdoZW5ldmVyIGEgbmV3IGNoYW5nZSBpcyBtYWRlIGFmdGVyIHVuZG9cbiAgICAgICAgaWYgKHRoaXMucmVkb1N0YWNrLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMucmVkb1N0YWNrID0gW107XG4gICAgICAgICAgICB0aGlzLmNhblJlZG8uc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlTdGF0ZShzdGF0ZTogQVhQV2lkZ2V0Tm9kZSkge1xuICAgICAgICB0aGlzLnJvb3Quc2V0KHN0YXRlKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoKHsgd2lkZ2V0OiB0aGlzLnJvb3QoKSB9KTtcbiAgICAgICAgLy9UT0RPOiBzZWxlY3QgdGhlIHNlbGVjdGVkIHdpZGdldCBvbiB0aGlzIHN0YXRlXG4gICAgICAgIHRoaXMuc2VsZWN0KHsgd2lkZ2V0OiB0aGlzLl9sYXN0U2VsZWN0ZWROb2RlID8/IHRoaXMucm9vdCgpIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bmRvKCkge1xuICAgICAgICBpZiAodGhpcy51bmRvU3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gY2xvbmVEZWVwKHRoaXMucm9vdCgpKTtcbiAgICAgICAgICAgIHRoaXMucmVkb1N0YWNrLnB1c2goY3VycmVudFN0YXRlKTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMudW5kb1N0YWNrLnBvcCgpO1xuICAgICAgICAgICAgdGhpcy5hcHBseVN0YXRlKHByZXZTdGF0ZSEpO1xuICAgICAgICAgICAgdGhpcy5jYW5VbmRvLnNldCh0aGlzLnVuZG9TdGFjay5sZW5ndGggPiAwKTtcbiAgICAgICAgICAgIHRoaXMuY2FuUmVkby5zZXQodHJ1ZSk7IC8vIFRoZXJlIGlzIGF0IGxlYXN0IG9uZSBhY3Rpb24gdG8gcmVkbyBub3dcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWRvKCkge1xuICAgICAgICBpZiAodGhpcy5yZWRvU3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFN0YXRlID0gdGhpcy5yZWRvU3RhY2sucG9wKCk7XG4gICAgICAgICAgICB0aGlzLnVuZG9TdGFjay5wdXNoKGNsb25lRGVlcCh0aGlzLnJvb3QoKSkpO1xuICAgICAgICAgICAgdGhpcy5hcHBseVN0YXRlKG5leHRTdGF0ZSEpO1xuICAgICAgICAgICAgdGhpcy5jYW5SZWRvLnNldCh0aGlzLnJlZG9TdGFjay5sZW5ndGggPiAwKTtcbiAgICAgICAgICAgIHRoaXMuY2FuVW5kby5zZXQodHJ1ZSk7IC8vIFVuZG8gaXMgYWx3YXlzIGF2YWlsYWJsZSBhZnRlciBhIHJlZG9cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBmb3JtYXRPdXRwdXRKU09OKG9iajogYW55LCBub2RlTmFtZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIG9iamVjdCBpcyBhbiBhcnJheVxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgICAgICByZXR1cm4gb2JqLm1hcChpdGVtID0+IHRoaXMuZm9ybWF0T3V0cHV0SlNPTihpdGVtLCBub2RlTmFtZSkpO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIG9iaiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IG9iamVjdCB0byBzdG9yZSB0aGUgcmVzdWx0XG4gICAgICAgICAgICBsZXQgbmV3T2JqOiBhbnkgPSB7fTtcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBvYmopIHtcbiAgICAgICAgICAgICAgICAvLyBPbmx5IGFkZCB0aGUga2V5IGlmIGl0J3Mgbm90IHRoZSBub2RlTmFtZSB3ZSB3YW50IHRvIHJlbW92ZVxuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09IG5vZGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld09ialtrZXldID0gdGhpcy5mb3JtYXRPdXRwdXRKU09OKG9ialtrZXldLCBub2RlTmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5ld09iajtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGUgdmFsdWUgaXMgbm90IGFuIG9iamVjdCBvciBhcnJheSwgcmV0dXJuIGl0IGFzIGlzXG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgY29weSh3aWRnZXQ6IEFYUFdpZGdldE5vZGUgfCBudWxsID0gdGhpcy5zZWxlY3RlZE5vZGUoKSk6IHZvaWQge1xuICAgICAgICBpZiAoIXdpZGdldClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdGhpcy5jbGlwYm9hcmQuc2V0KGNsb25lRGVlcCh3aWRnZXQpKTsgIC8vIFVzZSBsb2Rhc2gncyBjbG9uZURlZXAgdG8gZW5zdXJlIGEgZGVlcCBjb3B5XG4gICAgfVxuXG4gICAgcHVibGljIGN1dCh3aWRnZXQ6IEFYUFdpZGdldE5vZGUgfCBudWxsID0gdGhpcy5zZWxlY3RlZE5vZGUoKSk6IHZvaWQge1xuICAgICAgICBpZiAoIXdpZGdldClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdGhpcy5jb3B5KHdpZGdldCk7ICAvLyBDb3B5IHRoZSB3aWRnZXQgdG8gdGhlIGNsaXBib2FyZFxuICAgICAgICB0aGlzLnJlbW92ZVdpZGdldCh3aWRnZXQpOyAgLy8gUmV1c2UgdGhlIHJlbW92ZVdpZGdldCBtZXRob2Qgd2hpY2ggc2hvdWxkIGhhbmRsZSB1bmRvIGludGVybmFsbHlcbiAgICB9XG5cblxuICAgIHB1YmxpYyBwYXN0ZShwYXJlbnROb2RlOiBBWFBXaWRnZXROb2RlID0gdGhpcy5zZWxlY3RlZE5vZGUoKSA/PyB0aGlzLnJvb3QoKSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2xpcGJvYXJkKCkgfHwgIXRoaXMuc2VsZWN0ZWROb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJDbGlwYm9hcmQgaXMgZW1wdHkgb3Igbm8gbm9kZSBpcyBzZWxlY3RlZC5cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZWFyZXN0Q29udGFpbmVyID0gdGhpcy5maW5kTmVhcmVzdENvbnRhaW5lcihwYXJlbnROb2RlLCB0cnVlKTtcbiAgICAgICAgaWYgKCFuZWFyZXN0Q29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiTm8gc3VpdGFibGUgY29udGFpbmVyIGZvdW5kLlwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvL1xuICAgICAgICB0aGlzLnNhdmVTdGF0ZUZvclVuZG8oKTsgIC8vIFByZXBhcmUgZm9yIHVuZG8gZnVuY3Rpb25hbGl0eVxuICAgICAgICAvL1xuICAgICAgICBpZiAoIW5lYXJlc3RDb250YWluZXIuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIG5lYXJlc3RDb250YWluZXIuY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld05vZGUgPSBjbG9uZURlZXAodGhpcy5jbGlwYm9hcmQoKSkhO1xuICAgICAgICBzZXQobmV3Tm9kZSwgXCJfX21ldGFfXy5pZFwiLCBNYXRoLnJhbmRvbSgpICogTWF0aC5wb3coMTAsIDE4KSk7IC8vIEVuc3VyZSBhIHVuaXF1ZSBJRFxuICAgICAgICAvL1xuICAgICAgICBuZWFyZXN0Q29udGFpbmVyLmNoaWxkcmVuLnB1c2gobmV3Tm9kZSk7ICAvLyBBZGQgdGhlIG5ldyBub2RlIHRvIHRoZSBjb250YWluZXJcbiAgICAgICAgdGhpcy5yZWZyZXNoKHsgd2lkZ2V0OiBuZWFyZXN0Q29udGFpbmVyIH0pOyAgLy8gUmVmcmVzaCB0aGUgVUlcbiAgICAgICAgdGhpcy5zZWxlY3QoeyB3aWRnZXQ6IG5ld05vZGUgfSk7ICAvLyBTZWxlY3QgdGhlIG5ld2x5IHBhc3RlZCBub2RlXG4gICAgfVxuXG5cbiAgICBleHBvcnQoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbiA9IHRoaXMuZm9ybWF0T3V0cHV0SlNPTih0aGlzLnJvb3QoKSwgXCJfX21ldGFfX1wiKTtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGpzb24pO1xuICAgIH1cblxuICAgIGRvd25sb2FkKCkge1xuICAgICAgICAvLyBDb252ZXJ0IHRoZSBvYmplY3QgdG8gYSBKU09OIHN0cmluZ1xuICAgICAgICBjb25zdCBqc29uU3RyID0gdGhpcy5leHBvcnQoKTtcblxuICAgICAgICAvLyBDcmVhdGUgYSBibG9iIG9iamVjdCBmcm9tIHRoZSBKU09OIHN0cmluZ1xuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2pzb25TdHJdLCB7IHR5cGU6IFwiYXBwbGljYXRpb24vanNvblwiIH0pO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIFVSTCBmb3IgdGhlIGJsb2Igb2JqZWN0XG4gICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG5cbiAgICAgICAgLy8gQ3JlYXRlIGEgdGVtcG9yYXJ5IDxhPiBlbGVtZW50IHRvIHRyaWdnZXIgdGhlIGRvd25sb2FkXG4gICAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgYS5ocmVmID0gdXJsO1xuICAgICAgICBhLmRvd25sb2FkID0gXCJleHBvcnQuanNvblwiO1xuXG4gICAgICAgIC8vIEFwcGVuZCB0aGUgPGE+IGVsZW1lbnQgdG8gdGhlIGRvY3VtZW50IGJvZHkgKG5lY2Vzc2FyeSBmb3Igc29tZSBicm93c2VycylcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcblxuICAgICAgICAvLyBUcmlnZ2VyIHRoZSBkb3dubG9hZCBieSBjbGlja2luZyB0aGUgPGE+IGVsZW1lbnRcbiAgICAgICAgYS5jbGljaygpO1xuXG4gICAgICAgIC8vIENsZWFuIHVwIGJ5IHJldm9raW5nIHRoZSBvYmplY3QgVVJMIGFuZCByZW1vdmluZyB0aGUgPGE+IGVsZW1lbnRcbiAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgd2VsbC1mb3JtZWQsIHVuaXF1ZSBuYW1lIGZvciBhIG5ldyB3aWRnZXQgbm9kZSBiYXNlZCBvbiBpdHMgdHlwZS5cbiAgICAgKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiB0aGUgd2lkZ2V0IChlLmcuLCAndGV4dEJveCcsICdudW1iZXJCb3gnKS5cbiAgICAgKiBAcmV0dXJucyBBIHVuaXF1ZSBuYW1lIGZvciB0aGUgd2lkZ2V0IChlLmcuLCAndGV4dEJveDEnLCAnbnVtYmVyQm94MicpLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2VuZXJhdGVVbmlxdWVOYW1lKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIC8vIE5vcm1hbGl6ZSB0aGUgdHlwZSB0byBmb2xsb3cgY2FtZWxDYXNlIGNvbnZlbnRpb25cbiAgICAgICAgY29uc3QgYmFzZU5hbWUgPSB0eXBlLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsgdHlwZS5zbGljZSgxKTtcbiAgICAgICAgbGV0IGluZGV4ID0gMTtcbiAgICAgICAgbGV0IHVuaXF1ZU5hbWUgPSBgJHtiYXNlTmFtZX0ke2luZGV4fWA7XG5cbiAgICAgICAgLy8gR2F0aGVyIGFsbCBleGlzdGluZyBuYW1lcyB0byBjaGVjayBhZ2FpbnN0XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICAgdGhpcy5jb2xsZWN0QWxsTmFtZXModGhpcy5yb290KCksIGV4aXN0aW5nTmFtZXMpO1xuXG4gICAgICAgIC8vIEluY3JlbWVudCB0aGUgaW5kZXggdW50aWwgYSB1bmlxdWUgbmFtZSBpcyBmb3VuZFxuICAgICAgICB3aGlsZSAoZXhpc3RpbmdOYW1lcy5oYXModW5pcXVlTmFtZSkpIHtcbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgICAgICB1bmlxdWVOYW1lID0gYCR7YmFzZU5hbWV9JHtpbmRleH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuaXF1ZU5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29sbGVjdHMgYWxsIGV4aXN0aW5nIHdpZGdldCBuYW1lcyBmcm9tIHRoZSB3aWRnZXQgdHJlZS5cbiAgICAgKiBAcGFyYW0gbm9kZSBUaGUgY3VycmVudCBub2RlIGJlaW5nIGluc3BlY3RlZC5cbiAgICAgKiBAcGFyYW0gbmFtZXMgQSBzZXQgdG8gc3RvcmUgZXhpc3RpbmcgbmFtZXMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb2xsZWN0QWxsTmFtZXMobm9kZTogQVhQV2lkZ2V0Tm9kZSwgbmFtZXM6IFNldDxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIGlmIChub2RlLm5hbWUpIHtcbiAgICAgICAgICAgIG5hbWVzLmFkZChub2RlLm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxlY3RBbGxOYW1lcyhjaGlsZCwgbmFtZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59Il19
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';
|
|
4
|
+
import { AXPDesignerService } from '../designer.service';
|
|
5
|
+
import { get } from 'lodash-es';
|
|
6
|
+
import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
|
|
7
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
8
|
+
import { merge } from 'rxjs';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common";
|
|
11
|
+
export class AXPDesignerOutlineComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.service = inject(AXPDesignerService);
|
|
14
|
+
this.collapsedStates = new Map();
|
|
15
|
+
this.root = signal(this.service.root());
|
|
16
|
+
merge(this.service.onRefresh, this.service.onUpdate)
|
|
17
|
+
.subscribe(() => {
|
|
18
|
+
this.root.update(c => ({ ...this.service.root() }));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
toggleCollapse(node) {
|
|
22
|
+
// Toggle the current state or set to true if undefined
|
|
23
|
+
this.collapsedStates.set(node, !this.collapsedStates.get(node));
|
|
24
|
+
}
|
|
25
|
+
isCollapsed(node) {
|
|
26
|
+
// Return the collapsed state, default is false (expanded)
|
|
27
|
+
return !!this.collapsedStates.get(node);
|
|
28
|
+
}
|
|
29
|
+
getConfig(node) {
|
|
30
|
+
return get(node, "__meta__.config");
|
|
31
|
+
}
|
|
32
|
+
handleClick(e, node) {
|
|
33
|
+
e.stopPropagation();
|
|
34
|
+
this.service.select({ widget: node });
|
|
35
|
+
}
|
|
36
|
+
handleToggleClick(event, item) {
|
|
37
|
+
event.stopPropagation(); // Prevents the event from bubbling up to parent elements
|
|
38
|
+
this.toggleCollapse(item);
|
|
39
|
+
}
|
|
40
|
+
handleMouseOver(e, node) {
|
|
41
|
+
e.stopPropagation();
|
|
42
|
+
this.service.focus({ widget: node });
|
|
43
|
+
}
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerOutlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPDesignerOutlineComponent, isStandalone: true, selector: "axp-designer-outline", ngImport: i0, template: "@if(root().children?.length)\n{\n<ul class=\"ax-text-white ax-text-sm ax-bg-gray-800 ax-p-2 ax-rounded-md ax-space-y-1\">\n @for( node of root().children;track $index)\n {\n <ng-container [ngTemplateOutlet]=\"sideMenu\" [ngTemplateOutletContext]=\"{ $implicit: node }\">\n </ng-container>\n }\n</ul>\n<ng-template #sideMenu let-item>\n <li class=\"ax-cursor-pointer ax-transition ax-duration-150 ax-ease-in-out ax-hover:bg-gray-700\"\n (click)=\"handleClick($event,item)\" (mouseover)=\"handleMouseOver($event,item)\">\n <div [class.ax-bg-blue-200]=\"item === service.selectedNode()\"\n [class.ax-text-blue-900]=\"item === service.selectedNode()\"\n class=\"ax-flex ax-flex-row ax-items-center ax-p-1 ax-px-2\">\n <span class=\"ax-w-5\">\n @if(item.children?.length)\n {\n <i class=\"fa-solid\" [class.fa-chevron-right]=\"isCollapsed(item)\"\n (click)=\"handleToggleClick($event, item)\" [class.fa-chevron-down]=\"!isCollapsed(item)\"></i>\n }\n </span>\n @let config= getConfig(item);\n <span class=\"ax-w-5\">\n @if(config.icon)\n {\n <i [ngClass]=\"config.icon\"></i>\n }\n </span>\n <span>{{config.title}} : {{item.name}}</span>\n </div>\n @if(item.children?.length && !isCollapsed(item)) {\n <ul class=\"ax-pl-5 ax-space-y-1\">\n <ng-container *ngFor=\"let child of item.children\" [ngTemplateOutlet]=\"sideMenu\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\">\n </ng-container>\n </ul>\n }\n </li>\n</ng-template>\n}\n@else {\n<div class=\"ax-flex ax-justify-center ax-items-center ax-text-gray-300 ax-p-4\">No widgets found in the page</div>\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerOutlineComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'axp-designer-outline', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
50
|
+
CommonModule,
|
|
51
|
+
AXPLayoutBuilderModule,
|
|
52
|
+
AXBreadcrumbsModule,
|
|
53
|
+
AXDecoratorModule,
|
|
54
|
+
], template: "@if(root().children?.length)\n{\n<ul class=\"ax-text-white ax-text-sm ax-bg-gray-800 ax-p-2 ax-rounded-md ax-space-y-1\">\n @for( node of root().children;track $index)\n {\n <ng-container [ngTemplateOutlet]=\"sideMenu\" [ngTemplateOutletContext]=\"{ $implicit: node }\">\n </ng-container>\n }\n</ul>\n<ng-template #sideMenu let-item>\n <li class=\"ax-cursor-pointer ax-transition ax-duration-150 ax-ease-in-out ax-hover:bg-gray-700\"\n (click)=\"handleClick($event,item)\" (mouseover)=\"handleMouseOver($event,item)\">\n <div [class.ax-bg-blue-200]=\"item === service.selectedNode()\"\n [class.ax-text-blue-900]=\"item === service.selectedNode()\"\n class=\"ax-flex ax-flex-row ax-items-center ax-p-1 ax-px-2\">\n <span class=\"ax-w-5\">\n @if(item.children?.length)\n {\n <i class=\"fa-solid\" [class.fa-chevron-right]=\"isCollapsed(item)\"\n (click)=\"handleToggleClick($event, item)\" [class.fa-chevron-down]=\"!isCollapsed(item)\"></i>\n }\n </span>\n @let config= getConfig(item);\n <span class=\"ax-w-5\">\n @if(config.icon)\n {\n <i [ngClass]=\"config.icon\"></i>\n }\n </span>\n <span>{{config.title}} : {{item.name}}</span>\n </div>\n @if(item.children?.length && !isCollapsed(item)) {\n <ul class=\"ax-pl-5 ax-space-y-1\">\n <ng-container *ngFor=\"let child of item.children\" [ngTemplateOutlet]=\"sideMenu\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\">\n </ng-container>\n </ul>\n }\n </li>\n</ng-template>\n}\n@else {\n<div class=\"ax-flex ax-justify-center ax-items-center ax-text-gray-300 ax-p-4\">No widgets found in the page</div>\n}" }]
|
|
55
|
+
}], ctorParameters: () => [] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL291dGxpbmUvb3V0bGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL291dGxpbmUvb3V0bGluZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQWtDLE1BQU0saUNBQWlDLENBQUM7QUFDekcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQWdCN0IsTUFBTSxPQUFPLDJCQUEyQjtJQVFwQztRQU5VLFlBQU8sR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVyQyxvQkFBZSxHQUFzQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRS9DLFNBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBR3pDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQzthQUMvQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUdPLGNBQWMsQ0FBQyxJQUFTO1FBQzVCLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFUyxXQUFXLENBQUMsSUFBUztRQUMzQiwwREFBMEQ7UUFDMUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVTLFNBQVMsQ0FBQyxJQUFtQjtRQUNuQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQTJCLENBQUM7SUFDbEUsQ0FBQztJQUVTLFdBQVcsQ0FBQyxDQUFhLEVBQUUsSUFBbUI7UUFDcEQsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLGlCQUFpQixDQUFDLEtBQWlCLEVBQUUsSUFBUztRQUNwRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyx5REFBeUQ7UUFDbEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVMsZUFBZSxDQUFDLENBQWEsRUFBRSxJQUFtQjtRQUN4RCxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDOzhHQTNDUSwyQkFBMkI7a0dBQTNCLDJCQUEyQixnRkN2QnhDLHMyREEyQ0MsMkNEM0JPLFlBQVksZ2FBQ1osc0JBQXNCLDhCQUN0QixtQkFBbUIsOEJBQ25CLGlCQUFpQjs7MkZBSVosMkJBQTJCO2tCQWR2QyxTQUFTOytCQUNJLHNCQUFzQixpQkFFakIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUFdpZGdldENvbmZpZywgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lclNlcnZpY2UgfSBmcm9tICcuLi9kZXNpZ25lci5zZXJ2aWNlJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtZGVzaWduZXItb3V0bGluZScsXG4gICAgdGVtcGxhdGVVcmw6ICdvdXRsaW5lLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIF0sXG59KVxuXG5leHBvcnQgY2xhc3MgQVhQRGVzaWduZXJPdXRsaW5lQ29tcG9uZW50IHtcblxuICAgIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUERlc2lnbmVyU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgY29sbGFwc2VkU3RhdGVzOiBNYXA8YW55LCBib29sZWFuPiA9IG5ldyBNYXAoKTtcblxuICAgIHByb3RlY3RlZCByb290ID0gc2lnbmFsKHRoaXMuc2VydmljZS5yb290KCkpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIG1lcmdlKHRoaXMuc2VydmljZS5vblJlZnJlc2gsIHRoaXMuc2VydmljZS5vblVwZGF0ZSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucm9vdC51cGRhdGUoYyA9PiAoeyAuLi50aGlzLnNlcnZpY2Uucm9vdCgpIH0pKTtcbiAgICAgICAgICAgIH0pXG4gICAgfVxuXG5cbiAgICBwcml2YXRlIHRvZ2dsZUNvbGxhcHNlKG5vZGU6IGFueSkge1xuICAgICAgICAvLyBUb2dnbGUgdGhlIGN1cnJlbnQgc3RhdGUgb3Igc2V0IHRvIHRydWUgaWYgdW5kZWZpbmVkXG4gICAgICAgIHRoaXMuY29sbGFwc2VkU3RhdGVzLnNldChub2RlLCAhdGhpcy5jb2xsYXBzZWRTdGF0ZXMuZ2V0KG5vZGUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXNDb2xsYXBzZWQobm9kZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIC8vIFJldHVybiB0aGUgY29sbGFwc2VkIHN0YXRlLCBkZWZhdWx0IGlzIGZhbHNlIChleHBhbmRlZClcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb2xsYXBzZWRTdGF0ZXMuZ2V0KG5vZGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRDb25maWcobm9kZTogQVhQV2lkZ2V0Tm9kZSk6IEFYUFdpZGdldENvbmZpZyB7XG4gICAgICAgIHJldHVybiBnZXQobm9kZSwgXCJfX21ldGFfXy5jb25maWdcIikgYXMgYW55IGFzIEFYUFdpZGdldENvbmZpZztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2soZTogTW91c2VFdmVudCwgbm9kZTogQVhQV2lkZ2V0Tm9kZSkge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnNlcnZpY2Uuc2VsZWN0KHsgd2lkZ2V0OiBub2RlIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVUb2dnbGVDbGljayhldmVudDogTW91c2VFdmVudCwgaXRlbTogYW55KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBQcmV2ZW50cyB0aGUgZXZlbnQgZnJvbSBidWJibGluZyB1cCB0byBwYXJlbnQgZWxlbWVudHNcbiAgICAgICAgdGhpcy50b2dnbGVDb2xsYXBzZShpdGVtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlTW91c2VPdmVyKGU6IE1vdXNlRXZlbnQsIG5vZGU6IEFYUFdpZGdldE5vZGUpIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmZvY3VzKHsgd2lkZ2V0OiBub2RlIH0pO1xuICAgIH1cbn0iLCJAaWYocm9vdCgpLmNoaWxkcmVuPy5sZW5ndGgpXG57XG48dWwgY2xhc3M9XCJheC10ZXh0LXdoaXRlIGF4LXRleHQtc20gYXgtYmctZ3JheS04MDAgYXgtcC0yIGF4LXJvdW5kZWQtbWQgYXgtc3BhY2UteS0xXCI+XG4gICAgQGZvciggbm9kZSBvZiByb290KCkuY2hpbGRyZW47dHJhY2sgJGluZGV4KVxuICAgIHtcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNpZGVNZW51XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBub2RlIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICB9XG48L3VsPlxuPG5nLXRlbXBsYXRlICNzaWRlTWVudSBsZXQtaXRlbT5cbiAgICA8bGkgY2xhc3M9XCJheC1jdXJzb3ItcG9pbnRlciBheC10cmFuc2l0aW9uIGF4LWR1cmF0aW9uLTE1MCBheC1lYXNlLWluLW91dCBheC1ob3ZlcjpiZy1ncmF5LTcwMFwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQsaXRlbSlcIiAobW91c2VvdmVyKT1cImhhbmRsZU1vdXNlT3ZlcigkZXZlbnQsaXRlbSlcIj5cbiAgICAgICAgPGRpdiBbY2xhc3MuYXgtYmctYmx1ZS0yMDBdPVwiaXRlbSA9PT0gc2VydmljZS5zZWxlY3RlZE5vZGUoKVwiXG4gICAgICAgICAgICBbY2xhc3MuYXgtdGV4dC1ibHVlLTkwMF09XCJpdGVtID09PSBzZXJ2aWNlLnNlbGVjdGVkTm9kZSgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LXJvdyBheC1pdGVtcy1jZW50ZXIgYXgtcC0xIGF4LXB4LTJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdy01XCI+XG4gICAgICAgICAgICAgICAgQGlmKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aClcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZFwiIFtjbGFzcy5mYS1jaGV2cm9uLXJpZ2h0XT1cImlzQ29sbGFwc2VkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRvZ2dsZUNsaWNrKCRldmVudCwgaXRlbSlcIiBbY2xhc3MuZmEtY2hldnJvbi1kb3duXT1cIiFpc0NvbGxhcHNlZChpdGVtKVwiPjwvaT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICBAbGV0IGNvbmZpZz0gZ2V0Q29uZmlnKGl0ZW0pO1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC13LTVcIj5cbiAgICAgICAgICAgICAgICBAaWYoY29uZmlnLmljb24pXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cImNvbmZpZy5pY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7Y29uZmlnLnRpdGxlfX0gOiB7e2l0ZW0ubmFtZX19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQoaXRlbSkpIHtcbiAgICAgICAgPHVsIGNsYXNzPVwiYXgtcGwtNSBheC1zcGFjZS15LTFcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW5cIiBbbmdUZW1wbGF0ZU91dGxldF09XCJzaWRlTWVudVwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjaGlsZCB9XCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICAgICAgfVxuICAgIDwvbGk+XG48L25nLXRlbXBsYXRlPlxufVxuQGVsc2Uge1xuPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtanVzdGlmeS1jZW50ZXIgYXgtaXRlbXMtY2VudGVyIGF4LXRleHQtZ3JheS0zMDAgYXgtcC00XCI+Tm8gd2lkZ2V0cyBmb3VuZCBpbiB0aGUgcGFnZTwvZGl2PlxufSJdfQ==
|