@acorex/modules 20.5.2 → 20.5.3
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-common.mjs","sources":["../tmp-esm2022/common/lib/const.js","../tmp-esm2022/common/lib/entity.provider.js","../tmp-esm2022/common/lib/widgets-names-list.js","../tmp-esm2022/common/lib/features/archive-plugin/archive.plugin.js","../tmp-esm2022/common/lib/features/archive-plugin/workflows/archive-entity.workflow.js","../tmp-esm2022/common/lib/features/archive-plugin/workflows/restore-entity.workflow.js","../tmp-esm2022/common/lib/features/archive-plugin/workflows/bulk-archive-entity.workflow.js","../tmp-esm2022/common/lib/features/archive-plugin/workflows/bulk-restore-entity.workflow.js","../tmp-esm2022/common/lib/features/archive-plugin/archive-plugin.module.js","../tmp-esm2022/common/lib/features/avatar-plugin/avatar.plugin.js","../tmp-esm2022/common/lib/features/avatar-plugin/avatar-plugin.module.js","../tmp-esm2022/common/lib/features/category-plugin/category.plugin.js","../tmp-esm2022/common/lib/features/category-plugin/entity.provider.js","../tmp-esm2022/common/lib/features/category-plugin/category.module.js","../tmp-esm2022/common/lib/features/clone-plugin/clone.plugin.js","../tmp-esm2022/common/lib/features/clone-plugin/workflows/clone-entity.workflow.js","../tmp-esm2022/common/lib/features/clone-plugin/clone-plugin.module.js","../tmp-esm2022/common/lib/features/color-plugin/color.plugin.js","../tmp-esm2022/common/lib/features/color-plugin/color-plugin.module.js","../tmp-esm2022/common/lib/features/compare/compare-popup.component.js","../tmp-esm2022/common/lib/features/compare/workflows/compare.workflow.js","../tmp-esm2022/common/lib/features/compare/compare.plugin.js","../tmp-esm2022/common/lib/features/compare/compare.module.js","../tmp-esm2022/common/lib/features/computed-properties/computed-properties.middleware.js","../tmp-esm2022/common/lib/features/computed-properties/computed-properties.plugin.js","../tmp-esm2022/common/lib/features/computed-properties/computed-properties.module.js","../tmp-esm2022/common/lib/features/disable-plugin/disable.plugin.js","../tmp-esm2022/common/lib/features/disable-plugin/workflows/disable-entity.workflow.js","../tmp-esm2022/common/lib/features/disable-plugin/workflows/enable-entity.workflow.js","../tmp-esm2022/common/lib/features/disable-plugin/workflows/bulk-disable-entity.workflow.js","../tmp-esm2022/common/lib/features/disable-plugin/workflows/bulk-enable-entity.workflow.js","../tmp-esm2022/common/lib/features/disable-plugin/disable-plugin.module.js","../tmp-esm2022/common/lib/features/extra-properties/extra-properties.plugin.js","../tmp-esm2022/common/lib/features/extra-properties/extra-properties.providers.js","../tmp-esm2022/common/lib/features/extra-properties/extra-properties.module.js","../tmp-esm2022/common/lib/features/global-search/search.config.js","../tmp-esm2022/common/lib/features/global-search/search-slot.component.js","../tmp-esm2022/common/lib/features/global-search/workflows/search.workflow.js","../tmp-esm2022/common/lib/features/global-search/search.module.js","../tmp-esm2022/common/lib/features/global-search/search.viewmodel.js","../tmp-esm2022/common/lib/features/icon-plugin/icon.plugin.js","../tmp-esm2022/common/lib/features/icon-plugin/icon-plugin.module.js","../tmp-esm2022/common/lib/features/primary-plugin/primary.plugin.js","../tmp-esm2022/common/lib/features/primary-plugin/primary-plugin.module.js","../tmp-esm2022/common/lib/features/shared/evaluators/datetime.evaluator-scope.provider.js","../tmp-esm2022/common/lib/features/shared/evaluators/translate.evaluator-scope.provider.js","../tmp-esm2022/common/lib/features/version-history/workflows/history-popup.workflow.js","../tmp-esm2022/common/lib/features/version-history/history.plugin.js","../tmp-esm2022/common/lib/features/version-history/version-history.module.js","../tmp-esm2022/common/lib/menu.keys.js","../tmp-esm2022/common/lib/menu.provider.js","../tmp-esm2022/common/lib/permission-definition.provider.js","../tmp-esm2022/common/lib/search-command.provider.js","../tmp-esm2022/common/lib/settings.provider.js","../tmp-esm2022/common/lib/common.module.js","../tmp-esm2022/common/lib/features/lock-system/workflows/lock-popup.workflow.js","../tmp-esm2022/common/lib/features/lock-system/workflows/unlock-confirm.workflow.js","../tmp-esm2022/common/acorex-modules-common.js"],"sourcesContent":["const config = {\n i18n: 'common',\n module: 'Common',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'common',\n name: config.module,\n title: '@common:module-name',\n icon: 'fa-light fa-file-invoice',\n },\n entities: {},\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxNQUFNLEdBQUc7SUFDYixJQUFJLEVBQUUsUUFBUTtJQUNkLE1BQU0sRUFBRSxRQUFRO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsTUFBTTtJQUNOLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQ25CLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsSUFBSSxFQUFFLDBCQUEwQjtLQUNqQztJQUNELFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbmZpZyA9IHtcbiAgaTE4bjogJ2NvbW1vbicsXG4gIG1vZHVsZTogJ0NvbW1vbicsXG59O1xuXG5leHBvcnQgY29uc3QgUm9vdENvbmZpZyA9IHtcbiAgY29uZmlnLFxuICBtb2R1bGU6IHtcbiAgICByb3V0ZTogJ2NvbW1vbicsXG4gICAgbmFtZTogY29uZmlnLm1vZHVsZSxcbiAgICB0aXRsZTogJ0Bjb21tb246bW9kdWxlLW5hbWUnLFxuICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWludm9pY2UnLFxuICB9LFxuICBlbnRpdGllczoge30sXG59O1xuIl19","import { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport * as i0 from \"@angular/core\";\n//#region ---- Common Module Entity Provider ----\nexport class AXMCommonModuleEntityProvider {\n constructor() {\n this.injector = inject(Injector);\n }\n preload() {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity) => ({\n module: module,\n entity: entity.name,\n }));\n }\n async get(moduleName, entityName) {\n return null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModuleEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModuleEntityProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModuleEntityProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2VudGl0eS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFckMscURBQXFEO0FBR3JELE1BQU0sT0FBTyw2QkFBNkI7SUFEMUM7UUFFWSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBYXZDO0lBWFUsT0FBTztRQUNWLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RSxNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSTtTQUN0QixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDNUMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs4R0FiUSw2QkFBNkI7a0hBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gICAgQVhQRW50aXR5RGVmaW5pdGlvbkxvYWRlcixcbiAgICBBWFBFbnRpdHlEZWZpbml0aW9uUHJlbG9hZGVyLFxuICAgIEFYUEVudGl0eVByZWxvYWRFbnRpdHksXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi9jb25zdCc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgQ29tbW9uIE1vZHVsZSBFbnRpdHkgUHJvdmlkZXIgICAtLS0tXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Db21tb25Nb2R1bGVFbnRpdHlQcm92aWRlciBpbXBsZW1lbnRzIEFYUEVudGl0eURlZmluaXRpb25Mb2FkZXIsIEFYUEVudGl0eURlZmluaXRpb25QcmVsb2FkZXIge1xuICAgIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gICAgcHVibGljIHByZWxvYWQoKTogQVhQRW50aXR5UHJlbG9hZEVudGl0eVtdIHtcbiAgICAgICAgY29uc3QgbW9kdWxlID0gUm9vdENvbmZpZy5tb2R1bGUubmFtZTtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oT2JqZWN0LnZhbHVlcyhSb290Q29uZmlnLmVudGl0aWVzKSkubWFwKChlbnRpdHk6IGFueSkgPT4gKHtcbiAgICAgICAgICAgIG1vZHVsZTogbW9kdWxlLFxuICAgICAgICAgICAgZW50aXR5OiBlbnRpdHkubmFtZSxcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGFzeW5jIGdldChtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4iXX0=","export const AXPWidgetsList = {\n Editors: {\n DocumentAttachment: 'document-attachment-editor',\n TagBox: 'tagable-editor',\n TagEditor: 'tag-editor',\n CheckBox: 'checkbox-editor',\n ColorBox: 'color-editor',\n ColorPalette: 'color-palette-editor',\n DateTimeBox: 'date-time-editor',\n Direction: 'direction',\n LargeTextBox: 'large-text-editor',\n NumberBox: 'number-editor',\n UnitValueBox: 'number-unit-editor',\n PasswordBox: 'password-editor',\n QueryBuilder: 'query-builder-editor',\n RichText: 'rich-text-editor',\n SelectBox: 'select-editor',\n SelectionList: 'selection-list-editor',\n TextBox: 'text-editor',\n InlineDataTable: 'table-editor',\n ToggleSwitch: 'toggle-editor',\n FileTypeExtension: 'file-type-extension',\n MapBox: 'map',\n MediaGallery: 'gallery',\n SignatureBox: 'signature',\n LookupBox: 'lookup-editor',\n ContactBox: 'contact-editor',\n MetaDataBox: 'meta-data-editor',\n TemplateBox: 'template-box-editor',\n TimeDuration: 'time-duration',\n DocumentUploader: 'document-uploader',\n MetaSelector: 'meta-selector-editor',\n MetaDataForm: 'meta-data-form-editor',\n ColumnFilterSelector: 'column-filter-selector-editor',\n DataListFilter: 'data-list-filter-editor',\n DynamicFormDesigner: 'dynamic-form-designer',\n },\n Layouts: {\n BlockLayout: 'block-layout',\n RepeaterLayout: 'repeater-layout',\n TextBlockLayout: 'text-block-layout',\n FormField: 'form-field',\n PanelLayout: 'panel-layout',\n PageLayout: 'page-layout',\n DocumentLayout: 'document-layout',\n GridRowLayout: 'grid-row-layout',\n GridItemLayout: 'grid-item-layout',\n GridLayout: 'grid-layout',\n FlexLayout: 'flex-layout',\n FlexItemLayout: 'flex-item-layout',\n AdvancedGridLayout: 'advanced-grid-layout',\n AdvancedGridItemLayout: 'advanced-grid-item-layout',\n FieldsetLayout: 'fieldset-layout',\n TabsetLayout: 'tabset-layout',\n TabsetItemLayout: 'tabset-item',\n },\n Actions: {\n ActionButton: 'button-action',\n },\n Advanced: {\n QRCode: 'qrcode',\n Signature: 'signature',\n Map: 'map',\n Gallery: 'gallery',\n Image: 'image',\n ImageMarker: 'image-marker',\n Avatar: 'avatar',\n FileUploader: 'file-uploader',\n List: 'list',\n ListToolbar: 'list-toolbar',\n CronJob: 'cron-job',\n ExtraProperties: 'extra-properties',\n ExtraPropertiesValues: 'extra-properties-values',\n ExtraPropertiesSchema: 'extra-properties-schema',\n },\n Templates: {\n Designer: 'template-designer',\n Template: 'template',\n },\n // Filters: {\n // StringFilter: 'string-filter',\n // SelectFilter: 'select-filter',\n // NumberFilter: 'number-filter',\n // DateTimeFilter: 'datetime-filter',\n // BooleanFilter: 'boolean-filter',\n // LookupFilter: 'lookup-filter',\n // },\n // PropertyEditors: {\n // Spacing: 'spacing',\n // GridOptions: 'grid-options',\n // GridItemOptions: 'grid-item-options',\n // FlexOptions: 'flex-options',\n // FlexItemOptions: 'flex-item-options',\n // Direction: 'direction',\n // Border: 'border',\n // AdvancedGridOptions: 'advanced-grid-options',\n // },\n // Validations: {\n // RequiredValidation: 'required-validation',\n // RegularExpressionValidation: 'regular-expression-validation',\n // MinLengthValidation: 'min-length-validation',\n // MaxLengthValidation: 'max-length-validation',\n // LessThanValidation: 'less-than-validation',\n // GreaterThanValidation: 'greater-than-validation',\n // EqualValidation: 'equal-validation',\n // CallbackValidation: 'callback-validation',\n // BetweenValidation: 'between-validation',\n // },\n Entity: {\n EntityList: 'entity-list',\n EntityReference: 'entity-reference',\n WidgetSelector: 'widget-selector',\n },\n Theme: {\n ThemeColorChooser: 'theme-color-chooser',\n ThemePaletteChooser: 'theme-palette-chooser',\n // ThemeModeChooser: 'theme-mode-chooser',\n IconChooser: 'icon-chooser',\n FontSizeChooser: 'font-size-chooser',\n FontStyleChooser: 'font-style-chooser',\n // MenuOrientationChooser: 'menu-orientation-chooser',\n },\n // Dashboard: {\n // Weather: 'weather',\n // StickyNote: 'sticky-note',\n // LineChart: 'line-chart',\n // BarChart: 'bar-chart',\n // DonutChart: 'donut-chart',\n // GaugeChart: 'gauge-chart',\n // AnalogClock: 'analog-clock',\n // ClockCalendar: 'clock-calendar',\n // DashboardShortcut: 'dashboard-shortcut',\n // TaskBoard: 'task-board',\n // MyNotificationDashboard: 'my-notification-dashboard',\n // },\n // Features: {\n // Comment: 'comment',\n // Permissions: 'permissions',\n // },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy1uYW1lcy1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL3dpZGdldHMtbmFtZXMtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsT0FBTyxFQUFFO1FBQ1Asa0JBQWtCLEVBQUUsNEJBQTRCO1FBQ2hELE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsU0FBUyxFQUFFLFlBQVk7UUFDdkIsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixRQUFRLEVBQUUsY0FBYztRQUN4QixZQUFZLEVBQUUsc0JBQXNCO1FBQ3BDLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsU0FBUyxFQUFFLFdBQVc7UUFDdEIsWUFBWSxFQUFFLG1CQUFtQjtRQUNqQyxTQUFTLEVBQUUsZUFBZTtRQUMxQixZQUFZLEVBQUUsb0JBQW9CO1FBQ2xDLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsWUFBWSxFQUFFLHNCQUFzQjtRQUNwQyxRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLFNBQVMsRUFBRSxlQUFlO1FBQzFCLGFBQWEsRUFBRSx1QkFBdUI7UUFDdEMsT0FBTyxFQUFFLGFBQWE7UUFDdEIsZUFBZSxFQUFFLGNBQWM7UUFDL0IsWUFBWSxFQUFFLGVBQWU7UUFDN0IsaUJBQWlCLEVBQUUscUJBQXFCO1FBQ3hDLE1BQU0sRUFBRSxLQUFLO1FBQ2IsWUFBWSxFQUFFLFNBQVM7UUFDdkIsWUFBWSxFQUFFLFdBQVc7UUFDekIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsVUFBVSxFQUFFLGdCQUFnQjtRQUM1QixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsWUFBWSxFQUFFLGVBQWU7UUFDN0IsZ0JBQWdCLEVBQUUsbUJBQW1CO1FBQ3JDLFlBQVksRUFBRSxzQkFBc0I7UUFDcEMsWUFBWSxFQUFFLHVCQUF1QjtRQUNyQyxvQkFBb0IsRUFBRSwrQkFBK0I7UUFDckQsY0FBYyxFQUFFLHlCQUF5QjtRQUN6QyxtQkFBbUIsRUFBRSx1QkFBdUI7S0FDN0M7SUFDRCxPQUFPLEVBQUU7UUFDUCxXQUFXLEVBQUUsY0FBYztRQUMzQixjQUFjLEVBQUUsaUJBQWlCO1FBQ2pDLGVBQWUsRUFBRSxtQkFBbUI7UUFDcEMsU0FBUyxFQUFFLFlBQVk7UUFDdkIsV0FBVyxFQUFFLGNBQWM7UUFDM0IsVUFBVSxFQUFFLGFBQWE7UUFDekIsY0FBYyxFQUFFLGlCQUFpQjtRQUNqQyxhQUFhLEVBQUUsaUJBQWlCO1FBQ2hDLGNBQWMsRUFBRSxrQkFBa0I7UUFDbEMsVUFBVSxFQUFFLGFBQWE7UUFDekIsVUFBVSxFQUFFLGFBQWE7UUFDekIsY0FBYyxFQUFFLGtCQUFrQjtRQUNsQyxrQkFBa0IsRUFBRSxzQkFBc0I7UUFDMUMsc0JBQXNCLEVBQUUsMkJBQTJCO1FBQ25ELGNBQWMsRUFBRSxpQkFBaUI7UUFDakMsWUFBWSxFQUFFLGVBQWU7UUFDN0IsZ0JBQWdCLEVBQUUsYUFBYTtLQUNoQztJQUNELE9BQU8sRUFBRTtRQUNQLFlBQVksRUFBRSxlQUFlO0tBQzlCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLFFBQVE7UUFDaEIsU0FBUyxFQUFFLFdBQVc7UUFDdEIsR0FBRyxFQUFFLEtBQUs7UUFDVixPQUFPLEVBQUUsU0FBUztRQUNsQixLQUFLLEVBQUUsT0FBTztRQUNkLFdBQVcsRUFBRSxjQUFjO1FBQzNCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFlBQVksRUFBRSxlQUFlO1FBQzdCLElBQUksRUFBRSxNQUFNO1FBQ1osV0FBVyxFQUFFLGNBQWM7UUFDM0IsT0FBTyxFQUFFLFVBQVU7UUFDbkIsZUFBZSxFQUFFLGtCQUFrQjtRQUNuQyxxQkFBcUIsRUFBRSx5QkFBeUI7UUFDaEQscUJBQXFCLEVBQUUseUJBQXlCO0tBQ2pEO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixRQUFRLEVBQUUsVUFBVTtLQUNyQjtJQUNELGFBQWE7SUFDYixtQ0FBbUM7SUFDbkMsbUNBQW1DO0lBQ25DLG1DQUFtQztJQUNuQyx1Q0FBdUM7SUFDdkMscUNBQXFDO0lBQ3JDLG1DQUFtQztJQUNuQyxLQUFLO0lBQ0wscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4QixpQ0FBaUM7SUFDakMsMENBQTBDO0lBQzFDLGlDQUFpQztJQUNqQywwQ0FBMEM7SUFDMUMsNEJBQTRCO0lBQzVCLHNCQUFzQjtJQUN0QixrREFBa0Q7SUFDbEQsS0FBSztJQUNMLGlCQUFpQjtJQUNqQiwrQ0FBK0M7SUFDL0Msa0VBQWtFO0lBQ2xFLGtEQUFrRDtJQUNsRCxrREFBa0Q7SUFDbEQsZ0RBQWdEO0lBQ2hELHNEQUFzRDtJQUN0RCx5Q0FBeUM7SUFDekMsK0NBQStDO0lBQy9DLDZDQUE2QztJQUM3QyxLQUFLO0lBQ0wsTUFBTSxFQUFFO1FBQ04sVUFBVSxFQUFFLGFBQWE7UUFDekIsZUFBZSxFQUFFLGtCQUFrQjtRQUNuQyxjQUFjLEVBQUUsaUJBQWlCO0tBQ2xDO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsaUJBQWlCLEVBQUUscUJBQXFCO1FBQ3hDLG1CQUFtQixFQUFFLHVCQUF1QjtRQUM1QywwQ0FBMEM7UUFDMUMsV0FBVyxFQUFFLGNBQWM7UUFDM0IsZUFBZSxFQUFFLG1CQUFtQjtRQUNwQyxnQkFBZ0IsRUFBRSxvQkFBb0I7UUFDdEMsc0RBQXNEO0tBQ3ZEO0lBQ0QsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQzdCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0IsK0JBQStCO0lBQy9CLGlDQUFpQztJQUNqQyxxQ0FBcUM7SUFDckMsNkNBQTZDO0lBQzdDLDZCQUE2QjtJQUM3QiwwREFBMEQ7SUFDMUQsS0FBSztJQUNMLGNBQWM7SUFDZCx3QkFBd0I7SUFDeEIsZ0NBQWdDO0lBQ2hDLEtBQUs7Q0FDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFYUFdpZGdldHNMaXN0ID0ge1xuICBFZGl0b3JzOiB7XG4gICAgRG9jdW1lbnRBdHRhY2htZW50OiAnZG9jdW1lbnQtYXR0YWNobWVudC1lZGl0b3InLFxuICAgIFRhZ0JveDogJ3RhZ2FibGUtZWRpdG9yJyxcbiAgICBUYWdFZGl0b3I6ICd0YWctZWRpdG9yJyxcbiAgICBDaGVja0JveDogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgQ29sb3JCb3g6ICdjb2xvci1lZGl0b3InLFxuICAgIENvbG9yUGFsZXR0ZTogJ2NvbG9yLXBhbGV0dGUtZWRpdG9yJyxcbiAgICBEYXRlVGltZUJveDogJ2RhdGUtdGltZS1lZGl0b3InLFxuICAgIERpcmVjdGlvbjogJ2RpcmVjdGlvbicsXG4gICAgTGFyZ2VUZXh0Qm94OiAnbGFyZ2UtdGV4dC1lZGl0b3InLFxuICAgIE51bWJlckJveDogJ251bWJlci1lZGl0b3InLFxuICAgIFVuaXRWYWx1ZUJveDogJ251bWJlci11bml0LWVkaXRvcicsXG4gICAgUGFzc3dvcmRCb3g6ICdwYXNzd29yZC1lZGl0b3InLFxuICAgIFF1ZXJ5QnVpbGRlcjogJ3F1ZXJ5LWJ1aWxkZXItZWRpdG9yJyxcbiAgICBSaWNoVGV4dDogJ3JpY2gtdGV4dC1lZGl0b3InLFxuICAgIFNlbGVjdEJveDogJ3NlbGVjdC1lZGl0b3InLFxuICAgIFNlbGVjdGlvbkxpc3Q6ICdzZWxlY3Rpb24tbGlzdC1lZGl0b3InLFxuICAgIFRleHRCb3g6ICd0ZXh0LWVkaXRvcicsXG4gICAgSW5saW5lRGF0YVRhYmxlOiAndGFibGUtZWRpdG9yJyxcbiAgICBUb2dnbGVTd2l0Y2g6ICd0b2dnbGUtZWRpdG9yJyxcbiAgICBGaWxlVHlwZUV4dGVuc2lvbjogJ2ZpbGUtdHlwZS1leHRlbnNpb24nLFxuICAgIE1hcEJveDogJ21hcCcsXG4gICAgTWVkaWFHYWxsZXJ5OiAnZ2FsbGVyeScsXG4gICAgU2lnbmF0dXJlQm94OiAnc2lnbmF0dXJlJyxcbiAgICBMb29rdXBCb3g6ICdsb29rdXAtZWRpdG9yJyxcbiAgICBDb250YWN0Qm94OiAnY29udGFjdC1lZGl0b3InLFxuICAgIE1ldGFEYXRhQm94OiAnbWV0YS1kYXRhLWVkaXRvcicsXG4gICAgVGVtcGxhdGVCb3g6ICd0ZW1wbGF0ZS1ib3gtZWRpdG9yJyxcbiAgICBUaW1lRHVyYXRpb246ICd0aW1lLWR1cmF0aW9uJyxcbiAgICBEb2N1bWVudFVwbG9hZGVyOiAnZG9jdW1lbnQtdXBsb2FkZXInLFxuICAgIE1ldGFTZWxlY3RvcjogJ21ldGEtc2VsZWN0b3ItZWRpdG9yJyxcbiAgICBNZXRhRGF0YUZvcm06ICdtZXRhLWRhdGEtZm9ybS1lZGl0b3InLFxuICAgIENvbHVtbkZpbHRlclNlbGVjdG9yOiAnY29sdW1uLWZpbHRlci1zZWxlY3Rvci1lZGl0b3InLFxuICAgIERhdGFMaXN0RmlsdGVyOiAnZGF0YS1saXN0LWZpbHRlci1lZGl0b3InLFxuICAgIER5bmFtaWNGb3JtRGVzaWduZXI6ICdkeW5hbWljLWZvcm0tZGVzaWduZXInLFxuICB9LFxuICBMYXlvdXRzOiB7XG4gICAgQmxvY2tMYXlvdXQ6ICdibG9jay1sYXlvdXQnLFxuICAgIFJlcGVhdGVyTGF5b3V0OiAncmVwZWF0ZXItbGF5b3V0JyxcbiAgICBUZXh0QmxvY2tMYXlvdXQ6ICd0ZXh0LWJsb2NrLWxheW91dCcsXG4gICAgRm9ybUZpZWxkOiAnZm9ybS1maWVsZCcsXG4gICAgUGFuZWxMYXlvdXQ6ICdwYW5lbC1sYXlvdXQnLFxuICAgIFBhZ2VMYXlvdXQ6ICdwYWdlLWxheW91dCcsXG4gICAgRG9jdW1lbnRMYXlvdXQ6ICdkb2N1bWVudC1sYXlvdXQnLFxuICAgIEdyaWRSb3dMYXlvdXQ6ICdncmlkLXJvdy1sYXlvdXQnLFxuICAgIEdyaWRJdGVtTGF5b3V0OiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgR3JpZExheW91dDogJ2dyaWQtbGF5b3V0JyxcbiAgICBGbGV4TGF5b3V0OiAnZmxleC1sYXlvdXQnLFxuICAgIEZsZXhJdGVtTGF5b3V0OiAnZmxleC1pdGVtLWxheW91dCcsXG4gICAgQWR2YW5jZWRHcmlkTGF5b3V0OiAnYWR2YW5jZWQtZ3JpZC1sYXlvdXQnLFxuICAgIEFkdmFuY2VkR3JpZEl0ZW1MYXlvdXQ6ICdhZHZhbmNlZC1ncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICBGaWVsZHNldExheW91dDogJ2ZpZWxkc2V0LWxheW91dCcsXG4gICAgVGFic2V0TGF5b3V0OiAndGFic2V0LWxheW91dCcsXG4gICAgVGFic2V0SXRlbUxheW91dDogJ3RhYnNldC1pdGVtJyxcbiAgfSxcbiAgQWN0aW9uczoge1xuICAgIEFjdGlvbkJ1dHRvbjogJ2J1dHRvbi1hY3Rpb24nLFxuICB9LFxuICBBZHZhbmNlZDoge1xuICAgIFFSQ29kZTogJ3FyY29kZScsXG4gICAgU2lnbmF0dXJlOiAnc2lnbmF0dXJlJyxcbiAgICBNYXA6ICdtYXAnLFxuICAgIEdhbGxlcnk6ICdnYWxsZXJ5JyxcbiAgICBJbWFnZTogJ2ltYWdlJyxcbiAgICBJbWFnZU1hcmtlcjogJ2ltYWdlLW1hcmtlcicsXG4gICAgQXZhdGFyOiAnYXZhdGFyJyxcbiAgICBGaWxlVXBsb2FkZXI6ICdmaWxlLXVwbG9hZGVyJyxcbiAgICBMaXN0OiAnbGlzdCcsXG4gICAgTGlzdFRvb2xiYXI6ICdsaXN0LXRvb2xiYXInLFxuICAgIENyb25Kb2I6ICdjcm9uLWpvYicsXG4gICAgRXh0cmFQcm9wZXJ0aWVzOiAnZXh0cmEtcHJvcGVydGllcycsXG4gICAgRXh0cmFQcm9wZXJ0aWVzVmFsdWVzOiAnZXh0cmEtcHJvcGVydGllcy12YWx1ZXMnLFxuICAgIEV4dHJhUHJvcGVydGllc1NjaGVtYTogJ2V4dHJhLXByb3BlcnRpZXMtc2NoZW1hJyxcbiAgfSxcbiAgVGVtcGxhdGVzOiB7XG4gICAgRGVzaWduZXI6ICd0ZW1wbGF0ZS1kZXNpZ25lcicsXG4gICAgVGVtcGxhdGU6ICd0ZW1wbGF0ZScsXG4gIH0sXG4gIC8vIEZpbHRlcnM6IHtcbiAgLy8gICBTdHJpbmdGaWx0ZXI6ICdzdHJpbmctZmlsdGVyJyxcbiAgLy8gICBTZWxlY3RGaWx0ZXI6ICdzZWxlY3QtZmlsdGVyJyxcbiAgLy8gICBOdW1iZXJGaWx0ZXI6ICdudW1iZXItZmlsdGVyJyxcbiAgLy8gICBEYXRlVGltZUZpbHRlcjogJ2RhdGV0aW1lLWZpbHRlcicsXG4gIC8vICAgQm9vbGVhbkZpbHRlcjogJ2Jvb2xlYW4tZmlsdGVyJyxcbiAgLy8gICBMb29rdXBGaWx0ZXI6ICdsb29rdXAtZmlsdGVyJyxcbiAgLy8gfSxcbiAgLy8gUHJvcGVydHlFZGl0b3JzOiB7XG4gIC8vICAgU3BhY2luZzogJ3NwYWNpbmcnLFxuICAvLyAgIEdyaWRPcHRpb25zOiAnZ3JpZC1vcHRpb25zJyxcbiAgLy8gICBHcmlkSXRlbU9wdGlvbnM6ICdncmlkLWl0ZW0tb3B0aW9ucycsXG4gIC8vICAgRmxleE9wdGlvbnM6ICdmbGV4LW9wdGlvbnMnLFxuICAvLyAgIEZsZXhJdGVtT3B0aW9uczogJ2ZsZXgtaXRlbS1vcHRpb25zJyxcbiAgLy8gICBEaXJlY3Rpb246ICdkaXJlY3Rpb24nLFxuICAvLyAgIEJvcmRlcjogJ2JvcmRlcicsXG4gIC8vICAgQWR2YW5jZWRHcmlkT3B0aW9uczogJ2FkdmFuY2VkLWdyaWQtb3B0aW9ucycsXG4gIC8vIH0sXG4gIC8vIFZhbGlkYXRpb25zOiB7XG4gIC8vICAgUmVxdWlyZWRWYWxpZGF0aW9uOiAncmVxdWlyZWQtdmFsaWRhdGlvbicsXG4gIC8vICAgUmVndWxhckV4cHJlc3Npb25WYWxpZGF0aW9uOiAncmVndWxhci1leHByZXNzaW9uLXZhbGlkYXRpb24nLFxuICAvLyAgIE1pbkxlbmd0aFZhbGlkYXRpb246ICdtaW4tbGVuZ3RoLXZhbGlkYXRpb24nLFxuICAvLyAgIE1heExlbmd0aFZhbGlkYXRpb246ICdtYXgtbGVuZ3RoLXZhbGlkYXRpb24nLFxuICAvLyAgIExlc3NUaGFuVmFsaWRhdGlvbjogJ2xlc3MtdGhhbi12YWxpZGF0aW9uJyxcbiAgLy8gICBHcmVhdGVyVGhhblZhbGlkYXRpb246ICdncmVhdGVyLXRoYW4tdmFsaWRhdGlvbicsXG4gIC8vICAgRXF1YWxWYWxpZGF0aW9uOiAnZXF1YWwtdmFsaWRhdGlvbicsXG4gIC8vICAgQ2FsbGJhY2tWYWxpZGF0aW9uOiAnY2FsbGJhY2stdmFsaWRhdGlvbicsXG4gIC8vICAgQmV0d2VlblZhbGlkYXRpb246ICdiZXR3ZWVuLXZhbGlkYXRpb24nLFxuICAvLyB9LFxuICBFbnRpdHk6IHtcbiAgICBFbnRpdHlMaXN0OiAnZW50aXR5LWxpc3QnLFxuICAgIEVudGl0eVJlZmVyZW5jZTogJ2VudGl0eS1yZWZlcmVuY2UnLFxuICAgIFdpZGdldFNlbGVjdG9yOiAnd2lkZ2V0LXNlbGVjdG9yJyxcbiAgfSxcbiAgVGhlbWU6IHtcbiAgICBUaGVtZUNvbG9yQ2hvb3NlcjogJ3RoZW1lLWNvbG9yLWNob29zZXInLFxuICAgIFRoZW1lUGFsZXR0ZUNob29zZXI6ICd0aGVtZS1wYWxldHRlLWNob29zZXInLFxuICAgIC8vIFRoZW1lTW9kZUNob29zZXI6ICd0aGVtZS1tb2RlLWNob29zZXInLFxuICAgIEljb25DaG9vc2VyOiAnaWNvbi1jaG9vc2VyJyxcbiAgICBGb250U2l6ZUNob29zZXI6ICdmb250LXNpemUtY2hvb3NlcicsXG4gICAgRm9udFN0eWxlQ2hvb3NlcjogJ2ZvbnQtc3R5bGUtY2hvb3NlcicsXG4gICAgLy8gTWVudU9yaWVudGF0aW9uQ2hvb3NlcjogJ21lbnUtb3JpZW50YXRpb24tY2hvb3NlcicsXG4gIH0sXG4gIC8vIERhc2hib2FyZDoge1xuICAvLyAgIFdlYXRoZXI6ICd3ZWF0aGVyJyxcbiAgLy8gICBTdGlja3lOb3RlOiAnc3RpY2t5LW5vdGUnLFxuICAvLyAgIExpbmVDaGFydDogJ2xpbmUtY2hhcnQnLFxuICAvLyAgIEJhckNoYXJ0OiAnYmFyLWNoYXJ0JyxcbiAgLy8gICBEb251dENoYXJ0OiAnZG9udXQtY2hhcnQnLFxuICAvLyAgIEdhdWdlQ2hhcnQ6ICdnYXVnZS1jaGFydCcsXG4gIC8vICAgQW5hbG9nQ2xvY2s6ICdhbmFsb2ctY2xvY2snLFxuICAvLyAgIENsb2NrQ2FsZW5kYXI6ICdjbG9jay1jYWxlbmRhcicsXG4gIC8vICAgRGFzaGJvYXJkU2hvcnRjdXQ6ICdkYXNoYm9hcmQtc2hvcnRjdXQnLFxuICAvLyAgIFRhc2tCb2FyZDogJ3Rhc2stYm9hcmQnLFxuICAvLyAgIE15Tm90aWZpY2F0aW9uRGFzaGJvYXJkOiAnbXktbm90aWZpY2F0aW9uLWRhc2hib2FyZCcsXG4gIC8vIH0sXG4gIC8vIEZlYXR1cmVzOiB7XG4gIC8vICAgQ29tbWVudDogJ2NvbW1lbnQnLFxuICAvLyAgIFBlcm1pc3Npb25zOiAncGVybWlzc2lvbnMnLFxuICAvLyB9LFxufTtcbiJdfQ==","import { AXPEntityCommandScope, createQueryView } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const archivePlugin = {\n name: 'archive',\n order: 65,\n apply: (ctx) => {\n ensureListActions(ctx);\n //#region ---- Add isArchived Property ----\n // Ensure settings group exists\n const groupId = 'settings';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.settings' });\n }\n // Add isArchived property if it doesn't exist\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'isArchived')) {\n ctx.properties.add({\n name: 'isArchived',\n title: '@general:terms.status.states.is-archived',\n groupId,\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n // Default to false (not archived)\n defaultValue: false,\n // trulyText: '@general:terms.archived',\n // falsyText: '@general:terms.active',\n negative: true,\n nullValue: false,\n },\n },\n },\n validations: [],\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true }\n }\n }\n });\n }\n // Add isArchived to columns for list view\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'isArchived')) {\n ctx.columns.add({\n name: 'isArchived',\n title: '@general:terms.status.states.is-active',\n width: 100,\n sortable: true,\n filterable: true,\n });\n }\n //#endregion\n //#region ---- Add Archive Actions ----\n ctx.interfaces.update((i) => {\n const archiveCmdName = 'archive-entity';\n const restoreArchiveCmdName = 'restore-archive-entity';\n const bulkArchiveCmdName = 'bulk-archive-entity';\n const bulkRestoreArchiveCmdName = 'bulk-restore-archive-entity';\n // Add archive action to list view\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, archiveCmdName)) {\n listActions.push({\n title: '@general:actions.archive.title',\n command: {\n name: archiveCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'archive',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isArchived\") }}`,\n });\n }\n // Add restore archive action to list view\n if (!actionExists(listActions, restoreArchiveCmdName)) {\n listActions.push({\n title: '@general:actions.restore-archive.title',\n command: {\n name: restoreArchiveCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ !context.eval(\"isArchived\") }}`,\n });\n }\n // Add bulk archive action to list view\n if (!actionExists(listActions, bulkArchiveCmdName)) {\n listActions.push({\n title: '@general:actions.bulk-archive.title',\n command: {\n name: bulkArchiveCmdName,\n options: {\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'archive',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n // Add bulk restore archive action to list view\n if (!actionExists(listActions, bulkRestoreArchiveCmdName)) {\n listActions.push({\n title: '@general:actions.bulk-restore-archive.title',\n command: {\n name: bulkRestoreArchiveCmdName,\n options: {\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n // Add archive action to single view\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, archiveCmdName)) {\n singleActions.push({\n title: '@general:actions.archive.title',\n command: {\n name: archiveCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'archive',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isArchived\") }}`,\n });\n }\n // Add restore archive action to single view\n if (!actionExists(singleActions, restoreArchiveCmdName)) {\n singleActions.push({\n title: '@general:actions.restore-archive.title',\n command: {\n name: restoreArchiveCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ !context.eval(\"isArchived\") }}`,\n });\n }\n return i;\n });\n //#endregion\n //#region ---- Update Interface Layouts ----\n // Ensure update view includes isArchived\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isArchived')) {\n next.properties.push({\n name: 'isArchived',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Ensure single view includes isArchived\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId, order: 150 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isArchived')) {\n next.properties.push({\n name: 'isArchived',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Add archive view to show only archived items\n ctx.interfaces.master.list.update((list) => {\n const next = list ?? { actions: [], views: [] };\n next.views = next.views ?? [];\n // Check if archive view already exists\n if (!next.views.some((v) => v.name === 'archived')) {\n next.views.push(createQueryView('archived', '@general:terms.status.states.is-archived', false, {\n conditions: [\n {\n name: 'isArchived',\n operator: { type: 'equal' },\n value: true,\n hidden: true\n },\n ],\n sorts: [\n { name: 'archivedAt', dir: 'desc' },\n { name: 'title', dir: 'asc' },\n ],\n }));\n }\n return next;\n });\n //#endregion\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXJjaGl2ZS1wbHVnaW4vYXJjaGl2ZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCO0lBQ2hELElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLCtDQUErQztRQUUvQywrQkFBK0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENB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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgY3JlYXRlUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGNvbnN0IGFyY2hpdmVQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnYXJjaGl2ZScsXG4gICAgb3JkZXI6IDY1LFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgaXNBcmNoaXZlZCBQcm9wZXJ0eSAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgc2V0dGluZ3MgZ3JvdXAgZXhpc3RzXG4gICAgICAgIGNvbnN0IGdyb3VwSWQgPSAnc2V0dGluZ3MnO1xuICAgICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pbnRlcmZhY2Uuc2V0dGluZ3MnIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBpc0FyY2hpdmVkIHByb3BlcnR5IGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0FyY2hpdmVkJykpIHtcbiAgICAgICAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2lzQXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuc3RhdHVzLnN0YXRlcy5pcy1hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlRvZ2dsZVN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGZhbHNlIChub3QgYXJjaGl2ZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnVseVRleHQ6ICdAZ2VuZXJhbDp0ZXJtcy5hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmFsc3lUZXh0OiAnQGdlbmVyYWw6dGVybXMuYWN0aXZlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWdhdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIGlzQXJjaGl2ZWQgdG8gY29sdW1ucyBmb3IgbGlzdCB2aWV3XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBjdHguY29sdW1ucy5saXN0KCkgPz8gW107XG4gICAgICAgIGlmICghY29sdW1ucy5zb21lKChjOiBhbnkpID0+IGMubmFtZSA9PT0gJ2lzQXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgY3R4LmNvbHVtbnMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNBcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5zdGF0dXMuc3RhdGVzLmlzLWFjdGl2ZScsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgQXJjaGl2ZSBBY3Rpb25zICAgLS0tLVxuXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLnVwZGF0ZSgoaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXJjaGl2ZUNtZE5hbWUgPSAnYXJjaGl2ZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgcmVzdG9yZUFyY2hpdmVDbWROYW1lID0gJ3Jlc3RvcmUtYXJjaGl2ZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgYnVsa0FyY2hpdmVDbWROYW1lID0gJ2J1bGstYXJjaGl2ZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgYnVsa1Jlc3RvcmVBcmNoaXZlQ21kTmFtZSA9ICdidWxrLXJlc3RvcmUtYXJjaGl2ZS1lbnRpdHknO1xuXG4gICAgICAgICAgICAvLyBBZGQgYXJjaGl2ZSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBjb25zdCBsaXN0QWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBBWFBFbnRpdHlBY3Rpb25bXTtcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCBhcmNoaXZlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmFyY2hpdmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBhcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FyY2hpdmUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7IGNvbnRleHQuZXZhbChcImlzQXJjaGl2ZWRcIikgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgcmVzdG9yZSBhcmNoaXZlIGFjdGlvbiB0byBsaXN0IHZpZXdcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCByZXN0b3JlQXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5yZXN0b3JlLWFyY2hpdmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXN0b3JlQXJjaGl2ZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7ICFjb250ZXh0LmV2YWwoXCJpc0FyY2hpdmVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIGJ1bGsgYXJjaGl2ZSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgYnVsa0FyY2hpdmVDbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIGxpc3RBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMuYnVsay1hcmNoaXZlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYnVsa0FyY2hpdmVDbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYXJjaGl2ZScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBidWxrIHJlc3RvcmUgYXJjaGl2ZSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgYnVsa1Jlc3RvcmVBcmNoaXZlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstcmVzdG9yZS1hcmNoaXZlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYnVsa1Jlc3RvcmVBcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3VwZGF0ZScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBhcmNoaXZlIGFjdGlvbiB0byBzaW5nbGUgdmlld1xuICAgICAgICAgICAgY29uc3Qgc2luZ2xlQWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyPy5zaW5nbGU/LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW10gfHwgW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhzaW5nbGVBY3Rpb25zLCBhcmNoaXZlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBzaW5nbGVBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMuYXJjaGl2ZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGFyY2hpdmVDbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYXJjaGl2ZScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgY29udGV4dC5ldmFsKFwiaXNBcmNoaXZlZFwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCByZXN0b3JlIGFyY2hpdmUgYWN0aW9uIHRvIHNpbmdsZSB2aWV3XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhzaW5nbGVBY3Rpb25zLCByZXN0b3JlQXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLnJlc3RvcmUtYXJjaGl2ZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3RvcmVBcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3VwZGF0ZScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgIWNvbnRleHQuZXZhbChcImlzQXJjaGl2ZWRcIikgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gaSBhcyBhbnk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgVXBkYXRlIEludGVyZmFjZSBMYXlvdXRzICAgLS0tLVxuXG4gICAgICAgIC8vIEVuc3VyZSB1cGRhdGUgdmlldyBpbmNsdWRlcyBpc0FyY2hpdmVkXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5tb2RpZnkudXBkYXRlKCh1cGRhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSB1cGRhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2lzQXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lzQXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2LCBvcmRlcjogOTAgfSB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEVuc3VyZSBzaW5nbGUgdmlldyBpbmNsdWRlcyBpc0FyY2hpdmVkXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5zaW5nbGUudXBkYXRlKChzaW5nbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBzaW5nbGUgPz8geyB0aXRsZTogY3R4LmVudGl0eS50aXRsZSwgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkLCBvcmRlcjogMTUwIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0FyY2hpdmVkJykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0FyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDkwIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBZGQgYXJjaGl2ZSB2aWV3IHRvIHNob3cgb25seSBhcmNoaXZlZCBpdGVtc1xuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubGlzdC51cGRhdGUoKGxpc3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBsaXN0ID8/IHsgYWN0aW9uczogW10sIHZpZXdzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC52aWV3cyA9IG5leHQudmlld3MgPz8gW107XG5cbiAgICAgICAgICAgIC8vIENoZWNrIGlmIGFyY2hpdmUgdmlldyBhbHJlYWR5IGV4aXN0c1xuICAgICAgICAgICAgaWYgKCFuZXh0LnZpZXdzLnNvbWUoKHY6IGFueSkgPT4gdi5uYW1lID09PSAnYXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgICAgIG5leHQudmlld3MucHVzaChcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlUXVlcnlWaWV3KCdhcmNoaXZlZCcsICdAZ2VuZXJhbDp0ZXJtcy5zdGF0dXMuc3RhdGVzLmlzLWFyY2hpdmVkJywgZmFsc2UsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0FyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ2FyY2hpdmVkQXQnLCBkaXI6ICdkZXNjJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgZGlyOiAnYXNjJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityArchivedEvent = createWorkFlowEvent('[Entity] Archived');\nexport class AXPEntityArchiveAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.archive.confirm.title'), await this.translationService.translateAsync('@general:actions.archive.confirm.message'), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.archive.confirm.processing'),\n mode: 'indeterminate',\n status: 'Archiving...',\n });\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare archive data\n const archiveData = this.prepareArchiveData(currentData);\n // Update the entity to mark it as archived\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(archiveData);\n context.setOutput('id', refId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && currentData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: currentData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error('Archive operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareArchiveData(currentData) {\n const archiveData = { ...currentData };\n // Set the archived flag\n archiveData.isArchived = true;\n // Optionally add archive timestamp\n archiveData.archivedAt = new Date();\n return archiveData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityArchiveSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const id = context.getOutput('id');\n const meta = context.getVariable('meta');\n // Dispatch archive event\n this.dispatch(AXPEntityArchivedEvent({\n entity: refType,\n id,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPArchiveEntityWorkflow = {\n startStepId: 'archive-entity',\n steps: {\n 'archive-entity': {\n action: 'AXPEntityArchiveAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-archived',\n content: 'workflow.entity-archived-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'archive-success',\n },\n ],\n },\n 'archive-success': {\n action: 'AXPEntityArchiveSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS1lbnRpdHkud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXJjaGl2ZS1wbHVnaW4vd29ya2Zsb3dzL2FyY2hpdmUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxtQkFBbUIsQ0FDckQsbUJBQW1CLENBQ3RCLENBQUM7QUFHRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsaUJBQWlCO0lBRDdEOztRQUVZLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQWlHN0Q7SUEvRkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FB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O29CQUN4RixVQUFVLEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakMsT0FBTyxFQUFFLCtCQUErQjthQUMzQztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsaUJBQWlCO2lCQUNoQzthQUNKO1NBQ0o7UUFDRCxpQkFBaUIsRUFBRTtZQUNmLE1BQU0sRUFBRSwrQkFBK0I7U0FDMUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUFyY2hpdmVkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IGlkOiBzdHJpbmc7IG1ldGE/OiBhbnkgfT4oXG4gICAgJ1tFbnRpdHldIEFyY2hpdmVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlBcmNoaXZlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcblxuICAgICAgICBpZiAoIXJlZklkIHx8ICFyZWZUeXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmSWQgYW5kIHJlZlR5cGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYXJjaGl2ZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5hcmNoaXZlLmNvbmZpcm0ubWVzc2FnZScpLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5hcmNoaXZlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnQXJjaGl2aW5nLi4uJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgcmVmSWQpO1xuXG4gICAgICAgICAgICAvLyBQcmVwYXJlIGFyY2hpdmUgZGF0YVxuICAgICAgICAgICAgY29uc3QgYXJjaGl2ZURhdGEgPSB0aGlzLnByZXBhcmVBcmNoaXZlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW50aXR5IHRvIG1hcmsgaXQgYXMgYXJjaGl2ZWRcbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcy51cGRhdGUuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVFeGVjKGFyY2hpdmVEYXRhKTtcblxuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpZCcsIHJlZklkKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIC8vIFNldCByZWZyZXNoIG1ldGFkYXRhXG4gICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtZXRhJywgeyByZWZyZXNoVGFyZ2V0SWQ6IGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQXJjaGl2ZSBvcGVyYXRpb24gZmFpbGVkOicsIGVycm9yKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgdHJ1ZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBsb2FkaW5nRGlhbG9nLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldEVudGl0eURhdGEocmVmVHlwZTogc3RyaW5nLCByZWZJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFVzZSB0aGUgZW50aXR5J3MgYnlLZXkgcXVlcnkgdG8gZ2V0IGFjdHVhbCBkYXRhXG4gICAgICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBjb25zdCBlbnRpdHlEZWZpbml0aW9uID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucXVlcmllcz8uYnlLZXkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgcXVlcnlFeGVjKHJlZklkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gRmFsbGJhY2sgdG8gYmFzaWMgc3RydWN0dXJlIGlmIG5vIHF1ZXJ5IGF2YWlsYWJsZVxuICAgICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlZklkIH07XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gcmV0cmlldmUgZW50aXR5IGRhdGE6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcmV0cmlldmUgZW50aXR5IGRhdGE6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVBcmNoaXZlRGF0YShjdXJyZW50RGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgYXJjaGl2ZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBhcmNoaXZlZCBmbGFnXG4gICAgICAgIGFyY2hpdmVEYXRhLmlzQXJjaGl2ZWQgPSB0cnVlO1xuXG4gICAgICAgIC8vIE9wdGlvbmFsbHkgYWRkIGFyY2hpdmUgdGltZXN0YW1wXG4gICAgICAgIGFyY2hpdmVEYXRhLmFyY2hpdmVkQXQgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBhcmNoaXZlRGF0YTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlBcmNoaXZlU3VjY2Vzc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgaWQgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmc+KCdpZCcpO1xuICAgICAgICBjb25zdCBtZXRhID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdtZXRhJyk7XG5cbiAgICAgICAgLy8gRGlzcGF0Y2ggYXJjaGl2ZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QXJjaGl2ZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBBcmNoaXZlRW50aXR5V29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnYXJjaGl2ZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdhcmNoaXZlLWVudGl0eSc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUFyY2hpdmVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWFyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LWFyY2hpdmVkLWJvZHknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdhcmNoaXZlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYXJjaGl2ZS1zdWNjZXNzJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5QXJjaGl2ZVN1Y2Nlc3NBY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityUnarchivedEvent = createWorkFlowEvent('[Entity] Unarchived');\nexport class AXPEntityUnarchiveAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.restore-archive.confirm.title'), await this.translationService.translateAsync('@general:actions.restore-archive.confirm.message'), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.restore-archive.confirm.processing'),\n mode: 'indeterminate',\n status: 'Unarchiving...',\n });\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare unarchive data\n const unarchiveData = this.prepareUnarchiveData(currentData);\n // Update the entity to mark it as not archived\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(unarchiveData);\n context.setOutput('id', refId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && currentData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: currentData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error('Unarchive operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareUnarchiveData(currentData) {\n const unarchiveData = { ...currentData };\n // Set the archived flag to false\n unarchiveData.isArchived = false;\n // Remove archive timestamp\n delete unarchiveData.archivedAt;\n return unarchiveData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityUnarchiveSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const id = context.getOutput('id');\n const meta = context.getVariable('meta');\n // Dispatch unarchive event\n this.dispatch(AXPEntityUnarchivedEvent({\n entity: refType,\n id,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPUnarchiveEntityWorkflow = {\n startStepId: 'unarchive-entity',\n steps: {\n 'unarchive-entity': {\n action: 'AXPEntityUnarchiveAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-unarchived',\n content: 'workflow.entity-unarchived-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'unarchive-success',\n },\n ],\n },\n 'unarchive-success': {\n action: 'AXPEntityUnarchiveSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdG9yZS1lbnRpdHkud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXJjaGl2ZS1wbHVnaW4vd29ya2Zsb3dzL3Jlc3RvcmUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxtQkFBbUIsQ0FDdkQscUJBQXFCLENBQ3hCLENBQUM7QUFHRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsaUJBQWlCO0lBRC9EOztRQUVZLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQWlHN0Q7SUEvRkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FB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LEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLDRCQUE0QjtnQkFDbkMsT0FBTyxFQUFFLGlDQUFpQzthQUM3QztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsbUJBQW1CO2lCQUNsQzthQUNKO1NBQ0o7UUFDRCxtQkFBbUIsRUFBRTtZQUNqQixNQUFNLEVBQUUsaUNBQWlDO1NBQzVDO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUmVmcmVzaEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQsIGNyZWF0ZVdvcmtGbG93RXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlVbmFyY2hpdmVkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IGlkOiBzdHJpbmc7IG1ldGE/OiBhbnkgfT4oXG4gICAgJ1tFbnRpdHldIFVuYXJjaGl2ZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eVVuYXJjaGl2ZUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdGVyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGxvYWRpbmdEaWFsb2cgPSBpbmplY3QoQVhMb2FkaW5nRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmSWQgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmSWQnKTtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG5cbiAgICAgICAgaWYgKCFyZWZJZCB8fCAhcmVmVHlwZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIHBhcmFtZXRlcnM6IHJlZklkIGFuZCByZWZUeXBlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgIC8vIFNob3cgY29uZmlybWF0aW9uIGRpYWxvZ1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybShcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLnJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5yZXN0b3JlLWFyY2hpdmUuY29uZmlybS5tZXNzYWdlJyksXG4gICAgICAgICAgICAnd2FybmluZycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLnJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLnByb2Nlc3NpbmcnKSxcbiAgICAgICAgICAgIG1vZGU6ICdpbmRldGVybWluYXRlJyxcbiAgICAgICAgICAgIHN0YXR1czogJ1VuYXJjaGl2aW5nLi4uJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgcmVmSWQpO1xuXG4gICAgICAgICAgICAvLyBQcmVwYXJlIHVuYXJjaGl2ZSBkYXRhXG4gICAgICAgICAgICBjb25zdCB1bmFyY2hpdmVEYXRhID0gdGhpcy5wcmVwYXJlVW5hcmNoaXZlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW50aXR5IHRvIG1hcmsgaXQgYXMgbm90IGFyY2hpdmVkXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcz8udXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMudXBkYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyh1bmFyY2hpdmVEYXRhKTtcblxuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpZCcsIHJlZklkKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIC8vIFNldCByZWZyZXNoIG1ldGFkYXRhXG4gICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtZXRhJywgeyByZWZyZXNoVGFyZ2V0SWQ6IGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignVW5hcmNoaXZlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZVVuYXJjaGl2ZURhdGEoY3VycmVudERhdGE6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHVuYXJjaGl2ZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBhcmNoaXZlZCBmbGFnIHRvIGZhbHNlXG4gICAgICAgIHVuYXJjaGl2ZURhdGEuaXNBcmNoaXZlZCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIFJlbW92ZSBhcmNoaXZlIHRpbWVzdGFtcFxuICAgICAgICBkZWxldGUgdW5hcmNoaXZlRGF0YS5hcmNoaXZlZEF0O1xuXG4gICAgICAgIHJldHVybiB1bmFyY2hpdmVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eVVuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IGlkID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nPignaWQnKTtcbiAgICAgICAgY29uc3QgbWV0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignbWV0YScpO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIHVuYXJjaGl2ZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5VW5hcmNoaXZlZEV2ZW50KHtcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHJlZlR5cGUsXG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgbWV0YVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUFVuYXJjaGl2ZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ3VuYXJjaGl2ZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICd1bmFyY2hpdmUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5VW5hcmNoaXZlQWN0aW9uJyxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcImlzQ2FuY2VsZWRcIikgPT0gZmFsc2UnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1zdWNjZXNzLXRvYXN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctc3VjY2Vzcy10b2FzdCc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ3dvcmtmbG93LmVudGl0eS11bmFyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LXVuYXJjaGl2ZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ3VuYXJjaGl2ZS1zdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3VuYXJjaGl2ZS1zdWNjZXNzJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5VW5hcmNoaXZlU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityBulkArchivedEvent = createWorkFlowEvent('[Entity] Bulk Archived');\nexport class AXPEntityBulkArchiveAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const data = context.getVariable('data');\n const selectedIds = Array.isArray(data) ? data.map((c) => c.id) : data ? [data.id] : [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and data');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.bulk-archive.confirm.title'), await this.translationService.translateAsync('@general:actions.bulk-archive.confirm.message', {\n params: { count: selectedIds.length }\n }), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.bulk-archive.confirm.processing'),\n mode: 'indeterminate',\n status: `Archiving ${selectedIds.length} items...`,\n });\n try {\n const processedIds = [];\n const failedIds = [];\n // Process each selected entity\n for (const id of selectedIds) {\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, id);\n // Prepare archive data\n const archiveData = this.prepareArchiveData(currentData);\n // Update the entity to mark it as archived\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(archiveData);\n processedIds.push(id);\n }\n else {\n failedIds.push(id);\n }\n }\n catch (error) {\n console.error(`Failed to archive entity ${id}:`, error);\n failedIds.push(id);\n }\n }\n context.setOutput('processedIds', processedIds);\n context.setOutput('failedIds', failedIds);\n context.setOutput('isCanceled', false);\n context.setOutput('totalProcessed', processedIds.length);\n context.setOutput('totalFailed', failedIds.length);\n }\n catch (error) {\n console.error('Bulk archive operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareArchiveData(currentData) {\n const archiveData = { ...currentData };\n // Set the archived flag\n archiveData.isArchived = true;\n // Optionally add archive timestamp\n archiveData.archivedAt = new Date();\n return archiveData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityBulkArchiveSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const processedIds = context.getOutput('processedIds') || [];\n const failedIds = context.getOutput('failedIds') || [];\n const totalProcessed = context.getOutput('totalProcessed') || 0;\n const totalFailed = context.getOutput('totalFailed') || 0;\n // Dispatch bulk archive event\n this.dispatch(AXPEntityBulkArchivedEvent({\n entity: refType,\n ids: processedIds,\n meta: { failedIds, totalProcessed, totalFailed }\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta: { refreshType: 'bulk-archive' }\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPBulkArchiveEntityWorkflow = {\n startStepId: 'bulk-archive-entity',\n steps: {\n 'bulk-archive-entity': {\n action: 'AXPEntityBulkArchiveAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-bulk-archived',\n content: 'workflow.entity-bulk-archived-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'bulk-archive-success',\n },\n ],\n },\n 'bulk-archive-success': {\n action: 'AXPEntityBulkArchiveSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1hcmNoaXZlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1hcmNoaXZlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsbUJBQW1CLENBQ3pELHdCQUF3QixDQUMzQixDQUFDO0FBR0YsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0ErRzdEO0lBN0dHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FB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QjtpQkFDbkM7YUFDSjtTQUNKO1FBQ0Qsb0JBQW9CLEVBQUU7WUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixLQUFLLEVBQUU7Z0JBQ0gsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSwrQkFBK0I7Z0JBQ3RDLE9BQU8sRUFBRSxvQ0FBb0M7YUFDaEQ7WUFDRCxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksVUFBVSxFQUFFLEVBQUU7b0JBQ2QsVUFBVSxFQUFFLHNCQUFzQjtpQkFDckM7YUFDSjtTQUNKO1FBQ0Qsc0JBQXNCLEVBQUU7WUFDcEIsTUFBTSxFQUFFLG1DQUFtQztTQUM5QztLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhMb2FkaW5nRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUFJlZnJlc2hFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0LCBjcmVhdGVXb3JrRmxvd0V2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuXG5leHBvcnQgY29uc3QgQVhQRW50aXR5QnVsa0FyY2hpdmVkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IGlkczogc3RyaW5nW107IG1ldGE/OiBhbnkgfT4oXG4gICAgJ1tFbnRpdHldIEJ1bGsgQXJjaGl2ZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtBcmNoaXZlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignZGF0YScpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZElkcyA9IEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhLm1hcCgoYykgPT4gYy5pZCkgOiBkYXRhID8gW2RhdGEuaWRdIDogW107XG5cbiAgICAgICAgaWYgKCFyZWZUeXBlIHx8IHNlbGVjdGVkSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIHBhcmFtZXRlcnM6IHJlZlR5cGUgYW5kIGRhdGEnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYnVsay1hcmNoaXZlLmNvbmZpcm0udGl0bGUnKSxcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstYXJjaGl2ZS5jb25maXJtLm1lc3NhZ2UnLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7IGNvdW50OiBzZWxlY3RlZElkcy5sZW5ndGggfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAnd2FybmluZycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstYXJjaGl2ZS5jb25maXJtLnByb2Nlc3NpbmcnKSxcbiAgICAgICAgICAgIG1vZGU6ICdpbmRldGVybWluYXRlJyxcbiAgICAgICAgICAgIHN0YXR1czogYEFyY2hpdmluZyAke3NlbGVjdGVkSWRzLmxlbmd0aH0gaXRlbXMuLi5gLFxuICAgICAgICB9KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc2VkSWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgY29uc3QgZmFpbGVkSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgICAgICAvLyBQcm9jZXNzIGVhY2ggc2VsZWN0ZWQgZW50aXR5XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGlkIG9mIHNlbGVjdGVkSWRzKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGVudGl0eSBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gYXdhaXQgdGhpcy5nZXRFbnRpdHlEYXRhKHJlZlR5cGUsIGlkKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBQcmVwYXJlIGFyY2hpdmUgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcmNoaXZlRGF0YSA9IHRoaXMucHJlcGFyZUFyY2hpdmVEYXRhKGN1cnJlbnREYXRhKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGVudGl0eSB0byBtYXJrIGl0IGFzIGFyY2hpdmVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzLnVwZGF0ZS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyhhcmNoaXZlRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzZWRJZHMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsZWRJZHMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gYXJjaGl2ZSBlbnRpdHkgJHtpZH06YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsZWRJZHMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgncHJvY2Vzc2VkSWRzJywgcHJvY2Vzc2VkSWRzKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdmYWlsZWRJZHMnLCBmYWlsZWRJZHMpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgndG90YWxQcm9jZXNzZWQnLCBwcm9jZXNzZWRJZHMubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd0b3RhbEZhaWxlZCcsIGZhaWxlZElkcy5sZW5ndGgpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdCdWxrIGFyY2hpdmUgb3BlcmF0aW9uIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgbG9hZGluZ0RpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRFbnRpdHlEYXRhKHJlZlR5cGU6IHN0cmluZywgcmVmSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBVc2UgdGhlIGVudGl0eSdzIGJ5S2V5IHF1ZXJ5IHRvIGdldCBhY3R1YWwgZGF0YVxuICAgICAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXM/LmJ5S2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzLmJ5S2V5LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHF1ZXJ5RXhlYyhyZWZJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIGJhc2ljIHN0cnVjdHVyZSBpZiBubyBxdWVyeSBhdmFpbGFibGVcbiAgICAgICAgICAgIHJldHVybiB7IGlkOiByZWZJZCB9O1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlQXJjaGl2ZURhdGEoY3VycmVudERhdGE6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGFyY2hpdmVEYXRhID0geyAuLi5jdXJyZW50RGF0YSB9O1xuXG4gICAgICAgIC8vIFNldCB0aGUgYXJjaGl2ZWQgZmxhZ1xuICAgICAgICBhcmNoaXZlRGF0YS5pc0FyY2hpdmVkID0gdHJ1ZTtcblxuICAgICAgICAvLyBPcHRpb25hbGx5IGFkZCBhcmNoaXZlIHRpbWVzdGFtcFxuICAgICAgICBhcmNoaXZlRGF0YS5hcmNoaXZlZEF0ID0gbmV3IERhdGUoKTtcblxuICAgICAgICByZXR1cm4gYXJjaGl2ZURhdGE7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5QnVsa0FyY2hpdmVTdWNjZXNzQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuICAgICAgICBjb25zdCBwcm9jZXNzZWRJZHMgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmdbXT4oJ3Byb2Nlc3NlZElkcycpIHx8IFtdO1xuICAgICAgICBjb25zdCBmYWlsZWRJZHMgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmdbXT4oJ2ZhaWxlZElkcycpIHx8IFtdO1xuICAgICAgICBjb25zdCB0b3RhbFByb2Nlc3NlZCA9IGNvbnRleHQuZ2V0T3V0cHV0PG51bWJlcj4oJ3RvdGFsUHJvY2Vzc2VkJykgfHwgMDtcbiAgICAgICAgY29uc3QgdG90YWxGYWlsZWQgPSBjb250ZXh0LmdldE91dHB1dDxudW1iZXI+KCd0b3RhbEZhaWxlZCcpIHx8IDA7XG5cbiAgICAgICAgLy8gRGlzcGF0Y2ggYnVsayBhcmNoaXZlIGV2ZW50XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBFbnRpdHlCdWxrQXJjaGl2ZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkczogcHJvY2Vzc2VkSWRzLFxuICAgICAgICAgICAgICAgIG1ldGE6IHsgZmFpbGVkSWRzLCB0b3RhbFByb2Nlc3NlZCwgdG90YWxGYWlsZWQgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGE6IHsgcmVmcmVzaFR5cGU6ICdidWxrLWFyY2hpdmUnIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUEJ1bGtBcmNoaXZlRW50aXR5V29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnYnVsay1hcmNoaXZlLWVudGl0eScsXG4gICAgc3RlcHM6IHtcbiAgICAgICAgJ2J1bGstYXJjaGl2ZS1lbnRpdHknOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrQXJjaGl2ZUFjdGlvbicsXG4gICAgICAgICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJpc0NhbmNlbGVkXCIpID09IGZhbHNlJyB9XSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ3Nob3ctc3VjY2Vzcy10b2FzdCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgICdzaG93LXN1Y2Nlc3MtdG9hc3QnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBUb2FzdEFjdGlvbicsXG4gICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICd3b3JrZmxvdy5lbnRpdHktYnVsay1hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1idWxrLWFyY2hpdmVkLWJvZHknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdidWxrLWFyY2hpdmUtc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgICdidWxrLWFyY2hpdmUtc3VjY2Vzcyc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtBcmNoaXZlU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityBulkUnarchivedEvent = createWorkFlowEvent('[Entity] Bulk Unarchived');\nexport class AXPEntityBulkUnarchiveAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const data = context.getVariable('data');\n const selectedIds = Array.isArray(data) ? data.map((c) => c.id) : data ? [data.id] : [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and data');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.bulk-restore-archive.confirm.title'), await this.translationService.translateAsync('@general:actions.bulk-restore-archive.confirm.message', {\n params: { count: selectedIds.length }\n }), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.bulk-restore-archive.confirm.processing'),\n mode: 'indeterminate',\n status: `Unarchiving ${selectedIds.length} items...`,\n });\n try {\n const processedIds = [];\n const failedIds = [];\n // Process each selected entity\n for (const id of selectedIds) {\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, id);\n // Prepare unarchive data\n const unarchiveData = this.prepareUnarchiveData(currentData);\n // Update the entity to mark it as not archived\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(unarchiveData);\n processedIds.push(id);\n }\n else {\n failedIds.push(id);\n }\n }\n catch (error) {\n console.error(`Failed to restore entity ${id}:`, error);\n failedIds.push(id);\n }\n }\n context.setOutput('processedIds', processedIds);\n context.setOutput('failedIds', failedIds);\n context.setOutput('isCanceled', false);\n context.setOutput('totalProcessed', processedIds.length);\n context.setOutput('totalFailed', failedIds.length);\n }\n catch (error) {\n console.error('Bulk unarchive operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareUnarchiveData(currentData) {\n const unarchiveData = { ...currentData };\n // Set the archived flag to false\n unarchiveData.isArchived = false;\n // Remove archive timestamp\n delete unarchiveData.archivedAt;\n return unarchiveData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityBulkUnarchiveSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const processedIds = context.getOutput('processedIds') || [];\n const failedIds = context.getOutput('failedIds') || [];\n const totalProcessed = context.getOutput('totalProcessed') || 0;\n const totalFailed = context.getOutput('totalFailed') || 0;\n // Dispatch bulk unarchive event\n this.dispatch(AXPEntityBulkUnarchivedEvent({\n entity: refType,\n ids: processedIds,\n meta: { failedIds, totalProcessed, totalFailed }\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta: { refreshType: 'bulk-unarchive' }\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPBulkUnarchiveEntityWorkflow = {\n startStepId: 'bulk-unarchive-entity',\n steps: {\n 'bulk-unarchive-entity': {\n action: 'AXPEntityBulkUnarchiveAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-bulk-unarchived',\n content: 'workflow.entity-bulk-unarchived-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'bulk-unarchive-success',\n },\n ],\n },\n 'bulk-unarchive-success': {\n action: 'AXPEntityBulkUnarchiveSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1yZXN0b3JlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1yZXN0b3JlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsbUJBQW1CLENBQzNELDBCQUEwQixDQUM3QixDQUFDO0FBR0YsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGlCQUFpQjtJQURuRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0ErRzdEO0lBN0dHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FB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O1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLGlDQUFpQztnQkFDeEMsT0FBTyxFQUFFLHNDQUFzQzthQUNsRDtZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsd0JBQXdCO2lCQUN2QzthQUNKO1NBQ0o7UUFDRCx3QkFBd0IsRUFBRTtZQUN0QixNQUFNLEVBQUUscUNBQXFDO1NBQ2hEO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUmVmcmVzaEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQsIGNyZWF0ZVdvcmtGbG93RXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlCdWxrVW5hcmNoaXZlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBCdWxrIFVuYXJjaGl2ZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgcHJpdmF0ZSBlbnRpdHlSZWdpc3RlcnkgPSBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSBsb2FkaW5nRGlhbG9nID0gaW5qZWN0KEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuICAgICAgICBjb25zdCBkYXRhID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhJyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEubWFwKChjKSA9PiBjLmlkKSA6IGRhdGEgPyBbZGF0YS5pZF0gOiBbXTtcblxuICAgICAgICBpZiAoIXJlZlR5cGUgfHwgc2VsZWN0ZWRJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmVHlwZSBhbmQgZGF0YScpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlEZWZpbml0aW9uID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcblxuICAgICAgICAvLyBTaG93IGNvbmZpcm1hdGlvbiBkaWFsb2dcbiAgICAgICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLXJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLXJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLm1lc3NhZ2UnLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7IGNvdW50OiBzZWxlY3RlZElkcy5sZW5ndGggfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAnd2FybmluZycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstcmVzdG9yZS1hcmNoaXZlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiBgVW5hcmNoaXZpbmcgJHtzZWxlY3RlZElkcy5sZW5ndGh9IGl0ZW1zLi4uYCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlZElkczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGZhaWxlZElkczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICAgICAgLy8gUHJvY2VzcyBlYWNoIHNlbGVjdGVkIGVudGl0eVxuICAgICAgICAgICAgZm9yIChjb25zdCBpZCBvZiBzZWxlY3RlZElkcykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0YSA9IGF3YWl0IHRoaXMuZ2V0RW50aXR5RGF0YShyZWZUeXBlLCBpZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gUHJlcGFyZSB1bmFyY2hpdmUgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCB1bmFyY2hpdmVEYXRhID0gdGhpcy5wcmVwYXJlVW5hcmNoaXZlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBlbnRpdHkgdG8gbWFyayBpdCBhcyBub3QgYXJjaGl2ZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24uY29tbWFuZHM/LnVwZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMudXBkYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVFeGVjKHVuYXJjaGl2ZURhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFpbGVkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHJlc3RvcmUgZW50aXR5ICR7aWR9OmAsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Byb2Nlc3NlZElkcycsIHByb2Nlc3NlZElkcyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZmFpbGVkSWRzJywgZmFpbGVkSWRzKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgZmFsc2UpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3RvdGFsUHJvY2Vzc2VkJywgcHJvY2Vzc2VkSWRzLmxlbmd0aCk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgndG90YWxGYWlsZWQnLCBmYWlsZWRJZHMubGVuZ3RoKTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQnVsayB1bmFyY2hpdmUgb3BlcmF0aW9uIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgbG9hZGluZ0RpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRFbnRpdHlEYXRhKHJlZlR5cGU6IHN0cmluZywgcmVmSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBVc2UgdGhlIGVudGl0eSdzIGJ5S2V5IHF1ZXJ5IHRvIGdldCBhY3R1YWwgZGF0YVxuICAgICAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXM/LmJ5S2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzLmJ5S2V5LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHF1ZXJ5RXhlYyhyZWZJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIGJhc2ljIHN0cnVjdHVyZSBpZiBubyBxdWVyeSBhdmFpbGFibGVcbiAgICAgICAgICAgIHJldHVybiB7IGlkOiByZWZJZCB9O1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlVW5hcmNoaXZlRGF0YShjdXJyZW50RGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgdW5hcmNoaXZlRGF0YSA9IHsgLi4uY3VycmVudERhdGEgfTtcblxuICAgICAgICAvLyBTZXQgdGhlIGFyY2hpdmVkIGZsYWcgdG8gZmFsc2VcbiAgICAgICAgdW5hcmNoaXZlRGF0YS5pc0FyY2hpdmVkID0gZmFsc2U7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGFyY2hpdmUgdGltZXN0YW1wXG4gICAgICAgIGRlbGV0ZSB1bmFyY2hpdmVEYXRhLmFyY2hpdmVkQXQ7XG5cbiAgICAgICAgcmV0dXJuIHVuYXJjaGl2ZURhdGE7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NlZElkcyA9IGNvbnRleHQuZ2V0T3V0cHV0PHN0cmluZ1tdPigncHJvY2Vzc2VkSWRzJykgfHwgW107XG4gICAgICAgIGNvbnN0IGZhaWxlZElkcyA9IGNvbnRleHQuZ2V0T3V0cHV0PHN0cmluZ1tdPignZmFpbGVkSWRzJykgfHwgW107XG4gICAgICAgIGNvbnN0IHRvdGFsUHJvY2Vzc2VkID0gY29udGV4dC5nZXRPdXRwdXQ8bnVtYmVyPigndG90YWxQcm9jZXNzZWQnKSB8fCAwO1xuICAgICAgICBjb25zdCB0b3RhbEZhaWxlZCA9IGNvbnRleHQuZ2V0T3V0cHV0PG51bWJlcj4oJ3RvdGFsRmFpbGVkJykgfHwgMDtcblxuICAgICAgICAvLyBEaXNwYXRjaCBidWxrIHVuYXJjaGl2ZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkczogcHJvY2Vzc2VkSWRzLFxuICAgICAgICAgICAgICAgIG1ldGE6IHsgZmFpbGVkSWRzLCB0b3RhbFByb2Nlc3NlZCwgdG90YWxGYWlsZWQgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGE6IHsgcmVmcmVzaFR5cGU6ICdidWxrLXVuYXJjaGl2ZScgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhQQnVsa1VuYXJjaGl2ZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2J1bGstdW5hcmNoaXZlLWVudGl0eScsXG4gICAgc3RlcHM6IHtcbiAgICAgICAgJ2J1bGstdW5hcmNoaXZlLWVudGl0eSc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtVbmFyY2hpdmVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWJ1bGstdW5hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1idWxrLXVuYXJjaGl2ZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ2J1bGstdW5hcmNoaXZlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYnVsay11bmFyY2hpdmUtc3VjY2Vzcyc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtVbmFyY2hpdmVTdWNjZXNzQWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcbiJdfQ==","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { archivePlugin } from './archive.plugin';\nimport { AXPArchiveEntityWorkflow, AXPEntityArchiveAction, AXPEntityArchiveSuccessAction, AXPUnarchiveEntityWorkflow, AXPEntityUnarchiveAction, AXPEntityUnarchiveSuccessAction, AXPBulkArchiveEntityWorkflow, AXPEntityBulkArchiveAction, AXPEntityBulkArchiveSuccessAction, AXPBulkUnarchiveEntityWorkflow, AXPEntityBulkUnarchiveAction, AXPEntityBulkUnarchiveSuccessAction } from './workflows';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPArchivePluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPArchivePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPArchivePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPArchivePluginModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: archivePlugin },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n AXPEntityArchiveAction,\n AXPEntityArchiveSuccessAction,\n AXPEntityUnarchiveAction,\n AXPEntityUnarchiveSuccessAction,\n AXPEntityBulkArchiveAction,\n AXPEntityBulkArchiveSuccessAction,\n AXPEntityBulkUnarchiveAction,\n AXPEntityBulkUnarchiveSuccessAction,\n },\n workflows: {\n 'archive-entity': AXPArchiveEntityWorkflow,\n 'restore-archive-entity': AXPUnarchiveEntityWorkflow,\n 'bulk-archive-entity': AXPBulkArchiveEntityWorkflow,\n 'bulk-restore-archive-entity': AXPBulkUnarchiveEntityWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPArchivePluginModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityArchiveAction,\n AXPEntityArchiveSuccessAction,\n AXPEntityUnarchiveAction,\n AXPEntityUnarchiveSuccessAction,\n AXPEntityBulkArchiveAction,\n AXPEntityBulkArchiveSuccessAction,\n AXPEntityBulkUnarchiveAction,\n AXPEntityBulkUnarchiveSuccessAction,\n },\n workflows: {\n 'archive-entity': AXPArchiveEntityWorkflow,\n 'restore-archive-entity': AXPUnarchiveEntityWorkflow,\n 'bulk-archive-entity': AXPBulkArchiveEntityWorkflow,\n 'bulk-restore-archive-entity': AXPBulkUnarchiveEntityWorkflow,\n },\n }),\n ],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: archivePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2FyY2hpdmUtcGx1Z2luL2FyY2hpdmUtcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0Qiw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4QiwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLDBCQUEwQixFQUMxQixpQ0FBaUMsRUFDakMsOEJBQThCLEVBQzlCLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDdEMsTUFBTSxhQUFhLENBQUM7OztBQTJCckIsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixhQUpwQjtZQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRTtTQUM5RSxZQXJCRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDTCxzQkFBc0I7b0JBQ3RCLDZCQUE2QjtvQkFDN0Isd0JBQXdCO29CQUN4QiwrQkFBK0I7b0JBQy9CLDBCQUEwQjtvQkFDMUIsaUNBQWlDO29CQUNqQyw0QkFBNEI7b0JBQzVCLG1DQUFtQztpQkFDdEM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLGdCQUFnQixFQUFFLHdCQUF3QjtvQkFDMUMsd0JBQXdCLEVBQUUsMEJBQTBCO29CQUNwRCxxQkFBcUIsRUFBRSw0QkFBNEI7b0JBQ25ELDZCQUE2QixFQUFFLDhCQUE4QjtpQkFDaEU7YUFDSixDQUFDOzsyRkFNRyxzQkFBc0I7a0JBekJsQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3ZCLE9BQU8sRUFBRTtnQ0FDTCxzQkFBc0I7Z0NBQ3RCLDZCQUE2QjtnQ0FDN0Isd0JBQXdCO2dDQUN4QiwrQkFBK0I7Z0NBQy9CLDBCQUEwQjtnQ0FDMUIsaUNBQWlDO2dDQUNqQyw0QkFBNEI7Z0NBQzVCLG1DQUFtQzs2QkFDdEM7NEJBQ0QsU0FBUyxFQUFFO2dDQUNQLGdCQUFnQixFQUFFLHdCQUF3QjtnQ0FDMUMsd0JBQXdCLEVBQUUsMEJBQTBCO2dDQUNwRCxxQkFBcUIsRUFBRSw0QkFBNEI7Z0NBQ25ELDZCQUE2QixFQUFFLDhCQUE4Qjs2QkFDaEU7eUJBQ0osQ0FBQztxQkFDTDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUM5RTtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGFyY2hpdmVQbHVnaW4gfSBmcm9tICcuL2FyY2hpdmUucGx1Z2luJztcbmltcG9ydCB7IFxuICAgIEFYUEFyY2hpdmVFbnRpdHlXb3JrZmxvdywgXG4gICAgQVhQRW50aXR5QXJjaGl2ZUFjdGlvbiwgXG4gICAgQVhQRW50aXR5QXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgQVhQVW5hcmNoaXZlRW50aXR5V29ya2Zsb3csXG4gICAgQVhQRW50aXR5VW5hcmNoaXZlQWN0aW9uLFxuICAgIEFYUEVudGl0eVVuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgQVhQQnVsa0FyY2hpdmVFbnRpdHlXb3JrZmxvdyxcbiAgICBBWFBFbnRpdHlCdWxrQXJjaGl2ZUFjdGlvbixcbiAgICBBWFBFbnRpdHlCdWxrQXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgQVhQQnVsa1VuYXJjaGl2ZUVudGl0eVdvcmtmbG93LFxuICAgIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVBY3Rpb24sXG4gICAgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi93b3JrZmxvd3MnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgICAgICAgYWN0aW9uczoge1xuICAgICAgICAgICAgICAgIEFYUEVudGl0eUFyY2hpdmVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5VW5hcmNoaXZlQWN0aW9uLFxuICAgICAgICAgICAgICAgIEFYUEVudGl0eVVuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QnVsa0FyY2hpdmVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QnVsa0FyY2hpdmVTdWNjZXNzQWN0aW9uLFxuICAgICAgICAgICAgICAgIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICAgICAgICAgJ2FyY2hpdmUtZW50aXR5JzogQVhQQXJjaGl2ZUVudGl0eVdvcmtmbG93LFxuICAgICAgICAgICAgICAgICdyZXN0b3JlLWFyY2hpdmUtZW50aXR5JzogQVhQVW5hcmNoaXZlRW50aXR5V29ya2Zsb3csXG4gICAgICAgICAgICAgICAgJ2J1bGstYXJjaGl2ZS1lbnRpdHknOiBBWFBCdWxrQXJjaGl2ZUVudGl0eVdvcmtmbG93LFxuICAgICAgICAgICAgICAgICdidWxrLXJlc3RvcmUtYXJjaGl2ZS1lbnRpdHknOiBBWFBCdWxrVW5hcmNoaXZlRW50aXR5V29ya2Zsb3csXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBhcmNoaXZlUGx1Z2luIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQXJjaGl2ZVBsdWdpbk1vZHVsZSB7IH1cbiJdfQ==","import { ensureListActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const avatarPlugin = {\n name: 'avatar',\n order: 75,\n apply: (ctx, options) => {\n ensureListActions(ctx);\n const groupId = 'appearance';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.appearance' });\n }\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'avatar')) {\n ctx.properties.add({\n name: 'avatar',\n title: '@general:terms.common.avatar',\n groupId,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Advanced.Avatar,\n options: {},\n },\n },\n validations: [],\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: false },\n inline: { enabled: false },\n },\n },\n });\n }\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'avatar')) {\n next.properties.push({\n name: 'avatar',\n layout: {\n positions: { lg: { colSpan: options?.colSpan ?? 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'avatar')) {\n next.properties.push({\n name: 'avatar',\n layout: {\n positions: { lg: { colSpan: options?.colSpan ?? 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'avatar')) {\n next.properties.push({\n name: 'avatar',\n layout: {\n positions: { lg: { colSpan: options?.colSpan ?? 6 } },\n },\n });\n }\n return next;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hdmF0YXItcGx1Z2luL2F2YXRhci5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQTBCO0lBQ2pELElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDdEIsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkIsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxxQ0FBcUMsRUFBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxHQUFHLENBQUMsVUFB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QU0sRUFBRTt3QkFDTixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsRUFBRTtxQkFDdEQ7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eUFjdGlvblBsdWdpbiwgZW5zdXJlTGlzdEFjdGlvbnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xyXG5pbXBvcnQgeyBBWFBXaWRnZXRzTGlzdCB9IGZyb20gJy4uLy4uL3dpZGdldHMtbmFtZXMtbGlzdCc7XHJcblxyXG5leHBvcnQgY29uc3QgYXZhdGFyUGx1Z2luOiBBWFBFbnRpdHlBY3Rpb25QbHVnaW4gPSB7XHJcbiAgbmFtZTogJ2F2YXRhcicsXHJcbiAgb3JkZXI6IDc1LFxyXG4gIGFwcGx5OiAoY3R4LCBvcHRpb25zKSA9PiB7XHJcbiAgICBlbnN1cmVMaXN0QWN0aW9ucyhjdHgpO1xyXG5cclxuICAgIGNvbnN0IGdyb3VwSWQgPSAnYXBwZWFyYW5jZSc7XHJcbiAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcclxuICAgIGlmICghZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gZ3JvdXBJZCkpIHtcclxuICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pbnRlcmZhY2UuYXBwZWFyYW5jZScgfSBhcyBhbnkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByb3BzID0gY3R4LnByb3BlcnRpZXMubGlzdCgpO1xyXG4gICAgaWYgKCFwcm9wcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2F2YXRhcicpKSB7XHJcbiAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XHJcbiAgICAgICAgbmFtZTogJ2F2YXRhcicsXHJcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24uYXZhdGFyJyxcclxuICAgICAgICBncm91cElkLFxyXG4gICAgICAgIHNjaGVtYToge1xyXG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XHJcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkFkdmFuY2VkLkF2YXRhcixcclxuICAgICAgICAgICAgb3B0aW9uczoge30sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtdLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogZmFsc2UgfSxcclxuICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICBhZHZhbmNlOiB7IGVuYWJsZWQ6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgIGlubGluZTogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgY3R4LmludGVyZmFjZXMubWFzdGVyLmNyZWF0ZS51cGRhdGUoKGNyZWF0ZSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXh0ID0gY3JlYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xyXG4gICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcclxuICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCB9KTtcclxuICAgICAgfVxyXG4gICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XHJcbiAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnYXZhdGFyJykpIHtcclxuICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiAnYXZhdGFyJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3Bhbjogb3B0aW9ucz8uY29sU3BhbiA/PyA2IH0gfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5leHQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgodXBkYXRlKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5leHQgPSB1cGRhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdhdmF0YXInKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdhdmF0YXInLFxyXG4gICAgICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiBvcHRpb25zPy5jb2xTcGFuID8/IDYgfSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dDtcclxuICAgIH0pO1xyXG5cclxuICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5zaW5nbGUudXBkYXRlKChzaW5nbGUpID0+IHtcclxuICAgICAgY29uc3QgbmV4dCA9IHNpbmdsZSA/PyB7IHRpdGxlOiBjdHguZW50aXR5LnRpdGxlLCBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdhdmF0YXInKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdhdmF0YXInLFxyXG4gICAgICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiBvcHRpb25zPy5jb2xTcGFuID8/IDYgfSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dDtcclxuICAgIH0pO1xyXG4gIH0sXHJcbn07XHJcbiJdfQ==","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { avatarPlugin } from './avatar.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPAvatarPluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPAvatarPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPAvatarPluginModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPAvatarPluginModule, providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: avatarPlugin }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPAvatarPluginModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [],\n exports: [],\n providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: avatarPlugin }],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLXBsdWdpbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXZhdGFyLXBsdWdpbi9hdmF0YXItcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFRL0MsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUI7K0dBQXJCLHFCQUFxQixhQUZyQixDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDOzsyRkFFNUUscUJBQXFCO2tCQU5qQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQztpQkFDeEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhdmF0YXJQbHVnaW4gfSBmcm9tICcuL2F2YXRhci5wbHVnaW4nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGF2YXRhclBsdWdpbiB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUEF2YXRhclBsdWdpbk1vZHVsZSB7fVxyXG4iXX0=","import { AXPWidgetsList } from '../../widgets-names-list';\nexport const categoryPlugin = {\n name: 'category',\n order: 45,\n apply: (ctx, options) => {\n const moduleName = ctx.entity.module;\n const baseEntityName = ctx.entity.name;\n const categoryEntityName = `${baseEntityName}Category`;\n const propertyName = options?.propertyName?.trim()?.length ? options.propertyName : 'categoryIds';\n const allowMultiple = options?.allowMultiple ?? true;\n const enableAppearance = options?.enableAppearance ?? false;\n const enableMetaDataSelector = options?.enableMetaDataSelector ?? false;\n // Ensure group exists (prefer basic-info)\n const groups = ctx.groups.list() ?? [];\n const hasBasic = groups.some((g) => g.id === 'basic-info');\n if (!hasBasic) {\n ctx.groups.add({ id: 'basic-info', title: '@general:terms.interface.basic-info' });\n }\n ctx.columns.add({ name: 'categoryIds', options: { dataPath: 'categories' } });\n // Ensure property exists\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === propertyName)) {\n ctx.properties.add({\n name: propertyName,\n title: '@general:terms.classification.categories',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${moduleName}.${categoryEntityName}`,\n multiple: allowMultiple,\n expose: [\n { source: 'id', target: 'categories.{id}' },\n { source: 'title', target: 'categories.{title}' },\n ],\n },\n },\n },\n });\n }\n // Ensure category sidebar/filter block\n ctx.category.update((cat) => {\n return {\n entity: `${moduleName}.${categoryEntityName}`,\n title: '@general:terms.classification.categories',\n textField: 'title',\n valueField: 'id',\n applyConditions: [\n {\n name: propertyName,\n operator: { type: 'contains' },\n value: 'id',\n },\n ],\n };\n });\n // Ensure layout includes property in create/modify/single\n const ensureLayoutProperty = (layout) => {\n layout.sections = layout.sections ?? [];\n if (!layout.sections.some((s) => s.id === 'basic-info')) {\n layout.sections.push({ id: 'basic-info' });\n }\n layout.properties = layout.properties ?? [];\n if (!layout.properties.some((p) => p.name === propertyName)) {\n layout.properties.push({\n name: propertyName,\n layout: {\n positions: { lg: { colSpan: 12, order: 12 } },\n },\n });\n }\n return layout;\n };\n ctx.interfaces.master.create.update((create) => ensureLayoutProperty(create ?? { sections: [], properties: [] }));\n ctx.interfaces.master.modify.update((modify) => ensureLayoutProperty(modify ?? { sections: [], properties: [] }));\n ctx.interfaces.master.single.update((single) => ensureLayoutProperty(single ?? { title: ctx.entity.title, sections: [], properties: [] }));\n // Mark extension for dynamic category entity generation\n ctx.entity.extensions ??= {};\n ctx.entity.extensions.category = {\n entity: `${moduleName}.${categoryEntityName}`,\n propertyName,\n allowMultiple,\n enableAppearance,\n enableMetaDataSelector,\n };\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbi9jYXRlZ29yeS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBUzFELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBMEI7SUFDakQsSUFBSSxFQUFFLFVBQVU7SUFDaEIsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBa0MsRUFBRSxFQUFFO1FBQy9DLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxjQUFjLFVBQVUsQ0FBQztRQUV2RCxNQUFNLFlBQVksR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQ2xHLE1BQU0sYUFBYSxHQUFHLE9BQU8sRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDO1FBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxFQUFFLGdCQUFnQixJQUFJLEtBQUssQ0FBQztRQUM1RCxNQUFNLHNCQUFzQixHQUFHLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxLQUFLLENBQUM7UUFDeEUsMENBQTBDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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QUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBDYXRlZ29yeVBsdWdpbk9wdGlvbnMge1xuICAgIHByb3BlcnR5TmFtZT86IHN0cmluZzsgLy8gZGVmYXVsdDogY2F0ZWdvcnlJZHNcbiAgICBhbGxvd011bHRpcGxlPzogYm9vbGVhbjsgLy8gZGVmYXVsdDogdHJ1ZVxuICAgIGVuYWJsZUFwcGVhcmFuY2U/OiBib29sZWFuOyAvLyBkZWZhdWx0OiBmYWxzZVxuICAgIGVuYWJsZU1ldGFEYXRhU2VsZWN0b3I/OiBib29sZWFuOyAvLyBkZWZhdWx0OiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgY2F0ZWdvcnlQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnY2F0ZWdvcnknLFxuICAgIG9yZGVyOiA0NSxcbiAgICBhcHBseTogKGN0eCwgb3B0aW9ucz86IEFYUENhdGVnb3J5UGx1Z2luT3B0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gY3R4LmVudGl0eS5tb2R1bGU7XG4gICAgICAgIGNvbnN0IGJhc2VFbnRpdHlOYW1lID0gY3R4LmVudGl0eS5uYW1lO1xuICAgICAgICBjb25zdCBjYXRlZ29yeUVudGl0eU5hbWUgPSBgJHtiYXNlRW50aXR5TmFtZX1DYXRlZ29yeWA7XG5cbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lID0gb3B0aW9ucz8ucHJvcGVydHlOYW1lPy50cmltKCk/Lmxlbmd0aCA/IG9wdGlvbnMucHJvcGVydHlOYW1lIDogJ2NhdGVnb3J5SWRzJztcbiAgICAgICAgY29uc3QgYWxsb3dNdWx0aXBsZSA9IG9wdGlvbnM/LmFsbG93TXVsdGlwbGUgPz8gdHJ1ZTtcbiAgICAgICAgY29uc3QgZW5hYmxlQXBwZWFyYW5jZSA9IG9wdGlvbnM/LmVuYWJsZUFwcGVhcmFuY2UgPz8gZmFsc2U7XG4gICAgICAgIGNvbnN0IGVuYWJsZU1ldGFEYXRhU2VsZWN0b3IgPSBvcHRpb25zPy5lbmFibGVNZXRhRGF0YVNlbGVjdG9yID8/IGZhbHNlO1xuICAgICAgICAvLyBFbnN1cmUgZ3JvdXAgZXhpc3RzIChwcmVmZXIgYmFzaWMtaW5mbylcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICAgIGNvbnN0IGhhc0Jhc2ljID0gZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gJ2Jhc2ljLWluZm8nKTtcbiAgICAgICAgaWYgKCFoYXNCYXNpYykge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogJ2Jhc2ljLWluZm8nLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmludGVyZmFjZS5iYXNpYy1pbmZvJyB9IGFzIGFueSk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGN0eC5jb2x1bW5zLmFkZCh7IG5hbWU6ICdjYXRlZ29yeUlkcycsIG9wdGlvbnM6IHsgZGF0YVBhdGg6ICdjYXRlZ29yaWVzJyB9IH0pO1xuXG4gICAgICAgIC8vIEVuc3VyZSBwcm9wZXJ0eSBleGlzdHNcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogcHJvcGVydHlOYW1lLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2xhc3NpZmljYXRpb24uY2F0ZWdvcmllcycsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZDogJ2Jhc2ljLWluZm8nLFxuICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5Mb29rdXBCb3gsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBgJHttb2R1bGVOYW1lfS4ke2NhdGVnb3J5RW50aXR5TmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlOiBhbGxvd011bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9zZTogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ2lkJywgdGFyZ2V0OiAnY2F0ZWdvcmllcy57aWR9JyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ3RpdGxlJywgdGFyZ2V0OiAnY2F0ZWdvcmllcy57dGl0bGV9JyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9IGFzIGFueSk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEVuc3VyZSBjYXRlZ29yeSBzaWRlYmFyL2ZpbHRlciBibG9ja1xuICAgICAgICBjdHguY2F0ZWdvcnkudXBkYXRlKChjYXQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZW50aXR5OiBgJHttb2R1bGVOYW1lfS4ke2NhdGVnb3J5RW50aXR5TmFtZX1gLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2xhc3NpZmljYXRpb24uY2F0ZWdvcmllcycsXG4gICAgICAgICAgICAgICAgdGV4dEZpZWxkOiAndGl0bGUnLFxuICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXG4gICAgICAgICAgICAgICAgYXBwbHlDb25kaXRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHByb3BlcnR5TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdjb250YWlucycgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnaWQnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBFbnN1cmUgbGF5b3V0IGluY2x1ZGVzIHByb3BlcnR5IGluIGNyZWF0ZS9tb2RpZnkvc2luZ2xlXG4gICAgICAgIGNvbnN0IGVuc3VyZUxheW91dFByb3BlcnR5ID0gKGxheW91dDogYW55KSA9PiB7XG4gICAgICAgICAgICBsYXlvdXQuc2VjdGlvbnMgPSBsYXlvdXQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIWxheW91dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09ICdiYXNpYy1pbmZvJykpIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQuc2VjdGlvbnMucHVzaCh7IGlkOiAnYmFzaWMtaW5mbycgfSk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgbGF5b3V0LnByb3BlcnRpZXMgPSBsYXlvdXQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbGF5b3V0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcHJvcGVydHlOYW1lLFxuICAgICAgICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDEyIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICByZXR1cm4gbGF5b3V0O1xuICAgICAgICB9O1xuXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5jcmVhdGUudXBkYXRlKChjcmVhdGUpID0+IGVuc3VyZUxheW91dFByb3BlcnR5KGNyZWF0ZSA/PyB7IHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfSkpO1xuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgobW9kaWZ5KSA9PiBlbnN1cmVMYXlvdXRQcm9wZXJ0eShtb2RpZnkgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH0pKTtcbiAgICAgICAgY3R4LmludGVyZmFjZXMubWFzdGVyLnNpbmdsZS51cGRhdGUoKHNpbmdsZSkgPT4gZW5zdXJlTGF5b3V0UHJvcGVydHkoc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfSkpO1xuXG4gICAgICAgIC8vIE1hcmsgZXh0ZW5zaW9uIGZvciBkeW5hbWljIGNhdGVnb3J5IGVudGl0eSBnZW5lcmF0aW9uXG4gICAgICAgIChjdHguZW50aXR5IGFzIGFueSkuZXh0ZW5zaW9ucyA/Pz0ge307XG4gICAgICAgIChjdHguZW50aXR5IGFzIGFueSkuZXh0ZW5zaW9ucy5jYXRlZ29yeSA9IHtcbiAgICAgICAgICAgIGVudGl0eTogYCR7bW9kdWxlTmFtZX0uJHtjYXRlZ29yeUVudGl0eU5hbWV9YCxcbiAgICAgICAgICAgIHByb3BlcnR5TmFtZSxcbiAgICAgICAgICAgIGFsbG93TXVsdGlwbGUsXG4gICAgICAgICAgICBlbmFibGVBcHBlYXJhbmNlLFxuICAgICAgICAgICAgZW5hYmxlTWV0YURhdGFTZWxlY3RvcixcbiAgICAgICAgfTtcbiAgICB9LFxufTtcblxuXG4iXX0=","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPEntityDefinitionRegistryService, } from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { AXMEntityCrudServiceImpl, entityMasterCrudActions, entityMasterDeleteAction } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nimport * as i0 from \"@angular/core\";\nexport class AXMEntityCategoryProvider {\n constructor() {\n this.injector = inject(Injector);\n }\n preload() {\n return [];\n }\n async get(moduleName, entityName) {\n // Generic per-entity Category provider (works for any module)\n if (entityName.endsWith('Category')) {\n const fullKey = `${moduleName}.${entityName}`;\n const dataService = runInInjectionContext(this.injector, () => new AXMEntityCrudServiceImpl(fullKey));\n // Check if base entity has appearance enabled using lazy injection\n const baseEntityName = entityName.replace('Category', '');\n let enableAppearance = false;\n let enableMetaDataSelector = false;\n try {\n // Use lazy injection to avoid circular dependency\n const entityRegistry = runInInjectionContext(this.injector, () => {\n try {\n return inject(AXPEntityDefinitionRegistryService);\n }\n catch {\n return null;\n }\n });\n if (entityRegistry) {\n try {\n const baseEntity = await entityRegistry.resolve(moduleName, baseEntityName);\n if (baseEntity?.extensions?.category?.enableAppearance) {\n enableAppearance = true;\n }\n if (baseEntity?.extensions?.category?.enableMetaDataSelector) {\n enableMetaDataSelector = true;\n }\n }\n catch (error) {\n // Base entity not found or error loading, continue with default behavior\n console.warn(`Could not load base entity ${moduleName}.${baseEntityName} to check category plugin configuration:`, error);\n }\n }\n }\n catch (error) {\n // Registry not available, continue with default behavior\n console.warn(`Entity registry not available, using default category configuration:`, error);\n }\n const entityDef = {\n module: moduleName,\n name: entityName,\n parentKey: 'parentId',\n plugins: [\n // { name: 'lock' },\n // { name: 'compare' },\n ...(enableMetaDataSelector ? [{ name: 'meta-data-selector' }] : []),\n ],\n title: '@general:terms.classification.category',\n formats: {\n individual: '@general:terms.classification.category',\n plural: '@general:terms.classification.categories',\n searchResult: {\n title: '{{ title }}',\n description: '{{ module }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n ...(enableAppearance ? [{ id: 'appearance', title: '@general:terms.interface.appearance' }] : []),\n ],\n properties: [\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'parentId',\n title: '@general:terms.classification.parent',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: { entity: `${moduleName}.${entityName}` },\n },\n },\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.largeText } },\n },\n // Appearance properties (only if enabled)\n ...(enableAppearance ? [\n {\n name: 'color',\n title: '@general:terms.common.color',\n groupId: 'appearance',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Theme.ThemeColorChooser,\n options: {},\n },\n },\n },\n {\n name: 'icon',\n title: '@general:terms.common.icon',\n groupId: 'appearance',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Theme.IconChooser,\n options: {},\n },\n },\n },\n ] : []),\n ],\n columns: [{ name: 'title' }, { name: 'description' }],\n commands: {\n create: { execute: async (data) => ({ id: await dataService.insertOne(data) }) },\n delete: { execute: async (id) => dataService.deleteOne(id) },\n update: { execute: async (data) => dataService.updateOne(data.id, data) },\n },\n queries: {\n byKey: { execute: async (id) => dataService.getOne(id), type: AXPEntityQueryType.Single },\n list: {\n execute: async (e) => {\n const res = await dataService.query(e);\n // enrich hasChild for tree views if childCount is available\n return {\n items: res.items.map((item) => ({ ...item, hasChild: (item.childCount ?? 0) > 0 })),\n total: res.total,\n };\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basic-info' },\n ...(enableAppearance ? [{ id: 'appearance' }] : []),\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n // Appearance properties (only if enabled)\n ...(enableAppearance ? [\n { name: 'color', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'icon', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n ] : []),\n ],\n },\n update: {\n sections: [\n { id: 'basic-info' },\n ...(enableAppearance ? [{ id: 'appearance' }] : []),\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n // Appearance properties (only if enabled)\n ...(enableAppearance ? [\n { name: 'color', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'icon', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n ] : []),\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n ...(enableAppearance ? [{ id: 'appearance', layout: { positions: { lg: { colSpan: 12 } } } }] : []),\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n // Appearance properties (only if enabled)\n ...(enableAppearance ? [\n { name: 'color', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'icon', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n ] : []),\n ],\n actions: [entityMasterDeleteAction()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n }\n return null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMEntityCategoryProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMEntityCategoryProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMEntityCategoryProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbi9lbnRpdHkucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUYsT0FBTyxFQUlMLGtDQUFrQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRzFELE1BQU0sT0FBTyx5QkFBeUI7SUFEdEM7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBbU5yQztJQWpOUSxPQUFPO1FBQ1osT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzlDLDhEQUE4RDtRQUM5RCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE9BQU8sR0FBRyxHQUFHLFVBQVUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM5QyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksd0JBQXdCLENBQVcsT0FBTyxDQUFDLENBQUMsQ0FB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QUVGLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBbk5VLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlRdWVyeVR5cGUsIGNyZWF0ZUFsbFF1ZXJ5VmlldyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eURlZmluaXRpb25Mb2FkZXIsXG4gIEFYUEVudGl0eURlZmluaXRpb25QcmVsb2FkZXIsXG4gIEFYUEVudGl0eVByZWxvYWRFbnRpdHksXG4gIEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsLCBlbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucywgZW50aXR5TWFzdGVyRGVsZXRlQWN0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUVudGl0eUNhdGVnb3J5UHJvdmlkZXIgaW1wbGVtZW50cyBBWFBFbnRpdHlEZWZpbml0aW9uTG9hZGVyLCBBWFBFbnRpdHlEZWZpbml0aW9uUHJlbG9hZGVyIHtcbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHVibGljIHByZWxvYWQoKTogQVhQRW50aXR5UHJlbG9hZEVudGl0eVtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBhc3luYyBnZXQobW9kdWxlTmFtZTogc3RyaW5nLCBlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgICAvLyBHZW5lcmljIHBlci1lbnRpdHkgQ2F0ZWdvcnkgcHJvdmlkZXIgKHdvcmtzIGZvciBhbnkgbW9kdWxlKVxuICAgIGlmIChlbnRpdHlOYW1lLmVuZHNXaXRoKCdDYXRlZ29yeScpKSB7XG4gICAgICBjb25zdCBmdWxsS2V5ID0gYCR7bW9kdWxlTmFtZX0uJHtlbnRpdHlOYW1lfWA7XG4gICAgICBjb25zdCBkYXRhU2VydmljZSA9IHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiBuZXcgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPGFueSwgYW55PihmdWxsS2V5KSk7XG5cbiAgICAgIC8vIENoZWNrIGlmIGJhc2UgZW50aXR5IGhhcyBhcHBlYXJhbmNlIGVuYWJsZWQgdXNpbmcgbGF6eSBpbmplY3Rpb25cbiAgICAgIGNvbnN0IGJhc2VFbnRpdHlOYW1lID0gZW50aXR5TmFtZS5yZXBsYWNlKCdDYXRlZ29yeScsICcnKTtcbiAgICAgIGxldCBlbmFibGVBcHBlYXJhbmNlID0gZmFsc2U7XG4gICAgICBsZXQgZW5hYmxlTWV0YURhdGFTZWxlY3RvciA9IGZhbHNlO1xuXG4gICAgICB0cnkge1xuICAgICAgICAvLyBVc2UgbGF6eSBpbmplY3Rpb24gdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeVxuICAgICAgICBjb25zdCBlbnRpdHlSZWdpc3RyeSA9IHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChlbnRpdHlSZWdpc3RyeSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlRW50aXR5ID0gYXdhaXQgZW50aXR5UmVnaXN0cnkucmVzb2x2ZShtb2R1bGVOYW1lLCBiYXNlRW50aXR5TmFtZSk7XG4gICAgICAgICAgICBpZiAoKGJhc2VFbnRpdHkgYXMgYW55KT8uZXh0ZW5zaW9ucz8uY2F0ZWdvcnk/LmVuYWJsZUFwcGVhcmFuY2UpIHtcbiAgICAgICAgICAgICAgZW5hYmxlQXBwZWFyYW5jZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKGJhc2VFbnRpdHkgYXMgYW55KT8uZXh0ZW5zaW9ucz8uY2F0ZWdvcnk/LmVuYWJsZU1ldGFEYXRhU2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgZW5hYmxlTWV0YURhdGFTZWxlY3RvciA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIEJhc2UgZW50aXR5IG5vdCBmb3VuZCBvciBlcnJvciBsb2FkaW5nLCBjb250aW51ZSB3aXRoIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgQ291bGQgbm90IGxvYWQgYmFzZSBlbnRpdHkgJHttb2R1bGVOYW1lfS4ke2Jhc2VFbnRpdHlOYW1lfSB0byBjaGVjayBjYXRlZ29yeSBwbHVnaW4gY29uZmlndXJhdGlvbjpgLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBSZWdpc3RyeSBub3QgYXZhaWxhYmxlLCBjb250aW51ZSB3aXRoIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgICAgY29uc29sZS53YXJuKGBFbnRpdHkgcmVnaXN0cnkgbm90IGF2YWlsYWJsZSwgdXNpbmcgZGVmYXVsdCBjYXRlZ29yeSBjb25maWd1cmF0aW9uOmAsIGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgICAgIG1vZHVsZTogbW9kdWxlTmFtZSxcbiAgICAgICAgbmFtZTogZW50aXR5TmFtZSxcbiAgICAgICAgcGFyZW50S2V5OiAncGFyZW50SWQnLFxuICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgLy8geyBuYW1lOiAnbG9jaycgfSxcbiAgICAgICAgICAvLyB7IG5hbWU6ICdjb21wYXJlJyB9LFxuICAgICAgICAgIC4uLihlbmFibGVNZXRhRGF0YVNlbGVjdG9yID8gW3sgbmFtZTogJ21ldGEtZGF0YS1zZWxlY3RvcicgfV0gOiBbXSksXG4gICAgICAgIF0sXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2xhc3NpZmljYXRpb24uY2F0ZWdvcnknLFxuICAgICAgICBmb3JtYXRzOiB7XG4gICAgICAgICAgaW5kaXZpZHVhbDogJ0BnZW5lcmFsOnRlcm1zLmNsYXNzaWZpY2F0aW9uLmNhdGVnb3J5JyxcbiAgICAgICAgICBwbHVyYWw6ICdAZ2VuZXJhbDp0ZXJtcy5jbGFzc2lmaWNhdGlvbi5jYXRlZ29yaWVzJyxcbiAgICAgICAgICBzZWFyY2hSZXN1bHQ6IHtcbiAgICAgICAgICAgIHRpdGxlOiAne3sgdGl0bGUgfX0nLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICd7eyBtb2R1bGUgfX0nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgICAgIGdyb3VwczogW1xuICAgICAgICAgIHsgaWQ6ICdiYXNpYy1pbmZvJywgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pbnRlcmZhY2UuYmFzaWMtaW5mbycgfSxcbiAgICAgICAgICAuLi4oZW5hYmxlQXBwZWFyYW5jZSA/IFt7IGlkOiAnYXBwZWFyYW5jZScsIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuaW50ZXJmYWNlLmFwcGVhcmFuY2UnIH1dIDogW10pLFxuICAgICAgICBdLFxuICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLnRpdGxlJyxcbiAgICAgICAgICAgIGdyb3VwSWQ6ICdiYXNpYy1pbmZvJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgc29ydDogeyBlbmFibGVkOiB0cnVlIH0sXG4gICAgICAgICAgICAgIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSwgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNjaGVtYTogeyBkYXRhVHlwZTogJ3N0cmluZycsIGludGVyZmFjZTogeyB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0IH0gfSxcbiAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbeyBydWxlOiAncmVxdWlyZWQnIH1dLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3BhcmVudElkJyxcbiAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2xhc3NpZmljYXRpb24ucGFyZW50JyxcbiAgICAgICAgICAgIGdyb3VwSWQ6ICdiYXNpYy1pbmZvJyxcbiAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuTG9va3VwQm94LFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHsgZW50aXR5OiBgJHttb2R1bGVOYW1lfS4ke2VudGl0eU5hbWV9YCB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdkZXNjcmlwdGlvbicsXG4gICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5kZXNjcmlwdGlvbicsXG4gICAgICAgICAgICBncm91cElkOiAnYmFzaWMtaW5mbycsXG4gICAgICAgICAgICBzY2hlbWE6IHsgZGF0YVR5cGU6ICdzdHJpbmcnLCBpbnRlcmZhY2U6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cubGFyZ2VUZXh0IH0gfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIEFwcGVhcmFuY2UgcHJvcGVydGllcyAob25seSBpZiBlbmFibGVkKVxuICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnY29sb3InLFxuICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5jb2xvcicsXG4gICAgICAgICAgICAgIGdyb3VwSWQ6ICdhcHBlYXJhbmNlJyxcbiAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuVGhlbWUuVGhlbWVDb2xvckNob29zZXIsXG4gICAgICAgICAgICAgICAgICBvcHRpb25zOiB7fSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2ljb24nLFxuICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5pY29uJyxcbiAgICAgICAgICAgICAgZ3JvdXBJZDogJ2FwcGVhcmFuY2UnLFxuICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5UaGVtZS5JY29uQ2hvb3NlcixcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0gOiBbXSksXG4gICAgICAgIF0sXG4gICAgICAgIGNvbHVtbnM6IFt7IG5hbWU6ICd0aXRsZScgfSwgeyBuYW1lOiAnZGVzY3JpcHRpb24nIH1dLFxuICAgICAgICBjb21tYW5kczoge1xuICAgICAgICAgIGNyZWF0ZTogeyBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiAoeyBpZDogYXdhaXQgZGF0YVNlcnZpY2UuaW5zZXJ0T25lKGRhdGEpIH0pIH0sXG4gICAgICAgICAgZGVsZXRlOiB7IGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpIH0sXG4gICAgICAgICAgdXBkYXRlOiB7IGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IGRhdGFTZXJ2aWNlLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKSB9LFxuICAgICAgICB9LFxuICAgICAgICBxdWVyaWVzOiB7XG4gICAgICAgICAgYnlLZXk6IHsgZXhlY3V0ZTogYXN5bmMgKGlkOiBzdHJpbmcpID0+IGRhdGFTZXJ2aWNlLmdldE9uZShpZCksIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUgfSxcbiAgICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgICBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KGUpO1xuICAgICAgICAgICAgICAvLyBlbnJpY2ggaGFzQ2hpbGQgZm9yIHRyZWUgdmlld3MgaWYgY2hpbGRDb3VudCBpcyBhdmFpbGFibGVcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpdGVtczogcmVzLml0ZW1zLm1hcCgoaXRlbTogYW55KSA9PiAoeyAuLi5pdGVtLCBoYXNDaGlsZDogKGl0ZW0uY2hpbGRDb3VudCA/PyAwKSA+IDAgfSkpLFxuICAgICAgICAgICAgICAgIHRvdGFsOiByZXMudG90YWwsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLkxpc3QsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgaW50ZXJmYWNlczoge1xuICAgICAgICAgIG1hc3Rlcjoge1xuICAgICAgICAgICAgY3JlYXRlOiB7XG4gICAgICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgeyBpZDogJ2Jhc2ljLWluZm8nIH0sXG4gICAgICAgICAgICAgICAgLi4uKGVuYWJsZUFwcGVhcmFuY2UgPyBbeyBpZDogJ2FwcGVhcmFuY2UnIH1dIDogW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMSB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3BhcmVudElkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDIgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAzIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgLy8gQXBwZWFyYW5jZSBwcm9wZXJ0aWVzIChvbmx5IGlmIGVuYWJsZWQpXG4gICAgICAgICAgICAgICAgLi4uKGVuYWJsZUFwcGVhcmFuY2UgPyBbXG4gICAgICAgICAgICAgICAgICB7IG5hbWU6ICdjb2xvcicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA0IH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgICB7IG5hbWU6ICdpY29uJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDUgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICBdIDogW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgaWQ6ICdiYXNpYy1pbmZvJyB9LFxuICAgICAgICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW3sgaWQ6ICdhcHBlYXJhbmNlJyB9XSA6IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDEgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdwYXJlbnRJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAyIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMyB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIC8vIEFwcGVhcmFuY2UgcHJvcGVydGllcyAob25seSBpZiBlbmFibGVkKVxuICAgICAgICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW1xuICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnY29sb3InLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogNCB9IH0gfSB9LFxuICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnaWNvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA1IH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgXSA6IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgaWQ6ICdiYXNpYy1pbmZvJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW3sgaWQ6ICdhcHBlYXJhbmNlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiB9IH0gfSB9XSA6IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDEgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdwYXJlbnRJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAyIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMyB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIC8vIEFwcGVhcmFuY2UgcHJvcGVydGllcyAob25seSBpZiBlbmFibGVkKVxuICAgICAgICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW1xuICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnY29sb3InLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogNCB9IH0gfSB9LFxuICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnaWNvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA1IH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgXSA6IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogW2VudGl0eU1hc3RlckRlbGV0ZUFjdGlvbigpXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucygpXSxcbiAgICAgICAgICAgICAgdmlld3M6IFtjcmVhdGVBbGxRdWVyeVZpZXcoeyBzb3J0czogW3sgbmFtZTogJ3RpdGxlJywgZGlyOiAnYXNjJyB9XSB9KV0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gZW50aXR5RGVmO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { categoryPlugin } from './category.plugin';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXMEntityCategoryProvider } from './entity.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXPCategoryModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCategoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCategoryModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCategoryModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: categoryPlugin },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n multi: true,\n useFactory: () => {\n const provider = {\n define: async (context) => {\n // Generate permissions for any entity that declared category extension\n // We can’t scan registry here reliably at bootstrap; rely on generic pattern per module via wildcard\n // Consumers can still override with module-level providers.\n // No-op here; permissions will be added when category entity is resolved via provideEntity elsewhere if needed.\n },\n };\n return provider;\n },\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityCategoryProvider,\n multi: true,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCategoryModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: categoryPlugin },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n multi: true,\n useFactory: () => {\n const provider = {\n define: async (context) => {\n // Generate permissions for any entity that declared category extension\n // We can’t scan registry here reliably at bootstrap; rely on generic pattern per module via wildcard\n // Consumers can still override with module-level providers.\n // No-op here; permissions will be added when category entity is resolved via provideEntity elsewhere if needed.\n },\n };\n return provider;\n },\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityCategoryProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbi9jYXRlZ29yeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtDQUFrQyxFQUFtQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQTJCOUQsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixhQXhCZjtZQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTtZQUM1RTtnQkFDSSxPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxLQUFLLEVBQUUsSUFBSTtnQkFDWCxVQUFVLEVBQUUsR0FBRyxFQUFFO29CQUNiLE1BQU0sUUFBUSxHQUFvQzt3QkFDOUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTs0QkFDdEIsdUVBQXVFOzRCQUN2RSxxR0FBcUc7NEJBQ3JHLDREQUE0RDs0QkFDNUQsZ0hBQWdIO3dCQUNwSCxDQUFDO3FCQUNKLENBQUM7b0JBQ0YsT0FBTyxRQUFRLENBQUM7Z0JBQ3BCLENBQUM7YUFDSjtZQUNEO2dCQUNJLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSjs7MkZBRVEsaUJBQWlCO2tCQXpCN0IsUUFBUTttQkFBQztvQkFDTixTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFO3dCQUM1RTs0QkFDSSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTs0QkFDWCxVQUFVLEVBQUUsR0FBRyxFQUFFO2dDQUNiLE1BQU0sUUFBUSxHQUFvQztvQ0FDOUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTt3Q0FDdEIsdUVBQXVFO3dDQUN2RSxxR0FBcUc7d0NBQ3JHLDREQUE0RDt3Q0FDNUQsZ0hBQWdIO29DQUNwSCxDQUFDO2lDQUNKLENBQUM7Z0NBQ0YsT0FBTyxRQUFRLENBQUM7NEJBQ3BCLENBQUM7eUJBQ0o7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsUUFBUSxFQUFFLHlCQUF5Qjs0QkFDbkMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgY2F0ZWdvcnlQbHVnaW4gfSBmcm9tICcuL2NhdGVnb3J5LnBsdWdpbic7XG5pbXBvcnQgeyBBWFBfUEVSTUlTU0lPTl9ERUZJTklUSU9OX1BST1ZJREVSLCBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYTUVudGl0eUNhdGVnb3J5UHJvdmlkZXIgfSBmcm9tICcuL2VudGl0eS5wcm92aWRlcic7XG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGNhdGVnb3J5UGx1Z2luIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFYUF9QRVJNSVNTSU9OX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm92aWRlcjogQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciA9IHtcbiAgICAgICAgICAgICAgICAgICAgZGVmaW5lOiBhc3luYyAoY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gR2VuZXJhdGUgcGVybWlzc2lvbnMgZm9yIGFueSBlbnRpdHkgdGhhdCBkZWNsYXJlZCBjYXRlZ29yeSBleHRlbnNpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGNhbuKAmXQgc2NhbiByZWdpc3RyeSBoZXJlIHJlbGlhYmx5IGF0IGJvb3RzdHJhcDsgcmVseSBvbiBnZW5lcmljIHBhdHRlcm4gcGVyIG1vZHVsZSB2aWEgd2lsZGNhcmRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnN1bWVycyBjYW4gc3RpbGwgb3ZlcnJpZGUgd2l0aCBtb2R1bGUtbGV2ZWwgcHJvdmlkZXJzLlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm8tb3AgaGVyZTsgcGVybWlzc2lvbnMgd2lsbCBiZSBhZGRlZCB3aGVuIGNhdGVnb3J5IGVudGl0eSBpcyByZXNvbHZlZCB2aWEgcHJvdmlkZUVudGl0eSBlbHNld2hlcmUgaWYgbmVlZGVkLlxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3ZpZGVyO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBBWE1FbnRpdHlDYXRlZ29yeVByb3ZpZGVyLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ2F0ZWdvcnlNb2R1bGUgeyB9XG5cblxuIl19","import { AXPEntityCommandScope } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nexport const clonePlugin = {\n name: 'clone',\n order: 60,\n apply: (ctx) => {\n ensureListActions(ctx);\n ctx.interfaces.update((i) => {\n const cmdName = 'clone-entity';\n // Add clone action to list view\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, cmdName)) {\n listActions.push({\n title: '@general:actions.clone.title',\n command: {\n name: cmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'copy',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n // Add clone action to single view\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, cmdName)) {\n singleActions.push({\n title: '@general:actions.clone.title',\n command: {\n name: cmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'copy',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n return i;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2Nsb25lLXBsdWdpbi9jbG9uZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBeUIsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEcsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUEwQjtJQUM5QyxJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDWCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQztZQUUvQixnQ0FBZ0M7WUFDaEMsTUFBTSxXQUFXLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEIsQ0FBQztZQUN4RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSw4QkFBOEI7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsTUFBTTtvQkFDWixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELGtDQUFrQztZQUNsQyxNQUFNLGFBQWEsR0FBSSxDQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUE0QixJQUFJLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNmLEtBQUssRUFBRSw4QkFBOEI7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsTUFBTTtvQkFDWixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELE9BQU8sQ0FBUSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eUFjdGlvblBsdWdpbiwgZW5zdXJlTGlzdEFjdGlvbnMsIGFjdGlvbkV4aXN0cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBjbG9uZVBsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICAgIG5hbWU6ICdjbG9uZScsXG4gICAgb3JkZXI6IDYwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLnVwZGF0ZSgoaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY21kTmFtZSA9ICdjbG9uZS1lbnRpdHknO1xuXG4gICAgICAgICAgICAvLyBBZGQgY2xvbmUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgY29uc3QgbGlzdEFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlci5saXN0LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgY21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmNsb25lLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NvcHknLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBjbG9uZSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgY21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBzaW5nbGVBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMuY2xvbmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnY29weScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcbiAgICB9LFxufTtcbiJdfQ==","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityClonedEvent = createWorkFlowEvent('[Entity] Cloned');\nexport class AXPEntityCloneAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.clone.confirm.title'), await this.translationService.translateAsync('@general:actions.clone.confirm.message'), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.clone.confirm.processing'),\n mode: 'indeterminate',\n status: 'Cloning...',\n });\n try {\n // Get the original entity data\n const originalData = await this.getEntityData(refType, refId);\n // Clone the data (remove id and other unique fields)\n const clonedData = this.prepareClonedData(originalData, entityDefinition);\n // Create the new entity\n if (entityDefinition.commands?.create) {\n const createExec = entityDefinition.commands.create.execute;\n const newId = await createExec(clonedData);\n context.setOutput('originalId', refId);\n context.setOutput('newId', newId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && clonedData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: clonedData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support create operation');\n }\n }\n catch (error) {\n console.error('Clone operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareClonedData(originalData, entityDefinition) {\n const clonedData = { ...originalData };\n // Remove unique identifiers and system fields\n delete clonedData.id;\n delete clonedData.createdAt;\n delete clonedData.updatedAt;\n delete clonedData.createdBy;\n delete clonedData.updatedBy;\n delete clonedData.version;\n delete clonedData.isArchived;\n delete clonedData.archivedAt;\n // Update title to indicate it's a clone\n if (clonedData.title) {\n clonedData.title = `${clonedData.title} (Copy)`;\n }\n // Update name to indicate it's a clone\n if (clonedData.name) {\n clonedData.name = `${clonedData.name} (Copy)`;\n }\n // Update code if it exists\n if (clonedData.code) {\n clonedData.code = `${clonedData.code}_COPY`;\n }\n // Handle parent relationships if they exist\n if (entityDefinition.parentKey && clonedData[entityDefinition.parentKey]) {\n // Keep the parent relationship - don't delete\n }\n // Reset status fields to default values\n if (clonedData.isActive !== undefined) {\n clonedData.isActive = true;\n }\n if (clonedData.status !== undefined) {\n clonedData.status = 'draft'; // or appropriate default status\n }\n return clonedData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityCloneSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const originalId = context.getOutput('originalId');\n const newId = context.getOutput('newId');\n const meta = context.getVariable('meta');\n // Dispatch clone event\n this.dispatch(AXPEntityClonedEvent({\n entity: refType,\n originalId,\n newId,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPCloneEntityWorkflow = {\n startStepId: 'clone-entity',\n steps: {\n 'clone-entity': {\n action: 'AXPEntityCloneAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-cloned',\n content: 'workflow.entity-cloned-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'clone-success',\n },\n ],\n },\n 'clone-success': {\n action: 'AXPEntityCloneSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtZW50aXR5LndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2Nsb25lLXBsdWdpbi93b3JrZmxvd3MvY2xvbmUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FDbkQsaUJBQWlCLENBQ3BCLENBQUM7QUFHRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsaUJBQWlCO0lBRDNEOztRQUVZLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQWtJN0Q7SUFoSUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFT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QUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLDBDQUEwQyxFQUFFLENBQUM7b0JBQ3hGLFVBQVUsRUFBRSxvQkFBb0I7aUJBQ25DO2FBQ0o7U0FDSjtRQUNELG9CQUFvQixFQUFFO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNILEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsd0JBQXdCO2dCQUMvQixPQUFPLEVBQUUsNkJBQTZCO2FBQ3pDO1lBQ0QsU0FBUyxFQUFFO2dCQUNQO29CQUNJLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxlQUFlO2lCQUM5QjthQUNKO1NBQ0o7UUFDRCxlQUFlLEVBQUU7WUFDYixNQUFNLEVBQUUsNkJBQTZCO1NBQ3hDO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUmVmcmVzaEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQsIGNyZWF0ZVdvcmtGbG93RXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlDbG9uZWRFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyBlbnRpdHk6IHN0cmluZzsgb3JpZ2luYWxJZDogc3RyaW5nOyBuZXdJZDogc3RyaW5nOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBDbG9uZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUNsb25lQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcblxuICAgICAgICBpZiAoIXJlZklkIHx8ICFyZWZUeXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmSWQgYW5kIHJlZlR5cGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuY2xvbmUuY29uZmlybS50aXRsZScpLFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuY2xvbmUuY29uZmlybS5tZXNzYWdlJyksXG4gICAgICAgICAgICAnd2FybmluZycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmNsb25lLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnQ2xvbmluZy4uLicsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBHZXQgdGhlIG9yaWdpbmFsIGVudGl0eSBkYXRhXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgcmVmSWQpO1xuXG4gICAgICAgICAgICAvLyBDbG9uZSB0aGUgZGF0YSAocmVtb3ZlIGlkIGFuZCBvdGhlciB1bmlxdWUgZmllbGRzKVxuICAgICAgICAgICAgY29uc3QgY2xvbmVkRGF0YSA9IHRoaXMucHJlcGFyZUNsb25lZERhdGEob3JpZ2luYWxEYXRhLCBlbnRpdHlEZWZpbml0aW9uKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBuZXcgZW50aXR5XG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcz8uY3JlYXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3JlYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMuY3JlYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3SWQgPSBhd2FpdCBjcmVhdGVFeGVjKGNsb25lZERhdGEpO1xuXG4gICAgICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ29yaWdpbmFsSWQnLCByZWZJZCk7XG4gICAgICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ25ld0lkJywgbmV3SWQpO1xuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgZmFsc2UpO1xuXG4gICAgICAgICAgICAgICAgLy8gU2V0IHJlZnJlc2ggbWV0YWRhdGFcbiAgICAgICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5wYXJlbnRLZXkgJiYgY2xvbmVkRGF0YVtlbnRpdHlEZWZpbml0aW9uLnBhcmVudEtleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXRWYXJpYWJsZSgnbWV0YScsIHsgcmVmcmVzaFRhcmdldElkOiBjbG9uZWREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgY3JlYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQ2xvbmUgb3BlcmF0aW9uIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgbG9hZGluZ0RpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRFbnRpdHlEYXRhKHJlZlR5cGU6IHN0cmluZywgcmVmSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBVc2UgdGhlIGVudGl0eSdzIGJ5S2V5IHF1ZXJ5IHRvIGdldCBhY3R1YWwgZGF0YVxuICAgICAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXM/LmJ5S2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzLmJ5S2V5LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHF1ZXJ5RXhlYyhyZWZJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIGJhc2ljIHN0cnVjdHVyZSBpZiBubyBxdWVyeSBhdmFpbGFibGVcbiAgICAgICAgICAgIHJldHVybiB7IGlkOiByZWZJZCB9O1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlQ2xvbmVkRGF0YShvcmlnaW5hbERhdGE6IGFueSwgZW50aXR5RGVmaW5pdGlvbjogQVhQRW50aXR5KTogYW55IHtcbiAgICAgICAgY29uc3QgY2xvbmVkRGF0YSA9IHsgLi4ub3JpZ2luYWxEYXRhIH07XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVuaXF1ZSBpZGVudGlmaWVycyBhbmQgc3lzdGVtIGZpZWxkc1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS5pZDtcbiAgICAgICAgZGVsZXRlIGNsb25lZERhdGEuY3JlYXRlZEF0O1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS51cGRhdGVkQXQ7XG4gICAgICAgIGRlbGV0ZSBjbG9uZWREYXRhLmNyZWF0ZWRCeTtcbiAgICAgICAgZGVsZXRlIGNsb25lZERhdGEudXBkYXRlZEJ5O1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS52ZXJzaW9uO1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS5pc0FyY2hpdmVkO1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS5hcmNoaXZlZEF0O1xuXG4gICAgICAgIC8vIFVwZGF0ZSB0aXRsZSB0byBpbmRpY2F0ZSBpdCdzIGEgY2xvbmVcbiAgICAgICAgaWYgKGNsb25lZERhdGEudGl0bGUpIHtcbiAgICAgICAgICAgIGNsb25lZERhdGEudGl0bGUgPSBgJHtjbG9uZWREYXRhLnRpdGxlfSAoQ29weSlgO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIG5hbWUgdG8gaW5kaWNhdGUgaXQncyBhIGNsb25lXG4gICAgICAgIGlmIChjbG9uZWREYXRhLm5hbWUpIHtcbiAgICAgICAgICAgIGNsb25lZERhdGEubmFtZSA9IGAke2Nsb25lZERhdGEubmFtZX0gKENvcHkpYDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVwZGF0ZSBjb2RlIGlmIGl0IGV4aXN0c1xuICAgICAgICBpZiAoY2xvbmVkRGF0YS5jb2RlKSB7XG4gICAgICAgICAgICBjbG9uZWREYXRhLmNvZGUgPSBgJHtjbG9uZWREYXRhLmNvZGV9X0NPUFlgO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGFuZGxlIHBhcmVudCByZWxhdGlvbnNoaXBzIGlmIHRoZXkgZXhpc3RcbiAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGNsb25lZERhdGFbZW50aXR5RGVmaW5pdGlvbi5wYXJlbnRLZXldKSB7XG4gICAgICAgICAgICAvLyBLZWVwIHRoZSBwYXJlbnQgcmVsYXRpb25zaGlwIC0gZG9uJ3QgZGVsZXRlXG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXNldCBzdGF0dXMgZmllbGRzIHRvIGRlZmF1bHQgdmFsdWVzXG4gICAgICAgIGlmIChjbG9uZWREYXRhLmlzQWN0aXZlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNsb25lZERhdGEuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjbG9uZWREYXRhLnN0YXR1cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjbG9uZWREYXRhLnN0YXR1cyA9ICdkcmFmdCc7IC8vIG9yIGFwcHJvcHJpYXRlIGRlZmF1bHQgc3RhdHVzXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xvbmVkRGF0YTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlDbG9uZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsSWQgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmc+KCdvcmlnaW5hbElkJyk7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nPignbmV3SWQnKTtcbiAgICAgICAgY29uc3QgbWV0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignbWV0YScpO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIGNsb25lIGV2ZW50XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBFbnRpdHlDbG9uZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsSWQsXG4gICAgICAgICAgICAgICAgbmV3SWQsXG4gICAgICAgICAgICAgICAgbWV0YVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUENsb25lRW50aXR5V29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnY2xvbmUtZW50aXR5JyxcbiAgICBzdGVwczoge1xuICAgICAgICAnY2xvbmUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5Q2xvbmVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWNsb25lZCcsXG4gICAgICAgICAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1jbG9uZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ2Nsb25lLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnY2xvbmUtc3VjY2Vzcyc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUNsb25lU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { clonePlugin } from './clone.plugin';\nimport { AXPCloneEntityWorkflow, AXPEntityCloneAction, AXPEntityCloneSuccessAction } from './workflows';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPClonePluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPClonePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPClonePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPClonePluginModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: clonePlugin },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n AXPEntityCloneAction,\n AXPEntityCloneSuccessAction,\n },\n workflows: {\n 'clone-entity': AXPCloneEntityWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPClonePluginModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityCloneAction,\n AXPEntityCloneSuccessAction,\n },\n workflows: {\n 'clone-entity': AXPCloneEntityWorkflow,\n },\n }),\n ],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: clonePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtcGx1Z2luLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jbG9uZS1wbHVnaW4vY2xvbmUtcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQWtCeEcsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixhQUpsQjtZQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtTQUM1RSxZQVpHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztnQkFDdkIsT0FBTyxFQUFFO29CQUNMLG9CQUFvQjtvQkFDcEIsMkJBQTJCO2lCQUM5QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsY0FBYyxFQUFFLHNCQUFzQjtpQkFDekM7YUFDSixDQUFDOzsyRkFNRyxvQkFBb0I7a0JBaEJoQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3ZCLE9BQU8sRUFBRTtnQ0FDTCxvQkFBb0I7Z0NBQ3BCLDJCQUEyQjs2QkFDOUI7NEJBQ0QsU0FBUyxFQUFFO2dDQUNQLGNBQWMsRUFBRSxzQkFBc0I7NkJBQ3pDO3lCQUNKLENBQUM7cUJBQ0w7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtxQkFDNUU7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBjbG9uZVBsdWdpbiB9IGZyb20gJy4vY2xvbmUucGx1Z2luJztcbmltcG9ydCB7IEFYUENsb25lRW50aXR5V29ya2Zsb3csIEFYUEVudGl0eUNsb25lQWN0aW9uLCBBWFBFbnRpdHlDbG9uZVN1Y2Nlc3NBY3Rpb24gfSBmcm9tICcuL3dvcmtmbG93cyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgICAgICBhY3Rpb25zOiB7XG4gICAgICAgICAgICAgICAgQVhQRW50aXR5Q2xvbmVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5Q2xvbmVTdWNjZXNzQWN0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAgICAgICAgICdjbG9uZS1lbnRpdHknOiBBWFBDbG9uZUVudGl0eVdvcmtmbG93LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogY2xvbmVQbHVnaW4gfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBDbG9uZVBsdWdpbk1vZHVsZSB7IH1cbiJdfQ==","import { ensureListActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const colorPlugin = {\n name: 'color',\n order: 70,\n apply: (ctx, options) => {\n ensureListActions(ctx);\n const groupId = 'appearance';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.appearance' });\n }\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'color')) {\n ctx.properties.add({\n name: 'color',\n title: '@general:terms.common.color',\n groupId,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.ColorPalette,\n options: {\n swatches: options?.swatches,\n },\n },\n },\n validations: [],\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: false },\n inline: { enabled: false },\n },\n },\n });\n }\n //#region ---- Add Column to List View ----\n // Add color column to list view if enabled (default: true)\n const columnEnabled = options?.column?.enabled ?? true;\n if (columnEnabled) {\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'color')) {\n ctx.columns.add({\n name: 'color',\n title: '@general:terms.common.color',\n sort: { enabled: false },\n options: {\n visible: options?.column?.visible ?? true,\n width: `${options?.column?.width ?? 120}px`,\n },\n });\n }\n }\n //#endregion\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'color')) {\n next.properties.push({\n name: 'color',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'color')) {\n next.properties.push({\n name: 'color',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'color')) {\n next.properties.push({\n name: 'color',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NvbG9yLXBsdWdpbi9jb2xvci5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQWdCMUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUEwQjtJQUNoRCxJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLE9BQStCLEVBQUUsRUFBRTtRQUM5QyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV2QixNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7UUFDN0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLHFDQUFxQyxFQUFTLENBQUMsQ0FBQztRQUN2RixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2hELEdBQUcsQ0FBQyxVQUFV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QUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2pGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO29CQUNuQixJQUFJLEVBQUUsT0FBTztvQkFDYixNQUFNLEVBQUU7d0JBQ04sU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO3FCQUNsQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XHJcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29sb3JQbHVnaW5PcHRpb25zIHtcclxuICAvKipcclxuICAgKiBDb2xvciBzd2F0Y2hlcyB0byBkaXNwbGF5IGluIHRoZSBwYWxldHRlXHJcbiAgICogLSBTdHJpbmc6IFBhbGV0dGUgbmFtZSB0byByZXNvbHZlIGZyb20gQVhQQ29sb3JQYWxldHRlU2VydmljZVxyXG4gICAqIC0gU3RyaW5nW106IERpcmVjdCBhcnJheSBvZiBjb2xvciBjb2Rlc1xyXG4gICAqL1xyXG4gIHN3YXRjaGVzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgY29sdW1uPzoge1xyXG4gICAgZW5hYmxlZD86IGJvb2xlYW47IC8vIGRlZmF1bHQ6IHRydWVcclxuICAgIHZpc2libGU/OiBib29sZWFuOyAvLyBkZWZhdWx0OiB0cnVlXHJcbiAgICB3aWR0aD86IG51bWJlcjsgLy8gZGVmYXVsdDogMTIwXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbG9yUGx1Z2luOiBBWFBFbnRpdHlBY3Rpb25QbHVnaW4gPSB7XHJcbiAgbmFtZTogJ2NvbG9yJyxcclxuICBvcmRlcjogNzAsXHJcbiAgYXBwbHk6IChjdHgsIG9wdGlvbnM/OiBBWFBDb2xvclBsdWdpbk9wdGlvbnMpID0+IHtcclxuICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XHJcblxyXG4gICAgY29uc3QgZ3JvdXBJZCA9ICdhcHBlYXJhbmNlJztcclxuICAgIGNvbnN0IGdyb3VwcyA9IGN0eC5ncm91cHMubGlzdCgpID8/IFtdO1xyXG4gICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICBjdHguZ3JvdXBzLmFkZCh7IGlkOiBncm91cElkLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmludGVyZmFjZS5hcHBlYXJhbmNlJyB9IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XHJcbiAgICBpZiAoIXByb3BzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnY29sb3InKSkge1xyXG4gICAgICBjdHgucHJvcGVydGllcy5hZGQoe1xyXG4gICAgICAgIG5hbWU6ICdjb2xvcicsXHJcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24uY29sb3InLFxyXG4gICAgICAgIGdyb3VwSWQsXHJcbiAgICAgICAgc2NoZW1hOiB7XHJcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcclxuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5Db2xvclBhbGV0dGUsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICBzd2F0Y2hlczogb3B0aW9ucz8uc3dhdGNoZXMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtdLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogZmFsc2UgfSxcclxuICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICBhZHZhbmNlOiB7IGVuYWJsZWQ6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgIGlubGluZTogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgQ29sdW1uIHRvIExpc3QgVmlldyAgIC0tLS1cclxuXHJcbiAgICAvLyBBZGQgY29sb3IgY29sdW1uIHRvIGxpc3QgdmlldyBpZiBlbmFibGVkIChkZWZhdWx0OiB0cnVlKVxyXG4gICAgY29uc3QgY29sdW1uRW5hYmxlZCA9IG9wdGlvbnM/LmNvbHVtbj8uZW5hYmxlZCA/PyB0cnVlO1xyXG4gICAgaWYgKGNvbHVtbkVuYWJsZWQpIHtcclxuICAgICAgY29uc3QgY29sdW1ucyA9IGN0eC5jb2x1bW5zLmxpc3QoKSA/PyBbXTtcclxuICAgICAgaWYgKCFjb2x1bW5zLnNvbWUoKGM6IGFueSkgPT4gYy5uYW1lID09PSAnY29sb3InKSkge1xyXG4gICAgICAgIGN0eC5jb2x1bW5zLmFkZCh7XHJcbiAgICAgICAgICBuYW1lOiAnY29sb3InLFxyXG4gICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24uY29sb3InLFxyXG4gICAgICAgICAgc29ydDogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICB2aXNpYmxlOiBvcHRpb25zPy5jb2x1bW4/LnZpc2libGUgPz8gdHJ1ZSxcclxuICAgICAgICAgICAgd2lkdGg6IGAke29wdGlvbnM/LmNvbHVtbj8ud2lkdGggPz8gMTIwfXB4YCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuY3JlYXRlLnVwZGF0ZSgoY3JlYXRlKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5leHQgPSBjcmVhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdjb2xvcicpKSB7XHJcbiAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogJ2NvbG9yJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXh0O1xyXG4gICAgfSk7XHJcblxyXG4gICAgY3R4LmludGVyZmFjZXMubWFzdGVyLm1vZGlmeS51cGRhdGUoKHVwZGF0ZSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXh0ID0gdXBkYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xyXG4gICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcclxuICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCB9KTtcclxuICAgICAgfVxyXG4gICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XHJcbiAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnY29sb3InKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdjb2xvcicsXHJcbiAgICAgICAgICBsYXlvdXQ6IHtcclxuICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dDtcclxuICAgIH0pO1xyXG5cclxuICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5zaW5nbGUudXBkYXRlKChzaW5nbGUpID0+IHtcclxuICAgICAgY29uc3QgbmV4dCA9IHNpbmdsZSA/PyB7IHRpdGxlOiBjdHguZW50aXR5LnRpdGxlLCBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdjb2xvcicpKSB7XHJcbiAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogJ2NvbG9yJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXh0O1xyXG4gICAgfSk7XHJcbiAgfSxcclxufTtcclxuIl19","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { colorPlugin } from './color.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPColorPluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPColorPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPColorPluginModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPColorPluginModule, providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: colorPlugin }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPColorPluginModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [],\n exports: [],\n providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: colorPlugin }],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGx1Z2luLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb2xvci1wbHVnaW4vY29sb3ItcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRN0MsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixhQUZwQixDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDOzsyRkFFM0Usb0JBQW9CO2tCQU5oQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztpQkFDdkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2xvclBsdWdpbiB9IGZyb20gJy4vY29sb3IucGx1Z2luJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBpbXBvcnRzOiBbXSxcclxuICBleHBvcnRzOiBbXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBjb2xvclBsdWdpbiB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUENvbG9yUGx1Z2luTW9kdWxlIHt9XHJcbiJdfQ==","import { Component, ViewEncapsulation, input, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPCompareViewComponent } from '@acorex/platform/layout/components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\nexport class AXPComparePopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.inputs = input(...(ngDevMode ? [undefined, { debugName: \"inputs\" }] : []));\n this.isBusy = signal(false, ...(ngDevMode ? [{ debugName: \"isBusy\" }] : []));\n this.mode = input('compare', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n }\n ngOnInit() {\n super.ngOnInit();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComparePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: AXPComparePopupComponent, isStandalone: true, selector: \"axp-compare-popup\", inputs: { inputs: { classPropertyName: \"inputs\", publicName: \"inputs\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], usesInheritance: true, ngImport: i0, template: \"<ax-content>\\n <div class=\\\"ax-p-6 ax-min-h-[30vh] ax-overflow-y-auto\\\">\\n <axp-compare-view [inputs]=\\\"inputs()\\\" [mode]=\\\"mode()\\\"></axp-compare-view>\\n </div>\\n</ax-content>\\n<ax-footer>\\n <ax-prefix></ax-prefix>\\n <ax-suffix>\\n <ax-button\\n [text]=\\\"'@general:actions.close.title' | translate | async\\\"\\n look=\\\"solid\\\"\\n color=\\\"primary\\\"\\n (onClick)=\\\"close()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\", dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"ngmodule\", type: \n // ACoreX\n AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"component\", type: \n // Compare View\n AXPCompareViewComponent, selector: \"axp-compare-view\", inputs: [\"inputs\", \"mode\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComparePopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-compare-popup', standalone: true, imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n // Compare View\n AXPCompareViewComponent\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<ax-content>\\n <div class=\\\"ax-p-6 ax-min-h-[30vh] ax-overflow-y-auto\\\">\\n <axp-compare-view [inputs]=\\\"inputs()\\\" [mode]=\\\"mode()\\\"></axp-compare-view>\\n </div>\\n</ax-content>\\n<ax-footer>\\n <ax-prefix></ax-prefix>\\n <ax-suffix>\\n <ax-button\\n [text]=\\\"'@general:actions.close.title' | translate | async\\\"\\n look=\\\"solid\\\"\\n color=\\\"primary\\\"\\n (onClick)=\\\"close()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb21wYXJlL2NvbXBhcmUtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUE0QyxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFtQnZILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxtQkFBbUI7SUFqQmpFOztRQWtCSSxXQUFNLEdBQUcsS0FBSyw0REFBd0IsQ0FBQztRQUN2QyxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssa0RBQUMsQ0FBQztRQUN2QixTQUFJLEdBQUcsS0FBSyxDQUFxQixTQUFTLGdEQUFDLENBQUM7S0FLL0M7SUFIWSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBUFEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNFRBRnRCLEVBQUUsaURDeEJqQix3Y0FpQkE7Z0JESlEsVUFBVTtnQkFDVixZQUFZO2dCQUNaLFNBQVM7Z0JBQ1QsaUJBQWlCLHFQQUNqQixjQUFjLDZYQUNkLG1CQUFtQjtnQkFDbkIsZUFBZTtnQkFDZix1QkFBdUI7OzJGQU1sQix3QkFBd0I7a0JBakJwQyxTQUFTOytCQUNJLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZix1QkFBdUI7cUJBQzFCLGlCQUVjLGlCQUFpQixDQUFDLElBQUksYUFDMUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGlucHV0LCBzaWduYWwsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQQ29tcGFyZVZpZXdDb21wb25lbnQsIEFYUENvbXBhcmVWaWV3SW5wdXRzLCBBWFBDb21wYXJlVmlld01vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtY29tcGFyZS1wb3B1cCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAvLyBBQ29yZVhcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgICAgICAvLyBDb21wYXJlIFZpZXdcbiAgICAgICAgQVhQQ29tcGFyZVZpZXdDb21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21wYXJlLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBhcmVQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlucHV0cyA9IGlucHV0PEFYUENvbXBhcmVWaWV3SW5wdXRzPigpO1xuICAgIGlzQnVzeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgbW9kZSA9IGlucHV0PEFYUENvbXBhcmVWaWV3TW9kZT4oJ2NvbXBhcmUnKTtcblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cbn0gIiwiPGF4LWNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJheC1wLTYgYXgtbWluLWgtWzMwdmhdIGF4LW92ZXJmbG93LXktYXV0b1wiPlxuICAgIDxheHAtY29tcGFyZS12aWV3IFtpbnB1dHNdPVwiaW5wdXRzKClcIiBbbW9kZV09XCJtb2RlKClcIj48L2F4cC1jb21wYXJlLXZpZXc+XG4gIDwvZGl2PlxuPC9heC1jb250ZW50PlxuPGF4LWZvb3Rlcj5cbiAgPGF4LXByZWZpeD48L2F4LXByZWZpeD5cbiAgPGF4LXN1ZmZpeD5cbiAgICA8YXgtYnV0dG9uXG4gICAgICBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5jbG9zZS50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICBsb29rPVwic29saWRcIlxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIChvbkNsaWNrKT1cImNsb3NlKClcIlxuICAgID5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgPC9heC1zdWZmaXg+XG48L2F4LWZvb3Rlcj5cbiJdfQ==","import { AXPWorkflowAction } from \"@acorex/platform/workflow\";\nimport { inject, Injectable, signal } from \"@angular/core\";\nimport { AXPopupService } from \"@acorex/components/popup\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { AXPEntityDefinitionRegistryService } from \"@acorex/platform/layout/entity\";\nimport { AXPVersioningService } from \"@acorex/platform/common\";\nimport { AXFormatService } from \"@acorex/core/format\";\nimport * as i0 from \"@angular/core\";\nexport class AXMComparePopupStartAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translate = inject(AXTranslationService);\n }\n async execute(context) {\n const comp = (await import('../compare-popup.component')).AXPComparePopupComponent;\n this.popupService.open(comp, {\n title: await this.translate.translateAsync('Compare'),\n size: 'lg',\n data: {\n inputs: signal(context.getVariable('inputs')),\n mode: signal(context.getVariable('mode')),\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMComparePopupStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMComparePopupStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMComparePopupStartAction, decorators: [{\n type: Injectable\n }] });\nexport class AXMCompareEntityRecordsAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistry = inject(AXPEntityDefinitionRegistryService);\n }\n async execute(context) {\n const [moduleName, entityName] = context.getVariable('entity').split('.');\n const entityRef = await this.entityRegistry.resolve(moduleName, entityName);\n const records = context.getVariable('data');\n const ids = records?.map((r) => r.id);\n const getById = entityRef.queries.byKey?.execute;\n //\n const fields = entityRef.properties\n .filter(p => p.schema.interface && p.schema.hidden != true)\n .map((p) => ({\n path: p.name,\n title: p.title,\n description: p.description,\n widget: {\n type: p.schema.interface?.type,\n name: p.name,\n path: p.name,\n options: p.schema.interface?.options,\n },\n }));\n const objects = await Promise.all(ids.map(async (c) => {\n const object = await getById(c);\n return {\n id: object.id,\n title: object.title,\n description: object.description,\n context: object,\n };\n }));\n const inputs = {\n fields: fields,\n objects: objects,\n };\n //\n context.setVariable('inputs', inputs);\n context.setVariable('mode', 'records');\n context.setOutput('result', true);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordsAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordsAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordsAction, decorators: [{\n type: Injectable\n }] });\nexport class AXMCompareEntityRecordVersionsAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistry = inject(AXPEntityDefinitionRegistryService);\n this.versioning = inject(AXPVersioningService);\n this.formatService = inject(AXFormatService);\n this.translate = inject(AXTranslationService);\n }\n async execute(context) {\n const [moduleName, entityName] = context.getVariable('entity').split('.');\n const entityRef = await this.entityRegistry.resolve(moduleName, entityName);\n const refId = context.getVariable('data.refId');\n const refType = context.getVariable('data.refType');\n const ids = context.getVariable('data.ids');\n const streamId = await this.versioning.getStreamIdIfExists(refType, refId);\n const histories = streamId ? (await this.versioning.listEntries(streamId)).filter((e) => ids.includes(e.id)) : [];\n //\n const fields = entityRef.properties\n .filter(p => p.schema.interface && p.schema.hidden != true)\n .map((p) => ({\n path: p.name,\n title: p.title,\n description: p.description,\n widget: {\n type: p.schema.interface?.type,\n name: p.name,\n path: p.name,\n options: p.schema.interface?.options,\n },\n }));\n const objects = await Promise.all(histories.map(async (h) => {\n const title = await this.translate.translateAsync(`@activity-log:${h.changeType === 'Create' ? 'created' : (h.changeType === 'Delete' ? 'deleted' : 'updated')}-by-title`, {\n params: {\n user: h.changedBy ?? 'system',\n date: this.formatService.format(new Date(h.changedAt), 'datetime', { format: 'short' }),\n }\n });\n const snapshot = structuredClone(h.snapshotJson ?? {});\n return {\n id: h.id,\n title,\n description: h.changedBy ?? 'system',\n context: snapshot,\n };\n }));\n const inputs = {\n fields: fields,\n objects: objects,\n };\n //\n context.setVariable('inputs', inputs);\n context.setVariable('mode', 'changes');\n context.setOutput('result', true);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction, decorators: [{\n type: Injectable\n }] });\nexport const AXMCompareEntityRecordsWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'show-entity-records-compare-action',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-popup',\n }\n ],\n },\n 'show-popup': {\n action: 'show-compare-popup-action',\n },\n },\n};\nexport const AXMCompareEntityRecordVersionsWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'show-entity-record-versions-compare-action',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-popup',\n }\n ],\n },\n 'show-popup': {\n action: 'show-compare-popup-action',\n },\n },\n};\n// Utilities\nfunction getByPath(obj, path) {\n const parts = path.split('.');\n let curr = obj;\n for (const p of parts) {\n if (curr == null)\n return undefined;\n curr = curr[p];\n }\n return curr;\n}\nfunction setByPath(obj, path, value) {\n const parts = path.split('.');\n let curr = obj;\n for (let i = 0; i < parts.length - 1; i++) {\n const p = parts[i];\n if (curr[p] == null)\n curr[p] = {};\n curr = curr[p];\n }\n curr[parts[parts.length - 1]] = value;\n}\nfunction mapFilesForView(files) {\n return files.map((f) => ({\n id: f.id,\n name: f.name,\n size: f.size,\n status: 'remote',\n source: { kind: 'url', value: f.url },\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb21wYXJlL3dvcmtmbG93cy9jb21wYXJlLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFJdEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FhcEQ7SUFYWSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQzlDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO1FBQ25GLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QixLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJ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Q0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLEtBQVk7SUFDakMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFrQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7UUFDUixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDWixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDWixNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFO0tBQ3hDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9wb3B1cFwiO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uXCI7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eVwiO1xuaW1wb3J0IHsgQVhQQ29tcGFyZVZpZXdGaWVsZCwgQVhQQ29tcGFyZVZpZXdJbnB1dHMsIEFYUENvbXBhcmVWaWV3TW9kZSwgQVhQQ29tcGFyZVZpZXdPYmplY3QgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgQVhQVmVyc2lvbmluZ1NlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb21tb25cIjtcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvZm9ybWF0XCI7XG5pbXBvcnQgeyBBWFBGaWxlTGlzdEl0ZW0gfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Db21wYXJlUG9wdXBTdGFydEFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY29tcCA9IChhd2FpdCBpbXBvcnQoJy4uL2NvbXBhcmUtcG9wdXAuY29tcG9uZW50JykpLkFYUENvbXBhcmVQb3B1cENvbXBvbmVudDtcbiAgICAgICAgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCB7XG4gICAgICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGUudHJhbnNsYXRlQXN5bmMoJ0NvbXBhcmUnKSxcbiAgICAgICAgICAgIHNpemU6ICdsZycsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgaW5wdXRzOiBzaWduYWwoY29udGV4dC5nZXRWYXJpYWJsZSgnaW5wdXRzJykpLFxuICAgICAgICAgICAgICAgIG1vZGU6IHNpZ25hbChjb250ZXh0LmdldFZhcmlhYmxlKCdtb2RlJykgYXMgQVhQQ29tcGFyZVZpZXdNb2RlKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRzQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0cnkgPSBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG5cbiAgICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ2VudGl0eScpLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eVJlZiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0cnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICAgICAgY29uc3QgcmVjb3JkcyA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignZGF0YScpIGFzIGFueVtdO1xuICAgICAgICBjb25zdCBpZHMgPSByZWNvcmRzPy5tYXAoKHI6IGFueSkgPT4gci5pZCkgYXMgc3RyaW5nW107XG4gICAgICAgIGNvbnN0IGdldEJ5SWQgPSBlbnRpdHlSZWYucXVlcmllcy5ieUtleT8uZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgLy9cbiAgICAgICAgY29uc3QgZmllbGRzOiBBWFBDb21wYXJlVmlld0ZpZWxkW10gPSBlbnRpdHlSZWYucHJvcGVydGllc1xuICAgICAgICAgICAgLmZpbHRlcihwID0+IHAuc2NoZW1hLmludGVyZmFjZSAmJiBwLnNjaGVtYS5oaWRkZW4gIT0gdHJ1ZSlcbiAgICAgICAgICAgIC5tYXAoKHApID0+ICh7XG4gICAgICAgICAgICAgICAgcGF0aDogcC5uYW1lLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBwLnRpdGxlLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBwLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBwLnNjaGVtYS5pbnRlcmZhY2U/LnR5cGUhLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IHAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogcC5zY2hlbWEuaW50ZXJmYWNlPy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIGNvbnN0IG9iamVjdHM6IEFYUENvbXBhcmVWaWV3T2JqZWN0W10gPSBhd2FpdCBQcm9taXNlLmFsbChpZHMubWFwKGFzeW5jIGMgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb2JqZWN0ID0gYXdhaXQgZ2V0QnlJZChjKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaWQ6IG9iamVjdC5pZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogb2JqZWN0LnRpdGxlLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvYmplY3QuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgY29udGV4dDogb2JqZWN0LFxuICAgICAgICAgICAgfVxuICAgICAgICB9KSk7XG5cbiAgICAgICAgY29uc3QgaW5wdXRzOiBBWFBDb21wYXJlVmlld0lucHV0cyA9IHtcbiAgICAgICAgICAgIGZpZWxkczogZmllbGRzLFxuICAgICAgICAgICAgb2JqZWN0czogb2JqZWN0cyxcbiAgICAgICAgfVxuXG4gICAgICAgIC8vXG4gICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ2lucHV0cycsIGlucHV0cyk7XG4gICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ21vZGUnLCAncmVjb3JkcycpO1xuICAgICAgICBjb250ZXh0LnNldE91dHB1dCgncmVzdWx0JywgdHJ1ZSk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNQ29tcGFyZUVudGl0eVJlY29yZFZlcnNpb25zQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0cnkgPSBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSB2ZXJzaW9uaW5nID0gaW5qZWN0PEFYUFZlcnNpb25pbmdTZXJ2aWNlPihBWFBWZXJzaW9uaW5nU2VydmljZSBhcyBhbnkpO1xuICAgIHByaXZhdGUgZm9ybWF0U2VydmljZSA9IGluamVjdChBWEZvcm1hdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuXG4gICAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdlbnRpdHknKS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlSZWYgPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdHJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgICAgIGNvbnN0IHJlZklkID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhLnJlZklkJykgYXMgc3RyaW5nO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhLnJlZlR5cGUnKSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IGlkcyA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignZGF0YS5pZHMnKSBhcyBzdHJpbmdbXTtcbiAgICAgICAgY29uc3Qgc3RyZWFtSWQgPSBhd2FpdCB0aGlzLnZlcnNpb25pbmcuZ2V0U3RyZWFtSWRJZkV4aXN0cyhyZWZUeXBlLCByZWZJZCk7XG4gICAgICAgIGNvbnN0IGhpc3RvcmllcyA9IHN0cmVhbUlkID8gKGF3YWl0IHRoaXMudmVyc2lvbmluZy5saXN0RW50cmllcyhzdHJlYW1JZCkpLmZpbHRlcigoZTogYW55KSA9PiBpZHMuaW5jbHVkZXMoZS5pZCkpIDogW107XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGZpZWxkczogQVhQQ29tcGFyZVZpZXdGaWVsZFtdID0gZW50aXR5UmVmLnByb3BlcnRpZXNcbiAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwLnNjaGVtYS5pbnRlcmZhY2UgJiYgcC5zY2hlbWEuaGlkZGVuICE9IHRydWUpXG4gICAgICAgICAgICAubWFwKChwKSA9PiAoe1xuICAgICAgICAgICAgICAgIHBhdGg6IHAubmFtZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogcC50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogcC5zY2hlbWEuaW50ZXJmYWNlPy50eXBlISxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHAuc2NoZW1hLmludGVyZmFjZT8ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBvYmplY3RzOiBBWFBDb21wYXJlVmlld09iamVjdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoaGlzdG9yaWVzLm1hcChhc3luYyAoaDogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9IGF3YWl0IHRoaXMudHJhbnNsYXRlLnRyYW5zbGF0ZUFzeW5jKGBAYWN0aXZpdHktbG9nOiR7aC5jaGFuZ2VUeXBlID09PSAnQ3JlYXRlJyA/ICdjcmVhdGVkJyA6IChoLmNoYW5nZVR5cGUgPT09ICdEZWxldGUnID8gJ2RlbGV0ZWQnIDogJ3VwZGF0ZWQnKX0tYnktdGl0bGVgLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXI6IGguY2hhbmdlZEJ5ID8/ICdzeXN0ZW0nLFxuICAgICAgICAgICAgICAgICAgICBkYXRlOiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KG5ldyBEYXRlKGguY2hhbmdlZEF0KSwgJ2RhdGV0aW1lJywgeyBmb3JtYXQ6ICdzaG9ydCcgfSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHNuYXBzaG90ID0gc3RydWN0dXJlZENsb25lKGguc25hcHNob3RKc29uID8/IHt9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogaC5pZCxcbiAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogaC5jaGFuZ2VkQnkgPz8gJ3N5c3RlbScsXG4gICAgICAgICAgICAgICAgY29udGV4dDogc25hcHNob3QsXG4gICAgICAgICAgICB9IGFzIEFYUENvbXBhcmVWaWV3T2JqZWN0O1xuICAgICAgICB9KSk7XG4gICAgICAgIGNvbnN0IGlucHV0czogQVhQQ29tcGFyZVZpZXdJbnB1dHMgPSB7XG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkcyxcbiAgICAgICAgICAgIG9iamVjdHM6IG9iamVjdHMsXG4gICAgICAgIH1cbiAgICAgICAgLy9cbiAgICAgICAgY29udGV4dC5zZXRWYXJpYWJsZSgnaW5wdXRzJywgaW5wdXRzKTtcbiAgICAgICAgY29udGV4dC5zZXRWYXJpYWJsZSgnbW9kZScsICdjaGFuZ2VzJyk7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdyZXN1bHQnLCB0cnVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc1dvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ3N0YXJ0JyxcbiAgICBzdGVwczoge1xuICAgICAgICBzdGFydDoge1xuICAgICAgICAgICAgYWN0aW9uOiAnc2hvdy1lbnRpdHktcmVjb3Jkcy1jb21wYXJlLWFjdGlvbicsXG4gICAgICAgICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJyZXN1bHRcIikgPT0gdHJ1ZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXBvcHVwJyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1wb3B1cCc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3Nob3ctY29tcGFyZS1wb3B1cC1hY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuXG5leHBvcnQgY29uc3QgQVhNQ29tcGFyZUVudGl0eVJlY29yZFZlcnNpb25zV29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnc3RhcnQnLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgIHN0YXJ0OiB7XG4gICAgICAgICAgICBhY3Rpb246ICdzaG93LWVudGl0eS1yZWNvcmQtdmVyc2lvbnMtY29tcGFyZS1hY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwicmVzdWx0XCIpID09IHRydWUnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1wb3B1cCcsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctcG9wdXAnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdzaG93LWNvbXBhcmUtcG9wdXAtYWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICB9LFxufTsgXG5cbi8vIFV0aWxpdGllc1xuZnVuY3Rpb24gZ2V0QnlQYXRoKG9iajogYW55LCBwYXRoOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGxldCBjdXJyID0gb2JqO1xuICAgIGZvciAoY29uc3QgcCBvZiBwYXJ0cykge1xuICAgICAgICBpZiAoY3VyciA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjdXJyID0gY3VycltwXTtcbiAgICB9XG4gICAgcmV0dXJuIGN1cnI7XG59XG5cbmZ1bmN0aW9uIHNldEJ5UGF0aChvYmo6IGFueSwgcGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgbGV0IGN1cnIgPSBvYmo7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgY29uc3QgcCA9IHBhcnRzW2ldO1xuICAgICAgICBpZiAoY3VycltwXSA9PSBudWxsKSBjdXJyW3BdID0ge307XG4gICAgICAgIGN1cnIgPSBjdXJyW3BdO1xuICAgIH1cbiAgICBjdXJyW3BhcnRzW3BhcnRzLmxlbmd0aCAtIDFdXSA9IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBtYXBGaWxlc0ZvclZpZXcoZmlsZXM6IGFueVtdKTogQVhQRmlsZUxpc3RJdGVtW10ge1xuICAgIHJldHVybiBmaWxlcy5tYXA8QVhQRmlsZUxpc3RJdGVtPigoZikgPT4gKHtcbiAgICAgICAgaWQ6IGYuaWQsXG4gICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgc2l6ZTogZi5zaXplLFxuICAgICAgICBzdGF0dXM6ICdyZW1vdGUnLFxuICAgICAgICBzb3VyY2U6IHsga2luZDogJ3VybCcsIHZhbHVlOiBmLnVybCB9LFxuICAgIH0pKTtcbn1cbiJdfQ==","import { AXPEntityCommandScope } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nexport const comparePlugin = {\n name: 'compare',\n order: 50,\n apply: (ctx) => {\n ensureListActions(ctx);\n ctx.interfaces.update((i) => {\n const actions = i.master.list.actions;\n const cmdName = 'show-entity-records-compare';\n if (!actionExists(actions, cmdName)) {\n actions.push({\n title: '@activity-log:actions.compare-records',\n command: { name: cmdName },\n priority: 'secondary',\n type: 'compare',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n return i;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMEI7SUFDaEQsSUFBSSxFQUFFLFNBQVM7SUFDZixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ1gsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBSSxDQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFnQixDQUFDO1lBQ3hELE1BQU0sT0FBTyxHQUFHLDZCQUE2QixDQUFDO1lBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1QsS0FBSyxFQUFFLHVDQUF1QztvQkFDOUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtvQkFDMUIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxTQUFTO29CQUNmLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxRQUFRO2lCQUN4QyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsT0FBTyxDQUFRLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eUNvbW1hbmRTY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eUFjdGlvblBsdWdpbiwgZW5zdXJlTGlzdEFjdGlvbnMsIGFjdGlvbkV4aXN0cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBjb21wYXJlUGx1Z2luOiBBWFBFbnRpdHlBY3Rpb25QbHVnaW4gPSB7XG4gICAgbmFtZTogJ2NvbXBhcmUnLFxuICAgIG9yZGVyOiA1MCxcbiAgICBhcHBseTogKGN0eCkgPT4ge1xuICAgICAgICBlbnN1cmVMaXN0QWN0aW9ucyhjdHgpO1xuICAgICAgICBjdHguaW50ZXJmYWNlcy51cGRhdGUoKGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlci5saXN0LmFjdGlvbnMgYXMgYW55W107XG4gICAgICAgICAgICBjb25zdCBjbWROYW1lID0gJ3Nob3ctZW50aXR5LXJlY29yZHMtY29tcGFyZSc7XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhhY3Rpb25zLCBjbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGFjdGl2aXR5LWxvZzphY3Rpb25zLmNvbXBhcmUtcmVjb3JkcycsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHsgbmFtZTogY21kTmFtZSB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjb21wYXJlJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpIGFzIGFueTtcbiAgICAgICAgfSk7XG4gICAgfSxcbn07XG5cblxuIl19","import { NgModule } from '@angular/core';\nimport { AXPComparePopupComponent } from './compare-popup.component';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMCompareEntityRecordsAction, AXMCompareEntityRecordsWorkflow, AXMCompareEntityRecordVersionsAction, AXMCompareEntityRecordVersionsWorkflow, AXMComparePopupStartAction } from './workflows/compare.workflow';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { comparePlugin } from './compare.plugin';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPCompareModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCompareModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCompareModule, imports: [AXPComparePopupComponent, i1.AXPWorkflowModule], exports: [AXPComparePopupComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCompareModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: comparePlugin },\n ], imports: [AXPComparePopupComponent,\n AXPWorkflowModule.forChild({\n actions: {\n 'show-compare-popup-action': AXMComparePopupStartAction,\n 'show-entity-records-compare-action': AXMCompareEntityRecordsAction,\n 'show-entity-record-versions-compare-action': AXMCompareEntityRecordVersionsAction,\n },\n workflows: {\n 'show-entity-records-compare': AXMCompareEntityRecordsWorkflow,\n 'show-entity-record-versions-compare': AXMCompareEntityRecordVersionsWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCompareModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPComparePopupComponent,\n AXPWorkflowModule.forChild({\n actions: {\n 'show-compare-popup-action': AXMComparePopupStartAction,\n 'show-entity-records-compare-action': AXMCompareEntityRecordsAction,\n 'show-entity-record-versions-compare-action': AXMCompareEntityRecordVersionsAction,\n },\n workflows: {\n 'show-entity-records-compare': AXMCompareEntityRecordsWorkflow,\n 'show-entity-record-versions-compare': AXMCompareEntityRecordVersionsWorkflow,\n },\n }),\n ],\n exports: [AXPComparePopupComponent],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: comparePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwrQkFBK0IsRUFBRSxvQ0FBb0MsRUFBRSxzQ0FBc0MsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hOLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBc0JqRCxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQWxCckIsd0JBQXdCLG1DQWFsQix3QkFBd0I7K0dBS3pCLGdCQUFnQixhQUpkO1lBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO1NBQzlFLFlBaEJHLHdCQUF3QjtZQUN4QixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDTCwyQkFBMkIsRUFBRSwwQkFBMEI7b0JBQ3ZELG9DQUFvQyxFQUFFLDZCQUE2QjtvQkFDbkUsNENBQTRDLEVBQUUsb0NBQW9DO2lCQUNyRjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsNkJBQTZCLEVBQUUsK0JBQStCO29CQUM5RCxxQ0FBcUMsRUFBRSxzQ0FBc0M7aUJBQ2hGO2FBQ0osQ0FBQzs7MkZBT0csZ0JBQWdCO2tCQXBCNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsd0JBQXdCO3dCQUN4QixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3ZCLE9BQU8sRUFBRTtnQ0FDTCwyQkFBMkIsRUFBRSwwQkFBMEI7Z0NBQ3ZELG9DQUFvQyxFQUFFLDZCQUE2QjtnQ0FDbkUsNENBQTRDLEVBQUUsb0NBQW9DOzZCQUNyRjs0QkFDRCxTQUFTLEVBQUU7Z0NBQ1AsNkJBQTZCLEVBQUUsK0JBQStCO2dDQUM5RCxxQ0FBcUMsRUFBRSxzQ0FBc0M7NkJBQ2hGO3lCQUNKLENBQUM7cUJBQ0w7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7cUJBQzlFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUENvbXBhcmVQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vY29tcGFyZS1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRzQWN0aW9uLCBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc1dvcmtmbG93LCBBWE1Db21wYXJlRW50aXR5UmVjb3JkVmVyc2lvbnNBY3Rpb24sIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc1dvcmtmbG93LCBBWE1Db21wYXJlUG9wdXBTdGFydEFjdGlvbiB9IGZyb20gJy4vd29ya2Zsb3dzL2NvbXBhcmUud29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IGNvbXBhcmVQbHVnaW4gfSBmcm9tICcuL2NvbXBhcmUucGx1Z2luJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEFYUENvbXBhcmVQb3B1cENvbXBvbmVudCxcbiAgICAgICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgICAgICAgYWN0aW9uczoge1xuICAgICAgICAgICAgICAgICdzaG93LWNvbXBhcmUtcG9wdXAtYWN0aW9uJzogQVhNQ29tcGFyZVBvcHVwU3RhcnRBY3Rpb24sXG4gICAgICAgICAgICAgICAgJ3Nob3ctZW50aXR5LXJlY29yZHMtY29tcGFyZS1hY3Rpb24nOiBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc0FjdGlvbixcbiAgICAgICAgICAgICAgICAnc2hvdy1lbnRpdHktcmVjb3JkLXZlcnNpb25zLWNvbXBhcmUtYWN0aW9uJzogQVhNQ29tcGFyZUVudGl0eVJlY29yZFZlcnNpb25zQWN0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAgICAgICAgICdzaG93LWVudGl0eS1yZWNvcmRzLWNvbXBhcmUnOiBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc1dvcmtmbG93LFxuICAgICAgICAgICAgICAgICdzaG93LWVudGl0eS1yZWNvcmQtdmVyc2lvbnMtY29tcGFyZSc6IEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc1dvcmtmbG93LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBleHBvcnRzOiBbQVhQQ29tcGFyZVBvcHVwQ29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogY29tcGFyZVBsdWdpbiB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBhcmVNb2R1bGUgeyB9ICJdfQ==","import { AXPExpressionEvaluatorService, getSmart } from '@acorex/platform/core';\nimport { AXPEntityDefinitionRegistryService, AXP_ENTITY_STORAGE_BACKEND, } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { get, set } from 'lodash-es';\nfunction extractTemplateTokens(template) {\n const tokens = [];\n if (!template) {\n return tokens;\n }\n const regex = /\\{\\{\\s*([\\s\\S]*?)\\s*\\}\\}/g; // capture lazily until closing }}\n let match;\n while ((match = regex.exec(template)) !== null) {\n const token = (match[1] || '').trim();\n if (token) {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction getRootFromPath(path) {\n const trimmed = path.trim();\n const clean = trimmed.replace(/^context\\.eval\\(['\"]|['\"]\\)$/g, '');\n const first = clean.split('.')[0];\n return first.replace(/\\{.*\\}$/, '');\n}\nfunction defaultIdField(dataPath) {\n const leaf = (dataPath || '').split('.').filter(Boolean).pop() || 'related';\n return `${leaf}Id`;\n}\nexport const computedPropertiesMiddleware = {\n target: { ops: ['getOne', 'getAll', 'query'], order: 12 },\n execute: async (ctx, next) => {\n const backend = inject(AXP_ENTITY_STORAGE_BACKEND);\n const registry = inject(AXPEntityDefinitionRegistryService);\n const expressionEvaluator = inject(AXPExpressionEvaluatorService);\n await next();\n try {\n const [moduleName, entityName] = ctx.entityName.split('.');\n const def = await registry.resolve(moduleName, entityName);\n const plugin = (def?.plugins || []).find((p) => p?.name === 'computed-property');\n if (!plugin?.options?.['fields']?.length)\n return;\n const fields = plugin.options['fields'];\n const related = def?.relatedEntities || [];\n const rows = Array.isArray(ctx.result)\n ? ctx.result\n : Array.isArray(ctx.result?.items)\n ? ctx.result.items\n : ctx.result\n ? [ctx.result]\n : [];\n if (!rows.length)\n return;\n // Pre-hydrate merge-detail children used by fields (by root token)\n const roots = new Set();\n for (const f of fields) {\n const tokens = extractTemplateTokens(f.value);\n tokens.forEach((t) => roots.add(getRootFromPath(t)));\n }\n // For merge-detail referenced children, batch hydrate\n for (const root of roots) {\n const re = related.find((r) => r?.persistence?.dataPath === root && (r?.persistence?.strategy || 'embedded') === 'referenced');\n if (!re)\n continue;\n const p = re.persistence || {};\n const idField = p.idField || defaultIdField(p.dataPath);\n const ids = Array.from(new Set(rows.map((r) => get(r, idField)).filter((v) => v != null)));\n if (!ids.length)\n continue;\n try {\n const resp = await backend.query(re.entity, {\n skip: 0,\n take: ids.length || 1000,\n filter: { field: 'id', operator: { type: 'in' }, value: ids },\n });\n const items = resp?.items ?? [];\n const map = new Map();\n for (const it of items)\n map.set(it.id, it);\n for (const row of rows) {\n const cid = get(row, idField);\n if (!cid)\n continue;\n const child = map.get(cid);\n if (child && p?.dataPath)\n set(row, p.dataPath, child);\n }\n }\n catch { }\n }\n // Compute per field for each row\n for (const row of rows) {\n for (const f of fields) {\n const tokens = extractTemplateTokens(f.value);\n // Try to ensure data availability for each token\n for (const t of tokens) {\n const raw = String(t).trim();\n const path = raw.replace(/^context\\.eval\\(['\"]|['\"]\\)$/g, '');\n const root = getRootFromPath(path);\n let current = getSmart(row, root);\n if (current == null) {\n // Try merge-detail already covered above. If still missing, try list-related entities by entity name\n const reList = related.find((r) => (r?.layout?.type === 'page-list' || r?.layout?.type === 'tab-list') &&\n r?.persistence?.dataPath === root);\n if (reList) {\n // Build filters: reList.conditions + field.conditions\n const baseFilters = (reList.conditions ?? []).map((c) => ({ ...c }));\n const extraFilters = (f.conditions ?? []).map((c) => ({ ...c }));\n const buildScope = () => ({ ...(row ?? {}), context: { eval: (path) => get(row, path) } });\n const evaluateValue = async (val) => {\n if (typeof val === 'string' && expressionEvaluator.isExpression(val)) {\n return await expressionEvaluator.evaluate(val, buildScope());\n }\n return val;\n };\n let allFilters = await Promise.all([...baseFilters, ...extraFilters].map(async (fl) => ({\n field: fl.name ?? fl.field,\n operator: fl.operator,\n value: await evaluateValue(fl.value),\n })));\n // If no explicit parent filter exists, infer it: child.parentKey == row.id\n try {\n const [cm, ce] = (reList.entity || '').split('.');\n const childDef = await registry.resolve(cm, ce);\n const parentKey = childDef?.parentKey;\n if (parentKey && !allFilters.some((fl) => fl.field === parentKey)) {\n allFilters.push({ field: parentKey, operator: { type: 'equal' }, value: row?.id });\n }\n }\n catch { }\n try {\n const resp = await backend.query(reList.entity, {\n skip: 0,\n take: 1000,\n filter: allFilters.length ? { logic: 'and', filters: allFilters } : undefined,\n });\n const items = resp?.items ?? [];\n set(row, root, items);\n }\n catch { }\n }\n }\n }\n // Evaluate template and set computed value using expression evaluator\n const scope = {\n ...(row ?? {}),\n context: {\n eval: (path) => {\n return getSmart(row, path);\n },\n },\n };\n const evaluated = await expressionEvaluator.evaluate(f.value, scope);\n set(row, f.name, evaluated || undefined);\n }\n }\n }\n catch {\n // swallow to avoid breaking main flow\n }\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJvcGVydGllcy5taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NvbXB1dGVkLXByb3BlcnRpZXMvY29tcHV0ZWQtcHJvcGVydGllcy5taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQ0wsa0NBQWtDLEVBRWxDLDBCQUEwQixHQUMzQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsU0FBUyxxQkFBcUIsQ0FBQyxRQUFnQjtJQUM3QyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLDJCQUEyQixDQUFDLENBQUMsa0NBQWtDO0lBQzdFLElBQUksS0FBNkIsQ0FBQztJQUNsQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFF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LENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDckUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1Asc0NBQXNDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTZXJ2aWNlLCBnZXRTbWFydCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQge1xuICBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlLFxuICBBWFBFbnRpdHlTdG9yYWdlTWlkZGxld2FyZSxcbiAgQVhQX0VOVElUWV9TVE9SQUdFX0JBQ0tFTkQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZnVuY3Rpb24gZXh0cmFjdFRlbXBsYXRlVG9rZW5zKHRlbXBsYXRlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHRva2Vuczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgIHJldHVybiB0b2tlbnM7XG4gIH1cbiAgY29uc3QgcmVnZXggPSAvXFx7XFx7XFxzKihbXFxzXFxTXSo/KVxccypcXH1cXH0vZzsgLy8gY2FwdHVyZSBsYXppbHkgdW50aWwgY2xvc2luZyB9fVxuICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XG4gIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKHRlbXBsYXRlKSkgIT09IG51bGwpIHtcbiAgICBjb25zdCB0b2tlbiA9IChtYXRjaFsxXSB8fCAnJykudHJpbSgpO1xuICAgIGlmICh0b2tlbikge1xuICAgICAgdG9rZW5zLnB1c2godG9rZW4pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdG9rZW5zO1xufVxuXG5mdW5jdGlvbiBnZXRSb290RnJvbVBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdHJpbW1lZCA9IHBhdGgudHJpbSgpO1xuICBjb25zdCBjbGVhbiA9IHRyaW1tZWQucmVwbGFjZSgvXmNvbnRleHRcXC5ldmFsXFwoWydcIl18WydcIl1cXCkkL2csICcnKTtcbiAgY29uc3QgZmlyc3QgPSBjbGVhbi5zcGxpdCgnLicpWzBdO1xuICByZXR1cm4gZmlyc3QucmVwbGFjZSgvXFx7LipcXH0kLywgJycpO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0SWRGaWVsZChkYXRhUGF0aD86IHN0cmluZykge1xuICBjb25zdCBsZWFmID0gKGRhdGFQYXRoIHx8ICcnKS5zcGxpdCgnLicpLmZpbHRlcihCb29sZWFuKS5wb3AoKSB8fCAncmVsYXRlZCc7XG4gIHJldHVybiBgJHtsZWFmfUlkYDtcbn1cblxuZXhwb3J0IGNvbnN0IGNvbXB1dGVkUHJvcGVydGllc01pZGRsZXdhcmU6IEFYUEVudGl0eVN0b3JhZ2VNaWRkbGV3YXJlID0ge1xuICB0YXJnZXQ6IHsgb3BzOiBbJ2dldE9uZScsICdnZXRBbGwnLCAncXVlcnknXSwgb3JkZXI6IDEyIH0sXG4gIGV4ZWN1dGU6IGFzeW5jIChjdHgsIG5leHQpID0+IHtcbiAgICBjb25zdCBiYWNrZW5kID0gaW5qZWN0KEFYUF9FTlRJVFlfU1RPUkFHRV9CQUNLRU5EKTtcbiAgICBjb25zdCByZWdpc3RyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgICBjb25zdCBleHByZXNzaW9uRXZhbHVhdG9yID0gaW5qZWN0KEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTZXJ2aWNlKTtcblxuICAgIGF3YWl0IG5leHQoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSBjdHguZW50aXR5TmFtZS5zcGxpdCgnLicpO1xuICAgICAgY29uc3QgZGVmOiBBWFBFbnRpdHkgPSBhd2FpdCByZWdpc3RyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgICAgY29uc3QgcGx1Z2luID0gKGRlZj8ucGx1Z2lucyB8fCBbXSkuZmluZCgocDogYW55KSA9PiBwPy5uYW1lID09PSAnY29tcHV0ZWQtcHJvcGVydHknKTtcbiAgICAgIGlmICghcGx1Z2luPy5vcHRpb25zPy5bJ2ZpZWxkcyddPy5sZW5ndGgpIHJldHVybjtcbiAgICAgIGNvbnN0IGZpZWxkczogQXJyYXk8YW55PiA9IHBsdWdpbi5vcHRpb25zWydmaWVsZHMnXTtcblxuICAgICAgY29uc3QgcmVsYXRlZDogYW55W10gPSBkZWY/LnJlbGF0ZWRFbnRpdGllcyB8fCBbXTtcblxuICAgICAgY29uc3Qgcm93czogYW55W10gPSBBcnJheS5pc0FycmF5KGN0eC5yZXN1bHQpXG4gICAgICAgID8gY3R4LnJlc3VsdFxuICAgICAgICA6IEFycmF5LmlzQXJyYXkoY3R4LnJlc3VsdD8uaXRlbXMpXG4gICAgICAgICAgPyBjdHgucmVzdWx0Lml0ZW1zXG4gICAgICAgICAgOiBjdHgucmVzdWx0XG4gICAgICAgICAgICA/IFtjdHgucmVzdWx0XVxuICAgICAgICAgICAgOiBbXTtcblxuICAgICAgaWYgKCFyb3dzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAvLyBQcmUtaHlkcmF0ZSBtZXJnZS1kZXRhaWwgY2hpbGRyZW4gdXNlZCBieSBmaWVsZHMgKGJ5IHJvb3QgdG9rZW4pXG4gICAgICBjb25zdCByb290cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgZm9yIChjb25zdCBmIG9mIGZpZWxkcykge1xuICAgICAgICBjb25zdCB0b2tlbnMgPSBleHRyYWN0VGVtcGxhdGVUb2tlbnMoZi52YWx1ZSk7XG4gICAgICAgIHRva2Vucy5mb3JFYWNoKCh0KSA9PiByb290cy5hZGQoZ2V0Um9vdEZyb21QYXRoKHQpKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEZvciBtZXJnZS1kZXRhaWwgcmVmZXJlbmNlZCBjaGlsZHJlbiwgYmF0Y2ggaHlkcmF0ZVxuICAgICAgZm9yIChjb25zdCByb290IG9mIHJvb3RzKSB7XG4gICAgICAgIGNvbnN0IHJlID0gcmVsYXRlZC5maW5kKFxuICAgICAgICAgIChyOiBhbnkpID0+IHI/LnBlcnNpc3RlbmNlPy5kYXRhUGF0aCA9PT0gcm9vdCAmJiAocj8ucGVyc2lzdGVuY2U/LnN0cmF0ZWd5IHx8ICdlbWJlZGRlZCcpID09PSAncmVmZXJlbmNlZCcsXG4gICAgICAgICk7XG4gICAgICAgIGlmICghcmUpIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBwID0gcmUucGVyc2lzdGVuY2UgfHwge307XG4gICAgICAgIGNvbnN0IGlkRmllbGQgPSBwLmlkRmllbGQgfHwgZGVmYXVsdElkRmllbGQocC5kYXRhUGF0aCk7XG4gICAgICAgIGNvbnN0IGlkcyA9IEFycmF5LmZyb20obmV3IFNldChyb3dzLm1hcCgocikgPT4gZ2V0KHIsIGlkRmllbGQpKS5maWx0ZXIoKHYpID0+IHYgIT0gbnVsbCkpKTtcbiAgICAgICAgaWYgKCFpZHMubGVuZ3RoKSBjb250aW51ZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgYmFja2VuZC5xdWVyeShyZS5lbnRpdHksIHtcbiAgICAgICAgICAgIHNraXA6IDAsXG4gICAgICAgICAgICB0YWtlOiBpZHMubGVuZ3RoIHx8IDEwMDAsXG4gICAgICAgICAgICBmaWx0ZXI6IHsgZmllbGQ6ICdpZCcsIG9wZXJhdG9yOiB7IHR5cGU6ICdpbicgfSwgdmFsdWU6IGlkcyB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gcmVzcD8uaXRlbXMgPz8gW107XG4gICAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcDxhbnksIGFueT4oKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IGl0IG9mIGl0ZW1zKSBtYXAuc2V0KChpdCBhcyBhbnkpLmlkLCBpdCk7XG4gICAgICAgICAgZm9yIChjb25zdCByb3cgb2Ygcm93cykge1xuICAgICAgICAgICAgY29uc3QgY2lkID0gZ2V0KHJvdywgaWRGaWVsZCk7XG4gICAgICAgICAgICBpZiAoIWNpZCkgY29udGludWU7XG4gICAgICAgICAgICBjb25zdCBjaGlsZCA9IG1hcC5nZXQoY2lkKTtcbiAgICAgICAgICAgIGlmIChjaGlsZCAmJiBwPy5kYXRhUGF0aCkgc2V0KHJvdywgcC5kYXRhUGF0aCwgY2hpbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgfVxuXG4gICAgICAvLyBDb21wdXRlIHBlciBmaWVsZCBmb3IgZWFjaCByb3dcbiAgICAgIGZvciAoY29uc3Qgcm93IG9mIHJvd3MpIHtcbiAgICAgICAgZm9yIChjb25zdCBmIG9mIGZpZWxkcykge1xuICAgICAgICAgIGNvbnN0IHRva2VucyA9IGV4dHJhY3RUZW1wbGF0ZVRva2VucyhmLnZhbHVlKTtcbiAgICAgICAgICAvLyBUcnkgdG8gZW5zdXJlIGRhdGEgYXZhaWxhYmlsaXR5IGZvciBlYWNoIHRva2VuXG4gICAgICAgICAgZm9yIChjb25zdCB0IG9mIHRva2Vucykge1xuICAgICAgICAgICAgY29uc3QgcmF3ID0gU3RyaW5nKHQpLnRyaW0oKTtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSByYXcucmVwbGFjZSgvXmNvbnRleHRcXC5ldmFsXFwoWydcIl18WydcIl1cXCkkL2csICcnKTtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBnZXRSb290RnJvbVBhdGgocGF0aCk7XG4gICAgICAgICAgICBsZXQgY3VycmVudCA9IGdldFNtYXJ0KHJvdywgcm9vdCk7XG4gICAgICAgICAgICBpZiAoY3VycmVudCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRyeSBtZXJnZS1kZXRhaWwgYWxyZWFkeSBjb3ZlcmVkIGFib3ZlLiBJZiBzdGlsbCBtaXNzaW5nLCB0cnkgbGlzdC1yZWxhdGVkIGVudGl0aWVzIGJ5IGVudGl0eSBuYW1lXG4gICAgICAgICAgICAgIGNvbnN0IHJlTGlzdCA9IHJlbGF0ZWQuZmluZChcbiAgICAgICAgICAgICAgICAocjogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgKHI/LmxheW91dD8udHlwZSA9PT0gJ3BhZ2UtbGlzdCcgfHwgcj8ubGF5b3V0Py50eXBlID09PSAndGFiLWxpc3QnKSAmJlxuICAgICAgICAgICAgICAgICAgcj8ucGVyc2lzdGVuY2U/LmRhdGFQYXRoID09PSByb290LFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBpZiAocmVMaXN0KSB7XG4gICAgICAgICAgICAgICAgLy8gQnVpbGQgZmlsdGVyczogcmVMaXN0LmNvbmRpdGlvbnMgKyBmaWVsZC5jb25kaXRpb25zXG4gICAgICAgICAgICAgICAgY29uc3QgYmFzZUZpbHRlcnMgPSAocmVMaXN0LmNvbmRpdGlvbnMgPz8gW10pLm1hcCgoYzogYW55KSA9PiAoeyAuLi5jIH0pKTtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRyYUZpbHRlcnMgPSAoZi5jb25kaXRpb25zID8/IFtdKS5tYXAoKGM6IGFueSkgPT4gKHsgLi4uYyB9KSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYnVpbGRTY29wZSA9ICgpID0+ICh7IC4uLihyb3cgPz8ge30pLCBjb250ZXh0OiB7IGV2YWw6IChwYXRoOiBzdHJpbmcpID0+IGdldChyb3csIHBhdGgpIH0gfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZXZhbHVhdGVWYWx1ZSA9IGFzeW5jICh2YWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnICYmIGV4cHJlc3Npb25FdmFsdWF0b3IuaXNFeHByZXNzaW9uKHZhbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGV4cHJlc3Npb25FdmFsdWF0b3IuZXZhbHVhdGUodmFsLCBidWlsZFNjb3BlKCkgYXMgYW55KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiB2YWw7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBsZXQgYWxsRmlsdGVycyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICAgICAgWy4uLmJhc2VGaWx0ZXJzLCAuLi5leHRyYUZpbHRlcnNdLm1hcChhc3luYyAoZmw6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGZsLm5hbWUgPz8gZmwuZmllbGQsXG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBmbC5vcGVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGF3YWl0IGV2YWx1YXRlVmFsdWUoZmwudmFsdWUpLFxuICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBJZiBubyBleHBsaWNpdCBwYXJlbnQgZmlsdGVyIGV4aXN0cywgaW5mZXIgaXQ6IGNoaWxkLnBhcmVudEtleSA9PSByb3cuaWRcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgW2NtLCBjZV0gPSAocmVMaXN0LmVudGl0eSB8fCAnJykuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkRGVmOiBhbnkgPSBhd2FpdCByZWdpc3RyeS5yZXNvbHZlKGNtLCBjZSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGNoaWxkRGVmPy5wYXJlbnRLZXk7XG4gICAgICAgICAgICAgICAgICBpZiAocGFyZW50S2V5ICYmICFhbGxGaWx0ZXJzLnNvbWUoKGZsOiBhbnkpID0+IGZsLmZpZWxkID09PSBwYXJlbnRLZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFsbEZpbHRlcnMucHVzaCh7IGZpZWxkOiBwYXJlbnRLZXksIG9wZXJhdG9yOiB7IHR5cGU6ICdlcXVhbCcgfSwgdmFsdWU6IHJvdz8uaWQgfSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgYmFja2VuZC5xdWVyeShyZUxpc3QuZW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAgIHNraXA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRha2U6IDEwMDAsXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogYWxsRmlsdGVycy5sZW5ndGggPyB7IGxvZ2ljOiAnYW5kJywgZmlsdGVyczogYWxsRmlsdGVycyB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IHJlc3A/Lml0ZW1zID8/IFtdO1xuICAgICAgICAgICAgICAgICAgc2V0KHJvdywgcm9vdCwgaXRlbXMpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2gge31cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEV2YWx1YXRlIHRlbXBsYXRlIGFuZCBzZXQgY29tcHV0ZWQgdmFsdWUgdXNpbmcgZXhwcmVzc2lvbiBldmFsdWF0b3JcbiAgICAgICAgICBjb25zdCBzY29wZTogYW55ID0ge1xuICAgICAgICAgICAgLi4uKHJvdyA/PyB7fSksXG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgIGV2YWw6IChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U21hcnQocm93LCBwYXRoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBldmFsdWF0ZWQgPSBhd2FpdCBleHByZXNzaW9uRXZhbHVhdG9yLmV2YWx1YXRlKGYudmFsdWUsIHNjb3BlKTtcbiAgICAgICAgICBzZXQocm93LCBmLm5hbWUsIGV2YWx1YXRlZCB8fCB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBzd2FsbG93IHRvIGF2b2lkIGJyZWFraW5nIG1haW4gZmxvd1xuICAgIH1cbiAgfSxcbn07XG4iXX0=","//#endregion\n//#region ---- Plugin ----\nexport const computedPropertiesPlugin = {\n name: 'computed-property',\n order: 55,\n apply: (ctx, options) => {\n const fields = options?.fields ?? [];\n if (!fields.length) {\n return;\n }\n // Ensure default group exists\n const defaultGroupId = 'additional';\n const ensureGroup = (group) => {\n const id = group?.id || defaultGroupId;\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === id)) {\n ctx.groups.add({ id, title: group?.title });\n }\n return id;\n };\n for (const f of fields) {\n const groupId = ensureGroup(f.group || { id: defaultGroupId });\n // If group is newly created and a custom title is provided, update it\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId) && f.group?.title) {\n ctx.groups.add({ id: groupId, title: f.group.title });\n }\n // Ensure property exists on entity\n const existing = ctx.properties.list().some((p) => p.name === f.name);\n if (!existing) {\n ctx.properties.add({\n name: f.name,\n title: f.title,\n groupId,\n schema: {\n dataType: 'string',\n readonly: true,\n defaultValue: f.value,\n interface: {\n type: f.showAs?.type || 'text-editor',\n options: { ...(f.showAs?.options ?? {}), readonly: true },\n },\n },\n });\n }\n // Ensure the field appears in list columns\n const entityAny = ctx.entity;\n const currentColumns = Array.isArray(entityAny.columns) ? entityAny.columns : [];\n const hasColumn = currentColumns.some((c) => (typeof c === 'string' ? c === f.name : c?.name === f.name));\n if (!hasColumn) {\n entityAny.columns = [...currentColumns, { name: f.name }];\n }\n // Ensure Single (details) view shows it\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId, order: 90 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === f.name)) {\n next.properties.push({\n name: f.name,\n layout: {\n positions: { lg: { colSpan: f.layout?.colSpan ?? 12, order: f.layout?.order ?? 99 } },\n label: { visible: true },\n },\n });\n }\n return next;\n });\n }\n },\n};\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJvcGVydGllcy5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcHV0ZWQtcHJvcGVydGllcy9jb21wdXRlZC1wcm9wZXJ0aWVzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QkEsWUFBWTtBQUVaLDhCQUE4QjtBQUU5QixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBMEI7SUFDN0QsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUE0QyxFQUFFLEVBQUU7UUFDM0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUVELDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUM7UUFDcEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsSUFBSSxjQUFjLENBQUM7WUFDdkMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQVMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FB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QUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQzt3QkFDbkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3dCQUNaLE1BQU0sRUFBRTs0QkFDTixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsRUFBRTs0QkFDckYsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTt5QkFDekI7cUJBQ0YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQztBQUVGLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBXaWRnZXRUeXBlc01hcCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldC1jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eUFjdGlvblBsdWdpbiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgVHlwZXMgICAtLS0tXG5cbmV4cG9ydCB0eXBlIEFYUENvbXB1dGVkUHJvcGVydHlGaWVsZCA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nOyAvLyBFeHByZXNzaW9uLXN1cHBvcnRlZCBzdHJpbmcsIGUuZy4gXCJ7eyBjb250ZXh0LmV2YWwoJy4uLicpIH19XCJcbiAgZ3JvdXA6IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gIH07XG4gIGxheW91dD86IHsgb3JkZXI/OiBudW1iZXI7IGNvbFNwYW4/OiBudW1iZXIgfTtcbiAgY29uZGl0aW9ucz86IGFueVtdOyAvLyBSZXNlcnZlZCBmb3IgZnV0dXJlIGxvZ2ljICh2aXNpYmlsaXR5L2NhbGN1bGF0aW9uKVxuICBzaG93QXM/OiB7XG4gICAgdHlwZTogQVhQV2lkZ2V0VHlwZXNNYXBba2V5b2YgQVhQV2lkZ2V0VHlwZXNNYXBdIHwgc3RyaW5nO1xuICAgIG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQVhQQ29tcHV0ZWRQcm9wZXJ0aWVzUGx1Z2luT3B0aW9ucyA9IHtcbiAgZmllbGRzPzogQVhQQ29tcHV0ZWRQcm9wZXJ0eUZpZWxkW107XG59O1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBQbHVnaW4gICAtLS0tXG5cbmV4cG9ydCBjb25zdCBjb21wdXRlZFByb3BlcnRpZXNQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgbmFtZTogJ2NvbXB1dGVkLXByb3BlcnR5JyxcbiAgb3JkZXI6IDU1LFxuICBhcHBseTogKGN0eCwgb3B0aW9ucz86IEFYUENvbXB1dGVkUHJvcGVydGllc1BsdWdpbk9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBmaWVsZHMgPSBvcHRpb25zPy5maWVsZHMgPz8gW107XG4gICAgaWYgKCFmaWVsZHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIGRlZmF1bHQgZ3JvdXAgZXhpc3RzXG4gICAgY29uc3QgZGVmYXVsdEdyb3VwSWQgPSAnYWRkaXRpb25hbCc7XG4gICAgY29uc3QgZW5zdXJlR3JvdXAgPSAoZ3JvdXA6IHsgaWQ6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9KSA9PiB7XG4gICAgICBjb25zdCBpZCA9IGdyb3VwPy5pZCB8fCBkZWZhdWx0R3JvdXBJZDtcbiAgICAgIGNvbnN0IGdyb3VwcyA9IGN0eC5ncm91cHMubGlzdCgpID8/IFtdO1xuICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBpZCkpIHtcbiAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZCwgdGl0bGU6IGdyb3VwPy50aXRsZSB9IGFzIGFueSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaWQ7XG4gICAgfTtcblxuICAgIGZvciAoY29uc3QgZiBvZiBmaWVsZHMpIHtcbiAgICAgIGNvbnN0IGdyb3VwSWQgPSBlbnN1cmVHcm91cChmLmdyb3VwIHx8IHsgaWQ6IGRlZmF1bHRHcm91cElkIH0pO1xuICAgICAgLy8gSWYgZ3JvdXAgaXMgbmV3bHkgY3JlYXRlZCBhbmQgYSBjdXN0b20gdGl0bGUgaXMgcHJvdmlkZWQsIHVwZGF0ZSBpdFxuICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICBpZiAoIWdyb3Vwcy5zb21lKChnOiBhbnkpID0+IGcuaWQgPT09IGdyb3VwSWQpICYmIGYuZ3JvdXA/LnRpdGxlKSB7XG4gICAgICAgIGN0eC5ncm91cHMuYWRkKHsgaWQ6IGdyb3VwSWQsIHRpdGxlOiBmLmdyb3VwLnRpdGxlIH0gYXMgYW55KTtcbiAgICAgIH1cblxuICAgICAgLy8gRW5zdXJlIHByb3BlcnR5IGV4aXN0cyBvbiBlbnRpdHlcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gY3R4LnByb3BlcnRpZXMubGlzdCgpLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSBmLm5hbWUpO1xuICAgICAgaWYgKCFleGlzdGluZykge1xuICAgICAgICBjdHgucHJvcGVydGllcy5hZGQoe1xuICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICB0aXRsZTogZi50aXRsZSxcbiAgICAgICAgICBncm91cElkLFxuXG4gICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZi52YWx1ZSxcbiAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICB0eXBlOiBmLnNob3dBcz8udHlwZSB8fCAndGV4dC1lZGl0b3InLFxuICAgICAgICAgICAgICBvcHRpb25zOiB7IC4uLihmLnNob3dBcz8ub3B0aW9ucyA/PyB7fSksIHJlYWRvbmx5OiB0cnVlIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0gYXMgYW55KTtcbiAgICAgIH1cblxuICAgICAgLy8gRW5zdXJlIHRoZSBmaWVsZCBhcHBlYXJzIGluIGxpc3QgY29sdW1uc1xuICAgICAgY29uc3QgZW50aXR5QW55OiBhbnkgPSBjdHguZW50aXR5IGFzIGFueTtcbiAgICAgIGNvbnN0IGN1cnJlbnRDb2x1bW5zOiBhbnlbXSA9IEFycmF5LmlzQXJyYXkoZW50aXR5QW55LmNvbHVtbnMpID8gZW50aXR5QW55LmNvbHVtbnMgOiBbXTtcbiAgICAgIGNvbnN0IGhhc0NvbHVtbiA9IGN1cnJlbnRDb2x1bW5zLnNvbWUoKGM6IGFueSkgPT4gKHR5cGVvZiBjID09PSAnc3RyaW5nJyA/IGMgPT09IGYubmFtZSA6IGM/Lm5hbWUgPT09IGYubmFtZSkpO1xuICAgICAgaWYgKCFoYXNDb2x1bW4pIHtcbiAgICAgICAgZW50aXR5QW55LmNvbHVtbnMgPSBbLi4uY3VycmVudENvbHVtbnMsIHsgbmFtZTogZi5uYW1lIH1dO1xuICAgICAgfVxuXG4gICAgICAvLyBFbnN1cmUgU2luZ2xlIChkZXRhaWxzKSB2aWV3IHNob3dzIGl0XG4gICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuc2luZ2xlLnVwZGF0ZSgoc2luZ2xlKSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHQgPSBzaW5nbGUgPz8gKHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfSBhcyBhbnkpO1xuICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCwgb3JkZXI6IDkwIH0pO1xuICAgICAgICB9XG4gICAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IGYubmFtZSkpIHtcbiAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBmLm5hbWUsXG4gICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IGYubGF5b3V0Py5jb2xTcGFuID8/IDEyLCBvcmRlcjogZi5sYXlvdXQ/Lm9yZGVyID8/IDk5IH0gfSxcbiAgICAgICAgICAgICAgbGFiZWw6IHsgdmlzaWJsZTogdHJ1ZSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSxcbn07XG5cbi8vI2VuZHJlZ2lvblxuIl19","import { AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { computedPropertiesMiddleware } from './computed-properties.middleware';\nimport { computedPropertiesPlugin } from './computed-properties.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPComputedPropertiesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComputedPropertiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComputedPropertiesModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComputedPropertiesModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: computedPropertiesPlugin },\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: computedPropertiesMiddleware },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComputedPropertiesModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: computedPropertiesPlugin },\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: computedPropertiesMiddleware },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJvcGVydGllcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcHV0ZWQtcHJvcGVydGllcy9jb21wdXRlZC1wcm9wZXJ0aWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQVF4RSxNQUFNLE9BQU8sMkJBQTJCOzhHQUEzQiwyQkFBMkI7K0dBQTNCLDJCQUEyQjsrR0FBM0IsMkJBQTJCLGFBTDNCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7WUFDdEYsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUU7U0FDaEc7OzJGQUVVLDJCQUEyQjtrQkFOdkMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7d0JBQ3RGLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFO3FCQUNoRztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgQVhQX0VOVElUWV9TVE9SQUdFX01JRERMRVdBUkUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbXB1dGVkUHJvcGVydGllc01pZGRsZXdhcmUgfSBmcm9tICcuL2NvbXB1dGVkLXByb3BlcnRpZXMubWlkZGxld2FyZSc7XG5pbXBvcnQgeyBjb21wdXRlZFByb3BlcnRpZXNQbHVnaW4gfSBmcm9tICcuL2NvbXB1dGVkLXByb3BlcnRpZXMucGx1Z2luJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogY29tcHV0ZWRQcm9wZXJ0aWVzUGx1Z2luIH0sXG4gICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX1NUT1JBR0VfTUlERExFV0FSRSwgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBjb21wdXRlZFByb3BlcnRpZXNNaWRkbGV3YXJlIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXB1dGVkUHJvcGVydGllc01vZHVsZSB7fVxuIl19","import { AXPEntityCommandScope, createQueryView } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const disablePlugin = {\n name: 'disable',\n order: 70,\n apply: (ctx) => {\n ensureListActions(ctx);\n //#region ---- Add isDisabled Property ----\n // Ensure settings group exists\n const groupId = 'settings';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.settings' });\n }\n // Add isDisabled property if it doesn't exist\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'isDisabled')) {\n ctx.properties.add({\n name: 'isDisabled',\n title: '@general:terms.status.states.is-disabled',\n groupId,\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n // Default to false (not disabled)\n defaultValue: false,\n // trulyText: '@general:terms.disabled',\n // falsyText: '@general:terms.enabled',\n negative: true,\n nullValue: false,\n },\n },\n },\n validations: [],\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true }\n }\n }\n });\n }\n // Add isDisabled to columns for list view\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'isDisabled')) {\n ctx.columns.add({\n name: 'isDisabled',\n title: '@general:terms.status.states.is-enabled',\n width: 100,\n sortable: true,\n filterable: true,\n });\n }\n //#endregion\n //#region ---- Add Disable Actions ----\n ctx.interfaces.update((i) => {\n const disableCmdName = 'disable-entity';\n const enableCmdName = 'enable-entity';\n const bulkDisableCmdName = 'bulk-disable-entity';\n const bulkEnableCmdName = 'bulk-enable-entity';\n // Add disable action to list view\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, disableCmdName)) {\n listActions.push({\n title: '@general:actions.disable.title',\n command: {\n name: disableCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'disable',\n icon: 'fa-light fa-ban',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isDisabled\") }}`,\n });\n }\n // Add enable action to list view\n if (!actionExists(listActions, enableCmdName)) {\n listActions.push({\n title: '@general:actions.enable.title',\n command: {\n name: enableCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'enable',\n icon: 'fa-light fa-check',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ !context.eval(\"isDisabled\") }}`,\n });\n }\n // Add bulk disable action to list view\n if (!actionExists(listActions, bulkDisableCmdName)) {\n listActions.push({\n title: '@general:actions.bulk-disable.title',\n command: {\n name: bulkDisableCmdName,\n options: {\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'disable',\n icon: 'fa-light fa-ban',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n // Add bulk enable action to list view\n if (!actionExists(listActions, bulkEnableCmdName)) {\n listActions.push({\n title: '@general:actions.bulk-enable.title',\n command: {\n name: bulkEnableCmdName,\n options: {\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'enable',\n icon: 'fa-light fa-check',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n // Add disable action to single view\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, disableCmdName)) {\n singleActions.push({\n title: '@general:actions.disable.title',\n command: {\n name: disableCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'disable',\n icon: 'fa-light fa-ban',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isDisabled\") }}`,\n });\n }\n // Add enable action to single view\n if (!actionExists(singleActions, enableCmdName)) {\n singleActions.push({\n title: '@general:actions.enable.title',\n command: {\n name: enableCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'enable',\n icon: 'fa-light fa-check',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ !context.eval(\"isDisabled\") }}`,\n });\n }\n return i;\n });\n //#endregion\n //#region ---- Update Interface Layouts ----\n // Ensure update view includes isDisabled\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isDisabled')) {\n next.properties.push({\n name: 'isDisabled',\n layout: {\n positions: { lg: { colSpan: 6, order: 95 } },\n },\n });\n }\n return next;\n });\n // Ensure single view includes isDisabled\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId, order: 150 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isDisabled')) {\n next.properties.push({\n name: 'isDisabled',\n layout: {\n positions: { lg: { colSpan: 6, order: 95 } },\n },\n });\n }\n return next;\n });\n // Add disabled view to show only disabled items\n ctx.interfaces.master.list.update((list) => {\n const next = list ?? { actions: [], views: [] };\n next.views = next.views ?? [];\n // Check if disabled view already exists\n if (!next.views.some((v) => v.name === 'disabled')) {\n next.views.push(createQueryView('disabled', '@general:terms.status.states.is-disabled', false, {\n conditions: [\n {\n name: 'isDisabled',\n operator: { type: 'equal' },\n value: true,\n hidden: true\n },\n ],\n sorts: [\n { name: 'disabledAt', dir: 'desc' },\n { name: 'title', dir: 'asc' },\n ],\n }));\n }\n return next;\n });\n //#endregion\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZGlzYWJsZS1wbHVnaW4vZGlzYWJsZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCO0lBQ2hELElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLCtDQUErQztRQUUvQywrQkFBK0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENB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QU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO3FCQUNoQztpQkFDSixDQUFDLENBQ0wsQ0FBQztZQUNOLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILFlBQVk7SUFDaEIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgY3JlYXRlUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGNvbnN0IGRpc2FibGVQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnZGlzYWJsZScsXG4gICAgb3JkZXI6IDcwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgaXNEaXNhYmxlZCBQcm9wZXJ0eSAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgc2V0dGluZ3MgZ3JvdXAgZXhpc3RzXG4gICAgICAgIGNvbnN0IGdyb3VwSWQgPSAnc2V0dGluZ3MnO1xuICAgICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pbnRlcmZhY2Uuc2V0dGluZ3MnIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBpc0Rpc2FibGVkIHByb3BlcnR5IGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0Rpc2FibGVkJykpIHtcbiAgICAgICAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2lzRGlzYWJsZWQnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuc3RhdHVzLnN0YXRlcy5pcy1kaXNhYmxlZCcsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlRvZ2dsZVN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGZhbHNlIChub3QgZGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnVseVRleHQ6ICdAZ2VuZXJhbDp0ZXJtcy5kaXNhYmxlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmFsc3lUZXh0OiAnQGdlbmVyYWw6dGVybXMuZW5hYmxlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVnYXRpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9uczogW10sXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBpc0Rpc2FibGVkIHRvIGNvbHVtbnMgZm9yIGxpc3Qgdmlld1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gY3R4LmNvbHVtbnMubGlzdCgpID8/IFtdO1xuICAgICAgICBpZiAoIWNvbHVtbnMuc29tZSgoYzogYW55KSA9PiBjLm5hbWUgPT09ICdpc0Rpc2FibGVkJykpIHtcbiAgICAgICAgICAgIGN0eC5jb2x1bW5zLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2lzRGlzYWJsZWQnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuc3RhdHVzLnN0YXRlcy5pcy1lbmFibGVkJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbHRlcmFibGU6IHRydWUsXG4gICAgICAgICAgICB9IGFzIGFueSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEFkZCBEaXNhYmxlIEFjdGlvbnMgICAtLS0tXG5cbiAgICAgICAgY3R4LmludGVyZmFjZXMudXBkYXRlKChpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlQ21kTmFtZSA9ICdkaXNhYmxlLWVudGl0eSc7XG4gICAgICAgICAgICBjb25zdCBlbmFibGVDbWROYW1lID0gJ2VuYWJsZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgYnVsa0Rpc2FibGVDbWROYW1lID0gJ2J1bGstZGlzYWJsZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgYnVsa0VuYWJsZUNtZE5hbWUgPSAnYnVsay1lbmFibGUtZW50aXR5JztcblxuICAgICAgICAgICAgLy8gQWRkIGRpc2FibGUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgY29uc3QgbGlzdEFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlci5saXN0LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgZGlzYWJsZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5kaXNhYmxlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZGlzYWJsZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdkaXNhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWJhbicsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgY29udGV4dC5ldmFsKFwiaXNEaXNhYmxlZFwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBlbmFibGUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGVuYWJsZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5lbmFibGUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBlbmFibGVDbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZW5hYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNoZWNrJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGB7eyAhY29udGV4dC5ldmFsKFwiaXNEaXNhYmxlZFwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBidWxrIGRpc2FibGUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGJ1bGtEaXNhYmxlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstZGlzYWJsZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGJ1bGtEaXNhYmxlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Rpc2FibGUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYmFuJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIGJ1bGsgZW5hYmxlIGFjdGlvbiB0byBsaXN0IHZpZXdcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCBidWxrRW5hYmxlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstZW5hYmxlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYnVsa0VuYWJsZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdlbmFibGUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY2hlY2snLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgZGlzYWJsZSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgZGlzYWJsZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmRpc2FibGUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBkaXNhYmxlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Rpc2FibGUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYmFuJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGB7eyBjb250ZXh0LmV2YWwoXCJpc0Rpc2FibGVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIGVuYWJsZSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKHNpbmdsZUFjdGlvbnMsIGVuYWJsZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmVuYWJsZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGVuYWJsZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdlbmFibGUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY2hlY2snLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7ICFjb250ZXh0LmV2YWwoXCJpc0Rpc2FibGVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIFVwZGF0ZSBJbnRlcmZhY2UgTGF5b3V0cyAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgdXBkYXRlIHZpZXcgaW5jbHVkZXMgaXNEaXNhYmxlZFxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gdXBkYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0Rpc2FibGVkJykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0Rpc2FibGVkJyxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDk1IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBFbnN1cmUgc2luZ2xlIHZpZXcgaW5jbHVkZXMgaXNEaXNhYmxlZFxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuc2luZ2xlLnVwZGF0ZSgoc2luZ2xlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcbiAgICAgICAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCwgb3JkZXI6IDE1MCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnaXNEaXNhYmxlZCcpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaXNEaXNhYmxlZCcsXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiA5NSB9IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWRkIGRpc2FibGVkIHZpZXcgdG8gc2hvdyBvbmx5IGRpc2FibGVkIGl0ZW1zXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5saXN0LnVwZGF0ZSgobGlzdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9IGxpc3QgPz8geyBhY3Rpb25zOiBbXSwgdmlld3M6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnZpZXdzID0gbmV4dC52aWV3cyA/PyBbXTtcblxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgZGlzYWJsZWQgdmlldyBhbHJlYWR5IGV4aXN0c1xuICAgICAgICAgICAgaWYgKCFuZXh0LnZpZXdzLnNvbWUoKHY6IGFueSkgPT4gdi5uYW1lID09PSAnZGlzYWJsZWQnKSkge1xuICAgICAgICAgICAgICAgIG5leHQudmlld3MucHVzaChcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlUXVlcnlWaWV3KCdkaXNhYmxlZCcsICdAZ2VuZXJhbDp0ZXJtcy5zdGF0dXMuc3RhdGVzLmlzLWRpc2FibGVkJywgZmFsc2UsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0Rpc2FibGVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ2Rpc2FibGVkQXQnLCBkaXI6ICdkZXNjJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgZGlyOiAnYXNjJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityDisabledEvent = createWorkFlowEvent('[Entity] Disabled');\nexport class AXPEntityDisableAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.disable.confirm.title'), await this.translationService.translateAsync('@general:actions.disable.confirm.message'), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.disable.confirm.processing'),\n mode: 'indeterminate',\n status: 'Disabling...',\n });\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare disable data\n const disableData = this.prepareDisableData(currentData);\n // Update the entity to mark it as disabled\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(disableData);\n context.setOutput('id', refId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && currentData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: currentData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error('Disable operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareDisableData(currentData) {\n const disableData = { ...currentData };\n // Set the disabled flag\n disableData.isDisabled = true;\n // Optionally add disable timestamp\n disableData.disabledAt = new Date();\n return disableData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityDisableSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const id = context.getOutput('id');\n const meta = context.getVariable('meta');\n // Dispatch disable event\n this.dispatch(AXPEntityDisabledEvent({\n entity: refType,\n id,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPDisableEntityWorkflow = {\n startStepId: 'disable-entity',\n steps: {\n 'disable-entity': {\n action: 'AXPEntityDisableAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-disabled',\n content: 'workflow.entity-disabled-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'disable-success',\n },\n ],\n },\n 'disable-success': {\n action: 'AXPEntityDisableSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS1lbnRpdHkud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZGlzYWJsZS1wbHVnaW4vd29ya2Zsb3dzL2Rpc2FibGUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxtQkFBbUIsQ0FDckQsbUJBQW1CLENBQ3RCLENBQUM7QUFHRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsaUJBQWlCO0lBRDdEOztRQUVZLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQWlHN0Q7SUEvRkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FB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O29CQUN4RixVQUFVLEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakMsT0FBTyxFQUFFLCtCQUErQjthQUMzQztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsaUJBQWlCO2lCQUNoQzthQUNKO1NBQ0o7UUFDRCxpQkFBaUIsRUFBRTtZQUNmLE1BQU0sRUFBRSwrQkFBK0I7U0FDMUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eURpc2FibGVkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IGlkOiBzdHJpbmc7IG1ldGE/OiBhbnkgfT4oXG4gICAgJ1tFbnRpdHldIERpc2FibGVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEaXNhYmxlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcblxuICAgICAgICBpZiAoIXJlZklkIHx8ICFyZWZUeXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmSWQgYW5kIHJlZlR5cGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuZGlzYWJsZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5kaXNhYmxlLmNvbmZpcm0ubWVzc2FnZScpLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5kaXNhYmxlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnRGlzYWJsaW5nLi4uJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgcmVmSWQpO1xuXG4gICAgICAgICAgICAvLyBQcmVwYXJlIGRpc2FibGUgZGF0YVxuICAgICAgICAgICAgY29uc3QgZGlzYWJsZURhdGEgPSB0aGlzLnByZXBhcmVEaXNhYmxlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW50aXR5IHRvIG1hcmsgaXQgYXMgZGlzYWJsZWRcbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcy51cGRhdGUuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVFeGVjKGRpc2FibGVEYXRhKTtcblxuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpZCcsIHJlZklkKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIC8vIFNldCByZWZyZXNoIG1ldGFkYXRhXG4gICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtZXRhJywgeyByZWZyZXNoVGFyZ2V0SWQ6IGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRGlzYWJsZSBvcGVyYXRpb24gZmFpbGVkOicsIGVycm9yKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgdHJ1ZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBsb2FkaW5nRGlhbG9nLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldEVudGl0eURhdGEocmVmVHlwZTogc3RyaW5nLCByZWZJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFVzZSB0aGUgZW50aXR5J3MgYnlLZXkgcXVlcnkgdG8gZ2V0IGFjdHVhbCBkYXRhXG4gICAgICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBjb25zdCBlbnRpdHlEZWZpbml0aW9uID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcblxuICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucXVlcmllcz8uYnlLZXkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgcXVlcnlFeGVjKHJlZklkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRmFsbGJhY2sgdG8gYmFzaWMgc3RydWN0dXJlIGlmIG5vIHF1ZXJ5IGF2YWlsYWJsZVxuICAgICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlZklkIH07XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gcmV0cmlldmUgZW50aXR5IGRhdGE6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcmV0cmlldmUgZW50aXR5IGRhdGE6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVEaXNhYmxlRGF0YShjdXJyZW50RGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgZGlzYWJsZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBkaXNhYmxlZCBmbGFnXG4gICAgICAgIGRpc2FibGVEYXRhLmlzRGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgIC8vIE9wdGlvbmFsbHkgYWRkIGRpc2FibGUgdGltZXN0YW1wXG4gICAgICAgIGRpc2FibGVEYXRhLmRpc2FibGVkQXQgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBkaXNhYmxlRGF0YTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEaXNhYmxlU3VjY2Vzc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgaWQgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmc+KCdpZCcpO1xuICAgICAgICBjb25zdCBtZXRhID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdtZXRhJyk7XG5cbiAgICAgICAgLy8gRGlzcGF0Y2ggZGlzYWJsZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5RGlzYWJsZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBEaXNhYmxlRW50aXR5V29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnZGlzYWJsZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdkaXNhYmxlLWVudGl0eSc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eURpc2FibGVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWRpc2FibGVkJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LWRpc2FibGVkLWJvZHknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdkaXNhYmxlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnZGlzYWJsZS1zdWNjZXNzJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5RGlzYWJsZVN1Y2Nlc3NBY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityEnabledEvent = createWorkFlowEvent('[Entity] Enabled');\nexport class AXPEntityEnableAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.enable.confirm.title'), await this.translationService.translateAsync('@general:actions.enable.confirm.message'), 'success', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.enable.confirm.processing'),\n mode: 'indeterminate',\n status: 'Enabling...',\n });\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare enable data\n const enableData = this.prepareEnableData(currentData);\n // Update the entity to mark it as enabled\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(enableData);\n context.setOutput('id', refId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && currentData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: currentData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error('Enable operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareEnableData(currentData) {\n const enableData = { ...currentData };\n // Set the disabled flag to false\n enableData.isDisabled = false;\n // Optionally add enable timestamp\n enableData.enabledAt = new Date();\n return enableData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityEnableSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const id = context.getOutput('id');\n const meta = context.getVariable('meta');\n // Dispatch enable event\n this.dispatch(AXPEntityEnabledEvent({\n entity: refType,\n id,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPEnableEntityWorkflow = {\n startStepId: 'enable-entity',\n steps: {\n 'enable-entity': {\n action: 'AXPEntityEnableAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-enabled',\n content: 'workflow.entity-enabled-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'enable-success',\n },\n ],\n },\n 'enable-success': {\n action: 'AXPEntityEnableSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5hYmxlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9kaXNhYmxlLXBsdWdpbi93b3JrZmxvd3MvZW5hYmxlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsbUJBQW1CLENBQ3BELGtCQUFrQixDQUNyQixDQUFDO0FBR0YsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUQ1RDs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FpRzdEO0lBL0ZHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcs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RixVQUFVLEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLHlCQUF5QjtnQkFDaEMsT0FBTyxFQUFFLDhCQUE4QjthQUMxQztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsZ0JBQWdCO2lCQUMvQjthQUNKO1NBQ0o7UUFDRCxnQkFBZ0IsRUFBRTtZQUNkLE1BQU0sRUFBRSw4QkFBOEI7U0FDekM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUVuYWJsZWRFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyBlbnRpdHk6IHN0cmluZzsgaWQ6IHN0cmluZzsgbWV0YT86IGFueSB9PihcbiAgICAnW0VudGl0eV0gRW5hYmxlZCcsXG4pO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5RW5hYmxlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcblxuICAgICAgICBpZiAoIXJlZklkIHx8ICFyZWZUeXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmSWQgYW5kIHJlZlR5cGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuZW5hYmxlLmNvbmZpcm0udGl0bGUnKSxcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmVuYWJsZS5jb25maXJtLm1lc3NhZ2UnKSxcbiAgICAgICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgICAgICdob3Jpem9udGFsJyxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgJ2NhbmNlbCdcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWRpYWxvZ1Jlc3VsdC5yZXN1bHQpIHtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgdHJ1ZSk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCAnT3BlcmF0aW9uIGNhbmNlbGxlZCBieSB1c2VyJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaG93IGxvYWRpbmcgZGlhbG9nXG4gICAgICAgIGNvbnN0IGxvYWRpbmdEaWFsb2cgPSB0aGlzLmxvYWRpbmdEaWFsb2cuc2hvdyh7XG4gICAgICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuZW5hYmxlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnRW5hYmxpbmcuLi4nLFxuICAgICAgICB9KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGVudGl0eSBkYXRhXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0YSA9IGF3YWl0IHRoaXMuZ2V0RW50aXR5RGF0YShyZWZUeXBlLCByZWZJZCk7XG5cbiAgICAgICAgICAgIC8vIFByZXBhcmUgZW5hYmxlIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IGVuYWJsZURhdGEgPSB0aGlzLnByZXBhcmVFbmFibGVEYXRhKGN1cnJlbnREYXRhKTtcblxuICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBlbnRpdHkgdG8gbWFyayBpdCBhcyBlbmFibGVkXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcz8udXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMudXBkYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyhlbmFibGVEYXRhKTtcblxuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpZCcsIHJlZklkKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIC8vIFNldCByZWZyZXNoIG1ldGFkYXRhXG4gICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtZXRhJywgeyByZWZyZXNoVGFyZ2V0SWQ6IGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRW5hYmxlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZUVuYWJsZURhdGEoY3VycmVudERhdGE6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGVuYWJsZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBkaXNhYmxlZCBmbGFnIHRvIGZhbHNlXG4gICAgICAgIGVuYWJsZURhdGEuaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIE9wdGlvbmFsbHkgYWRkIGVuYWJsZSB0aW1lc3RhbXBcbiAgICAgICAgZW5hYmxlRGF0YS5lbmFibGVkQXQgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBlbmFibGVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUVuYWJsZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IGlkID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nPignaWQnKTtcbiAgICAgICAgY29uc3QgbWV0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignbWV0YScpO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIGVuYWJsZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5RW5hYmxlZEV2ZW50KHtcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHJlZlR5cGUsXG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgbWV0YVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUEVuYWJsZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2VuYWJsZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdlbmFibGUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5RW5hYmxlQWN0aW9uJyxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcImlzQ2FuY2VsZWRcIikgPT0gZmFsc2UnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1zdWNjZXNzLXRvYXN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctc3VjY2Vzcy10b2FzdCc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ3dvcmtmbG93LmVudGl0eS1lbmFibGVkJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LWVuYWJsZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ2VuYWJsZS1zdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2VuYWJsZS1zdWNjZXNzJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5RW5hYmxlU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityBulkDisabledEvent = createWorkFlowEvent('[Entity] Bulk Disabled');\nexport class AXPEntityBulkDisableAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const data = context.getVariable('data');\n const selectedIds = Array.isArray(data) ? data.map((c) => c.id) : data ? [data.id] : [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and data');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.bulk-disable.confirm.title'), await this.translationService.translateAsync('@general:actions.bulk-disable.confirm.message', {\n params: { count: selectedIds.length }\n }), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.bulk-disable.confirm.processing'),\n mode: 'indeterminate',\n status: 'Disabling items...',\n });\n try {\n const results = [];\n const errors = [];\n // Process each selected item\n for (const refId of selectedIds) {\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare disable data\n const disableData = this.prepareDisableData(currentData);\n // Update the entity to mark it as disabled\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(disableData);\n results.push(refId);\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error(`Failed to disable entity ${refId}:`, error);\n errors.push({ id: refId, error: error instanceof Error ? error.message : 'Unknown error' });\n }\n }\n context.setOutput('processedIds', results);\n context.setOutput('errors', errors);\n context.setOutput('isCanceled', false);\n }\n catch (error) {\n console.error('Bulk disable operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareDisableData(currentData) {\n const disableData = { ...currentData };\n // Set the disabled flag\n disableData.isDisabled = true;\n // Optionally add disable timestamp\n disableData.disabledAt = new Date();\n return disableData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityBulkDisableSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const processedIds = context.getOutput('processedIds') || [];\n const errors = context.getOutput('errors') || [];\n const meta = context.getVariable('meta');\n // Dispatch bulk disable event\n this.dispatch(AXPEntityBulkDisabledEvent({\n entity: refType,\n ids: processedIds,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n // Show error summary if there were any errors\n if (errors.length > 0) {\n const errorMessage = errors.map(e => `${e.id}: ${e.error}`).join('\\n');\n console.warn('Some items failed to disable:', errorMessage);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPBulkDisableEntityWorkflow = {\n startStepId: 'bulk-disable-entity',\n steps: {\n 'bulk-disable-entity': {\n action: 'AXPEntityBulkDisableAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-bulk-disabled',\n content: 'workflow.entity-bulk-disabled-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'bulk-disable-success',\n },\n ],\n },\n 'bulk-disable-success': {\n action: 'AXPEntityBulkDisableSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1kaXNhYmxlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9kaXNhYmxlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1kaXNhYmxlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsbUJBQW1CLENBQ3pELHdCQUF3QixDQUMzQixDQUFDO0FBR0YsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0E2RzdEO0lBM0dHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FB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QUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLDBDQUEwQyxFQUFFLENBQUM7b0JBQ3hGLFVBQVUsRUFBRSxvQkFBb0I7aUJBQ25DO2FBQ0o7U0FDSjtRQUNELG9CQUFvQixFQUFFO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNILEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsK0JBQStCO2dCQUN0QyxPQUFPLEVBQUUsb0NBQW9DO2FBQ2hEO1lBQ0QsU0FBUyxFQUFFO2dCQUNQO29CQUNJLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxzQkFBc0I7aUJBQ3JDO2FBQ0o7U0FDSjtRQUNELHNCQUFzQixFQUFFO1lBQ3BCLE1BQU0sRUFBRSxtQ0FBbUM7U0FDOUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUJ1bGtEaXNhYmxlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBCdWxrIERpc2FibGVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlCdWxrRGlzYWJsZUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdGVyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGxvYWRpbmdEaWFsb2cgPSBpbmplY3QoQVhMb2FkaW5nRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ2RhdGEnKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBBcnJheS5pc0FycmF5KGRhdGEpID8gZGF0YS5tYXAoKGMpID0+IGMuaWQpIDogZGF0YSA/IFtkYXRhLmlkXSA6IFtdO1xuXG4gICAgICAgIGlmICghcmVmVHlwZSB8fCBzZWxlY3RlZElkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBwYXJhbWV0ZXJzOiByZWZUeXBlIGFuZCBkYXRhJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgIC8vIFNob3cgY29uZmlybWF0aW9uIGRpYWxvZ1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybShcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstZGlzYWJsZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWRpc2FibGUuY29uZmlybS5tZXNzYWdlJywge1xuICAgICAgICAgICAgICAgIHBhcmFtczogeyBjb3VudDogc2VsZWN0ZWRJZHMubGVuZ3RoIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWRpc2FibGUuY29uZmlybS5wcm9jZXNzaW5nJyksXG4gICAgICAgICAgICBtb2RlOiAnaW5kZXRlcm1pbmF0ZScsXG4gICAgICAgICAgICBzdGF0dXM6ICdEaXNhYmxpbmcgaXRlbXMuLi4nLFxuICAgICAgICB9KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgICAgICAgICAgIC8vIFByb2Nlc3MgZWFjaCBzZWxlY3RlZCBpdGVtXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlZklkIG9mIHNlbGVjdGVkSWRzKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGVudGl0eSBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gYXdhaXQgdGhpcy5nZXRFbnRpdHlEYXRhKHJlZlR5cGUsIHJlZklkKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBQcmVwYXJlIGRpc2FibGUgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXNhYmxlRGF0YSA9IHRoaXMucHJlcGFyZURpc2FibGVEYXRhKGN1cnJlbnREYXRhKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGVudGl0eSB0byBtYXJrIGl0IGFzIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzLnVwZGF0ZS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyhkaXNhYmxlRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2gocmVmSWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbnRpdHkgZG9lcyBub3Qgc3VwcG9ydCB1cGRhdGUgb3BlcmF0aW9uJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZGlzYWJsZSBlbnRpdHkgJHtyZWZJZH06YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnMucHVzaCh7IGlkOiByZWZJZCwgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Byb2Nlc3NlZElkcycsIHJlc3VsdHMpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9ycycsIGVycm9ycyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQnVsayBkaXNhYmxlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZURpc2FibGVEYXRhKGN1cnJlbnREYXRhOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCBkaXNhYmxlRGF0YSA9IHsgLi4uY3VycmVudERhdGEgfTtcblxuICAgICAgICAvLyBTZXQgdGhlIGRpc2FibGVkIGZsYWdcbiAgICAgICAgZGlzYWJsZURhdGEuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgLy8gT3B0aW9uYWxseSBhZGQgZGlzYWJsZSB0aW1lc3RhbXBcbiAgICAgICAgZGlzYWJsZURhdGEuZGlzYWJsZWRBdCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIGRpc2FibGVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtEaXNhYmxlU3VjY2Vzc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgcHJvY2Vzc2VkSWRzID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nW10+KCdwcm9jZXNzZWRJZHMnKSB8fCBbXTtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gY29udGV4dC5nZXRPdXRwdXQ8YW55W10+KCdlcnJvcnMnKSB8fCBbXTtcbiAgICAgICAgY29uc3QgbWV0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignbWV0YScpO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIGJ1bGsgZGlzYWJsZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QnVsa0Rpc2FibGVkRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBpZHM6IHByb2Nlc3NlZElkcyxcbiAgICAgICAgICAgICAgICBtZXRhXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBSZWZyZXNoIHRoZSBlbnRpdHkgbGlzdFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQUmVmcmVzaEV2ZW50KHtcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHJlZlR5cGUsXG4gICAgICAgICAgICAgICAgbWV0YVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gU2hvdyBlcnJvciBzdW1tYXJ5IGlmIHRoZXJlIHdlcmUgYW55IGVycm9yc1xuICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9ycy5tYXAoZSA9PiBgJHtlLmlkfTogJHtlLmVycm9yfWApLmpvaW4oJ1xcbicpO1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdTb21lIGl0ZW1zIGZhaWxlZCB0byBkaXNhYmxlOicsIGVycm9yTWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBCdWxrRGlzYWJsZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2J1bGstZGlzYWJsZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdidWxrLWRpc2FibGUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5QnVsa0Rpc2FibGVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWJ1bGstZGlzYWJsZWQnLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd3b3JrZmxvdy5lbnRpdHktYnVsay1kaXNhYmxlZC1ib2R5JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnYnVsay1kaXNhYmxlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYnVsay1kaXNhYmxlLXN1Y2Nlc3MnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrRGlzYWJsZVN1Y2Nlc3NBY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityBulkEnabledEvent = createWorkFlowEvent('[Entity] Bulk Enabled');\nexport class AXPEntityBulkEnableAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const data = context.getVariable('data');\n const selectedIds = Array.isArray(data) ? data.map((c) => c.id) : data ? [data.id] : [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and data');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.bulk-enable.confirm.title'), await this.translationService.translateAsync('@general:actions.bulk-enable.confirm.message', {\n params: { count: selectedIds.length }\n }), 'success', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.bulk-enable.confirm.processing'),\n mode: 'indeterminate',\n status: 'Enabling items...',\n });\n try {\n const results = [];\n const errors = [];\n // Process each selected item\n for (const refId of selectedIds) {\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare enable data\n const enableData = this.prepareEnableData(currentData);\n // Update the entity to mark it as enabled\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(enableData);\n results.push(refId);\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error(`Failed to enable entity ${refId}:`, error);\n errors.push({ id: refId, error: error instanceof Error ? error.message : 'Unknown error' });\n }\n }\n context.setOutput('processedIds', results);\n context.setOutput('errors', errors);\n context.setOutput('isCanceled', false);\n }\n catch (error) {\n console.error('Bulk enable operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareEnableData(currentData) {\n const enableData = { ...currentData };\n // Set the disabled flag to false\n enableData.isDisabled = false;\n // Optionally add enable timestamp\n enableData.enabledAt = new Date();\n return enableData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityBulkEnableSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const processedIds = context.getOutput('processedIds') || [];\n const errors = context.getOutput('errors') || [];\n const meta = context.getVariable('meta');\n // Dispatch bulk enable event\n this.dispatch(AXPEntityBulkEnabledEvent({\n entity: refType,\n ids: processedIds,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n // Show error summary if there were any errors\n if (errors.length > 0) {\n const errorMessage = errors.map(e => `${e.id}: ${e.error}`).join('\\n');\n console.warn('Some items failed to enable:', errorMessage);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPBulkEnableEntityWorkflow = {\n startStepId: 'bulk-enable-entity',\n steps: {\n 'bulk-enable-entity': {\n action: 'AXPEntityBulkEnableAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-bulk-enabled',\n content: 'workflow.entity-bulk-enabled-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'bulk-enable-success',\n },\n ],\n },\n 'bulk-enable-success': {\n action: 'AXPEntityBulkEnableSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1lbmFibGUtZW50aXR5LndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2Rpc2FibGUtcGx1Z2luL3dvcmtmbG93cy9idWxrLWVuYWJsZS1lbnRpdHkud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRXBGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLG1CQUFtQixDQUN4RCx1QkFBdUIsQ0FDMUIsQ0FBQztBQUdGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQkFBaUI7SUFEaEU7O1FBRVksb0JBQWUsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUM3RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQy9DLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBNkc3RDtJQTNHRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLE9BQU8s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RSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSwwQ0FBMEMsRUFBRSxDQUFDO29CQUN4RixVQUFVLEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLDhCQUE4QjtnQkFDckMsT0FBTyxFQUFFLG1DQUFtQzthQUMvQztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUscUJBQXFCO2lCQUNwQzthQUNKO1NBQ0o7UUFDRCxxQkFBcUIsRUFBRTtZQUNuQixNQUFNLEVBQUUsa0NBQWtDO1NBQzdDO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUmVmcmVzaEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQsIGNyZWF0ZVdvcmtGbG93RXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlCdWxrRW5hYmxlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBCdWxrIEVuYWJsZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtFbmFibGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgcHJpdmF0ZSBlbnRpdHlSZWdpc3RlcnkgPSBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSBsb2FkaW5nRGlhbG9nID0gaW5qZWN0KEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuICAgICAgICBjb25zdCBkYXRhID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhJyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEubWFwKChjKSA9PiBjLmlkKSA6IGRhdGEgPyBbZGF0YS5pZF0gOiBbXTtcblxuICAgICAgICBpZiAoIXJlZlR5cGUgfHwgc2VsZWN0ZWRJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmVHlwZSBhbmQgZGF0YScpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlEZWZpbml0aW9uID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcblxuICAgICAgICAvLyBTaG93IGNvbmZpcm1hdGlvbiBkaWFsb2dcbiAgICAgICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWVuYWJsZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWVuYWJsZS5jb25maXJtLm1lc3NhZ2UnLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7IGNvdW50OiBzZWxlY3RlZElkcy5sZW5ndGggfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAnc3VjY2VzcycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstZW5hYmxlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnRW5hYmxpbmcgaXRlbXMuLi4nLFxuICAgICAgICB9KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgICAgICAgICAgIC8vIFByb2Nlc3MgZWFjaCBzZWxlY3RlZCBpdGVtXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlZklkIG9mIHNlbGVjdGVkSWRzKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGVudGl0eSBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gYXdhaXQgdGhpcy5nZXRFbnRpdHlEYXRhKHJlZlR5cGUsIHJlZklkKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBQcmVwYXJlIGVuYWJsZSBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuYWJsZURhdGEgPSB0aGlzLnByZXBhcmVFbmFibGVEYXRhKGN1cnJlbnREYXRhKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGVudGl0eSB0byBtYXJrIGl0IGFzIGVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24uY29tbWFuZHM/LnVwZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMudXBkYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVFeGVjKGVuYWJsZURhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHJlZklkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGVuYWJsZSBlbnRpdHkgJHtyZWZJZH06YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnMucHVzaCh7IGlkOiByZWZJZCwgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Byb2Nlc3NlZElkcycsIHJlc3VsdHMpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9ycycsIGVycm9ycyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQnVsayBlbmFibGUgb3BlcmF0aW9uIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgbG9hZGluZ0RpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRFbnRpdHlEYXRhKHJlZlR5cGU6IHN0cmluZywgcmVmSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBVc2UgdGhlIGVudGl0eSdzIGJ5S2V5IHF1ZXJ5IHRvIGdldCBhY3R1YWwgZGF0YVxuICAgICAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXM/LmJ5S2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzLmJ5S2V5LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHF1ZXJ5RXhlYyhyZWZJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIGJhc2ljIHN0cnVjdHVyZSBpZiBubyBxdWVyeSBhdmFpbGFibGVcbiAgICAgICAgICAgIHJldHVybiB7IGlkOiByZWZJZCB9O1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlRW5hYmxlRGF0YShjdXJyZW50RGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgZW5hYmxlRGF0YSA9IHsgLi4uY3VycmVudERhdGEgfTtcblxuICAgICAgICAvLyBTZXQgdGhlIGRpc2FibGVkIGZsYWcgdG8gZmFsc2VcbiAgICAgICAgZW5hYmxlRGF0YS5pc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICAgICAgLy8gT3B0aW9uYWxseSBhZGQgZW5hYmxlIHRpbWVzdGFtcFxuICAgICAgICBlbmFibGVEYXRhLmVuYWJsZWRBdCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIGVuYWJsZURhdGE7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5QnVsa0VuYWJsZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NlZElkcyA9IGNvbnRleHQuZ2V0T3V0cHV0PHN0cmluZ1tdPigncHJvY2Vzc2VkSWRzJykgfHwgW107XG4gICAgICAgIGNvbnN0IGVycm9ycyA9IGNvbnRleHQuZ2V0T3V0cHV0PGFueVtdPignZXJyb3JzJykgfHwgW107XG4gICAgICAgIGNvbnN0IG1ldGEgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ21ldGEnKTtcblxuICAgICAgICAvLyBEaXNwYXRjaCBidWxrIGVuYWJsZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QnVsa0VuYWJsZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkczogcHJvY2Vzc2VkSWRzLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBTaG93IGVycm9yIHN1bW1hcnkgaWYgdGhlcmUgd2VyZSBhbnkgZXJyb3JzXG4gICAgICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3JzLm1hcChlID0+IGAke2UuaWR9OiAke2UuZXJyb3J9YCkuam9pbignXFxuJyk7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1NvbWUgaXRlbXMgZmFpbGVkIHRvIGVuYWJsZTonLCBlcnJvck1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhQQnVsa0VuYWJsZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2J1bGstZW5hYmxlLWVudGl0eScsXG4gICAgc3RlcHM6IHtcbiAgICAgICAgJ2J1bGstZW5hYmxlLWVudGl0eSc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtFbmFibGVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWJ1bGstZW5hYmxlZCcsXG4gICAgICAgICAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1idWxrLWVuYWJsZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ2J1bGstZW5hYmxlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYnVsay1lbmFibGUtc3VjY2Vzcyc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtFbmFibGVTdWNjZXNzQWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcbiJdfQ==","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { disablePlugin } from './disable.plugin';\nimport { AXPDisableEntityWorkflow, AXPEntityDisableAction, AXPEntityDisableSuccessAction, AXPEnableEntityWorkflow, AXPEntityEnableAction, AXPEntityEnableSuccessAction, AXPBulkDisableEntityWorkflow, AXPEntityBulkDisableAction, AXPEntityBulkDisableSuccessAction, AXPBulkEnableEntityWorkflow, AXPEntityBulkEnableAction, AXPEntityBulkEnableSuccessAction } from './workflows';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPDisablePluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPDisablePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPDisablePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPDisablePluginModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: disablePlugin },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n AXPEntityDisableAction,\n AXPEntityDisableSuccessAction,\n AXPEntityEnableAction,\n AXPEntityEnableSuccessAction,\n AXPEntityBulkDisableAction,\n AXPEntityBulkDisableSuccessAction,\n AXPEntityBulkEnableAction,\n AXPEntityBulkEnableSuccessAction,\n },\n workflows: {\n 'disable-entity': AXPDisableEntityWorkflow,\n 'enable-entity': AXPEnableEntityWorkflow,\n 'bulk-disable-entity': AXPBulkDisableEntityWorkflow,\n 'bulk-enable-entity': AXPBulkEnableEntityWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPDisablePluginModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityDisableAction,\n AXPEntityDisableSuccessAction,\n AXPEntityEnableAction,\n AXPEntityEnableSuccessAction,\n AXPEntityBulkDisableAction,\n AXPEntityBulkDisableSuccessAction,\n AXPEntityBulkEnableAction,\n AXPEntityBulkEnableSuccessAction,\n },\n workflows: {\n 'disable-entity': AXPDisableEntityWorkflow,\n 'enable-entity': AXPEnableEntityWorkflow,\n 'bulk-disable-entity': AXPBulkDisableEntityWorkflow,\n 'bulk-enable-entity': AXPBulkEnableEntityWorkflow,\n },\n }),\n ],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: disablePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2Rpc2FibGUtcGx1Z2luL2Rpc2FibGUtcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0Qiw2QkFBNkIsRUFDN0IsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLDBCQUEwQixFQUMxQixpQ0FBaUMsRUFDakMsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDbkMsTUFBTSxhQUFhLENBQUM7OztBQTJCckIsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixhQUpwQjtZQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRTtTQUM5RSxZQXJCRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDTCxzQkFBc0I7b0JBQ3RCLDZCQUE2QjtvQkFDN0IscUJBQXFCO29CQUNyQiw0QkFBNEI7b0JBQzVCLDBCQUEwQjtvQkFDMUIsaUNBQWlDO29CQUNqQyx5QkFBeUI7b0JBQ3pCLGdDQUFnQztpQkFDbkM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLGdCQUFnQixFQUFFLHdCQUF3QjtvQkFDMUMsZUFBZSxFQUFFLHVCQUF1QjtvQkFDeEMscUJBQXFCLEVBQUUsNEJBQTRCO29CQUNuRCxvQkFBb0IsRUFBRSwyQkFBMkI7aUJBQ3BEO2FBQ0osQ0FBQzs7MkZBTUcsc0JBQXNCO2tCQXpCbEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCLENBQUMsUUFBUSxDQUFDOzRCQUN2QixPQUFPLEVBQUU7Z0NBQ0wsc0JBQXNCO2dDQUN0Qiw2QkFBNkI7Z0NBQzdCLHFCQUFxQjtnQ0FDckIsNEJBQTRCO2dDQUM1QiwwQkFBMEI7Z0NBQzFCLGlDQUFpQztnQ0FDakMseUJBQXlCO2dDQUN6QixnQ0FBZ0M7NkJBQ25DOzRCQUNELFNBQVMsRUFBRTtnQ0FDUCxnQkFBZ0IsRUFBRSx3QkFBd0I7Z0NBQzFDLGVBQWUsRUFBRSx1QkFBdUI7Z0NBQ3hDLHFCQUFxQixFQUFFLDRCQUE0QjtnQ0FDbkQsb0JBQW9CLEVBQUUsMkJBQTJCOzZCQUNwRDt5QkFDSixDQUFDO3FCQUNMO29CQUNELFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7cUJBQzlFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgZGlzYWJsZVBsdWdpbiB9IGZyb20gJy4vZGlzYWJsZS5wbHVnaW4nO1xuaW1wb3J0IHtcbiAgICBBWFBEaXNhYmxlRW50aXR5V29ya2Zsb3csXG4gICAgQVhQRW50aXR5RGlzYWJsZUFjdGlvbixcbiAgICBBWFBFbnRpdHlEaXNhYmxlU3VjY2Vzc0FjdGlvbixcbiAgICBBWFBFbmFibGVFbnRpdHlXb3JrZmxvdyxcbiAgICBBWFBFbnRpdHlFbmFibGVBY3Rpb24sXG4gICAgQVhQRW50aXR5RW5hYmxlU3VjY2Vzc0FjdGlvbixcbiAgICBBWFBCdWxrRGlzYWJsZUVudGl0eVdvcmtmbG93LFxuICAgIEFYUEVudGl0eUJ1bGtEaXNhYmxlQWN0aW9uLFxuICAgIEFYUEVudGl0eUJ1bGtEaXNhYmxlU3VjY2Vzc0FjdGlvbixcbiAgICBBWFBCdWxrRW5hYmxlRW50aXR5V29ya2Zsb3csXG4gICAgQVhQRW50aXR5QnVsa0VuYWJsZUFjdGlvbixcbiAgICBBWFBFbnRpdHlCdWxrRW5hYmxlU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuL3dvcmtmbG93cyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgICAgICBhY3Rpb25zOiB7XG4gICAgICAgICAgICAgICAgQVhQRW50aXR5RGlzYWJsZUFjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlEaXNhYmxlU3VjY2Vzc0FjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlFbmFibGVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5RW5hYmxlU3VjY2Vzc0FjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlCdWxrRGlzYWJsZUFjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlCdWxrRGlzYWJsZVN1Y2Nlc3NBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QnVsa0VuYWJsZUFjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlCdWxrRW5hYmxlU3VjY2Vzc0FjdGlvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3b3JrZmxvd3M6IHtcbiAgICAgICAgICAgICAgICAnZGlzYWJsZS1lbnRpdHknOiBBWFBEaXNhYmxlRW50aXR5V29ya2Zsb3csXG4gICAgICAgICAgICAgICAgJ2VuYWJsZS1lbnRpdHknOiBBWFBFbmFibGVFbnRpdHlXb3JrZmxvdyxcbiAgICAgICAgICAgICAgICAnYnVsay1kaXNhYmxlLWVudGl0eSc6IEFYUEJ1bGtEaXNhYmxlRW50aXR5V29ya2Zsb3csXG4gICAgICAgICAgICAgICAgJ2J1bGstZW5hYmxlLWVudGl0eSc6IEFYUEJ1bGtFbmFibGVFbnRpdHlXb3JrZmxvdyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGRpc2FibGVQbHVnaW4gfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBEaXNhYmxlUGx1Z2luTW9kdWxlIHsgfVxuIl19","import { AXPEntityCommandScope, AXPSettingService } from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { AXPPlatformScope } from '@acorex/platform/core';\n/**\n * extra-properties plugin\n * Options:\n * - field: string (property name to hold the extra properties array, default: 'extraProperties')\n * - title?: string (UI title for the field)\n */\nexport const extraPropertiesPlugin = {\n name: 'extra-properties',\n order: 60,\n apply: async (ctx, options) => {\n const settingsService = inject(AXPSettingService);\n //#region ---- Options ----\n const field = options?.field?.trim()?.length ? options.field : 'extraProperties';\n const title = options?.title ?? '@extra-properties:title';\n const mode = options?.mode ?? 'defined';\n //#endregion\n //#region ---- Group ----\n // Ensure group exists\n const groupId = 'additional';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@extra-properties:title' });\n }\n const target = `${ctx.entity.module}.${ctx.entity.name}`;\n const schema = mode === 'inline' ? [] :\n (await settingsService.scope(AXPPlatformScope.Tenant).get(`extra-properties.schema.${target}`)) ?? [];\n // Ensure property exists (uses our widget)\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === field)) {\n ctx.properties.add({\n name: field,\n title,\n groupId,\n schema: {\n dataType: 'object',\n interface: {\n type: mode === 'inline' ? 'extra-properties' : 'extra-properties-values',\n options: {\n schema,\n },\n },\n },\n });\n }\n const shared = {\n name: 'extra-properties',\n command: {\n name: 'manage-extra-properties',\n options: {\n target,\n }\n },\n title: '@extra-properties:actions.manage',\n type: 'update',\n icon: 'fa-solid fa-gear',\n priority: 'secondary',\n permissions: ['@extra-properties:permissions.platform'],\n };\n ctx.interfaces.master.list.update((list) => {\n const next = list ?? { title: ctx.entity.title, views: [] };\n if (!next.actions) {\n next.actions = [];\n }\n next.actions.push({\n ...shared,\n scope: AXPEntityCommandScope.TypeLevel,\n });\n return next;\n });\n // Ensure single view includes it\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId) && schema.length > 0) {\n next.sections.push({ id: groupId, order: 110 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === field)) {\n next.properties.push({\n name: field,\n layout: {\n positions: { lg: { colSpan: 12 } },\n label: {\n visible: false\n }\n },\n });\n }\n // Ensure action exists\n if (mode === 'defined') {\n next.actions = next.actions ?? [];\n if (!next.actions.some((a) => a.name === 'extra-properties')) {\n next.actions.push({\n ...shared,\n scope: AXPEntityCommandScope.Individual,\n });\n }\n }\n return next;\n });\n // Ensure create view includes it\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === field)) {\n next.properties.push({\n name: field,\n layout: {\n positions: { lg: { colSpan: 12, order: 98 } },\n label: {\n visible: false\n }\n },\n });\n }\n return next;\n });\n // Ensure update view includes it\n ctx.interfaces.master.modify.update((modify) => {\n const next = modify ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === field)) {\n next.properties.push({\n name: field,\n layout: {\n positions: { lg: { colSpan: 12, order: 98 } },\n label: {\n visible: false\n }\n },\n });\n }\n return next;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZXh0cmEtcHJvcGVydGllcy9leHRyYS1wcm9wZXJ0aWVzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLHFCQUFxQixFQUE4SCxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR2hPLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFTekQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBMEI7SUFDeEQsSUFBSSxFQUFFLGtCQUFrQjtJQUN4QixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQXlDLEVBQUUsRUFBRTtRQUU1RCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRCwrQkFBK0I7UUFFL0IsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQVEsQ0FBQyxLQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQ25GLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLElBQUkseUJBQXlCLENBQUM7UUFDMUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLENBQUM7UUFFeEMsWUFBWTtRQUVaLDZCQUE2QjtRQUU3QixzQkFBc0I7UUFDdEIsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUks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QUUsS0FBSzt5QkFDakI7cUJBQ0o7aUJBQ0osQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgQVhQRW50aXR5TWFzdGVyQ3JlYXRlTGF5b3V0VmlldywgQVhQRW50aXR5TWFzdGVyTGlzdFZpZXcsIEFYUEVudGl0eU1hc3RlclNpbmdsZUxheW91dFZpZXcsIEFYUEVudGl0eU1hc3RlclVwZGF0ZUxheW91dFZpZXcsIEFYUFNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuXG5cbmV4cG9ydCB0eXBlIEFYUEV4dHJhUHJvcGVydGllc1BsdWdpbk9wdGlvbnMgPSB7XG4gICAgZmllbGQ/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbW9kZT86ICdpbmxpbmUnIHwgJ2RlZmluZWQnO1xufVxuXG4vKipcbiAqIGV4dHJhLXByb3BlcnRpZXMgcGx1Z2luXG4gKiBPcHRpb25zOlxuICogLSBmaWVsZDogc3RyaW5nIChwcm9wZXJ0eSBuYW1lIHRvIGhvbGQgdGhlIGV4dHJhIHByb3BlcnRpZXMgYXJyYXksIGRlZmF1bHQ6ICdleHRyYVByb3BlcnRpZXMnKVxuICogLSB0aXRsZT86IHN0cmluZyAoVUkgdGl0bGUgZm9yIHRoZSBmaWVsZClcbiAqL1xuZXhwb3J0IGNvbnN0IGV4dHJhUHJvcGVydGllc1BsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICAgIG5hbWU6ICdleHRyYS1wcm9wZXJ0aWVzJyxcbiAgICBvcmRlcjogNjAsXG4gICAgYXBwbHk6IGFzeW5jIChjdHgsIG9wdGlvbnM/OiBBWFBFeHRyYVByb3BlcnRpZXNQbHVnaW5PcHRpb25zKSA9PiB7XG5cbiAgICAgICAgY29uc3Qgc2V0dGluZ3NTZXJ2aWNlID0gaW5qZWN0KEFYUFNldHRpbmdTZXJ2aWNlKTtcbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBPcHRpb25zICAgLS0tLVxuXG4gICAgICAgIGNvbnN0IGZpZWxkID0gb3B0aW9ucz8uZmllbGQ/LnRyaW0oKT8ubGVuZ3RoID8gb3B0aW9ucyEuZmllbGQhIDogJ2V4dHJhUHJvcGVydGllcyc7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gb3B0aW9ucz8udGl0bGUgPz8gJ0BleHRyYS1wcm9wZXJ0aWVzOnRpdGxlJztcbiAgICAgICAgY29uc3QgbW9kZSA9IG9wdGlvbnM/Lm1vZGUgPz8gJ2RlZmluZWQnO1xuXG4gICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgR3JvdXAgICAtLS0tXG5cbiAgICAgICAgLy8gRW5zdXJlIGdyb3VwIGV4aXN0c1xuICAgICAgICBjb25zdCBncm91cElkID0gJ2FkZGl0aW9uYWwnO1xuICAgICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZXh0cmEtcHJvcGVydGllczp0aXRsZScgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWA7XG5cblxuICAgICAgICBjb25zdCBzY2hlbWE6IEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtW10gPSBtb2RlID09PSAnaW5saW5lJyA/IFtdIDpcbiAgICAgICAgICAgIChhd2FpdCBzZXR0aW5nc1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQpLmdldChgZXh0cmEtcHJvcGVydGllcy5zY2hlbWEuJHt0YXJnZXR9YCkpID8/IFtdO1xuXG4gICAgICAgIC8vIEVuc3VyZSBwcm9wZXJ0eSBleGlzdHMgKHVzZXMgb3VyIHdpZGdldClcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IGZpZWxkKSkge1xuICAgICAgICAgICAgY3R4LnByb3BlcnRpZXMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICBncm91cElkLFxuICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogbW9kZSA9PT0gJ2lubGluZScgPyAnZXh0cmEtcHJvcGVydGllcycgOiAnZXh0cmEtcHJvcGVydGllcy12YWx1ZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVtYSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNoYXJlZCA9IHtcbiAgICAgICAgICAgIG5hbWU6ICdleHRyYS1wcm9wZXJ0aWVzJyxcbiAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnbWFuYWdlLWV4dHJhLXByb3BlcnRpZXMnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aXRsZTogJ0BleHRyYS1wcm9wZXJ0aWVzOmFjdGlvbnMubWFuYWdlJyxcbiAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLXNvbGlkIGZhLWdlYXInLFxuICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IFsnQGV4dHJhLXByb3BlcnRpZXM6cGVybWlzc2lvbnMucGxhdGZvcm0nXSxcbiAgICAgICAgfVxuXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5saXN0LnVwZGF0ZSgobGlzdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV4dDogQVhQRW50aXR5TWFzdGVyTGlzdFZpZXcgPSBsaXN0ID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHZpZXdzOiBbXSB9O1xuICAgICAgICAgICAgaWYgKCFuZXh0LmFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBuZXh0LmFjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHQuYWN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc2hhcmVkLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlR5cGVMZXZlbCxcbiAgICAgICAgICAgICAgICB9IGFzIEFYUEVudGl0eUFjdGlvblxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBFbnN1cmUgc2luZ2xlIHZpZXcgaW5jbHVkZXMgaXRcbiAgICAgICAgY3R4LmludGVyZmFjZXMubWFzdGVyLnNpbmdsZS51cGRhdGUoKHNpbmdsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV4dDogQVhQRW50aXR5TWFzdGVyU2luZ2xlTGF5b3V0VmlldyA9IHNpbmdsZSA/PyB7IHRpdGxlOiBjdHguZW50aXR5LnRpdGxlLCBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpICYmIHNjaGVtYS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQsIG9yZGVyOiAxMTAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIgfSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBFbnN1cmUgYWN0aW9uIGV4aXN0c1xuICAgICAgICAgICAgaWYgKG1vZGUgPT09ICdkZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG5leHQuYWN0aW9ucyA9IG5leHQuYWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgICAgICBpZiAoIW5leHQuYWN0aW9ucy5zb21lKChhOiBhbnkpID0+IGEubmFtZSA9PT0gJ2V4dHJhLXByb3BlcnRpZXMnKSkge1xuXG4gICAgICAgICAgICAgICAgICAgIG5leHQuYWN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnNoYXJlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIEFYUEVudGl0eUFjdGlvblxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIGNyZWF0ZSB2aWV3IGluY2x1ZGVzIGl0XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5jcmVhdGUudXBkYXRlKChjcmVhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQ6IEFYUEVudGl0eU1hc3RlckNyZWF0ZUxheW91dFZpZXcgPSBjcmVhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA5OCB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHVwZGF0ZSB2aWV3IGluY2x1ZGVzIGl0XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5tb2RpZnkudXBkYXRlKChtb2RpZnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQ6IEFYUEVudGl0eU1hc3RlclVwZGF0ZUxheW91dFZpZXcgPSBtb2RpZnkgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA5OCB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG4gICAgfSxcbn07XG5cblxuIl19","import { AXP_EXTRA_PROPERTY_TYPES } from '@acorex/platform/layout/components';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const AXP_EXTRA_PROPERTY_TYPES_DEFAULT = [\n { id: AXPWidgetsList.Editors.TextBox, title: 'Text' },\n { id: AXPWidgetsList.Editors.CheckBox, title: 'Checkbox' },\n { id: AXPWidgetsList.Editors.ToggleSwitch, title: 'Toggle' },\n { id: AXPWidgetsList.Editors.NumberBox, title: 'Number' },\n { id: AXPWidgetsList.Editors.DateTimeBox, title: 'Date', defaultOptions: { format: 'date' } },\n { id: AXPWidgetsList.Editors.DateTimeBox, title: 'DateTime', defaultOptions: { format: 'datetime' } },\n { id: AXPWidgetsList.Editors.DateTimeBox, title: 'Time', defaultOptions: { format: 'time' } },\n { id: AXPWidgetsList.Editors.TextBox, title: 'Email', defaultOptions: { type: 'email' } },\n { id: AXPWidgetsList.Editors.TextBox, title: 'Phone', defaultOptions: { type: 'tel' } },\n];\nexport function provideExtraPropertyTypes(types) {\n return {\n provide: AXP_EXTRA_PROPERTY_TYPES,\n useValue: types,\n };\n}\nexport function provideDefaultExtraPropertyTypes() {\n return provideExtraPropertyTypes(AXP_EXTRA_PROPERTY_TYPES_DEFAULT);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZXh0cmEtcHJvcGVydGllcy9leHRyYS1wcm9wZXJ0aWVzLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUEyQjtJQUNwRSxFQUFFLEVBQUUsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQ3JELEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7SUFDMUQsRUFBRSxFQUFFLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtJQUM1RCxFQUFFLEVBQUUsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO0lBQ3pELEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQzdGLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxFQUFFO0lBQ3JHLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQzdGLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3pGLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO0NBQzFGLENBQUM7QUFFRixNQUFNLFVBQVUseUJBQXlCLENBQUMsS0FBNkI7SUFDbkUsT0FBTztRQUNILE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsUUFBUSxFQUFFLEtBQUs7S0FDbEIsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDO0lBQzVDLE9BQU8seUJBQXlCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEV4dHJhUHJvcGVydHlUeXBlLCBBWFBfRVhUUkFfUFJPUEVSVFlfVFlQRVMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGNvbnN0IEFYUF9FWFRSQV9QUk9QRVJUWV9UWVBFU19ERUZBVUxUOiBBWFBFeHRyYVByb3BlcnR5VHlwZVtdID0gW1xuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuVGV4dEJveCwgdGl0bGU6ICdUZXh0JyB9LFxuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuQ2hlY2tCb3gsIHRpdGxlOiAnQ2hlY2tib3gnIH0sXG4gICAgeyBpZDogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5Ub2dnbGVTd2l0Y2gsIHRpdGxlOiAnVG9nZ2xlJyB9LFxuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuTnVtYmVyQm94LCB0aXRsZTogJ051bWJlcicgfSxcbiAgICB7IGlkOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLkRhdGVUaW1lQm94LCB0aXRsZTogJ0RhdGUnLCBkZWZhdWx0T3B0aW9uczogeyBmb3JtYXQ6ICdkYXRlJyB9IH0sXG4gICAgeyBpZDogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5EYXRlVGltZUJveCwgdGl0bGU6ICdEYXRlVGltZScsIGRlZmF1bHRPcHRpb25zOiB7IGZvcm1hdDogJ2RhdGV0aW1lJyB9IH0sXG4gICAgeyBpZDogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5EYXRlVGltZUJveCwgdGl0bGU6ICdUaW1lJywgZGVmYXVsdE9wdGlvbnM6IHsgZm9ybWF0OiAndGltZScgfSB9LFxuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuVGV4dEJveCwgdGl0bGU6ICdFbWFpbCcsIGRlZmF1bHRPcHRpb25zOiB7IHR5cGU6ICdlbWFpbCcgfSB9LFxuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuVGV4dEJveCwgdGl0bGU6ICdQaG9uZScsIGRlZmF1bHRPcHRpb25zOiB7IHR5cGU6ICd0ZWwnIH0gfSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRXh0cmFQcm9wZXJ0eVR5cGVzKHR5cGVzOiBBWFBFeHRyYVByb3BlcnR5VHlwZVtdKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IEFYUF9FWFRSQV9QUk9QRVJUWV9UWVBFUyxcbiAgICAgICAgdXNlVmFsdWU6IHR5cGVzLFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGVmYXVsdEV4dHJhUHJvcGVydHlUeXBlcygpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVFeHRyYVByb3BlcnR5VHlwZXMoQVhQX0VYVFJBX1BST1BFUlRZX1RZUEVTX0RFRkFVTFQpO1xufVxuXG5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { provideCommandSetups } from '@acorex/platform/runtime';\nimport { extraPropertiesPlugin } from './extra-properties.plugin';\nimport { provideDefaultExtraPropertyTypes } from './extra-properties.providers';\nimport * as i0 from \"@angular/core\";\nexport class AXPExtraPropertiesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPExtraPropertiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPExtraPropertiesModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPExtraPropertiesModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: extraPropertiesPlugin },\n //\n provideDefaultExtraPropertyTypes(),\n //\n provideCommandSetups([{\n key: 'manage-extra-properties',\n command: () => import('./manage-extra-properties.command').then(m => m.AXPManageExtraPropertiesCommand),\n }]),\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPExtraPropertiesModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: extraPropertiesPlugin },\n //\n provideDefaultExtraPropertyTypes(),\n //\n provideCommandSetups([{\n key: 'manage-extra-properties',\n command: () => import('./manage-extra-properties.command').then(m => m.AXPManageExtraPropertiesCommand),\n }]),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZXh0cmEtcHJvcGVydGllcy9leHRyYS1wcm9wZXJ0aWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWNoRixNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QjsrR0FBeEIsd0JBQXdCLGFBWHRCO1lBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUU7WUFDbkYsRUFBRTtZQUNGLGdDQUFnQyxFQUFFO1lBQ2xDLEVBQUU7WUFDRixvQkFBb0IsQ0FBQyxDQUFDO29CQUNsQixHQUFHLEVBQUUseUJBQXlCO29CQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDO2lCQUMxRyxDQUFDLENBQUM7U0FDTjs7MkZBRVEsd0JBQXdCO2tCQVpwQyxRQUFRO21CQUFDO29CQUNOLFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRTt3QkFDbkYsRUFBRTt3QkFDRixnQ0FBZ0MsRUFBRTt3QkFDbEMsRUFBRTt3QkFDRixvQkFBb0IsQ0FBQyxDQUFDO2dDQUNsQixHQUFHLEVBQUUseUJBQXlCO2dDQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDOzZCQUMxRyxDQUFDLENBQUM7cUJBQ047aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IHByb3ZpZGVDb21tYW5kU2V0dXBzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGV4dHJhUHJvcGVydGllc1BsdWdpbiB9IGZyb20gJy4vZXh0cmEtcHJvcGVydGllcy5wbHVnaW4nO1xuaW1wb3J0IHsgcHJvdmlkZURlZmF1bHRFeHRyYVByb3BlcnR5VHlwZXMgfSBmcm9tICcuL2V4dHJhLXByb3BlcnRpZXMucHJvdmlkZXJzJztcblxuQE5nTW9kdWxlKHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogZXh0cmFQcm9wZXJ0aWVzUGx1Z2luIH0sXG4gICAgICAgIC8vXG4gICAgICAgIHByb3ZpZGVEZWZhdWx0RXh0cmFQcm9wZXJ0eVR5cGVzKCksXG4gICAgICAgIC8vXG4gICAgICAgIHByb3ZpZGVDb21tYW5kU2V0dXBzKFt7XG4gICAgICAgICAgICBrZXk6ICdtYW5hZ2UtZXh0cmEtcHJvcGVydGllcycsXG4gICAgICAgICAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vbWFuYWdlLWV4dHJhLXByb3BlcnRpZXMuY29tbWFuZCcpLnRoZW4obSA9PiBtLkFYUE1hbmFnZUV4dHJhUHJvcGVydGllc0NvbW1hbmQpLFxuICAgICAgICB9XSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRXh0cmFQcm9wZXJ0aWVzTW9kdWxlIHsgfVxuXG5cbiJdfQ==","import { InjectionToken } from \"@angular/core\";\nexport const AXP_GLOBAL_SEARCH_CONFIG_TOKEN = new InjectionToken('AXP_GLOBAL_SEARCH_CONFIG_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoL3NlYXJjaC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQU1yRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsZ0NBQWdDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBHbG9iYWxTZWFyY2hDb25maWdzIHtcbiAgICB3aW5kb3c6ICgpID0+IFR5cGU8YW55Pjtcbn1cblxuZXhwb3J0IGNvbnN0IEFYUF9HTE9CQUxfU0VBUkNIX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBHbG9iYWxTZWFyY2hDb25maWdzPignQVhQX0dMT0JBTF9TRUFSQ0hfQ09ORklHX1RPS0VOJyk7Il19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, inject } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/core/translation\";\nimport * as i4 from \"@angular/common\";\nexport class AXPGlobalSearchSlotComponent {\n constructor() {\n this.workflow = inject(AXPWorkflowService);\n }\n async startSearch() {\n await this.workflow.execute('global-search');\n }\n async handleKeyboardEvent(event) {\n if (event.ctrlKey) {\n switch (event.code) {\n case 'KeyK':\n event.preventDefault();\n event.stopPropagation();\n await this.startSearch();\n break;\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: AXPGlobalSearchSlotComponent, isStandalone: true, selector: \"ng-component\", host: { listeners: { \"document:keydown\": \"handleKeyboardEvent($event)\" } }, ngImport: i0, template: `\n <ax-button color=\"primary\" class=\"ax-flex md:ax-hidden\" (onClick)=\"startSearch()\">\n <ax-icon class=\"fa-regular fa-search\">\n </ax-icon>\n </ax-button>\n <div class=\"ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text\" (click)=\"startSearch()\" *translate=\"let t\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <i class=\"fa-light fa-search ax-text-xl\"></i>\n <span>{{ t('search-placeholder',{scope:'global-search'}) | async}}</span>\n </div>\n <kbd class=\"ax-text-sm\">Ctrl+K</kbd>\n </div>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i3.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchSlotComponent, decorators: [{\n type: Component,\n args: [{\n template: `\n <ax-button color=\"primary\" class=\"ax-flex md:ax-hidden\" (onClick)=\"startSearch()\">\n <ax-icon class=\"fa-regular fa-search\">\n </ax-icon>\n </ax-button>\n <div class=\"ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text\" (click)=\"startSearch()\" *translate=\"let t\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <i class=\"fa-light fa-search ax-text-xl\"></i>\n <span>{{ t('search-placeholder',{scope:'global-search'}) | async}}</span>\n </div>\n <kbd class=\"ax-text-sm\">Ctrl+K</kbd>\n </div>\n `,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule, AXTextBoxModule]\n }]\n }], propDecorators: { handleKeyboardEvent: [{\n type: HostListener,\n args: ['document:keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNsb3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2dsb2JhbC1zZWFyY2gvc2VhcmNoLXNsb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7O0FBa0I5RCxNQUFNLE9BQU8sNEJBQTRCO0lBaEJ6QztRQWtCWSxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FtQmpEO0lBakJXLEtBQUssQ0FBQyxXQUFXO1FBQ3pCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUdTLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFvQjtRQUN0RCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxNQUFNO29CQUNULEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN4QixNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDekIsTUFBTTtZQUNWLENBQUM7UUFDSCxDQUFDO0lBRUgsQ0FBQzs4R0FwQlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsb0pBZjdCOzs7Ozs7Ozs7Ozs7R0FZVCwyREFDUyxZQUFZLDhCQUFFLGNBQWMsNlhBQUUsaUJBQWlCLCtIQUFFLG1CQUFtQiw4R0FBRSxlQUFlOzsyRkFFcEYsNEJBQTRCO2tCQWhCeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxDQUFDO2lCQUNqRzs4QkFVaUIsbUJBQW1CO3NCQURsQyxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXgtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzPVwiYXgtZmxleCBtZDpheC1oaWRkZW5cIiAob25DbGljayk9XCJzdGFydFNlYXJjaCgpXCI+XG4gICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtc2VhcmNoXCI+XG4gICAgICA8L2F4LWljb24+XG4gICAgPC9heC1idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cImF4LWJnLXByaW1hcnktMjAwLzE1IGF4LWgtMTAgYXgtdy03MiBheC1yb3VuZGVkLWRlZmF1bHQgYXgtY3Vyc29yLXBvaW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWhpZGRlbiBtZDpheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1weC0zIGhvdmVyOmF4LWJnLXByaW1hcnktMjAwLzMwIGF4LXRleHQtcHJpbWFyeS10ZXh0XCIgKGNsaWNrKT1cInN0YXJ0U2VhcmNoKClcIiAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMlwiPlxuICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1zZWFyY2ggYXgtdGV4dC14bFwiPjwvaT5cbiAgICAgIDxzcGFuPnt7IHQoJ3NlYXJjaC1wbGFjZWhvbGRlcicse3Njb3BlOidnbG9iYWwtc2VhcmNoJ30pIHwgYXN5bmN9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGtiZCBjbGFzcz1cImF4LXRleHQtc21cIj5DdHJsK0s8L2tiZD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlLCBBWFRyYW5zbGF0aW9uTW9kdWxlLCBBWFRleHRCb3hNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEFYUEdsb2JhbFNlYXJjaFNsb3RDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBhc3luYyBzdGFydFNlYXJjaCgpIHtcbiAgICBhd2FpdCB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ2dsb2JhbC1zZWFyY2gnKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xuICAgICAgICBjYXNlICdLZXlLJzpcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRTZWFyY2goKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIl19","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPWorkflowAction, AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '../search.config';\nimport * as i0 from \"@angular/core\";\nexport class AXPGlobalSearchStartAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.workflow = inject(AXPWorkflowService);\n this.config = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);\n }\n async execute(context) {\n const component = await this.config.window();\n const popup = await this.popupService.open(component, {\n title: 'Search...',\n size: 'fit',\n closeOnBackdropClick: true,\n data: {\n text: context.getVariable('text'),\n },\n header: false,\n });\n if (popup.data) {\n const result = popup.data;\n if (result && result.command) {\n this.workflow.execute(result.command?.name, result.command?.options);\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchStartAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPGlobalSearchWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'AXPGlobalSearchStartAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2dsb2JhbC1zZWFyY2gvd29ya2Zsb3dzL3NlYXJjaC53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUlsRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsaUJBQWlCO0lBRGpFOztRQUVVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLGFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0QyxXQUFNLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FvQnpEO0lBbEJVLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDaEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3BELEtBQUssRUFBRSxXQUFXO1lBQ2xCLElBQUksRUFBRSxLQUFLO1lBQ1gsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2FBQ2xDO1lBQ0QsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFDSCxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNmLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUE4QixDQUFDO1lBQ3BELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7OEdBdEJVLDBCQUEwQjtrSEFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOztBQTBCWCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsV0FBVyxFQUFFLE9BQU87SUFDcEIsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLDRCQUE0QjtTQUNyQztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0LCBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQX0dMT0JBTF9TRUFSQ0hfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vc2VhcmNoLmNvbmZpZyc7XG5pbXBvcnQgeyBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQR2xvYmFsU2VhcmNoU3RhcnRBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWFBfR0xPQkFMX1NFQVJDSF9DT05GSUdfVE9LRU4pO1xuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gYXdhaXQgdGhpcy5jb25maWcud2luZG93KCk7XG4gICAgY29uc3QgcG9wdXAgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKGNvbXBvbmVudCwge1xuICAgICAgdGl0bGU6ICdTZWFyY2guLi4nLFxuICAgICAgc2l6ZTogJ2ZpdCcsXG4gICAgICBjbG9zZU9uQmFja2Ryb3BDbGljazogdHJ1ZSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGV4dDogY29udGV4dC5nZXRWYXJpYWJsZSgndGV4dCcpLFxuICAgICAgfSxcbiAgICAgIGhlYWRlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgaWYgKHBvcHVwLmRhdGEpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvcHVwLmRhdGEgYXMgQVhQU2VhcmNoRGlzcGxheVJlc3VsdDtcbiAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmNvbW1hbmQpIHtcbiAgICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKHJlc3VsdC5jb21tYW5kPy5uYW1lLCByZXN1bHQuY29tbWFuZD8ub3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBHbG9iYWxTZWFyY2hXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAnc3RhcnQnLFxuICBzdGVwczoge1xuICAgIHN0YXJ0OiB7XG4gICAgICBhY3Rpb246ICdBWFBHbG9iYWxTZWFyY2hTdGFydEFjdGlvbicsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=","import { Injector, NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXPGlobalSearchSlotComponent } from './search-slot.component';\nimport { AXPGlobalSearchStartAction, AXPGlobalSearchWorkflow } from './workflows/search.workflow';\nimport { AXPAppStartUpService } from '@acorex/platform/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from './search.config';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/core\";\nimport * as i2 from \"@acorex/platform/layout/components\";\nimport * as i3 from \"@acorex/platform/workflow\";\nexport class AXPGlobalSearchModule {\n constructor(appInitService, injector) {\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchModule, deps: [{ token: i1.AXPAppStartUpService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchModule, imports: [i2.AXPComponentSlotModule, i3.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchModule, providers: [\n {\n provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,\n useValue: {\n window: () => import('./search-popup.component').then((c) => c.AXPGlobalSearchPopupComponent),\n },\n },\n ], imports: [AXPComponentSlotModule.forChild({\n 'root-header-start': [\n {\n priority: 0,\n name: 'search',\n component: AXPGlobalSearchSlotComponent,\n },\n ],\n }),\n //\n AXPWorkflowModule.forChild({\n actions: {\n AXPGlobalSearchStartAction\n },\n workflows: {\n 'global-search': AXPGlobalSearchWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPComponentSlotModule.forChild({\n 'root-header-start': [\n {\n priority: 0,\n name: 'search',\n component: AXPGlobalSearchSlotComponent,\n },\n ],\n }),\n //\n AXPWorkflowModule.forChild({\n actions: {\n AXPGlobalSearchStartAction\n },\n workflows: {\n 'global-search': AXPGlobalSearchWorkflow,\n },\n })\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,\n useValue: {\n window: () => import('./search-popup.component').then((c) => c.AXPGlobalSearchPopupComponent),\n },\n },\n ]\n }]\n }], ctorParameters: () => [{ type: i1.AXPAppStartUpService }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoL3NlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBbUM1RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQ0UsY0FBb0MsRUFDcEMsUUFBa0I7SUFHcEIsQ0FBQzs4R0FOVSxxQkFBcUI7K0dBQXJCLHFCQUFxQjsrR0FBckIscUJBQXFCLGFBVnJCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDhCQUE4QjtnQkFDdkMsUUFBUSxFQUFFO29CQUNSLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FDWCxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDbEY7YUFDRjtTQUNGLFlBN0JDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztnQkFDOUIsbUJBQW1CLEVBQUU7b0JBQ25CO3dCQUNFLFFBQVEsRUFBRSxDQUFDO3dCQUNYLElBQUksRUFBRSxRQUFRO3dCQUNkLFNBQVMsRUFBRSw0QkFBNEI7cUJBQ3hDO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLEVBQUU7WUFDRixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3pCLE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7aUJBQzNCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxlQUFlLEVBQUUsdUJBQXVCO2lCQUN6QzthQUNGLENBQUM7OzJGQWNPLHFCQUFxQjtrQkFqQ2pDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQixDQUFDLFFBQVEsQ0FBQzs0QkFDOUIsbUJBQW1CLEVBQUU7Z0NBQ25CO29DQUNFLFFBQVEsRUFBRSxDQUFDO29DQUNYLElBQUksRUFBRSxRQUFRO29DQUNkLFNBQVMsRUFBRSw0QkFBNEI7aUNBQ3hDOzZCQUNGO3lCQUNGLENBQUM7d0JBQ0YsRUFBRTt3QkFDRixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3pCLE9BQU8sRUFBRTtnQ0FDUCwwQkFBMEI7NkJBQzNCOzRCQUNELFNBQVMsRUFBRTtnQ0FDVCxlQUFlLEVBQUUsdUJBQXVCOzZCQUN6Qzt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDhCQUE4Qjs0QkFDdkMsUUFBUSxFQUFFO2dDQUNSLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FDWCxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQzs2QkFDbEY7eUJBQ0Y7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFBHbG9iYWxTZWFyY2hTbG90Q29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtc2xvdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQR2xvYmFsU2VhcmNoU3RhcnRBY3Rpb24sIEFYUEdsb2JhbFNlYXJjaFdvcmtmbG93IH0gZnJvbSAnLi93b3JrZmxvd3Mvc2VhcmNoLndvcmtmbG93JztcbmltcG9ydCB7IEFYUEFwcFN0YXJ0VXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUF9HTE9CQUxfU0VBUkNIX0NPTkZJR19UT0tFTiB9IGZyb20gJy4vc2VhcmNoLmNvbmZpZyc7XG5pbXBvcnQgeyBBWFBDb21wb25lbnRTbG90TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBDb21wb25lbnRTbG90TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgICdyb290LWhlYWRlci1zdGFydCc6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByaW9yaXR5OiAwLFxuICAgICAgICAgIG5hbWU6ICdzZWFyY2gnLFxuICAgICAgICAgIGNvbXBvbmVudDogQVhQR2xvYmFsU2VhcmNoU2xvdENvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gICAgLy9cbiAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgIEFYUEdsb2JhbFNlYXJjaFN0YXJ0QWN0aW9uXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdnbG9iYWwtc2VhcmNoJzogQVhQR2xvYmFsU2VhcmNoV29ya2Zsb3csXG4gICAgICB9LFxuICAgIH0pXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfR0xPQkFMX1NFQVJDSF9DT05GSUdfVE9LRU4sXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICB3aW5kb3c6ICgpID0+XG4gICAgICAgICAgaW1wb3J0KCcuL3NlYXJjaC1wb3B1cC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUEdsb2JhbFNlYXJjaFBvcHVwQ29tcG9uZW50KSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBWFBHbG9iYWxTZWFyY2hNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBhcHBJbml0U2VydmljZTogQVhQQXBwU3RhcnRVcFNlcnZpY2UsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuXG4gIH1cbn1cbiJdfQ==","import { AXPSearchService, AXPSettingService } from \"@acorex/platform/common\";\nimport { AXPPlatformScope } from \"@acorex/platform/core\";\nimport { computed, inject, signal } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nexport class AXPGlobalSearchViewModel {\n constructor() {\n this.settingKeys = {\n recent: \"global-search:recents:items\",\n pinned: \"global-search:pinned:items\"\n };\n this.searchService = inject(AXPSearchService);\n this.settingService = inject(AXPSettingService);\n this._text = signal(null, ...(ngDevMode ? [{ debugName: \"_text\" }] : []));\n this.text = this._text.asReadonly();\n this._results = signal([], ...(ngDevMode ? [{ debugName: \"_results\" }] : []));\n this.results = this._results.asReadonly();\n this._isBusy = signal(false, ...(ngDevMode ? [{ debugName: \"_isBusy\" }] : []));\n this.isBusy = this._isBusy.asReadonly();\n this.isEmpty = computed(() => this.text() && this.results().length == 0, ...(ngDevMode ? [{ debugName: \"isEmpty\" }] : []));\n this.isValid = computed(() => (this.text()?.length ?? 0) > 2, ...(ngDevMode ? [{ debugName: \"isValid\" }] : []));\n this.isStart = computed(() => !this.isEmpty() && this.results().length == 0, ...(ngDevMode ? [{ debugName: \"isStart\" }] : []));\n this.isWelcome = computed(() => this.isStart() && this.pinnedItems().length == 0 && this.recentItems().length == 0, ...(ngDevMode ? [{ debugName: \"isWelcome\" }] : []));\n this._recentItems = signal([], ...(ngDevMode ? [{ debugName: \"_recentItems\" }] : []));\n this._pinnedItems = signal([], ...(ngDevMode ? [{ debugName: \"_pinnedItems\" }] : []));\n this.pinnedItems = this._pinnedItems.asReadonly();\n this.recentItems = computed(() => this.getTopRecentItems(), ...(ngDevMode ? [{ debugName: \"recentItems\" }] : []));\n this.onItemSelected = new Subject();\n this.loadSettings();\n }\n async search(text) {\n this._isBusy.set(true);\n this._text.set(text);\n if (!this.isValid()) {\n this._results.set([]);\n }\n else {\n await new Promise((resolve) => setTimeout(resolve, 250));\n const results = await this.searchService.search(text);\n this._results.set(results);\n }\n this._isBusy.set(false);\n }\n async execute(item) {\n this.onItemSelected.next(item);\n await this.updateSelectionHistory(item);\n }\n async pin(item) {\n const currentPinned = this._pinnedItems();\n if (!currentPinned.some(i => i.id === item.id)) {\n this._pinnedItems.set([item, ...currentPinned].slice(0, 5));\n await this.saveSettings();\n }\n }\n async unpin(item) {\n const currentPinned = this._pinnedItems();\n this._pinnedItems.set(currentPinned.filter(i => i.id !== item.id));\n await this.saveSettings();\n }\n async togglePin(item) {\n if (this.isPinned(item)) {\n await this.unpin(item);\n }\n else {\n await this.pin(item);\n }\n }\n isPinned(item) {\n const currentPinned = this._pinnedItems();\n return currentPinned.some(i => i.id === item.id);\n }\n async updateSelectionHistory(item) {\n // Update recent selections\n const currentHistory = this._recentItems();\n const updatedHistory = [item, ...currentHistory.filter(i => i.id !== item.id)].slice(0, 5);\n this._recentItems.set(updatedHistory);\n // Save updated settings\n await this.saveSettings();\n }\n getTopRecentItems() {\n const pinnedIds = new Set(this._pinnedItems().map(item => item.id));\n return this._recentItems().filter(item => !pinnedIds.has(item.id)).slice(0, 5);\n }\n async clearRecentItems() {\n this._recentItems.set([]);\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.recent, []);\n }\n async loadSettings() {\n // Load recent selections\n const recent = await this.settingService.get(this.settingKeys.recent);\n if (recent) {\n this._recentItems.set(recent.slice(0, 5));\n }\n // Load pinned items\n const pinned = await this.settingService.get(this.settingKeys.pinned);\n if (pinned) {\n this._pinnedItems.set(pinned.slice(0, 5));\n }\n }\n async saveSettings() {\n // Save recent selections\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.recent, this._recentItems().slice(0, 5));\n // Save pinned items\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.pinned, this._pinnedItems().slice(0, 5));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoL3NlYXJjaC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1RCxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25JLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE1BQU0sT0FBTyx3QkFBd0I7SUFrQ2pDO1FBaENRLGdCQUFXLEdBQUc7WUFDbEIsTUFBTSxFQUFFLDZCQUE2QjtZQUNyQyxNQUFNLEVBQUUsNEJBQTRCO1NBQ3ZDLENBQUE7UUFFTyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFM0MsVUFBSyxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxpREFBQyxDQUFDO1FBQ3JDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTlCLGFBQVEsR0FBRyxNQUFNLENBQWdDLEVBQUUsb0RBQUMsQ0FBQztRQUN0RCxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVwQyxZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssbURBQUMsQ0FBQztRQUN6QixXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVuQyxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFB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SUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQTJCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEcsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsWUFBWTtRQUN0Qix5QkFBeUI7UUFDekIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVySCxvQkFBb0I7UUFDcEIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZWFyY2hEaXNwbGF5R3JvdXBSZXN1bHQsIEFYUFNlYXJjaERpc3BsYXlSZXN1bHQsIEFYUFNlYXJjaFNlcnZpY2UsIEFYUFNldHRpbmdTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5leHBvcnQgY2xhc3MgQVhQR2xvYmFsU2VhcmNoVmlld01vZGVsIHtcblxuICAgIHByaXZhdGUgc2V0dGluZ0tleXMgPSB7XG4gICAgICAgIHJlY2VudDogXCJnbG9iYWwtc2VhcmNoOnJlY2VudHM6aXRlbXNcIixcbiAgICAgICAgcGlubmVkOiBcImdsb2JhbC1zZWFyY2g6cGlubmVkOml0ZW1zXCJcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2UgPSBpbmplY3QoQVhQU2VhcmNoU2VydmljZSk7XG4gICAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSk7XG5cbiAgICBwcml2YXRlIF90ZXh0ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyB0ZXh0ID0gdGhpcy5fdGV4dC5hc1JlYWRvbmx5KCk7XG5cbiAgICBwcml2YXRlIF9yZXN1bHRzID0gc2lnbmFsPEFYUFNlYXJjaERpc3BsYXlHcm91cFJlc3VsdFtdPihbXSk7XG4gICAgcHVibGljIHJlc3VsdHMgPSB0aGlzLl9yZXN1bHRzLmFzUmVhZG9ubHkoKTtcblxuICAgIHByaXZhdGUgX2lzQnVzeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHVibGljIGlzQnVzeSA9IHRoaXMuX2lzQnVzeS5hc1JlYWRvbmx5KCk7XG5cbiAgICBwdWJsaWMgaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGV4dCgpICYmIHRoaXMucmVzdWx0cygpLmxlbmd0aCA9PSAwKTtcblxuICAgIHB1YmxpYyBpc1ZhbGlkID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMudGV4dCgpPy5sZW5ndGggPz8gMCkgPiAyKTtcblxuICAgIHB1YmxpYyBpc1N0YXJ0ID0gY29tcHV0ZWQoKCkgPT4gIXRoaXMuaXNFbXB0eSgpICYmIHRoaXMucmVzdWx0cygpLmxlbmd0aCA9PSAwKTtcblxuICAgIHB1YmxpYyBpc1dlbGNvbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlzU3RhcnQoKSAmJiB0aGlzLnBpbm5lZEl0ZW1zKCkubGVuZ3RoID09IDAgJiYgdGhpcy5yZWNlbnRJdGVtcygpLmxlbmd0aCA9PSAwKTtcblxuICAgIHByaXZhdGUgX3JlY2VudEl0ZW1zID0gc2lnbmFsPEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4oW10pO1xuICAgIHByaXZhdGUgX3Bpbm5lZEl0ZW1zID0gc2lnbmFsPEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4oW10pO1xuICAgIHB1YmxpYyBwaW5uZWRJdGVtcyA9IHRoaXMuX3Bpbm5lZEl0ZW1zLmFzUmVhZG9ubHkoKTtcbiAgICBwdWJsaWMgcmVjZW50SXRlbXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmdldFRvcFJlY2VudEl0ZW1zKCkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG9uSXRlbVNlbGVjdGVkID0gbmV3IFN1YmplY3Q8QVhQU2VhcmNoRGlzcGxheVJlc3VsdD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmxvYWRTZXR0aW5ncygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWFyY2godGV4dDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuX2lzQnVzeS5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KHRleHQpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3VsdHMuc2V0KFtdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDI1MCkpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaCh0ZXh0KTtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3VsdHMuc2V0KHJlc3VsdHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faXNCdXN5LnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGV4ZWN1dGUoaXRlbTogQVhQU2VhcmNoRGlzcGxheVJlc3VsdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLm5leHQoaXRlbSk7XG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlU2VsZWN0aW9uSGlzdG9yeShpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcGluKGl0ZW06IEFYUFNlYXJjaERpc3BsYXlSZXN1bHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY3VycmVudFBpbm5lZCA9IHRoaXMuX3Bpbm5lZEl0ZW1zKCk7XG4gICAgICAgIGlmICghY3VycmVudFBpbm5lZC5zb21lKGkgPT4gaS5pZCA9PT0gaXRlbS5pZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Bpbm5lZEl0ZW1zLnNldChbaXRlbSwgLi4uY3VycmVudFBpbm5lZF0uc2xpY2UoMCwgNSkpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zYXZlU2V0dGluZ3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyB1bnBpbihpdGVtOiBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQaW5uZWQgPSB0aGlzLl9waW5uZWRJdGVtcygpO1xuICAgICAgICB0aGlzLl9waW5uZWRJdGVtcy5zZXQoY3VycmVudFBpbm5lZC5maWx0ZXIoaSA9PiBpLmlkICE9PSBpdGVtLmlkKSk7XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZVNldHRpbmdzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHRvZ2dsZVBpbihpdGVtOiBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzUGlubmVkKGl0ZW0pKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnVucGluKGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5waW4oaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNQaW5uZWQoaXRlbTogQVhQU2VhcmNoRGlzcGxheVJlc3VsdCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjdXJyZW50UGlubmVkID0gdGhpcy5fcGlubmVkSXRlbXMoKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRQaW5uZWQuc29tZShpID0+IGkuaWQgPT09IGl0ZW0uaWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgdXBkYXRlU2VsZWN0aW9uSGlzdG9yeShpdGVtOiBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIFVwZGF0ZSByZWNlbnQgc2VsZWN0aW9uc1xuICAgICAgICBjb25zdCBjdXJyZW50SGlzdG9yeSA9IHRoaXMuX3JlY2VudEl0ZW1zKCk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRIaXN0b3J5ID0gW2l0ZW0sIC4uLmN1cnJlbnRIaXN0b3J5LmZpbHRlcihpID0+IGkuaWQgIT09IGl0ZW0uaWQpXS5zbGljZSgwLCA1KTtcbiAgICAgICAgdGhpcy5fcmVjZW50SXRlbXMuc2V0KHVwZGF0ZWRIaXN0b3J5KTtcblxuICAgICAgICAvLyBTYXZlIHVwZGF0ZWQgc2V0dGluZ3NcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlU2V0dGluZ3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRvcFJlY2VudEl0ZW1zKCk6IEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXSB7XG4gICAgICAgIGNvbnN0IHBpbm5lZElkcyA9IG5ldyBTZXQodGhpcy5fcGlubmVkSXRlbXMoKS5tYXAoaXRlbSA9PiBpdGVtLmlkKSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWNlbnRJdGVtcygpLmZpbHRlcihpdGVtID0+ICFwaW5uZWRJZHMuaGFzKGl0ZW0uaWQpKS5zbGljZSgwLCA1KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY2xlYXJSZWNlbnRJdGVtcygpIHtcbiAgICAgICAgdGhpcy5fcmVjZW50SXRlbXMuc2V0KFtdKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZS5zY29wZShBWFBQbGF0Zm9ybVNjb3BlLlVzZXIpLnNldCh0aGlzLnNldHRpbmdLZXlzLnJlY2VudCwgW10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZFNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBMb2FkIHJlY2VudCBzZWxlY3Rpb25zXG4gICAgICAgIGNvbnN0IHJlY2VudCA9IGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2UuZ2V0PEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4odGhpcy5zZXR0aW5nS2V5cy5yZWNlbnQpO1xuICAgICAgICBpZiAocmVjZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9yZWNlbnRJdGVtcy5zZXQocmVjZW50LnNsaWNlKDAsIDUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvYWQgcGlubmVkIGl0ZW1zXG4gICAgICAgIGNvbnN0IHBpbm5lZCA9IGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2UuZ2V0PEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4odGhpcy5zZXR0aW5nS2V5cy5waW5uZWQpO1xuICAgICAgICBpZiAocGlubmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9waW5uZWRJdGVtcy5zZXQocGlubmVkLnNsaWNlKDAsIDUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc2F2ZVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBTYXZlIHJlY2VudCBzZWxlY3Rpb25zXG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5Vc2VyKS5zZXQodGhpcy5zZXR0aW5nS2V5cy5yZWNlbnQsIHRoaXMuX3JlY2VudEl0ZW1zKCkuc2xpY2UoMCwgNSkpO1xuXG4gICAgICAgIC8vIFNhdmUgcGlubmVkIGl0ZW1zXG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5Vc2VyKS5zZXQodGhpcy5zZXR0aW5nS2V5cy5waW5uZWQsIHRoaXMuX3Bpbm5lZEl0ZW1zKCkuc2xpY2UoMCwgNSkpO1xuICAgIH1cbn1cbiJdfQ==","import { ensureListActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const iconPlugin = {\n name: 'icon',\n order: 75,\n apply: (ctx, options) => {\n ensureListActions(ctx);\n const groupId = 'appearance';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.appearance' });\n }\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'icon')) {\n ctx.properties.add({\n name: 'icon',\n title: '@general:terms.common.icon',\n groupId,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Theme.IconChooser,\n options: {},\n },\n },\n validations: [],\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: false },\n inline: { enabled: false },\n },\n },\n });\n }\n //#region ---- Add Column to List View ----\n // Add icon column to list view if enabled (default: true)\n const columnEnabled = options?.column?.enabled ?? true;\n if (columnEnabled) {\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'icon')) {\n ctx.columns.add({\n name: 'icon',\n title: '@general:terms.common.icon',\n sort: { enabled: false },\n options: {\n visible: options?.column?.visible ?? true,\n width: `${options?.column?.width ?? 120}px`,\n },\n });\n }\n }\n //#endregion\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'icon')) {\n next.properties.push({\n name: 'icon',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'icon')) {\n next.properties.push({\n name: 'icon',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'icon')) {\n next.properties.push({\n name: 'icon',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvaWNvbi1wbHVnaW4vaWNvbi5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVUxRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTBCO0lBQy9DLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBOEIsRUFBRSxFQUFFO1FBQzdDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztRQUM3QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQy9DLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUscUNBQXFDLEVBQVMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDL0MsR0FBRyxDQUFDLFVBQVUsQ0FB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QyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDakYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLElBQUksRUFBRSxNQUFNO29CQUNaLE1BQU0sRUFBRTt3QkFDTixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7cUJBQ2xDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb25QbHVnaW4sIGVuc3VyZUxpc3RBY3Rpb25zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcclxuaW1wb3J0IHsgQVhQV2lkZ2V0c0xpc3QgfSBmcm9tICcuLi8uLi93aWRnZXRzLW5hbWVzLWxpc3QnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFBJY29uUGx1Z2luT3B0aW9ucyB7XHJcbiAgY29sdW1uPzoge1xyXG4gICAgZW5hYmxlZD86IGJvb2xlYW47IC8vIGRlZmF1bHQ6IHRydWVcclxuICAgIHZpc2libGU/OiBib29sZWFuOyAvLyBkZWZhdWx0OiB0cnVlXHJcbiAgICB3aWR0aD86IG51bWJlcjsgLy8gZGVmYXVsdDogMTIwXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGljb25QbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcclxuICBuYW1lOiAnaWNvbicsXHJcbiAgb3JkZXI6IDc1LFxyXG4gIGFwcGx5OiAoY3R4LCBvcHRpb25zPzogQVhQSWNvblBsdWdpbk9wdGlvbnMpID0+IHtcclxuICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XHJcblxyXG4gICAgY29uc3QgZ3JvdXBJZCA9ICdhcHBlYXJhbmNlJztcclxuICAgIGNvbnN0IGdyb3VwcyA9IGN0eC5ncm91cHMubGlzdCgpID8/IFtdO1xyXG4gICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICBjdHguZ3JvdXBzLmFkZCh7IGlkOiBncm91cElkLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmludGVyZmFjZS5hcHBlYXJhbmNlJyB9IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XHJcbiAgICBpZiAoIXByb3BzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnaWNvbicpKSB7XHJcbiAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XHJcbiAgICAgICAgbmFtZTogJ2ljb24nLFxyXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLmljb24nLFxyXG4gICAgICAgIGdyb3VwSWQsXHJcbiAgICAgICAgc2NoZW1hOiB7XHJcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcclxuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuVGhlbWUuSWNvbkNob29zZXIsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXSxcclxuICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IGZhbHNlIH0sXHJcbiAgICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgICAgYWR2YW5jZTogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICBpbmxpbmU6IHsgZW5hYmxlZDogZmFsc2UgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSBhcyBhbnkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vI3JlZ2lvbiAtLS0tICAgQWRkIENvbHVtbiB0byBMaXN0IFZpZXcgICAtLS0tXHJcblxyXG4gICAgLy8gQWRkIGljb24gY29sdW1uIHRvIGxpc3QgdmlldyBpZiBlbmFibGVkIChkZWZhdWx0OiB0cnVlKVxyXG4gICAgY29uc3QgY29sdW1uRW5hYmxlZCA9IG9wdGlvbnM/LmNvbHVtbj8uZW5hYmxlZCA/PyB0cnVlO1xyXG4gICAgaWYgKGNvbHVtbkVuYWJsZWQpIHtcclxuICAgICAgY29uc3QgY29sdW1ucyA9IGN0eC5jb2x1bW5zLmxpc3QoKSA/PyBbXTtcclxuICAgICAgaWYgKCFjb2x1bW5zLnNvbWUoKGM6IGFueSkgPT4gYy5uYW1lID09PSAnaWNvbicpKSB7XHJcbiAgICAgICAgY3R4LmNvbHVtbnMuYWRkKHtcclxuICAgICAgICAgIG5hbWU6ICdpY29uJyxcclxuICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLmljb24nLFxyXG4gICAgICAgICAgc29ydDogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICB2aXNpYmxlOiBvcHRpb25zPy5jb2x1bW4/LnZpc2libGUgPz8gdHJ1ZSxcclxuICAgICAgICAgICAgd2lkdGg6IGAke29wdGlvbnM/LmNvbHVtbj8ud2lkdGggPz8gMTIwfXB4YCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuY3JlYXRlLnVwZGF0ZSgoY3JlYXRlKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5leHQgPSBjcmVhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpY29uJykpIHtcclxuICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiAnaWNvbicsXHJcbiAgICAgICAgICBsYXlvdXQ6IHtcclxuICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dDtcclxuICAgIH0pO1xyXG5cclxuICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5tb2RpZnkudXBkYXRlKCh1cGRhdGUpID0+IHtcclxuICAgICAgY29uc3QgbmV4dCA9IHVwZGF0ZSA/PyB7IHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcclxuICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XHJcbiAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XHJcbiAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XHJcbiAgICAgIH1cclxuICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2ljb24nKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdpY29uJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXh0O1xyXG4gICAgfSk7XHJcblxyXG4gICAgY3R4LmludGVyZmFjZXMubWFzdGVyLnNpbmdsZS51cGRhdGUoKHNpbmdsZSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXh0ID0gc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcclxuICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XHJcbiAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XHJcbiAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XHJcbiAgICAgIH1cclxuICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2ljb24nKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdpY29uJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXh0O1xyXG4gICAgfSk7XHJcbiAgfSxcclxufTtcclxuIl19","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { iconPlugin } from './icon.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPIconPluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPIconPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPIconPluginModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPIconPluginModule, providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: iconPlugin }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPIconPluginModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [],\n exports: [],\n providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: iconPlugin }],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2ljb24tcGx1Z2luL2ljb24tcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTNDLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsYUFGbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQzs7MkZBRTFFLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7aUJBQ3RGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaWNvblBsdWdpbiB9IGZyb20gJy4vaWNvbi5wbHVnaW4nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGljb25QbHVnaW4gfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBJY29uUGx1Z2luTW9kdWxlIHt9XHJcbiJdfQ==","import { AXPEntityCommandScope, createQueryView } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const primaryPlugin = {\n name: 'primary',\n order: 66,\n apply: (ctx) => {\n ensureListActions(ctx);\n //#region ---- Add isPrimary Property ----\n // Ensure settings group exists\n const groupId = 'settings';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.settings' });\n }\n // Add isPrimary property if it doesn't exist\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'isPrimary')) {\n ctx.properties.add({\n name: 'isPrimary',\n title: '@general:terms.status.states.is-primary',\n groupId,\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n // Default to false (not primary)\n defaultValue: false,\n negative: false,\n nullValue: false,\n },\n },\n },\n validations: [],\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true }\n }\n }\n });\n }\n //#endregion\n // Add isPrimary to columns for list view\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'isPrimary')) {\n ctx.columns.add({\n name: 'isPrimary',\n title: '@general:terms.status.states.is-primary',\n width: 100,\n sortable: true,\n filterable: true,\n });\n }\n //#endregion\n //#region ---- Add Primary Actions ----\n ctx.interfaces.update((i) => {\n const setPrimaryCmdName = 'set-primary-entity';\n // Add set primary action to list view\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, setPrimaryCmdName)) {\n listActions.push({\n title: '@general:actions.set-primary.title',\n command: {\n name: setPrimaryCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isPrimary\") }}`,\n });\n }\n // Add set primary action to single view\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, setPrimaryCmdName)) {\n singleActions.push({\n title: '@general:actions.set-primary.title',\n command: {\n name: setPrimaryCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isPrimary\") }}`,\n });\n }\n return i;\n });\n //#endregion\n //#region ---- Update Interface Layouts ----\n // Ensure create view includes isPrimary\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isPrimary')) {\n next.properties.push({\n name: 'isPrimary',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Ensure update view includes isPrimary\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isPrimary')) {\n next.properties.push({\n name: 'isPrimary',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Ensure single view includes isPrimary\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId, order: 150 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isPrimary')) {\n next.properties.push({\n name: 'isPrimary',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Add primary view to show only primary items\n ctx.interfaces.master.list.update((list) => {\n const next = list ?? { actions: [], views: [] };\n next.views = next.views ?? [];\n // Check if primary view already exists\n if (!next.views.some((v) => v.name === 'primary')) {\n next.views.push(createQueryView('primary', '@general:terms.status.states.is-primary', false, {\n conditions: [\n {\n name: 'isPrimary',\n operator: { type: 'equal' },\n value: true,\n hidden: true\n },\n ],\n sorts: [\n { name: 'updatedAt', dir: 'desc' },\n { name: 'title', dir: 'asc' },\n ],\n }));\n }\n return next;\n });\n //#endregion\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWFyeS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvcHJpbWFyeS1wbHVnaW4vcHJpbWFyeS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCO0lBQ2hELElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLDhDQUE4QztRQUU5QywrQkFBK0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENB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QixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eUFjdGlvbiwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBjcmVhdGVRdWVyeVZpZXcgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb25QbHVnaW4sIGVuc3VyZUxpc3RBY3Rpb25zLCBhY3Rpb25FeGlzdHMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0xpc3QgfSBmcm9tICcuLi8uLi93aWRnZXRzLW5hbWVzLWxpc3QnO1xuXG5leHBvcnQgY29uc3QgcHJpbWFyeVBsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICAgIG5hbWU6ICdwcmltYXJ5JyxcbiAgICBvcmRlcjogNjYsXG4gICAgYXBwbHk6IChjdHgpID0+IHtcbiAgICAgICAgZW5zdXJlTGlzdEFjdGlvbnMoY3R4KTtcblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEFkZCBpc1ByaW1hcnkgUHJvcGVydHkgICAtLS0tXG5cbiAgICAgICAgLy8gRW5zdXJlIHNldHRpbmdzIGdyb3VwIGV4aXN0c1xuICAgICAgICBjb25zdCBncm91cElkID0gJ3NldHRpbmdzJztcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICAgIGlmICghZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICAgIGN0eC5ncm91cHMuYWRkKHsgaWQ6IGdyb3VwSWQsIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuaW50ZXJmYWNlLnNldHRpbmdzJyB9IGFzIGFueSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGQgaXNQcmltYXJ5IHByb3BlcnR5IGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc1ByaW1hcnknKSkge1xuICAgICAgICAgICAgY3R4LnByb3BlcnRpZXMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNQcmltYXJ5JyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLnN0YXR1cy5zdGF0ZXMuaXMtcHJpbWFyeScsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlRvZ2dsZVN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGZhbHNlIChub3QgcHJpbWFyeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8gQWRkIGlzUHJpbWFyeSB0byBjb2x1bW5zIGZvciBsaXN0IHZpZXdcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IGN0eC5jb2x1bW5zLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFjb2x1bW5zLnNvbWUoKGM6IGFueSkgPT4gYy5uYW1lID09PSAnaXNQcmltYXJ5JykpIHtcbiAgICAgICAgICAgIGN0eC5jb2x1bW5zLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2lzUHJpbWFyeScsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5zdGF0dXMuc3RhdGVzLmlzLXByaW1hcnknLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgQWRkIFByaW1hcnkgQWN0aW9ucyAgIC0tLS1cblxuICAgICAgICBjdHguaW50ZXJmYWNlcy51cGRhdGUoKGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNldFByaW1hcnlDbWROYW1lID0gJ3NldC1wcmltYXJ5LWVudGl0eSc7XG5cbiAgICAgICAgICAgIC8vIEFkZCBzZXQgcHJpbWFyeSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBjb25zdCBsaXN0QWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBBWFBFbnRpdHlBY3Rpb25bXTtcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCBzZXRQcmltYXJ5Q21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLnNldC1wcmltYXJ5LnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogc2V0UHJpbWFyeUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7IGNvbnRleHQuZXZhbChcImlzUHJpbWFyeVwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBzZXQgcHJpbWFyeSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgc2V0UHJpbWFyeUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLnNldC1wcmltYXJ5LnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogc2V0UHJpbWFyeUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7IGNvbnRleHQuZXZhbChcImlzUHJpbWFyeVwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBpIGFzIGFueTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBVcGRhdGUgSW50ZXJmYWNlIExheW91dHMgICAtLS0tXG5cbiAgICAgICAgLy8gRW5zdXJlIGNyZWF0ZSB2aWV3IGluY2x1ZGVzIGlzUHJpbWFyeVxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuY3JlYXRlLnVwZGF0ZSgoY3JlYXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gY3JlYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc1ByaW1hcnknKSkge1xuICAgICAgICAgICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lzUHJpbWFyeScsXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiA5MCB9IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHVwZGF0ZSB2aWV3IGluY2x1ZGVzIGlzUHJpbWFyeVxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gdXBkYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc1ByaW1hcnknKSkge1xuICAgICAgICAgICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lzUHJpbWFyeScsXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiA5MCB9IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHNpbmdsZSB2aWV3IGluY2x1ZGVzIGlzUHJpbWFyeVxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuc2luZ2xlLnVwZGF0ZSgoc2luZ2xlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcbiAgICAgICAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCwgb3JkZXI6IDE1MCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnaXNQcmltYXJ5JykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc1ByaW1hcnknLFxuICAgICAgICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2LCBvcmRlcjogOTAgfSB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEFkZCBwcmltYXJ5IHZpZXcgdG8gc2hvdyBvbmx5IHByaW1hcnkgaXRlbXNcbiAgICAgICAgY3R4LmludGVyZmFjZXMubWFzdGVyLmxpc3QudXBkYXRlKChsaXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gbGlzdCA/PyB7IGFjdGlvbnM6IFtdLCB2aWV3czogW10gfTtcbiAgICAgICAgICAgIG5leHQudmlld3MgPSBuZXh0LnZpZXdzID8/IFtdO1xuXG4gICAgICAgICAgICAvLyBDaGVjayBpZiBwcmltYXJ5IHZpZXcgYWxyZWFkeSBleGlzdHNcbiAgICAgICAgICAgIGlmICghbmV4dC52aWV3cy5zb21lKCh2OiBhbnkpID0+IHYubmFtZSA9PT0gJ3ByaW1hcnknKSkge1xuICAgICAgICAgICAgICAgIG5leHQudmlld3MucHVzaChcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlUXVlcnlWaWV3KCdwcmltYXJ5JywgJ0BnZW5lcmFsOnRlcm1zLnN0YXR1cy5zdGF0ZXMuaXMtcHJpbWFyeScsIGZhbHNlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaXNQcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ3VwZGF0ZWRBdCcsIGRpcjogJ2Rlc2MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBkaXI6ICdhc2MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgfSxcbn07XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { primaryPlugin } from './primary.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPPrimaryPluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPPrimaryPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPPrimaryPluginModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPPrimaryPluginModule, providers: [\n // Register the primary plugin\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: primaryPlugin,\n multi: true,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPPrimaryPluginModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n // Register the primary plugin\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: primaryPlugin,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWFyeS1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL3ByaW1hcnktcGx1Z2luL3ByaW1hcnktcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFZakQsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixhQVRwQjtZQUNQLDhCQUE4QjtZQUM5QjtnQkFDSSxPQUFPLEVBQUUsd0JBQXdCO2dCQUNqQyxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKOzsyRkFFUSxzQkFBc0I7a0JBVmxDLFFBQVE7bUJBQUM7b0JBQ04sU0FBUyxFQUFFO3dCQUNQLDhCQUE4Qjt3QkFDOUI7NEJBQ0ksT0FBTyxFQUFFLHdCQUF3Qjs0QkFDakMsUUFBUSxFQUFFLGFBQWE7NEJBQ3ZCLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBwcmltYXJ5UGx1Z2luIH0gZnJvbSAnLi9wcmltYXJ5LnBsdWdpbic7XG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC8vIFJlZ2lzdGVyIHRoZSBwcmltYXJ5IHBsdWdpblxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sXG4gICAgICAgICAgICB1c2VWYWx1ZTogcHJpbWFyeVBsdWdpbixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFByaW1hcnlQbHVnaW5Nb2R1bGUgeyB9XG4iXX0=","import { AXCalendarService } from \"@acorex/core/date-time\";\nimport { inject } from \"@angular/core\";\nexport class AXPDateTimeEvaluatorScopeProvider {\n constructor() {\n this.calendarService = inject(AXCalendarService);\n }\n async provide(context) {\n context.addScope('date', {\n today: () => {\n return this.calendarService.now();\n },\n tomorrow: () => {\n return this.calendarService.create(this.calendarService.now()).add('day', 1).startOf('day').date;\n },\n yesterday: () => {\n return this.calendarService.create(this.calendarService.now()).add('day', -1).startOf('day').date;\n },\n addDays: (date, days) => {\n return this.calendarService.create(date).add('day', days).date;\n },\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL3NoYXJlZC9ldmFsdWF0b3JzL2RhdGV0aW1lLmV2YWx1YXRvci1zY29wZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxpQ0FBaUM7SUFBOUM7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBbUJ4RCxDQUFDO0lBaEJHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUQ7UUFDN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDckIsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDUixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdEMsQ0FBQztZQUNELFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3JHLENBQUM7WUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUNaLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3RHLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLEVBQUU7Z0JBQ3BDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkUsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9kYXRlLXRpbWVcIjtcbmltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgQVhQRGF0ZVRpbWVFdmFsdWF0b3JTY29wZVByb3ZpZGVyIGltcGxlbWVudHMgQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXIge1xuXG4gICAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQVhDYWxlbmRhclNlcnZpY2UpO1xuXG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCdkYXRlJywge1xuICAgICAgICAgICAgdG9kYXk6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhclNlcnZpY2Uubm93KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdG9tb3Jyb3c6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKHRoaXMuY2FsZW5kYXJTZXJ2aWNlLm5vdygpKS5hZGQoJ2RheScsIDEpLnN0YXJ0T2YoJ2RheScpLmRhdGU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeWVzdGVyZGF5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZSh0aGlzLmNhbGVuZGFyU2VydmljZS5ub3coKSkuYWRkKCdkYXknLCAtMSkuc3RhcnRPZignZGF5JykuZGF0ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhZGREYXlzOiAoZGF0ZTogc3RyaW5nLCBkYXlzOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKGRhdGUpLmFkZCgnZGF5JywgZGF5cykuZGF0ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbn0gIl19","import { AXTranslationService } from \"@acorex/core/translation\";\nimport { inject } from \"@angular/core\";\nexport class AXPTranslateEvaluatorScopeProvider {\n constructor() {\n this.translateService = inject(AXTranslationService);\n }\n async provide(context) {\n context.addScope('translate', {\n resolve: async (text, options) => {\n return await this.translateService.translateAsync(text, options);\n },\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmV2YWx1YXRvci1zY29wZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9zaGFyZWQvZXZhbHVhdG9ycy90cmFuc2xhdGUuZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0Isb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxrQ0FBa0M7SUFBL0M7UUFFWSxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQVU1RCxDQUFDO0lBUEcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFtRDtRQUM3RCxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtZQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQVcsRUFBRyxPQUE2QixFQUFFLEVBQUU7Z0JBQzNELE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNyRSxDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhUcmFuc2xhdGVPcHRpb25zLCBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcbmltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgQVhQVHJhbnNsYXRlRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cblxuICAgIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnRleHQuYWRkU2NvcGUoJ3RyYW5zbGF0ZScsIHtcbiAgICAgICAgICAgIHJlc29sdmU6IGFzeW5jICh0ZXh0OnN0cmluZyAsIG9wdGlvbnM/IDogQVhUcmFuc2xhdGVPcHRpb25zKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyh0ZXh0LCBvcHRpb25zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbn0gIl19","import { AXPWorkflowAction } from \"@acorex/platform/workflow\";\nimport { inject, Injectable } from \"@angular/core\";\nimport { AXPopupService } from \"@acorex/components/popup\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport * as i0 from \"@angular/core\";\nexport class AXMVersionHistoryPopupStartAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translate = inject(AXTranslationService);\n }\n async execute(context) {\n const comp = (await import('../components/timeline-version-history-popup/timeline-version-history-popup.component')).AXMTimelineVersionHistoryPopupComponent;\n this.popupService.open(comp, {\n title: await this.translate.translateAsync('@activity-log:actions.view-history'),\n data: {\n refId: context.getVariable('options.refId'),\n refType: context.getVariable('options.refType'),\n fieldTitles: context.getVariable('options.fieldTitles'),\n fromDate: context.getVariable('options.fromDate'),\n toDate: context.getVariable('options.toDate'),\n limit: context.getVariable('options.limit'),\n offset: context.getVariable('options.offset'),\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMVersionHistoryPopupStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMVersionHistoryPopupStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMVersionHistoryPopupStartAction, decorators: [{\n type: Injectable\n }] });\nexport const AXMVersionHistoryPopupWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'show-version-history-popup-action',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wb3B1cC53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3Rvcnkvd29ya2Zsb3dzL2hpc3RvcnktcG9wdXAud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGlCQUFpQjtJQUR4RTs7UUFFVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FpQmxEO0lBZlUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNoRCxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLHVGQUF1RixDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQztRQUM3SixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDM0IsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsb0NBQW9DLENBQUM7WUFDaEYsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7Z0JBQy9DLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDO2dCQUN2RCxRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzdDLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztnQkFDM0MsTUFBTSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7YUFDOUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWxCVSxpQ0FBaUM7a0hBQWpDLGlDQUFpQzs7MkZBQWpDLGlDQUFpQztrQkFEN0MsVUFBVTs7QUFzQlgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQWdCO0lBQ3pELFdBQVcsRUFBRSxPQUFPO0lBQ3BCLEtBQUssRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRSxtQ0FBbUM7U0FDNUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93XCI7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL3BvcHVwXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVZlcnNpb25IaXN0b3J5UG9wdXBTdGFydEFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHRyYW5zbGF0ZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb21wID0gKGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy90aW1lbGluZS12ZXJzaW9uLWhpc3RvcnktcG9wdXAvdGltZWxpbmUtdmVyc2lvbi1oaXN0b3J5LXBvcHVwLmNvbXBvbmVudCcpKS5BWE1UaW1lbGluZVZlcnNpb25IaXN0b3J5UG9wdXBDb21wb25lbnQ7XG4gICAgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCB7XG4gICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGUudHJhbnNsYXRlQXN5bmMoJ0BhY3Rpdml0eS1sb2c6YWN0aW9ucy52aWV3LWhpc3RvcnknKSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVmSWQ6IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMucmVmSWQnKSxcbiAgICAgICAgcmVmVHlwZTogY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy5yZWZUeXBlJyksXG4gICAgICAgIGZpZWxkVGl0bGVzOiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLmZpZWxkVGl0bGVzJyksXG4gICAgICAgIGZyb21EYXRlOiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLmZyb21EYXRlJyksXG4gICAgICAgIHRvRGF0ZTogY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy50b0RhdGUnKSxcbiAgICAgICAgbGltaXQ6IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMubGltaXQnKSxcbiAgICAgICAgb2Zmc2V0OiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLm9mZnNldCcpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhNVmVyc2lvbkhpc3RvcnlQb3B1cFdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgc3RhcnRTdGVwSWQ6ICdzdGFydCcsXG4gIHN0ZXBzOiB7XG4gICAgc3RhcnQ6IHtcbiAgICAgIGFjdGlvbjogJ3Nob3ctdmVyc2lvbi1oaXN0b3J5LXBvcHVwLWFjdGlvbicsXG4gICAgfSxcbiAgfSxcbn07Il19","import { AXPEntityCommandScope } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nexport const historyPlugin = {\n name: 'history',\n order: 50,\n apply: (ctx) => {\n ensureListActions(ctx);\n const fieldTitles = Object.fromEntries(ctx.entity?.properties?.map((p) => [p.name, p.title]) ?? []);\n ctx.interfaces.update((i) => {\n const cmdName = 'show-version-history-popup';\n //\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, cmdName)) {\n listActions.push({\n title: '@activity-log:actions.view-history',\n command: {\n name: cmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n fieldTitles,\n },\n },\n priority: 'secondary',\n type: 'version-history',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n //\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, cmdName)) {\n singleActions.push({\n title: '@activity-log:actions.view-history',\n command: {\n name: cmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n fieldTitles,\n },\n },\n priority: 'secondary',\n type: 'version-history',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n //\n return i;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvdmVyc2lvbi1oaXN0b3J5L2hpc3RvcnkucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMEI7SUFDaEQsSUFBSSxFQUFFLFNBQVM7SUFDZixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ1gsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDakMsR0FBRyxDQUFDLE1BQWMsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUM1RSxDQUFDO1FBQ0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBRyw0QkFBNEIsQ0FBQztZQUM3QyxFQUFFO1lBQ0YsTUFBTSxXQUFXLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEIsQ0FBQztZQUN4RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxvQ0FBb0M7b0JBQzNDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7NEJBQ2xELFdBQVc7eUJBQ2Q7cUJBQ0o7b0JBQ0QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO2lCQUMxQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsRUFBRTtZQUNGLE1BQU0sYUFBYSxHQUFJLENBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQTRCLElBQUksRUFBRSxDQUFDO1lBQ3BGLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ2YsS0FBSyxFQUFFLG9DQUFvQztvQkFDM0MsT0FBTyxFQUFFO3dCQUNMLElBQUksRUFBRSxPQUFPO3dCQUNiLE9BQU8sRUFBRTs0QkFDTCxLQUFLLEVBQUUsMEJBQTBCOzRCQUNqQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTs0QkFDbEQsV0FBVzt5QkFDZDtxQkFDSjtvQkFDRCxRQUFRLEVBQUUsV0FBVztvQkFDckIsSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFVBQVU7aUJBQzFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxFQUFFO1lBQ0YsT0FBTyxDQUFRLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eUFjdGlvbiwgQVhQRW50aXR5Q29tbWFuZFNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IGhpc3RvcnlQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnaGlzdG9yeScsXG4gICAgb3JkZXI6IDUwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG4gICAgICAgIGNvbnN0IGZpZWxkVGl0bGVzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgICAgKGN0eC5lbnRpdHkgYXMgYW55KT8ucHJvcGVydGllcz8ubWFwKChwOiBhbnkpID0+IFtwLm5hbWUsIHAudGl0bGVdKSA/PyBbXVxuICAgICAgICApO1xuICAgICAgICBjdHguaW50ZXJmYWNlcy51cGRhdGUoKGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNtZE5hbWUgPSAnc2hvdy12ZXJzaW9uLWhpc3RvcnktcG9wdXAnO1xuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGNvbnN0IGxpc3RBY3Rpb25zID0gKGkgYXMgYW55KS5tYXN0ZXIubGlzdC5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGFjdGl2aXR5LWxvZzphY3Rpb25zLnZpZXctaGlzdG9yeScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRUaXRsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd2ZXJzaW9uLWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgY29uc3Qgc2luZ2xlQWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyPy5zaW5nbGU/LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW10gfHwgW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhzaW5nbGVBY3Rpb25zLCBjbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIHNpbmdsZUFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGFjdGl2aXR5LWxvZzphY3Rpb25zLnZpZXctaGlzdG9yeScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRUaXRsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd2ZXJzaW9uLWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcbiAgICB9LFxufTtcblxuXG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMVersionHistoryPopupStartAction, AXMVersionHistoryPopupWorkflow } from './workflows/history-popup.workflow';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { historyPlugin } from './history.plugin';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPVersionHistoryModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPVersionHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPVersionHistoryModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPVersionHistoryModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: historyPlugin },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n 'show-version-history-popup-action': AXMVersionHistoryPopupStartAction,\n },\n workflows: {\n 'show-version-history-popup': AXMVersionHistoryPopupWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPVersionHistoryModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n 'show-version-history-popup-action': AXMVersionHistoryPopupStartAction,\n },\n workflows: {\n 'show-version-history-popup': AXMVersionHistoryPopupWorkflow,\n },\n }),\n ],\n exports: [],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: historyPlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1oaXN0b3J5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvdmVyc2lvbi1oaXN0b3J5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBa0JqRCxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLGFBSnZCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO1NBQzVFLFlBWkMsaUJBQWlCLENBQUMsUUFBUSxDQUFDO2dCQUN6QixPQUFPLEVBQUU7b0JBQ1AsbUNBQW1DLEVBQUUsaUNBQWlDO2lCQUN2RTtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsNEJBQTRCLEVBQUUsOEJBQThCO2lCQUM3RDthQUNGLENBQUM7OzJGQU9PLHVCQUF1QjtrQkFoQm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQixDQUFDLFFBQVEsQ0FBQzs0QkFDekIsT0FBTyxFQUFFO2dDQUNQLG1DQUFtQyxFQUFFLGlDQUFpQzs2QkFDdkU7NEJBQ0QsU0FBUyxFQUFFO2dDQUNULDRCQUE0QixFQUFFLDhCQUE4Qjs2QkFDN0Q7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUM1RTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhNVmVyc2lvbkhpc3RvcnlQb3B1cFN0YXJ0QWN0aW9uLCBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwV29ya2Zsb3cgfSBmcm9tICcuL3dvcmtmbG93cy9oaXN0b3J5LXBvcHVwLndvcmtmbG93JztcbmltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBoaXN0b3J5UGx1Z2luIH0gZnJvbSAnLi9oaXN0b3J5LnBsdWdpbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgICdzaG93LXZlcnNpb24taGlzdG9yeS1wb3B1cC1hY3Rpb24nOiBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwU3RhcnRBY3Rpb24sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdzaG93LXZlcnNpb24taGlzdG9yeS1wb3B1cCc6IEFYTVZlcnNpb25IaXN0b3J5UG9wdXBXb3JrZmxvdyxcbiAgICAgIH0sXG4gICAgfSksXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBoaXN0b3J5UGx1Z2luIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFZlcnNpb25IaXN0b3J5TW9kdWxlIHsgfVxuIl19","export const AXPCommonMenuKeys = {\n Home: 'app:home',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL21lbnUua2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixJQUFJLEVBQUUsVUFBVTtDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVhQQ29tbW9uTWVudUtleXMgPSB7XG4gICAgSG9tZTogJ2FwcDpob21lJyxcbn0gYXMgY29uc3Q7XG5cbiJdfQ==","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nimport { AXPCommonMenuKeys } from './menu.keys';\nexport class AXMMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n this.homePageService = inject(AXPHomePageService);\n this.entityService = inject(AXPEntityService);\n }\n async provide(context) {\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n const appName = this.sessionService.application?.name;\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n const homePagePath = this.homePageService.getCurrent().path;\n if (homePagePath) {\n context.addItems([\n {\n name: AXPCommonMenuKeys.Home,\n priority: -9,\n text: '@general:terms.interface.navigation.home',\n path: homePagePath,\n icon: 'fa-light fa-grid-2',\n data: {\n //requiredPermission: '',\n },\n },\n ]);\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBMkMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFDVSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0Msa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQTZCbkQsQ0FBQztJQTNCQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQStCO1FBQzNDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1FBRXRELE1BQU0sWUFBWSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBQ0QsRUFBRTtRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQzVELElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDZjtvQkFDRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDNUIsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDWixJQUFJLEVBQUUsMENBQTBDO29CQUNoRCxJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLG9CQUFvQjtvQkFDMUIsSUFBSSxFQUFFO29CQUNKLHlCQUF5QjtxQkFDMUI7aUJBQ0Y7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBRUgsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQSG9tZVBhZ2VTZXJ2aWNlLCBBWFBNZW51UHJvdmlkZXIsIEFYUE1lbnVQcm92aWRlckNvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7IEFYUENvbW1vbk1lbnVLZXlzIH0gZnJvbSAnLi9tZW51LmtleXMnO1xuXG5leHBvcnQgY2xhc3MgQVhNTWVudVByb3ZpZGVyIGltcGxlbWVudHMgQVhQTWVudVByb3ZpZGVyIHtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gIHByaXZhdGUgaG9tZVBhZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUEhvbWVQYWdlU2VydmljZSk7XG4gIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlTZXJ2aWNlKTtcblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUE1lbnVQcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzY29wZSA9IFJvb3RDb25maWcuY29uZmlnLmkxOG47XG4gICAgY29uc3QgbW9kdWxlID0gUm9vdENvbmZpZy5tb2R1bGU7XG4gICAgY29uc3QgYXBwTmFtZSA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWU7XG5cbiAgICBjb25zdCBpc0F1dGhvcml6ZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlc3Npb25TZXJ2aWNlLmlzQXV0aG9yaXplZCQpO1xuICAgIGlmICghaXNBdXRob3JpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vXG4gICAgY29uc3QgaG9tZVBhZ2VQYXRoID0gdGhpcy5ob21lUGFnZVNlcnZpY2UuZ2V0Q3VycmVudCgpLnBhdGg7XG4gICAgaWYgKGhvbWVQYWdlUGF0aCkge1xuICAgICAgY29udGV4dC5hZGRJdGVtcyhbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBBWFBDb21tb25NZW51S2V5cy5Ib21lLFxuICAgICAgICAgIHByaW9yaXR5OiAtOSxcbiAgICAgICAgICB0ZXh0OiAnQGdlbmVyYWw6dGVybXMuaW50ZXJmYWNlLm5hdmlnYXRpb24uaG9tZScsXG4gICAgICAgICAgcGF0aDogaG9tZVBhZ2VQYXRoLFxuICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1ncmlkLTInLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIC8vcmVxdWlyZWRQZXJtaXNzaW9uOiAnJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgfVxuXG4gIH1cbn1cbiJdfQ==","export class AXMPermissionDefinitionProvider {\n async define(context) {\n // context.addPermissions([\n // {\n // name: 'view_templates',\n // title: 'Permission to view templates',\n // isArchived: false,\n // },\n // ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL3Blcm1pc3Npb24tZGVmaW5pdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sK0JBQStCO0lBQzFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBK0M7UUFDMUQsMkJBQTJCO1FBQzNCLE1BQU07UUFDTiw4QkFBOEI7UUFDOUIsNkNBQTZDO1FBQzdDLHlCQUF5QjtRQUN6QixPQUFPO1FBQ1AsTUFBTTtJQUNSLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXIsIEFYUFBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcblxuZXhwb3J0IGNsYXNzIEFYTVBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgYXN5bmMgZGVmaW5lKGNvbnRleHQ6IEFYUFBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gY29udGV4dC5hZGRQZXJtaXNzaW9ucyhbXG4gICAgLy8gICB7XG4gICAgLy8gICAgIG5hbWU6ICd2aWV3X3RlbXBsYXRlcycsXG4gICAgLy8gICAgIHRpdGxlOiAnUGVybWlzc2lvbiB0byB2aWV3IHRlbXBsYXRlcycsXG4gICAgLy8gICAgIGlzQXJjaGl2ZWQ6IGZhbHNlLFxuICAgIC8vICAgfSxcbiAgICAvLyBdKTtcbiAgfVxufVxuIl19","import { AXPSearchCommandProvider } from '@acorex/platform/common';\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n constructor() {\n super(...arguments);\n this.commands = [\n // {\n // group: 'command',\n // title: 'New Form Template',\n // icon: RootConfig.entities.template.icon,\n // description: 'Create a new form template for designing reusable forms.', // Added description\n // commands: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n // },\n // },\n // }\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbW1hbmQucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvc2VhcmNoLWNvbW1hbmQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFtQixNQUFNLHlCQUF5QixDQUFDO0FBRXBGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx3QkFBd0I7SUFBdEU7O1FBQ0UsYUFBUSxHQUFzQjtRQUM1QixJQUFJO1FBQ0osc0JBQXNCO1FBQ3RCLCtCQUErQjtRQUMvQiw0Q0FBNEM7UUFDNUMsaUdBQWlHO1FBQ2pHLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsaUZBQWlGO1FBQ2pGLFFBQVE7UUFDUixNQUFNO1FBQ04sSUFBSTtTQUNMLENBQUM7SUFDSixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZWFyY2hDb21tYW5kUHJvdmlkZXIsIEFYUFNlYXJjaFJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIEFYTVNlYXJjaENvbW1hbmRQcm92aWRlciBleHRlbmRzIEFYUFNlYXJjaENvbW1hbmRQcm92aWRlciB7XG4gIGNvbW1hbmRzOiBBWFBTZWFyY2hSZXN1bHRbXSA9IFtcbiAgICAvLyB7XG4gICAgLy8gICBncm91cDogJ2NvbW1hbmQnLFxuICAgIC8vICB0aXRsZTogJ05ldyBGb3JtIFRlbXBsYXRlJyxcbiAgICAvLyAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy50ZW1wbGF0ZS5pY29uLFxuICAgIC8vICBkZXNjcmlwdGlvbjogJ0NyZWF0ZSBhIG5ldyBmb3JtIHRlbXBsYXRlIGZvciBkZXNpZ25pbmcgcmV1c2FibGUgZm9ybXMuJywgLy8gQWRkZWQgZGVzY3JpcHRpb25cbiAgICAvLyAgY29tbWFuZHM6IHtcbiAgICAvLyAgICAnY3JlYXRlLWVudGl0eSc6IHtcbiAgICAvLyAgICAgIGVudGl0eTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLnRlbXBsYXRlLm5hbWV9YCxcbiAgICAvLyAgICB9LFxuICAgIC8vICB9LFxuICAgIC8vIH1cbiAgXTtcbn1cbiJdfQ==","import { Injectable, Injector } from '@angular/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nexport class AXMSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`@general:settings.${key}`);\n // Find the 'General Settings' group\n const group = context.group('general');\n if (!group) {\n return;\n }\n // Add the 'Release Notes' setting\n // group.addSection('lock-system', await trans('general.lock-system.lock.title'), await trans('general.lock-system.lock.description')).addSetting({\n // key: AXMLockSystemSettings.LockSystem, \n // title: await trans('general.lock-system.lock.title'),\n // scope: AXPPlatformScope.Tenant,\n // isInherited: true,\n // defaultValue: false,\n // valueTransforms: objectKeyValueTransforms('id'),\n // widget: {\n // type: AXPWidgetsCatalog.toggle,\n // options: {\n // label: null,\n // }\n // },\n // description: await trans('general.lock-system.lock.description'),\n // })\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvc2V0dGluZ3MucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSWhFLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQURyQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTVFLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBRXhELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1RyxvQ0FBb0M7UUFDcEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxtSkFBbUo7UUFDbkosK0NBQStDO1FBQy9DLDREQUE0RDtRQUM1RCxzQ0FBc0M7UUFDdEMseUJBQXlCO1FBQ3pCLDJCQUEyQjtRQUMzQix1REFBdUQ7UUFDdkQsZ0JBQWdCO1FBQ2hCLDBDQUEwQztRQUMxQyxxQkFBcUI7UUFDckIsMkJBQTJCO1FBQzNCLFlBQVk7UUFDWixTQUFTO1FBQ1Qsd0VBQXdFO1FBQ3hFLEtBQUs7SUFFUCxDQUFDOzhHQWpDVSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQUGxhdGZvcm1TY29wZSwgb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYTUxvY2tTeXN0ZW1TZXR0aW5ncyB9IGZyb20gJy4vZmVhdHVyZXMvbG9jay1zeXN0ZW0vc2V0dGluZ3Mua2V5cyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1TZXR0aW5nUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICBjb25zdCB0cmFucyA9IGFzeW5jIChrZXk6IHN0cmluZykgPT4gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKGBAZ2VuZXJhbDpzZXR0aW5ncy4ke2tleX1gKTtcblxuICAgIC8vIEZpbmQgdGhlICdHZW5lcmFsIFNldHRpbmdzJyBncm91cFxuICAgIGNvbnN0IGdyb3VwID0gY29udGV4dC5ncm91cCgnZ2VuZXJhbCcpO1xuICAgIGlmICghZ3JvdXApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlICdSZWxlYXNlIE5vdGVzJyBzZXR0aW5nXG4gICAgLy8gZ3JvdXAuYWRkU2VjdGlvbignbG9jay1zeXN0ZW0nLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5sb2NrLXN5c3RlbS5sb2NrLnRpdGxlJyksIGF3YWl0IHRyYW5zKCdnZW5lcmFsLmxvY2stc3lzdGVtLmxvY2suZGVzY3JpcHRpb24nKSkuYWRkU2V0dGluZyh7XG4gICAgLy8gICAgIGtleTogQVhNTG9ja1N5c3RlbVNldHRpbmdzLkxvY2tTeXN0ZW0sICBcbiAgICAvLyAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmxvY2stc3lzdGVtLmxvY2sudGl0bGUnKSxcbiAgICAvLyAgICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGUuVGVuYW50LFxuICAgIC8vICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAvLyAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAvLyAgICAgdmFsdWVUcmFuc2Zvcm1zOiBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMoJ2lkJyksXG4gICAgLy8gICAgIHdpZGdldDoge1xuICAgIC8vICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgIC8vICAgICAgICAgb3B0aW9uczoge1xuICAgIC8vICAgICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICB9LFxuICAgIC8vICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ2dlbmVyYWwubG9jay1zeXN0ZW0ubG9jay5kZXNjcmlwdGlvbicpLFxuICAgIC8vIH0pXG5cbiAgfVxufVxuIl19","import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { NgModule } from '@angular/core';\nimport { AXMCommonModuleEntityProvider } from './entity.provider';\nimport { AXPArchivePluginModule } from './features/archive-plugin';\nimport { AXPAvatarPluginModule } from './features/avatar-plugin';\nimport { AXPCategoryModule } from './features/category-plugin';\nimport { AXPClonePluginModule } from './features/clone-plugin';\nimport { AXPColorPluginModule } from './features/color-plugin';\nimport { AXPCompareModule } from './features/compare';\nimport { AXPComputedPropertiesModule } from './features/computed-properties/computed-properties.module';\nimport { AXPDisablePluginModule } from './features/disable-plugin';\nimport { AXPExtraPropertiesModule } from './features/extra-properties/extra-properties.module';\nimport { AXPGlobalSearchModule } from './features/global-search';\nimport { AXPIconPluginModule } from './features/icon-plugin';\nimport { AXPPrimaryPluginModule } from './features/primary-plugin';\nimport { AXPDateTimeEvaluatorScopeProvider } from './features/shared/evaluators/datetime.evaluator-scope.provider';\nimport { AXPTranslateEvaluatorScopeProvider } from './features/shared/evaluators/translate.evaluator-scope.provider';\nimport { AXPVersionHistoryModule } from './features/version-history/version-history.module';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMSettingProvider } from './settings.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXMCommonModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModule, imports: [AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPDisablePluginModule,\n AXPPrimaryPluginModule,\n AXPCompareModule,\n AXPIconPluginModule,\n AXPColorPluginModule,\n AXPAvatarPluginModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModule, providers: [\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPDateTimeEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPTranslateEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMCommonModuleEntityProvider,\n multi: true,\n },\n ], imports: [AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPDisablePluginModule,\n AXPPrimaryPluginModule,\n AXPCompareModule,\n AXPIconPluginModule,\n AXPColorPluginModule,\n AXPAvatarPluginModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPDisablePluginModule,\n AXPPrimaryPluginModule,\n AXPCompareModule,\n AXPIconPluginModule,\n AXPColorPluginModule,\n AXPAvatarPluginModule,\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPDateTimeEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPTranslateEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMCommonModuleEntityProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9jb21tb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xILE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0Ys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QUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsK0JBQStCOzRCQUN4QyxRQUFRLEVBQUUsa0JBQWtCOzRCQUM1QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixRQUFRLEVBQUUsd0JBQXdCOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxRQUFRLEVBQUUsK0JBQStCOzRCQUN6QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsdUNBQXVDOzRCQUNoRCxRQUFRLEVBQUUsaUNBQWlDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsdUNBQXVDOzRCQUNoRCxRQUFRLEVBQUUsa0NBQWtDOzRCQUM1QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxRQUFRLEVBQUUsNkJBQTZCOzRCQUN2QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9QRVJNSVNTSU9OX0RFRklOSVRJT05fUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX01FTlVfUFJPVklERVIsIEFYUF9TRUFSQ0hfUFJPVklERVIsIEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0cyc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNQ29tbW9uTW9kdWxlRW50aXR5UHJvdmlkZXIgfSBmcm9tICcuL2VudGl0eS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBBcmNoaXZlUGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbic7XG5pbXBvcnQgeyBBWFBBdmF0YXJQbHVnaW5Nb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2F2YXRhci1wbHVnaW4nO1xuaW1wb3J0IHsgQVhQQ2F0ZWdvcnlNb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbic7XG5pbXBvcnQgeyBBWFBDbG9uZVBsdWdpbk1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvY2xvbmUtcGx1Z2luJztcbmltcG9ydCB7IEFYUENvbG9yUGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9jb2xvci1wbHVnaW4nO1xuaW1wb3J0IHsgQVhQQ29tcGFyZU1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvY29tcGFyZSc7XG5pbXBvcnQgeyBBWFBDb21wdXRlZFByb3BlcnRpZXNNb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2NvbXB1dGVkLXByb3BlcnRpZXMvY29tcHV0ZWQtcHJvcGVydGllcy5tb2R1bGUnO1xuaW1wb3J0IHsgQVhQRGlzYWJsZVBsdWdpbk1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvZGlzYWJsZS1wbHVnaW4nO1xuaW1wb3J0IHsgQVhQRXh0cmFQcm9wZXJ0aWVzTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9leHRyYS1wcm9wZXJ0aWVzL2V4dHJhLXByb3BlcnRpZXMubW9kdWxlJztcbmltcG9ydCB7IEFYUEdsb2JhbFNlYXJjaE1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvZ2xvYmFsLXNlYXJjaCc7XG5pbXBvcnQgeyBBWFBJY29uUGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9pY29uLXBsdWdpbic7XG5pbXBvcnQgeyBBWFBQcmltYXJ5UGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9wcmltYXJ5LXBsdWdpbic7XG5pbXBvcnQgeyBBWFBEYXRlVGltZUV2YWx1YXRvclNjb3BlUHJvdmlkZXIgfSBmcm9tICcuL2ZlYXR1cmVzL3NoYXJlZC9ldmFsdWF0b3JzL2RhdGV0aW1lLmV2YWx1YXRvci1zY29wZS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBUcmFuc2xhdGVFdmFsdWF0b3JTY29wZVByb3ZpZGVyIH0gZnJvbSAnLi9mZWF0dXJlcy9zaGFyZWQvZXZhbHVhdG9ycy90cmFuc2xhdGUuZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUFZlcnNpb25IaXN0b3J5TW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvdmVyc2lvbi1oaXN0b3J5Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWE1NZW51UHJvdmlkZXIgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciB9IGZyb20gJy4vcGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYTVNlYXJjaENvbW1hbmRQcm92aWRlciB9IGZyb20gJy4vc2VhcmNoLWNvbW1hbmQucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNU2V0dGluZ1Byb3ZpZGVyIH0gZnJvbSAnLi9zZXR0aW5ncy5wcm92aWRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBFeHRyYVByb3BlcnRpZXNNb2R1bGUsXG4gICAgQVhQQ2F0ZWdvcnlNb2R1bGUsXG4gICAgQVhQR2xvYmFsU2VhcmNoTW9kdWxlLFxuICAgIEFYUFdpZGdldHNNb2R1bGUsXG4gICAgQVhQVmVyc2lvbkhpc3RvcnlNb2R1bGUsXG4gICAgQVhQQ29tcHV0ZWRQcm9wZXJ0aWVzTW9kdWxlLFxuICAgIEFYUENsb25lUGx1Z2luTW9kdWxlLFxuICAgIEFYUEFyY2hpdmVQbHVnaW5Nb2R1bGUsXG4gICAgQVhQRGlzYWJsZVBsdWdpbk1vZHVsZSxcbiAgICBBWFBQcmltYXJ5UGx1Z2luTW9kdWxlLFxuICAgIEFYUENvbXBhcmVNb2R1bGUsXG4gICAgQVhQSWNvblBsdWdpbk1vZHVsZSxcbiAgICBBWFBDb2xvclBsdWdpbk1vZHVsZSxcbiAgICBBWFBBdmF0YXJQbHVnaW5Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfTUVOVV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1NZW51UHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNU2V0dGluZ1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfU0VBUkNIX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTVNlYXJjaENvbW1hbmRQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1QZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhQRGF0ZVRpbWVFdmFsdWF0b3JTY29wZVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhQVHJhbnNsYXRlRXZhbHVhdG9yU2NvcGVQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1Db21tb25Nb2R1bGVFbnRpdHlQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUNvbW1vbk1vZHVsZSB7fVxuIl19","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPLockService } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport * as i0 from \"@angular/core\";\nexport class AXMLockPopupWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.translationService = inject(AXTranslationService);\n this.layoutBuilder = inject(AXPLayoutBuilderService);\n this.lockService = inject(AXPLockService);\n this.sessionService = inject(AXPSessionService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n const durationOptions = [\n {\n value: '1h',\n text: await this.translationService.translateAsync('@lock-system:lock.duration.options.1h'),\n hours: 1,\n },\n {\n value: '1d',\n text: await this.translationService.translateAsync('@lock-system:lock.duration.options.1d'),\n hours: 24,\n },\n {\n value: 'infinite',\n text: await this.translationService.translateAsync('@lock-system:lock.duration.options.infinite'),\n },\n ];\n const dialogTitle = await this.translationService.translateAsync('@lock-system:lock.dialog.title');\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle(dialogTitle)\n .setContext({ duration: '1h', reason: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@lock-system:lock.duration.title', field => {\n field.path('duration');\n field.selectBox({\n valueField: 'value',\n textField: 'text',\n dataSource: durationOptions,\n validations: [{ rule: 'required' }],\n });\n })\n .formField('@lock-system:lock.reason.title', field => {\n field.path('reason');\n field.largeTextBox({\n rows: 3,\n placeholder: '@lock-system:lock.reason.placeholder',\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@lock-system:lock.dialog.cancel');\n const confirmAction = {\n title: '@lock-system:lock.dialog.confirm',\n color: 'primary',\n command: { name: 'submit', options: { validate: true } },\n };\n actions.custom(confirmAction);\n });\n })\n .show();\n const action = dialogRef.action();\n if (action === 'cancel') {\n context.setOutput('isCanceled', true);\n dialogRef.close();\n return;\n }\n const form = dialogRef.context();\n const selected = form?.duration ?? '1h';\n const selectedDuration = durationOptions.find((d) => d.value === selected);\n const expireAt = selectedDuration?.hours\n ? new Date(Date.now() + selectedDuration.hours * 60 * 60 * 1000)\n : undefined;\n await this.lockService.lock({\n refId,\n refType,\n type: 'user',\n date: new Date().toISOString(),\n expireAt,\n lockedBy: {\n id: this.sessionService.user?.id ?? 'system',\n type: 'oidc.users',\n },\n });\n dialogRef.close();\n context.setOutput('isCanceled', false);\n context.setOutput('lockDuration', form?.duration ?? '1h');\n context.setOutput('lockReason', form?.reason ?? '');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMLockPopupWorkflowAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMLockPopupWorkflowAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMLockPopupWorkflowAction, decorators: [{\n type: Injectable\n }] });\nexport const AXMLockPopupWorkflow = {\n startStepId: 'lock-popup',\n steps: {\n 'lock-popup': {\n action: 'AXMLockPopupWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-modified-title',\n content: 'workflow.entity-modified-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1wb3B1cC53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9sb2NrLXN5c3RlbS93b3JrZmxvd3MvbG9jay1wb3B1cC53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLE1BQU0sMkJBQTJCLENBQUM7QUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUkxRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsaUJBQWlCO0lBRGpFOztRQUVtQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0E2RjdEO0lBM0ZVLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDaEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBUyxlQUFlLENBQUMsQ0FBQztRQUMzRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFTLGlCQUFpQixDQUFDLENBQUM7UUFFL0QsTUFBTSxlQUFlLEdBQUc7WUFDdEI7Z0JBQ0UsS0FBSyxFQUFFLElBQUk7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QVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsMENBQTBDLEVBQUUsQ0FBQztvQkFDeEYsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsZ0NBQWdDO2dCQUN2QyxPQUFPLEVBQUUsK0JBQStCO2FBQ3pDO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxpQkFBaUI7aUJBQzlCO2FBQ0Y7U0FDRjtRQUNELGVBQWUsRUFBRTtZQUNmLEVBQUUsRUFBRSxpQkFBaUI7WUFDckIsTUFBTSxFQUFFLGdDQUFnQztTQUN6QztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUExvY2tTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEFYUEFjdGlvbk1lbnVJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUxvY2tQb3B1cFdvcmtmbG93QWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0QnVpbGRlciA9IGluamVjdChBWFBMYXlvdXRCdWlsZGVyU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9ja1NlcnZpY2UgPSBpbmplY3QoQVhQTG9ja1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcblxuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJlZklkID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZklkJyk7XG4gICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG5cbiAgICBjb25zdCBkdXJhdGlvbk9wdGlvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnMWgnLFxuICAgICAgICB0ZXh0OiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGxvY2stc3lzdGVtOmxvY2suZHVyYXRpb24ub3B0aW9ucy4xaCcpLFxuICAgICAgICBob3VyczogMSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnMWQnLFxuICAgICAgICB0ZXh0OiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGxvY2stc3lzdGVtOmxvY2suZHVyYXRpb24ub3B0aW9ucy4xZCcpLFxuICAgICAgICBob3VyczogMjQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ2luZmluaXRlJyxcbiAgICAgICAgdGV4dDogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmR1cmF0aW9uLm9wdGlvbnMuaW5maW5pdGUnKSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IGRpYWxvZ1RpdGxlID0gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmRpYWxvZy50aXRsZScpO1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gYXdhaXQgdGhpcy5sYXlvdXRCdWlsZGVyXG4gICAgICAuY3JlYXRlKClcbiAgICAgIC5kaWFsb2coZGlhbG9nID0+IHtcbiAgICAgICAgZGlhbG9nXG4gICAgICAgICAgLnNldFRpdGxlKGRpYWxvZ1RpdGxlKVxuICAgICAgICAgIC5zZXRDb250ZXh0KHsgZHVyYXRpb246ICcxaCcsIHJlYXNvbjogJycgfSlcbiAgICAgICAgICAuY29udGVudChmbGV4ID0+IHtcbiAgICAgICAgICAgIGZsZXhcbiAgICAgICAgICAgICAgLnNldERpcmVjdGlvbignY29sdW1uJylcbiAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGxvY2stc3lzdGVtOmxvY2suZHVyYXRpb24udGl0bGUnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgZmllbGQucGF0aCgnZHVyYXRpb24nKTtcbiAgICAgICAgICAgICAgICBmaWVsZC5zZWxlY3RCb3goe1xuICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogZHVyYXRpb25PcHRpb25zLFxuICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0Bsb2NrLXN5c3RlbTpsb2NrLnJlYXNvbi50aXRsZScsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZC5wYXRoKCdyZWFzb24nKTtcbiAgICAgICAgICAgICAgICBmaWVsZC5sYXJnZVRleHRCb3goe1xuICAgICAgICAgICAgICAgICAgcm93czogMyxcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnQGxvY2stc3lzdGVtOmxvY2sucmVhc29uLnBsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuc2V0QWN0aW9ucyhhY3Rpb25zID0+IHtcbiAgICAgICAgICAgIGFjdGlvbnMuY2FuY2VsKCdAbG9jay1zeXN0ZW06bG9jay5kaWFsb2cuY2FuY2VsJyk7XG4gICAgICAgICAgICBjb25zdCBjb25maXJtQWN0aW9uOiBBWFBBY3Rpb25NZW51SXRlbSA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdAbG9jay1zeXN0ZW06bG9jay5kaWFsb2cuY29uZmlybScsXG4gICAgICAgICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IHsgbmFtZTogJ3N1Ym1pdCcsIG9wdGlvbnM6IHsgdmFsaWRhdGU6IHRydWUgfSB9LFxuICAgICAgICAgICAgfSBhcyBBWFBBY3Rpb25NZW51SXRlbTtcbiAgICAgICAgICAgIGFjdGlvbnMuY3VzdG9tKGNvbmZpcm1BY3Rpb24pO1xuICAgICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5zaG93KCk7XG4gICAgY29uc3QgYWN0aW9uID0gZGlhbG9nUmVmLmFjdGlvbigpO1xuICAgIGlmIChhY3Rpb24gPT09ICdjYW5jZWwnKSB7XG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybSA9IGRpYWxvZ1JlZi5jb250ZXh0KCkgYXMgeyBkdXJhdGlvbj86IHN0cmluZzsgcmVhc29uPzogc3RyaW5nIH07XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBmb3JtPy5kdXJhdGlvbiA/PyAnMWgnO1xuICAgIGNvbnN0IHNlbGVjdGVkRHVyYXRpb24gPSBkdXJhdGlvbk9wdGlvbnMuZmluZCgoZCkgPT4gZC52YWx1ZSA9PT0gc2VsZWN0ZWQpO1xuICAgIGNvbnN0IGV4cGlyZUF0ID0gc2VsZWN0ZWREdXJhdGlvbj8uaG91cnNcbiAgICAgID8gbmV3IERhdGUoRGF0ZS5ub3coKSArIHNlbGVjdGVkRHVyYXRpb24uaG91cnMgKiA2MCAqIDYwICogMTAwMClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgYXdhaXQgdGhpcy5sb2NrU2VydmljZS5sb2NrKHtcbiAgICAgIHJlZklkLFxuICAgICAgcmVmVHlwZSxcbiAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgIGRhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIGV4cGlyZUF0LFxuICAgICAgbG9ja2VkQnk6IHtcbiAgICAgICAgaWQ6IHRoaXMuc2Vzc2lvblNlcnZpY2UudXNlcj8uaWQgPz8gJ3N5c3RlbScsXG4gICAgICAgIHR5cGU6ICdvaWRjLnVzZXJzJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcbiAgICBjb250ZXh0LnNldE91dHB1dCgnbG9ja0R1cmF0aW9uJywgZm9ybT8uZHVyYXRpb24gPz8gJzFoJyk7XG4gICAgY29udGV4dC5zZXRPdXRwdXQoJ2xvY2tSZWFzb24nLCBmb3JtPy5yZWFzb24gPz8gJycpO1xuICB9XG59XG5cblxuXG5leHBvcnQgY29uc3QgQVhNTG9ja1BvcHVwV29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICBzdGFydFN0ZXBJZDogJ2xvY2stcG9wdXAnLFxuICBzdGVwczoge1xuICAgICdsb2NrLXBvcHVwJzoge1xuICAgICAgYWN0aW9uOiAnQVhNTG9ja1BvcHVwV29ya2Zsb3dBY3Rpb24nLFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ3N1Y2Nlc3NUb2FzdCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgc3VjY2Vzc1RvYXN0OiB7XG4gICAgICBpZDogJ3N1Y2Nlc3NUb2FzdCcsXG4gICAgICBhY3Rpb246ICdBWFBUb2FzdEFjdGlvbicsXG4gICAgICBpbnB1dDoge1xuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICB0aXRsZTogJ3dvcmtmbG93LmVudGl0eS1tb2RpZmllZC10aXRsZScsXG4gICAgICAgIGNvbnRlbnQ6ICd3b3JrZmxvdy5lbnRpdHktbW9kaWZpZWQtYm9keScsXG4gICAgICB9LFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnbW9kaWZ5Q29uZmlybWVkJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBtb2RpZnlDb25maXJtZWQ6IHtcbiAgICAgIGlkOiAnbW9kaWZ5Q29uZmlybWVkJyxcbiAgICAgIGFjdGlvbjogJ0FYUEVudGl0eU1vZGlmeUNvbmZpcm1lZEFjdGlvbicsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPLockService } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nexport class AXMUnlockConfirmWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.dialogService = inject(AXDialogService);\n this.translationService = inject(AXTranslationService);\n this.lockService = inject(AXPLockService);\n this.sessionService = inject(AXPSessionService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@lock-system:unlock.dialog.title'), await this.translationService.translateAsync('@lock-system:unlock.dialog.description'), 'warning', 'horizontal', false, 'cancel');\n if (dialogResult.result) {\n try {\n // Perform unlock\n await this.lockService.unlock({\n refId: refId,\n refType: refType,\n type: 'user',\n });\n context.setOutput('isCanceled', false);\n context.setOutput('unlocked', true);\n }\n catch (error) {\n console.error('Unlock failed:', error);\n // Show error dialog\n await this.dialogService.alert(await this.translationService.translateAsync('@lock-system:unlock.error.title'), await this.translationService.translateAsync('@lock-system:unlock.error.description'), 'danger');\n context.setOutput('isCanceled', true);\n context.setOutput('unlocked', false);\n }\n }\n else {\n context.setOutput('isCanceled', true);\n context.setOutput('unlocked', false);\n }\n }\n}\nexport const AXMUnlockConfirmWorkflow = {\n startStepId: 'unlock-confirm',\n steps: {\n 'unlock-confirm': {\n action: 'AXMUnlockConfirmWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"unlocked\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-modified-title',\n content: 'workflow.entity-modified-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2NrLWNvbmZpcm0ud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvbG9jay1zeXN0ZW0vd29ya2Zsb3dzL3VubG9jay1jb25maXJtLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLDhCQUErQixTQUFRLGlCQUFpQjtJQUFyRTs7UUFDVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBNkNyRCxDQUFDO0lBM0NVLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDaEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBUyxlQUFlLENBQUMsQ0FBQztRQUMzRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFTLGlCQUFpQixDQUFDLENBQUM7UUFFL0QsMkJBQTJCO1FBQzNCLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQ25ELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxrQ0FBa0MsQ0FBQyxFQUNoRixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsd0NBQXdDLENBQUMsRUFDdEYsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxDQUNULENBQUM7UUFFRixJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUM7Z0JBQ0gsaUJBQWlCO2dCQUNqQixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO29CQUM1QixLQUFLLEVBQUUsS0FBSztvQkFDWixPQUFPLEVBQUUsT0FBTztvQkFDaEIsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQyxDQUFDO2dCQUVILE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUV2QyxvQkFBb0I7Z0JBQ3BCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQzVCLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxpQ0FBaUMsQ0FBQyxFQUMvRSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsdUNBQXVDLENBQUMsRUFDckYsUUFBUSxDQUNULENBQUM7Z0JBRUYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBZ0I7SUFDbkQsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixLQUFLLEVBQUU7UUFDTCxnQkFBZ0IsRUFBRTtZQUNoQixNQUFNLEVBQUUsZ0NBQWdDO1lBQ3hDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLHVDQUF1QyxFQUFFLENBQUM7b0JBQ3JGLFVBQVUsRUFBRSxjQUFjO2lCQUMzQjthQUNGO1NBQ0Y7UUFDRCxZQUFZLEVBQUU7WUFDWixFQUFFLEVBQUUsY0FBYztZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLGdDQUFnQztnQkFDdkMsT0FBTyxFQUFFLCtCQUErQjthQUN6QztZQUNELFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsaUJBQWlCO2lCQUM5QjthQUNGO1NBQ0Y7UUFDRCxlQUFlLEVBQUU7WUFDZixFQUFFLEVBQUUsaUJBQWlCO1lBQ3JCLE1BQU0sRUFBRSxnQ0FBZ0M7U0FDekM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUExvY2tTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQVhNVW5sb2NrQ29uZmlybVdvcmtmbG93QWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGxvY2tTZXJ2aWNlID0gaW5qZWN0KEFYUExvY2tTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuXG4gICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGxvY2stc3lzdGVtOnVubG9jay5kaWFsb2cudGl0bGUnKSxcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAbG9jay1zeXN0ZW06dW5sb2NrLmRpYWxvZy5kZXNjcmlwdGlvbicpLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgZmFsc2UsXG4gICAgICAnY2FuY2VsJ1xuICAgICk7XG5cbiAgICBpZiAoZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUGVyZm9ybSB1bmxvY2tcbiAgICAgICAgYXdhaXQgdGhpcy5sb2NrU2VydmljZS51bmxvY2soe1xuICAgICAgICAgIHJlZklkOiByZWZJZCxcbiAgICAgICAgICByZWZUeXBlOiByZWZUeXBlLFxuICAgICAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCBmYWxzZSk7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd1bmxvY2tlZCcsIHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignVW5sb2NrIGZhaWxlZDonLCBlcnJvcik7XG5cbiAgICAgICAgLy8gU2hvdyBlcnJvciBkaWFsb2dcbiAgICAgICAgYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmFsZXJ0KFxuICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAbG9jay1zeXN0ZW06dW5sb2NrLmVycm9yLnRpdGxlJyksXG4gICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTp1bmxvY2suZXJyb3IuZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnZGFuZ2VyJ1xuICAgICAgICApO1xuXG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgdHJ1ZSk7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd1bmxvY2tlZCcsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd1bmxvY2tlZCcsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTVVubG9ja0NvbmZpcm1Xb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAndW5sb2NrLWNvbmZpcm0nLFxuICBzdGVwczoge1xuICAgICd1bmxvY2stY29uZmlybSc6IHtcbiAgICAgIGFjdGlvbjogJ0FYTVVubG9ja0NvbmZpcm1Xb3JrZmxvd0FjdGlvbicsXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJ1bmxvY2tlZFwiKSA9PSB0cnVlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnc3VjY2Vzc1RvYXN0JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBzdWNjZXNzVG9hc3Q6IHtcbiAgICAgIGlkOiAnc3VjY2Vzc1RvYXN0JyxcbiAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LW1vZGlmaWVkLXRpdGxlJyxcbiAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1tb2RpZmllZC1ib2R5JyxcbiAgICAgIH0sXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIG1vZGlmeUNvbmZpcm1lZDoge1xuICAgICAgaWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgYWN0aW9uOiAnQVhQRW50aXR5TW9kaWZ5Q29uZmlybWVkQWN0aW9uJyxcbiAgICB9LFxuICB9LFxufTsgIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvYWNvcmV4LW1vZHVsZXMtY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-common.mjs","sources":["../tmp-esm2022/common/lib/const.js","../tmp-esm2022/common/lib/entity.provider.js","../tmp-esm2022/common/lib/widgets-names-list.js","../tmp-esm2022/common/lib/features/archive-plugin/archive.plugin.js","../tmp-esm2022/common/lib/features/archive-plugin/workflows/archive-entity.workflow.js","../tmp-esm2022/common/lib/features/archive-plugin/workflows/restore-entity.workflow.js","../tmp-esm2022/common/lib/features/archive-plugin/workflows/bulk-archive-entity.workflow.js","../tmp-esm2022/common/lib/features/archive-plugin/workflows/bulk-restore-entity.workflow.js","../tmp-esm2022/common/lib/features/archive-plugin/archive-plugin.module.js","../tmp-esm2022/common/lib/features/avatar-plugin/avatar.plugin.js","../tmp-esm2022/common/lib/features/avatar-plugin/avatar-plugin.module.js","../tmp-esm2022/common/lib/features/category-plugin/category.plugin.js","../tmp-esm2022/common/lib/features/category-plugin/entity.provider.js","../tmp-esm2022/common/lib/features/category-plugin/category.module.js","../tmp-esm2022/common/lib/features/clone-plugin/clone.plugin.js","../tmp-esm2022/common/lib/features/clone-plugin/workflows/clone-entity.workflow.js","../tmp-esm2022/common/lib/features/clone-plugin/clone-plugin.module.js","../tmp-esm2022/common/lib/features/color-plugin/color.plugin.js","../tmp-esm2022/common/lib/features/color-plugin/color-plugin.module.js","../tmp-esm2022/common/lib/features/compare/compare-popup.component.js","../tmp-esm2022/common/lib/features/compare/workflows/compare.workflow.js","../tmp-esm2022/common/lib/features/compare/compare.plugin.js","../tmp-esm2022/common/lib/features/compare/compare.module.js","../tmp-esm2022/common/lib/features/computed-properties/computed-properties.middleware.js","../tmp-esm2022/common/lib/features/computed-properties/computed-properties.plugin.js","../tmp-esm2022/common/lib/features/computed-properties/computed-properties.module.js","../tmp-esm2022/common/lib/features/disable-plugin/disable.plugin.js","../tmp-esm2022/common/lib/features/disable-plugin/workflows/disable-entity.workflow.js","../tmp-esm2022/common/lib/features/disable-plugin/workflows/enable-entity.workflow.js","../tmp-esm2022/common/lib/features/disable-plugin/workflows/bulk-disable-entity.workflow.js","../tmp-esm2022/common/lib/features/disable-plugin/workflows/bulk-enable-entity.workflow.js","../tmp-esm2022/common/lib/features/disable-plugin/disable-plugin.module.js","../tmp-esm2022/common/lib/features/extra-properties/extra-properties.plugin.js","../tmp-esm2022/common/lib/features/extra-properties/extra-properties.providers.js","../tmp-esm2022/common/lib/features/extra-properties/extra-properties.module.js","../tmp-esm2022/common/lib/features/global-search/search.config.js","../tmp-esm2022/common/lib/features/global-search/search-slot.component.js","../tmp-esm2022/common/lib/features/global-search/workflows/search.workflow.js","../tmp-esm2022/common/lib/features/global-search/search.module.js","../tmp-esm2022/common/lib/features/global-search/search.viewmodel.js","../tmp-esm2022/common/lib/features/icon-plugin/icon.plugin.js","../tmp-esm2022/common/lib/features/icon-plugin/icon-plugin.module.js","../tmp-esm2022/common/lib/features/primary-plugin/primary.plugin.js","../tmp-esm2022/common/lib/features/primary-plugin/primary-plugin.module.js","../tmp-esm2022/common/lib/features/shared/evaluators/datetime.evaluator-scope.provider.js","../tmp-esm2022/common/lib/features/shared/evaluators/translate.evaluator-scope.provider.js","../tmp-esm2022/common/lib/features/version-history/workflows/history-popup.workflow.js","../tmp-esm2022/common/lib/features/version-history/history.plugin.js","../tmp-esm2022/common/lib/features/version-history/version-history.module.js","../tmp-esm2022/common/lib/menu.keys.js","../tmp-esm2022/common/lib/menu.provider.js","../tmp-esm2022/common/lib/permission-definition.provider.js","../tmp-esm2022/common/lib/search-command.provider.js","../tmp-esm2022/common/lib/settings.provider.js","../tmp-esm2022/common/lib/common.module.js","../tmp-esm2022/common/lib/features/lock-system/workflows/lock-popup.workflow.js","../tmp-esm2022/common/lib/features/lock-system/workflows/unlock-confirm.workflow.js","../tmp-esm2022/common/acorex-modules-common.js"],"sourcesContent":["const config = {\n i18n: 'common',\n module: 'Common',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'common',\n name: config.module,\n title: '@common:module-name',\n icon: 'fa-light fa-file-invoice',\n },\n entities: {},\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxNQUFNLEdBQUc7SUFDYixJQUFJLEVBQUUsUUFBUTtJQUNkLE1BQU0sRUFBRSxRQUFRO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsTUFBTTtJQUNOLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQ25CLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsSUFBSSxFQUFFLDBCQUEwQjtLQUNqQztJQUNELFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbmZpZyA9IHtcbiAgaTE4bjogJ2NvbW1vbicsXG4gIG1vZHVsZTogJ0NvbW1vbicsXG59O1xuXG5leHBvcnQgY29uc3QgUm9vdENvbmZpZyA9IHtcbiAgY29uZmlnLFxuICBtb2R1bGU6IHtcbiAgICByb3V0ZTogJ2NvbW1vbicsXG4gICAgbmFtZTogY29uZmlnLm1vZHVsZSxcbiAgICB0aXRsZTogJ0Bjb21tb246bW9kdWxlLW5hbWUnLFxuICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWludm9pY2UnLFxuICB9LFxuICBlbnRpdGllczoge30sXG59O1xuIl19","import { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport * as i0 from \"@angular/core\";\n//#region ---- Common Module Entity Provider ----\nexport class AXMCommonModuleEntityProvider {\n constructor() {\n this.injector = inject(Injector);\n }\n preload() {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity) => ({\n module: module,\n entity: entity.name,\n }));\n }\n async get(moduleName, entityName) {\n return null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModuleEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModuleEntityProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModuleEntityProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2VudGl0eS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFckMscURBQXFEO0FBR3JELE1BQU0sT0FBTyw2QkFBNkI7SUFEMUM7UUFFWSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBYXZDO0lBWFUsT0FBTztRQUNWLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RSxNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSTtTQUN0QixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDNUMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs4R0FiUSw2QkFBNkI7a0hBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gICAgQVhQRW50aXR5RGVmaW5pdGlvbkxvYWRlcixcbiAgICBBWFBFbnRpdHlEZWZpbml0aW9uUHJlbG9hZGVyLFxuICAgIEFYUEVudGl0eVByZWxvYWRFbnRpdHksXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi9jb25zdCc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgQ29tbW9uIE1vZHVsZSBFbnRpdHkgUHJvdmlkZXIgICAtLS0tXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Db21tb25Nb2R1bGVFbnRpdHlQcm92aWRlciBpbXBsZW1lbnRzIEFYUEVudGl0eURlZmluaXRpb25Mb2FkZXIsIEFYUEVudGl0eURlZmluaXRpb25QcmVsb2FkZXIge1xuICAgIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gICAgcHVibGljIHByZWxvYWQoKTogQVhQRW50aXR5UHJlbG9hZEVudGl0eVtdIHtcbiAgICAgICAgY29uc3QgbW9kdWxlID0gUm9vdENvbmZpZy5tb2R1bGUubmFtZTtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oT2JqZWN0LnZhbHVlcyhSb290Q29uZmlnLmVudGl0aWVzKSkubWFwKChlbnRpdHk6IGFueSkgPT4gKHtcbiAgICAgICAgICAgIG1vZHVsZTogbW9kdWxlLFxuICAgICAgICAgICAgZW50aXR5OiBlbnRpdHkubmFtZSxcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGFzeW5jIGdldChtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4iXX0=","export const AXPWidgetsList = {\n Editors: {\n DocumentAttachment: 'document-attachment-editor',\n TagBox: 'tagable-editor',\n TagEditor: 'tag-editor',\n CheckBox: 'checkbox-editor',\n ColorBox: 'color-editor',\n ColorPalette: 'color-palette-editor',\n DateTimeBox: 'date-time-editor',\n Direction: 'direction',\n LargeTextBox: 'large-text-editor',\n NumberBox: 'number-editor',\n UnitValueBox: 'number-unit-editor',\n PasswordBox: 'password-editor',\n QueryBuilder: 'query-builder-editor',\n RichText: 'rich-text-editor',\n SelectBox: 'select-editor',\n SelectionList: 'selection-list-editor',\n TextBox: 'text-editor',\n InlineDataTable: 'table-editor',\n ToggleSwitch: 'toggle-editor',\n FileTypeExtension: 'file-type-extension',\n MapBox: 'map',\n MediaGallery: 'gallery',\n SignatureBox: 'signature',\n LookupBox: 'lookup-editor',\n ContactBox: 'contact-editor',\n MetaDataBox: 'meta-data-editor',\n TemplateBox: 'template-box-editor',\n TimeDuration: 'time-duration',\n DocumentUploader: 'document-uploader',\n MetaSelector: 'meta-selector-editor',\n MetaDataForm: 'meta-data-form-editor',\n ColumnFilterSelector: 'column-filter-selector-editor',\n DataListFilter: 'data-list-filter-editor',\n DynamicFormDesigner: 'dynamic-form-designer',\n ListEditor: 'list-editor',\n ConnectedListsEditor: 'connected-lists-editor',\n },\n Layouts: {\n BlockLayout: 'block-layout',\n RepeaterLayout: 'repeater-layout',\n TextBlockLayout: 'text-block-layout',\n FormField: 'form-field',\n PanelLayout: 'panel-layout',\n PageLayout: 'page-layout',\n DocumentLayout: 'document-layout',\n GridRowLayout: 'grid-row-layout',\n GridItemLayout: 'grid-item-layout',\n GridLayout: 'grid-layout',\n FlexLayout: 'flex-layout',\n FlexItemLayout: 'flex-item-layout',\n AdvancedGridLayout: 'advanced-grid-layout',\n AdvancedGridItemLayout: 'advanced-grid-item-layout',\n FieldsetLayout: 'fieldset-layout',\n TabsetLayout: 'tabset-layout',\n TabsetItemLayout: 'tabset-item',\n },\n Actions: {\n ActionButton: 'button-action',\n },\n Advanced: {\n QRCode: 'qrcode',\n Signature: 'signature',\n Map: 'map',\n Gallery: 'gallery',\n Image: 'image',\n ImageMarker: 'image-marker',\n Avatar: 'avatar',\n FileUploader: 'file-uploader',\n DataList: 'data-list',\n ListToolbar: 'list-toolbar',\n CronJob: 'cron-job',\n ExtraProperties: 'extra-properties',\n ExtraPropertiesValues: 'extra-properties-values',\n ExtraPropertiesSchema: 'extra-properties-schema',\n },\n Templates: {\n Designer: 'template-designer',\n Template: 'template',\n },\n // Filters: {\n // StringFilter: 'string-filter',\n // SelectFilter: 'select-filter',\n // NumberFilter: 'number-filter',\n // DateTimeFilter: 'datetime-filter',\n // BooleanFilter: 'boolean-filter',\n // LookupFilter: 'lookup-filter',\n // },\n // PropertyEditors: {\n // Spacing: 'spacing',\n // GridOptions: 'grid-options',\n // GridItemOptions: 'grid-item-options',\n // FlexOptions: 'flex-options',\n // FlexItemOptions: 'flex-item-options',\n // Direction: 'direction',\n // Border: 'border',\n // AdvancedGridOptions: 'advanced-grid-options',\n // },\n // Validations: {\n // RequiredValidation: 'required-validation',\n // RegularExpressionValidation: 'regular-expression-validation',\n // MinLengthValidation: 'min-length-validation',\n // MaxLengthValidation: 'max-length-validation',\n // LessThanValidation: 'less-than-validation',\n // GreaterThanValidation: 'greater-than-validation',\n // EqualValidation: 'equal-validation',\n // CallbackValidation: 'callback-validation',\n // BetweenValidation: 'between-validation',\n // },\n Entity: {\n EntityList: 'entity-list',\n EntityReference: 'entity-reference',\n WidgetSelector: 'widget-selector',\n },\n Theme: {\n ThemeColorChooser: 'theme-color-chooser',\n ThemePaletteChooser: 'theme-palette-chooser',\n // ThemeModeChooser: 'theme-mode-chooser',\n IconChooser: 'icon-chooser',\n FontSizeChooser: 'font-size-chooser',\n FontStyleChooser: 'font-style-chooser',\n // MenuOrientationChooser: 'menu-orientation-chooser',\n },\n // Dashboard: {\n // Weather: 'weather',\n // StickyNote: 'sticky-note',\n // LineChart: 'line-chart',\n // BarChart: 'bar-chart',\n // DonutChart: 'donut-chart',\n // GaugeChart: 'gauge-chart',\n // AnalogClock: 'analog-clock',\n // ClockCalendar: 'clock-calendar',\n // DashboardShortcut: 'dashboard-shortcut',\n // TaskBoard: 'task-board',\n // MyNotificationDashboard: 'my-notification-dashboard',\n // },\n // Features: {\n // Comment: 'comment',\n // Permissions: 'permissions',\n // },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy1uYW1lcy1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL3dpZGdldHMtbmFtZXMtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsT0FBTyxFQUFFO1FBQ1Asa0JBQWtCLEVBQUUsNEJBQTRCO1FBQ2hELE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsU0FBUyxFQUFFLFlBQVk7UUFDdkIsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixRQUFRLEVBQUUsY0FBYztRQUN4QixZQUFZLEVBQUUsc0JBQXNCO1FBQ3BDLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsU0FBUyxFQUFFLFdBQVc7UUFDdEIsWUFBWSxFQUFFLG1CQUFtQjtRQUNqQyxTQUFTLEVBQUUsZUFBZTtRQUMxQixZQUFZLEVBQUUsb0JBQW9CO1FBQ2xDLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsWUFBWSxFQUFFLHNCQUFzQjtRQUNwQyxRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLFNBQVMsRUFBRSxlQUFlO1FBQzFCLGFBQWEsRUFBRSx1QkFBdUI7UUFDdEMsT0FBTyxFQUFFLGFBQWE7UUFDdEIsZUFBZSxFQUFFLGNBQWM7UUFDL0IsWUFBWSxFQUFFLGVBQWU7UUFDN0IsaUJBQWlCLEVBQUUscUJBQXFCO1FBQ3hDLE1BQU0sRUFBRSxLQUFLO1FBQ2IsWUFBWSxFQUFFLFNBQVM7UUFDdkIsWUFBWSxFQUFFLFdBQVc7UUFDekIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsVUFBVSxFQUFFLGdCQUFnQjtRQUM1QixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsWUFBWSxFQUFFLGVBQWU7UUFDN0IsZ0JBQWdCLEVBQUUsbUJBQW1CO1FBQ3JDLFlBQVksRUFBRSxzQkFBc0I7UUFDcEMsWUFBWSxFQUFFLHVCQUF1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Q29udGVudCI6WyJleHBvcnQgY29uc3QgQVhQV2lkZ2V0c0xpc3QgPSB7XG4gIEVkaXRvcnM6IHtcbiAgICBEb2N1bWVudEF0dGFjaG1lbnQ6ICdkb2N1bWVudC1hdHRhY2htZW50LWVkaXRvcicsXG4gICAgVGFnQm94OiAndGFnYWJsZS1lZGl0b3InLFxuICAgIFRhZ0VkaXRvcjogJ3RhZy1lZGl0b3InLFxuICAgIENoZWNrQm94OiAnY2hlY2tib3gtZWRpdG9yJyxcbiAgICBDb2xvckJveDogJ2NvbG9yLWVkaXRvcicsXG4gICAgQ29sb3JQYWxldHRlOiAnY29sb3ItcGFsZXR0ZS1lZGl0b3InLFxuICAgIERhdGVUaW1lQm94OiAnZGF0ZS10aW1lLWVkaXRvcicsXG4gICAgRGlyZWN0aW9uOiAnZGlyZWN0aW9uJyxcbiAgICBMYXJnZVRleHRCb3g6ICdsYXJnZS10ZXh0LWVkaXRvcicsXG4gICAgTnVtYmVyQm94OiAnbnVtYmVyLWVkaXRvcicsXG4gICAgVW5pdFZhbHVlQm94OiAnbnVtYmVyLXVuaXQtZWRpdG9yJyxcbiAgICBQYXNzd29yZEJveDogJ3Bhc3N3b3JkLWVkaXRvcicsXG4gICAgUXVlcnlCdWlsZGVyOiAncXVlcnktYnVpbGRlci1lZGl0b3InLFxuICAgIFJpY2hUZXh0OiAncmljaC10ZXh0LWVkaXRvcicsXG4gICAgU2VsZWN0Qm94OiAnc2VsZWN0LWVkaXRvcicsXG4gICAgU2VsZWN0aW9uTGlzdDogJ3NlbGVjdGlvbi1saXN0LWVkaXRvcicsXG4gICAgVGV4dEJveDogJ3RleHQtZWRpdG9yJyxcbiAgICBJbmxpbmVEYXRhVGFibGU6ICd0YWJsZS1lZGl0b3InLFxuICAgIFRvZ2dsZVN3aXRjaDogJ3RvZ2dsZS1lZGl0b3InLFxuICAgIEZpbGVUeXBlRXh0ZW5zaW9uOiAnZmlsZS10eXBlLWV4dGVuc2lvbicsXG4gICAgTWFwQm94OiAnbWFwJyxcbiAgICBNZWRpYUdhbGxlcnk6ICdnYWxsZXJ5JyxcbiAgICBTaWduYXR1cmVCb3g6ICdzaWduYXR1cmUnLFxuICAgIExvb2t1cEJveDogJ2xvb2t1cC1lZGl0b3InLFxuICAgIENvbnRhY3RCb3g6ICdjb250YWN0LWVkaXRvcicsXG4gICAgTWV0YURhdGFCb3g6ICdtZXRhLWRhdGEtZWRpdG9yJyxcbiAgICBUZW1wbGF0ZUJveDogJ3RlbXBsYXRlLWJveC1lZGl0b3InLFxuICAgIFRpbWVEdXJhdGlvbjogJ3RpbWUtZHVyYXRpb24nLFxuICAgIERvY3VtZW50VXBsb2FkZXI6ICdkb2N1bWVudC11cGxvYWRlcicsXG4gICAgTWV0YVNlbGVjdG9yOiAnbWV0YS1zZWxlY3Rvci1lZGl0b3InLFxuICAgIE1ldGFEYXRhRm9ybTogJ21ldGEtZGF0YS1mb3JtLWVkaXRvcicsXG4gICAgQ29sdW1uRmlsdGVyU2VsZWN0b3I6ICdjb2x1bW4tZmlsdGVyLXNlbGVjdG9yLWVkaXRvcicsXG4gICAgRGF0YUxpc3RGaWx0ZXI6ICdkYXRhLWxpc3QtZmlsdGVyLWVkaXRvcicsXG4gICAgRHluYW1pY0Zvcm1EZXNpZ25lcjogJ2R5bmFtaWMtZm9ybS1kZXNpZ25lcicsXG4gICAgTGlzdEVkaXRvcjogJ2xpc3QtZWRpdG9yJyxcbiAgICBDb25uZWN0ZWRMaXN0c0VkaXRvcjogJ2Nvbm5lY3RlZC1saXN0cy1lZGl0b3InLFxuICB9LFxuICBMYXlvdXRzOiB7XG4gICAgQmxvY2tMYXlvdXQ6ICdibG9jay1sYXlvdXQnLFxuICAgIFJlcGVhdGVyTGF5b3V0OiAncmVwZWF0ZXItbGF5b3V0JyxcbiAgICBUZXh0QmxvY2tMYXlvdXQ6ICd0ZXh0LWJsb2NrLWxheW91dCcsXG4gICAgRm9ybUZpZWxkOiAnZm9ybS1maWVsZCcsXG4gICAgUGFuZWxMYXlvdXQ6ICdwYW5lbC1sYXlvdXQnLFxuICAgIFBhZ2VMYXlvdXQ6ICdwYWdlLWxheW91dCcsXG4gICAgRG9jdW1lbnRMYXlvdXQ6ICdkb2N1bWVudC1sYXlvdXQnLFxuICAgIEdyaWRSb3dMYXlvdXQ6ICdncmlkLXJvdy1sYXlvdXQnLFxuICAgIEdyaWRJdGVtTGF5b3V0OiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgR3JpZExheW91dDogJ2dyaWQtbGF5b3V0JyxcbiAgICBGbGV4TGF5b3V0OiAnZmxleC1sYXlvdXQnLFxuICAgIEZsZXhJdGVtTGF5b3V0OiAnZmxleC1pdGVtLWxheW91dCcsXG4gICAgQWR2YW5jZWRHcmlkTGF5b3V0OiAnYWR2YW5jZWQtZ3JpZC1sYXlvdXQnLFxuICAgIEFkdmFuY2VkR3JpZEl0ZW1MYXlvdXQ6ICdhZHZhbmNlZC1ncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICBGaWVsZHNldExheW91dDogJ2ZpZWxkc2V0LWxheW91dCcsXG4gICAgVGFic2V0TGF5b3V0OiAndGFic2V0LWxheW91dCcsXG4gICAgVGFic2V0SXRlbUxheW91dDogJ3RhYnNldC1pdGVtJyxcbiAgfSxcbiAgQWN0aW9uczoge1xuICAgIEFjdGlvbkJ1dHRvbjogJ2J1dHRvbi1hY3Rpb24nLFxuICB9LFxuICBBZHZhbmNlZDoge1xuICAgIFFSQ29kZTogJ3FyY29kZScsXG4gICAgU2lnbmF0dXJlOiAnc2lnbmF0dXJlJyxcbiAgICBNYXA6ICdtYXAnLFxuICAgIEdhbGxlcnk6ICdnYWxsZXJ5JyxcbiAgICBJbWFnZTogJ2ltYWdlJyxcbiAgICBJbWFnZU1hcmtlcjogJ2ltYWdlLW1hcmtlcicsXG4gICAgQXZhdGFyOiAnYXZhdGFyJyxcbiAgICBGaWxlVXBsb2FkZXI6ICdmaWxlLXVwbG9hZGVyJyxcbiAgICBEYXRhTGlzdDogJ2RhdGEtbGlzdCcsXG4gICAgTGlzdFRvb2xiYXI6ICdsaXN0LXRvb2xiYXInLFxuICAgIENyb25Kb2I6ICdjcm9uLWpvYicsXG4gICAgRXh0cmFQcm9wZXJ0aWVzOiAnZXh0cmEtcHJvcGVydGllcycsXG4gICAgRXh0cmFQcm9wZXJ0aWVzVmFsdWVzOiAnZXh0cmEtcHJvcGVydGllcy12YWx1ZXMnLFxuICAgIEV4dHJhUHJvcGVydGllc1NjaGVtYTogJ2V4dHJhLXByb3BlcnRpZXMtc2NoZW1hJyxcbiAgfSxcbiAgVGVtcGxhdGVzOiB7XG4gICAgRGVzaWduZXI6ICd0ZW1wbGF0ZS1kZXNpZ25lcicsXG4gICAgVGVtcGxhdGU6ICd0ZW1wbGF0ZScsXG4gIH0sXG4gIC8vIEZpbHRlcnM6IHtcbiAgLy8gICBTdHJpbmdGaWx0ZXI6ICdzdHJpbmctZmlsdGVyJyxcbiAgLy8gICBTZWxlY3RGaWx0ZXI6ICdzZWxlY3QtZmlsdGVyJyxcbiAgLy8gICBOdW1iZXJGaWx0ZXI6ICdudW1iZXItZmlsdGVyJyxcbiAgLy8gICBEYXRlVGltZUZpbHRlcjogJ2RhdGV0aW1lLWZpbHRlcicsXG4gIC8vICAgQm9vbGVhbkZpbHRlcjogJ2Jvb2xlYW4tZmlsdGVyJyxcbiAgLy8gICBMb29rdXBGaWx0ZXI6ICdsb29rdXAtZmlsdGVyJyxcbiAgLy8gfSxcbiAgLy8gUHJvcGVydHlFZGl0b3JzOiB7XG4gIC8vICAgU3BhY2luZzogJ3NwYWNpbmcnLFxuICAvLyAgIEdyaWRPcHRpb25zOiAnZ3JpZC1vcHRpb25zJyxcbiAgLy8gICBHcmlkSXRlbU9wdGlvbnM6ICdncmlkLWl0ZW0tb3B0aW9ucycsXG4gIC8vICAgRmxleE9wdGlvbnM6ICdmbGV4LW9wdGlvbnMnLFxuICAvLyAgIEZsZXhJdGVtT3B0aW9uczogJ2ZsZXgtaXRlbS1vcHRpb25zJyxcbiAgLy8gICBEaXJlY3Rpb246ICdkaXJlY3Rpb24nLFxuICAvLyAgIEJvcmRlcjogJ2JvcmRlcicsXG4gIC8vICAgQWR2YW5jZWRHcmlkT3B0aW9uczogJ2FkdmFuY2VkLWdyaWQtb3B0aW9ucycsXG4gIC8vIH0sXG4gIC8vIFZhbGlkYXRpb25zOiB7XG4gIC8vICAgUmVxdWlyZWRWYWxpZGF0aW9uOiAncmVxdWlyZWQtdmFsaWRhdGlvbicsXG4gIC8vICAgUmVndWxhckV4cHJlc3Npb25WYWxpZGF0aW9uOiAncmVndWxhci1leHByZXNzaW9uLXZhbGlkYXRpb24nLFxuICAvLyAgIE1pbkxlbmd0aFZhbGlkYXRpb246ICdtaW4tbGVuZ3RoLXZhbGlkYXRpb24nLFxuICAvLyAgIE1heExlbmd0aFZhbGlkYXRpb246ICdtYXgtbGVuZ3RoLXZhbGlkYXRpb24nLFxuICAvLyAgIExlc3NUaGFuVmFsaWRhdGlvbjogJ2xlc3MtdGhhbi12YWxpZGF0aW9uJyxcbiAgLy8gICBHcmVhdGVyVGhhblZhbGlkYXRpb246ICdncmVhdGVyLXRoYW4tdmFsaWRhdGlvbicsXG4gIC8vICAgRXF1YWxWYWxpZGF0aW9uOiAnZXF1YWwtdmFsaWRhdGlvbicsXG4gIC8vICAgQ2FsbGJhY2tWYWxpZGF0aW9uOiAnY2FsbGJhY2stdmFsaWRhdGlvbicsXG4gIC8vICAgQmV0d2VlblZhbGlkYXRpb246ICdiZXR3ZWVuLXZhbGlkYXRpb24nLFxuICAvLyB9LFxuICBFbnRpdHk6IHtcbiAgICBFbnRpdHlMaXN0OiAnZW50aXR5LWxpc3QnLFxuICAgIEVudGl0eVJlZmVyZW5jZTogJ2VudGl0eS1yZWZlcmVuY2UnLFxuICAgIFdpZGdldFNlbGVjdG9yOiAnd2lkZ2V0LXNlbGVjdG9yJyxcbiAgfSxcbiAgVGhlbWU6IHtcbiAgICBUaGVtZUNvbG9yQ2hvb3NlcjogJ3RoZW1lLWNvbG9yLWNob29zZXInLFxuICAgIFRoZW1lUGFsZXR0ZUNob29zZXI6ICd0aGVtZS1wYWxldHRlLWNob29zZXInLFxuICAgIC8vIFRoZW1lTW9kZUNob29zZXI6ICd0aGVtZS1tb2RlLWNob29zZXInLFxuICAgIEljb25DaG9vc2VyOiAnaWNvbi1jaG9vc2VyJyxcbiAgICBGb250U2l6ZUNob29zZXI6ICdmb250LXNpemUtY2hvb3NlcicsXG4gICAgRm9udFN0eWxlQ2hvb3NlcjogJ2ZvbnQtc3R5bGUtY2hvb3NlcicsXG4gICAgLy8gTWVudU9yaWVudGF0aW9uQ2hvb3NlcjogJ21lbnUtb3JpZW50YXRpb24tY2hvb3NlcicsXG4gIH0sXG4gIC8vIERhc2hib2FyZDoge1xuICAvLyAgIFdlYXRoZXI6ICd3ZWF0aGVyJyxcbiAgLy8gICBTdGlja3lOb3RlOiAnc3RpY2t5LW5vdGUnLFxuICAvLyAgIExpbmVDaGFydDogJ2xpbmUtY2hhcnQnLFxuICAvLyAgIEJhckNoYXJ0OiAnYmFyLWNoYXJ0JyxcbiAgLy8gICBEb251dENoYXJ0OiAnZG9udXQtY2hhcnQnLFxuICAvLyAgIEdhdWdlQ2hhcnQ6ICdnYXVnZS1jaGFydCcsXG4gIC8vICAgQW5hbG9nQ2xvY2s6ICdhbmFsb2ctY2xvY2snLFxuICAvLyAgIENsb2NrQ2FsZW5kYXI6ICdjbG9jay1jYWxlbmRhcicsXG4gIC8vICAgRGFzaGJvYXJkU2hvcnRjdXQ6ICdkYXNoYm9hcmQtc2hvcnRjdXQnLFxuICAvLyAgIFRhc2tCb2FyZDogJ3Rhc2stYm9hcmQnLFxuICAvLyAgIE15Tm90aWZpY2F0aW9uRGFzaGJvYXJkOiAnbXktbm90aWZpY2F0aW9uLWRhc2hib2FyZCcsXG4gIC8vIH0sXG4gIC8vIEZlYXR1cmVzOiB7XG4gIC8vICAgQ29tbWVudDogJ2NvbW1lbnQnLFxuICAvLyAgIFBlcm1pc3Npb25zOiAncGVybWlzc2lvbnMnLFxuICAvLyB9LFxufTtcbiJdfQ==","import { AXPEntityCommandScope, createQueryView } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const archivePlugin = {\n name: 'archive',\n order: 65,\n apply: (ctx) => {\n ensureListActions(ctx);\n //#region ---- Add isArchived Property ----\n // Ensure settings group exists\n const groupId = 'settings';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.settings' });\n }\n // Add isArchived property if it doesn't exist\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'isArchived')) {\n ctx.properties.add({\n name: 'isArchived',\n title: '@general:terms.status.states.is-archived',\n groupId,\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n // Default to false (not archived)\n defaultValue: false,\n // trulyText: '@general:terms.archived',\n // falsyText: '@general:terms.active',\n negative: true,\n nullValue: false,\n },\n },\n },\n validations: [],\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true }\n }\n }\n });\n }\n // Add isArchived to columns for list view\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'isArchived')) {\n ctx.columns.add({\n name: 'isArchived',\n title: '@general:terms.status.states.is-active',\n width: 100,\n sortable: true,\n filterable: true,\n });\n }\n //#endregion\n //#region ---- Add Archive Actions ----\n ctx.interfaces.update((i) => {\n const archiveCmdName = 'archive-entity';\n const restoreArchiveCmdName = 'restore-archive-entity';\n const bulkArchiveCmdName = 'bulk-archive-entity';\n const bulkRestoreArchiveCmdName = 'bulk-restore-archive-entity';\n // Add archive action to list view\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, archiveCmdName)) {\n listActions.push({\n title: '@general:actions.archive.title',\n command: {\n name: archiveCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'archive',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isArchived\") }}`,\n });\n }\n // Add restore archive action to list view\n if (!actionExists(listActions, restoreArchiveCmdName)) {\n listActions.push({\n title: '@general:actions.restore-archive.title',\n command: {\n name: restoreArchiveCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ !context.eval(\"isArchived\") }}`,\n });\n }\n // Add bulk archive action to list view\n if (!actionExists(listActions, bulkArchiveCmdName)) {\n listActions.push({\n title: '@general:actions.bulk-archive.title',\n command: {\n name: bulkArchiveCmdName,\n options: {\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'archive',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n // Add bulk restore archive action to list view\n if (!actionExists(listActions, bulkRestoreArchiveCmdName)) {\n listActions.push({\n title: '@general:actions.bulk-restore-archive.title',\n command: {\n name: bulkRestoreArchiveCmdName,\n options: {\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n // Add archive action to single view\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, archiveCmdName)) {\n singleActions.push({\n title: '@general:actions.archive.title',\n command: {\n name: archiveCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'archive',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isArchived\") }}`,\n });\n }\n // Add restore archive action to single view\n if (!actionExists(singleActions, restoreArchiveCmdName)) {\n singleActions.push({\n title: '@general:actions.restore-archive.title',\n command: {\n name: restoreArchiveCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ !context.eval(\"isArchived\") }}`,\n });\n }\n return i;\n });\n //#endregion\n //#region ---- Update Interface Layouts ----\n // Ensure update view includes isArchived\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isArchived')) {\n next.properties.push({\n name: 'isArchived',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Ensure single view includes isArchived\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId, order: 150 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isArchived')) {\n next.properties.push({\n name: 'isArchived',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Add archive view to show only archived items\n ctx.interfaces.master.list.update((list) => {\n const next = list ?? { actions: [], views: [] };\n next.views = next.views ?? [];\n // Check if archive view already exists\n if (!next.views.some((v) => v.name === 'archived')) {\n next.views.push(createQueryView('archived', '@general:terms.status.states.is-archived', false, {\n conditions: [\n {\n name: 'isArchived',\n operator: { type: 'equal' },\n value: true,\n hidden: true\n },\n ],\n sorts: [\n { name: 'archivedAt', dir: 'desc' },\n { name: 'title', dir: 'asc' },\n ],\n }));\n }\n return next;\n });\n //#endregion\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXJjaGl2ZS1wbHVnaW4vYXJjaGl2ZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCO0lBQ2hELElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLCtDQUErQztRQUUvQywrQkFBK0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDbkQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLEtBQUssRUFBRSwwQ0FBMEM7Z0JBQ2pELE9BQU87Z0JBQ1AsTUFBTSxFQUFFO29CQUNKLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWTt3QkFDekMsT0FBTyxFQUFFOzRCQUNMLGtDQUFrQzs0QkFDbEMsWUFBWSxFQUFFLEtBQUs7NEJBQ25CLHdDQUF3Qzs0QkFDeEMsc0NBQXNDOzRCQUN0QyxRQUFRLEVBQUUsSUFBSTs0QkFDZCxTQUFTLEVBQUUsS0FBSzt5QkFDbkI7cUJBQ0o7aUJBQ0o7Z0JBQ0QsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxFQUFFO29CQUNMLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7b0JBQ3ZCLE1BQU0sRUFBRTt3QkFDSixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO3dCQUMxQixNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO3FCQUM1QjtpQkFDSjthQUNHLENBQUMsQ0FBQztRQUNkLENBQUM7UUFFRCwwQ0FBMEM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDWixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsS0FBSyxFQUFFLHdDQUF3QztnQkFDL0MsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7UUFDZCxDQUFDO1FBRUQsWUFBWTtRQUVaLDJDQUEyQztRQUUzQyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDO1lBQ3hDLE1BQU0scUJBQXFCLEdBQUcsd0JBQXdCLENBQUM7WUFDdkQsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztZQUNqRCxNQUFNLHlCQUF5QixHQUFHLDZCQUE2QixDQUFDO1lBRWhFLGtDQUFrQztZQUNsQyxNQUFNLFdBQVcsR0FBSSxDQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUE0QixDQUFDO1lBQ3hFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQzdDLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ2IsS0FBSyxFQUFFLGdDQUFnQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNMLElBQUksRUFBRSxjQUFjO3dCQUNwQixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsU0FBUztvQkFDZixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtvQkFDdkMsTUFBTSxFQUFFLGtDQUFrQztpQkFDN0MsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELDBDQUEwQztZQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ2IsS0FBSyxFQUFFLHdDQUF3QztvQkFDL0MsT0FBTyxFQUFFO3dCQUNMLElBQUksRUFBRSxxQkFBcUI7d0JBQzNCLE9BQU8sRUFBRTs0QkFDTCxLQUFLLEVBQUUsMEJBQTBCOzRCQUNqQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTt5QkFDckQ7cUJBQ0o7b0JBQ0QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxRQUFRO29CQUNkLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO29CQUN2QyxNQUFNLEVBQUUsbUNBQW1DO2lCQUM5QyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBRUQsdUNBQXVDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztnQkFDakQsV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDYixLQUFLLEVBQUUscUNBQXFDO29CQUM1QyxPQUFPLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLGtCQUFrQjt3QkFDeEIsT0FBTyxFQUFFOzRCQUNMLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO3lCQUNyRDtxQkFDSjtvQkFDRCxRQUFRLEVBQUUsV0FBVztvQkFDckIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFFBQVE7aUJBQ3hDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFFRCwrQ0FBK0M7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSw2Q0FBNkM7b0JBQ3BELE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUseUJBQXlCO3dCQUMvQixPQUFPLEVBQUU7NEJBQ0wsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsUUFBUTtpQkFDeEMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELG9DQUFvQztZQUNwQyxNQUFNLGFBQWEsR0FBSSxDQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUE0QixJQUFJLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUMvQyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNmLEtBQUssRUFBRSxnQ0FBZ0M7b0JBQ3ZDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsY0FBYzt3QkFDcEIsT0FBTyxFQUFFOzRCQUNMLEtBQUssRUFBRSwwQkFBMEI7NEJBQ2pDLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO3lCQUNyRDtxQkFDSjtvQkFDRCxRQUFRLEVBQUUsV0FBVztvQkFDckIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFVBQVU7b0JBQ3ZDLE1BQU0sRUFBRSxrQ0FBa0M7aUJBQzdDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFFRCw0Q0FBNEM7WUFDNUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUscUJBQXFCLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNmLEtBQUssRUFBRSx3Q0FBd0M7b0JBQy9DLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUscUJBQXFCO3dCQUMzQixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtvQkFDdkMsTUFBTSxFQUFFLG1DQUFtQztpQkFDOUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELE9BQU8sQ0FBUSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUgsWUFBWTtRQUVaLGdEQUFnRDtRQUVoRCx5Q0FBeUM7UUFDekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQzdELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO29CQUNqQixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsTUFBTSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO3FCQUMvQztpQkFDSixDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFSCx5Q0FBeUM7UUFDekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNqRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQzdELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO29CQUNqQixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsTUFBTSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO3FCQUMvQztpQkFDSixDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFSCwrQ0FBK0M7UUFDL0MsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFFOUIsdUNBQXVDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDWCxlQUFlLENBQUMsVUFBVSxFQUFFLDBDQUEwQyxFQUFFLEtBQUssRUFBRTtvQkFDM0UsVUFBVSxFQUFFO3dCQUNSOzRCQUNJLElBQUksRUFBRSxZQUFZOzRCQUNsQixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFOzRCQUMzQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxNQUFNLEVBQUUsSUFBSTt5QkFDZjtxQkFDSjtvQkFDRCxLQUFLLEVBQUU7d0JBQ0gsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUU7d0JBQ25DLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO3FCQUNoQztpQkFDSixDQUFDLENBQ0wsQ0FBQztZQUNOLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILFlBQVk7SUFDaEIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgY3JlYXRlUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGNvbnN0IGFyY2hpdmVQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnYXJjaGl2ZScsXG4gICAgb3JkZXI6IDY1LFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgaXNBcmNoaXZlZCBQcm9wZXJ0eSAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgc2V0dGluZ3MgZ3JvdXAgZXhpc3RzXG4gICAgICAgIGNvbnN0IGdyb3VwSWQgPSAnc2V0dGluZ3MnO1xuICAgICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pbnRlcmZhY2Uuc2V0dGluZ3MnIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBpc0FyY2hpdmVkIHByb3BlcnR5IGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0FyY2hpdmVkJykpIHtcbiAgICAgICAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2lzQXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuc3RhdHVzLnN0YXRlcy5pcy1hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlRvZ2dsZVN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGZhbHNlIChub3QgYXJjaGl2ZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnVseVRleHQ6ICdAZ2VuZXJhbDp0ZXJtcy5hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmFsc3lUZXh0OiAnQGdlbmVyYWw6dGVybXMuYWN0aXZlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWdhdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIGlzQXJjaGl2ZWQgdG8gY29sdW1ucyBmb3IgbGlzdCB2aWV3XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBjdHguY29sdW1ucy5saXN0KCkgPz8gW107XG4gICAgICAgIGlmICghY29sdW1ucy5zb21lKChjOiBhbnkpID0+IGMubmFtZSA9PT0gJ2lzQXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgY3R4LmNvbHVtbnMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNBcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5zdGF0dXMuc3RhdGVzLmlzLWFjdGl2ZScsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgQXJjaGl2ZSBBY3Rpb25zICAgLS0tLVxuXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLnVwZGF0ZSgoaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXJjaGl2ZUNtZE5hbWUgPSAnYXJjaGl2ZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgcmVzdG9yZUFyY2hpdmVDbWROYW1lID0gJ3Jlc3RvcmUtYXJjaGl2ZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgYnVsa0FyY2hpdmVDbWROYW1lID0gJ2J1bGstYXJjaGl2ZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgYnVsa1Jlc3RvcmVBcmNoaXZlQ21kTmFtZSA9ICdidWxrLXJlc3RvcmUtYXJjaGl2ZS1lbnRpdHknO1xuXG4gICAgICAgICAgICAvLyBBZGQgYXJjaGl2ZSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBjb25zdCBsaXN0QWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBBWFBFbnRpdHlBY3Rpb25bXTtcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCBhcmNoaXZlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmFyY2hpdmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBhcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FyY2hpdmUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7IGNvbnRleHQuZXZhbChcImlzQXJjaGl2ZWRcIikgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgcmVzdG9yZSBhcmNoaXZlIGFjdGlvbiB0byBsaXN0IHZpZXdcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCByZXN0b3JlQXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5yZXN0b3JlLWFyY2hpdmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXN0b3JlQXJjaGl2ZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7ICFjb250ZXh0LmV2YWwoXCJpc0FyY2hpdmVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIGJ1bGsgYXJjaGl2ZSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgYnVsa0FyY2hpdmVDbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIGxpc3RBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMuYnVsay1hcmNoaXZlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYnVsa0FyY2hpdmVDbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYXJjaGl2ZScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBidWxrIHJlc3RvcmUgYXJjaGl2ZSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgYnVsa1Jlc3RvcmVBcmNoaXZlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstcmVzdG9yZS1hcmNoaXZlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYnVsa1Jlc3RvcmVBcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3VwZGF0ZScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBhcmNoaXZlIGFjdGlvbiB0byBzaW5nbGUgdmlld1xuICAgICAgICAgICAgY29uc3Qgc2luZ2xlQWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyPy5zaW5nbGU/LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW10gfHwgW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhzaW5nbGVBY3Rpb25zLCBhcmNoaXZlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBzaW5nbGVBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMuYXJjaGl2ZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGFyY2hpdmVDbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYXJjaGl2ZScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgY29udGV4dC5ldmFsKFwiaXNBcmNoaXZlZFwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCByZXN0b3JlIGFyY2hpdmUgYWN0aW9uIHRvIHNpbmdsZSB2aWV3XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhzaW5nbGVBY3Rpb25zLCByZXN0b3JlQXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLnJlc3RvcmUtYXJjaGl2ZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3RvcmVBcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3VwZGF0ZScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgIWNvbnRleHQuZXZhbChcImlzQXJjaGl2ZWRcIikgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gaSBhcyBhbnk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgVXBkYXRlIEludGVyZmFjZSBMYXlvdXRzICAgLS0tLVxuXG4gICAgICAgIC8vIEVuc3VyZSB1cGRhdGUgdmlldyBpbmNsdWRlcyBpc0FyY2hpdmVkXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5tb2RpZnkudXBkYXRlKCh1cGRhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSB1cGRhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2lzQXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lzQXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2LCBvcmRlcjogOTAgfSB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEVuc3VyZSBzaW5nbGUgdmlldyBpbmNsdWRlcyBpc0FyY2hpdmVkXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5zaW5nbGUudXBkYXRlKChzaW5nbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBzaW5nbGUgPz8geyB0aXRsZTogY3R4LmVudGl0eS50aXRsZSwgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkLCBvcmRlcjogMTUwIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0FyY2hpdmVkJykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0FyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDkwIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBZGQgYXJjaGl2ZSB2aWV3IHRvIHNob3cgb25seSBhcmNoaXZlZCBpdGVtc1xuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubGlzdC51cGRhdGUoKGxpc3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBsaXN0ID8/IHsgYWN0aW9uczogW10sIHZpZXdzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC52aWV3cyA9IG5leHQudmlld3MgPz8gW107XG5cbiAgICAgICAgICAgIC8vIENoZWNrIGlmIGFyY2hpdmUgdmlldyBhbHJlYWR5IGV4aXN0c1xuICAgICAgICAgICAgaWYgKCFuZXh0LnZpZXdzLnNvbWUoKHY6IGFueSkgPT4gdi5uYW1lID09PSAnYXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgICAgIG5leHQudmlld3MucHVzaChcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlUXVlcnlWaWV3KCdhcmNoaXZlZCcsICdAZ2VuZXJhbDp0ZXJtcy5zdGF0dXMuc3RhdGVzLmlzLWFyY2hpdmVkJywgZmFsc2UsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0FyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ2FyY2hpdmVkQXQnLCBkaXI6ICdkZXNjJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgZGlyOiAnYXNjJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityArchivedEvent = createWorkFlowEvent('[Entity] Archived');\nexport class AXPEntityArchiveAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.archive.confirm.title'), await this.translationService.translateAsync('@general:actions.archive.confirm.message'), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.archive.confirm.processing'),\n mode: 'indeterminate',\n status: 'Archiving...',\n });\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare archive data\n const archiveData = this.prepareArchiveData(currentData);\n // Update the entity to mark it as archived\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(archiveData);\n context.setOutput('id', refId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && currentData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: currentData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error('Archive operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareArchiveData(currentData) {\n const archiveData = { ...currentData };\n // Set the archived flag\n archiveData.isArchived = true;\n // Optionally add archive timestamp\n archiveData.archivedAt = new Date();\n return archiveData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityArchiveSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const id = context.getOutput('id');\n const meta = context.getVariable('meta');\n // Dispatch archive event\n this.dispatch(AXPEntityArchivedEvent({\n entity: refType,\n id,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityArchiveSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPArchiveEntityWorkflow = {\n startStepId: 'archive-entity',\n steps: {\n 'archive-entity': {\n action: 'AXPEntityArchiveAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-archived',\n content: 'workflow.entity-archived-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'archive-success',\n },\n ],\n },\n 'archive-success': {\n action: 'AXPEntityArchiveSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS1lbnRpdHkud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXJjaGl2ZS1wbHVnaW4vd29ya2Zsb3dzL2FyY2hpdmUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxtQkFBbUIsQ0FDckQsbUJBQW1CLENBQ3RCLENBQUM7QUFHRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsaUJBQWlCO0lBRDdEOztRQUVZLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQWlHN0Q7SUEvRkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FB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O29CQUN4RixVQUFVLEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakMsT0FBTyxFQUFFLCtCQUErQjthQUMzQztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsaUJBQWlCO2lCQUNoQzthQUNKO1NBQ0o7UUFDRCxpQkFBaUIsRUFBRTtZQUNmLE1BQU0sRUFBRSwrQkFBK0I7U0FDMUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUFyY2hpdmVkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IGlkOiBzdHJpbmc7IG1ldGE/OiBhbnkgfT4oXG4gICAgJ1tFbnRpdHldIEFyY2hpdmVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlBcmNoaXZlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcblxuICAgICAgICBpZiAoIXJlZklkIHx8ICFyZWZUeXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmSWQgYW5kIHJlZlR5cGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYXJjaGl2ZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5hcmNoaXZlLmNvbmZpcm0ubWVzc2FnZScpLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5hcmNoaXZlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnQXJjaGl2aW5nLi4uJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgcmVmSWQpO1xuXG4gICAgICAgICAgICAvLyBQcmVwYXJlIGFyY2hpdmUgZGF0YVxuICAgICAgICAgICAgY29uc3QgYXJjaGl2ZURhdGEgPSB0aGlzLnByZXBhcmVBcmNoaXZlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW50aXR5IHRvIG1hcmsgaXQgYXMgYXJjaGl2ZWRcbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcy51cGRhdGUuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVFeGVjKGFyY2hpdmVEYXRhKTtcblxuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpZCcsIHJlZklkKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIC8vIFNldCByZWZyZXNoIG1ldGFkYXRhXG4gICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtZXRhJywgeyByZWZyZXNoVGFyZ2V0SWQ6IGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQXJjaGl2ZSBvcGVyYXRpb24gZmFpbGVkOicsIGVycm9yKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgdHJ1ZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBsb2FkaW5nRGlhbG9nLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldEVudGl0eURhdGEocmVmVHlwZTogc3RyaW5nLCByZWZJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFVzZSB0aGUgZW50aXR5J3MgYnlLZXkgcXVlcnkgdG8gZ2V0IGFjdHVhbCBkYXRhXG4gICAgICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBjb25zdCBlbnRpdHlEZWZpbml0aW9uID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucXVlcmllcz8uYnlLZXkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgcXVlcnlFeGVjKHJlZklkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gRmFsbGJhY2sgdG8gYmFzaWMgc3RydWN0dXJlIGlmIG5vIHF1ZXJ5IGF2YWlsYWJsZVxuICAgICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlZklkIH07XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gcmV0cmlldmUgZW50aXR5IGRhdGE6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcmV0cmlldmUgZW50aXR5IGRhdGE6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVBcmNoaXZlRGF0YShjdXJyZW50RGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgYXJjaGl2ZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBhcmNoaXZlZCBmbGFnXG4gICAgICAgIGFyY2hpdmVEYXRhLmlzQXJjaGl2ZWQgPSB0cnVlO1xuXG4gICAgICAgIC8vIE9wdGlvbmFsbHkgYWRkIGFyY2hpdmUgdGltZXN0YW1wXG4gICAgICAgIGFyY2hpdmVEYXRhLmFyY2hpdmVkQXQgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBhcmNoaXZlRGF0YTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlBcmNoaXZlU3VjY2Vzc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgaWQgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmc+KCdpZCcpO1xuICAgICAgICBjb25zdCBtZXRhID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdtZXRhJyk7XG5cbiAgICAgICAgLy8gRGlzcGF0Y2ggYXJjaGl2ZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QXJjaGl2ZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBBcmNoaXZlRW50aXR5V29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnYXJjaGl2ZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdhcmNoaXZlLWVudGl0eSc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUFyY2hpdmVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWFyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LWFyY2hpdmVkLWJvZHknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdhcmNoaXZlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYXJjaGl2ZS1zdWNjZXNzJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5QXJjaGl2ZVN1Y2Nlc3NBY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityUnarchivedEvent = createWorkFlowEvent('[Entity] Unarchived');\nexport class AXPEntityUnarchiveAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.restore-archive.confirm.title'), await this.translationService.translateAsync('@general:actions.restore-archive.confirm.message'), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.restore-archive.confirm.processing'),\n mode: 'indeterminate',\n status: 'Unarchiving...',\n });\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare unarchive data\n const unarchiveData = this.prepareUnarchiveData(currentData);\n // Update the entity to mark it as not archived\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(unarchiveData);\n context.setOutput('id', refId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && currentData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: currentData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error('Unarchive operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareUnarchiveData(currentData) {\n const unarchiveData = { ...currentData };\n // Set the archived flag to false\n unarchiveData.isArchived = false;\n // Remove archive timestamp\n delete unarchiveData.archivedAt;\n return unarchiveData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityUnarchiveSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const id = context.getOutput('id');\n const meta = context.getVariable('meta');\n // Dispatch unarchive event\n this.dispatch(AXPEntityUnarchivedEvent({\n entity: refType,\n id,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPUnarchiveEntityWorkflow = {\n startStepId: 'unarchive-entity',\n steps: {\n 'unarchive-entity': {\n action: 'AXPEntityUnarchiveAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-unarchived',\n content: 'workflow.entity-unarchived-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'unarchive-success',\n },\n ],\n },\n 'unarchive-success': {\n action: 'AXPEntityUnarchiveSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdG9yZS1lbnRpdHkud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXJjaGl2ZS1wbHVnaW4vd29ya2Zsb3dzL3Jlc3RvcmUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxtQkFBbUIsQ0FDdkQscUJBQXFCLENBQ3hCLENBQUM7QUFHRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsaUJBQWlCO0lBRC9EOztRQUVZLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQWlHN0Q7SUEvRkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FB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LEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLDRCQUE0QjtnQkFDbkMsT0FBTyxFQUFFLGlDQUFpQzthQUM3QztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsbUJBQW1CO2lCQUNsQzthQUNKO1NBQ0o7UUFDRCxtQkFBbUIsRUFBRTtZQUNqQixNQUFNLEVBQUUsaUNBQWlDO1NBQzVDO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUmVmcmVzaEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQsIGNyZWF0ZVdvcmtGbG93RXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlVbmFyY2hpdmVkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IGlkOiBzdHJpbmc7IG1ldGE/OiBhbnkgfT4oXG4gICAgJ1tFbnRpdHldIFVuYXJjaGl2ZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eVVuYXJjaGl2ZUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdGVyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGxvYWRpbmdEaWFsb2cgPSBpbmplY3QoQVhMb2FkaW5nRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmSWQgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmSWQnKTtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG5cbiAgICAgICAgaWYgKCFyZWZJZCB8fCAhcmVmVHlwZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIHBhcmFtZXRlcnM6IHJlZklkIGFuZCByZWZUeXBlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgIC8vIFNob3cgY29uZmlybWF0aW9uIGRpYWxvZ1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybShcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLnJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5yZXN0b3JlLWFyY2hpdmUuY29uZmlybS5tZXNzYWdlJyksXG4gICAgICAgICAgICAnd2FybmluZycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLnJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLnByb2Nlc3NpbmcnKSxcbiAgICAgICAgICAgIG1vZGU6ICdpbmRldGVybWluYXRlJyxcbiAgICAgICAgICAgIHN0YXR1czogJ1VuYXJjaGl2aW5nLi4uJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgcmVmSWQpO1xuXG4gICAgICAgICAgICAvLyBQcmVwYXJlIHVuYXJjaGl2ZSBkYXRhXG4gICAgICAgICAgICBjb25zdCB1bmFyY2hpdmVEYXRhID0gdGhpcy5wcmVwYXJlVW5hcmNoaXZlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW50aXR5IHRvIG1hcmsgaXQgYXMgbm90IGFyY2hpdmVkXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcz8udXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMudXBkYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyh1bmFyY2hpdmVEYXRhKTtcblxuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpZCcsIHJlZklkKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIC8vIFNldCByZWZyZXNoIG1ldGFkYXRhXG4gICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtZXRhJywgeyByZWZyZXNoVGFyZ2V0SWQ6IGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignVW5hcmNoaXZlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZVVuYXJjaGl2ZURhdGEoY3VycmVudERhdGE6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHVuYXJjaGl2ZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBhcmNoaXZlZCBmbGFnIHRvIGZhbHNlXG4gICAgICAgIHVuYXJjaGl2ZURhdGEuaXNBcmNoaXZlZCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIFJlbW92ZSBhcmNoaXZlIHRpbWVzdGFtcFxuICAgICAgICBkZWxldGUgdW5hcmNoaXZlRGF0YS5hcmNoaXZlZEF0O1xuXG4gICAgICAgIHJldHVybiB1bmFyY2hpdmVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eVVuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IGlkID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nPignaWQnKTtcbiAgICAgICAgY29uc3QgbWV0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignbWV0YScpO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIHVuYXJjaGl2ZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5VW5hcmNoaXZlZEV2ZW50KHtcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHJlZlR5cGUsXG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgbWV0YVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUFVuYXJjaGl2ZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ3VuYXJjaGl2ZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICd1bmFyY2hpdmUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5VW5hcmNoaXZlQWN0aW9uJyxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcImlzQ2FuY2VsZWRcIikgPT0gZmFsc2UnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1zdWNjZXNzLXRvYXN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctc3VjY2Vzcy10b2FzdCc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ3dvcmtmbG93LmVudGl0eS11bmFyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LXVuYXJjaGl2ZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ3VuYXJjaGl2ZS1zdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3VuYXJjaGl2ZS1zdWNjZXNzJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5VW5hcmNoaXZlU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityBulkArchivedEvent = createWorkFlowEvent('[Entity] Bulk Archived');\nexport class AXPEntityBulkArchiveAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const data = context.getVariable('data');\n const selectedIds = Array.isArray(data) ? data.map((c) => c.id) : data ? [data.id] : [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and data');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.bulk-archive.confirm.title'), await this.translationService.translateAsync('@general:actions.bulk-archive.confirm.message', {\n params: { count: selectedIds.length }\n }), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.bulk-archive.confirm.processing'),\n mode: 'indeterminate',\n status: `Archiving ${selectedIds.length} items...`,\n });\n try {\n const processedIds = [];\n const failedIds = [];\n // Process each selected entity\n for (const id of selectedIds) {\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, id);\n // Prepare archive data\n const archiveData = this.prepareArchiveData(currentData);\n // Update the entity to mark it as archived\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(archiveData);\n processedIds.push(id);\n }\n else {\n failedIds.push(id);\n }\n }\n catch (error) {\n console.error(`Failed to archive entity ${id}:`, error);\n failedIds.push(id);\n }\n }\n context.setOutput('processedIds', processedIds);\n context.setOutput('failedIds', failedIds);\n context.setOutput('isCanceled', false);\n context.setOutput('totalProcessed', processedIds.length);\n context.setOutput('totalFailed', failedIds.length);\n }\n catch (error) {\n console.error('Bulk archive operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareArchiveData(currentData) {\n const archiveData = { ...currentData };\n // Set the archived flag\n archiveData.isArchived = true;\n // Optionally add archive timestamp\n archiveData.archivedAt = new Date();\n return archiveData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityBulkArchiveSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const processedIds = context.getOutput('processedIds') || [];\n const failedIds = context.getOutput('failedIds') || [];\n const totalProcessed = context.getOutput('totalProcessed') || 0;\n const totalFailed = context.getOutput('totalFailed') || 0;\n // Dispatch bulk archive event\n this.dispatch(AXPEntityBulkArchivedEvent({\n entity: refType,\n ids: processedIds,\n meta: { failedIds, totalProcessed, totalFailed }\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta: { refreshType: 'bulk-archive' }\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPBulkArchiveEntityWorkflow = {\n startStepId: 'bulk-archive-entity',\n steps: {\n 'bulk-archive-entity': {\n action: 'AXPEntityBulkArchiveAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-bulk-archived',\n content: 'workflow.entity-bulk-archived-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'bulk-archive-success',\n },\n ],\n },\n 'bulk-archive-success': {\n action: 'AXPEntityBulkArchiveSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1hcmNoaXZlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1hcmNoaXZlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsbUJBQW1CLENBQ3pELHdCQUF3QixDQUMzQixDQUFDO0FBR0YsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0ErRzdEO0lBN0dHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FB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QjtpQkFDbkM7YUFDSjtTQUNKO1FBQ0Qsb0JBQW9CLEVBQUU7WUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixLQUFLLEVBQUU7Z0JBQ0gsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSwrQkFBK0I7Z0JBQ3RDLE9BQU8sRUFBRSxvQ0FBb0M7YUFDaEQ7WUFDRCxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksVUFBVSxFQUFFLEVBQUU7b0JBQ2QsVUFBVSxFQUFFLHNCQUFzQjtpQkFDckM7YUFDSjtTQUNKO1FBQ0Qsc0JBQXNCLEVBQUU7WUFDcEIsTUFBTSxFQUFFLG1DQUFtQztTQUM5QztLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhMb2FkaW5nRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUFJlZnJlc2hFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0LCBjcmVhdGVXb3JrRmxvd0V2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuXG5leHBvcnQgY29uc3QgQVhQRW50aXR5QnVsa0FyY2hpdmVkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IGlkczogc3RyaW5nW107IG1ldGE/OiBhbnkgfT4oXG4gICAgJ1tFbnRpdHldIEJ1bGsgQXJjaGl2ZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtBcmNoaXZlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignZGF0YScpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZElkcyA9IEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhLm1hcCgoYykgPT4gYy5pZCkgOiBkYXRhID8gW2RhdGEuaWRdIDogW107XG5cbiAgICAgICAgaWYgKCFyZWZUeXBlIHx8IHNlbGVjdGVkSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIHBhcmFtZXRlcnM6IHJlZlR5cGUgYW5kIGRhdGEnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYnVsay1hcmNoaXZlLmNvbmZpcm0udGl0bGUnKSxcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstYXJjaGl2ZS5jb25maXJtLm1lc3NhZ2UnLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7IGNvdW50OiBzZWxlY3RlZElkcy5sZW5ndGggfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAnd2FybmluZycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstYXJjaGl2ZS5jb25maXJtLnByb2Nlc3NpbmcnKSxcbiAgICAgICAgICAgIG1vZGU6ICdpbmRldGVybWluYXRlJyxcbiAgICAgICAgICAgIHN0YXR1czogYEFyY2hpdmluZyAke3NlbGVjdGVkSWRzLmxlbmd0aH0gaXRlbXMuLi5gLFxuICAgICAgICB9KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc2VkSWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgY29uc3QgZmFpbGVkSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgICAgICAvLyBQcm9jZXNzIGVhY2ggc2VsZWN0ZWQgZW50aXR5XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGlkIG9mIHNlbGVjdGVkSWRzKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGVudGl0eSBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gYXdhaXQgdGhpcy5nZXRFbnRpdHlEYXRhKHJlZlR5cGUsIGlkKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBQcmVwYXJlIGFyY2hpdmUgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcmNoaXZlRGF0YSA9IHRoaXMucHJlcGFyZUFyY2hpdmVEYXRhKGN1cnJlbnREYXRhKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGVudGl0eSB0byBtYXJrIGl0IGFzIGFyY2hpdmVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzLnVwZGF0ZS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyhhcmNoaXZlRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzZWRJZHMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsZWRJZHMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gYXJjaGl2ZSBlbnRpdHkgJHtpZH06YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsZWRJZHMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgncHJvY2Vzc2VkSWRzJywgcHJvY2Vzc2VkSWRzKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdmYWlsZWRJZHMnLCBmYWlsZWRJZHMpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgndG90YWxQcm9jZXNzZWQnLCBwcm9jZXNzZWRJZHMubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd0b3RhbEZhaWxlZCcsIGZhaWxlZElkcy5sZW5ndGgpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdCdWxrIGFyY2hpdmUgb3BlcmF0aW9uIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgbG9hZGluZ0RpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRFbnRpdHlEYXRhKHJlZlR5cGU6IHN0cmluZywgcmVmSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBVc2UgdGhlIGVudGl0eSdzIGJ5S2V5IHF1ZXJ5IHRvIGdldCBhY3R1YWwgZGF0YVxuICAgICAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXM/LmJ5S2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzLmJ5S2V5LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHF1ZXJ5RXhlYyhyZWZJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIGJhc2ljIHN0cnVjdHVyZSBpZiBubyBxdWVyeSBhdmFpbGFibGVcbiAgICAgICAgICAgIHJldHVybiB7IGlkOiByZWZJZCB9O1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlQXJjaGl2ZURhdGEoY3VycmVudERhdGE6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGFyY2hpdmVEYXRhID0geyAuLi5jdXJyZW50RGF0YSB9O1xuXG4gICAgICAgIC8vIFNldCB0aGUgYXJjaGl2ZWQgZmxhZ1xuICAgICAgICBhcmNoaXZlRGF0YS5pc0FyY2hpdmVkID0gdHJ1ZTtcblxuICAgICAgICAvLyBPcHRpb25hbGx5IGFkZCBhcmNoaXZlIHRpbWVzdGFtcFxuICAgICAgICBhcmNoaXZlRGF0YS5hcmNoaXZlZEF0ID0gbmV3IERhdGUoKTtcblxuICAgICAgICByZXR1cm4gYXJjaGl2ZURhdGE7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5QnVsa0FyY2hpdmVTdWNjZXNzQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuICAgICAgICBjb25zdCBwcm9jZXNzZWRJZHMgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmdbXT4oJ3Byb2Nlc3NlZElkcycpIHx8IFtdO1xuICAgICAgICBjb25zdCBmYWlsZWRJZHMgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmdbXT4oJ2ZhaWxlZElkcycpIHx8IFtdO1xuICAgICAgICBjb25zdCB0b3RhbFByb2Nlc3NlZCA9IGNvbnRleHQuZ2V0T3V0cHV0PG51bWJlcj4oJ3RvdGFsUHJvY2Vzc2VkJykgfHwgMDtcbiAgICAgICAgY29uc3QgdG90YWxGYWlsZWQgPSBjb250ZXh0LmdldE91dHB1dDxudW1iZXI+KCd0b3RhbEZhaWxlZCcpIHx8IDA7XG5cbiAgICAgICAgLy8gRGlzcGF0Y2ggYnVsayBhcmNoaXZlIGV2ZW50XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBFbnRpdHlCdWxrQXJjaGl2ZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkczogcHJvY2Vzc2VkSWRzLFxuICAgICAgICAgICAgICAgIG1ldGE6IHsgZmFpbGVkSWRzLCB0b3RhbFByb2Nlc3NlZCwgdG90YWxGYWlsZWQgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGE6IHsgcmVmcmVzaFR5cGU6ICdidWxrLWFyY2hpdmUnIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUEJ1bGtBcmNoaXZlRW50aXR5V29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnYnVsay1hcmNoaXZlLWVudGl0eScsXG4gICAgc3RlcHM6IHtcbiAgICAgICAgJ2J1bGstYXJjaGl2ZS1lbnRpdHknOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrQXJjaGl2ZUFjdGlvbicsXG4gICAgICAgICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJpc0NhbmNlbGVkXCIpID09IGZhbHNlJyB9XSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ3Nob3ctc3VjY2Vzcy10b2FzdCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgICdzaG93LXN1Y2Nlc3MtdG9hc3QnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBUb2FzdEFjdGlvbicsXG4gICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICd3b3JrZmxvdy5lbnRpdHktYnVsay1hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1idWxrLWFyY2hpdmVkLWJvZHknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdidWxrLWFyY2hpdmUtc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgICdidWxrLWFyY2hpdmUtc3VjY2Vzcyc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtBcmNoaXZlU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityBulkUnarchivedEvent = createWorkFlowEvent('[Entity] Bulk Unarchived');\nexport class AXPEntityBulkUnarchiveAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const data = context.getVariable('data');\n const selectedIds = Array.isArray(data) ? data.map((c) => c.id) : data ? [data.id] : [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and data');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.bulk-restore-archive.confirm.title'), await this.translationService.translateAsync('@general:actions.bulk-restore-archive.confirm.message', {\n params: { count: selectedIds.length }\n }), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.bulk-restore-archive.confirm.processing'),\n mode: 'indeterminate',\n status: `Unarchiving ${selectedIds.length} items...`,\n });\n try {\n const processedIds = [];\n const failedIds = [];\n // Process each selected entity\n for (const id of selectedIds) {\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, id);\n // Prepare unarchive data\n const unarchiveData = this.prepareUnarchiveData(currentData);\n // Update the entity to mark it as not archived\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(unarchiveData);\n processedIds.push(id);\n }\n else {\n failedIds.push(id);\n }\n }\n catch (error) {\n console.error(`Failed to restore entity ${id}:`, error);\n failedIds.push(id);\n }\n }\n context.setOutput('processedIds', processedIds);\n context.setOutput('failedIds', failedIds);\n context.setOutput('isCanceled', false);\n context.setOutput('totalProcessed', processedIds.length);\n context.setOutput('totalFailed', failedIds.length);\n }\n catch (error) {\n console.error('Bulk unarchive operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareUnarchiveData(currentData) {\n const unarchiveData = { ...currentData };\n // Set the archived flag to false\n unarchiveData.isArchived = false;\n // Remove archive timestamp\n delete unarchiveData.archivedAt;\n return unarchiveData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityBulkUnarchiveSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const processedIds = context.getOutput('processedIds') || [];\n const failedIds = context.getOutput('failedIds') || [];\n const totalProcessed = context.getOutput('totalProcessed') || 0;\n const totalFailed = context.getOutput('totalFailed') || 0;\n // Dispatch bulk unarchive event\n this.dispatch(AXPEntityBulkUnarchivedEvent({\n entity: refType,\n ids: processedIds,\n meta: { failedIds, totalProcessed, totalFailed }\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta: { refreshType: 'bulk-unarchive' }\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPBulkUnarchiveEntityWorkflow = {\n startStepId: 'bulk-unarchive-entity',\n steps: {\n 'bulk-unarchive-entity': {\n action: 'AXPEntityBulkUnarchiveAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-bulk-unarchived',\n content: 'workflow.entity-bulk-unarchived-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'bulk-unarchive-success',\n },\n ],\n },\n 'bulk-unarchive-success': {\n action: 'AXPEntityBulkUnarchiveSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1yZXN0b3JlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1yZXN0b3JlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsbUJBQW1CLENBQzNELDBCQUEwQixDQUM3QixDQUFDO0FBR0YsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGlCQUFpQjtJQURuRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0ErRzdEO0lBN0dHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FB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O1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLGlDQUFpQztnQkFDeEMsT0FBTyxFQUFFLHNDQUFzQzthQUNsRDtZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsd0JBQXdCO2lCQUN2QzthQUNKO1NBQ0o7UUFDRCx3QkFBd0IsRUFBRTtZQUN0QixNQUFNLEVBQUUscUNBQXFDO1NBQ2hEO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUmVmcmVzaEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQsIGNyZWF0ZVdvcmtGbG93RXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlCdWxrVW5hcmNoaXZlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBCdWxrIFVuYXJjaGl2ZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgcHJpdmF0ZSBlbnRpdHlSZWdpc3RlcnkgPSBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSBsb2FkaW5nRGlhbG9nID0gaW5qZWN0KEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuICAgICAgICBjb25zdCBkYXRhID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhJyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEubWFwKChjKSA9PiBjLmlkKSA6IGRhdGEgPyBbZGF0YS5pZF0gOiBbXTtcblxuICAgICAgICBpZiAoIXJlZlR5cGUgfHwgc2VsZWN0ZWRJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmVHlwZSBhbmQgZGF0YScpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlEZWZpbml0aW9uID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcblxuICAgICAgICAvLyBTaG93IGNvbmZpcm1hdGlvbiBkaWFsb2dcbiAgICAgICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLXJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLXJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLm1lc3NhZ2UnLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7IGNvdW50OiBzZWxlY3RlZElkcy5sZW5ndGggfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAnd2FybmluZycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstcmVzdG9yZS1hcmNoaXZlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiBgVW5hcmNoaXZpbmcgJHtzZWxlY3RlZElkcy5sZW5ndGh9IGl0ZW1zLi4uYCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlZElkczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGZhaWxlZElkczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICAgICAgLy8gUHJvY2VzcyBlYWNoIHNlbGVjdGVkIGVudGl0eVxuICAgICAgICAgICAgZm9yIChjb25zdCBpZCBvZiBzZWxlY3RlZElkcykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0YSA9IGF3YWl0IHRoaXMuZ2V0RW50aXR5RGF0YShyZWZUeXBlLCBpZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gUHJlcGFyZSB1bmFyY2hpdmUgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCB1bmFyY2hpdmVEYXRhID0gdGhpcy5wcmVwYXJlVW5hcmNoaXZlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBlbnRpdHkgdG8gbWFyayBpdCBhcyBub3QgYXJjaGl2ZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24uY29tbWFuZHM/LnVwZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMudXBkYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVFeGVjKHVuYXJjaGl2ZURhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFpbGVkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHJlc3RvcmUgZW50aXR5ICR7aWR9OmAsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Byb2Nlc3NlZElkcycsIHByb2Nlc3NlZElkcyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZmFpbGVkSWRzJywgZmFpbGVkSWRzKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgZmFsc2UpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3RvdGFsUHJvY2Vzc2VkJywgcHJvY2Vzc2VkSWRzLmxlbmd0aCk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgndG90YWxGYWlsZWQnLCBmYWlsZWRJZHMubGVuZ3RoKTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQnVsayB1bmFyY2hpdmUgb3BlcmF0aW9uIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgbG9hZGluZ0RpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRFbnRpdHlEYXRhKHJlZlR5cGU6IHN0cmluZywgcmVmSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBVc2UgdGhlIGVudGl0eSdzIGJ5S2V5IHF1ZXJ5IHRvIGdldCBhY3R1YWwgZGF0YVxuICAgICAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXM/LmJ5S2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzLmJ5S2V5LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHF1ZXJ5RXhlYyhyZWZJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIGJhc2ljIHN0cnVjdHVyZSBpZiBubyBxdWVyeSBhdmFpbGFibGVcbiAgICAgICAgICAgIHJldHVybiB7IGlkOiByZWZJZCB9O1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlVW5hcmNoaXZlRGF0YShjdXJyZW50RGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgdW5hcmNoaXZlRGF0YSA9IHsgLi4uY3VycmVudERhdGEgfTtcblxuICAgICAgICAvLyBTZXQgdGhlIGFyY2hpdmVkIGZsYWcgdG8gZmFsc2VcbiAgICAgICAgdW5hcmNoaXZlRGF0YS5pc0FyY2hpdmVkID0gZmFsc2U7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGFyY2hpdmUgdGltZXN0YW1wXG4gICAgICAgIGRlbGV0ZSB1bmFyY2hpdmVEYXRhLmFyY2hpdmVkQXQ7XG5cbiAgICAgICAgcmV0dXJuIHVuYXJjaGl2ZURhdGE7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NlZElkcyA9IGNvbnRleHQuZ2V0T3V0cHV0PHN0cmluZ1tdPigncHJvY2Vzc2VkSWRzJykgfHwgW107XG4gICAgICAgIGNvbnN0IGZhaWxlZElkcyA9IGNvbnRleHQuZ2V0T3V0cHV0PHN0cmluZ1tdPignZmFpbGVkSWRzJykgfHwgW107XG4gICAgICAgIGNvbnN0IHRvdGFsUHJvY2Vzc2VkID0gY29udGV4dC5nZXRPdXRwdXQ8bnVtYmVyPigndG90YWxQcm9jZXNzZWQnKSB8fCAwO1xuICAgICAgICBjb25zdCB0b3RhbEZhaWxlZCA9IGNvbnRleHQuZ2V0T3V0cHV0PG51bWJlcj4oJ3RvdGFsRmFpbGVkJykgfHwgMDtcblxuICAgICAgICAvLyBEaXNwYXRjaCBidWxrIHVuYXJjaGl2ZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkczogcHJvY2Vzc2VkSWRzLFxuICAgICAgICAgICAgICAgIG1ldGE6IHsgZmFpbGVkSWRzLCB0b3RhbFByb2Nlc3NlZCwgdG90YWxGYWlsZWQgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGE6IHsgcmVmcmVzaFR5cGU6ICdidWxrLXVuYXJjaGl2ZScgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhQQnVsa1VuYXJjaGl2ZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2J1bGstdW5hcmNoaXZlLWVudGl0eScsXG4gICAgc3RlcHM6IHtcbiAgICAgICAgJ2J1bGstdW5hcmNoaXZlLWVudGl0eSc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtVbmFyY2hpdmVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWJ1bGstdW5hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1idWxrLXVuYXJjaGl2ZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ2J1bGstdW5hcmNoaXZlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYnVsay11bmFyY2hpdmUtc3VjY2Vzcyc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtVbmFyY2hpdmVTdWNjZXNzQWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcbiJdfQ==","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { archivePlugin } from './archive.plugin';\nimport { AXPArchiveEntityWorkflow, AXPEntityArchiveAction, AXPEntityArchiveSuccessAction, AXPUnarchiveEntityWorkflow, AXPEntityUnarchiveAction, AXPEntityUnarchiveSuccessAction, AXPBulkArchiveEntityWorkflow, AXPEntityBulkArchiveAction, AXPEntityBulkArchiveSuccessAction, AXPBulkUnarchiveEntityWorkflow, AXPEntityBulkUnarchiveAction, AXPEntityBulkUnarchiveSuccessAction } from './workflows';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPArchivePluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPArchivePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPArchivePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPArchivePluginModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: archivePlugin },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n AXPEntityArchiveAction,\n AXPEntityArchiveSuccessAction,\n AXPEntityUnarchiveAction,\n AXPEntityUnarchiveSuccessAction,\n AXPEntityBulkArchiveAction,\n AXPEntityBulkArchiveSuccessAction,\n AXPEntityBulkUnarchiveAction,\n AXPEntityBulkUnarchiveSuccessAction,\n },\n workflows: {\n 'archive-entity': AXPArchiveEntityWorkflow,\n 'restore-archive-entity': AXPUnarchiveEntityWorkflow,\n 'bulk-archive-entity': AXPBulkArchiveEntityWorkflow,\n 'bulk-restore-archive-entity': AXPBulkUnarchiveEntityWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPArchivePluginModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityArchiveAction,\n AXPEntityArchiveSuccessAction,\n AXPEntityUnarchiveAction,\n AXPEntityUnarchiveSuccessAction,\n AXPEntityBulkArchiveAction,\n AXPEntityBulkArchiveSuccessAction,\n AXPEntityBulkUnarchiveAction,\n AXPEntityBulkUnarchiveSuccessAction,\n },\n workflows: {\n 'archive-entity': AXPArchiveEntityWorkflow,\n 'restore-archive-entity': AXPUnarchiveEntityWorkflow,\n 'bulk-archive-entity': AXPBulkArchiveEntityWorkflow,\n 'bulk-restore-archive-entity': AXPBulkUnarchiveEntityWorkflow,\n },\n }),\n ],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: archivePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2FyY2hpdmUtcGx1Z2luL2FyY2hpdmUtcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0Qiw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4QiwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLDBCQUEwQixFQUMxQixpQ0FBaUMsRUFDakMsOEJBQThCLEVBQzlCLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDdEMsTUFBTSxhQUFhLENBQUM7OztBQTJCckIsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixhQUpwQjtZQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRTtTQUM5RSxZQXJCRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDTCxzQkFBc0I7b0JBQ3RCLDZCQUE2QjtvQkFDN0Isd0JBQXdCO29CQUN4QiwrQkFBK0I7b0JBQy9CLDBCQUEwQjtvQkFDMUIsaUNBQWlDO29CQUNqQyw0QkFBNEI7b0JBQzVCLG1DQUFtQztpQkFDdEM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLGdCQUFnQixFQUFFLHdCQUF3QjtvQkFDMUMsd0JBQXdCLEVBQUUsMEJBQTBCO29CQUNwRCxxQkFBcUIsRUFBRSw0QkFBNEI7b0JBQ25ELDZCQUE2QixFQUFFLDhCQUE4QjtpQkFDaEU7YUFDSixDQUFDOzsyRkFNRyxzQkFBc0I7a0JBekJsQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3ZCLE9BQU8sRUFBRTtnQ0FDTCxzQkFBc0I7Z0NBQ3RCLDZCQUE2QjtnQ0FDN0Isd0JBQXdCO2dDQUN4QiwrQkFBK0I7Z0NBQy9CLDBCQUEwQjtnQ0FDMUIsaUNBQWlDO2dDQUNqQyw0QkFBNEI7Z0NBQzVCLG1DQUFtQzs2QkFDdEM7NEJBQ0QsU0FBUyxFQUFFO2dDQUNQLGdCQUFnQixFQUFFLHdCQUF3QjtnQ0FDMUMsd0JBQXdCLEVBQUUsMEJBQTBCO2dDQUNwRCxxQkFBcUIsRUFBRSw0QkFBNEI7Z0NBQ25ELDZCQUE2QixFQUFFLDhCQUE4Qjs2QkFDaEU7eUJBQ0osQ0FBQztxQkFDTDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUM5RTtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGFyY2hpdmVQbHVnaW4gfSBmcm9tICcuL2FyY2hpdmUucGx1Z2luJztcbmltcG9ydCB7IFxuICAgIEFYUEFyY2hpdmVFbnRpdHlXb3JrZmxvdywgXG4gICAgQVhQRW50aXR5QXJjaGl2ZUFjdGlvbiwgXG4gICAgQVhQRW50aXR5QXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgQVhQVW5hcmNoaXZlRW50aXR5V29ya2Zsb3csXG4gICAgQVhQRW50aXR5VW5hcmNoaXZlQWN0aW9uLFxuICAgIEFYUEVudGl0eVVuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgQVhQQnVsa0FyY2hpdmVFbnRpdHlXb3JrZmxvdyxcbiAgICBBWFBFbnRpdHlCdWxrQXJjaGl2ZUFjdGlvbixcbiAgICBBWFBFbnRpdHlCdWxrQXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgQVhQQnVsa1VuYXJjaGl2ZUVudGl0eVdvcmtmbG93LFxuICAgIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVBY3Rpb24sXG4gICAgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi93b3JrZmxvd3MnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgICAgICAgYWN0aW9uczoge1xuICAgICAgICAgICAgICAgIEFYUEVudGl0eUFyY2hpdmVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5VW5hcmNoaXZlQWN0aW9uLFxuICAgICAgICAgICAgICAgIEFYUEVudGl0eVVuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QnVsa0FyY2hpdmVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QnVsa0FyY2hpdmVTdWNjZXNzQWN0aW9uLFxuICAgICAgICAgICAgICAgIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZVN1Y2Nlc3NBY3Rpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICAgICAgICAgJ2FyY2hpdmUtZW50aXR5JzogQVhQQXJjaGl2ZUVudGl0eVdvcmtmbG93LFxuICAgICAgICAgICAgICAgICdyZXN0b3JlLWFyY2hpdmUtZW50aXR5JzogQVhQVW5hcmNoaXZlRW50aXR5V29ya2Zsb3csXG4gICAgICAgICAgICAgICAgJ2J1bGstYXJjaGl2ZS1lbnRpdHknOiBBWFBCdWxrQXJjaGl2ZUVudGl0eVdvcmtmbG93LFxuICAgICAgICAgICAgICAgICdidWxrLXJlc3RvcmUtYXJjaGl2ZS1lbnRpdHknOiBBWFBCdWxrVW5hcmNoaXZlRW50aXR5V29ya2Zsb3csXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBhcmNoaXZlUGx1Z2luIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQXJjaGl2ZVBsdWdpbk1vZHVsZSB7IH1cbiJdfQ==","import { ensureListActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const avatarPlugin = {\n name: 'avatar',\n order: 75,\n apply: (ctx, options) => {\n ensureListActions(ctx);\n const groupId = 'appearance';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.appearance' });\n }\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'avatar')) {\n ctx.properties.add({\n name: 'avatar',\n title: '@general:terms.common.avatar',\n groupId,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Advanced.Avatar,\n options: {},\n },\n },\n validations: [],\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: false },\n inline: { enabled: false },\n },\n },\n });\n }\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'avatar')) {\n next.properties.push({\n name: 'avatar',\n layout: {\n positions: { lg: { colSpan: options?.colSpan ?? 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'avatar')) {\n next.properties.push({\n name: 'avatar',\n layout: {\n positions: { lg: { colSpan: options?.colSpan ?? 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'avatar')) {\n next.properties.push({\n name: 'avatar',\n layout: {\n positions: { lg: { colSpan: options?.colSpan ?? 6 } },\n },\n });\n }\n return next;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hdmF0YXItcGx1Z2luL2F2YXRhci5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQTBCO0lBQ2pELElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDdEIsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkIsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxxQ0FBcUMsRUFBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxHQUFHLENBQUMsVUFB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QU0sRUFBRTt3QkFDTixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsRUFBRTtxQkFDdEQ7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eUFjdGlvblBsdWdpbiwgZW5zdXJlTGlzdEFjdGlvbnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xyXG5pbXBvcnQgeyBBWFBXaWRnZXRzTGlzdCB9IGZyb20gJy4uLy4uL3dpZGdldHMtbmFtZXMtbGlzdCc7XHJcblxyXG5leHBvcnQgY29uc3QgYXZhdGFyUGx1Z2luOiBBWFBFbnRpdHlBY3Rpb25QbHVnaW4gPSB7XHJcbiAgbmFtZTogJ2F2YXRhcicsXHJcbiAgb3JkZXI6IDc1LFxyXG4gIGFwcGx5OiAoY3R4LCBvcHRpb25zKSA9PiB7XHJcbiAgICBlbnN1cmVMaXN0QWN0aW9ucyhjdHgpO1xyXG5cclxuICAgIGNvbnN0IGdyb3VwSWQgPSAnYXBwZWFyYW5jZSc7XHJcbiAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcclxuICAgIGlmICghZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gZ3JvdXBJZCkpIHtcclxuICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pbnRlcmZhY2UuYXBwZWFyYW5jZScgfSBhcyBhbnkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByb3BzID0gY3R4LnByb3BlcnRpZXMubGlzdCgpO1xyXG4gICAgaWYgKCFwcm9wcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2F2YXRhcicpKSB7XHJcbiAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XHJcbiAgICAgICAgbmFtZTogJ2F2YXRhcicsXHJcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24uYXZhdGFyJyxcclxuICAgICAgICBncm91cElkLFxyXG4gICAgICAgIHNjaGVtYToge1xyXG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XHJcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkFkdmFuY2VkLkF2YXRhcixcclxuICAgICAgICAgICAgb3B0aW9uczoge30sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtdLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogZmFsc2UgfSxcclxuICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICBhZHZhbmNlOiB7IGVuYWJsZWQ6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgIGlubGluZTogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgY3R4LmludGVyZmFjZXMubWFzdGVyLmNyZWF0ZS51cGRhdGUoKGNyZWF0ZSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXh0ID0gY3JlYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xyXG4gICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcclxuICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCB9KTtcclxuICAgICAgfVxyXG4gICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XHJcbiAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnYXZhdGFyJykpIHtcclxuICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiAnYXZhdGFyJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3Bhbjogb3B0aW9ucz8uY29sU3BhbiA/PyA2IH0gfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5leHQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgodXBkYXRlKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5leHQgPSB1cGRhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdhdmF0YXInKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdhdmF0YXInLFxyXG4gICAgICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiBvcHRpb25zPy5jb2xTcGFuID8/IDYgfSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dDtcclxuICAgIH0pO1xyXG5cclxuICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5zaW5nbGUudXBkYXRlKChzaW5nbGUpID0+IHtcclxuICAgICAgY29uc3QgbmV4dCA9IHNpbmdsZSA/PyB7IHRpdGxlOiBjdHguZW50aXR5LnRpdGxlLCBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdhdmF0YXInKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdhdmF0YXInLFxyXG4gICAgICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiBvcHRpb25zPy5jb2xTcGFuID8/IDYgfSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dDtcclxuICAgIH0pO1xyXG4gIH0sXHJcbn07XHJcbiJdfQ==","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { avatarPlugin } from './avatar.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPAvatarPluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPAvatarPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPAvatarPluginModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPAvatarPluginModule, providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: avatarPlugin }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPAvatarPluginModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [],\n exports: [],\n providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: avatarPlugin }],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLXBsdWdpbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXZhdGFyLXBsdWdpbi9hdmF0YXItcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFRL0MsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUI7K0dBQXJCLHFCQUFxQixhQUZyQixDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDOzsyRkFFNUUscUJBQXFCO2tCQU5qQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQztpQkFDeEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhdmF0YXJQbHVnaW4gfSBmcm9tICcuL2F2YXRhci5wbHVnaW4nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGF2YXRhclBsdWdpbiB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUEF2YXRhclBsdWdpbk1vZHVsZSB7fVxyXG4iXX0=","import { AXPWidgetsList } from '../../widgets-names-list';\nexport const categoryPlugin = {\n name: 'category',\n order: 45,\n apply: (ctx, options) => {\n const moduleName = ctx.entity.module;\n const baseEntityName = ctx.entity.name;\n const categoryEntityName = `${baseEntityName}Category`;\n const propertyName = options?.propertyName?.trim()?.length ? options.propertyName : 'categoryIds';\n const allowMultiple = options?.allowMultiple ?? true;\n const enableAppearance = options?.enableAppearance ?? false;\n const enableMetaDataSelector = options?.enableMetaDataSelector ?? false;\n // Ensure group exists (prefer basic-info)\n const groups = ctx.groups.list() ?? [];\n const hasBasic = groups.some((g) => g.id === 'basic-info');\n if (!hasBasic) {\n ctx.groups.add({ id: 'basic-info', title: '@general:terms.interface.basic-info' });\n }\n ctx.columns.add({ name: 'categoryIds', options: { dataPath: 'categories' } });\n // Ensure property exists\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === propertyName)) {\n ctx.properties.add({\n name: propertyName,\n title: '@general:terms.classification.categories',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${moduleName}.${categoryEntityName}`,\n multiple: allowMultiple,\n expose: [\n { source: 'id', target: 'categories.{id}' },\n { source: 'title', target: 'categories.{title}' },\n ],\n },\n },\n },\n });\n }\n // Ensure category sidebar/filter block\n ctx.category.update((cat) => {\n return {\n entity: `${moduleName}.${categoryEntityName}`,\n title: '@general:terms.classification.categories',\n textField: 'title',\n valueField: 'id',\n applyConditions: [\n {\n name: propertyName,\n operator: { type: 'contains' },\n value: 'id',\n },\n ],\n };\n });\n // Ensure layout includes property in create/modify/single\n const ensureLayoutProperty = (layout) => {\n layout.sections = layout.sections ?? [];\n if (!layout.sections.some((s) => s.id === 'basic-info')) {\n layout.sections.push({ id: 'basic-info' });\n }\n layout.properties = layout.properties ?? [];\n if (!layout.properties.some((p) => p.name === propertyName)) {\n layout.properties.push({\n name: propertyName,\n layout: {\n positions: { lg: { colSpan: 12, order: 12 } },\n },\n });\n }\n return layout;\n };\n ctx.interfaces.master.create.update((create) => ensureLayoutProperty(create ?? { sections: [], properties: [] }));\n ctx.interfaces.master.modify.update((modify) => ensureLayoutProperty(modify ?? { sections: [], properties: [] }));\n ctx.interfaces.master.single.update((single) => ensureLayoutProperty(single ?? { title: ctx.entity.title, sections: [], properties: [] }));\n // Mark extension for dynamic category entity generation\n ctx.entity.extensions ??= {};\n ctx.entity.extensions.category = {\n entity: `${moduleName}.${categoryEntityName}`,\n propertyName,\n allowMultiple,\n enableAppearance,\n enableMetaDataSelector,\n };\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbi9jYXRlZ29yeS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBUzFELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBMEI7SUFDakQsSUFBSSxFQUFFLFVBQVU7SUFDaEIsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBa0MsRUFBRSxFQUFFO1FBQy9DLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxjQUFjLFVBQVUsQ0FBQztRQUV2RCxNQUFNLFlBQVksR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQ2xHLE1BQU0sYUFBYSxHQUFHLE9BQU8sRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDO1FBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxFQUFFLGdCQUFnQixJQUFJLEtBQUssQ0FBQztRQUM1RCxNQUFNLHNCQUFzQixHQUFHLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxLQUFLLENBQUM7UUFDeEUsMENBQTBDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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QUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBDYXRlZ29yeVBsdWdpbk9wdGlvbnMge1xuICAgIHByb3BlcnR5TmFtZT86IHN0cmluZzsgLy8gZGVmYXVsdDogY2F0ZWdvcnlJZHNcbiAgICBhbGxvd011bHRpcGxlPzogYm9vbGVhbjsgLy8gZGVmYXVsdDogdHJ1ZVxuICAgIGVuYWJsZUFwcGVhcmFuY2U/OiBib29sZWFuOyAvLyBkZWZhdWx0OiBmYWxzZVxuICAgIGVuYWJsZU1ldGFEYXRhU2VsZWN0b3I/OiBib29sZWFuOyAvLyBkZWZhdWx0OiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgY2F0ZWdvcnlQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnY2F0ZWdvcnknLFxuICAgIG9yZGVyOiA0NSxcbiAgICBhcHBseTogKGN0eCwgb3B0aW9ucz86IEFYUENhdGVnb3J5UGx1Z2luT3B0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gY3R4LmVudGl0eS5tb2R1bGU7XG4gICAgICAgIGNvbnN0IGJhc2VFbnRpdHlOYW1lID0gY3R4LmVudGl0eS5uYW1lO1xuICAgICAgICBjb25zdCBjYXRlZ29yeUVudGl0eU5hbWUgPSBgJHtiYXNlRW50aXR5TmFtZX1DYXRlZ29yeWA7XG5cbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lID0gb3B0aW9ucz8ucHJvcGVydHlOYW1lPy50cmltKCk/Lmxlbmd0aCA/IG9wdGlvbnMucHJvcGVydHlOYW1lIDogJ2NhdGVnb3J5SWRzJztcbiAgICAgICAgY29uc3QgYWxsb3dNdWx0aXBsZSA9IG9wdGlvbnM/LmFsbG93TXVsdGlwbGUgPz8gdHJ1ZTtcbiAgICAgICAgY29uc3QgZW5hYmxlQXBwZWFyYW5jZSA9IG9wdGlvbnM/LmVuYWJsZUFwcGVhcmFuY2UgPz8gZmFsc2U7XG4gICAgICAgIGNvbnN0IGVuYWJsZU1ldGFEYXRhU2VsZWN0b3IgPSBvcHRpb25zPy5lbmFibGVNZXRhRGF0YVNlbGVjdG9yID8/IGZhbHNlO1xuICAgICAgICAvLyBFbnN1cmUgZ3JvdXAgZXhpc3RzIChwcmVmZXIgYmFzaWMtaW5mbylcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICAgIGNvbnN0IGhhc0Jhc2ljID0gZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gJ2Jhc2ljLWluZm8nKTtcbiAgICAgICAgaWYgKCFoYXNCYXNpYykge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogJ2Jhc2ljLWluZm8nLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmludGVyZmFjZS5iYXNpYy1pbmZvJyB9IGFzIGFueSk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGN0eC5jb2x1bW5zLmFkZCh7IG5hbWU6ICdjYXRlZ29yeUlkcycsIG9wdGlvbnM6IHsgZGF0YVBhdGg6ICdjYXRlZ29yaWVzJyB9IH0pO1xuXG4gICAgICAgIC8vIEVuc3VyZSBwcm9wZXJ0eSBleGlzdHNcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogcHJvcGVydHlOYW1lLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2xhc3NpZmljYXRpb24uY2F0ZWdvcmllcycsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZDogJ2Jhc2ljLWluZm8nLFxuICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5Mb29rdXBCb3gsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBgJHttb2R1bGVOYW1lfS4ke2NhdGVnb3J5RW50aXR5TmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlOiBhbGxvd011bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9zZTogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ2lkJywgdGFyZ2V0OiAnY2F0ZWdvcmllcy57aWR9JyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ3RpdGxlJywgdGFyZ2V0OiAnY2F0ZWdvcmllcy57dGl0bGV9JyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9IGFzIGFueSk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEVuc3VyZSBjYXRlZ29yeSBzaWRlYmFyL2ZpbHRlciBibG9ja1xuICAgICAgICBjdHguY2F0ZWdvcnkudXBkYXRlKChjYXQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZW50aXR5OiBgJHttb2R1bGVOYW1lfS4ke2NhdGVnb3J5RW50aXR5TmFtZX1gLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2xhc3NpZmljYXRpb24uY2F0ZWdvcmllcycsXG4gICAgICAgICAgICAgICAgdGV4dEZpZWxkOiAndGl0bGUnLFxuICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXG4gICAgICAgICAgICAgICAgYXBwbHlDb25kaXRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHByb3BlcnR5TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdjb250YWlucycgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnaWQnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBFbnN1cmUgbGF5b3V0IGluY2x1ZGVzIHByb3BlcnR5IGluIGNyZWF0ZS9tb2RpZnkvc2luZ2xlXG4gICAgICAgIGNvbnN0IGVuc3VyZUxheW91dFByb3BlcnR5ID0gKGxheW91dDogYW55KSA9PiB7XG4gICAgICAgICAgICBsYXlvdXQuc2VjdGlvbnMgPSBsYXlvdXQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIWxheW91dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09ICdiYXNpYy1pbmZvJykpIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQuc2VjdGlvbnMucHVzaCh7IGlkOiAnYmFzaWMtaW5mbycgfSk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgbGF5b3V0LnByb3BlcnRpZXMgPSBsYXlvdXQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbGF5b3V0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcHJvcGVydHlOYW1lLFxuICAgICAgICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDEyIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICByZXR1cm4gbGF5b3V0O1xuICAgICAgICB9O1xuXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5jcmVhdGUudXBkYXRlKChjcmVhdGUpID0+IGVuc3VyZUxheW91dFByb3BlcnR5KGNyZWF0ZSA/PyB7IHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfSkpO1xuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgobW9kaWZ5KSA9PiBlbnN1cmVMYXlvdXRQcm9wZXJ0eShtb2RpZnkgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH0pKTtcbiAgICAgICAgY3R4LmludGVyZmFjZXMubWFzdGVyLnNpbmdsZS51cGRhdGUoKHNpbmdsZSkgPT4gZW5zdXJlTGF5b3V0UHJvcGVydHkoc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfSkpO1xuXG4gICAgICAgIC8vIE1hcmsgZXh0ZW5zaW9uIGZvciBkeW5hbWljIGNhdGVnb3J5IGVudGl0eSBnZW5lcmF0aW9uXG4gICAgICAgIChjdHguZW50aXR5IGFzIGFueSkuZXh0ZW5zaW9ucyA/Pz0ge307XG4gICAgICAgIChjdHguZW50aXR5IGFzIGFueSkuZXh0ZW5zaW9ucy5jYXRlZ29yeSA9IHtcbiAgICAgICAgICAgIGVudGl0eTogYCR7bW9kdWxlTmFtZX0uJHtjYXRlZ29yeUVudGl0eU5hbWV9YCxcbiAgICAgICAgICAgIHByb3BlcnR5TmFtZSxcbiAgICAgICAgICAgIGFsbG93TXVsdGlwbGUsXG4gICAgICAgICAgICBlbmFibGVBcHBlYXJhbmNlLFxuICAgICAgICAgICAgZW5hYmxlTWV0YURhdGFTZWxlY3RvcixcbiAgICAgICAgfTtcbiAgICB9LFxufTtcblxuXG4iXX0=","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPEntityDefinitionRegistryService, } from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { AXMEntityCrudServiceImpl, entityMasterCrudActions, entityMasterDeleteAction } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nimport * as i0 from \"@angular/core\";\nexport class AXMEntityCategoryProvider {\n constructor() {\n this.injector = inject(Injector);\n }\n preload() {\n return [];\n }\n async get(moduleName, entityName) {\n // Generic per-entity Category provider (works for any module)\n if (entityName.endsWith('Category')) {\n const fullKey = `${moduleName}.${entityName}`;\n const dataService = runInInjectionContext(this.injector, () => new AXMEntityCrudServiceImpl(fullKey));\n // Check if base entity has appearance enabled using lazy injection\n const baseEntityName = entityName.replace('Category', '');\n let enableAppearance = false;\n let enableMetaDataSelector = false;\n try {\n // Use lazy injection to avoid circular dependency\n const entityRegistry = runInInjectionContext(this.injector, () => {\n try {\n return inject(AXPEntityDefinitionRegistryService);\n }\n catch {\n return null;\n }\n });\n if (entityRegistry) {\n try {\n const baseEntity = await entityRegistry.resolve(moduleName, baseEntityName);\n if (baseEntity?.extensions?.category?.enableAppearance) {\n enableAppearance = true;\n }\n if (baseEntity?.extensions?.category?.enableMetaDataSelector) {\n enableMetaDataSelector = true;\n }\n }\n catch (error) {\n // Base entity not found or error loading, continue with default behavior\n console.warn(`Could not load base entity ${moduleName}.${baseEntityName} to check category plugin configuration:`, error);\n }\n }\n }\n catch (error) {\n // Registry not available, continue with default behavior\n console.warn(`Entity registry not available, using default category configuration:`, error);\n }\n const entityDef = {\n module: moduleName,\n name: entityName,\n parentKey: 'parentId',\n plugins: [\n // { name: 'lock' },\n // { name: 'compare' },\n ...(enableMetaDataSelector ? [{ name: 'meta-data-selector' }] : []),\n ],\n title: '@general:terms.classification.category',\n formats: {\n individual: '@general:terms.classification.category',\n plural: '@general:terms.classification.categories',\n searchResult: {\n title: '{{ title }}',\n description: '{{ module }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n ...(enableAppearance ? [{ id: 'appearance', title: '@general:terms.interface.appearance' }] : []),\n ],\n properties: [\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'parentId',\n title: '@general:terms.classification.parent',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: { entity: `${moduleName}.${entityName}` },\n },\n },\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.largeText } },\n },\n // Appearance properties (only if enabled)\n ...(enableAppearance ? [\n {\n name: 'color',\n title: '@general:terms.common.color',\n groupId: 'appearance',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Theme.ThemeColorChooser,\n options: {},\n },\n },\n },\n {\n name: 'icon',\n title: '@general:terms.common.icon',\n groupId: 'appearance',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Theme.IconChooser,\n options: {},\n },\n },\n },\n ] : []),\n ],\n columns: [{ name: 'title' }, { name: 'description' }],\n commands: {\n create: { execute: async (data) => ({ id: await dataService.insertOne(data) }) },\n delete: { execute: async (id) => dataService.deleteOne(id) },\n update: { execute: async (data) => dataService.updateOne(data.id, data) },\n },\n queries: {\n byKey: { execute: async (id) => dataService.getOne(id), type: AXPEntityQueryType.Single },\n list: {\n execute: async (e) => {\n const res = await dataService.query(e);\n // enrich hasChild for tree views if childCount is available\n return {\n items: res.items.map((item) => ({ ...item, hasChild: (item.childCount ?? 0) > 0 })),\n total: res.total,\n };\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basic-info' },\n ...(enableAppearance ? [{ id: 'appearance' }] : []),\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n // Appearance properties (only if enabled)\n ...(enableAppearance ? [\n { name: 'color', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'icon', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n ] : []),\n ],\n },\n update: {\n sections: [\n { id: 'basic-info' },\n ...(enableAppearance ? [{ id: 'appearance' }] : []),\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n // Appearance properties (only if enabled)\n ...(enableAppearance ? [\n { name: 'color', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'icon', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n ] : []),\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n ...(enableAppearance ? [{ id: 'appearance', layout: { positions: { lg: { colSpan: 12 } } } }] : []),\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n // Appearance properties (only if enabled)\n ...(enableAppearance ? [\n { name: 'color', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'icon', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n ] : []),\n ],\n actions: [entityMasterDeleteAction()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n }\n return null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMEntityCategoryProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMEntityCategoryProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMEntityCategoryProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbi9lbnRpdHkucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUYsT0FBTyxFQUlMLGtDQUFrQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRzFELE1BQU0sT0FBTyx5QkFBeUI7SUFEdEM7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBbU5yQztJQWpOUSxPQUFPO1FBQ1osT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzlDLDhEQUE4RDtRQUM5RCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE9BQU8sR0FBRyxHQUFHLFVBQVUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM5QyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksd0JBQXdCLENBQVcsT0FBTyxDQUFDLENBQUMsQ0FB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QUVGLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBbk5VLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlRdWVyeVR5cGUsIGNyZWF0ZUFsbFF1ZXJ5VmlldyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eURlZmluaXRpb25Mb2FkZXIsXG4gIEFYUEVudGl0eURlZmluaXRpb25QcmVsb2FkZXIsXG4gIEFYUEVudGl0eVByZWxvYWRFbnRpdHksXG4gIEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsLCBlbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucywgZW50aXR5TWFzdGVyRGVsZXRlQWN0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUVudGl0eUNhdGVnb3J5UHJvdmlkZXIgaW1wbGVtZW50cyBBWFBFbnRpdHlEZWZpbml0aW9uTG9hZGVyLCBBWFBFbnRpdHlEZWZpbml0aW9uUHJlbG9hZGVyIHtcbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHVibGljIHByZWxvYWQoKTogQVhQRW50aXR5UHJlbG9hZEVudGl0eVtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBhc3luYyBnZXQobW9kdWxlTmFtZTogc3RyaW5nLCBlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgICAvLyBHZW5lcmljIHBlci1lbnRpdHkgQ2F0ZWdvcnkgcHJvdmlkZXIgKHdvcmtzIGZvciBhbnkgbW9kdWxlKVxuICAgIGlmIChlbnRpdHlOYW1lLmVuZHNXaXRoKCdDYXRlZ29yeScpKSB7XG4gICAgICBjb25zdCBmdWxsS2V5ID0gYCR7bW9kdWxlTmFtZX0uJHtlbnRpdHlOYW1lfWA7XG4gICAgICBjb25zdCBkYXRhU2VydmljZSA9IHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiBuZXcgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPGFueSwgYW55PihmdWxsS2V5KSk7XG5cbiAgICAgIC8vIENoZWNrIGlmIGJhc2UgZW50aXR5IGhhcyBhcHBlYXJhbmNlIGVuYWJsZWQgdXNpbmcgbGF6eSBpbmplY3Rpb25cbiAgICAgIGNvbnN0IGJhc2VFbnRpdHlOYW1lID0gZW50aXR5TmFtZS5yZXBsYWNlKCdDYXRlZ29yeScsICcnKTtcbiAgICAgIGxldCBlbmFibGVBcHBlYXJhbmNlID0gZmFsc2U7XG4gICAgICBsZXQgZW5hYmxlTWV0YURhdGFTZWxlY3RvciA9IGZhbHNlO1xuXG4gICAgICB0cnkge1xuICAgICAgICAvLyBVc2UgbGF6eSBpbmplY3Rpb24gdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeVxuICAgICAgICBjb25zdCBlbnRpdHlSZWdpc3RyeSA9IHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChlbnRpdHlSZWdpc3RyeSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlRW50aXR5ID0gYXdhaXQgZW50aXR5UmVnaXN0cnkucmVzb2x2ZShtb2R1bGVOYW1lLCBiYXNlRW50aXR5TmFtZSk7XG4gICAgICAgICAgICBpZiAoKGJhc2VFbnRpdHkgYXMgYW55KT8uZXh0ZW5zaW9ucz8uY2F0ZWdvcnk/LmVuYWJsZUFwcGVhcmFuY2UpIHtcbiAgICAgICAgICAgICAgZW5hYmxlQXBwZWFyYW5jZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKGJhc2VFbnRpdHkgYXMgYW55KT8uZXh0ZW5zaW9ucz8uY2F0ZWdvcnk/LmVuYWJsZU1ldGFEYXRhU2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgZW5hYmxlTWV0YURhdGFTZWxlY3RvciA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIEJhc2UgZW50aXR5IG5vdCBmb3VuZCBvciBlcnJvciBsb2FkaW5nLCBjb250aW51ZSB3aXRoIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgQ291bGQgbm90IGxvYWQgYmFzZSBlbnRpdHkgJHttb2R1bGVOYW1lfS4ke2Jhc2VFbnRpdHlOYW1lfSB0byBjaGVjayBjYXRlZ29yeSBwbHVnaW4gY29uZmlndXJhdGlvbjpgLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBSZWdpc3RyeSBub3QgYXZhaWxhYmxlLCBjb250aW51ZSB3aXRoIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgICAgY29uc29sZS53YXJuKGBFbnRpdHkgcmVnaXN0cnkgbm90IGF2YWlsYWJsZSwgdXNpbmcgZGVmYXVsdCBjYXRlZ29yeSBjb25maWd1cmF0aW9uOmAsIGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgICAgIG1vZHVsZTogbW9kdWxlTmFtZSxcbiAgICAgICAgbmFtZTogZW50aXR5TmFtZSxcbiAgICAgICAgcGFyZW50S2V5OiAncGFyZW50SWQnLFxuICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgLy8geyBuYW1lOiAnbG9jaycgfSxcbiAgICAgICAgICAvLyB7IG5hbWU6ICdjb21wYXJlJyB9LFxuICAgICAgICAgIC4uLihlbmFibGVNZXRhRGF0YVNlbGVjdG9yID8gW3sgbmFtZTogJ21ldGEtZGF0YS1zZWxlY3RvcicgfV0gOiBbXSksXG4gICAgICAgIF0sXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2xhc3NpZmljYXRpb24uY2F0ZWdvcnknLFxuICAgICAgICBmb3JtYXRzOiB7XG4gICAgICAgICAgaW5kaXZpZHVhbDogJ0BnZW5lcmFsOnRlcm1zLmNsYXNzaWZpY2F0aW9uLmNhdGVnb3J5JyxcbiAgICAgICAgICBwbHVyYWw6ICdAZ2VuZXJhbDp0ZXJtcy5jbGFzc2lmaWNhdGlvbi5jYXRlZ29yaWVzJyxcbiAgICAgICAgICBzZWFyY2hSZXN1bHQ6IHtcbiAgICAgICAgICAgIHRpdGxlOiAne3sgdGl0bGUgfX0nLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICd7eyBtb2R1bGUgfX0nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgICAgIGdyb3VwczogW1xuICAgICAgICAgIHsgaWQ6ICdiYXNpYy1pbmZvJywgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pbnRlcmZhY2UuYmFzaWMtaW5mbycgfSxcbiAgICAgICAgICAuLi4oZW5hYmxlQXBwZWFyYW5jZSA/IFt7IGlkOiAnYXBwZWFyYW5jZScsIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuaW50ZXJmYWNlLmFwcGVhcmFuY2UnIH1dIDogW10pLFxuICAgICAgICBdLFxuICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLnRpdGxlJyxcbiAgICAgICAgICAgIGdyb3VwSWQ6ICdiYXNpYy1pbmZvJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgc29ydDogeyBlbmFibGVkOiB0cnVlIH0sXG4gICAgICAgICAgICAgIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSwgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNjaGVtYTogeyBkYXRhVHlwZTogJ3N0cmluZycsIGludGVyZmFjZTogeyB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0IH0gfSxcbiAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbeyBydWxlOiAncmVxdWlyZWQnIH1dLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3BhcmVudElkJyxcbiAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2xhc3NpZmljYXRpb24ucGFyZW50JyxcbiAgICAgICAgICAgIGdyb3VwSWQ6ICdiYXNpYy1pbmZvJyxcbiAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuTG9va3VwQm94LFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHsgZW50aXR5OiBgJHttb2R1bGVOYW1lfS4ke2VudGl0eU5hbWV9YCB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdkZXNjcmlwdGlvbicsXG4gICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5kZXNjcmlwdGlvbicsXG4gICAgICAgICAgICBncm91cElkOiAnYmFzaWMtaW5mbycsXG4gICAgICAgICAgICBzY2hlbWE6IHsgZGF0YVR5cGU6ICdzdHJpbmcnLCBpbnRlcmZhY2U6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cubGFyZ2VUZXh0IH0gfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIEFwcGVhcmFuY2UgcHJvcGVydGllcyAob25seSBpZiBlbmFibGVkKVxuICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnY29sb3InLFxuICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5jb2xvcicsXG4gICAgICAgICAgICAgIGdyb3VwSWQ6ICdhcHBlYXJhbmNlJyxcbiAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuVGhlbWUuVGhlbWVDb2xvckNob29zZXIsXG4gICAgICAgICAgICAgICAgICBvcHRpb25zOiB7fSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2ljb24nLFxuICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5pY29uJyxcbiAgICAgICAgICAgICAgZ3JvdXBJZDogJ2FwcGVhcmFuY2UnLFxuICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5UaGVtZS5JY29uQ2hvb3NlcixcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0gOiBbXSksXG4gICAgICAgIF0sXG4gICAgICAgIGNvbHVtbnM6IFt7IG5hbWU6ICd0aXRsZScgfSwgeyBuYW1lOiAnZGVzY3JpcHRpb24nIH1dLFxuICAgICAgICBjb21tYW5kczoge1xuICAgICAgICAgIGNyZWF0ZTogeyBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiAoeyBpZDogYXdhaXQgZGF0YVNlcnZpY2UuaW5zZXJ0T25lKGRhdGEpIH0pIH0sXG4gICAgICAgICAgZGVsZXRlOiB7IGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpIH0sXG4gICAgICAgICAgdXBkYXRlOiB7IGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IGRhdGFTZXJ2aWNlLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKSB9LFxuICAgICAgICB9LFxuICAgICAgICBxdWVyaWVzOiB7XG4gICAgICAgICAgYnlLZXk6IHsgZXhlY3V0ZTogYXN5bmMgKGlkOiBzdHJpbmcpID0+IGRhdGFTZXJ2aWNlLmdldE9uZShpZCksIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUgfSxcbiAgICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgICBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KGUpO1xuICAgICAgICAgICAgICAvLyBlbnJpY2ggaGFzQ2hpbGQgZm9yIHRyZWUgdmlld3MgaWYgY2hpbGRDb3VudCBpcyBhdmFpbGFibGVcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpdGVtczogcmVzLml0ZW1zLm1hcCgoaXRlbTogYW55KSA9PiAoeyAuLi5pdGVtLCBoYXNDaGlsZDogKGl0ZW0uY2hpbGRDb3VudCA/PyAwKSA+IDAgfSkpLFxuICAgICAgICAgICAgICAgIHRvdGFsOiByZXMudG90YWwsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLkxpc3QsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgaW50ZXJmYWNlczoge1xuICAgICAgICAgIG1hc3Rlcjoge1xuICAgICAgICAgICAgY3JlYXRlOiB7XG4gICAgICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgeyBpZDogJ2Jhc2ljLWluZm8nIH0sXG4gICAgICAgICAgICAgICAgLi4uKGVuYWJsZUFwcGVhcmFuY2UgPyBbeyBpZDogJ2FwcGVhcmFuY2UnIH1dIDogW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMSB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3BhcmVudElkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDIgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAzIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgLy8gQXBwZWFyYW5jZSBwcm9wZXJ0aWVzIChvbmx5IGlmIGVuYWJsZWQpXG4gICAgICAgICAgICAgICAgLi4uKGVuYWJsZUFwcGVhcmFuY2UgPyBbXG4gICAgICAgICAgICAgICAgICB7IG5hbWU6ICdjb2xvcicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA0IH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgICB7IG5hbWU6ICdpY29uJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDUgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICBdIDogW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgaWQ6ICdiYXNpYy1pbmZvJyB9LFxuICAgICAgICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW3sgaWQ6ICdhcHBlYXJhbmNlJyB9XSA6IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDEgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdwYXJlbnRJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAyIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMyB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIC8vIEFwcGVhcmFuY2UgcHJvcGVydGllcyAob25seSBpZiBlbmFibGVkKVxuICAgICAgICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW1xuICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnY29sb3InLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogNCB9IH0gfSB9LFxuICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnaWNvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA1IH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgXSA6IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgaWQ6ICdiYXNpYy1pbmZvJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW3sgaWQ6ICdhcHBlYXJhbmNlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiB9IH0gfSB9XSA6IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDEgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdwYXJlbnRJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAyIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMyB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIC8vIEFwcGVhcmFuY2UgcHJvcGVydGllcyAob25seSBpZiBlbmFibGVkKVxuICAgICAgICAgICAgICAgIC4uLihlbmFibGVBcHBlYXJhbmNlID8gW1xuICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnY29sb3InLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogNCB9IH0gfSB9LFxuICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnaWNvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA1IH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgXSA6IFtdKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogW2VudGl0eU1hc3RlckRlbGV0ZUFjdGlvbigpXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucygpXSxcbiAgICAgICAgICAgICAgdmlld3M6IFtjcmVhdGVBbGxRdWVyeVZpZXcoeyBzb3J0czogW3sgbmFtZTogJ3RpdGxlJywgZGlyOiAnYXNjJyB9XSB9KV0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gZW50aXR5RGVmO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { categoryPlugin } from './category.plugin';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXMEntityCategoryProvider } from './entity.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXPCategoryModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCategoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCategoryModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCategoryModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: categoryPlugin },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n multi: true,\n useFactory: () => {\n const provider = {\n define: async (context) => {\n // Generate permissions for any entity that declared category extension\n // We can’t scan registry here reliably at bootstrap; rely on generic pattern per module via wildcard\n // Consumers can still override with module-level providers.\n // No-op here; permissions will be added when category entity is resolved via provideEntity elsewhere if needed.\n },\n };\n return provider;\n },\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityCategoryProvider,\n multi: true,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCategoryModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: categoryPlugin },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n multi: true,\n useFactory: () => {\n const provider = {\n define: async (context) => {\n // Generate permissions for any entity that declared category extension\n // We can’t scan registry here reliably at bootstrap; rely on generic pattern per module via wildcard\n // Consumers can still override with module-level providers.\n // No-op here; permissions will be added when category entity is resolved via provideEntity elsewhere if needed.\n },\n };\n return provider;\n },\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityCategoryProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbi9jYXRlZ29yeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtDQUFrQyxFQUFtQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQTJCOUQsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixhQXhCZjtZQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTtZQUM1RTtnQkFDSSxPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxLQUFLLEVBQUUsSUFBSTtnQkFDWCxVQUFVLEVBQUUsR0FBRyxFQUFFO29CQUNiLE1BQU0sUUFBUSxHQUFvQzt3QkFDOUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTs0QkFDdEIsdUVBQXVFOzRCQUN2RSxxR0FBcUc7NEJBQ3JHLDREQUE0RDs0QkFDNUQsZ0hBQWdIO3dCQUNwSCxDQUFDO3FCQUNKLENBQUM7b0JBQ0YsT0FBTyxRQUFRLENBQUM7Z0JBQ3BCLENBQUM7YUFDSjtZQUNEO2dCQUNJLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSjs7MkZBRVEsaUJBQWlCO2tCQXpCN0IsUUFBUTttQkFBQztvQkFDTixTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFO3dCQUM1RTs0QkFDSSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTs0QkFDWCxVQUFVLEVBQUUsR0FBRyxFQUFFO2dDQUNiLE1BQU0sUUFBUSxHQUFvQztvQ0FDOUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTt3Q0FDdEIsdUVBQXVFO3dDQUN2RSxxR0FBcUc7d0NBQ3JHLDREQUE0RDt3Q0FDNUQsZ0hBQWdIO29DQUNwSCxDQUFDO2lDQUNKLENBQUM7Z0NBQ0YsT0FBTyxRQUFRLENBQUM7NEJBQ3BCLENBQUM7eUJBQ0o7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsUUFBUSxFQUFFLHlCQUF5Qjs0QkFDbkMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgY2F0ZWdvcnlQbHVnaW4gfSBmcm9tICcuL2NhdGVnb3J5LnBsdWdpbic7XG5pbXBvcnQgeyBBWFBfUEVSTUlTU0lPTl9ERUZJTklUSU9OX1BST1ZJREVSLCBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYTUVudGl0eUNhdGVnb3J5UHJvdmlkZXIgfSBmcm9tICcuL2VudGl0eS5wcm92aWRlcic7XG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGNhdGVnb3J5UGx1Z2luIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFYUF9QRVJNSVNTSU9OX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm92aWRlcjogQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciA9IHtcbiAgICAgICAgICAgICAgICAgICAgZGVmaW5lOiBhc3luYyAoY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gR2VuZXJhdGUgcGVybWlzc2lvbnMgZm9yIGFueSBlbnRpdHkgdGhhdCBkZWNsYXJlZCBjYXRlZ29yeSBleHRlbnNpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGNhbuKAmXQgc2NhbiByZWdpc3RyeSBoZXJlIHJlbGlhYmx5IGF0IGJvb3RzdHJhcDsgcmVseSBvbiBnZW5lcmljIHBhdHRlcm4gcGVyIG1vZHVsZSB2aWEgd2lsZGNhcmRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnN1bWVycyBjYW4gc3RpbGwgb3ZlcnJpZGUgd2l0aCBtb2R1bGUtbGV2ZWwgcHJvdmlkZXJzLlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm8tb3AgaGVyZTsgcGVybWlzc2lvbnMgd2lsbCBiZSBhZGRlZCB3aGVuIGNhdGVnb3J5IGVudGl0eSBpcyByZXNvbHZlZCB2aWEgcHJvdmlkZUVudGl0eSBlbHNld2hlcmUgaWYgbmVlZGVkLlxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3ZpZGVyO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBBWE1FbnRpdHlDYXRlZ29yeVByb3ZpZGVyLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ2F0ZWdvcnlNb2R1bGUgeyB9XG5cblxuIl19","import { AXPEntityCommandScope } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nexport const clonePlugin = {\n name: 'clone',\n order: 60,\n apply: (ctx) => {\n ensureListActions(ctx);\n ctx.interfaces.update((i) => {\n const cmdName = 'clone-entity';\n // Add clone action to list view\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, cmdName)) {\n listActions.push({\n title: '@general:actions.clone.title',\n command: {\n name: cmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'copy',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n // Add clone action to single view\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, cmdName)) {\n singleActions.push({\n title: '@general:actions.clone.title',\n command: {\n name: cmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'copy',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n return i;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2Nsb25lLXBsdWdpbi9jbG9uZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBeUIsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEcsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUEwQjtJQUM5QyxJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDWCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQztZQUUvQixnQ0FBZ0M7WUFDaEMsTUFBTSxXQUFXLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEIsQ0FBQztZQUN4RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSw4QkFBOEI7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsTUFBTTtvQkFDWixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELGtDQUFrQztZQUNsQyxNQUFNLGFBQWEsR0FBSSxDQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUE0QixJQUFJLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNmLEtBQUssRUFBRSw4QkFBOEI7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsTUFBTTtvQkFDWixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELE9BQU8sQ0FBUSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eUFjdGlvblBsdWdpbiwgZW5zdXJlTGlzdEFjdGlvbnMsIGFjdGlvbkV4aXN0cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBjbG9uZVBsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICAgIG5hbWU6ICdjbG9uZScsXG4gICAgb3JkZXI6IDYwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLnVwZGF0ZSgoaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY21kTmFtZSA9ICdjbG9uZS1lbnRpdHknO1xuXG4gICAgICAgICAgICAvLyBBZGQgY2xvbmUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgY29uc3QgbGlzdEFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlci5saXN0LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgY21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmNsb25lLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NvcHknLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBjbG9uZSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgY21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBzaW5nbGVBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMuY2xvbmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnY29weScsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcbiAgICB9LFxufTtcbiJdfQ==","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityClonedEvent = createWorkFlowEvent('[Entity] Cloned');\nexport class AXPEntityCloneAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.clone.confirm.title'), await this.translationService.translateAsync('@general:actions.clone.confirm.message'), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.clone.confirm.processing'),\n mode: 'indeterminate',\n status: 'Cloning...',\n });\n try {\n // Get the original entity data\n const originalData = await this.getEntityData(refType, refId);\n // Clone the data (remove id and other unique fields)\n const clonedData = this.prepareClonedData(originalData, entityDefinition);\n // Create the new entity\n if (entityDefinition.commands?.create) {\n const createExec = entityDefinition.commands.create.execute;\n const newId = await createExec(clonedData);\n context.setOutput('originalId', refId);\n context.setOutput('newId', newId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && clonedData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: clonedData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support create operation');\n }\n }\n catch (error) {\n console.error('Clone operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareClonedData(originalData, entityDefinition) {\n const clonedData = { ...originalData };\n // Remove unique identifiers and system fields\n delete clonedData.id;\n delete clonedData.createdAt;\n delete clonedData.updatedAt;\n delete clonedData.createdBy;\n delete clonedData.updatedBy;\n delete clonedData.version;\n delete clonedData.isArchived;\n delete clonedData.archivedAt;\n // Update title to indicate it's a clone\n if (clonedData.title) {\n clonedData.title = `${clonedData.title} (Copy)`;\n }\n // Update name to indicate it's a clone\n if (clonedData.name) {\n clonedData.name = `${clonedData.name} (Copy)`;\n }\n // Update code if it exists\n if (clonedData.code) {\n clonedData.code = `${clonedData.code}_COPY`;\n }\n // Handle parent relationships if they exist\n if (entityDefinition.parentKey && clonedData[entityDefinition.parentKey]) {\n // Keep the parent relationship - don't delete\n }\n // Reset status fields to default values\n if (clonedData.isActive !== undefined) {\n clonedData.isActive = true;\n }\n if (clonedData.status !== undefined) {\n clonedData.status = 'draft'; // or appropriate default status\n }\n return clonedData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityCloneSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const originalId = context.getOutput('originalId');\n const newId = context.getOutput('newId');\n const meta = context.getVariable('meta');\n // Dispatch clone event\n this.dispatch(AXPEntityClonedEvent({\n entity: refType,\n originalId,\n newId,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityCloneSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPCloneEntityWorkflow = {\n startStepId: 'clone-entity',\n steps: {\n 'clone-entity': {\n action: 'AXPEntityCloneAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-cloned',\n content: 'workflow.entity-cloned-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'clone-success',\n },\n ],\n },\n 'clone-success': {\n action: 'AXPEntityCloneSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtZW50aXR5LndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2Nsb25lLXBsdWdpbi93b3JrZmxvd3MvY2xvbmUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FDbkQsaUJBQWlCLENBQ3BCLENBQUM7QUFHRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsaUJBQWlCO0lBRDNEOztRQUVZLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQWtJN0Q7SUFoSUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFT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QUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLDBDQUEwQyxFQUFFLENBQUM7b0JBQ3hGLFVBQVUsRUFBRSxvQkFBb0I7aUJBQ25DO2FBQ0o7U0FDSjtRQUNELG9CQUFvQixFQUFFO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNILEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsd0JBQXdCO2dCQUMvQixPQUFPLEVBQUUsNkJBQTZCO2FBQ3pDO1lBQ0QsU0FBUyxFQUFFO2dCQUNQO29CQUNJLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxlQUFlO2lCQUM5QjthQUNKO1NBQ0o7UUFDRCxlQUFlLEVBQUU7WUFDYixNQUFNLEVBQUUsNkJBQTZCO1NBQ3hDO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUmVmcmVzaEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQsIGNyZWF0ZVdvcmtGbG93RXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlDbG9uZWRFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyBlbnRpdHk6IHN0cmluZzsgb3JpZ2luYWxJZDogc3RyaW5nOyBuZXdJZDogc3RyaW5nOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBDbG9uZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUNsb25lQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcblxuICAgICAgICBpZiAoIXJlZklkIHx8ICFyZWZUeXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmSWQgYW5kIHJlZlR5cGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuY2xvbmUuY29uZmlybS50aXRsZScpLFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuY2xvbmUuY29uZmlybS5tZXNzYWdlJyksXG4gICAgICAgICAgICAnd2FybmluZycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmNsb25lLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnQ2xvbmluZy4uLicsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBHZXQgdGhlIG9yaWdpbmFsIGVudGl0eSBkYXRhXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgcmVmSWQpO1xuXG4gICAgICAgICAgICAvLyBDbG9uZSB0aGUgZGF0YSAocmVtb3ZlIGlkIGFuZCBvdGhlciB1bmlxdWUgZmllbGRzKVxuICAgICAgICAgICAgY29uc3QgY2xvbmVkRGF0YSA9IHRoaXMucHJlcGFyZUNsb25lZERhdGEob3JpZ2luYWxEYXRhLCBlbnRpdHlEZWZpbml0aW9uKTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBuZXcgZW50aXR5XG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcz8uY3JlYXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3JlYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMuY3JlYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3SWQgPSBhd2FpdCBjcmVhdGVFeGVjKGNsb25lZERhdGEpO1xuXG4gICAgICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ29yaWdpbmFsSWQnLCByZWZJZCk7XG4gICAgICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ25ld0lkJywgbmV3SWQpO1xuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgZmFsc2UpO1xuXG4gICAgICAgICAgICAgICAgLy8gU2V0IHJlZnJlc2ggbWV0YWRhdGFcbiAgICAgICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5wYXJlbnRLZXkgJiYgY2xvbmVkRGF0YVtlbnRpdHlEZWZpbml0aW9uLnBhcmVudEtleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXRWYXJpYWJsZSgnbWV0YScsIHsgcmVmcmVzaFRhcmdldElkOiBjbG9uZWREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgY3JlYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQ2xvbmUgb3BlcmF0aW9uIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgbG9hZGluZ0RpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRFbnRpdHlEYXRhKHJlZlR5cGU6IHN0cmluZywgcmVmSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBVc2UgdGhlIGVudGl0eSdzIGJ5S2V5IHF1ZXJ5IHRvIGdldCBhY3R1YWwgZGF0YVxuICAgICAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXM/LmJ5S2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzLmJ5S2V5LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHF1ZXJ5RXhlYyhyZWZJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIGJhc2ljIHN0cnVjdHVyZSBpZiBubyBxdWVyeSBhdmFpbGFibGVcbiAgICAgICAgICAgIHJldHVybiB7IGlkOiByZWZJZCB9O1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlQ2xvbmVkRGF0YShvcmlnaW5hbERhdGE6IGFueSwgZW50aXR5RGVmaW5pdGlvbjogQVhQRW50aXR5KTogYW55IHtcbiAgICAgICAgY29uc3QgY2xvbmVkRGF0YSA9IHsgLi4ub3JpZ2luYWxEYXRhIH07XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVuaXF1ZSBpZGVudGlmaWVycyBhbmQgc3lzdGVtIGZpZWxkc1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS5pZDtcbiAgICAgICAgZGVsZXRlIGNsb25lZERhdGEuY3JlYXRlZEF0O1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS51cGRhdGVkQXQ7XG4gICAgICAgIGRlbGV0ZSBjbG9uZWREYXRhLmNyZWF0ZWRCeTtcbiAgICAgICAgZGVsZXRlIGNsb25lZERhdGEudXBkYXRlZEJ5O1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS52ZXJzaW9uO1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS5pc0FyY2hpdmVkO1xuICAgICAgICBkZWxldGUgY2xvbmVkRGF0YS5hcmNoaXZlZEF0O1xuXG4gICAgICAgIC8vIFVwZGF0ZSB0aXRsZSB0byBpbmRpY2F0ZSBpdCdzIGEgY2xvbmVcbiAgICAgICAgaWYgKGNsb25lZERhdGEudGl0bGUpIHtcbiAgICAgICAgICAgIGNsb25lZERhdGEudGl0bGUgPSBgJHtjbG9uZWREYXRhLnRpdGxlfSAoQ29weSlgO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIG5hbWUgdG8gaW5kaWNhdGUgaXQncyBhIGNsb25lXG4gICAgICAgIGlmIChjbG9uZWREYXRhLm5hbWUpIHtcbiAgICAgICAgICAgIGNsb25lZERhdGEubmFtZSA9IGAke2Nsb25lZERhdGEubmFtZX0gKENvcHkpYDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVwZGF0ZSBjb2RlIGlmIGl0IGV4aXN0c1xuICAgICAgICBpZiAoY2xvbmVkRGF0YS5jb2RlKSB7XG4gICAgICAgICAgICBjbG9uZWREYXRhLmNvZGUgPSBgJHtjbG9uZWREYXRhLmNvZGV9X0NPUFlgO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGFuZGxlIHBhcmVudCByZWxhdGlvbnNoaXBzIGlmIHRoZXkgZXhpc3RcbiAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGNsb25lZERhdGFbZW50aXR5RGVmaW5pdGlvbi5wYXJlbnRLZXldKSB7XG4gICAgICAgICAgICAvLyBLZWVwIHRoZSBwYXJlbnQgcmVsYXRpb25zaGlwIC0gZG9uJ3QgZGVsZXRlXG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXNldCBzdGF0dXMgZmllbGRzIHRvIGRlZmF1bHQgdmFsdWVzXG4gICAgICAgIGlmIChjbG9uZWREYXRhLmlzQWN0aXZlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNsb25lZERhdGEuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjbG9uZWREYXRhLnN0YXR1cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjbG9uZWREYXRhLnN0YXR1cyA9ICdkcmFmdCc7IC8vIG9yIGFwcHJvcHJpYXRlIGRlZmF1bHQgc3RhdHVzXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xvbmVkRGF0YTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlDbG9uZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsSWQgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmc+KCdvcmlnaW5hbElkJyk7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nPignbmV3SWQnKTtcbiAgICAgICAgY29uc3QgbWV0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignbWV0YScpO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIGNsb25lIGV2ZW50XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBFbnRpdHlDbG9uZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsSWQsXG4gICAgICAgICAgICAgICAgbmV3SWQsXG4gICAgICAgICAgICAgICAgbWV0YVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUENsb25lRW50aXR5V29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnY2xvbmUtZW50aXR5JyxcbiAgICBzdGVwczoge1xuICAgICAgICAnY2xvbmUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5Q2xvbmVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWNsb25lZCcsXG4gICAgICAgICAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1jbG9uZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ2Nsb25lLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnY2xvbmUtc3VjY2Vzcyc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUNsb25lU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { clonePlugin } from './clone.plugin';\nimport { AXPCloneEntityWorkflow, AXPEntityCloneAction, AXPEntityCloneSuccessAction } from './workflows';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPClonePluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPClonePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPClonePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPClonePluginModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: clonePlugin },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n AXPEntityCloneAction,\n AXPEntityCloneSuccessAction,\n },\n workflows: {\n 'clone-entity': AXPCloneEntityWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPClonePluginModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityCloneAction,\n AXPEntityCloneSuccessAction,\n },\n workflows: {\n 'clone-entity': AXPCloneEntityWorkflow,\n },\n }),\n ],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: clonePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtcGx1Z2luLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jbG9uZS1wbHVnaW4vY2xvbmUtcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQWtCeEcsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixhQUpsQjtZQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtTQUM1RSxZQVpHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztnQkFDdkIsT0FBTyxFQUFFO29CQUNMLG9CQUFvQjtvQkFDcEIsMkJBQTJCO2lCQUM5QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsY0FBYyxFQUFFLHNCQUFzQjtpQkFDekM7YUFDSixDQUFDOzsyRkFNRyxvQkFBb0I7a0JBaEJoQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3ZCLE9BQU8sRUFBRTtnQ0FDTCxvQkFBb0I7Z0NBQ3BCLDJCQUEyQjs2QkFDOUI7NEJBQ0QsU0FBUyxFQUFFO2dDQUNQLGNBQWMsRUFBRSxzQkFBc0I7NkJBQ3pDO3lCQUNKLENBQUM7cUJBQ0w7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtxQkFDNUU7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBjbG9uZVBsdWdpbiB9IGZyb20gJy4vY2xvbmUucGx1Z2luJztcbmltcG9ydCB7IEFYUENsb25lRW50aXR5V29ya2Zsb3csIEFYUEVudGl0eUNsb25lQWN0aW9uLCBBWFBFbnRpdHlDbG9uZVN1Y2Nlc3NBY3Rpb24gfSBmcm9tICcuL3dvcmtmbG93cyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgICAgICBhY3Rpb25zOiB7XG4gICAgICAgICAgICAgICAgQVhQRW50aXR5Q2xvbmVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5Q2xvbmVTdWNjZXNzQWN0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAgICAgICAgICdjbG9uZS1lbnRpdHknOiBBWFBDbG9uZUVudGl0eVdvcmtmbG93LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogY2xvbmVQbHVnaW4gfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBDbG9uZVBsdWdpbk1vZHVsZSB7IH1cbiJdfQ==","import { ensureListActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const colorPlugin = {\n name: 'color',\n order: 70,\n apply: (ctx, options) => {\n ensureListActions(ctx);\n const groupId = 'appearance';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.appearance' });\n }\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'color')) {\n ctx.properties.add({\n name: 'color',\n title: '@general:terms.common.color',\n groupId,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.ColorPalette,\n options: {\n swatches: options?.swatches,\n },\n },\n },\n validations: [],\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: false },\n inline: { enabled: false },\n },\n },\n });\n }\n //#region ---- Add Column to List View ----\n // Add color column to list view if enabled (default: true)\n const columnEnabled = options?.column?.enabled ?? true;\n if (columnEnabled) {\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'color')) {\n ctx.columns.add({\n name: 'color',\n title: '@general:terms.common.color',\n sort: { enabled: false },\n options: {\n visible: options?.column?.visible ?? true,\n width: `${options?.column?.width ?? 120}px`,\n },\n });\n }\n }\n //#endregion\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'color')) {\n next.properties.push({\n name: 'color',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'color')) {\n next.properties.push({\n name: 'color',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'color')) {\n next.properties.push({\n name: 'color',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NvbG9yLXBsdWdpbi9jb2xvci5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQWdCMUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUEwQjtJQUNoRCxJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLE9BQStCLEVBQUUsRUFBRTtRQUM5QyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV2QixNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7UUFDN0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLHFDQUFxQyxFQUFTLENBQUMsQ0FBQztRQUN2RixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2hELEdBQUcsQ0FBQyxVQUFV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QUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2pGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO29CQUNuQixJQUFJLEVBQUUsT0FBTztvQkFDYixNQUFNLEVBQUU7d0JBQ04sU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO3FCQUNsQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XHJcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29sb3JQbHVnaW5PcHRpb25zIHtcclxuICAvKipcclxuICAgKiBDb2xvciBzd2F0Y2hlcyB0byBkaXNwbGF5IGluIHRoZSBwYWxldHRlXHJcbiAgICogLSBTdHJpbmc6IFBhbGV0dGUgbmFtZSB0byByZXNvbHZlIGZyb20gQVhQQ29sb3JQYWxldHRlU2VydmljZVxyXG4gICAqIC0gU3RyaW5nW106IERpcmVjdCBhcnJheSBvZiBjb2xvciBjb2Rlc1xyXG4gICAqL1xyXG4gIHN3YXRjaGVzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgY29sdW1uPzoge1xyXG4gICAgZW5hYmxlZD86IGJvb2xlYW47IC8vIGRlZmF1bHQ6IHRydWVcclxuICAgIHZpc2libGU/OiBib29sZWFuOyAvLyBkZWZhdWx0OiB0cnVlXHJcbiAgICB3aWR0aD86IG51bWJlcjsgLy8gZGVmYXVsdDogMTIwXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbG9yUGx1Z2luOiBBWFBFbnRpdHlBY3Rpb25QbHVnaW4gPSB7XHJcbiAgbmFtZTogJ2NvbG9yJyxcclxuICBvcmRlcjogNzAsXHJcbiAgYXBwbHk6IChjdHgsIG9wdGlvbnM/OiBBWFBDb2xvclBsdWdpbk9wdGlvbnMpID0+IHtcclxuICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XHJcblxyXG4gICAgY29uc3QgZ3JvdXBJZCA9ICdhcHBlYXJhbmNlJztcclxuICAgIGNvbnN0IGdyb3VwcyA9IGN0eC5ncm91cHMubGlzdCgpID8/IFtdO1xyXG4gICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICBjdHguZ3JvdXBzLmFkZCh7IGlkOiBncm91cElkLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmludGVyZmFjZS5hcHBlYXJhbmNlJyB9IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XHJcbiAgICBpZiAoIXByb3BzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnY29sb3InKSkge1xyXG4gICAgICBjdHgucHJvcGVydGllcy5hZGQoe1xyXG4gICAgICAgIG5hbWU6ICdjb2xvcicsXHJcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24uY29sb3InLFxyXG4gICAgICAgIGdyb3VwSWQsXHJcbiAgICAgICAgc2NoZW1hOiB7XHJcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcclxuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5Db2xvclBhbGV0dGUsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICBzd2F0Y2hlczogb3B0aW9ucz8uc3dhdGNoZXMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtdLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogZmFsc2UgfSxcclxuICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICBhZHZhbmNlOiB7IGVuYWJsZWQ6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgIGlubGluZTogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgQ29sdW1uIHRvIExpc3QgVmlldyAgIC0tLS1cclxuXHJcbiAgICAvLyBBZGQgY29sb3IgY29sdW1uIHRvIGxpc3QgdmlldyBpZiBlbmFibGVkIChkZWZhdWx0OiB0cnVlKVxyXG4gICAgY29uc3QgY29sdW1uRW5hYmxlZCA9IG9wdGlvbnM/LmNvbHVtbj8uZW5hYmxlZCA/PyB0cnVlO1xyXG4gICAgaWYgKGNvbHVtbkVuYWJsZWQpIHtcclxuICAgICAgY29uc3QgY29sdW1ucyA9IGN0eC5jb2x1bW5zLmxpc3QoKSA/PyBbXTtcclxuICAgICAgaWYgKCFjb2x1bW5zLnNvbWUoKGM6IGFueSkgPT4gYy5uYW1lID09PSAnY29sb3InKSkge1xyXG4gICAgICAgIGN0eC5jb2x1bW5zLmFkZCh7XHJcbiAgICAgICAgICBuYW1lOiAnY29sb3InLFxyXG4gICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tb24uY29sb3InLFxyXG4gICAgICAgICAgc29ydDogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICB2aXNpYmxlOiBvcHRpb25zPy5jb2x1bW4/LnZpc2libGUgPz8gdHJ1ZSxcclxuICAgICAgICAgICAgd2lkdGg6IGAke29wdGlvbnM/LmNvbHVtbj8ud2lkdGggPz8gMTIwfXB4YCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuY3JlYXRlLnVwZGF0ZSgoY3JlYXRlKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5leHQgPSBjcmVhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdjb2xvcicpKSB7XHJcbiAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogJ2NvbG9yJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXh0O1xyXG4gICAgfSk7XHJcblxyXG4gICAgY3R4LmludGVyZmFjZXMubWFzdGVyLm1vZGlmeS51cGRhdGUoKHVwZGF0ZSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXh0ID0gdXBkYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xyXG4gICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcclxuICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCB9KTtcclxuICAgICAgfVxyXG4gICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XHJcbiAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnY29sb3InKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdjb2xvcicsXHJcbiAgICAgICAgICBsYXlvdXQ6IHtcclxuICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dDtcclxuICAgIH0pO1xyXG5cclxuICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5zaW5nbGUudXBkYXRlKChzaW5nbGUpID0+IHtcclxuICAgICAgY29uc3QgbmV4dCA9IHNpbmdsZSA/PyB7IHRpdGxlOiBjdHguZW50aXR5LnRpdGxlLCBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdjb2xvcicpKSB7XHJcbiAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogJ2NvbG9yJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXh0O1xyXG4gICAgfSk7XHJcbiAgfSxcclxufTtcclxuIl19","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { colorPlugin } from './color.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPColorPluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPColorPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPColorPluginModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPColorPluginModule, providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: colorPlugin }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPColorPluginModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [],\n exports: [],\n providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: colorPlugin }],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGx1Z2luLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb2xvci1wbHVnaW4vY29sb3ItcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRN0MsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixhQUZwQixDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDOzsyRkFFM0Usb0JBQW9CO2tCQU5oQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztpQkFDdkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2xvclBsdWdpbiB9IGZyb20gJy4vY29sb3IucGx1Z2luJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBpbXBvcnRzOiBbXSxcclxuICBleHBvcnRzOiBbXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBjb2xvclBsdWdpbiB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUENvbG9yUGx1Z2luTW9kdWxlIHt9XHJcbiJdfQ==","import { Component, ViewEncapsulation, input, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPCompareViewComponent } from '@acorex/platform/layout/components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\nexport class AXPComparePopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.inputs = input(...(ngDevMode ? [undefined, { debugName: \"inputs\" }] : []));\n this.isBusy = signal(false, ...(ngDevMode ? [{ debugName: \"isBusy\" }] : []));\n this.mode = input('compare', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n }\n ngOnInit() {\n super.ngOnInit();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComparePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: AXPComparePopupComponent, isStandalone: true, selector: \"axp-compare-popup\", inputs: { inputs: { classPropertyName: \"inputs\", publicName: \"inputs\", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: \"mode\", publicName: \"mode\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], usesInheritance: true, ngImport: i0, template: \"<ax-content>\\n <div class=\\\"ax-p-6 ax-min-h-[30vh] ax-overflow-y-auto\\\">\\n <axp-compare-view [inputs]=\\\"inputs()\\\" [mode]=\\\"mode()\\\"></axp-compare-view>\\n </div>\\n</ax-content>\\n<ax-footer>\\n <ax-prefix></ax-prefix>\\n <ax-suffix>\\n <ax-button\\n [text]=\\\"'@general:actions.close.title' | translate | async\\\"\\n look=\\\"solid\\\"\\n color=\\\"primary\\\"\\n (onClick)=\\\"close()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\", dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"ngmodule\", type: \n // ACoreX\n AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"component\", type: \n // Compare View\n AXPCompareViewComponent, selector: \"axp-compare-view\", inputs: [\"inputs\", \"mode\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComparePopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-compare-popup', standalone: true, imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n // Compare View\n AXPCompareViewComponent\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<ax-content>\\n <div class=\\\"ax-p-6 ax-min-h-[30vh] ax-overflow-y-auto\\\">\\n <axp-compare-view [inputs]=\\\"inputs()\\\" [mode]=\\\"mode()\\\"></axp-compare-view>\\n </div>\\n</ax-content>\\n<ax-footer>\\n <ax-prefix></ax-prefix>\\n <ax-suffix>\\n <ax-button\\n [text]=\\\"'@general:actions.close.title' | translate | async\\\"\\n look=\\\"solid\\\"\\n color=\\\"primary\\\"\\n (onClick)=\\\"close()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb21wYXJlL2NvbXBhcmUtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUE0QyxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFtQnZILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxtQkFBbUI7SUFqQmpFOztRQWtCSSxXQUFNLEdBQUcsS0FBSyw0REFBd0IsQ0FBQztRQUN2QyxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssa0RBQUMsQ0FBQztRQUN2QixTQUFJLEdBQUcsS0FBSyxDQUFxQixTQUFTLGdEQUFDLENBQUM7S0FLL0M7SUFIWSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBUFEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNFRBRnRCLEVBQUUsaURDeEJqQix3Y0FpQkE7Z0JESlEsVUFBVTtnQkFDVixZQUFZO2dCQUNaLFNBQVM7Z0JBQ1QsaUJBQWlCLHFQQUNqQixjQUFjLDZYQUNkLG1CQUFtQjtnQkFDbkIsZUFBZTtnQkFDZix1QkFBdUI7OzJGQU1sQix3QkFBd0I7a0JBakJwQyxTQUFTOytCQUNJLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZix1QkFBdUI7cUJBQzFCLGlCQUVjLGlCQUFpQixDQUFDLElBQUksYUFDMUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGlucHV0LCBzaWduYWwsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQQ29tcGFyZVZpZXdDb21wb25lbnQsIEFYUENvbXBhcmVWaWV3SW5wdXRzLCBBWFBDb21wYXJlVmlld01vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtY29tcGFyZS1wb3B1cCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAvLyBBQ29yZVhcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgICAgICAvLyBDb21wYXJlIFZpZXdcbiAgICAgICAgQVhQQ29tcGFyZVZpZXdDb21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21wYXJlLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBhcmVQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlucHV0cyA9IGlucHV0PEFYUENvbXBhcmVWaWV3SW5wdXRzPigpO1xuICAgIGlzQnVzeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgbW9kZSA9IGlucHV0PEFYUENvbXBhcmVWaWV3TW9kZT4oJ2NvbXBhcmUnKTtcblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cbn0gIiwiPGF4LWNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJheC1wLTYgYXgtbWluLWgtWzMwdmhdIGF4LW92ZXJmbG93LXktYXV0b1wiPlxuICAgIDxheHAtY29tcGFyZS12aWV3IFtpbnB1dHNdPVwiaW5wdXRzKClcIiBbbW9kZV09XCJtb2RlKClcIj48L2F4cC1jb21wYXJlLXZpZXc+XG4gIDwvZGl2PlxuPC9heC1jb250ZW50PlxuPGF4LWZvb3Rlcj5cbiAgPGF4LXByZWZpeD48L2F4LXByZWZpeD5cbiAgPGF4LXN1ZmZpeD5cbiAgICA8YXgtYnV0dG9uXG4gICAgICBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5jbG9zZS50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICBsb29rPVwic29saWRcIlxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIChvbkNsaWNrKT1cImNsb3NlKClcIlxuICAgID5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgPC9heC1zdWZmaXg+XG48L2F4LWZvb3Rlcj5cbiJdfQ==","import { AXPWorkflowAction } from \"@acorex/platform/workflow\";\nimport { inject, Injectable, signal } from \"@angular/core\";\nimport { AXPopupService } from \"@acorex/components/popup\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { AXPEntityDefinitionRegistryService } from \"@acorex/platform/layout/entity\";\nimport { AXPVersioningService } from \"@acorex/platform/common\";\nimport { AXFormatService } from \"@acorex/core/format\";\nimport * as i0 from \"@angular/core\";\nexport class AXMComparePopupStartAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translate = inject(AXTranslationService);\n }\n async execute(context) {\n const comp = (await import('../compare-popup.component')).AXPComparePopupComponent;\n this.popupService.open(comp, {\n title: await this.translate.translateAsync('Compare'),\n size: 'lg',\n data: {\n inputs: signal(context.getVariable('inputs')),\n mode: signal(context.getVariable('mode')),\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMComparePopupStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMComparePopupStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMComparePopupStartAction, decorators: [{\n type: Injectable\n }] });\nexport class AXMCompareEntityRecordsAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistry = inject(AXPEntityDefinitionRegistryService);\n }\n async execute(context) {\n const [moduleName, entityName] = context.getVariable('entity').split('.');\n const entityRef = await this.entityRegistry.resolve(moduleName, entityName);\n const records = context.getVariable('data');\n const ids = records?.map((r) => r.id);\n const getById = entityRef.queries.byKey?.execute;\n //\n const fields = entityRef.properties\n .filter(p => p.schema.interface && p.schema.hidden != true)\n .map((p) => ({\n path: p.name,\n title: p.title,\n description: p.description,\n widget: {\n type: p.schema.interface?.type,\n name: p.name,\n path: p.name,\n options: p.schema.interface?.options,\n },\n }));\n const objects = await Promise.all(ids.map(async (c) => {\n const object = await getById(c);\n return {\n id: object.id,\n title: object.title,\n description: object.description,\n context: object,\n };\n }));\n const inputs = {\n fields: fields,\n objects: objects,\n };\n //\n context.setVariable('inputs', inputs);\n context.setVariable('mode', 'records');\n context.setOutput('result', true);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordsAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordsAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordsAction, decorators: [{\n type: Injectable\n }] });\nexport class AXMCompareEntityRecordVersionsAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistry = inject(AXPEntityDefinitionRegistryService);\n this.versioning = inject(AXPVersioningService);\n this.formatService = inject(AXFormatService);\n this.translate = inject(AXTranslationService);\n }\n async execute(context) {\n const [moduleName, entityName] = context.getVariable('entity').split('.');\n const entityRef = await this.entityRegistry.resolve(moduleName, entityName);\n const refId = context.getVariable('data.refId');\n const refType = context.getVariable('data.refType');\n const ids = context.getVariable('data.ids');\n const streamId = await this.versioning.getStreamIdIfExists(refType, refId);\n const histories = streamId ? (await this.versioning.listEntries(streamId)).filter((e) => ids.includes(e.id)) : [];\n //\n const fields = entityRef.properties\n .filter(p => p.schema.interface && p.schema.hidden != true)\n .map((p) => ({\n path: p.name,\n title: p.title,\n description: p.description,\n widget: {\n type: p.schema.interface?.type,\n name: p.name,\n path: p.name,\n options: p.schema.interface?.options,\n },\n }));\n const objects = await Promise.all(histories.map(async (h) => {\n const title = await this.translate.translateAsync(`@activity-log:${h.changeType === 'Create' ? 'created' : (h.changeType === 'Delete' ? 'deleted' : 'updated')}-by-title`, {\n params: {\n user: h.changedBy ?? 'system',\n date: this.formatService.format(new Date(h.changedAt), 'datetime', { format: 'short' }),\n }\n });\n const snapshot = structuredClone(h.snapshotJson ?? {});\n return {\n id: h.id,\n title,\n description: h.changedBy ?? 'system',\n context: snapshot,\n };\n }));\n const inputs = {\n fields: fields,\n objects: objects,\n };\n //\n context.setVariable('inputs', inputs);\n context.setVariable('mode', 'changes');\n context.setOutput('result', true);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction, decorators: [{\n type: Injectable\n }] });\nexport const AXMCompareEntityRecordsWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'show-entity-records-compare-action',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-popup',\n }\n ],\n },\n 'show-popup': {\n action: 'show-compare-popup-action',\n },\n },\n};\nexport const AXMCompareEntityRecordVersionsWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'show-entity-record-versions-compare-action',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-popup',\n }\n ],\n },\n 'show-popup': {\n action: 'show-compare-popup-action',\n },\n },\n};\n// Utilities\nfunction getByPath(obj, path) {\n const parts = path.split('.');\n let curr = obj;\n for (const p of parts) {\n if (curr == null)\n return undefined;\n curr = curr[p];\n }\n return curr;\n}\nfunction setByPath(obj, path, value) {\n const parts = path.split('.');\n let curr = obj;\n for (let i = 0; i < parts.length - 1; i++) {\n const p = parts[i];\n if (curr[p] == null)\n curr[p] = {};\n curr = curr[p];\n }\n curr[parts[parts.length - 1]] = value;\n}\nfunction mapFilesForView(files) {\n return files.map((f) => ({\n id: f.id,\n name: f.name,\n size: f.size,\n status: 'remote',\n source: { kind: 'url', value: f.url },\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb21wYXJlL3dvcmtmbG93cy9jb21wYXJlLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFJdEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FhcEQ7SUFYWSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQzlDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO1FBQ25GLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QixLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJ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Q0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLEtBQVk7SUFDakMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFrQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7UUFDUixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDWixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDWixNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFO0tBQ3hDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9wb3B1cFwiO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uXCI7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eVwiO1xuaW1wb3J0IHsgQVhQQ29tcGFyZVZpZXdGaWVsZCwgQVhQQ29tcGFyZVZpZXdJbnB1dHMsIEFYUENvbXBhcmVWaWV3TW9kZSwgQVhQQ29tcGFyZVZpZXdPYmplY3QgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgQVhQVmVyc2lvbmluZ1NlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb21tb25cIjtcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvZm9ybWF0XCI7XG5pbXBvcnQgeyBBWFBGaWxlTGlzdEl0ZW0gfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Db21wYXJlUG9wdXBTdGFydEFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY29tcCA9IChhd2FpdCBpbXBvcnQoJy4uL2NvbXBhcmUtcG9wdXAuY29tcG9uZW50JykpLkFYUENvbXBhcmVQb3B1cENvbXBvbmVudDtcbiAgICAgICAgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCB7XG4gICAgICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGUudHJhbnNsYXRlQXN5bmMoJ0NvbXBhcmUnKSxcbiAgICAgICAgICAgIHNpemU6ICdsZycsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgaW5wdXRzOiBzaWduYWwoY29udGV4dC5nZXRWYXJpYWJsZSgnaW5wdXRzJykpLFxuICAgICAgICAgICAgICAgIG1vZGU6IHNpZ25hbChjb250ZXh0LmdldFZhcmlhYmxlKCdtb2RlJykgYXMgQVhQQ29tcGFyZVZpZXdNb2RlKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRzQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0cnkgPSBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG5cbiAgICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ2VudGl0eScpLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eVJlZiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0cnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICAgICAgY29uc3QgcmVjb3JkcyA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignZGF0YScpIGFzIGFueVtdO1xuICAgICAgICBjb25zdCBpZHMgPSByZWNvcmRzPy5tYXAoKHI6IGFueSkgPT4gci5pZCkgYXMgc3RyaW5nW107XG4gICAgICAgIGNvbnN0IGdldEJ5SWQgPSBlbnRpdHlSZWYucXVlcmllcy5ieUtleT8uZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgLy9cbiAgICAgICAgY29uc3QgZmllbGRzOiBBWFBDb21wYXJlVmlld0ZpZWxkW10gPSBlbnRpdHlSZWYucHJvcGVydGllc1xuICAgICAgICAgICAgLmZpbHRlcihwID0+IHAuc2NoZW1hLmludGVyZmFjZSAmJiBwLnNjaGVtYS5oaWRkZW4gIT0gdHJ1ZSlcbiAgICAgICAgICAgIC5tYXAoKHApID0+ICh7XG4gICAgICAgICAgICAgICAgcGF0aDogcC5uYW1lLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBwLnRpdGxlLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBwLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBwLnNjaGVtYS5pbnRlcmZhY2U/LnR5cGUhLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IHAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogcC5zY2hlbWEuaW50ZXJmYWNlPy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIGNvbnN0IG9iamVjdHM6IEFYUENvbXBhcmVWaWV3T2JqZWN0W10gPSBhd2FpdCBQcm9taXNlLmFsbChpZHMubWFwKGFzeW5jIGMgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb2JqZWN0ID0gYXdhaXQgZ2V0QnlJZChjKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaWQ6IG9iamVjdC5pZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogb2JqZWN0LnRpdGxlLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBvYmplY3QuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgY29udGV4dDogb2JqZWN0LFxuICAgICAgICAgICAgfVxuICAgICAgICB9KSk7XG5cbiAgICAgICAgY29uc3QgaW5wdXRzOiBBWFBDb21wYXJlVmlld0lucHV0cyA9IHtcbiAgICAgICAgICAgIGZpZWxkczogZmllbGRzLFxuICAgICAgICAgICAgb2JqZWN0czogb2JqZWN0cyxcbiAgICAgICAgfVxuXG4gICAgICAgIC8vXG4gICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ2lucHV0cycsIGlucHV0cyk7XG4gICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ21vZGUnLCAncmVjb3JkcycpO1xuICAgICAgICBjb250ZXh0LnNldE91dHB1dCgncmVzdWx0JywgdHJ1ZSk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNQ29tcGFyZUVudGl0eVJlY29yZFZlcnNpb25zQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0cnkgPSBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSB2ZXJzaW9uaW5nID0gaW5qZWN0PEFYUFZlcnNpb25pbmdTZXJ2aWNlPihBWFBWZXJzaW9uaW5nU2VydmljZSBhcyBhbnkpO1xuICAgIHByaXZhdGUgZm9ybWF0U2VydmljZSA9IGluamVjdChBWEZvcm1hdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuXG4gICAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdlbnRpdHknKS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlSZWYgPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdHJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgICAgIGNvbnN0IHJlZklkID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhLnJlZklkJykgYXMgc3RyaW5nO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhLnJlZlR5cGUnKSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IGlkcyA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignZGF0YS5pZHMnKSBhcyBzdHJpbmdbXTtcbiAgICAgICAgY29uc3Qgc3RyZWFtSWQgPSBhd2FpdCB0aGlzLnZlcnNpb25pbmcuZ2V0U3RyZWFtSWRJZkV4aXN0cyhyZWZUeXBlLCByZWZJZCk7XG4gICAgICAgIGNvbnN0IGhpc3RvcmllcyA9IHN0cmVhbUlkID8gKGF3YWl0IHRoaXMudmVyc2lvbmluZy5saXN0RW50cmllcyhzdHJlYW1JZCkpLmZpbHRlcigoZTogYW55KSA9PiBpZHMuaW5jbHVkZXMoZS5pZCkpIDogW107XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGZpZWxkczogQVhQQ29tcGFyZVZpZXdGaWVsZFtdID0gZW50aXR5UmVmLnByb3BlcnRpZXNcbiAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwLnNjaGVtYS5pbnRlcmZhY2UgJiYgcC5zY2hlbWEuaGlkZGVuICE9IHRydWUpXG4gICAgICAgICAgICAubWFwKChwKSA9PiAoe1xuICAgICAgICAgICAgICAgIHBhdGg6IHAubmFtZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogcC50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogcC5zY2hlbWEuaW50ZXJmYWNlPy50eXBlISxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHAuc2NoZW1hLmludGVyZmFjZT8ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBvYmplY3RzOiBBWFBDb21wYXJlVmlld09iamVjdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoaGlzdG9yaWVzLm1hcChhc3luYyAoaDogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9IGF3YWl0IHRoaXMudHJhbnNsYXRlLnRyYW5zbGF0ZUFzeW5jKGBAYWN0aXZpdHktbG9nOiR7aC5jaGFuZ2VUeXBlID09PSAnQ3JlYXRlJyA/ICdjcmVhdGVkJyA6IChoLmNoYW5nZVR5cGUgPT09ICdEZWxldGUnID8gJ2RlbGV0ZWQnIDogJ3VwZGF0ZWQnKX0tYnktdGl0bGVgLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXI6IGguY2hhbmdlZEJ5ID8/ICdzeXN0ZW0nLFxuICAgICAgICAgICAgICAgICAgICBkYXRlOiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KG5ldyBEYXRlKGguY2hhbmdlZEF0KSwgJ2RhdGV0aW1lJywgeyBmb3JtYXQ6ICdzaG9ydCcgfSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHNuYXBzaG90ID0gc3RydWN0dXJlZENsb25lKGguc25hcHNob3RKc29uID8/IHt9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogaC5pZCxcbiAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogaC5jaGFuZ2VkQnkgPz8gJ3N5c3RlbScsXG4gICAgICAgICAgICAgICAgY29udGV4dDogc25hcHNob3QsXG4gICAgICAgICAgICB9IGFzIEFYUENvbXBhcmVWaWV3T2JqZWN0O1xuICAgICAgICB9KSk7XG4gICAgICAgIGNvbnN0IGlucHV0czogQVhQQ29tcGFyZVZpZXdJbnB1dHMgPSB7XG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkcyxcbiAgICAgICAgICAgIG9iamVjdHM6IG9iamVjdHMsXG4gICAgICAgIH1cbiAgICAgICAgLy9cbiAgICAgICAgY29udGV4dC5zZXRWYXJpYWJsZSgnaW5wdXRzJywgaW5wdXRzKTtcbiAgICAgICAgY29udGV4dC5zZXRWYXJpYWJsZSgnbW9kZScsICdjaGFuZ2VzJyk7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdyZXN1bHQnLCB0cnVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc1dvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ3N0YXJ0JyxcbiAgICBzdGVwczoge1xuICAgICAgICBzdGFydDoge1xuICAgICAgICAgICAgYWN0aW9uOiAnc2hvdy1lbnRpdHktcmVjb3Jkcy1jb21wYXJlLWFjdGlvbicsXG4gICAgICAgICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJyZXN1bHRcIikgPT0gdHJ1ZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXBvcHVwJyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1wb3B1cCc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3Nob3ctY29tcGFyZS1wb3B1cC1hY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuXG5leHBvcnQgY29uc3QgQVhNQ29tcGFyZUVudGl0eVJlY29yZFZlcnNpb25zV29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnc3RhcnQnLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgIHN0YXJ0OiB7XG4gICAgICAgICAgICBhY3Rpb246ICdzaG93LWVudGl0eS1yZWNvcmQtdmVyc2lvbnMtY29tcGFyZS1hY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwicmVzdWx0XCIpID09IHRydWUnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1wb3B1cCcsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctcG9wdXAnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdzaG93LWNvbXBhcmUtcG9wdXAtYWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICB9LFxufTsgXG5cbi8vIFV0aWxpdGllc1xuZnVuY3Rpb24gZ2V0QnlQYXRoKG9iajogYW55LCBwYXRoOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGxldCBjdXJyID0gb2JqO1xuICAgIGZvciAoY29uc3QgcCBvZiBwYXJ0cykge1xuICAgICAgICBpZiAoY3VyciA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjdXJyID0gY3VycltwXTtcbiAgICB9XG4gICAgcmV0dXJuIGN1cnI7XG59XG5cbmZ1bmN0aW9uIHNldEJ5UGF0aChvYmo6IGFueSwgcGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgbGV0IGN1cnIgPSBvYmo7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgY29uc3QgcCA9IHBhcnRzW2ldO1xuICAgICAgICBpZiAoY3VycltwXSA9PSBudWxsKSBjdXJyW3BdID0ge307XG4gICAgICAgIGN1cnIgPSBjdXJyW3BdO1xuICAgIH1cbiAgICBjdXJyW3BhcnRzW3BhcnRzLmxlbmd0aCAtIDFdXSA9IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBtYXBGaWxlc0ZvclZpZXcoZmlsZXM6IGFueVtdKTogQVhQRmlsZUxpc3RJdGVtW10ge1xuICAgIHJldHVybiBmaWxlcy5tYXA8QVhQRmlsZUxpc3RJdGVtPigoZikgPT4gKHtcbiAgICAgICAgaWQ6IGYuaWQsXG4gICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgc2l6ZTogZi5zaXplLFxuICAgICAgICBzdGF0dXM6ICdyZW1vdGUnLFxuICAgICAgICBzb3VyY2U6IHsga2luZDogJ3VybCcsIHZhbHVlOiBmLnVybCB9LFxuICAgIH0pKTtcbn1cbiJdfQ==","import { AXPEntityCommandScope } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nexport const comparePlugin = {\n name: 'compare',\n order: 50,\n apply: (ctx) => {\n ensureListActions(ctx);\n ctx.interfaces.update((i) => {\n const actions = i.master.list.actions;\n const cmdName = 'show-entity-records-compare';\n if (!actionExists(actions, cmdName)) {\n actions.push({\n title: '@activity-log:actions.compare-records',\n command: { name: cmdName },\n priority: 'secondary',\n type: 'compare',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n return i;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMEI7SUFDaEQsSUFBSSxFQUFFLFNBQVM7SUFDZixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ1gsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBSSxDQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFnQixDQUFDO1lBQ3hELE1BQU0sT0FBTyxHQUFHLDZCQUE2QixDQUFDO1lBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1QsS0FBSyxFQUFFLHVDQUF1QztvQkFDOUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtvQkFDMUIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxTQUFTO29CQUNmLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxRQUFRO2lCQUN4QyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsT0FBTyxDQUFRLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eUNvbW1hbmRTY29wZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eUFjdGlvblBsdWdpbiwgZW5zdXJlTGlzdEFjdGlvbnMsIGFjdGlvbkV4aXN0cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBjb21wYXJlUGx1Z2luOiBBWFBFbnRpdHlBY3Rpb25QbHVnaW4gPSB7XG4gICAgbmFtZTogJ2NvbXBhcmUnLFxuICAgIG9yZGVyOiA1MCxcbiAgICBhcHBseTogKGN0eCkgPT4ge1xuICAgICAgICBlbnN1cmVMaXN0QWN0aW9ucyhjdHgpO1xuICAgICAgICBjdHguaW50ZXJmYWNlcy51cGRhdGUoKGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlci5saXN0LmFjdGlvbnMgYXMgYW55W107XG4gICAgICAgICAgICBjb25zdCBjbWROYW1lID0gJ3Nob3ctZW50aXR5LXJlY29yZHMtY29tcGFyZSc7XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhhY3Rpb25zLCBjbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGFjdGl2aXR5LWxvZzphY3Rpb25zLmNvbXBhcmUtcmVjb3JkcycsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHsgbmFtZTogY21kTmFtZSB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjb21wYXJlJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpIGFzIGFueTtcbiAgICAgICAgfSk7XG4gICAgfSxcbn07XG5cblxuIl19","import { NgModule } from '@angular/core';\nimport { AXPComparePopupComponent } from './compare-popup.component';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMCompareEntityRecordsAction, AXMCompareEntityRecordsWorkflow, AXMCompareEntityRecordVersionsAction, AXMCompareEntityRecordVersionsWorkflow, AXMComparePopupStartAction } from './workflows/compare.workflow';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { comparePlugin } from './compare.plugin';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPCompareModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCompareModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCompareModule, imports: [AXPComparePopupComponent, i1.AXPWorkflowModule], exports: [AXPComparePopupComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCompareModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: comparePlugin },\n ], imports: [AXPComparePopupComponent,\n AXPWorkflowModule.forChild({\n actions: {\n 'show-compare-popup-action': AXMComparePopupStartAction,\n 'show-entity-records-compare-action': AXMCompareEntityRecordsAction,\n 'show-entity-record-versions-compare-action': AXMCompareEntityRecordVersionsAction,\n },\n workflows: {\n 'show-entity-records-compare': AXMCompareEntityRecordsWorkflow,\n 'show-entity-record-versions-compare': AXMCompareEntityRecordVersionsWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCompareModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPComparePopupComponent,\n AXPWorkflowModule.forChild({\n actions: {\n 'show-compare-popup-action': AXMComparePopupStartAction,\n 'show-entity-records-compare-action': AXMCompareEntityRecordsAction,\n 'show-entity-record-versions-compare-action': AXMCompareEntityRecordVersionsAction,\n },\n workflows: {\n 'show-entity-records-compare': AXMCompareEntityRecordsWorkflow,\n 'show-entity-record-versions-compare': AXMCompareEntityRecordVersionsWorkflow,\n },\n }),\n ],\n exports: [AXPComparePopupComponent],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: comparePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwrQkFBK0IsRUFBRSxvQ0FBb0MsRUFBRSxzQ0FBc0MsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hOLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBc0JqRCxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQWxCckIsd0JBQXdCLG1DQWFsQix3QkFBd0I7K0dBS3pCLGdCQUFnQixhQUpkO1lBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO1NBQzlFLFlBaEJHLHdCQUF3QjtZQUN4QixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDTCwyQkFBMkIsRUFBRSwwQkFBMEI7b0JBQ3ZELG9DQUFvQyxFQUFFLDZCQUE2QjtvQkFDbkUsNENBQTRDLEVBQUUsb0NBQW9DO2lCQUNyRjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsNkJBQTZCLEVBQUUsK0JBQStCO29CQUM5RCxxQ0FBcUMsRUFBRSxzQ0FBc0M7aUJBQ2hGO2FBQ0osQ0FBQzs7MkZBT0csZ0JBQWdCO2tCQXBCNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsd0JBQXdCO3dCQUN4QixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3ZCLE9BQU8sRUFBRTtnQ0FDTCwyQkFBMkIsRUFBRSwwQkFBMEI7Z0NBQ3ZELG9DQUFvQyxFQUFFLDZCQUE2QjtnQ0FDbkUsNENBQTRDLEVBQUUsb0NBQW9DOzZCQUNyRjs0QkFDRCxTQUFTLEVBQUU7Z0NBQ1AsNkJBQTZCLEVBQUUsK0JBQStCO2dDQUM5RCxxQ0FBcUMsRUFBRSxzQ0FBc0M7NkJBQ2hGO3lCQUNKLENBQUM7cUJBQ0w7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7cUJBQzlFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUENvbXBhcmVQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vY29tcGFyZS1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRzQWN0aW9uLCBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc1dvcmtmbG93LCBBWE1Db21wYXJlRW50aXR5UmVjb3JkVmVyc2lvbnNBY3Rpb24sIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc1dvcmtmbG93LCBBWE1Db21wYXJlUG9wdXBTdGFydEFjdGlvbiB9IGZyb20gJy4vd29ya2Zsb3dzL2NvbXBhcmUud29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IGNvbXBhcmVQbHVnaW4gfSBmcm9tICcuL2NvbXBhcmUucGx1Z2luJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEFYUENvbXBhcmVQb3B1cENvbXBvbmVudCxcbiAgICAgICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgICAgICAgYWN0aW9uczoge1xuICAgICAgICAgICAgICAgICdzaG93LWNvbXBhcmUtcG9wdXAtYWN0aW9uJzogQVhNQ29tcGFyZVBvcHVwU3RhcnRBY3Rpb24sXG4gICAgICAgICAgICAgICAgJ3Nob3ctZW50aXR5LXJlY29yZHMtY29tcGFyZS1hY3Rpb24nOiBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc0FjdGlvbixcbiAgICAgICAgICAgICAgICAnc2hvdy1lbnRpdHktcmVjb3JkLXZlcnNpb25zLWNvbXBhcmUtYWN0aW9uJzogQVhNQ29tcGFyZUVudGl0eVJlY29yZFZlcnNpb25zQWN0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAgICAgICAgICdzaG93LWVudGl0eS1yZWNvcmRzLWNvbXBhcmUnOiBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc1dvcmtmbG93LFxuICAgICAgICAgICAgICAgICdzaG93LWVudGl0eS1yZWNvcmQtdmVyc2lvbnMtY29tcGFyZSc6IEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc1dvcmtmbG93LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBleHBvcnRzOiBbQVhQQ29tcGFyZVBvcHVwQ29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogY29tcGFyZVBsdWdpbiB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBhcmVNb2R1bGUgeyB9ICJdfQ==","import { AXPExpressionEvaluatorService, getSmart } from '@acorex/platform/core';\nimport { AXPEntityDefinitionRegistryService, AXP_ENTITY_STORAGE_BACKEND, } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { get, set } from 'lodash-es';\nfunction extractTemplateTokens(template) {\n const tokens = [];\n if (!template) {\n return tokens;\n }\n const regex = /\\{\\{\\s*([\\s\\S]*?)\\s*\\}\\}/g; // capture lazily until closing }}\n let match;\n while ((match = regex.exec(template)) !== null) {\n const token = (match[1] || '').trim();\n if (token) {\n tokens.push(token);\n }\n }\n return tokens;\n}\nfunction getRootFromPath(path) {\n const trimmed = path.trim();\n const clean = trimmed.replace(/^context\\.eval\\(['\"]|['\"]\\)$/g, '');\n const first = clean.split('.')[0];\n return first.replace(/\\{.*\\}$/, '');\n}\nfunction defaultIdField(dataPath) {\n const leaf = (dataPath || '').split('.').filter(Boolean).pop() || 'related';\n return `${leaf}Id`;\n}\nexport const computedPropertiesMiddleware = {\n target: { ops: ['getOne', 'getAll', 'query'], order: 12 },\n execute: async (ctx, next) => {\n const backend = inject(AXP_ENTITY_STORAGE_BACKEND);\n const registry = inject(AXPEntityDefinitionRegistryService);\n const expressionEvaluator = inject(AXPExpressionEvaluatorService);\n await next();\n try {\n const [moduleName, entityName] = ctx.entityName.split('.');\n const def = await registry.resolve(moduleName, entityName);\n const plugin = (def?.plugins || []).find((p) => p?.name === 'computed-property');\n if (!plugin?.options?.['fields']?.length)\n return;\n const fields = plugin.options['fields'];\n const related = def?.relatedEntities || [];\n const rows = Array.isArray(ctx.result)\n ? ctx.result\n : Array.isArray(ctx.result?.items)\n ? ctx.result.items\n : ctx.result\n ? [ctx.result]\n : [];\n if (!rows.length)\n return;\n // Pre-hydrate merge-detail children used by fields (by root token)\n const roots = new Set();\n for (const f of fields) {\n const tokens = extractTemplateTokens(f.value);\n tokens.forEach((t) => roots.add(getRootFromPath(t)));\n }\n // For merge-detail referenced children, batch hydrate\n for (const root of roots) {\n const re = related.find((r) => r?.persistence?.dataPath === root && (r?.persistence?.strategy || 'embedded') === 'referenced');\n if (!re)\n continue;\n const p = re.persistence || {};\n const idField = p.idField || defaultIdField(p.dataPath);\n const ids = Array.from(new Set(rows.map((r) => get(r, idField)).filter((v) => v != null)));\n if (!ids.length)\n continue;\n try {\n const resp = await backend.query(re.entity, {\n skip: 0,\n take: ids.length || 1000,\n filter: { field: 'id', operator: { type: 'in' }, value: ids },\n });\n const items = resp?.items ?? [];\n const map = new Map();\n for (const it of items)\n map.set(it.id, it);\n for (const row of rows) {\n const cid = get(row, idField);\n if (!cid)\n continue;\n const child = map.get(cid);\n if (child && p?.dataPath)\n set(row, p.dataPath, child);\n }\n }\n catch { }\n }\n // Compute per field for each row\n for (const row of rows) {\n for (const f of fields) {\n const tokens = extractTemplateTokens(f.value);\n // Try to ensure data availability for each token\n for (const t of tokens) {\n const raw = String(t).trim();\n const path = raw.replace(/^context\\.eval\\(['\"]|['\"]\\)$/g, '');\n const root = getRootFromPath(path);\n let current = getSmart(row, root);\n if (current == null) {\n // Try merge-detail already covered above. If still missing, try list-related entities by entity name\n const reList = related.find((r) => (r?.layout?.type === 'page-list' || r?.layout?.type === 'tab-list') &&\n r?.persistence?.dataPath === root);\n if (reList) {\n // Build filters: reList.conditions + field.conditions\n const baseFilters = (reList.conditions ?? []).map((c) => ({ ...c }));\n const extraFilters = (f.conditions ?? []).map((c) => ({ ...c }));\n const buildScope = () => ({ ...(row ?? {}), context: { eval: (path) => get(row, path) } });\n const evaluateValue = async (val) => {\n if (typeof val === 'string' && expressionEvaluator.isExpression(val)) {\n return await expressionEvaluator.evaluate(val, buildScope());\n }\n return val;\n };\n let allFilters = await Promise.all([...baseFilters, ...extraFilters].map(async (fl) => ({\n field: fl.name ?? fl.field,\n operator: fl.operator,\n value: await evaluateValue(fl.value),\n })));\n // If no explicit parent filter exists, infer it: child.parentKey == row.id\n try {\n const [cm, ce] = (reList.entity || '').split('.');\n const childDef = await registry.resolve(cm, ce);\n const parentKey = childDef?.parentKey;\n if (parentKey && !allFilters.some((fl) => fl.field === parentKey)) {\n allFilters.push({ field: parentKey, operator: { type: 'equal' }, value: row?.id });\n }\n }\n catch { }\n try {\n const resp = await backend.query(reList.entity, {\n skip: 0,\n take: 1000,\n filter: allFilters.length ? { logic: 'and', filters: allFilters } : undefined,\n });\n const items = resp?.items ?? [];\n set(row, root, items);\n }\n catch { }\n }\n }\n }\n // Evaluate template and set computed value using expression evaluator\n const scope = {\n ...(row ?? {}),\n context: {\n eval: (path) => {\n return getSmart(row, path);\n },\n },\n };\n const evaluated = await expressionEvaluator.evaluate(f.value, scope);\n set(row, f.name, evaluated || undefined);\n }\n }\n }\n catch {\n // swallow to avoid breaking main flow\n }\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJvcGVydGllcy5taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NvbXB1dGVkLXByb3BlcnRpZXMvY29tcHV0ZWQtcHJvcGVydGllcy5taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQ0wsa0NBQWtDLEVBRWxDLDBCQUEwQixHQUMzQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsU0FBUyxxQkFBcUIsQ0FBQyxRQUFnQjtJQUM3QyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLDJCQUEyQixDQUFDLENBQUMsa0NBQWtDO0lBQzdFLElBQUksS0FBNkIsQ0FBQztJQUNsQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFF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LENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDckUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1Asc0NBQXNDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTZXJ2aWNlLCBnZXRTbWFydCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQge1xuICBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlLFxuICBBWFBFbnRpdHlTdG9yYWdlTWlkZGxld2FyZSxcbiAgQVhQX0VOVElUWV9TVE9SQUdFX0JBQ0tFTkQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZnVuY3Rpb24gZXh0cmFjdFRlbXBsYXRlVG9rZW5zKHRlbXBsYXRlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHRva2Vuczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgIHJldHVybiB0b2tlbnM7XG4gIH1cbiAgY29uc3QgcmVnZXggPSAvXFx7XFx7XFxzKihbXFxzXFxTXSo/KVxccypcXH1cXH0vZzsgLy8gY2FwdHVyZSBsYXppbHkgdW50aWwgY2xvc2luZyB9fVxuICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XG4gIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKHRlbXBsYXRlKSkgIT09IG51bGwpIHtcbiAgICBjb25zdCB0b2tlbiA9IChtYXRjaFsxXSB8fCAnJykudHJpbSgpO1xuICAgIGlmICh0b2tlbikge1xuICAgICAgdG9rZW5zLnB1c2godG9rZW4pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdG9rZW5zO1xufVxuXG5mdW5jdGlvbiBnZXRSb290RnJvbVBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdHJpbW1lZCA9IHBhdGgudHJpbSgpO1xuICBjb25zdCBjbGVhbiA9IHRyaW1tZWQucmVwbGFjZSgvXmNvbnRleHRcXC5ldmFsXFwoWydcIl18WydcIl1cXCkkL2csICcnKTtcbiAgY29uc3QgZmlyc3QgPSBjbGVhbi5zcGxpdCgnLicpWzBdO1xuICByZXR1cm4gZmlyc3QucmVwbGFjZSgvXFx7LipcXH0kLywgJycpO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0SWRGaWVsZChkYXRhUGF0aD86IHN0cmluZykge1xuICBjb25zdCBsZWFmID0gKGRhdGFQYXRoIHx8ICcnKS5zcGxpdCgnLicpLmZpbHRlcihCb29sZWFuKS5wb3AoKSB8fCAncmVsYXRlZCc7XG4gIHJldHVybiBgJHtsZWFmfUlkYDtcbn1cblxuZXhwb3J0IGNvbnN0IGNvbXB1dGVkUHJvcGVydGllc01pZGRsZXdhcmU6IEFYUEVudGl0eVN0b3JhZ2VNaWRkbGV3YXJlID0ge1xuICB0YXJnZXQ6IHsgb3BzOiBbJ2dldE9uZScsICdnZXRBbGwnLCAncXVlcnknXSwgb3JkZXI6IDEyIH0sXG4gIGV4ZWN1dGU6IGFzeW5jIChjdHgsIG5leHQpID0+IHtcbiAgICBjb25zdCBiYWNrZW5kID0gaW5qZWN0KEFYUF9FTlRJVFlfU1RPUkFHRV9CQUNLRU5EKTtcbiAgICBjb25zdCByZWdpc3RyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgICBjb25zdCBleHByZXNzaW9uRXZhbHVhdG9yID0gaW5qZWN0KEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTZXJ2aWNlKTtcblxuICAgIGF3YWl0IG5leHQoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSBjdHguZW50aXR5TmFtZS5zcGxpdCgnLicpO1xuICAgICAgY29uc3QgZGVmOiBBWFBFbnRpdHkgPSBhd2FpdCByZWdpc3RyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgICAgY29uc3QgcGx1Z2luID0gKGRlZj8ucGx1Z2lucyB8fCBbXSkuZmluZCgocDogYW55KSA9PiBwPy5uYW1lID09PSAnY29tcHV0ZWQtcHJvcGVydHknKTtcbiAgICAgIGlmICghcGx1Z2luPy5vcHRpb25zPy5bJ2ZpZWxkcyddPy5sZW5ndGgpIHJldHVybjtcbiAgICAgIGNvbnN0IGZpZWxkczogQXJyYXk8YW55PiA9IHBsdWdpbi5vcHRpb25zWydmaWVsZHMnXTtcblxuICAgICAgY29uc3QgcmVsYXRlZDogYW55W10gPSBkZWY/LnJlbGF0ZWRFbnRpdGllcyB8fCBbXTtcblxuICAgICAgY29uc3Qgcm93czogYW55W10gPSBBcnJheS5pc0FycmF5KGN0eC5yZXN1bHQpXG4gICAgICAgID8gY3R4LnJlc3VsdFxuICAgICAgICA6IEFycmF5LmlzQXJyYXkoY3R4LnJlc3VsdD8uaXRlbXMpXG4gICAgICAgICAgPyBjdHgucmVzdWx0Lml0ZW1zXG4gICAgICAgICAgOiBjdHgucmVzdWx0XG4gICAgICAgICAgICA/IFtjdHgucmVzdWx0XVxuICAgICAgICAgICAgOiBbXTtcblxuICAgICAgaWYgKCFyb3dzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAvLyBQcmUtaHlkcmF0ZSBtZXJnZS1kZXRhaWwgY2hpbGRyZW4gdXNlZCBieSBmaWVsZHMgKGJ5IHJvb3QgdG9rZW4pXG4gICAgICBjb25zdCByb290cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgZm9yIChjb25zdCBmIG9mIGZpZWxkcykge1xuICAgICAgICBjb25zdCB0b2tlbnMgPSBleHRyYWN0VGVtcGxhdGVUb2tlbnMoZi52YWx1ZSk7XG4gICAgICAgIHRva2Vucy5mb3JFYWNoKCh0KSA9PiByb290cy5hZGQoZ2V0Um9vdEZyb21QYXRoKHQpKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEZvciBtZXJnZS1kZXRhaWwgcmVmZXJlbmNlZCBjaGlsZHJlbiwgYmF0Y2ggaHlkcmF0ZVxuICAgICAgZm9yIChjb25zdCByb290IG9mIHJvb3RzKSB7XG4gICAgICAgIGNvbnN0IHJlID0gcmVsYXRlZC5maW5kKFxuICAgICAgICAgIChyOiBhbnkpID0+IHI/LnBlcnNpc3RlbmNlPy5kYXRhUGF0aCA9PT0gcm9vdCAmJiAocj8ucGVyc2lzdGVuY2U/LnN0cmF0ZWd5IHx8ICdlbWJlZGRlZCcpID09PSAncmVmZXJlbmNlZCcsXG4gICAgICAgICk7XG4gICAgICAgIGlmICghcmUpIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBwID0gcmUucGVyc2lzdGVuY2UgfHwge307XG4gICAgICAgIGNvbnN0IGlkRmllbGQgPSBwLmlkRmllbGQgfHwgZGVmYXVsdElkRmllbGQocC5kYXRhUGF0aCk7XG4gICAgICAgIGNvbnN0IGlkcyA9IEFycmF5LmZyb20obmV3IFNldChyb3dzLm1hcCgocikgPT4gZ2V0KHIsIGlkRmllbGQpKS5maWx0ZXIoKHYpID0+IHYgIT0gbnVsbCkpKTtcbiAgICAgICAgaWYgKCFpZHMubGVuZ3RoKSBjb250aW51ZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgYmFja2VuZC5xdWVyeShyZS5lbnRpdHksIHtcbiAgICAgICAgICAgIHNraXA6IDAsXG4gICAgICAgICAgICB0YWtlOiBpZHMubGVuZ3RoIHx8IDEwMDAsXG4gICAgICAgICAgICBmaWx0ZXI6IHsgZmllbGQ6ICdpZCcsIG9wZXJhdG9yOiB7IHR5cGU6ICdpbicgfSwgdmFsdWU6IGlkcyB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gcmVzcD8uaXRlbXMgPz8gW107XG4gICAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcDxhbnksIGFueT4oKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IGl0IG9mIGl0ZW1zKSBtYXAuc2V0KChpdCBhcyBhbnkpLmlkLCBpdCk7XG4gICAgICAgICAgZm9yIChjb25zdCByb3cgb2Ygcm93cykge1xuICAgICAgICAgICAgY29uc3QgY2lkID0gZ2V0KHJvdywgaWRGaWVsZCk7XG4gICAgICAgICAgICBpZiAoIWNpZCkgY29udGludWU7XG4gICAgICAgICAgICBjb25zdCBjaGlsZCA9IG1hcC5nZXQoY2lkKTtcbiAgICAgICAgICAgIGlmIChjaGlsZCAmJiBwPy5kYXRhUGF0aCkgc2V0KHJvdywgcC5kYXRhUGF0aCwgY2hpbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgfVxuXG4gICAgICAvLyBDb21wdXRlIHBlciBmaWVsZCBmb3IgZWFjaCByb3dcbiAgICAgIGZvciAoY29uc3Qgcm93IG9mIHJvd3MpIHtcbiAgICAgICAgZm9yIChjb25zdCBmIG9mIGZpZWxkcykge1xuICAgICAgICAgIGNvbnN0IHRva2VucyA9IGV4dHJhY3RUZW1wbGF0ZVRva2VucyhmLnZhbHVlKTtcbiAgICAgICAgICAvLyBUcnkgdG8gZW5zdXJlIGRhdGEgYXZhaWxhYmlsaXR5IGZvciBlYWNoIHRva2VuXG4gICAgICAgICAgZm9yIChjb25zdCB0IG9mIHRva2Vucykge1xuICAgICAgICAgICAgY29uc3QgcmF3ID0gU3RyaW5nKHQpLnRyaW0oKTtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSByYXcucmVwbGFjZSgvXmNvbnRleHRcXC5ldmFsXFwoWydcIl18WydcIl1cXCkkL2csICcnKTtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBnZXRSb290RnJvbVBhdGgocGF0aCk7XG4gICAgICAgICAgICBsZXQgY3VycmVudCA9IGdldFNtYXJ0KHJvdywgcm9vdCk7XG4gICAgICAgICAgICBpZiAoY3VycmVudCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRyeSBtZXJnZS1kZXRhaWwgYWxyZWFkeSBjb3ZlcmVkIGFib3ZlLiBJZiBzdGlsbCBtaXNzaW5nLCB0cnkgbGlzdC1yZWxhdGVkIGVudGl0aWVzIGJ5IGVudGl0eSBuYW1lXG4gICAgICAgICAgICAgIGNvbnN0IHJlTGlzdCA9IHJlbGF0ZWQuZmluZChcbiAgICAgICAgICAgICAgICAocjogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgKHI/LmxheW91dD8udHlwZSA9PT0gJ3BhZ2UtbGlzdCcgfHwgcj8ubGF5b3V0Py50eXBlID09PSAndGFiLWxpc3QnKSAmJlxuICAgICAgICAgICAgICAgICAgcj8ucGVyc2lzdGVuY2U/LmRhdGFQYXRoID09PSByb290LFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBpZiAocmVMaXN0KSB7XG4gICAgICAgICAgICAgICAgLy8gQnVpbGQgZmlsdGVyczogcmVMaXN0LmNvbmRpdGlvbnMgKyBmaWVsZC5jb25kaXRpb25zXG4gICAgICAgICAgICAgICAgY29uc3QgYmFzZUZpbHRlcnMgPSAocmVMaXN0LmNvbmRpdGlvbnMgPz8gW10pLm1hcCgoYzogYW55KSA9PiAoeyAuLi5jIH0pKTtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRyYUZpbHRlcnMgPSAoZi5jb25kaXRpb25zID8/IFtdKS5tYXAoKGM6IGFueSkgPT4gKHsgLi4uYyB9KSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYnVpbGRTY29wZSA9ICgpID0+ICh7IC4uLihyb3cgPz8ge30pLCBjb250ZXh0OiB7IGV2YWw6IChwYXRoOiBzdHJpbmcpID0+IGdldChyb3csIHBhdGgpIH0gfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZXZhbHVhdGVWYWx1ZSA9IGFzeW5jICh2YWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnICYmIGV4cHJlc3Npb25FdmFsdWF0b3IuaXNFeHByZXNzaW9uKHZhbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGV4cHJlc3Npb25FdmFsdWF0b3IuZXZhbHVhdGUodmFsLCBidWlsZFNjb3BlKCkgYXMgYW55KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiB2YWw7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBsZXQgYWxsRmlsdGVycyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICAgICAgWy4uLmJhc2VGaWx0ZXJzLCAuLi5leHRyYUZpbHRlcnNdLm1hcChhc3luYyAoZmw6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGZsLm5hbWUgPz8gZmwuZmllbGQsXG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBmbC5vcGVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGF3YWl0IGV2YWx1YXRlVmFsdWUoZmwudmFsdWUpLFxuICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBJZiBubyBleHBsaWNpdCBwYXJlbnQgZmlsdGVyIGV4aXN0cywgaW5mZXIgaXQ6IGNoaWxkLnBhcmVudEtleSA9PSByb3cuaWRcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgW2NtLCBjZV0gPSAocmVMaXN0LmVudGl0eSB8fCAnJykuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkRGVmOiBhbnkgPSBhd2FpdCByZWdpc3RyeS5yZXNvbHZlKGNtLCBjZSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGNoaWxkRGVmPy5wYXJlbnRLZXk7XG4gICAgICAgICAgICAgICAgICBpZiAocGFyZW50S2V5ICYmICFhbGxGaWx0ZXJzLnNvbWUoKGZsOiBhbnkpID0+IGZsLmZpZWxkID09PSBwYXJlbnRLZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFsbEZpbHRlcnMucHVzaCh7IGZpZWxkOiBwYXJlbnRLZXksIG9wZXJhdG9yOiB7IHR5cGU6ICdlcXVhbCcgfSwgdmFsdWU6IHJvdz8uaWQgfSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgYmFja2VuZC5xdWVyeShyZUxpc3QuZW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAgIHNraXA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRha2U6IDEwMDAsXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogYWxsRmlsdGVycy5sZW5ndGggPyB7IGxvZ2ljOiAnYW5kJywgZmlsdGVyczogYWxsRmlsdGVycyB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IHJlc3A/Lml0ZW1zID8/IFtdO1xuICAgICAgICAgICAgICAgICAgc2V0KHJvdywgcm9vdCwgaXRlbXMpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2gge31cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEV2YWx1YXRlIHRlbXBsYXRlIGFuZCBzZXQgY29tcHV0ZWQgdmFsdWUgdXNpbmcgZXhwcmVzc2lvbiBldmFsdWF0b3JcbiAgICAgICAgICBjb25zdCBzY29wZTogYW55ID0ge1xuICAgICAgICAgICAgLi4uKHJvdyA/PyB7fSksXG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgIGV2YWw6IChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U21hcnQocm93LCBwYXRoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBldmFsdWF0ZWQgPSBhd2FpdCBleHByZXNzaW9uRXZhbHVhdG9yLmV2YWx1YXRlKGYudmFsdWUsIHNjb3BlKTtcbiAgICAgICAgICBzZXQocm93LCBmLm5hbWUsIGV2YWx1YXRlZCB8fCB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBzd2FsbG93IHRvIGF2b2lkIGJyZWFraW5nIG1haW4gZmxvd1xuICAgIH1cbiAgfSxcbn07XG4iXX0=","//#endregion\n//#region ---- Plugin ----\nexport const computedPropertiesPlugin = {\n name: 'computed-property',\n order: 55,\n apply: (ctx, options) => {\n const fields = options?.fields ?? [];\n if (!fields.length) {\n return;\n }\n // Ensure default group exists\n const defaultGroupId = 'additional';\n const ensureGroup = (group) => {\n const id = group?.id || defaultGroupId;\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === id)) {\n ctx.groups.add({ id, title: group?.title });\n }\n return id;\n };\n for (const f of fields) {\n const groupId = ensureGroup(f.group || { id: defaultGroupId });\n // If group is newly created and a custom title is provided, update it\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId) && f.group?.title) {\n ctx.groups.add({ id: groupId, title: f.group.title });\n }\n // Ensure property exists on entity\n const existing = ctx.properties.list().some((p) => p.name === f.name);\n if (!existing) {\n ctx.properties.add({\n name: f.name,\n title: f.title,\n groupId,\n schema: {\n dataType: 'string',\n readonly: true,\n defaultValue: f.value,\n interface: {\n type: f.showAs?.type || 'text-editor',\n options: { ...(f.showAs?.options ?? {}), readonly: true },\n },\n },\n });\n }\n // Ensure the field appears in list columns\n const entityAny = ctx.entity;\n const currentColumns = Array.isArray(entityAny.columns) ? entityAny.columns : [];\n const hasColumn = currentColumns.some((c) => (typeof c === 'string' ? c === f.name : c?.name === f.name));\n if (!hasColumn) {\n entityAny.columns = [...currentColumns, { name: f.name }];\n }\n // Ensure Single (details) view shows it\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId, order: 90 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === f.name)) {\n next.properties.push({\n name: f.name,\n layout: {\n positions: { lg: { colSpan: f.layout?.colSpan ?? 12, order: f.layout?.order ?? 99 } },\n label: { visible: true },\n },\n });\n }\n return next;\n });\n }\n },\n};\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJvcGVydGllcy5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcHV0ZWQtcHJvcGVydGllcy9jb21wdXRlZC1wcm9wZXJ0aWVzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QkEsWUFBWTtBQUVaLDhCQUE4QjtBQUU5QixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBMEI7SUFDN0QsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUE0QyxFQUFFLEVBQUU7UUFDM0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUVELDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUM7UUFDcEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsSUFBSSxjQUFjLENBQUM7WUFDdkMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQVMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQztRQUVGLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDdkIsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUMvRCxzRUFBc0U7WUFDdEUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDakUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBUyxDQUFDLENBQUM7WUFDL0QsQ0FBQztZQUVELG1DQUFtQztZQUNuQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUNqQixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUNkLE9BQU87b0JBRVAsTUFBTSxFQUFFO3dCQUNOLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixRQUFRLEVBQUUsSUFBSTt3QkFDZCxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUs7d0JBQ3JCLFNBQVMsRUFBRTs0QkFDVCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksYUFBYTs0QkFDckMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7eUJBQzFEO3FCQUNGO2lCQUNLLENBQUMsQ0FBQztZQUNaLENBQUM7WUFFRCwyQ0FBMkM7WUFDM0MsTUFBTSxTQUFTLEdBQVEsR0FBRyxDQUFDLE1BQWEsQ0FBQztZQUN6QyxNQUFNLGNBQWMsR0FBVSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hGLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsU0FBUyxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7WUFFRCx3Q0FBd0M7WUFDeEMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFVLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQzt3QkFDbkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3dCQUNaLE1BQU0sRUFBRTs0QkFDTixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsRUFBRTs0QkFDckYsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTt5QkFDekI7cUJBQ0YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQztBQUVGLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBXaWRnZXRUeXBlc01hcCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldC1jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eUFjdGlvblBsdWdpbiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgVHlwZXMgICAtLS0tXG5cbmV4cG9ydCB0eXBlIEFYUENvbXB1dGVkUHJvcGVydHlGaWVsZCA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nOyAvLyBFeHByZXNzaW9uLXN1cHBvcnRlZCBzdHJpbmcsIGUuZy4gXCJ7eyBjb250ZXh0LmV2YWwoJy4uLicpIH19XCJcbiAgZ3JvdXA6IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gIH07XG4gIGxheW91dD86IHsgb3JkZXI/OiBudW1iZXI7IGNvbFNwYW4/OiBudW1iZXIgfTtcbiAgY29uZGl0aW9ucz86IGFueVtdOyAvLyBSZXNlcnZlZCBmb3IgZnV0dXJlIGxvZ2ljICh2aXNpYmlsaXR5L2NhbGN1bGF0aW9uKVxuICBzaG93QXM/OiB7XG4gICAgdHlwZTogQVhQV2lkZ2V0VHlwZXNNYXBba2V5b2YgQVhQV2lkZ2V0VHlwZXNNYXBdIHwgc3RyaW5nO1xuICAgIG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQVhQQ29tcHV0ZWRQcm9wZXJ0aWVzUGx1Z2luT3B0aW9ucyA9IHtcbiAgZmllbGRzPzogQVhQQ29tcHV0ZWRQcm9wZXJ0eUZpZWxkW107XG59O1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBQbHVnaW4gICAtLS0tXG5cbmV4cG9ydCBjb25zdCBjb21wdXRlZFByb3BlcnRpZXNQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgbmFtZTogJ2NvbXB1dGVkLXByb3BlcnR5JyxcbiAgb3JkZXI6IDU1LFxuICBhcHBseTogKGN0eCwgb3B0aW9ucz86IEFYUENvbXB1dGVkUHJvcGVydGllc1BsdWdpbk9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBmaWVsZHMgPSBvcHRpb25zPy5maWVsZHMgPz8gW107XG4gICAgaWYgKCFmaWVsZHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIGRlZmF1bHQgZ3JvdXAgZXhpc3RzXG4gICAgY29uc3QgZGVmYXVsdEdyb3VwSWQgPSAnYWRkaXRpb25hbCc7XG4gICAgY29uc3QgZW5zdXJlR3JvdXAgPSAoZ3JvdXA6IHsgaWQ6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9KSA9PiB7XG4gICAgICBjb25zdCBpZCA9IGdyb3VwPy5pZCB8fCBkZWZhdWx0R3JvdXBJZDtcbiAgICAgIGNvbnN0IGdyb3VwcyA9IGN0eC5ncm91cHMubGlzdCgpID8/IFtdO1xuICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBpZCkpIHtcbiAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZCwgdGl0bGU6IGdyb3VwPy50aXRsZSB9IGFzIGFueSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaWQ7XG4gICAgfTtcblxuICAgIGZvciAoY29uc3QgZiBvZiBmaWVsZHMpIHtcbiAgICAgIGNvbnN0IGdyb3VwSWQgPSBlbnN1cmVHcm91cChmLmdyb3VwIHx8IHsgaWQ6IGRlZmF1bHRHcm91cElkIH0pO1xuICAgICAgLy8gSWYgZ3JvdXAgaXMgbmV3bHkgY3JlYXRlZCBhbmQgYSBjdXN0b20gdGl0bGUgaXMgcHJvdmlkZWQsIHVwZGF0ZSBpdFxuICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICBpZiAoIWdyb3Vwcy5zb21lKChnOiBhbnkpID0+IGcuaWQgPT09IGdyb3VwSWQpICYmIGYuZ3JvdXA/LnRpdGxlKSB7XG4gICAgICAgIGN0eC5ncm91cHMuYWRkKHsgaWQ6IGdyb3VwSWQsIHRpdGxlOiBmLmdyb3VwLnRpdGxlIH0gYXMgYW55KTtcbiAgICAgIH1cblxuICAgICAgLy8gRW5zdXJlIHByb3BlcnR5IGV4aXN0cyBvbiBlbnRpdHlcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gY3R4LnByb3BlcnRpZXMubGlzdCgpLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSBmLm5hbWUpO1xuICAgICAgaWYgKCFleGlzdGluZykge1xuICAgICAgICBjdHgucHJvcGVydGllcy5hZGQoe1xuICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICB0aXRsZTogZi50aXRsZSxcbiAgICAgICAgICBncm91cElkLFxuXG4gICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZi52YWx1ZSxcbiAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICB0eXBlOiBmLnNob3dBcz8udHlwZSB8fCAndGV4dC1lZGl0b3InLFxuICAgICAgICAgICAgICBvcHRpb25zOiB7IC4uLihmLnNob3dBcz8ub3B0aW9ucyA/PyB7fSksIHJlYWRvbmx5OiB0cnVlIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0gYXMgYW55KTtcbiAgICAgIH1cblxuICAgICAgLy8gRW5zdXJlIHRoZSBmaWVsZCBhcHBlYXJzIGluIGxpc3QgY29sdW1uc1xuICAgICAgY29uc3QgZW50aXR5QW55OiBhbnkgPSBjdHguZW50aXR5IGFzIGFueTtcbiAgICAgIGNvbnN0IGN1cnJlbnRDb2x1bW5zOiBhbnlbXSA9IEFycmF5LmlzQXJyYXkoZW50aXR5QW55LmNvbHVtbnMpID8gZW50aXR5QW55LmNvbHVtbnMgOiBbXTtcbiAgICAgIGNvbnN0IGhhc0NvbHVtbiA9IGN1cnJlbnRDb2x1bW5zLnNvbWUoKGM6IGFueSkgPT4gKHR5cGVvZiBjID09PSAnc3RyaW5nJyA/IGMgPT09IGYubmFtZSA6IGM/Lm5hbWUgPT09IGYubmFtZSkpO1xuICAgICAgaWYgKCFoYXNDb2x1bW4pIHtcbiAgICAgICAgZW50aXR5QW55LmNvbHVtbnMgPSBbLi4uY3VycmVudENvbHVtbnMsIHsgbmFtZTogZi5uYW1lIH1dO1xuICAgICAgfVxuXG4gICAgICAvLyBFbnN1cmUgU2luZ2xlIChkZXRhaWxzKSB2aWV3IHNob3dzIGl0XG4gICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuc2luZ2xlLnVwZGF0ZSgoc2luZ2xlKSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHQgPSBzaW5nbGUgPz8gKHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfSBhcyBhbnkpO1xuICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCwgb3JkZXI6IDkwIH0pO1xuICAgICAgICB9XG4gICAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IGYubmFtZSkpIHtcbiAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBmLm5hbWUsXG4gICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IGYubGF5b3V0Py5jb2xTcGFuID8/IDEyLCBvcmRlcjogZi5sYXlvdXQ/Lm9yZGVyID8/IDk5IH0gfSxcbiAgICAgICAgICAgICAgbGFiZWw6IHsgdmlzaWJsZTogdHJ1ZSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSxcbn07XG5cbi8vI2VuZHJlZ2lvblxuIl19","import { AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { computedPropertiesMiddleware } from './computed-properties.middleware';\nimport { computedPropertiesPlugin } from './computed-properties.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPComputedPropertiesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComputedPropertiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComputedPropertiesModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComputedPropertiesModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: computedPropertiesPlugin },\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: computedPropertiesMiddleware },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPComputedPropertiesModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: computedPropertiesPlugin },\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: computedPropertiesMiddleware },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJvcGVydGllcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcHV0ZWQtcHJvcGVydGllcy9jb21wdXRlZC1wcm9wZXJ0aWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQVF4RSxNQUFNLE9BQU8sMkJBQTJCOzhHQUEzQiwyQkFBMkI7K0dBQTNCLDJCQUEyQjsrR0FBM0IsMkJBQTJCLGFBTDNCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7WUFDdEYsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUU7U0FDaEc7OzJGQUVVLDJCQUEyQjtrQkFOdkMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7d0JBQ3RGLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFO3FCQUNoRztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgQVhQX0VOVElUWV9TVE9SQUdFX01JRERMRVdBUkUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbXB1dGVkUHJvcGVydGllc01pZGRsZXdhcmUgfSBmcm9tICcuL2NvbXB1dGVkLXByb3BlcnRpZXMubWlkZGxld2FyZSc7XG5pbXBvcnQgeyBjb21wdXRlZFByb3BlcnRpZXNQbHVnaW4gfSBmcm9tICcuL2NvbXB1dGVkLXByb3BlcnRpZXMucGx1Z2luJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogY29tcHV0ZWRQcm9wZXJ0aWVzUGx1Z2luIH0sXG4gICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX1NUT1JBR0VfTUlERExFV0FSRSwgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBjb21wdXRlZFByb3BlcnRpZXNNaWRkbGV3YXJlIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXB1dGVkUHJvcGVydGllc01vZHVsZSB7fVxuIl19","import { AXPEntityCommandScope, createQueryView } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const disablePlugin = {\n name: 'disable',\n order: 70,\n apply: (ctx) => {\n ensureListActions(ctx);\n //#region ---- Add isDisabled Property ----\n // Ensure settings group exists\n const groupId = 'settings';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.settings' });\n }\n // Add isDisabled property if it doesn't exist\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'isDisabled')) {\n ctx.properties.add({\n name: 'isDisabled',\n title: '@general:terms.status.states.is-disabled',\n groupId,\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n // Default to false (not disabled)\n defaultValue: false,\n // trulyText: '@general:terms.disabled',\n // falsyText: '@general:terms.enabled',\n negative: true,\n nullValue: false,\n },\n },\n },\n validations: [],\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true }\n }\n }\n });\n }\n // Add isDisabled to columns for list view\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'isDisabled')) {\n ctx.columns.add({\n name: 'isDisabled',\n title: '@general:terms.status.states.is-enabled',\n width: 100,\n sortable: true,\n filterable: true,\n });\n }\n //#endregion\n //#region ---- Add Disable Actions ----\n ctx.interfaces.update((i) => {\n const disableCmdName = 'disable-entity';\n const enableCmdName = 'enable-entity';\n const bulkDisableCmdName = 'bulk-disable-entity';\n const bulkEnableCmdName = 'bulk-enable-entity';\n // Add disable action to list view\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, disableCmdName)) {\n listActions.push({\n title: '@general:actions.disable.title',\n command: {\n name: disableCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'disable',\n icon: 'fa-light fa-ban',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isDisabled\") }}`,\n });\n }\n // Add enable action to list view\n if (!actionExists(listActions, enableCmdName)) {\n listActions.push({\n title: '@general:actions.enable.title',\n command: {\n name: enableCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'enable',\n icon: 'fa-light fa-check',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ !context.eval(\"isDisabled\") }}`,\n });\n }\n // Add bulk disable action to list view\n if (!actionExists(listActions, bulkDisableCmdName)) {\n listActions.push({\n title: '@general:actions.bulk-disable.title',\n command: {\n name: bulkDisableCmdName,\n options: {\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'disable',\n icon: 'fa-light fa-ban',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n // Add bulk enable action to list view\n if (!actionExists(listActions, bulkEnableCmdName)) {\n listActions.push({\n title: '@general:actions.bulk-enable.title',\n command: {\n name: bulkEnableCmdName,\n options: {\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'enable',\n icon: 'fa-light fa-check',\n scope: AXPEntityCommandScope.Selected,\n });\n }\n // Add disable action to single view\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, disableCmdName)) {\n singleActions.push({\n title: '@general:actions.disable.title',\n command: {\n name: disableCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'disable',\n icon: 'fa-light fa-ban',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isDisabled\") }}`,\n });\n }\n // Add enable action to single view\n if (!actionExists(singleActions, enableCmdName)) {\n singleActions.push({\n title: '@general:actions.enable.title',\n command: {\n name: enableCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'enable',\n icon: 'fa-light fa-check',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ !context.eval(\"isDisabled\") }}`,\n });\n }\n return i;\n });\n //#endregion\n //#region ---- Update Interface Layouts ----\n // Ensure update view includes isDisabled\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isDisabled')) {\n next.properties.push({\n name: 'isDisabled',\n layout: {\n positions: { lg: { colSpan: 6, order: 95 } },\n },\n });\n }\n return next;\n });\n // Ensure single view includes isDisabled\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId, order: 150 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isDisabled')) {\n next.properties.push({\n name: 'isDisabled',\n layout: {\n positions: { lg: { colSpan: 6, order: 95 } },\n },\n });\n }\n return next;\n });\n // Add disabled view to show only disabled items\n ctx.interfaces.master.list.update((list) => {\n const next = list ?? { actions: [], views: [] };\n next.views = next.views ?? [];\n // Check if disabled view already exists\n if (!next.views.some((v) => v.name === 'disabled')) {\n next.views.push(createQueryView('disabled', '@general:terms.status.states.is-disabled', false, {\n conditions: [\n {\n name: 'isDisabled',\n operator: { type: 'equal' },\n value: true,\n hidden: true\n },\n ],\n sorts: [\n { name: 'disabledAt', dir: 'desc' },\n { name: 'title', dir: 'asc' },\n ],\n }));\n }\n return next;\n });\n //#endregion\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZGlzYWJsZS1wbHVnaW4vZGlzYWJsZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCO0lBQ2hELElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLCtDQUErQztRQUUvQywrQkFBK0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENB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QU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO3FCQUNoQztpQkFDSixDQUFDLENBQ0wsQ0FBQztZQUNOLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILFlBQVk7SUFDaEIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgY3JlYXRlUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGNvbnN0IGRpc2FibGVQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnZGlzYWJsZScsXG4gICAgb3JkZXI6IDcwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgaXNEaXNhYmxlZCBQcm9wZXJ0eSAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgc2V0dGluZ3MgZ3JvdXAgZXhpc3RzXG4gICAgICAgIGNvbnN0IGdyb3VwSWQgPSAnc2V0dGluZ3MnO1xuICAgICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pbnRlcmZhY2Uuc2V0dGluZ3MnIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBpc0Rpc2FibGVkIHByb3BlcnR5IGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0Rpc2FibGVkJykpIHtcbiAgICAgICAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2lzRGlzYWJsZWQnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuc3RhdHVzLnN0YXRlcy5pcy1kaXNhYmxlZCcsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlRvZ2dsZVN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGZhbHNlIChub3QgZGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnVseVRleHQ6ICdAZ2VuZXJhbDp0ZXJtcy5kaXNhYmxlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmFsc3lUZXh0OiAnQGdlbmVyYWw6dGVybXMuZW5hYmxlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVnYXRpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9uczogW10sXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBpc0Rpc2FibGVkIHRvIGNvbHVtbnMgZm9yIGxpc3Qgdmlld1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gY3R4LmNvbHVtbnMubGlzdCgpID8/IFtdO1xuICAgICAgICBpZiAoIWNvbHVtbnMuc29tZSgoYzogYW55KSA9PiBjLm5hbWUgPT09ICdpc0Rpc2FibGVkJykpIHtcbiAgICAgICAgICAgIGN0eC5jb2x1bW5zLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2lzRGlzYWJsZWQnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuc3RhdHVzLnN0YXRlcy5pcy1lbmFibGVkJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbHRlcmFibGU6IHRydWUsXG4gICAgICAgICAgICB9IGFzIGFueSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEFkZCBEaXNhYmxlIEFjdGlvbnMgICAtLS0tXG5cbiAgICAgICAgY3R4LmludGVyZmFjZXMudXBkYXRlKChpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlQ21kTmFtZSA9ICdkaXNhYmxlLWVudGl0eSc7XG4gICAgICAgICAgICBjb25zdCBlbmFibGVDbWROYW1lID0gJ2VuYWJsZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgYnVsa0Rpc2FibGVDbWROYW1lID0gJ2J1bGstZGlzYWJsZS1lbnRpdHknO1xuICAgICAgICAgICAgY29uc3QgYnVsa0VuYWJsZUNtZE5hbWUgPSAnYnVsay1lbmFibGUtZW50aXR5JztcblxuICAgICAgICAgICAgLy8gQWRkIGRpc2FibGUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgY29uc3QgbGlzdEFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlci5saXN0LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgZGlzYWJsZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5kaXNhYmxlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZGlzYWJsZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdkaXNhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWJhbicsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgY29udGV4dC5ldmFsKFwiaXNEaXNhYmxlZFwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBlbmFibGUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGVuYWJsZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5lbmFibGUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBlbmFibGVDbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZW5hYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNoZWNrJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGB7eyAhY29udGV4dC5ldmFsKFwiaXNEaXNhYmxlZFwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBidWxrIGRpc2FibGUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGJ1bGtEaXNhYmxlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstZGlzYWJsZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGJ1bGtEaXNhYmxlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Rpc2FibGUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYmFuJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIGJ1bGsgZW5hYmxlIGFjdGlvbiB0byBsaXN0IHZpZXdcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCBidWxrRW5hYmxlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstZW5hYmxlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYnVsa0VuYWJsZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdlbmFibGUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY2hlY2snLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgZGlzYWJsZSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgZGlzYWJsZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmRpc2FibGUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBkaXNhYmxlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Rpc2FibGUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYmFuJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGB7eyBjb250ZXh0LmV2YWwoXCJpc0Rpc2FibGVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIGVuYWJsZSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKHNpbmdsZUFjdGlvbnMsIGVuYWJsZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmVuYWJsZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGVuYWJsZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdlbmFibGUnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY2hlY2snLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7ICFjb250ZXh0LmV2YWwoXCJpc0Rpc2FibGVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIFVwZGF0ZSBJbnRlcmZhY2UgTGF5b3V0cyAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgdXBkYXRlIHZpZXcgaW5jbHVkZXMgaXNEaXNhYmxlZFxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gdXBkYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0Rpc2FibGVkJykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0Rpc2FibGVkJyxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDk1IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBFbnN1cmUgc2luZ2xlIHZpZXcgaW5jbHVkZXMgaXNEaXNhYmxlZFxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuc2luZ2xlLnVwZGF0ZSgoc2luZ2xlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcbiAgICAgICAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCwgb3JkZXI6IDE1MCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnaXNEaXNhYmxlZCcpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaXNEaXNhYmxlZCcsXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiA5NSB9IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWRkIGRpc2FibGVkIHZpZXcgdG8gc2hvdyBvbmx5IGRpc2FibGVkIGl0ZW1zXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5saXN0LnVwZGF0ZSgobGlzdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9IGxpc3QgPz8geyBhY3Rpb25zOiBbXSwgdmlld3M6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnZpZXdzID0gbmV4dC52aWV3cyA/PyBbXTtcblxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgZGlzYWJsZWQgdmlldyBhbHJlYWR5IGV4aXN0c1xuICAgICAgICAgICAgaWYgKCFuZXh0LnZpZXdzLnNvbWUoKHY6IGFueSkgPT4gdi5uYW1lID09PSAnZGlzYWJsZWQnKSkge1xuICAgICAgICAgICAgICAgIG5leHQudmlld3MucHVzaChcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlUXVlcnlWaWV3KCdkaXNhYmxlZCcsICdAZ2VuZXJhbDp0ZXJtcy5zdGF0dXMuc3RhdGVzLmlzLWRpc2FibGVkJywgZmFsc2UsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0Rpc2FibGVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ2Rpc2FibGVkQXQnLCBkaXI6ICdkZXNjJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgZGlyOiAnYXNjJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityDisabledEvent = createWorkFlowEvent('[Entity] Disabled');\nexport class AXPEntityDisableAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.disable.confirm.title'), await this.translationService.translateAsync('@general:actions.disable.confirm.message'), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.disable.confirm.processing'),\n mode: 'indeterminate',\n status: 'Disabling...',\n });\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare disable data\n const disableData = this.prepareDisableData(currentData);\n // Update the entity to mark it as disabled\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(disableData);\n context.setOutput('id', refId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && currentData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: currentData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error('Disable operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareDisableData(currentData) {\n const disableData = { ...currentData };\n // Set the disabled flag\n disableData.isDisabled = true;\n // Optionally add disable timestamp\n disableData.disabledAt = new Date();\n return disableData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityDisableSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const id = context.getOutput('id');\n const meta = context.getVariable('meta');\n // Dispatch disable event\n this.dispatch(AXPEntityDisabledEvent({\n entity: refType,\n id,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityDisableSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPDisableEntityWorkflow = {\n startStepId: 'disable-entity',\n steps: {\n 'disable-entity': {\n action: 'AXPEntityDisableAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-disabled',\n content: 'workflow.entity-disabled-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'disable-success',\n },\n ],\n },\n 'disable-success': {\n action: 'AXPEntityDisableSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS1lbnRpdHkud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZGlzYWJsZS1wbHVnaW4vd29ya2Zsb3dzL2Rpc2FibGUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxtQkFBbUIsQ0FDckQsbUJBQW1CLENBQ3RCLENBQUM7QUFHRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsaUJBQWlCO0lBRDdEOztRQUVZLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQWlHN0Q7SUEvRkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FB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O29CQUN4RixVQUFVLEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakMsT0FBTyxFQUFFLCtCQUErQjthQUMzQztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsaUJBQWlCO2lCQUNoQzthQUNKO1NBQ0o7UUFDRCxpQkFBaUIsRUFBRTtZQUNmLE1BQU0sRUFBRSwrQkFBK0I7U0FDMUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eURpc2FibGVkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IGlkOiBzdHJpbmc7IG1ldGE/OiBhbnkgfT4oXG4gICAgJ1tFbnRpdHldIERpc2FibGVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEaXNhYmxlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcblxuICAgICAgICBpZiAoIXJlZklkIHx8ICFyZWZUeXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmSWQgYW5kIHJlZlR5cGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuZGlzYWJsZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5kaXNhYmxlLmNvbmZpcm0ubWVzc2FnZScpLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5kaXNhYmxlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnRGlzYWJsaW5nLi4uJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgcmVmSWQpO1xuXG4gICAgICAgICAgICAvLyBQcmVwYXJlIGRpc2FibGUgZGF0YVxuICAgICAgICAgICAgY29uc3QgZGlzYWJsZURhdGEgPSB0aGlzLnByZXBhcmVEaXNhYmxlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW50aXR5IHRvIG1hcmsgaXQgYXMgZGlzYWJsZWRcbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcy51cGRhdGUuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVFeGVjKGRpc2FibGVEYXRhKTtcblxuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpZCcsIHJlZklkKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIC8vIFNldCByZWZyZXNoIG1ldGFkYXRhXG4gICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtZXRhJywgeyByZWZyZXNoVGFyZ2V0SWQ6IGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRGlzYWJsZSBvcGVyYXRpb24gZmFpbGVkOicsIGVycm9yKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgdHJ1ZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBsb2FkaW5nRGlhbG9nLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldEVudGl0eURhdGEocmVmVHlwZTogc3RyaW5nLCByZWZJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFVzZSB0aGUgZW50aXR5J3MgYnlLZXkgcXVlcnkgdG8gZ2V0IGFjdHVhbCBkYXRhXG4gICAgICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBjb25zdCBlbnRpdHlEZWZpbml0aW9uID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcblxuICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucXVlcmllcz8uYnlLZXkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgcXVlcnlFeGVjKHJlZklkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRmFsbGJhY2sgdG8gYmFzaWMgc3RydWN0dXJlIGlmIG5vIHF1ZXJ5IGF2YWlsYWJsZVxuICAgICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlZklkIH07XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gcmV0cmlldmUgZW50aXR5IGRhdGE6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcmV0cmlldmUgZW50aXR5IGRhdGE6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVEaXNhYmxlRGF0YShjdXJyZW50RGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgZGlzYWJsZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBkaXNhYmxlZCBmbGFnXG4gICAgICAgIGRpc2FibGVEYXRhLmlzRGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgIC8vIE9wdGlvbmFsbHkgYWRkIGRpc2FibGUgdGltZXN0YW1wXG4gICAgICAgIGRpc2FibGVEYXRhLmRpc2FibGVkQXQgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBkaXNhYmxlRGF0YTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEaXNhYmxlU3VjY2Vzc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgaWQgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmc+KCdpZCcpO1xuICAgICAgICBjb25zdCBtZXRhID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdtZXRhJyk7XG5cbiAgICAgICAgLy8gRGlzcGF0Y2ggZGlzYWJsZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5RGlzYWJsZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBEaXNhYmxlRW50aXR5V29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICAgIHN0YXJ0U3RlcElkOiAnZGlzYWJsZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdkaXNhYmxlLWVudGl0eSc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eURpc2FibGVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWRpc2FibGVkJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LWRpc2FibGVkLWJvZHknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdkaXNhYmxlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnZGlzYWJsZS1zdWNjZXNzJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5RGlzYWJsZVN1Y2Nlc3NBY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityEnabledEvent = createWorkFlowEvent('[Entity] Enabled');\nexport class AXPEntityEnableAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n if (!refId || !refType) {\n throw new Error('Missing required parameters: refId and refType');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.enable.confirm.title'), await this.translationService.translateAsync('@general:actions.enable.confirm.message'), 'success', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.enable.confirm.processing'),\n mode: 'indeterminate',\n status: 'Enabling...',\n });\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare enable data\n const enableData = this.prepareEnableData(currentData);\n // Update the entity to mark it as enabled\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(enableData);\n context.setOutput('id', refId);\n context.setOutput('isCanceled', false);\n // Set refresh metadata\n if (entityDefinition.parentKey && currentData[entityDefinition.parentKey]) {\n context.setVariable('meta', { refreshTargetId: currentData[entityDefinition.parentKey] });\n }\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error('Enable operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareEnableData(currentData) {\n const enableData = { ...currentData };\n // Set the disabled flag to false\n enableData.isDisabled = false;\n // Optionally add enable timestamp\n enableData.enabledAt = new Date();\n return enableData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityEnableSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const id = context.getOutput('id');\n const meta = context.getVariable('meta');\n // Dispatch enable event\n this.dispatch(AXPEntityEnabledEvent({\n entity: refType,\n id,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityEnableSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPEnableEntityWorkflow = {\n startStepId: 'enable-entity',\n steps: {\n 'enable-entity': {\n action: 'AXPEntityEnableAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-enabled',\n content: 'workflow.entity-enabled-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'enable-success',\n },\n ],\n },\n 'enable-success': {\n action: 'AXPEntityEnableSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5hYmxlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9kaXNhYmxlLXBsdWdpbi93b3JrZmxvd3MvZW5hYmxlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsbUJBQW1CLENBQ3BELGtCQUFrQixDQUNyQixDQUFDO0FBR0YsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUQ1RDs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FpRzdEO0lBL0ZHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcs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RixVQUFVLEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLHlCQUF5QjtnQkFDaEMsT0FBTyxFQUFFLDhCQUE4QjthQUMxQztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsZ0JBQWdCO2lCQUMvQjthQUNKO1NBQ0o7UUFDRCxnQkFBZ0IsRUFBRTtZQUNkLE1BQU0sRUFBRSw4QkFBOEI7U0FDekM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUVuYWJsZWRFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyBlbnRpdHk6IHN0cmluZzsgaWQ6IHN0cmluZzsgbWV0YT86IGFueSB9PihcbiAgICAnW0VudGl0eV0gRW5hYmxlZCcsXG4pO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5RW5hYmxlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcblxuICAgICAgICBpZiAoIXJlZklkIHx8ICFyZWZUeXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmSWQgYW5kIHJlZlR5cGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuZW5hYmxlLmNvbmZpcm0udGl0bGUnKSxcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmVuYWJsZS5jb25maXJtLm1lc3NhZ2UnKSxcbiAgICAgICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgICAgICdob3Jpem9udGFsJyxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgJ2NhbmNlbCdcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWRpYWxvZ1Jlc3VsdC5yZXN1bHQpIHtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgdHJ1ZSk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCAnT3BlcmF0aW9uIGNhbmNlbGxlZCBieSB1c2VyJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaG93IGxvYWRpbmcgZGlhbG9nXG4gICAgICAgIGNvbnN0IGxvYWRpbmdEaWFsb2cgPSB0aGlzLmxvYWRpbmdEaWFsb2cuc2hvdyh7XG4gICAgICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuZW5hYmxlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnRW5hYmxpbmcuLi4nLFxuICAgICAgICB9KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGVudGl0eSBkYXRhXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0YSA9IGF3YWl0IHRoaXMuZ2V0RW50aXR5RGF0YShyZWZUeXBlLCByZWZJZCk7XG5cbiAgICAgICAgICAgIC8vIFByZXBhcmUgZW5hYmxlIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IGVuYWJsZURhdGEgPSB0aGlzLnByZXBhcmVFbmFibGVEYXRhKGN1cnJlbnREYXRhKTtcblxuICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBlbnRpdHkgdG8gbWFyayBpdCBhcyBlbmFibGVkXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcz8udXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMudXBkYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyhlbmFibGVEYXRhKTtcblxuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpZCcsIHJlZklkKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIC8vIFNldCByZWZyZXNoIG1ldGFkYXRhXG4gICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24ucGFyZW50S2V5ICYmIGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtZXRhJywgeyByZWZyZXNoVGFyZ2V0SWQ6IGN1cnJlbnREYXRhW2VudGl0eURlZmluaXRpb24ucGFyZW50S2V5XSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRW5hYmxlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZUVuYWJsZURhdGEoY3VycmVudERhdGE6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGVuYWJsZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBkaXNhYmxlZCBmbGFnIHRvIGZhbHNlXG4gICAgICAgIGVuYWJsZURhdGEuaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIE9wdGlvbmFsbHkgYWRkIGVuYWJsZSB0aW1lc3RhbXBcbiAgICAgICAgZW5hYmxlRGF0YS5lbmFibGVkQXQgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBlbmFibGVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUVuYWJsZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IGlkID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nPignaWQnKTtcbiAgICAgICAgY29uc3QgbWV0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignbWV0YScpO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIGVuYWJsZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5RW5hYmxlZEV2ZW50KHtcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHJlZlR5cGUsXG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgbWV0YVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgZW50aXR5IGxpc3RcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUFJlZnJlc2hFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUEVuYWJsZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2VuYWJsZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdlbmFibGUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5RW5hYmxlQWN0aW9uJyxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcImlzQ2FuY2VsZWRcIikgPT0gZmFsc2UnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1zdWNjZXNzLXRvYXN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctc3VjY2Vzcy10b2FzdCc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ3dvcmtmbG93LmVudGl0eS1lbmFibGVkJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LWVuYWJsZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ2VuYWJsZS1zdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2VuYWJsZS1zdWNjZXNzJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5RW5hYmxlU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityBulkDisabledEvent = createWorkFlowEvent('[Entity] Bulk Disabled');\nexport class AXPEntityBulkDisableAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const data = context.getVariable('data');\n const selectedIds = Array.isArray(data) ? data.map((c) => c.id) : data ? [data.id] : [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and data');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.bulk-disable.confirm.title'), await this.translationService.translateAsync('@general:actions.bulk-disable.confirm.message', {\n params: { count: selectedIds.length }\n }), 'warning', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.bulk-disable.confirm.processing'),\n mode: 'indeterminate',\n status: 'Disabling items...',\n });\n try {\n const results = [];\n const errors = [];\n // Process each selected item\n for (const refId of selectedIds) {\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare disable data\n const disableData = this.prepareDisableData(currentData);\n // Update the entity to mark it as disabled\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(disableData);\n results.push(refId);\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error(`Failed to disable entity ${refId}:`, error);\n errors.push({ id: refId, error: error instanceof Error ? error.message : 'Unknown error' });\n }\n }\n context.setOutput('processedIds', results);\n context.setOutput('errors', errors);\n context.setOutput('isCanceled', false);\n }\n catch (error) {\n console.error('Bulk disable operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareDisableData(currentData) {\n const disableData = { ...currentData };\n // Set the disabled flag\n disableData.isDisabled = true;\n // Optionally add disable timestamp\n disableData.disabledAt = new Date();\n return disableData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityBulkDisableSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const processedIds = context.getOutput('processedIds') || [];\n const errors = context.getOutput('errors') || [];\n const meta = context.getVariable('meta');\n // Dispatch bulk disable event\n this.dispatch(AXPEntityBulkDisabledEvent({\n entity: refType,\n ids: processedIds,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n // Show error summary if there were any errors\n if (errors.length > 0) {\n const errorMessage = errors.map(e => `${e.id}: ${e.error}`).join('\\n');\n console.warn('Some items failed to disable:', errorMessage);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkDisableSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPBulkDisableEntityWorkflow = {\n startStepId: 'bulk-disable-entity',\n steps: {\n 'bulk-disable-entity': {\n action: 'AXPEntityBulkDisableAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-bulk-disabled',\n content: 'workflow.entity-bulk-disabled-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'bulk-disable-success',\n },\n ],\n },\n 'bulk-disable-success': {\n action: 'AXPEntityBulkDisableSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1kaXNhYmxlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9kaXNhYmxlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1kaXNhYmxlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsbUJBQW1CLENBQ3pELHdCQUF3QixDQUMzQixDQUFDO0FBR0YsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0E2RzdEO0lBM0dHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FB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QUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLDBDQUEwQyxFQUFFLENBQUM7b0JBQ3hGLFVBQVUsRUFBRSxvQkFBb0I7aUJBQ25DO2FBQ0o7U0FDSjtRQUNELG9CQUFvQixFQUFFO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNILEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsK0JBQStCO2dCQUN0QyxPQUFPLEVBQUUsb0NBQW9DO2FBQ2hEO1lBQ0QsU0FBUyxFQUFFO2dCQUNQO29CQUNJLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxzQkFBc0I7aUJBQ3JDO2FBQ0o7U0FDSjtRQUNELHNCQUFzQixFQUFFO1lBQ3BCLE1BQU0sRUFBRSxtQ0FBbUM7U0FDOUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUJ1bGtEaXNhYmxlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBCdWxrIERpc2FibGVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlCdWxrRGlzYWJsZUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdGVyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGxvYWRpbmdEaWFsb2cgPSBpbmplY3QoQVhMb2FkaW5nRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ2RhdGEnKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBBcnJheS5pc0FycmF5KGRhdGEpID8gZGF0YS5tYXAoKGMpID0+IGMuaWQpIDogZGF0YSA/IFtkYXRhLmlkXSA6IFtdO1xuXG4gICAgICAgIGlmICghcmVmVHlwZSB8fCBzZWxlY3RlZElkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBwYXJhbWV0ZXJzOiByZWZUeXBlIGFuZCBkYXRhJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgIC8vIFNob3cgY29uZmlybWF0aW9uIGRpYWxvZ1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybShcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstZGlzYWJsZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWRpc2FibGUuY29uZmlybS5tZXNzYWdlJywge1xuICAgICAgICAgICAgICAgIHBhcmFtczogeyBjb3VudDogc2VsZWN0ZWRJZHMubGVuZ3RoIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWRpc2FibGUuY29uZmlybS5wcm9jZXNzaW5nJyksXG4gICAgICAgICAgICBtb2RlOiAnaW5kZXRlcm1pbmF0ZScsXG4gICAgICAgICAgICBzdGF0dXM6ICdEaXNhYmxpbmcgaXRlbXMuLi4nLFxuICAgICAgICB9KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgICAgICAgICAgIC8vIFByb2Nlc3MgZWFjaCBzZWxlY3RlZCBpdGVtXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlZklkIG9mIHNlbGVjdGVkSWRzKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGVudGl0eSBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gYXdhaXQgdGhpcy5nZXRFbnRpdHlEYXRhKHJlZlR5cGUsIHJlZklkKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBQcmVwYXJlIGRpc2FibGUgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXNhYmxlRGF0YSA9IHRoaXMucHJlcGFyZURpc2FibGVEYXRhKGN1cnJlbnREYXRhKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGVudGl0eSB0byBtYXJrIGl0IGFzIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzLnVwZGF0ZS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyhkaXNhYmxlRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2gocmVmSWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbnRpdHkgZG9lcyBub3Qgc3VwcG9ydCB1cGRhdGUgb3BlcmF0aW9uJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZGlzYWJsZSBlbnRpdHkgJHtyZWZJZH06YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnMucHVzaCh7IGlkOiByZWZJZCwgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Byb2Nlc3NlZElkcycsIHJlc3VsdHMpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9ycycsIGVycm9ycyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQnVsayBkaXNhYmxlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZURpc2FibGVEYXRhKGN1cnJlbnREYXRhOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCBkaXNhYmxlRGF0YSA9IHsgLi4uY3VycmVudERhdGEgfTtcblxuICAgICAgICAvLyBTZXQgdGhlIGRpc2FibGVkIGZsYWdcbiAgICAgICAgZGlzYWJsZURhdGEuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgLy8gT3B0aW9uYWxseSBhZGQgZGlzYWJsZSB0aW1lc3RhbXBcbiAgICAgICAgZGlzYWJsZURhdGEuZGlzYWJsZWRBdCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIGRpc2FibGVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtEaXNhYmxlU3VjY2Vzc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgcHJvY2Vzc2VkSWRzID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nW10+KCdwcm9jZXNzZWRJZHMnKSB8fCBbXTtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gY29udGV4dC5nZXRPdXRwdXQ8YW55W10+KCdlcnJvcnMnKSB8fCBbXTtcbiAgICAgICAgY29uc3QgbWV0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignbWV0YScpO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIGJ1bGsgZGlzYWJsZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QnVsa0Rpc2FibGVkRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBpZHM6IHByb2Nlc3NlZElkcyxcbiAgICAgICAgICAgICAgICBtZXRhXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBSZWZyZXNoIHRoZSBlbnRpdHkgbGlzdFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQUmVmcmVzaEV2ZW50KHtcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHJlZlR5cGUsXG4gICAgICAgICAgICAgICAgbWV0YVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gU2hvdyBlcnJvciBzdW1tYXJ5IGlmIHRoZXJlIHdlcmUgYW55IGVycm9yc1xuICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9ycy5tYXAoZSA9PiBgJHtlLmlkfTogJHtlLmVycm9yfWApLmpvaW4oJ1xcbicpO1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdTb21lIGl0ZW1zIGZhaWxlZCB0byBkaXNhYmxlOicsIGVycm9yTWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBCdWxrRGlzYWJsZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2J1bGstZGlzYWJsZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdidWxrLWRpc2FibGUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5QnVsa0Rpc2FibGVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWJ1bGstZGlzYWJsZWQnLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd3b3JrZmxvdy5lbnRpdHktYnVsay1kaXNhYmxlZC1ib2R5JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnYnVsay1kaXNhYmxlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYnVsay1kaXNhYmxlLXN1Y2Nlc3MnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrRGlzYWJsZVN1Y2Nlc3NBY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nexport const AXPEntityBulkEnabledEvent = createWorkFlowEvent('[Entity] Bulk Enabled');\nexport class AXPEntityBulkEnableAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.entityRegistery = inject(AXPEntityDefinitionRegistryService);\n this.dialogService = inject(AXDialogService);\n this.loadingDialog = inject(AXLoadingDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const data = context.getVariable('data');\n const selectedIds = Array.isArray(data) ? data.map((c) => c.id) : data ? [data.id] : [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and data');\n }\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@general:actions.bulk-enable.confirm.title'), await this.translationService.translateAsync('@general:actions.bulk-enable.confirm.message', {\n params: { count: selectedIds.length }\n }), 'success', 'horizontal', false, 'cancel');\n if (!dialogResult.result) {\n context.setOutput('isCanceled', true);\n context.setOutput('error', 'Operation cancelled by user');\n return;\n }\n // Show loading dialog\n const loadingDialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('@general:actions.bulk-enable.confirm.processing'),\n mode: 'indeterminate',\n status: 'Enabling items...',\n });\n try {\n const results = [];\n const errors = [];\n // Process each selected item\n for (const refId of selectedIds) {\n try {\n // Get the current entity data\n const currentData = await this.getEntityData(refType, refId);\n // Prepare enable data\n const enableData = this.prepareEnableData(currentData);\n // Update the entity to mark it as enabled\n if (entityDefinition.commands?.update) {\n const updateExec = entityDefinition.commands.update.execute;\n await updateExec(enableData);\n results.push(refId);\n }\n else {\n throw new Error('Entity does not support update operation');\n }\n }\n catch (error) {\n console.error(`Failed to enable entity ${refId}:`, error);\n errors.push({ id: refId, error: error instanceof Error ? error.message : 'Unknown error' });\n }\n }\n context.setOutput('processedIds', results);\n context.setOutput('errors', errors);\n context.setOutput('isCanceled', false);\n }\n catch (error) {\n console.error('Bulk enable operation failed:', error);\n context.setOutput('error', error instanceof Error ? error.message : 'Unknown error');\n context.setOutput('isCanceled', true);\n }\n finally {\n loadingDialog.close();\n }\n }\n async getEntityData(refType, refId) {\n try {\n // Use the entity's byKey query to get actual data\n const [moduleName, entityName] = refType.split('.');\n const entityDefinition = await this.entityRegistery.resolve(moduleName, entityName);\n if (entityDefinition.queries?.byKey) {\n const queryExec = entityDefinition.queries.byKey.execute;\n return await queryExec(refId);\n }\n // Fallback to basic structure if no query available\n return { id: refId };\n }\n catch (error) {\n console.error('Failed to retrieve entity data:', error);\n throw new Error(`Failed to retrieve entity data: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }\n prepareEnableData(currentData) {\n const enableData = { ...currentData };\n // Set the disabled flag to false\n enableData.isDisabled = false;\n // Optionally add enable timestamp\n enableData.enabledAt = new Date();\n return enableData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPEntityBulkEnableSuccessAction extends AXPWorkflowAction {\n async execute(context) {\n const refType = context.getVariable('options.refType');\n const processedIds = context.getOutput('processedIds') || [];\n const errors = context.getOutput('errors') || [];\n const meta = context.getVariable('meta');\n // Dispatch bulk enable event\n this.dispatch(AXPEntityBulkEnabledEvent({\n entity: refType,\n ids: processedIds,\n meta\n }));\n // Refresh the entity list\n this.dispatch(AXPRefreshEvent({\n entity: refType,\n meta\n }));\n // Show error summary if there were any errors\n if (errors.length > 0) {\n const errorMessage = errors.map(e => `${e.id}: ${e.error}`).join('\\n');\n console.warn('Some items failed to enable:', errorMessage);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPEntityBulkEnableSuccessAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPBulkEnableEntityWorkflow = {\n startStepId: 'bulk-enable-entity',\n steps: {\n 'bulk-enable-entity': {\n action: 'AXPEntityBulkEnableAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'show-success-toast',\n },\n ],\n },\n 'show-success-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-bulk-enabled',\n content: 'workflow.entity-bulk-enabled-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'bulk-enable-success',\n },\n ],\n },\n 'bulk-enable-success': {\n action: 'AXPEntityBulkEnableSuccessAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1lbmFibGUtZW50aXR5LndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2Rpc2FibGUtcGx1Z2luL3dvcmtmbG93cy9idWxrLWVuYWJsZS1lbnRpdHkud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRXBGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLG1CQUFtQixDQUN4RCx1QkFBdUIsQ0FDMUIsQ0FBQztBQUdGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQkFBaUI7SUFEaEU7O1FBRVksb0JBQWUsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUM3RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQy9DLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBNkc3RDtJQTNHRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLE9BQU8s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RSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSwwQ0FBMEMsRUFBRSxDQUFDO29CQUN4RixVQUFVLEVBQUUsb0JBQW9CO2lCQUNuQzthQUNKO1NBQ0o7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLDhCQUE4QjtnQkFDckMsT0FBTyxFQUFFLG1DQUFtQzthQUMvQztZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUscUJBQXFCO2lCQUNwQzthQUNKO1NBQ0o7UUFDRCxxQkFBcUIsRUFBRTtZQUNuQixNQUFNLEVBQUUsa0NBQWtDO1NBQzdDO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUmVmcmVzaEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQsIGNyZWF0ZVdvcmtGbG93RXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlCdWxrRW5hYmxlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBCdWxrIEVuYWJsZWQnLFxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtFbmFibGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgcHJpdmF0ZSBlbnRpdHlSZWdpc3RlcnkgPSBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSBsb2FkaW5nRGlhbG9nID0gaW5qZWN0KEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuICAgICAgICBjb25zdCBkYXRhID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhJyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEubWFwKChjKSA9PiBjLmlkKSA6IGRhdGEgPyBbZGF0YS5pZF0gOiBbXTtcblxuICAgICAgICBpZiAoIXJlZlR5cGUgfHwgc2VsZWN0ZWRJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmVHlwZSBhbmQgZGF0YScpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlEZWZpbml0aW9uID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcblxuICAgICAgICAvLyBTaG93IGNvbmZpcm1hdGlvbiBkaWFsb2dcbiAgICAgICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWVuYWJsZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWVuYWJsZS5jb25maXJtLm1lc3NhZ2UnLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7IGNvdW50OiBzZWxlY3RlZElkcy5sZW5ndGggfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAnc3VjY2VzcycsXG4gICAgICAgICAgICAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICdjYW5jZWwnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFkaWFsb2dSZXN1bHQucmVzdWx0KSB7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgJ09wZXJhdGlvbiBjYW5jZWxsZWQgYnkgdXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBsb2FkaW5nIGRpYWxvZ1xuICAgICAgICBjb25zdCBsb2FkaW5nRGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstZW5hYmxlLmNvbmZpcm0ucHJvY2Vzc2luZycpLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICAgICAgICAgc3RhdHVzOiAnRW5hYmxpbmcgaXRlbXMuLi4nLFxuICAgICAgICB9KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgICAgICAgICAgIC8vIFByb2Nlc3MgZWFjaCBzZWxlY3RlZCBpdGVtXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlZklkIG9mIHNlbGVjdGVkSWRzKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IGVudGl0eSBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gYXdhaXQgdGhpcy5nZXRFbnRpdHlEYXRhKHJlZlR5cGUsIHJlZklkKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBQcmVwYXJlIGVuYWJsZSBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuYWJsZURhdGEgPSB0aGlzLnByZXBhcmVFbmFibGVEYXRhKGN1cnJlbnREYXRhKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGVudGl0eSB0byBtYXJrIGl0IGFzIGVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVudGl0eURlZmluaXRpb24uY29tbWFuZHM/LnVwZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlRXhlYyA9IGVudGl0eURlZmluaXRpb24uY29tbWFuZHMudXBkYXRlLmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVFeGVjKGVuYWJsZURhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHJlZklkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW50aXR5IGRvZXMgbm90IHN1cHBvcnQgdXBkYXRlIG9wZXJhdGlvbicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGVuYWJsZSBlbnRpdHkgJHtyZWZJZH06YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnMucHVzaCh7IGlkOiByZWZJZCwgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Byb2Nlc3NlZElkcycsIHJlc3VsdHMpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9ycycsIGVycm9ycyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQnVsayBlbmFibGUgb3BlcmF0aW9uIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZXJyb3InLCBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgbG9hZGluZ0RpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRFbnRpdHlEYXRhKHJlZlR5cGU6IHN0cmluZywgcmVmSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBVc2UgdGhlIGVudGl0eSdzIGJ5S2V5IHF1ZXJ5IHRvIGdldCBhY3R1YWwgZGF0YVxuICAgICAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gcmVmVHlwZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLnF1ZXJpZXM/LmJ5S2V5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzLmJ5S2V5LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHF1ZXJ5RXhlYyhyZWZJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIGJhc2ljIHN0cnVjdHVyZSBpZiBubyBxdWVyeSBhdmFpbGFibGVcbiAgICAgICAgICAgIHJldHVybiB7IGlkOiByZWZJZCB9O1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIGVudGl0eSBkYXRhOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlRW5hYmxlRGF0YShjdXJyZW50RGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgZW5hYmxlRGF0YSA9IHsgLi4uY3VycmVudERhdGEgfTtcblxuICAgICAgICAvLyBTZXQgdGhlIGRpc2FibGVkIGZsYWcgdG8gZmFsc2VcbiAgICAgICAgZW5hYmxlRGF0YS5pc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICAgICAgLy8gT3B0aW9uYWxseSBhZGQgZW5hYmxlIHRpbWVzdGFtcFxuICAgICAgICBlbmFibGVEYXRhLmVuYWJsZWRBdCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIGVuYWJsZURhdGE7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5QnVsa0VuYWJsZVN1Y2Nlc3NBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NlZElkcyA9IGNvbnRleHQuZ2V0T3V0cHV0PHN0cmluZ1tdPigncHJvY2Vzc2VkSWRzJykgfHwgW107XG4gICAgICAgIGNvbnN0IGVycm9ycyA9IGNvbnRleHQuZ2V0T3V0cHV0PGFueVtdPignZXJyb3JzJykgfHwgW107XG4gICAgICAgIGNvbnN0IG1ldGEgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ21ldGEnKTtcblxuICAgICAgICAvLyBEaXNwYXRjaCBidWxrIGVuYWJsZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QnVsa0VuYWJsZWRFdmVudCh7XG4gICAgICAgICAgICAgICAgZW50aXR5OiByZWZUeXBlLFxuICAgICAgICAgICAgICAgIGlkczogcHJvY2Vzc2VkSWRzLFxuICAgICAgICAgICAgICAgIG1ldGFcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBTaG93IGVycm9yIHN1bW1hcnkgaWYgdGhlcmUgd2VyZSBhbnkgZXJyb3JzXG4gICAgICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3JzLm1hcChlID0+IGAke2UuaWR9OiAke2UuZXJyb3J9YCkuam9pbignXFxuJyk7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1NvbWUgaXRlbXMgZmFpbGVkIHRvIGVuYWJsZTonLCBlcnJvck1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhQQnVsa0VuYWJsZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2J1bGstZW5hYmxlLWVudGl0eScsXG4gICAgc3RlcHM6IHtcbiAgICAgICAgJ2J1bGstZW5hYmxlLWVudGl0eSc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtFbmFibGVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWJ1bGstZW5hYmxlZCcsXG4gICAgICAgICAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1idWxrLWVuYWJsZWQtYm9keScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ2J1bGstZW5hYmxlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYnVsay1lbmFibGUtc3VjY2Vzcyc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUEVudGl0eUJ1bGtFbmFibGVTdWNjZXNzQWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcbiJdfQ==","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { disablePlugin } from './disable.plugin';\nimport { AXPDisableEntityWorkflow, AXPEntityDisableAction, AXPEntityDisableSuccessAction, AXPEnableEntityWorkflow, AXPEntityEnableAction, AXPEntityEnableSuccessAction, AXPBulkDisableEntityWorkflow, AXPEntityBulkDisableAction, AXPEntityBulkDisableSuccessAction, AXPBulkEnableEntityWorkflow, AXPEntityBulkEnableAction, AXPEntityBulkEnableSuccessAction } from './workflows';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPDisablePluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPDisablePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPDisablePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPDisablePluginModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: disablePlugin },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n AXPEntityDisableAction,\n AXPEntityDisableSuccessAction,\n AXPEntityEnableAction,\n AXPEntityEnableSuccessAction,\n AXPEntityBulkDisableAction,\n AXPEntityBulkDisableSuccessAction,\n AXPEntityBulkEnableAction,\n AXPEntityBulkEnableSuccessAction,\n },\n workflows: {\n 'disable-entity': AXPDisableEntityWorkflow,\n 'enable-entity': AXPEnableEntityWorkflow,\n 'bulk-disable-entity': AXPBulkDisableEntityWorkflow,\n 'bulk-enable-entity': AXPBulkEnableEntityWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPDisablePluginModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityDisableAction,\n AXPEntityDisableSuccessAction,\n AXPEntityEnableAction,\n AXPEntityEnableSuccessAction,\n AXPEntityBulkDisableAction,\n AXPEntityBulkDisableSuccessAction,\n AXPEntityBulkEnableAction,\n AXPEntityBulkEnableSuccessAction,\n },\n workflows: {\n 'disable-entity': AXPDisableEntityWorkflow,\n 'enable-entity': AXPEnableEntityWorkflow,\n 'bulk-disable-entity': AXPBulkDisableEntityWorkflow,\n 'bulk-enable-entity': AXPBulkEnableEntityWorkflow,\n },\n }),\n ],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: disablePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2Rpc2FibGUtcGx1Z2luL2Rpc2FibGUtcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0Qiw2QkFBNkIsRUFDN0IsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLDBCQUEwQixFQUMxQixpQ0FBaUMsRUFDakMsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDbkMsTUFBTSxhQUFhLENBQUM7OztBQTJCckIsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixhQUpwQjtZQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRTtTQUM5RSxZQXJCRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDTCxzQkFBc0I7b0JBQ3RCLDZCQUE2QjtvQkFDN0IscUJBQXFCO29CQUNyQiw0QkFBNEI7b0JBQzVCLDBCQUEwQjtvQkFDMUIsaUNBQWlDO29CQUNqQyx5QkFBeUI7b0JBQ3pCLGdDQUFnQztpQkFDbkM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLGdCQUFnQixFQUFFLHdCQUF3QjtvQkFDMUMsZUFBZSxFQUFFLHVCQUF1QjtvQkFDeEMscUJBQXFCLEVBQUUsNEJBQTRCO29CQUNuRCxvQkFBb0IsRUFBRSwyQkFBMkI7aUJBQ3BEO2FBQ0osQ0FBQzs7MkZBTUcsc0JBQXNCO2tCQXpCbEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCLENBQUMsUUFBUSxDQUFDOzRCQUN2QixPQUFPLEVBQUU7Z0NBQ0wsc0JBQXNCO2dDQUN0Qiw2QkFBNkI7Z0NBQzdCLHFCQUFxQjtnQ0FDckIsNEJBQTRCO2dDQUM1QiwwQkFBMEI7Z0NBQzFCLGlDQUFpQztnQ0FDakMseUJBQXlCO2dDQUN6QixnQ0FBZ0M7NkJBQ25DOzRCQUNELFNBQVMsRUFBRTtnQ0FDUCxnQkFBZ0IsRUFBRSx3QkFBd0I7Z0NBQzFDLGVBQWUsRUFBRSx1QkFBdUI7Z0NBQ3hDLHFCQUFxQixFQUFFLDRCQUE0QjtnQ0FDbkQsb0JBQW9CLEVBQUUsMkJBQTJCOzZCQUNwRDt5QkFDSixDQUFDO3FCQUNMO29CQUNELFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7cUJBQzlFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgZGlzYWJsZVBsdWdpbiB9IGZyb20gJy4vZGlzYWJsZS5wbHVnaW4nO1xuaW1wb3J0IHtcbiAgICBBWFBEaXNhYmxlRW50aXR5V29ya2Zsb3csXG4gICAgQVhQRW50aXR5RGlzYWJsZUFjdGlvbixcbiAgICBBWFBFbnRpdHlEaXNhYmxlU3VjY2Vzc0FjdGlvbixcbiAgICBBWFBFbmFibGVFbnRpdHlXb3JrZmxvdyxcbiAgICBBWFBFbnRpdHlFbmFibGVBY3Rpb24sXG4gICAgQVhQRW50aXR5RW5hYmxlU3VjY2Vzc0FjdGlvbixcbiAgICBBWFBCdWxrRGlzYWJsZUVudGl0eVdvcmtmbG93LFxuICAgIEFYUEVudGl0eUJ1bGtEaXNhYmxlQWN0aW9uLFxuICAgIEFYUEVudGl0eUJ1bGtEaXNhYmxlU3VjY2Vzc0FjdGlvbixcbiAgICBBWFBCdWxrRW5hYmxlRW50aXR5V29ya2Zsb3csXG4gICAgQVhQRW50aXR5QnVsa0VuYWJsZUFjdGlvbixcbiAgICBBWFBFbnRpdHlCdWxrRW5hYmxlU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuL3dvcmtmbG93cyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgICAgICBhY3Rpb25zOiB7XG4gICAgICAgICAgICAgICAgQVhQRW50aXR5RGlzYWJsZUFjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlEaXNhYmxlU3VjY2Vzc0FjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlFbmFibGVBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5RW5hYmxlU3VjY2Vzc0FjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlCdWxrRGlzYWJsZUFjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlCdWxrRGlzYWJsZVN1Y2Nlc3NBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhQRW50aXR5QnVsa0VuYWJsZUFjdGlvbixcbiAgICAgICAgICAgICAgICBBWFBFbnRpdHlCdWxrRW5hYmxlU3VjY2Vzc0FjdGlvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3b3JrZmxvd3M6IHtcbiAgICAgICAgICAgICAgICAnZGlzYWJsZS1lbnRpdHknOiBBWFBEaXNhYmxlRW50aXR5V29ya2Zsb3csXG4gICAgICAgICAgICAgICAgJ2VuYWJsZS1lbnRpdHknOiBBWFBFbmFibGVFbnRpdHlXb3JrZmxvdyxcbiAgICAgICAgICAgICAgICAnYnVsay1kaXNhYmxlLWVudGl0eSc6IEFYUEJ1bGtEaXNhYmxlRW50aXR5V29ya2Zsb3csXG4gICAgICAgICAgICAgICAgJ2J1bGstZW5hYmxlLWVudGl0eSc6IEFYUEJ1bGtFbmFibGVFbnRpdHlXb3JrZmxvdyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGRpc2FibGVQbHVnaW4gfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBEaXNhYmxlUGx1Z2luTW9kdWxlIHsgfVxuIl19","import { AXPEntityCommandScope, AXPSettingService } from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { AXPPlatformScope } from '@acorex/platform/core';\n/**\n * extra-properties plugin\n * Options:\n * - field: string (property name to hold the extra properties array, default: 'extraProperties')\n * - title?: string (UI title for the field)\n */\nexport const extraPropertiesPlugin = {\n name: 'extra-properties',\n order: 60,\n apply: async (ctx, options) => {\n const settingsService = inject(AXPSettingService);\n //#region ---- Options ----\n const field = options?.field?.trim()?.length ? options.field : 'extraProperties';\n const title = options?.title ?? '@extra-properties:title';\n const mode = options?.mode ?? 'defined';\n //#endregion\n //#region ---- Group ----\n // Ensure group exists\n const groupId = 'additional';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@extra-properties:title' });\n }\n const target = `${ctx.entity.module}.${ctx.entity.name}`;\n const schema = mode === 'inline' ? [] :\n (await settingsService.scope(AXPPlatformScope.Tenant).get(`extra-properties.schema.${target}`)) ?? [];\n // Ensure property exists (uses our widget)\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === field)) {\n ctx.properties.add({\n name: field,\n title,\n groupId,\n schema: {\n dataType: 'object',\n interface: {\n type: mode === 'inline' ? 'extra-properties' : 'extra-properties-values',\n options: {\n schema,\n },\n },\n },\n });\n }\n const shared = {\n name: 'extra-properties',\n command: {\n name: 'manage-extra-properties',\n options: {\n target,\n }\n },\n title: '@extra-properties:actions.manage',\n type: 'update',\n icon: 'fa-solid fa-gear',\n priority: 'secondary',\n permissions: ['@extra-properties:permissions.platform'],\n };\n ctx.interfaces.master.list.update((list) => {\n const next = list ?? { title: ctx.entity.title, views: [] };\n if (!next.actions) {\n next.actions = [];\n }\n next.actions.push({\n ...shared,\n scope: AXPEntityCommandScope.TypeLevel,\n });\n return next;\n });\n // Ensure single view includes it\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId) && schema.length > 0) {\n next.sections.push({ id: groupId, order: 110 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === field)) {\n next.properties.push({\n name: field,\n layout: {\n positions: { lg: { colSpan: 12 } },\n label: {\n visible: false\n }\n },\n });\n }\n // Ensure action exists\n if (mode === 'defined') {\n next.actions = next.actions ?? [];\n if (!next.actions.some((a) => a.name === 'extra-properties')) {\n next.actions.push({\n ...shared,\n scope: AXPEntityCommandScope.Individual,\n });\n }\n }\n return next;\n });\n // Ensure create view includes it\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === field)) {\n next.properties.push({\n name: field,\n layout: {\n positions: { lg: { colSpan: 12, order: 98 } },\n label: {\n visible: false\n }\n },\n });\n }\n return next;\n });\n // Ensure update view includes it\n ctx.interfaces.master.modify.update((modify) => {\n const next = modify ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === field)) {\n next.properties.push({\n name: field,\n layout: {\n positions: { lg: { colSpan: 12, order: 98 } },\n label: {\n visible: false\n }\n },\n });\n }\n return next;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZXh0cmEtcHJvcGVydGllcy9leHRyYS1wcm9wZXJ0aWVzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLHFCQUFxQixFQUE4SCxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR2hPLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFTekQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBMEI7SUFDeEQsSUFBSSxFQUFFLGtCQUFrQjtJQUN4QixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQXlDLEVBQUUsRUFBRTtRQUU1RCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRCwrQkFBK0I7UUFFL0IsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQVEsQ0FBQyxLQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQ25GLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLElBQUkseUJBQXlCLENBQUM7UUFDMUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLENBQUM7UUFFeEMsWUFBWTtRQUVaLDZCQUE2QjtRQUU3QixzQkFBc0I7UUFDdEIsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUks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QUUsS0FBSzt5QkFDakI7cUJBQ0o7aUJBQ0osQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgQVhQRW50aXR5TWFzdGVyQ3JlYXRlTGF5b3V0VmlldywgQVhQRW50aXR5TWFzdGVyTGlzdFZpZXcsIEFYUEVudGl0eU1hc3RlclNpbmdsZUxheW91dFZpZXcsIEFYUEVudGl0eU1hc3RlclVwZGF0ZUxheW91dFZpZXcsIEFYUFNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuXG5cbmV4cG9ydCB0eXBlIEFYUEV4dHJhUHJvcGVydGllc1BsdWdpbk9wdGlvbnMgPSB7XG4gICAgZmllbGQ/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbW9kZT86ICdpbmxpbmUnIHwgJ2RlZmluZWQnO1xufVxuXG4vKipcbiAqIGV4dHJhLXByb3BlcnRpZXMgcGx1Z2luXG4gKiBPcHRpb25zOlxuICogLSBmaWVsZDogc3RyaW5nIChwcm9wZXJ0eSBuYW1lIHRvIGhvbGQgdGhlIGV4dHJhIHByb3BlcnRpZXMgYXJyYXksIGRlZmF1bHQ6ICdleHRyYVByb3BlcnRpZXMnKVxuICogLSB0aXRsZT86IHN0cmluZyAoVUkgdGl0bGUgZm9yIHRoZSBmaWVsZClcbiAqL1xuZXhwb3J0IGNvbnN0IGV4dHJhUHJvcGVydGllc1BsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICAgIG5hbWU6ICdleHRyYS1wcm9wZXJ0aWVzJyxcbiAgICBvcmRlcjogNjAsXG4gICAgYXBwbHk6IGFzeW5jIChjdHgsIG9wdGlvbnM/OiBBWFBFeHRyYVByb3BlcnRpZXNQbHVnaW5PcHRpb25zKSA9PiB7XG5cbiAgICAgICAgY29uc3Qgc2V0dGluZ3NTZXJ2aWNlID0gaW5qZWN0KEFYUFNldHRpbmdTZXJ2aWNlKTtcbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBPcHRpb25zICAgLS0tLVxuXG4gICAgICAgIGNvbnN0IGZpZWxkID0gb3B0aW9ucz8uZmllbGQ/LnRyaW0oKT8ubGVuZ3RoID8gb3B0aW9ucyEuZmllbGQhIDogJ2V4dHJhUHJvcGVydGllcyc7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gb3B0aW9ucz8udGl0bGUgPz8gJ0BleHRyYS1wcm9wZXJ0aWVzOnRpdGxlJztcbiAgICAgICAgY29uc3QgbW9kZSA9IG9wdGlvbnM/Lm1vZGUgPz8gJ2RlZmluZWQnO1xuXG4gICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgR3JvdXAgICAtLS0tXG5cbiAgICAgICAgLy8gRW5zdXJlIGdyb3VwIGV4aXN0c1xuICAgICAgICBjb25zdCBncm91cElkID0gJ2FkZGl0aW9uYWwnO1xuICAgICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZXh0cmEtcHJvcGVydGllczp0aXRsZScgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWA7XG5cblxuICAgICAgICBjb25zdCBzY2hlbWE6IEFYUEV4dHJhUHJvcGVydHlTY2hlbWFJdGVtW10gPSBtb2RlID09PSAnaW5saW5lJyA/IFtdIDpcbiAgICAgICAgICAgIChhd2FpdCBzZXR0aW5nc1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQpLmdldChgZXh0cmEtcHJvcGVydGllcy5zY2hlbWEuJHt0YXJnZXR9YCkpID8/IFtdO1xuXG4gICAgICAgIC8vIEVuc3VyZSBwcm9wZXJ0eSBleGlzdHMgKHVzZXMgb3VyIHdpZGdldClcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IGZpZWxkKSkge1xuICAgICAgICAgICAgY3R4LnByb3BlcnRpZXMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICBncm91cElkLFxuICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogbW9kZSA9PT0gJ2lubGluZScgPyAnZXh0cmEtcHJvcGVydGllcycgOiAnZXh0cmEtcHJvcGVydGllcy12YWx1ZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVtYSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNoYXJlZCA9IHtcbiAgICAgICAgICAgIG5hbWU6ICdleHRyYS1wcm9wZXJ0aWVzJyxcbiAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnbWFuYWdlLWV4dHJhLXByb3BlcnRpZXMnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aXRsZTogJ0BleHRyYS1wcm9wZXJ0aWVzOmFjdGlvbnMubWFuYWdlJyxcbiAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLXNvbGlkIGZhLWdlYXInLFxuICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IFsnQGV4dHJhLXByb3BlcnRpZXM6cGVybWlzc2lvbnMucGxhdGZvcm0nXSxcbiAgICAgICAgfVxuXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5saXN0LnVwZGF0ZSgobGlzdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV4dDogQVhQRW50aXR5TWFzdGVyTGlzdFZpZXcgPSBsaXN0ID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHZpZXdzOiBbXSB9O1xuICAgICAgICAgICAgaWYgKCFuZXh0LmFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBuZXh0LmFjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHQuYWN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc2hhcmVkLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlR5cGVMZXZlbCxcbiAgICAgICAgICAgICAgICB9IGFzIEFYUEVudGl0eUFjdGlvblxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBFbnN1cmUgc2luZ2xlIHZpZXcgaW5jbHVkZXMgaXRcbiAgICAgICAgY3R4LmludGVyZmFjZXMubWFzdGVyLnNpbmdsZS51cGRhdGUoKHNpbmdsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV4dDogQVhQRW50aXR5TWFzdGVyU2luZ2xlTGF5b3V0VmlldyA9IHNpbmdsZSA/PyB7IHRpdGxlOiBjdHguZW50aXR5LnRpdGxlLCBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpICYmIHNjaGVtYS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQsIG9yZGVyOiAxMTAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIgfSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBFbnN1cmUgYWN0aW9uIGV4aXN0c1xuICAgICAgICAgICAgaWYgKG1vZGUgPT09ICdkZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG5leHQuYWN0aW9ucyA9IG5leHQuYWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgICAgICBpZiAoIW5leHQuYWN0aW9ucy5zb21lKChhOiBhbnkpID0+IGEubmFtZSA9PT0gJ2V4dHJhLXByb3BlcnRpZXMnKSkge1xuXG4gICAgICAgICAgICAgICAgICAgIG5leHQuYWN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnNoYXJlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIEFYUEVudGl0eUFjdGlvblxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIGNyZWF0ZSB2aWV3IGluY2x1ZGVzIGl0XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5jcmVhdGUudXBkYXRlKChjcmVhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQ6IEFYUEVudGl0eU1hc3RlckNyZWF0ZUxheW91dFZpZXcgPSBjcmVhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA5OCB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHVwZGF0ZSB2aWV3IGluY2x1ZGVzIGl0XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5tb2RpZnkudXBkYXRlKChtb2RpZnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQ6IEFYUEVudGl0eU1hc3RlclVwZGF0ZUxheW91dFZpZXcgPSBtb2RpZnkgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XG4gICAgICAgICAgICBuZXh0LnNlY3Rpb25zID0gbmV4dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMgPSBuZXh0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA5OCB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG4gICAgfSxcbn07XG5cblxuIl19","import { AXP_EXTRA_PROPERTY_TYPES } from '@acorex/platform/layout/components';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const AXP_EXTRA_PROPERTY_TYPES_DEFAULT = [\n { id: AXPWidgetsList.Editors.TextBox, title: 'Text' },\n { id: AXPWidgetsList.Editors.CheckBox, title: 'Checkbox' },\n { id: AXPWidgetsList.Editors.ToggleSwitch, title: 'Toggle' },\n { id: AXPWidgetsList.Editors.NumberBox, title: 'Number' },\n { id: AXPWidgetsList.Editors.DateTimeBox, title: 'Date', defaultOptions: { format: 'date' } },\n { id: AXPWidgetsList.Editors.DateTimeBox, title: 'DateTime', defaultOptions: { format: 'datetime' } },\n { id: AXPWidgetsList.Editors.DateTimeBox, title: 'Time', defaultOptions: { format: 'time' } },\n { id: AXPWidgetsList.Editors.TextBox, title: 'Email', defaultOptions: { type: 'email' } },\n { id: AXPWidgetsList.Editors.TextBox, title: 'Phone', defaultOptions: { type: 'tel' } },\n];\nexport function provideExtraPropertyTypes(types) {\n return {\n provide: AXP_EXTRA_PROPERTY_TYPES,\n useValue: types,\n };\n}\nexport function provideDefaultExtraPropertyTypes() {\n return provideExtraPropertyTypes(AXP_EXTRA_PROPERTY_TYPES_DEFAULT);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZXh0cmEtcHJvcGVydGllcy9leHRyYS1wcm9wZXJ0aWVzLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUEyQjtJQUNwRSxFQUFFLEVBQUUsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQ3JELEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7SUFDMUQsRUFBRSxFQUFFLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtJQUM1RCxFQUFFLEVBQUUsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO0lBQ3pELEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQzdGLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxFQUFFO0lBQ3JHLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQzdGLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3pGLEVBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO0NBQzFGLENBQUM7QUFFRixNQUFNLFVBQVUseUJBQXlCLENBQUMsS0FBNkI7SUFDbkUsT0FBTztRQUNILE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsUUFBUSxFQUFFLEtBQUs7S0FDbEIsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDO0lBQzVDLE9BQU8seUJBQXlCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEV4dHJhUHJvcGVydHlUeXBlLCBBWFBfRVhUUkFfUFJPUEVSVFlfVFlQRVMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGNvbnN0IEFYUF9FWFRSQV9QUk9QRVJUWV9UWVBFU19ERUZBVUxUOiBBWFBFeHRyYVByb3BlcnR5VHlwZVtdID0gW1xuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuVGV4dEJveCwgdGl0bGU6ICdUZXh0JyB9LFxuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuQ2hlY2tCb3gsIHRpdGxlOiAnQ2hlY2tib3gnIH0sXG4gICAgeyBpZDogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5Ub2dnbGVTd2l0Y2gsIHRpdGxlOiAnVG9nZ2xlJyB9LFxuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuTnVtYmVyQm94LCB0aXRsZTogJ051bWJlcicgfSxcbiAgICB7IGlkOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLkRhdGVUaW1lQm94LCB0aXRsZTogJ0RhdGUnLCBkZWZhdWx0T3B0aW9uczogeyBmb3JtYXQ6ICdkYXRlJyB9IH0sXG4gICAgeyBpZDogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5EYXRlVGltZUJveCwgdGl0bGU6ICdEYXRlVGltZScsIGRlZmF1bHRPcHRpb25zOiB7IGZvcm1hdDogJ2RhdGV0aW1lJyB9IH0sXG4gICAgeyBpZDogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5EYXRlVGltZUJveCwgdGl0bGU6ICdUaW1lJywgZGVmYXVsdE9wdGlvbnM6IHsgZm9ybWF0OiAndGltZScgfSB9LFxuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuVGV4dEJveCwgdGl0bGU6ICdFbWFpbCcsIGRlZmF1bHRPcHRpb25zOiB7IHR5cGU6ICdlbWFpbCcgfSB9LFxuICAgIHsgaWQ6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuVGV4dEJveCwgdGl0bGU6ICdQaG9uZScsIGRlZmF1bHRPcHRpb25zOiB7IHR5cGU6ICd0ZWwnIH0gfSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRXh0cmFQcm9wZXJ0eVR5cGVzKHR5cGVzOiBBWFBFeHRyYVByb3BlcnR5VHlwZVtdKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IEFYUF9FWFRSQV9QUk9QRVJUWV9UWVBFUyxcbiAgICAgICAgdXNlVmFsdWU6IHR5cGVzLFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGVmYXVsdEV4dHJhUHJvcGVydHlUeXBlcygpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVFeHRyYVByb3BlcnR5VHlwZXMoQVhQX0VYVFJBX1BST1BFUlRZX1RZUEVTX0RFRkFVTFQpO1xufVxuXG5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { provideCommandSetups } from '@acorex/platform/runtime';\nimport { extraPropertiesPlugin } from './extra-properties.plugin';\nimport { provideDefaultExtraPropertyTypes } from './extra-properties.providers';\nimport * as i0 from \"@angular/core\";\nexport class AXPExtraPropertiesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPExtraPropertiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPExtraPropertiesModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPExtraPropertiesModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: extraPropertiesPlugin },\n //\n provideDefaultExtraPropertyTypes(),\n //\n provideCommandSetups([{\n key: 'manage-extra-properties',\n command: () => import('./manage-extra-properties.command').then(m => m.AXPManageExtraPropertiesCommand),\n }]),\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPExtraPropertiesModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: extraPropertiesPlugin },\n //\n provideDefaultExtraPropertyTypes(),\n //\n provideCommandSetups([{\n key: 'manage-extra-properties',\n command: () => import('./manage-extra-properties.command').then(m => m.AXPManageExtraPropertiesCommand),\n }]),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtcHJvcGVydGllcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZXh0cmEtcHJvcGVydGllcy9leHRyYS1wcm9wZXJ0aWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWNoRixNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QjsrR0FBeEIsd0JBQXdCLGFBWHRCO1lBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUU7WUFDbkYsRUFBRTtZQUNGLGdDQUFnQyxFQUFFO1lBQ2xDLEVBQUU7WUFDRixvQkFBb0IsQ0FBQyxDQUFDO29CQUNsQixHQUFHLEVBQUUseUJBQXlCO29CQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDO2lCQUMxRyxDQUFDLENBQUM7U0FDTjs7MkZBRVEsd0JBQXdCO2tCQVpwQyxRQUFRO21CQUFDO29CQUNOLFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRTt3QkFDbkYsRUFBRTt3QkFDRixnQ0FBZ0MsRUFBRTt3QkFDbEMsRUFBRTt3QkFDRixvQkFBb0IsQ0FBQyxDQUFDO2dDQUNsQixHQUFHLEVBQUUseUJBQXlCO2dDQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDOzZCQUMxRyxDQUFDLENBQUM7cUJBQ047aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IHByb3ZpZGVDb21tYW5kU2V0dXBzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGV4dHJhUHJvcGVydGllc1BsdWdpbiB9IGZyb20gJy4vZXh0cmEtcHJvcGVydGllcy5wbHVnaW4nO1xuaW1wb3J0IHsgcHJvdmlkZURlZmF1bHRFeHRyYVByb3BlcnR5VHlwZXMgfSBmcm9tICcuL2V4dHJhLXByb3BlcnRpZXMucHJvdmlkZXJzJztcblxuQE5nTW9kdWxlKHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogZXh0cmFQcm9wZXJ0aWVzUGx1Z2luIH0sXG4gICAgICAgIC8vXG4gICAgICAgIHByb3ZpZGVEZWZhdWx0RXh0cmFQcm9wZXJ0eVR5cGVzKCksXG4gICAgICAgIC8vXG4gICAgICAgIHByb3ZpZGVDb21tYW5kU2V0dXBzKFt7XG4gICAgICAgICAgICBrZXk6ICdtYW5hZ2UtZXh0cmEtcHJvcGVydGllcycsXG4gICAgICAgICAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vbWFuYWdlLWV4dHJhLXByb3BlcnRpZXMuY29tbWFuZCcpLnRoZW4obSA9PiBtLkFYUE1hbmFnZUV4dHJhUHJvcGVydGllc0NvbW1hbmQpLFxuICAgICAgICB9XSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRXh0cmFQcm9wZXJ0aWVzTW9kdWxlIHsgfVxuXG5cbiJdfQ==","import { InjectionToken } from \"@angular/core\";\nexport const AXP_GLOBAL_SEARCH_CONFIG_TOKEN = new InjectionToken('AXP_GLOBAL_SEARCH_CONFIG_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoL3NlYXJjaC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQU1yRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsZ0NBQWdDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBHbG9iYWxTZWFyY2hDb25maWdzIHtcbiAgICB3aW5kb3c6ICgpID0+IFR5cGU8YW55Pjtcbn1cblxuZXhwb3J0IGNvbnN0IEFYUF9HTE9CQUxfU0VBUkNIX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBHbG9iYWxTZWFyY2hDb25maWdzPignQVhQX0dMT0JBTF9TRUFSQ0hfQ09ORklHX1RPS0VOJyk7Il19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, inject } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/core/translation\";\nimport * as i4 from \"@angular/common\";\nexport class AXPGlobalSearchSlotComponent {\n constructor() {\n this.workflow = inject(AXPWorkflowService);\n }\n async startSearch() {\n await this.workflow.execute('global-search');\n }\n async handleKeyboardEvent(event) {\n if (event.ctrlKey) {\n switch (event.code) {\n case 'KeyK':\n event.preventDefault();\n event.stopPropagation();\n await this.startSearch();\n break;\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: AXPGlobalSearchSlotComponent, isStandalone: true, selector: \"ng-component\", host: { listeners: { \"document:keydown\": \"handleKeyboardEvent($event)\" } }, ngImport: i0, template: `\n <ax-button color=\"primary\" class=\"ax-flex md:ax-hidden\" (onClick)=\"startSearch()\">\n <ax-icon class=\"fa-regular fa-search\">\n </ax-icon>\n </ax-button>\n <div class=\"ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text\" (click)=\"startSearch()\" *translate=\"let t\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <i class=\"fa-light fa-search ax-text-xl\"></i>\n <span>{{ t('search-placeholder',{scope:'global-search'}) | async}}</span>\n </div>\n <kbd class=\"ax-text-sm\">Ctrl+K</kbd>\n </div>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i3.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchSlotComponent, decorators: [{\n type: Component,\n args: [{\n template: `\n <ax-button color=\"primary\" class=\"ax-flex md:ax-hidden\" (onClick)=\"startSearch()\">\n <ax-icon class=\"fa-regular fa-search\">\n </ax-icon>\n </ax-button>\n <div class=\"ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text\" (click)=\"startSearch()\" *translate=\"let t\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <i class=\"fa-light fa-search ax-text-xl\"></i>\n <span>{{ t('search-placeholder',{scope:'global-search'}) | async}}</span>\n </div>\n <kbd class=\"ax-text-sm\">Ctrl+K</kbd>\n </div>\n `,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule, AXTextBoxModule]\n }]\n }], propDecorators: { handleKeyboardEvent: [{\n type: HostListener,\n args: ['document:keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNsb3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2dsb2JhbC1zZWFyY2gvc2VhcmNoLXNsb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7O0FBa0I5RCxNQUFNLE9BQU8sNEJBQTRCO0lBaEJ6QztRQWtCWSxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FtQmpEO0lBakJXLEtBQUssQ0FBQyxXQUFXO1FBQ3pCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUdTLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFvQjtRQUN0RCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxNQUFNO29CQUNULEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN4QixNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDekIsTUFBTTtZQUNWLENBQUM7UUFDSCxDQUFDO0lBRUgsQ0FBQzs4R0FwQlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsb0pBZjdCOzs7Ozs7Ozs7Ozs7R0FZVCwyREFDUyxZQUFZLDhCQUFFLGNBQWMsNlhBQUUsaUJBQWlCLCtIQUFFLG1CQUFtQiw4R0FBRSxlQUFlOzsyRkFFcEYsNEJBQTRCO2tCQWhCeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxDQUFDO2lCQUNqRzs4QkFVaUIsbUJBQW1CO3NCQURsQyxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXgtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzPVwiYXgtZmxleCBtZDpheC1oaWRkZW5cIiAob25DbGljayk9XCJzdGFydFNlYXJjaCgpXCI+XG4gICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtc2VhcmNoXCI+XG4gICAgICA8L2F4LWljb24+XG4gICAgPC9heC1idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cImF4LWJnLXByaW1hcnktMjAwLzE1IGF4LWgtMTAgYXgtdy03MiBheC1yb3VuZGVkLWRlZmF1bHQgYXgtY3Vyc29yLXBvaW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWhpZGRlbiBtZDpheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1weC0zIGhvdmVyOmF4LWJnLXByaW1hcnktMjAwLzMwIGF4LXRleHQtcHJpbWFyeS10ZXh0XCIgKGNsaWNrKT1cInN0YXJ0U2VhcmNoKClcIiAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMlwiPlxuICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1zZWFyY2ggYXgtdGV4dC14bFwiPjwvaT5cbiAgICAgIDxzcGFuPnt7IHQoJ3NlYXJjaC1wbGFjZWhvbGRlcicse3Njb3BlOidnbG9iYWwtc2VhcmNoJ30pIHwgYXN5bmN9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGtiZCBjbGFzcz1cImF4LXRleHQtc21cIj5DdHJsK0s8L2tiZD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlLCBBWFRyYW5zbGF0aW9uTW9kdWxlLCBBWFRleHRCb3hNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEFYUEdsb2JhbFNlYXJjaFNsb3RDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBhc3luYyBzdGFydFNlYXJjaCgpIHtcbiAgICBhd2FpdCB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ2dsb2JhbC1zZWFyY2gnKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xuICAgICAgICBjYXNlICdLZXlLJzpcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRTZWFyY2goKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIl19","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPWorkflowAction, AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '../search.config';\nimport * as i0 from \"@angular/core\";\nexport class AXPGlobalSearchStartAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.workflow = inject(AXPWorkflowService);\n this.config = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);\n }\n async execute(context) {\n const component = await this.config.window();\n const popup = await this.popupService.open(component, {\n title: 'Search...',\n size: 'fit',\n closeOnBackdropClick: true,\n data: {\n text: context.getVariable('text'),\n },\n header: false,\n });\n if (popup.data) {\n const result = popup.data;\n if (result && result.command) {\n this.workflow.execute(result.command?.name, result.command?.options);\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchStartAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPGlobalSearchWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'AXPGlobalSearchStartAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2dsb2JhbC1zZWFyY2gvd29ya2Zsb3dzL3NlYXJjaC53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUlsRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsaUJBQWlCO0lBRGpFOztRQUVVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLGFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0QyxXQUFNLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FvQnpEO0lBbEJVLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDaEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3BELEtBQUssRUFBRSxXQUFXO1lBQ2xCLElBQUksRUFBRSxLQUFLO1lBQ1gsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2FBQ2xDO1lBQ0QsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFDSCxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNmLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUE4QixDQUFDO1lBQ3BELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7OEdBdEJVLDBCQUEwQjtrSEFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOztBQTBCWCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsV0FBVyxFQUFFLE9BQU87SUFDcEIsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLDRCQUE0QjtTQUNyQztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0LCBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQX0dMT0JBTF9TRUFSQ0hfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vc2VhcmNoLmNvbmZpZyc7XG5pbXBvcnQgeyBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQR2xvYmFsU2VhcmNoU3RhcnRBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWFBfR0xPQkFMX1NFQVJDSF9DT05GSUdfVE9LRU4pO1xuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gYXdhaXQgdGhpcy5jb25maWcud2luZG93KCk7XG4gICAgY29uc3QgcG9wdXAgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKGNvbXBvbmVudCwge1xuICAgICAgdGl0bGU6ICdTZWFyY2guLi4nLFxuICAgICAgc2l6ZTogJ2ZpdCcsXG4gICAgICBjbG9zZU9uQmFja2Ryb3BDbGljazogdHJ1ZSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGV4dDogY29udGV4dC5nZXRWYXJpYWJsZSgndGV4dCcpLFxuICAgICAgfSxcbiAgICAgIGhlYWRlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgaWYgKHBvcHVwLmRhdGEpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvcHVwLmRhdGEgYXMgQVhQU2VhcmNoRGlzcGxheVJlc3VsdDtcbiAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmNvbW1hbmQpIHtcbiAgICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKHJlc3VsdC5jb21tYW5kPy5uYW1lLCByZXN1bHQuY29tbWFuZD8ub3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBHbG9iYWxTZWFyY2hXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAnc3RhcnQnLFxuICBzdGVwczoge1xuICAgIHN0YXJ0OiB7XG4gICAgICBhY3Rpb246ICdBWFBHbG9iYWxTZWFyY2hTdGFydEFjdGlvbicsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=","import { Injector, NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXPGlobalSearchSlotComponent } from './search-slot.component';\nimport { AXPGlobalSearchStartAction, AXPGlobalSearchWorkflow } from './workflows/search.workflow';\nimport { AXPAppStartUpService } from '@acorex/platform/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from './search.config';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/core\";\nimport * as i2 from \"@acorex/platform/layout/components\";\nimport * as i3 from \"@acorex/platform/workflow\";\nexport class AXPGlobalSearchModule {\n constructor(appInitService, injector) {\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchModule, deps: [{ token: i1.AXPAppStartUpService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchModule, imports: [i2.AXPComponentSlotModule, i3.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchModule, providers: [\n {\n provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,\n useValue: {\n window: () => import('./search-popup.component').then((c) => c.AXPGlobalSearchPopupComponent),\n },\n },\n ], imports: [AXPComponentSlotModule.forChild({\n 'root-header-start': [\n {\n priority: 0,\n name: 'search',\n component: AXPGlobalSearchSlotComponent,\n },\n ],\n }),\n //\n AXPWorkflowModule.forChild({\n actions: {\n AXPGlobalSearchStartAction\n },\n workflows: {\n 'global-search': AXPGlobalSearchWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPGlobalSearchModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPComponentSlotModule.forChild({\n 'root-header-start': [\n {\n priority: 0,\n name: 'search',\n component: AXPGlobalSearchSlotComponent,\n },\n ],\n }),\n //\n AXPWorkflowModule.forChild({\n actions: {\n AXPGlobalSearchStartAction\n },\n workflows: {\n 'global-search': AXPGlobalSearchWorkflow,\n },\n })\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,\n useValue: {\n window: () => import('./search-popup.component').then((c) => c.AXPGlobalSearchPopupComponent),\n },\n },\n ]\n }]\n }], ctorParameters: () => [{ type: i1.AXPAppStartUpService }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoL3NlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBbUM1RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQ0UsY0FBb0MsRUFDcEMsUUFBa0I7SUFHcEIsQ0FBQzs4R0FOVSxxQkFBcUI7K0dBQXJCLHFCQUFxQjsrR0FBckIscUJBQXFCLGFBVnJCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDhCQUE4QjtnQkFDdkMsUUFBUSxFQUFFO29CQUNSLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FDWCxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDbEY7YUFDRjtTQUNGLFlBN0JDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztnQkFDOUIsbUJBQW1CLEVBQUU7b0JBQ25CO3dCQUNFLFFBQVEsRUFBRSxDQUFDO3dCQUNYLElBQUksRUFBRSxRQUFRO3dCQUNkLFNBQVMsRUFBRSw0QkFBNEI7cUJBQ3hDO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLEVBQUU7WUFDRixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3pCLE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7aUJBQzNCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxlQUFlLEVBQUUsdUJBQXVCO2lCQUN6QzthQUNGLENBQUM7OzJGQWNPLHFCQUFxQjtrQkFqQ2pDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQixDQUFDLFFBQVEsQ0FBQzs0QkFDOUIsbUJBQW1CLEVBQUU7Z0NBQ25CO29DQUNFLFFBQVEsRUFBRSxDQUFDO29DQUNYLElBQUksRUFBRSxRQUFRO29DQUNkLFNBQVMsRUFBRSw0QkFBNEI7aUNBQ3hDOzZCQUNGO3lCQUNGLENBQUM7d0JBQ0YsRUFBRTt3QkFDRixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3pCLE9BQU8sRUFBRTtnQ0FDUCwwQkFBMEI7NkJBQzNCOzRCQUNELFNBQVMsRUFBRTtnQ0FDVCxlQUFlLEVBQUUsdUJBQXVCOzZCQUN6Qzt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDhCQUE4Qjs0QkFDdkMsUUFBUSxFQUFFO2dDQUNSLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FDWCxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQzs2QkFDbEY7eUJBQ0Y7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFBHbG9iYWxTZWFyY2hTbG90Q29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtc2xvdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQR2xvYmFsU2VhcmNoU3RhcnRBY3Rpb24sIEFYUEdsb2JhbFNlYXJjaFdvcmtmbG93IH0gZnJvbSAnLi93b3JrZmxvd3Mvc2VhcmNoLndvcmtmbG93JztcbmltcG9ydCB7IEFYUEFwcFN0YXJ0VXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUF9HTE9CQUxfU0VBUkNIX0NPTkZJR19UT0tFTiB9IGZyb20gJy4vc2VhcmNoLmNvbmZpZyc7XG5pbXBvcnQgeyBBWFBDb21wb25lbnRTbG90TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBDb21wb25lbnRTbG90TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgICdyb290LWhlYWRlci1zdGFydCc6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByaW9yaXR5OiAwLFxuICAgICAgICAgIG5hbWU6ICdzZWFyY2gnLFxuICAgICAgICAgIGNvbXBvbmVudDogQVhQR2xvYmFsU2VhcmNoU2xvdENvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gICAgLy9cbiAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgIEFYUEdsb2JhbFNlYXJjaFN0YXJ0QWN0aW9uXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdnbG9iYWwtc2VhcmNoJzogQVhQR2xvYmFsU2VhcmNoV29ya2Zsb3csXG4gICAgICB9LFxuICAgIH0pXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfR0xPQkFMX1NFQVJDSF9DT05GSUdfVE9LRU4sXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICB3aW5kb3c6ICgpID0+XG4gICAgICAgICAgaW1wb3J0KCcuL3NlYXJjaC1wb3B1cC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUEdsb2JhbFNlYXJjaFBvcHVwQ29tcG9uZW50KSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBWFBHbG9iYWxTZWFyY2hNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBhcHBJbml0U2VydmljZTogQVhQQXBwU3RhcnRVcFNlcnZpY2UsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuXG4gIH1cbn1cbiJdfQ==","import { AXPSearchService, AXPSettingService } from \"@acorex/platform/common\";\nimport { AXPPlatformScope } from \"@acorex/platform/core\";\nimport { computed, inject, signal } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nexport class AXPGlobalSearchViewModel {\n constructor() {\n this.settingKeys = {\n recent: \"global-search:recents:items\",\n pinned: \"global-search:pinned:items\"\n };\n this.searchService = inject(AXPSearchService);\n this.settingService = inject(AXPSettingService);\n this._text = signal(null, ...(ngDevMode ? [{ debugName: \"_text\" }] : []));\n this.text = this._text.asReadonly();\n this._results = signal([], ...(ngDevMode ? [{ debugName: \"_results\" }] : []));\n this.results = this._results.asReadonly();\n this._isBusy = signal(false, ...(ngDevMode ? [{ debugName: \"_isBusy\" }] : []));\n this.isBusy = this._isBusy.asReadonly();\n this.isEmpty = computed(() => this.text() && this.results().length == 0, ...(ngDevMode ? [{ debugName: \"isEmpty\" }] : []));\n this.isValid = computed(() => (this.text()?.length ?? 0) > 2, ...(ngDevMode ? [{ debugName: \"isValid\" }] : []));\n this.isStart = computed(() => !this.isEmpty() && this.results().length == 0, ...(ngDevMode ? [{ debugName: \"isStart\" }] : []));\n this.isWelcome = computed(() => this.isStart() && this.pinnedItems().length == 0 && this.recentItems().length == 0, ...(ngDevMode ? [{ debugName: \"isWelcome\" }] : []));\n this._recentItems = signal([], ...(ngDevMode ? [{ debugName: \"_recentItems\" }] : []));\n this._pinnedItems = signal([], ...(ngDevMode ? [{ debugName: \"_pinnedItems\" }] : []));\n this.pinnedItems = this._pinnedItems.asReadonly();\n this.recentItems = computed(() => this.getTopRecentItems(), ...(ngDevMode ? [{ debugName: \"recentItems\" }] : []));\n this.onItemSelected = new Subject();\n this.loadSettings();\n }\n async search(text) {\n this._isBusy.set(true);\n this._text.set(text);\n if (!this.isValid()) {\n this._results.set([]);\n }\n else {\n await new Promise((resolve) => setTimeout(resolve, 250));\n const results = await this.searchService.search(text);\n this._results.set(results);\n }\n this._isBusy.set(false);\n }\n async execute(item) {\n this.onItemSelected.next(item);\n await this.updateSelectionHistory(item);\n }\n async pin(item) {\n const currentPinned = this._pinnedItems();\n if (!currentPinned.some(i => i.id === item.id)) {\n this._pinnedItems.set([item, ...currentPinned].slice(0, 5));\n await this.saveSettings();\n }\n }\n async unpin(item) {\n const currentPinned = this._pinnedItems();\n this._pinnedItems.set(currentPinned.filter(i => i.id !== item.id));\n await this.saveSettings();\n }\n async togglePin(item) {\n if (this.isPinned(item)) {\n await this.unpin(item);\n }\n else {\n await this.pin(item);\n }\n }\n isPinned(item) {\n const currentPinned = this._pinnedItems();\n return currentPinned.some(i => i.id === item.id);\n }\n async updateSelectionHistory(item) {\n // Update recent selections\n const currentHistory = this._recentItems();\n const updatedHistory = [item, ...currentHistory.filter(i => i.id !== item.id)].slice(0, 5);\n this._recentItems.set(updatedHistory);\n // Save updated settings\n await this.saveSettings();\n }\n getTopRecentItems() {\n const pinnedIds = new Set(this._pinnedItems().map(item => item.id));\n return this._recentItems().filter(item => !pinnedIds.has(item.id)).slice(0, 5);\n }\n async clearRecentItems() {\n this._recentItems.set([]);\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.recent, []);\n }\n async loadSettings() {\n // Load recent selections\n const recent = await this.settingService.get(this.settingKeys.recent);\n if (recent) {\n this._recentItems.set(recent.slice(0, 5));\n }\n // Load pinned items\n const pinned = await this.settingService.get(this.settingKeys.pinned);\n if (pinned) {\n this._pinnedItems.set(pinned.slice(0, 5));\n }\n }\n async saveSettings() {\n // Save recent selections\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.recent, this._recentItems().slice(0, 5));\n // Save pinned items\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.pinned, this._pinnedItems().slice(0, 5));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoL3NlYXJjaC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1RCxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25JLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE1BQU0sT0FBTyx3QkFBd0I7SUFrQ2pDO1FBaENRLGdCQUFXLEdBQUc7WUFDbEIsTUFBTSxFQUFFLDZCQUE2QjtZQUNyQyxNQUFNLEVBQUUsNEJBQTRCO1NBQ3ZDLENBQUE7UUFFTyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFM0MsVUFBSyxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxpREFBQyxDQUFDO1FBQ3JDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTlCLGFBQVEsR0FBRyxNQUFNLENBQWdDLEVBQUUsb0RBQUMsQ0FBQztRQUN0RCxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVwQyxZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssbURBQUMsQ0FBQztRQUN6QixXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVuQyxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFB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SUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQTJCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEcsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsWUFBWTtRQUN0Qix5QkFBeUI7UUFDekIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVySCxvQkFBb0I7UUFDcEIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZWFyY2hEaXNwbGF5R3JvdXBSZXN1bHQsIEFYUFNlYXJjaERpc3BsYXlSZXN1bHQsIEFYUFNlYXJjaFNlcnZpY2UsIEFYUFNldHRpbmdTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5leHBvcnQgY2xhc3MgQVhQR2xvYmFsU2VhcmNoVmlld01vZGVsIHtcblxuICAgIHByaXZhdGUgc2V0dGluZ0tleXMgPSB7XG4gICAgICAgIHJlY2VudDogXCJnbG9iYWwtc2VhcmNoOnJlY2VudHM6aXRlbXNcIixcbiAgICAgICAgcGlubmVkOiBcImdsb2JhbC1zZWFyY2g6cGlubmVkOml0ZW1zXCJcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2UgPSBpbmplY3QoQVhQU2VhcmNoU2VydmljZSk7XG4gICAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSk7XG5cbiAgICBwcml2YXRlIF90ZXh0ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyB0ZXh0ID0gdGhpcy5fdGV4dC5hc1JlYWRvbmx5KCk7XG5cbiAgICBwcml2YXRlIF9yZXN1bHRzID0gc2lnbmFsPEFYUFNlYXJjaERpc3BsYXlHcm91cFJlc3VsdFtdPihbXSk7XG4gICAgcHVibGljIHJlc3VsdHMgPSB0aGlzLl9yZXN1bHRzLmFzUmVhZG9ubHkoKTtcblxuICAgIHByaXZhdGUgX2lzQnVzeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHVibGljIGlzQnVzeSA9IHRoaXMuX2lzQnVzeS5hc1JlYWRvbmx5KCk7XG5cbiAgICBwdWJsaWMgaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGV4dCgpICYmIHRoaXMucmVzdWx0cygpLmxlbmd0aCA9PSAwKTtcblxuICAgIHB1YmxpYyBpc1ZhbGlkID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMudGV4dCgpPy5sZW5ndGggPz8gMCkgPiAyKTtcblxuICAgIHB1YmxpYyBpc1N0YXJ0ID0gY29tcHV0ZWQoKCkgPT4gIXRoaXMuaXNFbXB0eSgpICYmIHRoaXMucmVzdWx0cygpLmxlbmd0aCA9PSAwKTtcblxuICAgIHB1YmxpYyBpc1dlbGNvbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlzU3RhcnQoKSAmJiB0aGlzLnBpbm5lZEl0ZW1zKCkubGVuZ3RoID09IDAgJiYgdGhpcy5yZWNlbnRJdGVtcygpLmxlbmd0aCA9PSAwKTtcblxuICAgIHByaXZhdGUgX3JlY2VudEl0ZW1zID0gc2lnbmFsPEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4oW10pO1xuICAgIHByaXZhdGUgX3Bpbm5lZEl0ZW1zID0gc2lnbmFsPEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4oW10pO1xuICAgIHB1YmxpYyBwaW5uZWRJdGVtcyA9IHRoaXMuX3Bpbm5lZEl0ZW1zLmFzUmVhZG9ubHkoKTtcbiAgICBwdWJsaWMgcmVjZW50SXRlbXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmdldFRvcFJlY2VudEl0ZW1zKCkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG9uSXRlbVNlbGVjdGVkID0gbmV3IFN1YmplY3Q8QVhQU2VhcmNoRGlzcGxheVJlc3VsdD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmxvYWRTZXR0aW5ncygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWFyY2godGV4dDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuX2lzQnVzeS5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KHRleHQpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3VsdHMuc2V0KFtdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDI1MCkpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaCh0ZXh0KTtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3VsdHMuc2V0KHJlc3VsdHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faXNCdXN5LnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGV4ZWN1dGUoaXRlbTogQVhQU2VhcmNoRGlzcGxheVJlc3VsdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLm5leHQoaXRlbSk7XG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlU2VsZWN0aW9uSGlzdG9yeShpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcGluKGl0ZW06IEFYUFNlYXJjaERpc3BsYXlSZXN1bHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY3VycmVudFBpbm5lZCA9IHRoaXMuX3Bpbm5lZEl0ZW1zKCk7XG4gICAgICAgIGlmICghY3VycmVudFBpbm5lZC5zb21lKGkgPT4gaS5pZCA9PT0gaXRlbS5pZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Bpbm5lZEl0ZW1zLnNldChbaXRlbSwgLi4uY3VycmVudFBpbm5lZF0uc2xpY2UoMCwgNSkpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zYXZlU2V0dGluZ3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyB1bnBpbihpdGVtOiBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQaW5uZWQgPSB0aGlzLl9waW5uZWRJdGVtcygpO1xuICAgICAgICB0aGlzLl9waW5uZWRJdGVtcy5zZXQoY3VycmVudFBpbm5lZC5maWx0ZXIoaSA9PiBpLmlkICE9PSBpdGVtLmlkKSk7XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZVNldHRpbmdzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHRvZ2dsZVBpbihpdGVtOiBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzUGlubmVkKGl0ZW0pKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnVucGluKGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5waW4oaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNQaW5uZWQoaXRlbTogQVhQU2VhcmNoRGlzcGxheVJlc3VsdCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjdXJyZW50UGlubmVkID0gdGhpcy5fcGlubmVkSXRlbXMoKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRQaW5uZWQuc29tZShpID0+IGkuaWQgPT09IGl0ZW0uaWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgdXBkYXRlU2VsZWN0aW9uSGlzdG9yeShpdGVtOiBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIFVwZGF0ZSByZWNlbnQgc2VsZWN0aW9uc1xuICAgICAgICBjb25zdCBjdXJyZW50SGlzdG9yeSA9IHRoaXMuX3JlY2VudEl0ZW1zKCk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRIaXN0b3J5ID0gW2l0ZW0sIC4uLmN1cnJlbnRIaXN0b3J5LmZpbHRlcihpID0+IGkuaWQgIT09IGl0ZW0uaWQpXS5zbGljZSgwLCA1KTtcbiAgICAgICAgdGhpcy5fcmVjZW50SXRlbXMuc2V0KHVwZGF0ZWRIaXN0b3J5KTtcblxuICAgICAgICAvLyBTYXZlIHVwZGF0ZWQgc2V0dGluZ3NcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlU2V0dGluZ3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRvcFJlY2VudEl0ZW1zKCk6IEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXSB7XG4gICAgICAgIGNvbnN0IHBpbm5lZElkcyA9IG5ldyBTZXQodGhpcy5fcGlubmVkSXRlbXMoKS5tYXAoaXRlbSA9PiBpdGVtLmlkKSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWNlbnRJdGVtcygpLmZpbHRlcihpdGVtID0+ICFwaW5uZWRJZHMuaGFzKGl0ZW0uaWQpKS5zbGljZSgwLCA1KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY2xlYXJSZWNlbnRJdGVtcygpIHtcbiAgICAgICAgdGhpcy5fcmVjZW50SXRlbXMuc2V0KFtdKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZS5zY29wZShBWFBQbGF0Zm9ybVNjb3BlLlVzZXIpLnNldCh0aGlzLnNldHRpbmdLZXlzLnJlY2VudCwgW10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZFNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBMb2FkIHJlY2VudCBzZWxlY3Rpb25zXG4gICAgICAgIGNvbnN0IHJlY2VudCA9IGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2UuZ2V0PEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4odGhpcy5zZXR0aW5nS2V5cy5yZWNlbnQpO1xuICAgICAgICBpZiAocmVjZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9yZWNlbnRJdGVtcy5zZXQocmVjZW50LnNsaWNlKDAsIDUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvYWQgcGlubmVkIGl0ZW1zXG4gICAgICAgIGNvbnN0IHBpbm5lZCA9IGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2UuZ2V0PEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4odGhpcy5zZXR0aW5nS2V5cy5waW5uZWQpO1xuICAgICAgICBpZiAocGlubmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9waW5uZWRJdGVtcy5zZXQocGlubmVkLnNsaWNlKDAsIDUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc2F2ZVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBTYXZlIHJlY2VudCBzZWxlY3Rpb25zXG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5Vc2VyKS5zZXQodGhpcy5zZXR0aW5nS2V5cy5yZWNlbnQsIHRoaXMuX3JlY2VudEl0ZW1zKCkuc2xpY2UoMCwgNSkpO1xuXG4gICAgICAgIC8vIFNhdmUgcGlubmVkIGl0ZW1zXG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5Vc2VyKS5zZXQodGhpcy5zZXR0aW5nS2V5cy5waW5uZWQsIHRoaXMuX3Bpbm5lZEl0ZW1zKCkuc2xpY2UoMCwgNSkpO1xuICAgIH1cbn1cbiJdfQ==","import { ensureListActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const iconPlugin = {\n name: 'icon',\n order: 75,\n apply: (ctx, options) => {\n ensureListActions(ctx);\n const groupId = 'appearance';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.appearance' });\n }\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'icon')) {\n ctx.properties.add({\n name: 'icon',\n title: '@general:terms.common.icon',\n groupId,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Theme.IconChooser,\n options: {},\n },\n },\n validations: [],\n options: {\n sort: { enabled: false },\n filter: {\n advance: { enabled: false },\n inline: { enabled: false },\n },\n },\n });\n }\n //#region ---- Add Column to List View ----\n // Add icon column to list view if enabled (default: true)\n const columnEnabled = options?.column?.enabled ?? true;\n if (columnEnabled) {\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'icon')) {\n ctx.columns.add({\n name: 'icon',\n title: '@general:terms.common.icon',\n sort: { enabled: false },\n options: {\n visible: options?.column?.visible ?? true,\n width: `${options?.column?.width ?? 120}px`,\n },\n });\n }\n }\n //#endregion\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'icon')) {\n next.properties.push({\n name: 'icon',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'icon')) {\n next.properties.push({\n name: 'icon',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'icon')) {\n next.properties.push({\n name: 'icon',\n layout: {\n positions: { lg: { colSpan: 6 } },\n },\n });\n }\n return next;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvaWNvbi1wbHVnaW4vaWNvbi5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVUxRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTBCO0lBQy9DLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBOEIsRUFBRSxFQUFFO1FBQzdDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztRQUM3QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQy9DLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUscUNBQXFDLEVBQVMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDL0MsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7Z0JBQ2pCLElBQUksRUFBRSxNQUFNO2dCQUNaLEtBQUssRUFBRSw0QkFBNEI7Z0JBQ25DLE9BQU87Z0JBQ1AsTUFBTSxFQUFFO29CQUNOLFFBQVEsRUFBRSxRQUFRO29CQUNsQixTQUFTLEVBQUU7d0JBQ1QsSUFBSSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsV0FBVzt3QkFDdEMsT0FBTyxFQUFFLEVBQUU7cUJBQ1o7aUJBQ0Y7Z0JBQ0QsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7b0JBQ3hCLE1BQU0sRUFBRTt3QkFDTixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO3dCQUMzQixNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO3FCQUMzQjtpQkFDRjthQUNLLENBQUMsQ0FBQztRQUNaLENBQUM7UUFFRCwrQ0FBK0M7UUFFL0MsMERBQTBEO1FBQzFELE1BQU0sYUFBYSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQztRQUN2RCxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO29CQUNkLElBQUksRUFBRSxNQUFNO29CQUNaLEtBQUssRUFBRSw0QkFBNEI7b0JBQ25DLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7b0JBQ3hCLE9BQU8sRUFBRTt3QkFDUCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLElBQUksSUFBSTt3QkFDekMsS0FBSyxFQUFFLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksR0FBRyxJQUFJO3FCQUM1QztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELFlBQVk7UUFFWixHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDN0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLElBQUksRUFBRSxNQUFNO29CQUNaLE1BQU0sRUFBRTt3QkFDTixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7cUJBQ2xDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzdDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO29CQUNuQixJQUFJLEVBQUUsTUFBTTtvQkFDWixNQUFNLEVBQUU7d0JBQ04sU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO3FCQUNsQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUVILEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDakYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLElBQUksRUFBRSxNQUFNO29CQUNaLE1BQU0sRUFBRTt3QkFDTixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7cUJBQ2xDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb25QbHVnaW4sIGVuc3VyZUxpc3RBY3Rpb25zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcclxuaW1wb3J0IHsgQVhQV2lkZ2V0c0xpc3QgfSBmcm9tICcuLi8uLi93aWRnZXRzLW5hbWVzLWxpc3QnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFBJY29uUGx1Z2luT3B0aW9ucyB7XHJcbiAgY29sdW1uPzoge1xyXG4gICAgZW5hYmxlZD86IGJvb2xlYW47IC8vIGRlZmF1bHQ6IHRydWVcclxuICAgIHZpc2libGU/OiBib29sZWFuOyAvLyBkZWZhdWx0OiB0cnVlXHJcbiAgICB3aWR0aD86IG51bWJlcjsgLy8gZGVmYXVsdDogMTIwXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGljb25QbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcclxuICBuYW1lOiAnaWNvbicsXHJcbiAgb3JkZXI6IDc1LFxyXG4gIGFwcGx5OiAoY3R4LCBvcHRpb25zPzogQVhQSWNvblBsdWdpbk9wdGlvbnMpID0+IHtcclxuICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XHJcblxyXG4gICAgY29uc3QgZ3JvdXBJZCA9ICdhcHBlYXJhbmNlJztcclxuICAgIGNvbnN0IGdyb3VwcyA9IGN0eC5ncm91cHMubGlzdCgpID8/IFtdO1xyXG4gICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICBjdHguZ3JvdXBzLmFkZCh7IGlkOiBncm91cElkLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmludGVyZmFjZS5hcHBlYXJhbmNlJyB9IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XHJcbiAgICBpZiAoIXByb3BzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnaWNvbicpKSB7XHJcbiAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XHJcbiAgICAgICAgbmFtZTogJ2ljb24nLFxyXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLmljb24nLFxyXG4gICAgICAgIGdyb3VwSWQsXHJcbiAgICAgICAgc2NoZW1hOiB7XHJcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcclxuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuVGhlbWUuSWNvbkNob29zZXIsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXSxcclxuICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IGZhbHNlIH0sXHJcbiAgICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgICAgYWR2YW5jZTogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICBpbmxpbmU6IHsgZW5hYmxlZDogZmFsc2UgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSBhcyBhbnkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vI3JlZ2lvbiAtLS0tICAgQWRkIENvbHVtbiB0byBMaXN0IFZpZXcgICAtLS0tXHJcblxyXG4gICAgLy8gQWRkIGljb24gY29sdW1uIHRvIGxpc3QgdmlldyBpZiBlbmFibGVkIChkZWZhdWx0OiB0cnVlKVxyXG4gICAgY29uc3QgY29sdW1uRW5hYmxlZCA9IG9wdGlvbnM/LmNvbHVtbj8uZW5hYmxlZCA/PyB0cnVlO1xyXG4gICAgaWYgKGNvbHVtbkVuYWJsZWQpIHtcclxuICAgICAgY29uc3QgY29sdW1ucyA9IGN0eC5jb2x1bW5zLmxpc3QoKSA/PyBbXTtcclxuICAgICAgaWYgKCFjb2x1bW5zLnNvbWUoKGM6IGFueSkgPT4gYy5uYW1lID09PSAnaWNvbicpKSB7XHJcbiAgICAgICAgY3R4LmNvbHVtbnMuYWRkKHtcclxuICAgICAgICAgIG5hbWU6ICdpY29uJyxcclxuICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLmljb24nLFxyXG4gICAgICAgICAgc29ydDogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICB2aXNpYmxlOiBvcHRpb25zPy5jb2x1bW4/LnZpc2libGUgPz8gdHJ1ZSxcclxuICAgICAgICAgICAgd2lkdGg6IGAke29wdGlvbnM/LmNvbHVtbj8ud2lkdGggPz8gMTIwfXB4YCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuY3JlYXRlLnVwZGF0ZSgoY3JlYXRlKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5leHQgPSBjcmVhdGUgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH07XHJcbiAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xyXG4gICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpY29uJykpIHtcclxuICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiAnaWNvbicsXHJcbiAgICAgICAgICBsYXlvdXQ6IHtcclxuICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dDtcclxuICAgIH0pO1xyXG5cclxuICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5tb2RpZnkudXBkYXRlKCh1cGRhdGUpID0+IHtcclxuICAgICAgY29uc3QgbmV4dCA9IHVwZGF0ZSA/PyB7IHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcclxuICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XHJcbiAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XHJcbiAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XHJcbiAgICAgIH1cclxuICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2ljb24nKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdpY29uJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXh0O1xyXG4gICAgfSk7XHJcblxyXG4gICAgY3R4LmludGVyZmFjZXMubWFzdGVyLnNpbmdsZS51cGRhdGUoKHNpbmdsZSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXh0ID0gc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcclxuICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XHJcbiAgICAgIGlmICghbmV4dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+IHMuaWQgPT09IGdyb3VwSWQpKSB7XHJcbiAgICAgICAgbmV4dC5zZWN0aW9ucy5wdXNoKHsgaWQ6IGdyb3VwSWQgfSk7XHJcbiAgICAgIH1cclxuICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xyXG4gICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2ljb24nKSkge1xyXG4gICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdpY29uJyxcclxuICAgICAgICAgIGxheW91dDoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXh0O1xyXG4gICAgfSk7XHJcbiAgfSxcclxufTtcclxuIl19","import { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { iconPlugin } from './icon.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPIconPluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPIconPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPIconPluginModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPIconPluginModule, providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: iconPlugin }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPIconPluginModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [],\n exports: [],\n providers: [{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: iconPlugin }],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2ljb24tcGx1Z2luL2ljb24tcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTNDLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsYUFGbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQzs7MkZBRTFFLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7aUJBQ3RGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaWNvblBsdWdpbiB9IGZyb20gJy4vaWNvbi5wbHVnaW4nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGljb25QbHVnaW4gfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBJY29uUGx1Z2luTW9kdWxlIHt9XHJcbiJdfQ==","import { AXPEntityCommandScope, createQueryView } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsList } from '../../widgets-names-list';\nexport const primaryPlugin = {\n name: 'primary',\n order: 66,\n apply: (ctx) => {\n ensureListActions(ctx);\n //#region ---- Add isPrimary Property ----\n // Ensure settings group exists\n const groupId = 'settings';\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g) => g.id === groupId)) {\n ctx.groups.add({ id: groupId, title: '@general:terms.interface.settings' });\n }\n // Add isPrimary property if it doesn't exist\n const props = ctx.properties.list();\n if (!props.some((p) => p.name === 'isPrimary')) {\n ctx.properties.add({\n name: 'isPrimary',\n title: '@general:terms.status.states.is-primary',\n groupId,\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n // Default to false (not primary)\n defaultValue: false,\n negative: false,\n nullValue: false,\n },\n },\n },\n validations: [],\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true }\n }\n }\n });\n }\n //#endregion\n // Add isPrimary to columns for list view\n const columns = ctx.columns.list() ?? [];\n if (!columns.some((c) => c.name === 'isPrimary')) {\n ctx.columns.add({\n name: 'isPrimary',\n title: '@general:terms.status.states.is-primary',\n width: 100,\n sortable: true,\n filterable: true,\n });\n }\n //#endregion\n //#region ---- Add Primary Actions ----\n ctx.interfaces.update((i) => {\n const setPrimaryCmdName = 'set-primary-entity';\n // Add set primary action to list view\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, setPrimaryCmdName)) {\n listActions.push({\n title: '@general:actions.set-primary.title',\n command: {\n name: setPrimaryCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isPrimary\") }}`,\n });\n }\n // Add set primary action to single view\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, setPrimaryCmdName)) {\n singleActions.push({\n title: '@general:actions.set-primary.title',\n command: {\n name: setPrimaryCmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'update',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ context.eval(\"isPrimary\") }}`,\n });\n }\n return i;\n });\n //#endregion\n //#region ---- Update Interface Layouts ----\n // Ensure create view includes isPrimary\n ctx.interfaces.master.create.update((create) => {\n const next = create ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isPrimary')) {\n next.properties.push({\n name: 'isPrimary',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Ensure update view includes isPrimary\n ctx.interfaces.master.modify.update((update) => {\n const next = update ?? { sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isPrimary')) {\n next.properties.push({\n name: 'isPrimary',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Ensure single view includes isPrimary\n ctx.interfaces.master.single.update((single) => {\n const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };\n next.sections = next.sections ?? [];\n if (!next.sections.some((s) => s.id === groupId)) {\n next.sections.push({ id: groupId, order: 150 });\n }\n next.properties = next.properties ?? [];\n if (!next.properties.some((p) => p.name === 'isPrimary')) {\n next.properties.push({\n name: 'isPrimary',\n layout: {\n positions: { lg: { colSpan: 6, order: 90 } },\n },\n });\n }\n return next;\n });\n // Add primary view to show only primary items\n ctx.interfaces.master.list.update((list) => {\n const next = list ?? { actions: [], views: [] };\n next.views = next.views ?? [];\n // Check if primary view already exists\n if (!next.views.some((v) => v.name === 'primary')) {\n next.views.push(createQueryView('primary', '@general:terms.status.states.is-primary', false, {\n conditions: [\n {\n name: 'isPrimary',\n operator: { type: 'equal' },\n value: true,\n hidden: true\n },\n ],\n sorts: [\n { name: 'updatedAt', dir: 'desc' },\n { name: 'title', dir: 'asc' },\n ],\n }));\n }\n return next;\n });\n //#endregion\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWFyeS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvcHJpbWFyeS1wbHVnaW4vcHJpbWFyeS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCO0lBQ2hELElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLDhDQUE4QztRQUU5QywrQkFBK0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbEQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLEtBQUssRUFBRSx5Q0FBeUM7Z0JBQ2hELE9BQU87Z0JBQ1AsTUFBTSxFQUFFO29CQUNKLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWTt3QkFDekMsT0FBTyxFQUFFOzRCQUNMLGlDQUFpQzs0QkFDakMsWUFBWSxFQUFFLEtBQUs7NEJBQ25CLFFBQVEsRUFBRSxLQUFLOzRCQUNmLFNBQVMsRUFBRSxLQUFLO3lCQUNuQjtxQkFDSjtpQkFDSjtnQkFDRCxXQUFXLEVBQUUsRUFBRTtnQkFDZixPQUFPLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtvQkFDdkIsTUFBTSxFQUFFO3dCQUNKLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7d0JBQzFCLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7cUJBQzVCO2lCQUNKO2FBQ0csQ0FBQyxDQUFDO1FBQ2QsQ0FBQztRQUVELFlBQVk7UUFFWix5Q0FBeUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDWixJQUFJLEVBQUUsV0FBVztnQkFDakIsS0FBSyxFQUFFLHlDQUF5QztnQkFDaEQsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7UUFDZCxDQUFDO1FBRUQsWUFBWTtRQUVaLDJDQUEyQztRQUUzQyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUM7WUFFL0Msc0NBQXNDO1lBQ3RDLE1BQU0sV0FBVyxHQUFJLENBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQTRCLENBQUM7WUFDeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxvQ0FBb0M7b0JBQzNDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsaUJBQWlCO3dCQUN2QixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtvQkFDdkMsTUFBTSxFQUFFLGlDQUFpQztpQkFDNUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELHdDQUF3QztZQUN4QyxNQUFNLGFBQWEsR0FBSSxDQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUE0QixJQUFJLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xELGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ2YsS0FBSyxFQUFFLG9DQUFvQztvQkFDM0MsT0FBTyxFQUFFO3dCQUNMLElBQUksRUFBRSxpQkFBaUI7d0JBQ3ZCLE9BQU8sRUFBRTs0QkFDTCxLQUFLLEVBQUUsMEJBQTBCOzRCQUNqQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTt5QkFDckQ7cUJBQ0o7b0JBQ0QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxRQUFRO29CQUNkLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO29CQUN2QyxNQUFNLEVBQUUsaUNBQWlDO2lCQUM1QyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBRUQsT0FBTyxDQUFRLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxZQUFZO1FBRVosZ0RBQWdEO1FBRWhELHdDQUF3QztRQUN4QyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN4QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUksRUFBRSxXQUFXO29CQUNqQixNQUFNLEVBQUU7d0JBQ0osU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7cUJBQy9DO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILHdDQUF3QztRQUN4QyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN4QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUksRUFBRSxXQUFXO29CQUNqQixNQUFNLEVBQUU7d0JBQ0osU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7cUJBQy9DO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILHdDQUF3QztRQUN4QyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2pGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUksRUFBRSxXQUFXO29CQUNqQixNQUFNLEVBQUU7d0JBQ0osU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7cUJBQy9DO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILDhDQUE4QztRQUM5QyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUU5Qix1Q0FBdUM7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNYLGVBQWUsQ0FBQyxTQUFTLEVBQUUseUNBQXlDLEVBQUUsS0FBSyxFQUFFO29CQUN6RSxVQUFVLEVBQUU7d0JBQ1I7NEJBQ0ksSUFBSSxFQUFFLFdBQVc7NEJBQ2pCLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7NEJBQzNCLEtBQUssRUFBRSxJQUFJOzRCQUNYLE1BQU0sRUFBRSxJQUFJO3lCQUNmO3FCQUNKO29CQUNELEtBQUssRUFBRTt3QkFDSCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRTt3QkFDbEMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7cUJBQ2hDO2lCQUNKLENBQUMsQ0FDTCxDQUFDO1lBQ04sQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsWUFBWTtJQUNoQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eUFjdGlvbiwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBjcmVhdGVRdWVyeVZpZXcgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb25QbHVnaW4sIGVuc3VyZUxpc3RBY3Rpb25zLCBhY3Rpb25FeGlzdHMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0xpc3QgfSBmcm9tICcuLi8uLi93aWRnZXRzLW5hbWVzLWxpc3QnO1xuXG5leHBvcnQgY29uc3QgcHJpbWFyeVBsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICAgIG5hbWU6ICdwcmltYXJ5JyxcbiAgICBvcmRlcjogNjYsXG4gICAgYXBwbHk6IChjdHgpID0+IHtcbiAgICAgICAgZW5zdXJlTGlzdEFjdGlvbnMoY3R4KTtcblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEFkZCBpc1ByaW1hcnkgUHJvcGVydHkgICAtLS0tXG5cbiAgICAgICAgLy8gRW5zdXJlIHNldHRpbmdzIGdyb3VwIGV4aXN0c1xuICAgICAgICBjb25zdCBncm91cElkID0gJ3NldHRpbmdzJztcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICAgIGlmICghZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICAgIGN0eC5ncm91cHMuYWRkKHsgaWQ6IGdyb3VwSWQsIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuaW50ZXJmYWNlLnNldHRpbmdzJyB9IGFzIGFueSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGQgaXNQcmltYXJ5IHByb3BlcnR5IGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc1ByaW1hcnknKSkge1xuICAgICAgICAgICAgY3R4LnByb3BlcnRpZXMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNQcmltYXJ5JyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLnN0YXR1cy5zdGF0ZXMuaXMtcHJpbWFyeScsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlRvZ2dsZVN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGZhbHNlIChub3QgcHJpbWFyeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8gQWRkIGlzUHJpbWFyeSB0byBjb2x1bW5zIGZvciBsaXN0IHZpZXdcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IGN0eC5jb2x1bW5zLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFjb2x1bW5zLnNvbWUoKGM6IGFueSkgPT4gYy5uYW1lID09PSAnaXNQcmltYXJ5JykpIHtcbiAgICAgICAgICAgIGN0eC5jb2x1bW5zLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2lzUHJpbWFyeScsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5zdGF0dXMuc3RhdGVzLmlzLXByaW1hcnknLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgQWRkIFByaW1hcnkgQWN0aW9ucyAgIC0tLS1cblxuICAgICAgICBjdHguaW50ZXJmYWNlcy51cGRhdGUoKGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNldFByaW1hcnlDbWROYW1lID0gJ3NldC1wcmltYXJ5LWVudGl0eSc7XG5cbiAgICAgICAgICAgIC8vIEFkZCBzZXQgcHJpbWFyeSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBjb25zdCBsaXN0QWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBBWFBFbnRpdHlBY3Rpb25bXTtcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCBzZXRQcmltYXJ5Q21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLnNldC1wcmltYXJ5LnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogc2V0UHJpbWFyeUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7IGNvbnRleHQuZXZhbChcImlzUHJpbWFyeVwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBzZXQgcHJpbWFyeSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgc2V0UHJpbWFyeUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLnNldC1wcmltYXJ5LnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogc2V0UHJpbWFyeUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7IGNvbnRleHQuZXZhbChcImlzUHJpbWFyeVwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBpIGFzIGFueTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBVcGRhdGUgSW50ZXJmYWNlIExheW91dHMgICAtLS0tXG5cbiAgICAgICAgLy8gRW5zdXJlIGNyZWF0ZSB2aWV3IGluY2x1ZGVzIGlzUHJpbWFyeVxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuY3JlYXRlLnVwZGF0ZSgoY3JlYXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gY3JlYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc1ByaW1hcnknKSkge1xuICAgICAgICAgICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lzUHJpbWFyeScsXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiA5MCB9IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHVwZGF0ZSB2aWV3IGluY2x1ZGVzIGlzUHJpbWFyeVxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gdXBkYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc1ByaW1hcnknKSkge1xuICAgICAgICAgICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lzUHJpbWFyeScsXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiA5MCB9IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHNpbmdsZSB2aWV3IGluY2x1ZGVzIGlzUHJpbWFyeVxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuc2luZ2xlLnVwZGF0ZSgoc2luZ2xlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcbiAgICAgICAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCwgb3JkZXI6IDE1MCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnaXNQcmltYXJ5JykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc1ByaW1hcnknLFxuICAgICAgICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2LCBvcmRlcjogOTAgfSB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEFkZCBwcmltYXJ5IHZpZXcgdG8gc2hvdyBvbmx5IHByaW1hcnkgaXRlbXNcbiAgICAgICAgY3R4LmludGVyZmFjZXMubWFzdGVyLmxpc3QudXBkYXRlKChsaXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gbGlzdCA/PyB7IGFjdGlvbnM6IFtdLCB2aWV3czogW10gfTtcbiAgICAgICAgICAgIG5leHQudmlld3MgPSBuZXh0LnZpZXdzID8/IFtdO1xuXG4gICAgICAgICAgICAvLyBDaGVjayBpZiBwcmltYXJ5IHZpZXcgYWxyZWFkeSBleGlzdHNcbiAgICAgICAgICAgIGlmICghbmV4dC52aWV3cy5zb21lKCh2OiBhbnkpID0+IHYubmFtZSA9PT0gJ3ByaW1hcnknKSkge1xuICAgICAgICAgICAgICAgIG5leHQudmlld3MucHVzaChcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlUXVlcnlWaWV3KCdwcmltYXJ5JywgJ0BnZW5lcmFsOnRlcm1zLnN0YXR1cy5zdGF0ZXMuaXMtcHJpbWFyeScsIGZhbHNlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaXNQcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ3VwZGF0ZWRBdCcsIGRpcjogJ2Rlc2MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBkaXI6ICdhc2MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgfSxcbn07XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { primaryPlugin } from './primary.plugin';\nimport * as i0 from \"@angular/core\";\nexport class AXPPrimaryPluginModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPPrimaryPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPPrimaryPluginModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPPrimaryPluginModule, providers: [\n // Register the primary plugin\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: primaryPlugin,\n multi: true,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPPrimaryPluginModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n // Register the primary plugin\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: primaryPlugin,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWFyeS1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL3ByaW1hcnktcGx1Z2luL3ByaW1hcnktcGx1Z2luLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFZakQsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixhQVRwQjtZQUNQLDhCQUE4QjtZQUM5QjtnQkFDSSxPQUFPLEVBQUUsd0JBQXdCO2dCQUNqQyxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKOzsyRkFFUSxzQkFBc0I7a0JBVmxDLFFBQVE7bUJBQUM7b0JBQ04sU0FBUyxFQUFFO3dCQUNQLDhCQUE4Qjt3QkFDOUI7NEJBQ0ksT0FBTyxFQUFFLHdCQUF3Qjs0QkFDakMsUUFBUSxFQUFFLGFBQWE7NEJBQ3ZCLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBwcmltYXJ5UGx1Z2luIH0gZnJvbSAnLi9wcmltYXJ5LnBsdWdpbic7XG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC8vIFJlZ2lzdGVyIHRoZSBwcmltYXJ5IHBsdWdpblxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sXG4gICAgICAgICAgICB1c2VWYWx1ZTogcHJpbWFyeVBsdWdpbixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFByaW1hcnlQbHVnaW5Nb2R1bGUgeyB9XG4iXX0=","import { AXCalendarService } from \"@acorex/core/date-time\";\nimport { inject } from \"@angular/core\";\nexport class AXPDateTimeEvaluatorScopeProvider {\n constructor() {\n this.calendarService = inject(AXCalendarService);\n }\n async provide(context) {\n context.addScope('date', {\n today: () => {\n return this.calendarService.now();\n },\n tomorrow: () => {\n return this.calendarService.create(this.calendarService.now()).add('day', 1).startOf('day').date;\n },\n yesterday: () => {\n return this.calendarService.create(this.calendarService.now()).add('day', -1).startOf('day').date;\n },\n addDays: (date, days) => {\n return this.calendarService.create(date).add('day', days).date;\n },\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL3NoYXJlZC9ldmFsdWF0b3JzL2RhdGV0aW1lLmV2YWx1YXRvci1zY29wZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxpQ0FBaUM7SUFBOUM7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBbUJ4RCxDQUFDO0lBaEJHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUQ7UUFDN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDckIsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDUixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdEMsQ0FBQztZQUNELFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3JHLENBQUM7WUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUNaLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3RHLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLEVBQUU7Z0JBQ3BDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkUsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9kYXRlLXRpbWVcIjtcbmltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgQVhQRGF0ZVRpbWVFdmFsdWF0b3JTY29wZVByb3ZpZGVyIGltcGxlbWVudHMgQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXIge1xuXG4gICAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQVhDYWxlbmRhclNlcnZpY2UpO1xuXG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCdkYXRlJywge1xuICAgICAgICAgICAgdG9kYXk6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhclNlcnZpY2Uubm93KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdG9tb3Jyb3c6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKHRoaXMuY2FsZW5kYXJTZXJ2aWNlLm5vdygpKS5hZGQoJ2RheScsIDEpLnN0YXJ0T2YoJ2RheScpLmRhdGU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeWVzdGVyZGF5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZSh0aGlzLmNhbGVuZGFyU2VydmljZS5ub3coKSkuYWRkKCdkYXknLCAtMSkuc3RhcnRPZignZGF5JykuZGF0ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhZGREYXlzOiAoZGF0ZTogc3RyaW5nLCBkYXlzOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKGRhdGUpLmFkZCgnZGF5JywgZGF5cykuZGF0ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbn0gIl19","import { AXTranslationService } from \"@acorex/core/translation\";\nimport { inject } from \"@angular/core\";\nexport class AXPTranslateEvaluatorScopeProvider {\n constructor() {\n this.translateService = inject(AXTranslationService);\n }\n async provide(context) {\n context.addScope('translate', {\n resolve: async (text, options) => {\n return await this.translateService.translateAsync(text, options);\n },\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmV2YWx1YXRvci1zY29wZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9zaGFyZWQvZXZhbHVhdG9ycy90cmFuc2xhdGUuZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0Isb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxrQ0FBa0M7SUFBL0M7UUFFWSxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQVU1RCxDQUFDO0lBUEcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFtRDtRQUM3RCxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtZQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQVcsRUFBRyxPQUE2QixFQUFFLEVBQUU7Z0JBQzNELE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNyRSxDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhUcmFuc2xhdGVPcHRpb25zLCBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcbmltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgQVhQVHJhbnNsYXRlRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cblxuICAgIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnRleHQuYWRkU2NvcGUoJ3RyYW5zbGF0ZScsIHtcbiAgICAgICAgICAgIHJlc29sdmU6IGFzeW5jICh0ZXh0OnN0cmluZyAsIG9wdGlvbnM/IDogQVhUcmFuc2xhdGVPcHRpb25zKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyh0ZXh0LCBvcHRpb25zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbn0gIl19","import { AXPWorkflowAction } from \"@acorex/platform/workflow\";\nimport { inject, Injectable } from \"@angular/core\";\nimport { AXPopupService } from \"@acorex/components/popup\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport * as i0 from \"@angular/core\";\nexport class AXMVersionHistoryPopupStartAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translate = inject(AXTranslationService);\n }\n async execute(context) {\n const comp = (await import('../components/timeline-version-history-popup/timeline-version-history-popup.component')).AXMTimelineVersionHistoryPopupComponent;\n this.popupService.open(comp, {\n title: await this.translate.translateAsync('@activity-log:actions.view-history'),\n data: {\n refId: context.getVariable('options.refId'),\n refType: context.getVariable('options.refType'),\n fieldTitles: context.getVariable('options.fieldTitles'),\n fromDate: context.getVariable('options.fromDate'),\n toDate: context.getVariable('options.toDate'),\n limit: context.getVariable('options.limit'),\n offset: context.getVariable('options.offset'),\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMVersionHistoryPopupStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMVersionHistoryPopupStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMVersionHistoryPopupStartAction, decorators: [{\n type: Injectable\n }] });\nexport const AXMVersionHistoryPopupWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'show-version-history-popup-action',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wb3B1cC53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3Rvcnkvd29ya2Zsb3dzL2hpc3RvcnktcG9wdXAud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGlCQUFpQjtJQUR4RTs7UUFFVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FpQmxEO0lBZlUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNoRCxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLHVGQUF1RixDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQztRQUM3SixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDM0IsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsb0NBQW9DLENBQUM7WUFDaEYsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7Z0JBQy9DLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDO2dCQUN2RCxRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzdDLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztnQkFDM0MsTUFBTSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7YUFDOUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWxCVSxpQ0FBaUM7a0hBQWpDLGlDQUFpQzs7MkZBQWpDLGlDQUFpQztrQkFEN0MsVUFBVTs7QUFzQlgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQWdCO0lBQ3pELFdBQVcsRUFBRSxPQUFPO0lBQ3BCLEtBQUssRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRSxtQ0FBbUM7U0FDNUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93XCI7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL3BvcHVwXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVZlcnNpb25IaXN0b3J5UG9wdXBTdGFydEFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHRyYW5zbGF0ZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb21wID0gKGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy90aW1lbGluZS12ZXJzaW9uLWhpc3RvcnktcG9wdXAvdGltZWxpbmUtdmVyc2lvbi1oaXN0b3J5LXBvcHVwLmNvbXBvbmVudCcpKS5BWE1UaW1lbGluZVZlcnNpb25IaXN0b3J5UG9wdXBDb21wb25lbnQ7XG4gICAgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCB7XG4gICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGUudHJhbnNsYXRlQXN5bmMoJ0BhY3Rpdml0eS1sb2c6YWN0aW9ucy52aWV3LWhpc3RvcnknKSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVmSWQ6IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMucmVmSWQnKSxcbiAgICAgICAgcmVmVHlwZTogY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy5yZWZUeXBlJyksXG4gICAgICAgIGZpZWxkVGl0bGVzOiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLmZpZWxkVGl0bGVzJyksXG4gICAgICAgIGZyb21EYXRlOiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLmZyb21EYXRlJyksXG4gICAgICAgIHRvRGF0ZTogY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy50b0RhdGUnKSxcbiAgICAgICAgbGltaXQ6IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMubGltaXQnKSxcbiAgICAgICAgb2Zmc2V0OiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLm9mZnNldCcpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhNVmVyc2lvbkhpc3RvcnlQb3B1cFdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgc3RhcnRTdGVwSWQ6ICdzdGFydCcsXG4gIHN0ZXBzOiB7XG4gICAgc3RhcnQ6IHtcbiAgICAgIGFjdGlvbjogJ3Nob3ctdmVyc2lvbi1oaXN0b3J5LXBvcHVwLWFjdGlvbicsXG4gICAgfSxcbiAgfSxcbn07Il19","import { AXPEntityCommandScope } from '@acorex/platform/common';\nimport { ensureListActions, actionExists } from '@acorex/platform/layout/entity';\nexport const historyPlugin = {\n name: 'history',\n order: 50,\n apply: (ctx) => {\n ensureListActions(ctx);\n const fieldTitles = Object.fromEntries(ctx.entity?.properties?.map((p) => [p.name, p.title]) ?? []);\n ctx.interfaces.update((i) => {\n const cmdName = 'show-version-history-popup';\n //\n const listActions = i.master.list.actions;\n if (!actionExists(listActions, cmdName)) {\n listActions.push({\n title: '@activity-log:actions.view-history',\n command: {\n name: cmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n fieldTitles,\n },\n },\n priority: 'secondary',\n type: 'version-history',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n //\n const singleActions = i.master?.single?.actions || [];\n if (!actionExists(singleActions, cmdName)) {\n singleActions.push({\n title: '@activity-log:actions.view-history',\n command: {\n name: cmdName,\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n fieldTitles,\n },\n },\n priority: 'secondary',\n type: 'version-history',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n //\n return i;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvdmVyc2lvbi1oaXN0b3J5L2hpc3RvcnkucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMEI7SUFDaEQsSUFBSSxFQUFFLFNBQVM7SUFDZixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ1gsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDakMsR0FBRyxDQUFDLE1BQWMsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUM1RSxDQUFDO1FBQ0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBRyw0QkFBNEIsQ0FBQztZQUM3QyxFQUFFO1lBQ0YsTUFBTSxXQUFXLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEIsQ0FBQztZQUN4RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxvQ0FBb0M7b0JBQzNDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7NEJBQ2xELFdBQVc7eUJBQ2Q7cUJBQ0o7b0JBQ0QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO2lCQUMxQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsRUFBRTtZQUNGLE1BQU0sYUFBYSxHQUFJLENBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQTRCLElBQUksRUFBRSxDQUFDO1lBQ3BGLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ2YsS0FBSyxFQUFFLG9DQUFvQztvQkFDM0MsT0FBTyxFQUFFO3dCQUNMLElBQUksRUFBRSxPQUFPO3dCQUNiLE9BQU8sRUFBRTs0QkFDTCxLQUFLLEVBQUUsMEJBQTBCOzRCQUNqQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTs0QkFDbEQsV0FBVzt5QkFDZDtxQkFDSjtvQkFDRCxRQUFRLEVBQUUsV0FBVztvQkFDckIsSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFVBQVU7aUJBQzFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxFQUFFO1lBQ0YsT0FBTyxDQUFRLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eUFjdGlvbiwgQVhQRW50aXR5Q29tbWFuZFNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IGhpc3RvcnlQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnaGlzdG9yeScsXG4gICAgb3JkZXI6IDUwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG4gICAgICAgIGNvbnN0IGZpZWxkVGl0bGVzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgICAgKGN0eC5lbnRpdHkgYXMgYW55KT8ucHJvcGVydGllcz8ubWFwKChwOiBhbnkpID0+IFtwLm5hbWUsIHAudGl0bGVdKSA/PyBbXVxuICAgICAgICApO1xuICAgICAgICBjdHguaW50ZXJmYWNlcy51cGRhdGUoKGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNtZE5hbWUgPSAnc2hvdy12ZXJzaW9uLWhpc3RvcnktcG9wdXAnO1xuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGNvbnN0IGxpc3RBY3Rpb25zID0gKGkgYXMgYW55KS5tYXN0ZXIubGlzdC5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGFjdGl2aXR5LWxvZzphY3Rpb25zLnZpZXctaGlzdG9yeScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRUaXRsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd2ZXJzaW9uLWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgY29uc3Qgc2luZ2xlQWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyPy5zaW5nbGU/LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW10gfHwgW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhzaW5nbGVBY3Rpb25zLCBjbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIHNpbmdsZUFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGFjdGl2aXR5LWxvZzphY3Rpb25zLnZpZXctaGlzdG9yeScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRUaXRsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd2ZXJzaW9uLWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcbiAgICB9LFxufTtcblxuXG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMVersionHistoryPopupStartAction, AXMVersionHistoryPopupWorkflow } from './workflows/history-popup.workflow';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { historyPlugin } from './history.plugin';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXPVersionHistoryModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPVersionHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPVersionHistoryModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPVersionHistoryModule, providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: historyPlugin },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n 'show-version-history-popup-action': AXMVersionHistoryPopupStartAction,\n },\n workflows: {\n 'show-version-history-popup': AXMVersionHistoryPopupWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPVersionHistoryModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n 'show-version-history-popup-action': AXMVersionHistoryPopupStartAction,\n },\n workflows: {\n 'show-version-history-popup': AXMVersionHistoryPopupWorkflow,\n },\n }),\n ],\n exports: [],\n providers: [\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: historyPlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1oaXN0b3J5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvdmVyc2lvbi1oaXN0b3J5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBa0JqRCxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLGFBSnZCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO1NBQzVFLFlBWkMsaUJBQWlCLENBQUMsUUFBUSxDQUFDO2dCQUN6QixPQUFPLEVBQUU7b0JBQ1AsbUNBQW1DLEVBQUUsaUNBQWlDO2lCQUN2RTtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsNEJBQTRCLEVBQUUsOEJBQThCO2lCQUM3RDthQUNGLENBQUM7OzJGQU9PLHVCQUF1QjtrQkFoQm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQixDQUFDLFFBQVEsQ0FBQzs0QkFDekIsT0FBTyxFQUFFO2dDQUNQLG1DQUFtQyxFQUFFLGlDQUFpQzs2QkFDdkU7NEJBQ0QsU0FBUyxFQUFFO2dDQUNULDRCQUE0QixFQUFFLDhCQUE4Qjs2QkFDN0Q7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUM1RTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhNVmVyc2lvbkhpc3RvcnlQb3B1cFN0YXJ0QWN0aW9uLCBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwV29ya2Zsb3cgfSBmcm9tICcuL3dvcmtmbG93cy9oaXN0b3J5LXBvcHVwLndvcmtmbG93JztcbmltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBoaXN0b3J5UGx1Z2luIH0gZnJvbSAnLi9oaXN0b3J5LnBsdWdpbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgICdzaG93LXZlcnNpb24taGlzdG9yeS1wb3B1cC1hY3Rpb24nOiBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwU3RhcnRBY3Rpb24sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdzaG93LXZlcnNpb24taGlzdG9yeS1wb3B1cCc6IEFYTVZlcnNpb25IaXN0b3J5UG9wdXBXb3JrZmxvdyxcbiAgICAgIH0sXG4gICAgfSksXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBoaXN0b3J5UGx1Z2luIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFZlcnNpb25IaXN0b3J5TW9kdWxlIHsgfVxuIl19","export const AXPCommonMenuKeys = {\n Home: 'app:home',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL21lbnUua2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixJQUFJLEVBQUUsVUFBVTtDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVhQQ29tbW9uTWVudUtleXMgPSB7XG4gICAgSG9tZTogJ2FwcDpob21lJyxcbn0gYXMgY29uc3Q7XG5cbiJdfQ==","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nimport { AXPCommonMenuKeys } from './menu.keys';\nexport class AXMMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n this.homePageService = inject(AXPHomePageService);\n this.entityService = inject(AXPEntityService);\n }\n async provide(context) {\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n const appName = this.sessionService.application?.name;\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n const homePagePath = this.homePageService.getCurrent().path;\n if (homePagePath) {\n context.addItems([\n {\n name: AXPCommonMenuKeys.Home,\n priority: -9,\n text: '@general:terms.interface.navigation.home',\n path: homePagePath,\n icon: 'fa-light fa-grid-2',\n data: {\n //requiredPermission: '',\n },\n },\n ]);\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBMkMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFDVSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0Msa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQTZCbkQsQ0FBQztJQTNCQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQStCO1FBQzNDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1FBRXRELE1BQU0sWUFBWSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBQ0QsRUFBRTtRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQzVELElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDZjtvQkFDRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDNUIsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDWixJQUFJLEVBQUUsMENBQTBDO29CQUNoRCxJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLG9CQUFvQjtvQkFDMUIsSUFBSSxFQUFFO29CQUNKLHlCQUF5QjtxQkFDMUI7aUJBQ0Y7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBRUgsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQSG9tZVBhZ2VTZXJ2aWNlLCBBWFBNZW51UHJvdmlkZXIsIEFYUE1lbnVQcm92aWRlckNvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7IEFYUENvbW1vbk1lbnVLZXlzIH0gZnJvbSAnLi9tZW51LmtleXMnO1xuXG5leHBvcnQgY2xhc3MgQVhNTWVudVByb3ZpZGVyIGltcGxlbWVudHMgQVhQTWVudVByb3ZpZGVyIHtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gIHByaXZhdGUgaG9tZVBhZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUEhvbWVQYWdlU2VydmljZSk7XG4gIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlTZXJ2aWNlKTtcblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUE1lbnVQcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzY29wZSA9IFJvb3RDb25maWcuY29uZmlnLmkxOG47XG4gICAgY29uc3QgbW9kdWxlID0gUm9vdENvbmZpZy5tb2R1bGU7XG4gICAgY29uc3QgYXBwTmFtZSA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWU7XG5cbiAgICBjb25zdCBpc0F1dGhvcml6ZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNlc3Npb25TZXJ2aWNlLmlzQXV0aG9yaXplZCQpO1xuICAgIGlmICghaXNBdXRob3JpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vXG4gICAgY29uc3QgaG9tZVBhZ2VQYXRoID0gdGhpcy5ob21lUGFnZVNlcnZpY2UuZ2V0Q3VycmVudCgpLnBhdGg7XG4gICAgaWYgKGhvbWVQYWdlUGF0aCkge1xuICAgICAgY29udGV4dC5hZGRJdGVtcyhbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBBWFBDb21tb25NZW51S2V5cy5Ib21lLFxuICAgICAgICAgIHByaW9yaXR5OiAtOSxcbiAgICAgICAgICB0ZXh0OiAnQGdlbmVyYWw6dGVybXMuaW50ZXJmYWNlLm5hdmlnYXRpb24uaG9tZScsXG4gICAgICAgICAgcGF0aDogaG9tZVBhZ2VQYXRoLFxuICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1ncmlkLTInLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIC8vcmVxdWlyZWRQZXJtaXNzaW9uOiAnJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgfVxuXG4gIH1cbn1cbiJdfQ==","export class AXMPermissionDefinitionProvider {\n async define(context) {\n // context.addPermissions([\n // {\n // name: 'view_templates',\n // title: 'Permission to view templates',\n // isArchived: false,\n // },\n // ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL3Blcm1pc3Npb24tZGVmaW5pdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sK0JBQStCO0lBQzFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBK0M7UUFDMUQsMkJBQTJCO1FBQzNCLE1BQU07UUFDTiw4QkFBOEI7UUFDOUIsNkNBQTZDO1FBQzdDLHlCQUF5QjtRQUN6QixPQUFPO1FBQ1AsTUFBTTtJQUNSLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXIsIEFYUFBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcblxuZXhwb3J0IGNsYXNzIEFYTVBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgYXN5bmMgZGVmaW5lKGNvbnRleHQ6IEFYUFBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gY29udGV4dC5hZGRQZXJtaXNzaW9ucyhbXG4gICAgLy8gICB7XG4gICAgLy8gICAgIG5hbWU6ICd2aWV3X3RlbXBsYXRlcycsXG4gICAgLy8gICAgIHRpdGxlOiAnUGVybWlzc2lvbiB0byB2aWV3IHRlbXBsYXRlcycsXG4gICAgLy8gICAgIGlzQXJjaGl2ZWQ6IGZhbHNlLFxuICAgIC8vICAgfSxcbiAgICAvLyBdKTtcbiAgfVxufVxuIl19","import { AXPSearchCommandProvider } from '@acorex/platform/common';\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n constructor() {\n super(...arguments);\n this.commands = [\n // {\n // group: 'command',\n // title: 'New Form Template',\n // icon: RootConfig.entities.template.icon,\n // description: 'Create a new form template for designing reusable forms.', // Added description\n // commands: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n // },\n // },\n // }\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbW1hbmQucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvc2VhcmNoLWNvbW1hbmQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFtQixNQUFNLHlCQUF5QixDQUFDO0FBRXBGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx3QkFBd0I7SUFBdEU7O1FBQ0UsYUFBUSxHQUFzQjtRQUM1QixJQUFJO1FBQ0osc0JBQXNCO1FBQ3RCLCtCQUErQjtRQUMvQiw0Q0FBNEM7UUFDNUMsaUdBQWlHO1FBQ2pHLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsaUZBQWlGO1FBQ2pGLFFBQVE7UUFDUixNQUFNO1FBQ04sSUFBSTtTQUNMLENBQUM7SUFDSixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZWFyY2hDb21tYW5kUHJvdmlkZXIsIEFYUFNlYXJjaFJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIEFYTVNlYXJjaENvbW1hbmRQcm92aWRlciBleHRlbmRzIEFYUFNlYXJjaENvbW1hbmRQcm92aWRlciB7XG4gIGNvbW1hbmRzOiBBWFBTZWFyY2hSZXN1bHRbXSA9IFtcbiAgICAvLyB7XG4gICAgLy8gICBncm91cDogJ2NvbW1hbmQnLFxuICAgIC8vICB0aXRsZTogJ05ldyBGb3JtIFRlbXBsYXRlJyxcbiAgICAvLyAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy50ZW1wbGF0ZS5pY29uLFxuICAgIC8vICBkZXNjcmlwdGlvbjogJ0NyZWF0ZSBhIG5ldyBmb3JtIHRlbXBsYXRlIGZvciBkZXNpZ25pbmcgcmV1c2FibGUgZm9ybXMuJywgLy8gQWRkZWQgZGVzY3JpcHRpb25cbiAgICAvLyAgY29tbWFuZHM6IHtcbiAgICAvLyAgICAnY3JlYXRlLWVudGl0eSc6IHtcbiAgICAvLyAgICAgIGVudGl0eTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLnRlbXBsYXRlLm5hbWV9YCxcbiAgICAvLyAgICB9LFxuICAgIC8vICB9LFxuICAgIC8vIH1cbiAgXTtcbn1cbiJdfQ==","import { Injectable, Injector } from '@angular/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nexport class AXMSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`@general:settings.${key}`);\n // Find the 'General Settings' group\n const group = context.group('general');\n if (!group) {\n return;\n }\n // Add the 'Release Notes' setting\n // group.addSection('lock-system', await trans('general.lock-system.lock.title'), await trans('general.lock-system.lock.description')).addSetting({\n // key: AXMLockSystemSettings.LockSystem, \n // title: await trans('general.lock-system.lock.title'),\n // scope: AXPPlatformScope.Tenant,\n // isInherited: true,\n // defaultValue: false,\n // valueTransforms: objectKeyValueTransforms('id'),\n // widget: {\n // type: AXPWidgetsCatalog.toggle,\n // options: {\n // label: null,\n // }\n // },\n // description: await trans('general.lock-system.lock.description'),\n // })\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvc2V0dGluZ3MucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSWhFLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQURyQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTVFLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBRXhELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1RyxvQ0FBb0M7UUFDcEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxtSkFBbUo7UUFDbkosK0NBQStDO1FBQy9DLDREQUE0RDtRQUM1RCxzQ0FBc0M7UUFDdEMseUJBQXlCO1FBQ3pCLDJCQUEyQjtRQUMzQix1REFBdUQ7UUFDdkQsZ0JBQWdCO1FBQ2hCLDBDQUEwQztRQUMxQyxxQkFBcUI7UUFDckIsMkJBQTJCO1FBQzNCLFlBQVk7UUFDWixTQUFTO1FBQ1Qsd0VBQXdFO1FBQ3hFLEtBQUs7SUFFUCxDQUFDOzhHQWpDVSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQUGxhdGZvcm1TY29wZSwgb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYTUxvY2tTeXN0ZW1TZXR0aW5ncyB9IGZyb20gJy4vZmVhdHVyZXMvbG9jay1zeXN0ZW0vc2V0dGluZ3Mua2V5cyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1TZXR0aW5nUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICBjb25zdCB0cmFucyA9IGFzeW5jIChrZXk6IHN0cmluZykgPT4gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKGBAZ2VuZXJhbDpzZXR0aW5ncy4ke2tleX1gKTtcblxuICAgIC8vIEZpbmQgdGhlICdHZW5lcmFsIFNldHRpbmdzJyBncm91cFxuICAgIGNvbnN0IGdyb3VwID0gY29udGV4dC5ncm91cCgnZ2VuZXJhbCcpO1xuICAgIGlmICghZ3JvdXApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlICdSZWxlYXNlIE5vdGVzJyBzZXR0aW5nXG4gICAgLy8gZ3JvdXAuYWRkU2VjdGlvbignbG9jay1zeXN0ZW0nLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5sb2NrLXN5c3RlbS5sb2NrLnRpdGxlJyksIGF3YWl0IHRyYW5zKCdnZW5lcmFsLmxvY2stc3lzdGVtLmxvY2suZGVzY3JpcHRpb24nKSkuYWRkU2V0dGluZyh7XG4gICAgLy8gICAgIGtleTogQVhNTG9ja1N5c3RlbVNldHRpbmdzLkxvY2tTeXN0ZW0sICBcbiAgICAvLyAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmxvY2stc3lzdGVtLmxvY2sudGl0bGUnKSxcbiAgICAvLyAgICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGUuVGVuYW50LFxuICAgIC8vICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAvLyAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAvLyAgICAgdmFsdWVUcmFuc2Zvcm1zOiBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMoJ2lkJyksXG4gICAgLy8gICAgIHdpZGdldDoge1xuICAgIC8vICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgIC8vICAgICAgICAgb3B0aW9uczoge1xuICAgIC8vICAgICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICB9LFxuICAgIC8vICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ2dlbmVyYWwubG9jay1zeXN0ZW0ubG9jay5kZXNjcmlwdGlvbicpLFxuICAgIC8vIH0pXG5cbiAgfVxufVxuIl19","import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { NgModule } from '@angular/core';\nimport { AXMCommonModuleEntityProvider } from './entity.provider';\nimport { AXPArchivePluginModule } from './features/archive-plugin';\nimport { AXPAvatarPluginModule } from './features/avatar-plugin';\nimport { AXPCategoryModule } from './features/category-plugin';\nimport { AXPClonePluginModule } from './features/clone-plugin';\nimport { AXPColorPluginModule } from './features/color-plugin';\nimport { AXPCompareModule } from './features/compare';\nimport { AXPComputedPropertiesModule } from './features/computed-properties/computed-properties.module';\nimport { AXPDisablePluginModule } from './features/disable-plugin';\nimport { AXPExtraPropertiesModule } from './features/extra-properties/extra-properties.module';\nimport { AXPGlobalSearchModule } from './features/global-search';\nimport { AXPIconPluginModule } from './features/icon-plugin';\nimport { AXPPrimaryPluginModule } from './features/primary-plugin';\nimport { AXPDateTimeEvaluatorScopeProvider } from './features/shared/evaluators/datetime.evaluator-scope.provider';\nimport { AXPTranslateEvaluatorScopeProvider } from './features/shared/evaluators/translate.evaluator-scope.provider';\nimport { AXPVersionHistoryModule } from './features/version-history/version-history.module';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMSettingProvider } from './settings.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXMCommonModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModule, imports: [AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPDisablePluginModule,\n AXPPrimaryPluginModule,\n AXPCompareModule,\n AXPIconPluginModule,\n AXPColorPluginModule,\n AXPAvatarPluginModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModule, providers: [\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPDateTimeEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPTranslateEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMCommonModuleEntityProvider,\n multi: true,\n },\n ], imports: [AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPDisablePluginModule,\n AXPPrimaryPluginModule,\n AXPCompareModule,\n AXPIconPluginModule,\n AXPColorPluginModule,\n AXPAvatarPluginModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMCommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPDisablePluginModule,\n AXPPrimaryPluginModule,\n AXPCompareModule,\n AXPIconPluginModule,\n AXPColorPluginModule,\n AXPAvatarPluginModule,\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPDateTimeEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPTranslateEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMCommonModuleEntityProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9jb21tb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xILE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0Ys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QUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsK0JBQStCOzRCQUN4QyxRQUFRLEVBQUUsa0JBQWtCOzRCQUM1QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixRQUFRLEVBQUUsd0JBQXdCOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxRQUFRLEVBQUUsK0JBQStCOzRCQUN6QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsdUNBQXVDOzRCQUNoRCxRQUFRLEVBQUUsaUNBQWlDOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsdUNBQXVDOzRCQUNoRCxRQUFRLEVBQUUsa0NBQWtDOzRCQUM1QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxRQUFRLEVBQUUsNkJBQTZCOzRCQUN2QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9QRVJNSVNTSU9OX0RFRklOSVRJT05fUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX01FTlVfUFJPVklERVIsIEFYUF9TRUFSQ0hfUFJPVklERVIsIEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0cyc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNQ29tbW9uTW9kdWxlRW50aXR5UHJvdmlkZXIgfSBmcm9tICcuL2VudGl0eS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBBcmNoaXZlUGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbic7XG5pbXBvcnQgeyBBWFBBdmF0YXJQbHVnaW5Nb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2F2YXRhci1wbHVnaW4nO1xuaW1wb3J0IHsgQVhQQ2F0ZWdvcnlNb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbic7XG5pbXBvcnQgeyBBWFBDbG9uZVBsdWdpbk1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvY2xvbmUtcGx1Z2luJztcbmltcG9ydCB7IEFYUENvbG9yUGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9jb2xvci1wbHVnaW4nO1xuaW1wb3J0IHsgQVhQQ29tcGFyZU1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvY29tcGFyZSc7XG5pbXBvcnQgeyBBWFBDb21wdXRlZFByb3BlcnRpZXNNb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2NvbXB1dGVkLXByb3BlcnRpZXMvY29tcHV0ZWQtcHJvcGVydGllcy5tb2R1bGUnO1xuaW1wb3J0IHsgQVhQRGlzYWJsZVBsdWdpbk1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvZGlzYWJsZS1wbHVnaW4nO1xuaW1wb3J0IHsgQVhQRXh0cmFQcm9wZXJ0aWVzTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9leHRyYS1wcm9wZXJ0aWVzL2V4dHJhLXByb3BlcnRpZXMubW9kdWxlJztcbmltcG9ydCB7IEFYUEdsb2JhbFNlYXJjaE1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvZ2xvYmFsLXNlYXJjaCc7XG5pbXBvcnQgeyBBWFBJY29uUGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9pY29uLXBsdWdpbic7XG5pbXBvcnQgeyBBWFBQcmltYXJ5UGx1Z2luTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9wcmltYXJ5LXBsdWdpbic7XG5pbXBvcnQgeyBBWFBEYXRlVGltZUV2YWx1YXRvclNjb3BlUHJvdmlkZXIgfSBmcm9tICcuL2ZlYXR1cmVzL3NoYXJlZC9ldmFsdWF0b3JzL2RhdGV0aW1lLmV2YWx1YXRvci1zY29wZS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBUcmFuc2xhdGVFdmFsdWF0b3JTY29wZVByb3ZpZGVyIH0gZnJvbSAnLi9mZWF0dXJlcy9zaGFyZWQvZXZhbHVhdG9ycy90cmFuc2xhdGUuZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUFZlcnNpb25IaXN0b3J5TW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvdmVyc2lvbi1oaXN0b3J5Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWE1NZW51UHJvdmlkZXIgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciB9IGZyb20gJy4vcGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYTVNlYXJjaENvbW1hbmRQcm92aWRlciB9IGZyb20gJy4vc2VhcmNoLWNvbW1hbmQucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNU2V0dGluZ1Byb3ZpZGVyIH0gZnJvbSAnLi9zZXR0aW5ncy5wcm92aWRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBFeHRyYVByb3BlcnRpZXNNb2R1bGUsXG4gICAgQVhQQ2F0ZWdvcnlNb2R1bGUsXG4gICAgQVhQR2xvYmFsU2VhcmNoTW9kdWxlLFxuICAgIEFYUFdpZGdldHNNb2R1bGUsXG4gICAgQVhQVmVyc2lvbkhpc3RvcnlNb2R1bGUsXG4gICAgQVhQQ29tcHV0ZWRQcm9wZXJ0aWVzTW9kdWxlLFxuICAgIEFYUENsb25lUGx1Z2luTW9kdWxlLFxuICAgIEFYUEFyY2hpdmVQbHVnaW5Nb2R1bGUsXG4gICAgQVhQRGlzYWJsZVBsdWdpbk1vZHVsZSxcbiAgICBBWFBQcmltYXJ5UGx1Z2luTW9kdWxlLFxuICAgIEFYUENvbXBhcmVNb2R1bGUsXG4gICAgQVhQSWNvblBsdWdpbk1vZHVsZSxcbiAgICBBWFBDb2xvclBsdWdpbk1vZHVsZSxcbiAgICBBWFBBdmF0YXJQbHVnaW5Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfTUVOVV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1NZW51UHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNU2V0dGluZ1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfU0VBUkNIX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTVNlYXJjaENvbW1hbmRQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1QZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhQRGF0ZVRpbWVFdmFsdWF0b3JTY29wZVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhQVHJhbnNsYXRlRXZhbHVhdG9yU2NvcGVQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1Db21tb25Nb2R1bGVFbnRpdHlQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUNvbW1vbk1vZHVsZSB7fVxuIl19","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPLockService } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport * as i0 from \"@angular/core\";\nexport class AXMLockPopupWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.translationService = inject(AXTranslationService);\n this.layoutBuilder = inject(AXPLayoutBuilderService);\n this.lockService = inject(AXPLockService);\n this.sessionService = inject(AXPSessionService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n const durationOptions = [\n {\n value: '1h',\n text: await this.translationService.translateAsync('@lock-system:lock.duration.options.1h'),\n hours: 1,\n },\n {\n value: '1d',\n text: await this.translationService.translateAsync('@lock-system:lock.duration.options.1d'),\n hours: 24,\n },\n {\n value: 'infinite',\n text: await this.translationService.translateAsync('@lock-system:lock.duration.options.infinite'),\n },\n ];\n const dialogTitle = await this.translationService.translateAsync('@lock-system:lock.dialog.title');\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle(dialogTitle)\n .setContext({ duration: '1h', reason: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@lock-system:lock.duration.title', field => {\n field.path('duration');\n field.selectBox({\n valueField: 'value',\n textField: 'text',\n dataSource: durationOptions,\n validations: [{ rule: 'required' }],\n });\n })\n .formField('@lock-system:lock.reason.title', field => {\n field.path('reason');\n field.largeTextBox({\n rows: 3,\n placeholder: '@lock-system:lock.reason.placeholder',\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@lock-system:lock.dialog.cancel');\n const confirmAction = {\n title: '@lock-system:lock.dialog.confirm',\n color: 'primary',\n command: { name: 'submit', options: { validate: true } },\n };\n actions.custom(confirmAction);\n });\n })\n .show();\n const action = dialogRef.action();\n if (action === 'cancel') {\n context.setOutput('isCanceled', true);\n dialogRef.close();\n return;\n }\n const form = dialogRef.context();\n const selected = form?.duration ?? '1h';\n const selectedDuration = durationOptions.find((d) => d.value === selected);\n const expireAt = selectedDuration?.hours\n ? new Date(Date.now() + selectedDuration.hours * 60 * 60 * 1000)\n : undefined;\n await this.lockService.lock({\n refId,\n refType,\n type: 'user',\n date: new Date().toISOString(),\n expireAt,\n lockedBy: {\n id: this.sessionService.user?.id ?? 'system',\n type: 'oidc.users',\n },\n });\n dialogRef.close();\n context.setOutput('isCanceled', false);\n context.setOutput('lockDuration', form?.duration ?? '1h');\n context.setOutput('lockReason', form?.reason ?? '');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMLockPopupWorkflowAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMLockPopupWorkflowAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXMLockPopupWorkflowAction, decorators: [{\n type: Injectable\n }] });\nexport const AXMLockPopupWorkflow = {\n startStepId: 'lock-popup',\n steps: {\n 'lock-popup': {\n action: 'AXMLockPopupWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-modified-title',\n content: 'workflow.entity-modified-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1wb3B1cC53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9sb2NrLXN5c3RlbS93b3JrZmxvd3MvbG9jay1wb3B1cC53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLE1BQU0sMkJBQTJCLENBQUM7QUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUkxRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsaUJBQWlCO0lBRGpFOztRQUVtQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0E2RjdEO0lBM0ZVLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDaEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBUyxlQUFlLENBQUMsQ0FBQztRQUMzRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFTLGlCQUFpQixDQUFDLENBQUM7UUFFL0QsTUFBTSxlQUFlLEdBQUc7WUFDdEI7Z0JBQ0UsS0FBSyxFQUFFLElBQUk7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QVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsMENBQTBDLEVBQUUsQ0FBQztvQkFDeEYsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsZ0NBQWdDO2dCQUN2QyxPQUFPLEVBQUUsK0JBQStCO2FBQ3pDO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxpQkFBaUI7aUJBQzlCO2FBQ0Y7U0FDRjtRQUNELGVBQWUsRUFBRTtZQUNmLEVBQUUsRUFBRSxpQkFBaUI7WUFDckIsTUFBTSxFQUFFLGdDQUFnQztTQUN6QztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUExvY2tTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEFYUEFjdGlvbk1lbnVJdGVtIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUxvY2tQb3B1cFdvcmtmbG93QWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0QnVpbGRlciA9IGluamVjdChBWFBMYXlvdXRCdWlsZGVyU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9ja1NlcnZpY2UgPSBpbmplY3QoQVhQTG9ja1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcblxuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJlZklkID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZklkJyk7XG4gICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG5cbiAgICBjb25zdCBkdXJhdGlvbk9wdGlvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnMWgnLFxuICAgICAgICB0ZXh0OiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGxvY2stc3lzdGVtOmxvY2suZHVyYXRpb24ub3B0aW9ucy4xaCcpLFxuICAgICAgICBob3VyczogMSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnMWQnLFxuICAgICAgICB0ZXh0OiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGxvY2stc3lzdGVtOmxvY2suZHVyYXRpb24ub3B0aW9ucy4xZCcpLFxuICAgICAgICBob3VyczogMjQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ2luZmluaXRlJyxcbiAgICAgICAgdGV4dDogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmR1cmF0aW9uLm9wdGlvbnMuaW5maW5pdGUnKSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IGRpYWxvZ1RpdGxlID0gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmRpYWxvZy50aXRsZScpO1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gYXdhaXQgdGhpcy5sYXlvdXRCdWlsZGVyXG4gICAgICAuY3JlYXRlKClcbiAgICAgIC5kaWFsb2coZGlhbG9nID0+IHtcbiAgICAgICAgZGlhbG9nXG4gICAgICAgICAgLnNldFRpdGxlKGRpYWxvZ1RpdGxlKVxuICAgICAgICAgIC5zZXRDb250ZXh0KHsgZHVyYXRpb246ICcxaCcsIHJlYXNvbjogJycgfSlcbiAgICAgICAgICAuY29udGVudChmbGV4ID0+IHtcbiAgICAgICAgICAgIGZsZXhcbiAgICAgICAgICAgICAgLnNldERpcmVjdGlvbignY29sdW1uJylcbiAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGxvY2stc3lzdGVtOmxvY2suZHVyYXRpb24udGl0bGUnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgZmllbGQucGF0aCgnZHVyYXRpb24nKTtcbiAgICAgICAgICAgICAgICBmaWVsZC5zZWxlY3RCb3goe1xuICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogZHVyYXRpb25PcHRpb25zLFxuICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0Bsb2NrLXN5c3RlbTpsb2NrLnJlYXNvbi50aXRsZScsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZC5wYXRoKCdyZWFzb24nKTtcbiAgICAgICAgICAgICAgICBmaWVsZC5sYXJnZVRleHRCb3goe1xuICAgICAgICAgICAgICAgICAgcm93czogMyxcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnQGxvY2stc3lzdGVtOmxvY2sucmVhc29uLnBsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuc2V0QWN0aW9ucyhhY3Rpb25zID0+IHtcbiAgICAgICAgICAgIGFjdGlvbnMuY2FuY2VsKCdAbG9jay1zeXN0ZW06bG9jay5kaWFsb2cuY2FuY2VsJyk7XG4gICAgICAgICAgICBjb25zdCBjb25maXJtQWN0aW9uOiBBWFBBY3Rpb25NZW51SXRlbSA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdAbG9jay1zeXN0ZW06bG9jay5kaWFsb2cuY29uZmlybScsXG4gICAgICAgICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IHsgbmFtZTogJ3N1Ym1pdCcsIG9wdGlvbnM6IHsgdmFsaWRhdGU6IHRydWUgfSB9LFxuICAgICAgICAgICAgfSBhcyBBWFBBY3Rpb25NZW51SXRlbTtcbiAgICAgICAgICAgIGFjdGlvbnMuY3VzdG9tKGNvbmZpcm1BY3Rpb24pO1xuICAgICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5zaG93KCk7XG4gICAgY29uc3QgYWN0aW9uID0gZGlhbG9nUmVmLmFjdGlvbigpO1xuICAgIGlmIChhY3Rpb24gPT09ICdjYW5jZWwnKSB7XG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHRydWUpO1xuICAgICAgZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybSA9IGRpYWxvZ1JlZi5jb250ZXh0KCkgYXMgeyBkdXJhdGlvbj86IHN0cmluZzsgcmVhc29uPzogc3RyaW5nIH07XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBmb3JtPy5kdXJhdGlvbiA/PyAnMWgnO1xuICAgIGNvbnN0IHNlbGVjdGVkRHVyYXRpb24gPSBkdXJhdGlvbk9wdGlvbnMuZmluZCgoZCkgPT4gZC52YWx1ZSA9PT0gc2VsZWN0ZWQpO1xuICAgIGNvbnN0IGV4cGlyZUF0ID0gc2VsZWN0ZWREdXJhdGlvbj8uaG91cnNcbiAgICAgID8gbmV3IERhdGUoRGF0ZS5ub3coKSArIHNlbGVjdGVkRHVyYXRpb24uaG91cnMgKiA2MCAqIDYwICogMTAwMClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgYXdhaXQgdGhpcy5sb2NrU2VydmljZS5sb2NrKHtcbiAgICAgIHJlZklkLFxuICAgICAgcmVmVHlwZSxcbiAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgIGRhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIGV4cGlyZUF0LFxuICAgICAgbG9ja2VkQnk6IHtcbiAgICAgICAgaWQ6IHRoaXMuc2Vzc2lvblNlcnZpY2UudXNlcj8uaWQgPz8gJ3N5c3RlbScsXG4gICAgICAgIHR5cGU6ICdvaWRjLnVzZXJzJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcbiAgICBjb250ZXh0LnNldE91dHB1dCgnbG9ja0R1cmF0aW9uJywgZm9ybT8uZHVyYXRpb24gPz8gJzFoJyk7XG4gICAgY29udGV4dC5zZXRPdXRwdXQoJ2xvY2tSZWFzb24nLCBmb3JtPy5yZWFzb24gPz8gJycpO1xuICB9XG59XG5cblxuXG5leHBvcnQgY29uc3QgQVhNTG9ja1BvcHVwV29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICBzdGFydFN0ZXBJZDogJ2xvY2stcG9wdXAnLFxuICBzdGVwczoge1xuICAgICdsb2NrLXBvcHVwJzoge1xuICAgICAgYWN0aW9uOiAnQVhNTG9ja1BvcHVwV29ya2Zsb3dBY3Rpb24nLFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ3N1Y2Nlc3NUb2FzdCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgc3VjY2Vzc1RvYXN0OiB7XG4gICAgICBpZDogJ3N1Y2Nlc3NUb2FzdCcsXG4gICAgICBhY3Rpb246ICdBWFBUb2FzdEFjdGlvbicsXG4gICAgICBpbnB1dDoge1xuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICB0aXRsZTogJ3dvcmtmbG93LmVudGl0eS1tb2RpZmllZC10aXRsZScsXG4gICAgICAgIGNvbnRlbnQ6ICd3b3JrZmxvdy5lbnRpdHktbW9kaWZpZWQtYm9keScsXG4gICAgICB9LFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbXSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnbW9kaWZ5Q29uZmlybWVkJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBtb2RpZnlDb25maXJtZWQ6IHtcbiAgICAgIGlkOiAnbW9kaWZ5Q29uZmlybWVkJyxcbiAgICAgIGFjdGlvbjogJ0FYUEVudGl0eU1vZGlmeUNvbmZpcm1lZEFjdGlvbicsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPLockService } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nexport class AXMUnlockConfirmWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.dialogService = inject(AXDialogService);\n this.translationService = inject(AXTranslationService);\n this.lockService = inject(AXPLockService);\n this.sessionService = inject(AXPSessionService);\n }\n async execute(context) {\n const refId = context.getVariable('options.refId');\n const refType = context.getVariable('options.refType');\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync('@lock-system:unlock.dialog.title'), await this.translationService.translateAsync('@lock-system:unlock.dialog.description'), 'warning', 'horizontal', false, 'cancel');\n if (dialogResult.result) {\n try {\n // Perform unlock\n await this.lockService.unlock({\n refId: refId,\n refType: refType,\n type: 'user',\n });\n context.setOutput('isCanceled', false);\n context.setOutput('unlocked', true);\n }\n catch (error) {\n console.error('Unlock failed:', error);\n // Show error dialog\n await this.dialogService.alert(await this.translationService.translateAsync('@lock-system:unlock.error.title'), await this.translationService.translateAsync('@lock-system:unlock.error.description'), 'danger');\n context.setOutput('isCanceled', true);\n context.setOutput('unlocked', false);\n }\n }\n else {\n context.setOutput('isCanceled', true);\n context.setOutput('unlocked', false);\n }\n }\n}\nexport const AXMUnlockConfirmWorkflow = {\n startStepId: 'unlock-confirm',\n steps: {\n 'unlock-confirm': {\n action: 'AXMUnlockConfirmWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"unlocked\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-modified-title',\n content: 'workflow.entity-modified-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2NrLWNvbmZpcm0ud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvbG9jay1zeXN0ZW0vd29ya2Zsb3dzL3VubG9jay1jb25maXJtLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLDhCQUErQixTQUFRLGlCQUFpQjtJQUFyRTs7UUFDVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBNkNyRCxDQUFDO0lBM0NVLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDaEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBUyxlQUFlLENBQUMsQ0FBQztRQUMzRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFTLGlCQUFpQixDQUFDLENBQUM7UUFFL0QsMkJBQTJCO1FBQzNCLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQ25ELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxrQ0FBa0MsQ0FBQyxFQUNoRixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsd0NBQXdDLENBQUMsRUFDdEYsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxDQUNULENBQUM7UUFFRixJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUM7Z0JBQ0gsaUJBQWlCO2dCQUNqQixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO29CQUM1QixLQUFLLEVBQUUsS0FBSztvQkFDWixPQUFPLEVBQUUsT0FBTztvQkFDaEIsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQyxDQUFDO2dCQUVILE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUV2QyxvQkFBb0I7Z0JBQ3BCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQzVCLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxpQ0FBaUMsQ0FBQyxFQUMvRSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsdUNBQXVDLENBQUMsRUFDckYsUUFBUSxDQUNULENBQUM7Z0JBRUYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBZ0I7SUFDbkQsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixLQUFLLEVBQUU7UUFDTCxnQkFBZ0IsRUFBRTtZQUNoQixNQUFNLEVBQUUsZ0NBQWdDO1lBQ3hDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLHVDQUF1QyxFQUFFLENBQUM7b0JBQ3JGLFVBQVUsRUFBRSxjQUFjO2lCQUMzQjthQUNGO1NBQ0Y7UUFDRCxZQUFZLEVBQUU7WUFDWixFQUFFLEVBQUUsY0FBYztZQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLGdDQUFnQztnQkFDdkMsT0FBTyxFQUFFLCtCQUErQjthQUN6QztZQUNELFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsaUJBQWlCO2lCQUM5QjthQUNGO1NBQ0Y7UUFDRCxlQUFlLEVBQUU7WUFDZixFQUFFLEVBQUUsaUJBQWlCO1lBQ3JCLE1BQU0sRUFBRSxnQ0FBZ0M7U0FDekM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUExvY2tTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQVhNVW5sb2NrQ29uZmlybVdvcmtmbG93QWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGxvY2tTZXJ2aWNlID0gaW5qZWN0KEFYUExvY2tTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuXG4gICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGxvY2stc3lzdGVtOnVubG9jay5kaWFsb2cudGl0bGUnKSxcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAbG9jay1zeXN0ZW06dW5sb2NrLmRpYWxvZy5kZXNjcmlwdGlvbicpLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgZmFsc2UsXG4gICAgICAnY2FuY2VsJ1xuICAgICk7XG5cbiAgICBpZiAoZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUGVyZm9ybSB1bmxvY2tcbiAgICAgICAgYXdhaXQgdGhpcy5sb2NrU2VydmljZS51bmxvY2soe1xuICAgICAgICAgIHJlZklkOiByZWZJZCxcbiAgICAgICAgICByZWZUeXBlOiByZWZUeXBlLFxuICAgICAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCBmYWxzZSk7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd1bmxvY2tlZCcsIHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignVW5sb2NrIGZhaWxlZDonLCBlcnJvcik7XG5cbiAgICAgICAgLy8gU2hvdyBlcnJvciBkaWFsb2dcbiAgICAgICAgYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmFsZXJ0KFxuICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAbG9jay1zeXN0ZW06dW5sb2NrLmVycm9yLnRpdGxlJyksXG4gICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTp1bmxvY2suZXJyb3IuZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnZGFuZ2VyJ1xuICAgICAgICApO1xuXG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgdHJ1ZSk7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd1bmxvY2tlZCcsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd1bmxvY2tlZCcsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTVVubG9ja0NvbmZpcm1Xb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAndW5sb2NrLWNvbmZpcm0nLFxuICBzdGVwczoge1xuICAgICd1bmxvY2stY29uZmlybSc6IHtcbiAgICAgIGFjdGlvbjogJ0FYTVVubG9ja0NvbmZpcm1Xb3JrZmxvd0FjdGlvbicsXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJ1bmxvY2tlZFwiKSA9PSB0cnVlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnc3VjY2Vzc1RvYXN0JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBzdWNjZXNzVG9hc3Q6IHtcbiAgICAgIGlkOiAnc3VjY2Vzc1RvYXN0JyxcbiAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LW1vZGlmaWVkLXRpdGxlJyxcbiAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1tb2RpZmllZC1ib2R5JyxcbiAgICAgIH0sXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIG1vZGlmeUNvbmZpcm1lZDoge1xuICAgICAgaWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgYWN0aW9uOiAnQVhQRW50aXR5TW9kaWZ5Q29uZmlybWVkQWN0aW9uJyxcbiAgICB9LFxuICB9LFxufTsgIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvYWNvcmV4LW1vZHVsZXMtY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i4"],"mappings":"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"}
|