@acorex/modules 20.3.0-next.7 → 20.3.0-next.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +1 -0
- package/data-management/index.d.ts +22 -3
- package/fesm2022/acorex-modules-common.mjs +97 -6
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs → acorex-modules-contact-management-emergency-contact.entity-3vnkpSvv.mjs} +10 -9
- package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-3vnkpSvv.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management.mjs +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +6 -0
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +3 -3
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +11 -11
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +924 -8
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs → acorex-modules-document-management-acorex-modules-document-management-DUkSbCDD.mjs} +91 -58
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs.map → acorex-modules-document-management-acorex-modules-document-management-DUkSbCDD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs → acorex-modules-document-management-attachment-widget.component-Ded4rmGD.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs.map → acorex-modules-document-management-attachment-widget.component-Ded4rmGD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs → acorex-modules-document-management-create-folder-dialog.component-DdN8ilG4.mjs} +9 -9
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs.map → acorex-modules-document-management-create-folder-dialog.component-DdN8ilG4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-3DmulyK_.mjs → acorex-modules-document-management-details-view.component-DkeoYFvx.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-3DmulyK_.mjs.map → acorex-modules-document-management-details-view.component-DkeoYFvx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs → acorex-modules-document-management-document-signature-popup.component-DuPMRUTY.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs.map → acorex-modules-document-management-document-signature-popup.component-DuPMRUTY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs → acorex-modules-document-management-drive-choose.component-CKMMZHrc.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs.map → acorex-modules-document-management-drive-choose.component-CKMMZHrc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-D5X_bI5D.mjs → acorex-modules-document-management-drive.component-Dh2hcCpJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive.component-D5X_bI5D.mjs.map → acorex-modules-document-management-drive.component-Dh2hcCpJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs → acorex-modules-document-management-large-icons-view.component-DGUbA3xa.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs.map → acorex-modules-document-management-large-icons-view.component-DGUbA3xa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs → acorex-modules-document-management-large-tiles-view.component-Bt6Py82M.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs.map → acorex-modules-document-management-large-tiles-view.component-Bt6Py82M.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-Cb2OVElN.mjs → acorex-modules-document-management-list-view.component-DQllDW_Q.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-Cb2OVElN.mjs.map → acorex-modules-document-management-list-view.component-DQllDW_Q.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-DsSo9G8S.mjs → acorex-modules-document-management-meta-choose-popup.component-BSYX7W79.mjs} +4 -4
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BSYX7W79.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs → acorex-modules-document-management-small-icons-view.component-Umh8Z9qn.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs.map → acorex-modules-document-management-small-icons-view.component-Umh8Z9qn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.mjs → acorex-modules-document-management-small-tiles-view.component-CBgWWCdt.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.mjs.map → acorex-modules-document-management-small-tiles-view.component-CBgWWCdt.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-CdAtMLlz.mjs} +93 -213
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-CdAtMLlz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs → acorex-modules-human-capital-management-employee-skill.entity-BllN9Giu.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs.map → acorex-modules-human-capital-management-employee-skill.entity-BllN9Giu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs → acorex-modules-human-capital-management-employee.entity-CKofleq7.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs.map → acorex-modules-human-capital-management-employee.entity-CKofleq7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs → acorex-modules-human-capital-management-employment-type.entity-DfrErkOs.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs.map → acorex-modules-human-capital-management-employment-type.entity-DfrErkOs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs → acorex-modules-human-capital-management-leave-request.entity-Bz_4gE7D.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs.map → acorex-modules-human-capital-management-leave-request.entity-Bz_4gE7D.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs → acorex-modules-human-capital-management-leave-type.entity-CFqmKzkn.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs.map → acorex-modules-human-capital-management-leave-type.entity-CFqmKzkn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs → acorex-modules-human-capital-management-position-assignment.entity-BYqhKD95.mjs} +36 -4
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BYqhKD95.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs → acorex-modules-human-capital-management-skill-level.entity-D4WoE6MR.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs.map → acorex-modules-human-capital-management-skill-level.entity-D4WoE6MR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs → acorex-modules-human-capital-management-skill.entity-DqUyAAgW.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs.map → acorex-modules-human-capital-management-skill.entity-DqUyAAgW.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +5 -5
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs → acorex-modules-organization-management-org-chart.page-Caboa2La.mjs} +75 -23
- package/fesm2022/acorex-modules-organization-management-org-chart.page-Caboa2La.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +5 -2
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-project-management-email-jsa.command-DS9XIlQ0.mjs +91 -0
- package/fesm2022/acorex-modules-project-management-email-jsa.command-DS9XIlQ0.mjs.map +1 -0
- package/fesm2022/acorex-modules-project-management-reassign-jsa.command-DbxxI3e3.mjs +88 -0
- package/fesm2022/acorex-modules-project-management-reassign-jsa.command-DbxxI3e3.mjs.map +1 -0
- package/fesm2022/acorex-modules-project-management-sign-jsa.command-cRf0DeTE.mjs +75 -0
- package/fesm2022/acorex-modules-project-management-sign-jsa.command-cRf0DeTE.mjs.map +1 -0
- package/fesm2022/acorex-modules-project-management.mjs +6 -6
- package/fesm2022/acorex-modules-report-management.mjs +4 -2
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +347 -3
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-task-management.mjs +18 -11
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/human-capital-management/index.d.ts +1 -1
- package/package.json +1 -1
- package/security-management/index.d.ts +42 -3
- package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DsSo9G8S.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs +0 -101
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs.map +0 -1
- package/fesm2022/acorex-modules-project-management-email-jsa.command-BuT5Vj4Y.mjs +0 -115
- package/fesm2022/acorex-modules-project-management-email-jsa.command-BuT5Vj4Y.mjs.map +0 -1
- package/fesm2022/acorex-modules-project-management-reassign-jsa.command-B3OsacOq.mjs +0 -113
- package/fesm2022/acorex-modules-project-management-reassign-jsa.command-B3OsacOq.mjs.map +0 -1
- package/fesm2022/acorex-modules-project-management-sign-jsa.command-CJWg6Ntg.mjs +0 -77
- package/fesm2022/acorex-modules-project-management-sign-jsa.command-CJWg6Ntg.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-common.mjs","sources":["../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/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/compare/compare-popup.component.js","../tmp-esm2022/common/lib/features/compare/workflows/compare.workflow.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/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/lock-system/lock-guard.middleware.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/lib/features/lock-system/lock-evaluator-scope.provider.js","../tmp-esm2022/common/lib/features/lock-system/lock.plugin.js","../tmp-esm2022/common/lib/features/lock-system/lock-system.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-logger.middleware.js","../tmp-esm2022/common/lib/features/version-history/history.plugin.js","../tmp-esm2022/common/lib/features/version-history/compare.plugin.js","../tmp-esm2022/common/lib/features/version-history/version-history.module.js","../tmp-esm2022/common/lib/const.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/lock-popup/lock-popup.component.js","../tmp-esm2022/common/acorex-modules-common.js"],"sourcesContent":["export const AXPWidgetsList = {\n Editors: {\n DocumentAttachment: 'document-attachment-editor',\n TagBox: 'tagable-editor',\n CheckBox: 'checkbox-editor',\n ColorBox: 'color-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 EmailBox: 'email-editor',\n PhoneBox: 'phone-editor',\n ContactBox: 'contact-editor',\n LinkBox: 'link-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 ColumnFilterSelector: 'column-filter-selector-editor',\n DataListFilter: 'data-list-filter-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 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy1uYW1lcy1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL3dpZGdldHMtbmFtZXMtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsT0FBTyxFQUFFO1FBQ1Asa0JBQWtCLEVBQUUsNEJBQTRCO1FBQ2hELE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixRQUFRLEVBQUUsY0FBYztRQUN4QixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLFlBQVksRUFBRSxtQkFBbUI7UUFDakMsU0FBUyxFQUFFLGVBQWU7UUFDMUIsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxXQUFXLEVBQUUsaUJBQWlCO1FBQzlCLFlBQVksRUFBRSxzQkFBc0I7UUFDcEMsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixTQUFTLEVBQUUsZUFBZTtRQUMxQixhQUFhLEVBQUUsdUJBQXVCO1FBQ3RDLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLGVBQWUsRUFBRSxjQUFjO1FBQy9CLFlBQVksRUFBRSxlQUFlO1FBQzdCLGlCQUFpQixFQUFFLHFCQUFxQjtRQUN4QyxNQUFNLEVBQUUsS0FBSztRQUNiLFlBQVksRUFBRSxTQUFTO1FBQ3ZCLFlBQVksRUFBRSxXQUFXO1FBQ3pCLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLFVBQVUsRUFBRSxnQkFBZ0I7UUFDNUIsT0FBTyxFQUFFLGFBQWE7UUFDdEIsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixXQUFXLEVBQUUscUJBQXFCO1FBQ2xDLFlBQVksRUFBRSxlQUFlO1FBQzdCLGdCQUFnQixFQUFFLG1CQUFtQjtRQUNyQyxZQUFZLEVBQUUsc0JBQXNCO1FBQ3BDLG9CQUFvQixFQUFFLCtCQUErQjtRQUNyRCxjQUFjLEVBQUUseUJBQXlCO0tBQzFDO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsV0FBVyxFQUFFLGNBQWM7UUFDM0IsY0FBYyxFQUFFLGlCQUFpQjtRQUNqQyxlQUFlLEVBQUUsbUJBQW1CO1FBQ3BDLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLFdBQVcsRUFBRSxjQUFjO1FBQzNCLFVBQVUsRUFBRSxhQUFhO1FBQ3pCLGNBQWMsRUFBRSxpQkFBaUI7UUFDakMsYUFBYSxFQUFFLGlCQUFpQjtRQUNoQyxjQUFjLEVBQUUsa0JBQWtCO1FBQ2xDLFVBQVUsRUFBRSxhQUFhO1FBQ3pCLFVBQVUsRUFBRSxhQUFhO1FBQ3pCLGNBQWMsRUFBRSxrQkFBa0I7UUFDbEMsa0JBQWtCLEVBQUUsc0JBQXNCO1FBQzFDLHNCQUFzQixFQUFFLDJCQUEyQjtRQUNuRCxjQUFjLEVBQUUsaUJBQWlCO1FBQ2pDLFlBQVksRUFBRSxlQUFlO1FBQzdCLGdCQUFnQixFQUFFLGFBQWE7S0FDaEM7SUFDRCxPQUFPLEVBQUU7UUFDUCxZQUFZLEVBQUUsZUFBZTtLQUM5QjtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLEdBQUcsRUFBRSxLQUFLO1FBQ1YsT0FBTyxFQUFFLFNBQVM7UUFDbEIsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsY0FBYztRQUMzQixNQUFNLEVBQUUsUUFBUTtRQUNoQixZQUFZLEVBQUUsZUFBZTtRQUM3QixJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxjQUFjO1FBQzNCLE9BQU8sRUFBRSxVQUFVO1FBQ25CLGVBQWUsRUFBRSxrQkFBa0I7UUFDbkMscUJBQXFCLEVBQUUseUJBQXlCO1FBQ2hELHFCQUFxQixFQUFFLHlCQUF5QjtLQUNqRDtJQUNELFNBQVMsRUFBRTtRQUNULFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsUUFBUSxFQUFFLFVBQVU7S0FDckI7SUFDRCxhQUFhO0lBQ2IsbUNBQW1DO0lBQ25DLG1DQUFtQztJQUNuQyxtQ0FBbUM7SUFDbkMsdUNBQXVDO0lBQ3ZDLHFDQUFxQztJQUNyQyxtQ0FBbUM7SUFDbkMsS0FBSztJQUNMLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsaUNBQWlDO0lBQ2pDLDBDQUEwQztJQUMxQyxpQ0FBaUM7SUFDakMsMENBQTBDO0lBQzFDLDRCQUE0QjtJQUM1QixzQkFBc0I7SUFDdEIsa0RBQWtEO0lBQ2xELEtBQUs7SUFDTCxpQkFBaUI7SUFDakIsK0NBQStDO0lBQy9DLGtFQUFrRTtJQUNsRSxrREFBa0Q7SUFDbEQsa0RBQWtEO0lBQ2xELGdEQUFnRDtJQUNoRCxzREFBc0Q7SUFDdEQseUNBQXlDO0lBQ3pDLCtDQUErQztJQUMvQyw2Q0FBNkM7SUFDN0MsS0FBSztJQUNMLE1BQU0sRUFBRTtRQUNOLFVBQVUsRUFBRSxhQUFhO1FBQ3pCLGVBQWUsRUFBRSxrQkFBa0I7UUFDbkMsY0FBYyxFQUFFLGlCQUFpQjtLQUNsQztJQUNELEtBQUssRUFBRTtRQUNMLGlCQUFpQixFQUFFLHFCQUFxQjtRQUN4QyxtQkFBbUIsRUFBRSx1QkFBdUI7UUFDNUMsMENBQTBDO1FBQzFDLFdBQVcsRUFBRSxjQUFjO1FBQzNCLGVBQWUsRUFBRSxtQkFBbUI7UUFDcEMsZ0JBQWdCLEVBQUUsb0JBQW9CO1FBQ3RDLHNEQUFzRDtLQUN2RDtJQUNELGVBQWU7SUFDZix3QkFBd0I7SUFDeEIsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLCtCQUErQjtJQUMvQixpQ0FBaUM7SUFDakMscUNBQXFDO0lBQ3JDLDZDQUE2QztJQUM3Qyw2QkFBNkI7SUFDN0IsMERBQTBEO0lBQzFELEtBQUs7SUFDTCxjQUFjO0lBQ2Qsd0JBQXdCO0lBQ3hCLGdDQUFnQztJQUNoQyxLQUFLO0NBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBWFBXaWRnZXRzTGlzdCA9IHtcbiAgRWRpdG9yczoge1xuICAgIERvY3VtZW50QXR0YWNobWVudDogJ2RvY3VtZW50LWF0dGFjaG1lbnQtZWRpdG9yJyxcbiAgICBUYWdCb3g6ICd0YWdhYmxlLWVkaXRvcicsXG4gICAgQ2hlY2tCb3g6ICdjaGVja2JveC1lZGl0b3InLFxuICAgIENvbG9yQm94OiAnY29sb3ItZWRpdG9yJyxcbiAgICBEYXRlVGltZUJveDogJ2RhdGUtdGltZS1lZGl0b3InLFxuICAgIERpcmVjdGlvbjogJ2RpcmVjdGlvbicsXG4gICAgTGFyZ2VUZXh0Qm94OiAnbGFyZ2UtdGV4dC1lZGl0b3InLFxuICAgIE51bWJlckJveDogJ251bWJlci1lZGl0b3InLFxuICAgIFVuaXRWYWx1ZUJveDogJ251bWJlci11bml0LWVkaXRvcicsXG4gICAgUGFzc3dvcmRCb3g6ICdwYXNzd29yZC1lZGl0b3InLFxuICAgIFF1ZXJ5QnVpbGRlcjogJ3F1ZXJ5LWJ1aWxkZXItZWRpdG9yJyxcbiAgICBSaWNoVGV4dDogJ3JpY2gtdGV4dC1lZGl0b3InLFxuICAgIFNlbGVjdEJveDogJ3NlbGVjdC1lZGl0b3InLFxuICAgIFNlbGVjdGlvbkxpc3Q6ICdzZWxlY3Rpb24tbGlzdC1lZGl0b3InLFxuICAgIFRleHRCb3g6ICd0ZXh0LWVkaXRvcicsXG4gICAgSW5saW5lRGF0YVRhYmxlOiAndGFibGUtZWRpdG9yJyxcbiAgICBUb2dnbGVTd2l0Y2g6ICd0b2dnbGUtZWRpdG9yJyxcbiAgICBGaWxlVHlwZUV4dGVuc2lvbjogJ2ZpbGUtdHlwZS1leHRlbnNpb24nLFxuICAgIE1hcEJveDogJ21hcCcsXG4gICAgTWVkaWFHYWxsZXJ5OiAnZ2FsbGVyeScsXG4gICAgU2lnbmF0dXJlQm94OiAnc2lnbmF0dXJlJyxcbiAgICBMb29rdXBCb3g6ICdsb29rdXAtZWRpdG9yJyxcbiAgICBFbWFpbEJveDogJ2VtYWlsLWVkaXRvcicsXG4gICAgUGhvbmVCb3g6ICdwaG9uZS1lZGl0b3InLFxuICAgIENvbnRhY3RCb3g6ICdjb250YWN0LWVkaXRvcicsXG4gICAgTGlua0JveDogJ2xpbmstZWRpdG9yJyxcbiAgICBNZXRhRGF0YUJveDogJ21ldGEtZGF0YS1lZGl0b3InLFxuICAgIFRlbXBsYXRlQm94OiAndGVtcGxhdGUtYm94LWVkaXRvcicsXG4gICAgVGltZUR1cmF0aW9uOiAndGltZS1kdXJhdGlvbicsXG4gICAgRG9jdW1lbnRVcGxvYWRlcjogJ2RvY3VtZW50LXVwbG9hZGVyJyxcbiAgICBNZXRhU2VsZWN0b3I6ICdtZXRhLXNlbGVjdG9yLWVkaXRvcicsXG4gICAgQ29sdW1uRmlsdGVyU2VsZWN0b3I6ICdjb2x1bW4tZmlsdGVyLXNlbGVjdG9yLWVkaXRvcicsXG4gICAgRGF0YUxpc3RGaWx0ZXI6ICdkYXRhLWxpc3QtZmlsdGVyLWVkaXRvcicsXG4gIH0sXG4gIExheW91dHM6IHtcbiAgICBCbG9ja0xheW91dDogJ2Jsb2NrLWxheW91dCcsXG4gICAgUmVwZWF0ZXJMYXlvdXQ6ICdyZXBlYXRlci1sYXlvdXQnLFxuICAgIFRleHRCbG9ja0xheW91dDogJ3RleHQtYmxvY2stbGF5b3V0JyxcbiAgICBGb3JtRmllbGQ6ICdmb3JtLWZpZWxkJyxcbiAgICBQYW5lbExheW91dDogJ3BhbmVsLWxheW91dCcsXG4gICAgUGFnZUxheW91dDogJ3BhZ2UtbGF5b3V0JyxcbiAgICBEb2N1bWVudExheW91dDogJ2RvY3VtZW50LWxheW91dCcsXG4gICAgR3JpZFJvd0xheW91dDogJ2dyaWQtcm93LWxheW91dCcsXG4gICAgR3JpZEl0ZW1MYXlvdXQ6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICBHcmlkTGF5b3V0OiAnZ3JpZC1sYXlvdXQnLFxuICAgIEZsZXhMYXlvdXQ6ICdmbGV4LWxheW91dCcsXG4gICAgRmxleEl0ZW1MYXlvdXQ6ICdmbGV4LWl0ZW0tbGF5b3V0JyxcbiAgICBBZHZhbmNlZEdyaWRMYXlvdXQ6ICdhZHZhbmNlZC1ncmlkLWxheW91dCcsXG4gICAgQWR2YW5jZWRHcmlkSXRlbUxheW91dDogJ2FkdmFuY2VkLWdyaWQtaXRlbS1sYXlvdXQnLFxuICAgIEZpZWxkc2V0TGF5b3V0OiAnZmllbGRzZXQtbGF5b3V0JyxcbiAgICBUYWJzZXRMYXlvdXQ6ICd0YWJzZXQtbGF5b3V0JyxcbiAgICBUYWJzZXRJdGVtTGF5b3V0OiAndGFic2V0LWl0ZW0nLFxuICB9LFxuICBBY3Rpb25zOiB7XG4gICAgQWN0aW9uQnV0dG9uOiAnYnV0dG9uLWFjdGlvbicsXG4gIH0sXG4gIEFkdmFuY2VkOiB7XG4gICAgUVJDb2RlOiAncXJjb2RlJyxcbiAgICBTaWduYXR1cmU6ICdzaWduYXR1cmUnLFxuICAgIE1hcDogJ21hcCcsXG4gICAgR2FsbGVyeTogJ2dhbGxlcnknLFxuICAgIEltYWdlOiAnaW1hZ2UnLFxuICAgIEltYWdlTWFya2VyOiAnaW1hZ2UtbWFya2VyJyxcbiAgICBBdmF0YXI6ICdhdmF0YXInLFxuICAgIEZpbGVVcGxvYWRlcjogJ2ZpbGUtdXBsb2FkZXInLFxuICAgIExpc3Q6ICdsaXN0JyxcbiAgICBMaXN0VG9vbGJhcjogJ2xpc3QtdG9vbGJhcicsXG4gICAgQ3JvbkpvYjogJ2Nyb24tam9iJyxcbiAgICBFeHRyYVByb3BlcnRpZXM6ICdleHRyYS1wcm9wZXJ0aWVzJyxcbiAgICBFeHRyYVByb3BlcnRpZXNWYWx1ZXM6ICdleHRyYS1wcm9wZXJ0aWVzLXZhbHVlcycsXG4gICAgRXh0cmFQcm9wZXJ0aWVzU2NoZW1hOiAnZXh0cmEtcHJvcGVydGllcy1zY2hlbWEnLFxuICB9LFxuICBUZW1wbGF0ZXM6IHtcbiAgICBEZXNpZ25lcjogJ3RlbXBsYXRlLWRlc2lnbmVyJyxcbiAgICBUZW1wbGF0ZTogJ3RlbXBsYXRlJyxcbiAgfSxcbiAgLy8gRmlsdGVyczoge1xuICAvLyAgIFN0cmluZ0ZpbHRlcjogJ3N0cmluZy1maWx0ZXInLFxuICAvLyAgIFNlbGVjdEZpbHRlcjogJ3NlbGVjdC1maWx0ZXInLFxuICAvLyAgIE51bWJlckZpbHRlcjogJ251bWJlci1maWx0ZXInLFxuICAvLyAgIERhdGVUaW1lRmlsdGVyOiAnZGF0ZXRpbWUtZmlsdGVyJyxcbiAgLy8gICBCb29sZWFuRmlsdGVyOiAnYm9vbGVhbi1maWx0ZXInLFxuICAvLyAgIExvb2t1cEZpbHRlcjogJ2xvb2t1cC1maWx0ZXInLFxuICAvLyB9LFxuICAvLyBQcm9wZXJ0eUVkaXRvcnM6IHtcbiAgLy8gICBTcGFjaW5nOiAnc3BhY2luZycsXG4gIC8vICAgR3JpZE9wdGlvbnM6ICdncmlkLW9wdGlvbnMnLFxuICAvLyAgIEdyaWRJdGVtT3B0aW9uczogJ2dyaWQtaXRlbS1vcHRpb25zJyxcbiAgLy8gICBGbGV4T3B0aW9uczogJ2ZsZXgtb3B0aW9ucycsXG4gIC8vICAgRmxleEl0ZW1PcHRpb25zOiAnZmxleC1pdGVtLW9wdGlvbnMnLFxuICAvLyAgIERpcmVjdGlvbjogJ2RpcmVjdGlvbicsXG4gIC8vICAgQm9yZGVyOiAnYm9yZGVyJyxcbiAgLy8gICBBZHZhbmNlZEdyaWRPcHRpb25zOiAnYWR2YW5jZWQtZ3JpZC1vcHRpb25zJyxcbiAgLy8gfSxcbiAgLy8gVmFsaWRhdGlvbnM6IHtcbiAgLy8gICBSZXF1aXJlZFZhbGlkYXRpb246ICdyZXF1aXJlZC12YWxpZGF0aW9uJyxcbiAgLy8gICBSZWd1bGFyRXhwcmVzc2lvblZhbGlkYXRpb246ICdyZWd1bGFyLWV4cHJlc3Npb24tdmFsaWRhdGlvbicsXG4gIC8vICAgTWluTGVuZ3RoVmFsaWRhdGlvbjogJ21pbi1sZW5ndGgtdmFsaWRhdGlvbicsXG4gIC8vICAgTWF4TGVuZ3RoVmFsaWRhdGlvbjogJ21heC1sZW5ndGgtdmFsaWRhdGlvbicsXG4gIC8vICAgTGVzc1RoYW5WYWxpZGF0aW9uOiAnbGVzcy10aGFuLXZhbGlkYXRpb24nLFxuICAvLyAgIEdyZWF0ZXJUaGFuVmFsaWRhdGlvbjogJ2dyZWF0ZXItdGhhbi12YWxpZGF0aW9uJyxcbiAgLy8gICBFcXVhbFZhbGlkYXRpb246ICdlcXVhbC12YWxpZGF0aW9uJyxcbiAgLy8gICBDYWxsYmFja1ZhbGlkYXRpb246ICdjYWxsYmFjay12YWxpZGF0aW9uJyxcbiAgLy8gICBCZXR3ZWVuVmFsaWRhdGlvbjogJ2JldHdlZW4tdmFsaWRhdGlvbicsXG4gIC8vIH0sXG4gIEVudGl0eToge1xuICAgIEVudGl0eUxpc3Q6ICdlbnRpdHktbGlzdCcsXG4gICAgRW50aXR5UmVmZXJlbmNlOiAnZW50aXR5LXJlZmVyZW5jZScsXG4gICAgV2lkZ2V0U2VsZWN0b3I6ICd3aWRnZXQtc2VsZWN0b3InLFxuICB9LFxuICBUaGVtZToge1xuICAgIFRoZW1lQ29sb3JDaG9vc2VyOiAndGhlbWUtY29sb3ItY2hvb3NlcicsXG4gICAgVGhlbWVQYWxldHRlQ2hvb3NlcjogJ3RoZW1lLXBhbGV0dGUtY2hvb3NlcicsXG4gICAgLy8gVGhlbWVNb2RlQ2hvb3NlcjogJ3RoZW1lLW1vZGUtY2hvb3NlcicsXG4gICAgSWNvbkNob29zZXI6ICdpY29uLWNob29zZXInLFxuICAgIEZvbnRTaXplQ2hvb3NlcjogJ2ZvbnQtc2l6ZS1jaG9vc2VyJyxcbiAgICBGb250U3R5bGVDaG9vc2VyOiAnZm9udC1zdHlsZS1jaG9vc2VyJyxcbiAgICAvLyBNZW51T3JpZW50YXRpb25DaG9vc2VyOiAnbWVudS1vcmllbnRhdGlvbi1jaG9vc2VyJyxcbiAgfSxcbiAgLy8gRGFzaGJvYXJkOiB7XG4gIC8vICAgV2VhdGhlcjogJ3dlYXRoZXInLFxuICAvLyAgIFN0aWNreU5vdGU6ICdzdGlja3ktbm90ZScsXG4gIC8vICAgTGluZUNoYXJ0OiAnbGluZS1jaGFydCcsXG4gIC8vICAgQmFyQ2hhcnQ6ICdiYXItY2hhcnQnLFxuICAvLyAgIERvbnV0Q2hhcnQ6ICdkb251dC1jaGFydCcsXG4gIC8vICAgR2F1Z2VDaGFydDogJ2dhdWdlLWNoYXJ0JyxcbiAgLy8gICBBbmFsb2dDbG9jazogJ2FuYWxvZy1jbG9jaycsXG4gIC8vICAgQ2xvY2tDYWxlbmRhcjogJ2Nsb2NrLWNhbGVuZGFyJyxcbiAgLy8gICBEYXNoYm9hcmRTaG9ydGN1dDogJ2Rhc2hib2FyZC1zaG9ydGN1dCcsXG4gIC8vICAgVGFza0JvYXJkOiAndGFzay1ib2FyZCcsXG4gIC8vICAgTXlOb3RpZmljYXRpb25EYXNoYm9hcmQ6ICdteS1ub3RpZmljYXRpb24tZGFzaGJvYXJkJyxcbiAgLy8gfSxcbiAgLy8gRmVhdHVyZXM6IHtcbiAgLy8gICBDb21tZW50OiAnY29tbWVudCcsXG4gIC8vICAgUGVybWlzc2lvbnM6ICdwZXJtaXNzaW9ucycsXG4gIC8vIH0sXG59O1xuIl19","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.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.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.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.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXJjaGl2ZS1wbHVnaW4vYXJjaGl2ZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCO0lBQ2hELElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLCtDQUErQztRQUUvQywrQkFBK0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBUyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENB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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgY3JlYXRlUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGNvbnN0IGFyY2hpdmVQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnYXJjaGl2ZScsXG4gICAgb3JkZXI6IDY1LFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgaXNBcmNoaXZlZCBQcm9wZXJ0eSAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgc2V0dGluZ3MgZ3JvdXAgZXhpc3RzXG4gICAgICAgIGNvbnN0IGdyb3VwSWQgPSAnc2V0dGluZ3MnO1xuICAgICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5zZXR0aW5ncycgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIGlzQXJjaGl2ZWQgcHJvcGVydHkgaWYgaXQgZG9lc24ndCBleGlzdFxuICAgICAgICBjb25zdCBwcm9wcyA9IGN0eC5wcm9wZXJ0aWVzLmxpc3QoKTtcbiAgICAgICAgaWYgKCFwcm9wcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2lzQXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgY3R4LnByb3BlcnRpZXMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNBcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pcy1hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlRvZ2dsZVN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGZhbHNlIChub3QgYXJjaGl2ZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnVseVRleHQ6ICdAZ2VuZXJhbDp0ZXJtcy5hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmFsc3lUZXh0OiAnQGdlbmVyYWw6dGVybXMuYWN0aXZlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWdhdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIGlzQXJjaGl2ZWQgdG8gY29sdW1ucyBmb3IgbGlzdCB2aWV3XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBjdHguY29sdW1ucy5saXN0KCkgPz8gW107XG4gICAgICAgIGlmICghY29sdW1ucy5zb21lKChjOiBhbnkpID0+IGMubmFtZSA9PT0gJ2lzQXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgY3R4LmNvbHVtbnMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNBcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pcy1hY3RpdmUnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgQWRkIEFyY2hpdmUgQWN0aW9ucyAgIC0tLS1cblxuICAgICAgICBjdHguaW50ZXJmYWNlcy51cGRhdGUoKGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFyY2hpdmVDbWROYW1lID0gJ2FyY2hpdmUtZW50aXR5JztcbiAgICAgICAgICAgIGNvbnN0IHJlc3RvcmVBcmNoaXZlQ21kTmFtZSA9ICdyZXN0b3JlLWFyY2hpdmUtZW50aXR5JztcbiAgICAgICAgICAgIGNvbnN0IGJ1bGtBcmNoaXZlQ21kTmFtZSA9ICdidWxrLWFyY2hpdmUtZW50aXR5JztcbiAgICAgICAgICAgIGNvbnN0IGJ1bGtSZXN0b3JlQXJjaGl2ZUNtZE5hbWUgPSAnYnVsay1yZXN0b3JlLWFyY2hpdmUtZW50aXR5JztcblxuICAgICAgICAgICAgLy8gQWRkIGFyY2hpdmUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgY29uc3QgbGlzdEFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlci5saXN0LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgYXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5hcmNoaXZlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYXJjaGl2ZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdhcmNoaXZlJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGB7eyBjb250ZXh0LmV2YWwoXCJpc0FyY2hpdmVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIHJlc3RvcmUgYXJjaGl2ZSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgcmVzdG9yZUFyY2hpdmVDbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIGxpc3RBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMucmVzdG9yZS1hcmNoaXZlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVzdG9yZUFyY2hpdmVDbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAndXBkYXRlJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGB7eyAhY29udGV4dC5ldmFsKFwiaXNBcmNoaXZlZFwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBidWxrIGFyY2hpdmUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGJ1bGtBcmNoaXZlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstYXJjaGl2ZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGJ1bGtBcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FyY2hpdmUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgYnVsayByZXN0b3JlIGFyY2hpdmUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGJ1bGtSZXN0b3JlQXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5idWxrLXJlc3RvcmUtYXJjaGl2ZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGJ1bGtSZXN0b3JlQXJjaGl2ZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgYXJjaGl2ZSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgYXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmFyY2hpdmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBhcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FyY2hpdmUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7IGNvbnRleHQuZXZhbChcImlzQXJjaGl2ZWRcIikgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgcmVzdG9yZSBhcmNoaXZlIGFjdGlvbiB0byBzaW5nbGUgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgcmVzdG9yZUFyY2hpdmVDbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIHNpbmdsZUFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5yZXN0b3JlLWFyY2hpdmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXN0b3JlQXJjaGl2ZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7ICFjb250ZXh0LmV2YWwoXCJpc0FyY2hpdmVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIFVwZGF0ZSBJbnRlcmZhY2UgTGF5b3V0cyAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgdXBkYXRlIHZpZXcgaW5jbHVkZXMgaXNBcmNoaXZlZFxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gdXBkYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0FyY2hpdmVkJykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0FyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDkwIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBFbnN1cmUgc2luZ2xlIHZpZXcgaW5jbHVkZXMgaXNBcmNoaXZlZFxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuc2luZ2xlLnVwZGF0ZSgoc2luZ2xlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcbiAgICAgICAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCwgb3JkZXI6IDE1MCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnaXNBcmNoaXZlZCcpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaXNBcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiA5MCB9IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWRkIGFyY2hpdmUgdmlldyB0byBzaG93IG9ubHkgYXJjaGl2ZWQgaXRlbXNcbiAgICAgICAgY3R4LmludGVyZmFjZXMubWFzdGVyLmxpc3QudXBkYXRlKChsaXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gbGlzdCA/PyB7IGFjdGlvbnM6IFtdLCB2aWV3czogW10gfTtcbiAgICAgICAgICAgIG5leHQudmlld3MgPSBuZXh0LnZpZXdzID8/IFtdO1xuXG4gICAgICAgICAgICAvLyBDaGVjayBpZiBhcmNoaXZlIHZpZXcgYWxyZWFkeSBleGlzdHNcbiAgICAgICAgICAgIGlmICghbmV4dC52aWV3cy5zb21lKCh2OiBhbnkpID0+IHYubmFtZSA9PT0gJ2FyY2hpdmVkJykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnZpZXdzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZVF1ZXJ5VmlldygnYXJjaGl2ZWQnLCAnQGdlbmVyYWw6dGVybXMuYXJjaGl2ZWQnLCBmYWxzZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lzQXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRkZW46IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnYXJjaGl2ZWRBdCcsIGRpcjogJ2Rlc2MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBkaXI6ICdhc2MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyNlbmRyZWdpb25cbiAgICB9LFxufTtcbiJdfQ==","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.1.8\", ngImport: i0, type: AXPEntityArchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityArchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityArchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityArchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityUnarchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityUnarchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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 selectedIds = context.getVariable('selectedIds') || [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and selectedIds');\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.1.8\", ngImport: i0, type: AXPEntityBulkArchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityBulkArchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1hcmNoaXZlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1hcmNoaXZlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsbUJBQW1CLENBQ3pELHdCQUF3QixDQUMzQixDQUFDO0FBR0YsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0E4RzdEO0lBNUdHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBUyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQVcsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXZFLElBQUksQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUVELE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXBGLDJCQUEyQjtRQUMzQixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUNqRCxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsNkNBQTZDLENBQUMsRUFDM0YsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLCtDQUErQyxFQUFFO1lBQzFGLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO1NBQ3hDLENBQUMsRUFDRixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLENBQ1gsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztZQUMxRCxPQUFPO1FBQ1gsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUMxQyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGtEQUFrRCxDQUFDO1lBQ3ZHLElBQUksRUFBRSxlQUFlO1lBQ3JCLE1BQU0sRUFBRSxhQUFhLFdBQVcsQ0FBQyxNQUFNLFdBQVc7U0FDckQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQWEsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQztZQUUvQiwrQkFBK0I7WUFDL0IsS0FBSyxNQUFNLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDO29CQUNELDhCQUE4QjtvQkFDOUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFFMUQsdUJBQXVCO29CQUN2QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBRXpELDJDQUEyQztvQkFDM0MsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7d0JBQ3BDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBbUIsQ0FBQzt3QkFDeEUsTUFBTSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7d0JBQzlCLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzFCLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN2QixDQUFDO2dCQUNMLENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDeEQsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkIsQ0FBQztZQUNMLENBQUM7WUFFRCxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMxQyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN2QyxPQUFPLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6RCxPQUFPLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdkQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3JGLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7Z0JBQVMsQ0FBQztZQUNQLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZSxFQUFFLEtBQWE7UUFDdEQsSUFBSSxDQUFDO1lBQ0Qsa0RBQWtEO1lBQ2xELE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXBGLElBQUksZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNsQyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQW1CLENBQUM7Z0JBQ3JFLE9BQU8sTUFBTSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUVELG9EQUFvRDtZQUNwRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ25ILENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsV0FBZ0I7UUFDdkMsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBRXZDLHdCQUF3QjtRQUN4QixXQUFXLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUU5QixtQ0FBbUM7UUFDbkMsV0FBVyxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRXBDLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7OEdBakhRLDBCQUEwQjtrSEFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOztBQXNIWCxNQUFNLE9BQU8saUNBQWtDLFNBQVEsaUJBQWlCO0lBQ3BFLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBUyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQVcsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZFLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQVcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQVMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBUyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEUsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQ1QsMEJBQTBCLENBQUM7WUFDdkIsTUFBTSxFQUFFLE9BQU87WUFDZixHQUFHLEVBQUUsWUFBWTtZQUNqQixJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRTtTQUNuRCxDQUFDLENBQ0wsQ0FBQztRQUVGLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUNULGVBQWUsQ0FBQztZQUNaLE1BQU0sRUFBRSxPQUFPO1lBQ2YsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtTQUN4QyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7OEdBeEJRLGlDQUFpQztrSEFBakMsaUNBQWlDOzsyRkFBakMsaUNBQWlDO2tCQUQ3QyxVQUFVOztBQTRCWCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBZ0I7SUFDckQsV0FBVyxFQUFFLHFCQUFxQjtJQUNsQyxLQUFLLEVBQUU7UUFDSCxxQkFBcUIsRUFBRTtZQUNuQixNQUFNLEVBQUUsNEJBQTRCO1lBQ3BDLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLDBDQUEwQyxFQUFFLENBQUM7b0JBQ3hGLFVBQVUsRUFBRSxvQkFBb0I7aUJBQ25DO2FBQ0o7U0FDSjtRQUNELG9CQUFvQixFQUFFO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNILEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsK0JBQStCO2dCQUN0QyxPQUFPLEVBQUUsb0NBQW9DO2FBQ2hEO1lBQ0QsU0FBUyxFQUFFO2dCQUNQO29CQUNJLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxzQkFBc0I7aUJBQ3JDO2FBQ0o7U0FDSjtRQUNELHNCQUFzQixFQUFFO1lBQ3BCLE1BQU0sRUFBRSxtQ0FBbUM7U0FDOUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUJ1bGtBcmNoaXZlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBCdWxrIEFyY2hpdmVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlCdWxrQXJjaGl2ZUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdGVyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGxvYWRpbmdEaWFsb2cgPSBpbmplY3QoQVhMb2FkaW5nRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmdbXT4oJ3NlbGVjdGVkSWRzJykgfHwgW107XG5cbiAgICAgICAgaWYgKCFyZWZUeXBlIHx8IHNlbGVjdGVkSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIHBhcmFtZXRlcnM6IHJlZlR5cGUgYW5kIHNlbGVjdGVkSWRzJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgIC8vIFNob3cgY29uZmlybWF0aW9uIGRpYWxvZ1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybShcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstYXJjaGl2ZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWFyY2hpdmUuY29uZmlybS5tZXNzYWdlJywge1xuICAgICAgICAgICAgICAgIHBhcmFtczogeyBjb3VudDogc2VsZWN0ZWRJZHMubGVuZ3RoIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWFyY2hpdmUuY29uZmlybS5wcm9jZXNzaW5nJyksXG4gICAgICAgICAgICBtb2RlOiAnaW5kZXRlcm1pbmF0ZScsXG4gICAgICAgICAgICBzdGF0dXM6IGBBcmNoaXZpbmcgJHtzZWxlY3RlZElkcy5sZW5ndGh9IGl0ZW1zLi4uYCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlZElkczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGZhaWxlZElkczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICAgICAgLy8gUHJvY2VzcyBlYWNoIHNlbGVjdGVkIGVudGl0eVxuICAgICAgICAgICAgZm9yIChjb25zdCBpZCBvZiBzZWxlY3RlZElkcykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0YSA9IGF3YWl0IHRoaXMuZ2V0RW50aXR5RGF0YShyZWZUeXBlLCBpZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gUHJlcGFyZSBhcmNoaXZlIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJjaGl2ZURhdGEgPSB0aGlzLnByZXBhcmVBcmNoaXZlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBlbnRpdHkgdG8gbWFyayBpdCBhcyBhcmNoaXZlZFxuICAgICAgICAgICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcz8udXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcy51cGRhdGUuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUV4ZWMoYXJjaGl2ZURhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFpbGVkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGFyY2hpdmUgZW50aXR5ICR7aWR9OmAsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Byb2Nlc3NlZElkcycsIHByb2Nlc3NlZElkcyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZmFpbGVkSWRzJywgZmFpbGVkSWRzKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgZmFsc2UpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3RvdGFsUHJvY2Vzc2VkJywgcHJvY2Vzc2VkSWRzLmxlbmd0aCk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgndG90YWxGYWlsZWQnLCBmYWlsZWRJZHMubGVuZ3RoKTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQnVsayBhcmNoaXZlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZUFyY2hpdmVEYXRhKGN1cnJlbnREYXRhOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCBhcmNoaXZlRGF0YSA9IHsgLi4uY3VycmVudERhdGEgfTtcblxuICAgICAgICAvLyBTZXQgdGhlIGFyY2hpdmVkIGZsYWdcbiAgICAgICAgYXJjaGl2ZURhdGEuaXNBcmNoaXZlZCA9IHRydWU7XG5cbiAgICAgICAgLy8gT3B0aW9uYWxseSBhZGQgYXJjaGl2ZSB0aW1lc3RhbXBcbiAgICAgICAgYXJjaGl2ZURhdGEuYXJjaGl2ZWRBdCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIGFyY2hpdmVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtBcmNoaXZlU3VjY2Vzc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgcHJvY2Vzc2VkSWRzID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nW10+KCdwcm9jZXNzZWRJZHMnKSB8fCBbXTtcbiAgICAgICAgY29uc3QgZmFpbGVkSWRzID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nW10+KCdmYWlsZWRJZHMnKSB8fCBbXTtcbiAgICAgICAgY29uc3QgdG90YWxQcm9jZXNzZWQgPSBjb250ZXh0LmdldE91dHB1dDxudW1iZXI+KCd0b3RhbFByb2Nlc3NlZCcpIHx8IDA7XG4gICAgICAgIGNvbnN0IHRvdGFsRmFpbGVkID0gY29udGV4dC5nZXRPdXRwdXQ8bnVtYmVyPigndG90YWxGYWlsZWQnKSB8fCAwO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIGJ1bGsgYXJjaGl2ZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QnVsa0FyY2hpdmVkRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBpZHM6IHByb2Nlc3NlZElkcyxcbiAgICAgICAgICAgICAgICBtZXRhOiB7IGZhaWxlZElkcywgdG90YWxQcm9jZXNzZWQsIHRvdGFsRmFpbGVkIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhOiB7IHJlZnJlc2hUeXBlOiAnYnVsay1hcmNoaXZlJyB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBCdWxrQXJjaGl2ZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2J1bGstYXJjaGl2ZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdidWxrLWFyY2hpdmUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5QnVsa0FyY2hpdmVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWJ1bGstYXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd3b3JrZmxvdy5lbnRpdHktYnVsay1hcmNoaXZlZC1ib2R5JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnYnVsay1hcmNoaXZlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYnVsay1hcmNoaXZlLXN1Y2Nlc3MnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrQXJjaGl2ZVN1Y2Nlc3NBY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19","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 selectedIds = context.getVariable('selectedIds') || [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and selectedIds');\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.1.8\", ngImport: i0, type: AXPEntityBulkUnarchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityBulkUnarchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1yZXN0b3JlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1yZXN0b3JlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsbUJBQW1CLENBQzNELDBCQUEwQixDQUM3QixDQUFDO0FBR0YsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGlCQUFpQjtJQURuRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0E4RzdEO0lBNUdHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FB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dkM7YUFDSjtTQUNKO1FBQ0Qsd0JBQXdCLEVBQUU7WUFDdEIsTUFBTSxFQUFFLHFDQUFxQztTQUNoRDtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhMb2FkaW5nRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUFJlZnJlc2hFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0LCBjcmVhdGVXb3JrRmxvd0V2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuXG5leHBvcnQgY29uc3QgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZWRFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyBlbnRpdHk6IHN0cmluZzsgaWRzOiBzdHJpbmdbXTsgbWV0YT86IGFueSB9PihcbiAgICAnW0VudGl0eV0gQnVsayBVbmFyY2hpdmVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlCdWxrVW5hcmNoaXZlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZ1tdPignc2VsZWN0ZWRJZHMnKSB8fCBbXTtcblxuICAgICAgICBpZiAoIXJlZlR5cGUgfHwgc2VsZWN0ZWRJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmVHlwZSBhbmQgc2VsZWN0ZWRJZHMnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYnVsay1yZXN0b3JlLWFyY2hpdmUuY29uZmlybS50aXRsZScpLFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYnVsay1yZXN0b3JlLWFyY2hpdmUuY29uZmlybS5tZXNzYWdlJywge1xuICAgICAgICAgICAgICAgIHBhcmFtczogeyBjb3VudDogc2VsZWN0ZWRJZHMubGVuZ3RoIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLXJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLnByb2Nlc3NpbmcnKSxcbiAgICAgICAgICAgIG1vZGU6ICdpbmRldGVybWluYXRlJyxcbiAgICAgICAgICAgIHN0YXR1czogYFVuYXJjaGl2aW5nICR7c2VsZWN0ZWRJZHMubGVuZ3RofSBpdGVtcy4uLmAsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBwcm9jZXNzZWRJZHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgICAgICBjb25zdCBmYWlsZWRJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgICAgIC8vIFByb2Nlc3MgZWFjaCBzZWxlY3RlZCBlbnRpdHlcbiAgICAgICAgICAgIGZvciAoY29uc3QgaWQgb2Ygc2VsZWN0ZWRJZHMpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgZW50aXR5IGRhdGFcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgaWQpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFByZXBhcmUgdW5hcmNoaXZlIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5hcmNoaXZlRGF0YSA9IHRoaXMucHJlcGFyZVVuYXJjaGl2ZURhdGEoY3VycmVudERhdGEpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW50aXR5IHRvIG1hcmsgaXQgYXMgbm90IGFyY2hpdmVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzLnVwZGF0ZS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyh1bmFyY2hpdmVEYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NlZElkcy5wdXNoKGlkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxlZElkcy5wdXNoKGlkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byByZXN0b3JlIGVudGl0eSAke2lkfTpgLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWxlZElkcy5wdXNoKGlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdwcm9jZXNzZWRJZHMnLCBwcm9jZXNzZWRJZHMpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2ZhaWxlZElkcycsIGZhaWxlZElkcyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd0b3RhbFByb2Nlc3NlZCcsIHByb2Nlc3NlZElkcy5sZW5ndGgpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3RvdGFsRmFpbGVkJywgZmFpbGVkSWRzLmxlbmd0aCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0J1bGsgdW5hcmNoaXZlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZVVuYXJjaGl2ZURhdGEoY3VycmVudERhdGE6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHVuYXJjaGl2ZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBhcmNoaXZlZCBmbGFnIHRvIGZhbHNlXG4gICAgICAgIHVuYXJjaGl2ZURhdGEuaXNBcmNoaXZlZCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIFJlbW92ZSBhcmNoaXZlIHRpbWVzdGFtcFxuICAgICAgICBkZWxldGUgdW5hcmNoaXZlRGF0YS5hcmNoaXZlZEF0O1xuXG4gICAgICAgIHJldHVybiB1bmFyY2hpdmVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVTdWNjZXNzQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuICAgICAgICBjb25zdCBwcm9jZXNzZWRJZHMgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmdbXT4oJ3Byb2Nlc3NlZElkcycpIHx8IFtdO1xuICAgICAgICBjb25zdCBmYWlsZWRJZHMgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmdbXT4oJ2ZhaWxlZElkcycpIHx8IFtdO1xuICAgICAgICBjb25zdCB0b3RhbFByb2Nlc3NlZCA9IGNvbnRleHQuZ2V0T3V0cHV0PG51bWJlcj4oJ3RvdGFsUHJvY2Vzc2VkJykgfHwgMDtcbiAgICAgICAgY29uc3QgdG90YWxGYWlsZWQgPSBjb250ZXh0LmdldE91dHB1dDxudW1iZXI+KCd0b3RhbEZhaWxlZCcpIHx8IDA7XG5cbiAgICAgICAgLy8gRGlzcGF0Y2ggYnVsayB1bmFyY2hpdmUgZXZlbnRcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVkRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBpZHM6IHByb2Nlc3NlZElkcyxcbiAgICAgICAgICAgICAgICBtZXRhOiB7IGZhaWxlZElkcywgdG90YWxQcm9jZXNzZWQsIHRvdGFsRmFpbGVkIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhOiB7IHJlZnJlc2hUeXBlOiAnYnVsay11bmFyY2hpdmUnIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUEJ1bGtVbmFyY2hpdmVFbnRpdHlXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gICAgc3RhcnRTdGVwSWQ6ICdidWxrLXVuYXJjaGl2ZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdidWxrLXVuYXJjaGl2ZS1lbnRpdHknOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrVW5hcmNoaXZlQWN0aW9uJyxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcImlzQ2FuY2VsZWRcIikgPT0gZmFsc2UnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1zdWNjZXNzLXRvYXN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctc3VjY2Vzcy10b2FzdCc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ3dvcmtmbG93LmVudGl0eS1idWxrLXVuYXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd3b3JrZmxvdy5lbnRpdHktYnVsay11bmFyY2hpdmVkLWJvZHknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdidWxrLXVuYXJjaGl2ZS1zdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2J1bGstdW5hcmNoaXZlLXN1Y2Nlc3MnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrVW5hcmNoaXZlU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","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.1.8\", ngImport: i0, type: AXPArchivePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPArchivePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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 { 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 // 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.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.category.plural',\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.category.plural',\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 };\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbi9jYXRlZ29yeS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTzFELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBMEI7SUFDakQsSUFBSSxFQUFFLFVBQVU7SUFDaEIsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBa0MsRUFBRSxFQUFFO1FBQy9DLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxjQUFjLFVBQVUsQ0FBQztRQUV2RCxNQUFNLFlBQVksR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQ2xHLE1BQU0sYUFBYSxHQUFHLE9BQU8sRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDO1FBRXJELDBDQUEwQztRQUMxQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLEdBQUcsQ0FBQyxNQUFNLENBQUMs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QUFDO1lBQ1AsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQztRQUVGLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsSCxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEgsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsb0JBQW9CLENBQUMsTUFBTSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUzSSx3REFBd0Q7UUFDdkQsR0FBRyxDQUFDLE1BQWMsQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxNQUFjLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRztZQUN0QyxNQUFNLEVBQUUsR0FBRyxVQUFVLElBQUksa0JBQWtCLEVBQUU7WUFDN0MsWUFBWTtZQUNaLGFBQWE7U0FDaEIsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBDYXRlZ29yeVBsdWdpbk9wdGlvbnMge1xuICAgIHByb3BlcnR5TmFtZT86IHN0cmluZzsgLy8gZGVmYXVsdDogY2F0ZWdvcnlJZHNcbiAgICBhbGxvd011bHRpcGxlPzogYm9vbGVhbjsgLy8gZGVmYXVsdDogdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgY2F0ZWdvcnlQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnY2F0ZWdvcnknLFxuICAgIG9yZGVyOiA0NSxcbiAgICBhcHBseTogKGN0eCwgb3B0aW9ucz86IEFYUENhdGVnb3J5UGx1Z2luT3B0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gY3R4LmVudGl0eS5tb2R1bGU7XG4gICAgICAgIGNvbnN0IGJhc2VFbnRpdHlOYW1lID0gY3R4LmVudGl0eS5uYW1lO1xuICAgICAgICBjb25zdCBjYXRlZ29yeUVudGl0eU5hbWUgPSBgJHtiYXNlRW50aXR5TmFtZX1DYXRlZ29yeWA7XG5cbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lID0gb3B0aW9ucz8ucHJvcGVydHlOYW1lPy50cmltKCk/Lmxlbmd0aCA/IG9wdGlvbnMucHJvcGVydHlOYW1lIDogJ2NhdGVnb3J5SWRzJztcbiAgICAgICAgY29uc3QgYWxsb3dNdWx0aXBsZSA9IG9wdGlvbnM/LmFsbG93TXVsdGlwbGUgPz8gdHJ1ZTtcblxuICAgICAgICAvLyBFbnN1cmUgZ3JvdXAgZXhpc3RzIChwcmVmZXIgYmFzaWMtaW5mbylcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICAgIGNvbnN0IGhhc0Jhc2ljID0gZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gJ2Jhc2ljLWluZm8nKTtcbiAgICAgICAgaWYgKCFoYXNCYXNpYykge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogJ2Jhc2ljLWluZm8nLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmJhc2ljLWluZm8nIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGN0eC5jb2x1bW5zLmFkZCh7IG5hbWU6ICdjYXRlZ29yeUlkcycsIG9wdGlvbnM6IHsgZGF0YVBhdGg6ICdjYXRlZ29yaWVzJyB9IH0pO1xuXG4gICAgICAgIC8vIEVuc3VyZSBwcm9wZXJ0eSBleGlzdHNcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjdHgucHJvcGVydGllcy5saXN0KCk7XG4gICAgICAgIGlmICghcHJvcHMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogcHJvcGVydHlOYW1lLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2F0ZWdvcnkucGx1cmFsJyxcbiAgICAgICAgICAgICAgICBncm91cElkOiAnYmFzaWMtaW5mbycsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLkxvb2t1cEJveCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHk6IGAke21vZHVsZU5hbWV9LiR7Y2F0ZWdvcnlFbnRpdHlOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGU6IGFsbG93TXVsdGlwbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3NlOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgc291cmNlOiAnaWQnLCB0YXJnZXQ6ICdjYXRlZ29yaWVzLntpZH0nIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgc291cmNlOiAndGl0bGUnLCB0YXJnZXQ6ICdjYXRlZ29yaWVzLnt0aXRsZX0nIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuc3VyZSBjYXRlZ29yeSBzaWRlYmFyL2ZpbHRlciBibG9ja1xuICAgICAgICBjdHguY2F0ZWdvcnkudXBkYXRlKChjYXQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZW50aXR5OiBgJHttb2R1bGVOYW1lfS4ke2NhdGVnb3J5RW50aXR5TmFtZX1gLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY2F0ZWdvcnkucGx1cmFsJyxcbiAgICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICd0aXRsZScsXG4gICAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2lkJyxcbiAgICAgICAgICAgICAgICBhcHBseUNvbmRpdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcHJvcGVydHlOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2NvbnRhaW5zJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdpZCcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEVuc3VyZSBsYXlvdXQgaW5jbHVkZXMgcHJvcGVydHkgaW4gY3JlYXRlL21vZGlmeS9zaW5nbGVcbiAgICAgICAgY29uc3QgZW5zdXJlTGF5b3V0UHJvcGVydHkgPSAobGF5b3V0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxheW91dC5zZWN0aW9ucyA9IGxheW91dC5zZWN0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbGF5b3V0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gJ2Jhc2ljLWluZm8nKSkge1xuICAgICAgICAgICAgICAgIGxheW91dC5zZWN0aW9ucy5wdXNoKHsgaWQ6ICdiYXNpYy1pbmZvJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxheW91dC5wcm9wZXJ0aWVzID0gbGF5b3V0LnByb3BlcnRpZXMgPz8gW107XG4gICAgICAgICAgICBpZiAoIWxheW91dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSBwcm9wZXJ0eU5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGF5b3V0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHByb3BlcnR5TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAxMiB9IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbGF5b3V0O1xuICAgICAgICB9O1xuXG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5jcmVhdGUudXBkYXRlKChjcmVhdGUpID0+IGVuc3VyZUxheW91dFByb3BlcnR5KGNyZWF0ZSA/PyB7IHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfSkpO1xuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgobW9kaWZ5KSA9PiBlbnN1cmVMYXlvdXRQcm9wZXJ0eShtb2RpZnkgPz8geyBzZWN0aW9uczogW10sIHByb3BlcnRpZXM6IFtdIH0pKTtcbiAgICAgICAgY3R4LmludGVyZmFjZXMubWFzdGVyLnNpbmdsZS51cGRhdGUoKHNpbmdsZSkgPT4gZW5zdXJlTGF5b3V0UHJvcGVydHkoc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfSkpO1xuXG4gICAgICAgIC8vIE1hcmsgZXh0ZW5zaW9uIGZvciBkeW5hbWljIGNhdGVnb3J5IGVudGl0eSBnZW5lcmF0aW9uXG4gICAgICAgIChjdHguZW50aXR5IGFzIGFueSkuZXh0ZW5zaW9ucyA/Pz0ge307XG4gICAgICAgIChjdHguZW50aXR5IGFzIGFueSkuZXh0ZW5zaW9ucy5jYXRlZ29yeSA9IHtcbiAgICAgICAgICAgIGVudGl0eTogYCR7bW9kdWxlTmFtZX0uJHtjYXRlZ29yeUVudGl0eU5hbWV9YCxcbiAgICAgICAgICAgIHByb3BlcnR5TmFtZSxcbiAgICAgICAgICAgIGFsbG93TXVsdGlwbGUsXG4gICAgICAgIH07XG4gICAgfSxcbn07XG5cblxuIl19","import { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { Injectable, Injector, inject, runInInjectionContext } from '@angular/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\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 const entityDef = {\n module: moduleName,\n name: entityName,\n parentKey: 'parentId',\n plugins: [\n // { name: 'history' },\n // { name: 'lock' },\n // { name: 'compare' },\n ],\n source: '',\n title: '@general:terms.category.individual',\n formats: {\n individual: '@general:terms.category.individual',\n plural: '@general:terms.category.plural',\n searchResult: {\n title: '{{ title }}',\n description: '{{ module }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.basic-info' },\n ],\n properties: [\n {\n name: 'title',\n title: '@general:terms.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.parent-id',\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.description',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.largeText } },\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: [{ id: 'basic-info' }],\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 ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\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 ],\n },\n single: {\n title: '{{title}}',\n sections: [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }],\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 ],\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.1.8\", ngImport: i0, type: AXMEntityCategoryProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMEntityCategoryProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMEntityCategoryProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbi9lbnRpdHkucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFNNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUVVLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0E4SHJDO0lBNUhRLE9BQU87UUFDWixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDOUMsOERBQThEO1FBQzlELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLEdBQUcsVUFBVSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzlDLE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSx3QkFBd0IsQ0FBVyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBRWhILE1BQU0sU0FBUyxHQUFjO2dCQUMzQixNQUFNLEVBQUUsVUFBVTtn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LEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0NBQzlFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7NkJBQ2xGOzRCQUNELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixFQUFFLENBQUM7eUJBQ3RDO3dCQUNELElBQUksRUFBRTs0QkFDSixPQUFPLEVBQUUsQ0FBQyxHQUFHLHVCQUF1QixFQUFFLENBQUM7NEJBQ3ZDLEtBQUssRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt5QkFDeEU7cUJBQ0Y7aUJBQ0Y7YUFDRixDQUFDO1lBRUYsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0E5SFUseUJBQXlCO2tIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHksIEFYUEVudGl0eVF1ZXJ5VHlwZSwgY3JlYXRlQWxsUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhQRW50aXR5RGVmaW5pdGlvbkxvYWRlcixcbiAgQVhQRW50aXR5RGVmaW5pdGlvblByZWxvYWRlcixcbiAgQVhQRW50aXR5UHJlbG9hZEVudGl0eSxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCwgZW50aXR5TWFzdGVyQ3J1ZEFjdGlvbnMsIGVudGl0eU1hc3RlckRlbGV0ZUFjdGlvbiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzTGlzdCB9IGZyb20gJy4uLy4uL3dpZGdldHMtbmFtZXMtbGlzdCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1FbnRpdHlDYXRlZ29yeVByb3ZpZGVyIGltcGxlbWVudHMgQVhQRW50aXR5RGVmaW5pdGlvbkxvYWRlciwgQVhQRW50aXR5RGVmaW5pdGlvblByZWxvYWRlciB7XG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHB1YmxpYyBwcmVsb2FkKCk6IEFYUEVudGl0eVByZWxvYWRFbnRpdHlbXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgYXN5bmMgZ2V0KG1vZHVsZU5hbWU6IHN0cmluZywgZW50aXR5TmFtZTogc3RyaW5nKTogUHJvbWlzZTxBWFBFbnRpdHkgfCBudWxsPiB7XG4gICAgLy8gR2VuZXJpYyBwZXItZW50aXR5IENhdGVnb3J5IHByb3ZpZGVyICh3b3JrcyBmb3IgYW55IG1vZHVsZSlcbiAgICBpZiAoZW50aXR5TmFtZS5lbmRzV2l0aCgnQ2F0ZWdvcnknKSkge1xuICAgICAgY29uc3QgZnVsbEtleSA9IGAke21vZHVsZU5hbWV9LiR7ZW50aXR5TmFtZX1gO1xuICAgICAgY29uc3QgZGF0YVNlcnZpY2UgPSBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4gbmV3IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbDxhbnksIGFueT4oZnVsbEtleSkpO1xuXG4gICAgICBjb25zdCBlbnRpdHlEZWY6IEFYUEVudGl0eSA9IHtcbiAgICAgICAgbW9kdWxlOiBtb2R1bGVOYW1lLFxuICAgICAgICBuYW1lOiBlbnRpdHlOYW1lLFxuICAgICAgICBwYXJlbnRLZXk6ICdwYXJlbnRJZCcsXG4gICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAvLyB7IG5hbWU6ICdoaXN0b3J5JyB9LFxuICAgICAgICAgIC8vIHsgbmFtZTogJ2xvY2snIH0sXG4gICAgICAgICAgLy8geyBuYW1lOiAnY29tcGFyZScgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc291cmNlOiAnJyxcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jYXRlZ29yeS5pbmRpdmlkdWFsJyxcbiAgICAgICAgZm9ybWF0czoge1xuICAgICAgICAgIGluZGl2aWR1YWw6ICdAZ2VuZXJhbDp0ZXJtcy5jYXRlZ29yeS5pbmRpdmlkdWFsJyxcbiAgICAgICAgICBwbHVyYWw6ICdAZ2VuZXJhbDp0ZXJtcy5jYXRlZ29yeS5wbHVyYWwnLFxuICAgICAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICAgICAgdGl0bGU6ICd7eyB0aXRsZSB9fScsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ3t7IG1vZHVsZSB9fScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVsYXRlZEVudGl0aWVzOiBbXSxcbiAgICAgICAgZ3JvdXBzOiBbXG4gICAgICAgICAgeyBpZDogJ2Jhc2ljLWluZm8nLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmJhc2ljLWluZm8nIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy50aXRsZScsXG4gICAgICAgICAgICBncm91cElkOiAnYmFzaWMtaW5mbycsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICBmaWx0ZXI6IHsgYWR2YW5jZTogeyBlbmFibGVkOiB0cnVlIH0sIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH0gfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzY2hlbWE6IHsgZGF0YVR5cGU6ICdzdHJpbmcnLCBpbnRlcmZhY2U6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCB9IH0sXG4gICAgICAgICAgICB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdwYXJlbnRJZCcsXG4gICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLnBhcmVudC1pZCcsXG4gICAgICAgICAgICBncm91cElkOiAnYmFzaWMtaW5mbycsXG4gICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLkxvb2t1cEJveCxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7IGVudGl0eTogYCR7bW9kdWxlTmFtZX0uJHtlbnRpdHlOYW1lfWAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5kZXNjcmlwdGlvbicsXG4gICAgICAgICAgICBncm91cElkOiAnYmFzaWMtaW5mbycsXG4gICAgICAgICAgICBzY2hlbWE6IHsgZGF0YVR5cGU6ICdzdHJpbmcnLCBpbnRlcmZhY2U6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cubGFyZ2VUZXh0IH0gfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBjb2x1bW5zOiBbeyBuYW1lOiAndGl0bGUnIH0sIHsgbmFtZTogJ2Rlc2NyaXB0aW9uJyB9XSxcbiAgICAgICAgY29tbWFuZHM6IHtcbiAgICAgICAgICBjcmVhdGU6IHsgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4gKHsgaWQ6IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKSB9KSB9LFxuICAgICAgICAgIGRlbGV0ZTogeyBleGVjdXRlOiBhc3luYyAoaWQ6IGFueSkgPT4gZGF0YVNlcnZpY2UuZGVsZXRlT25lKGlkKSB9LFxuICAgICAgICAgIHVwZGF0ZTogeyBleGVjdXRlOiBhc3luYyAoZGF0YTogYW55KSA9PiBkYXRhU2VydmljZS51cGRhdGVPbmUoZGF0YS5pZCwgZGF0YSkgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcXVlcmllczoge1xuICAgICAgICAgIGJ5S2V5OiB7IGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiBkYXRhU2VydmljZS5nZXRPbmUoaWQpLCB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuU2luZ2xlIH0sXG4gICAgICAgICAgbGlzdDoge1xuICAgICAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBkYXRhU2VydmljZS5xdWVyeShlKTtcbiAgICAgICAgICAgICAgLy8gZW5yaWNoIGhhc0NoaWxkIGZvciB0cmVlIHZpZXdzIGlmIGNoaWxkQ291bnQgaXMgYXZhaWxhYmxlXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaXRlbXM6IHJlcy5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHsgLi4uaXRlbSwgaGFzQ2hpbGQ6IChpdGVtLmNoaWxkQ291bnQgPz8gMCkgPiAwIH0pKSxcbiAgICAgICAgICAgICAgICB0b3RhbDogcmVzLnRvdGFsLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5MaXN0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGludGVyZmFjZXM6IHtcbiAgICAgICAgICBtYXN0ZXI6IHtcbiAgICAgICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgICAgICBzZWN0aW9uczogW3sgaWQ6ICdiYXNpYy1pbmZvJyB9XSxcbiAgICAgICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDEgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdwYXJlbnRJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAyIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMyB9IH0gfSB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgICAgICBzZWN0aW9uczogW3sgaWQ6ICdiYXNpYy1pbmZvJyB9XSxcbiAgICAgICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDEgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdwYXJlbnRJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAyIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMyB9IH0gfSB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNpbmdsZToge1xuICAgICAgICAgICAgICB0aXRsZTogJ3t7dGl0bGV9fScsXG4gICAgICAgICAgICAgIHNlY3Rpb25zOiBbeyBpZDogJ2Jhc2ljLWluZm8nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyIH0gfSB9IH1dLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMSB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3BhcmVudElkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDIgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAzIH0gfSB9IH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtlbnRpdHlNYXN0ZXJEZWxldGVBY3Rpb24oKV0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGlzdDoge1xuICAgICAgICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5TWFzdGVyQ3J1ZEFjdGlvbnMoKV0sXG4gICAgICAgICAgICAgIHZpZXdzOiBbY3JlYXRlQWxsUXVlcnlWaWV3KHsgc29ydHM6IFt7IG5hbWU6ICd0aXRsZScsIGRpcjogJ2FzYycgfV0gfSldLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGVudGl0eURlZjtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==","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.1.8\", ngImport: i0, type: AXPCategoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPCategoryModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityCloneAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityCloneAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityCloneSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityCloneSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPClonePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPClonePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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 { 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 // Any additional initialization logic can go here\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComparePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.8\", 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 [text]=\\\"'close' | translate | async\\\" look=\\\"solid\\\" color=\\\"primary\\\" (onClick)=\\\"close()\\\"> </ax-button>\\n </ax-suffix>\\n</ax-footer>\", 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.1.8\", 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 [text]=\\\"'close' | translate | async\\\" look=\\\"solid\\\" color=\\\"primary\\\" (onClick)=\\\"close()\\\"> </ax-button>\\n </ax-suffix>\\n</ax-footer>\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb21wYXJlL2NvbXBhcmUtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUE0QyxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFtQnZILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxtQkFBbUI7SUFqQmpFOztRQWtCSSxXQUFNLEdBQUcsS0FBSyw0REFBd0IsQ0FBQztRQUN2QyxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssa0RBQUMsQ0FBQztRQUN2QixTQUFJLEdBQUcsS0FBSyxDQUFxQixTQUFTLGdEQUFDLENBQUM7S0FNL0M7SUFKWSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLGtEQUFrRDtJQUN0RCxDQUFDOzhHQVJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDRUQUZ0QixFQUFFLGlEQ3hCakIsd1lBVVk7Z0JER0osVUFBVTtnQkFDVixZQUFZO2dCQUNaLFNBQVM7Z0JBQ1QsaUJBQWlCLHFQQUNqQixjQUFjLDZYQUNkLG1CQUFtQjtnQkFDbkIsZUFBZTtnQkFDZix1QkFBdUI7OzJGQU1sQix3QkFBd0I7a0JBakJwQyxTQUFTOytCQUNJLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZix1QkFBdUI7cUJBQzFCLGlCQUVjLGlCQUFpQixDQUFDLElBQUksYUFDMUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGlucHV0LCBzaWduYWwsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQQ29tcGFyZVZpZXdDb21wb25lbnQsIEFYUENvbXBhcmVWaWV3SW5wdXRzLCBBWFBDb21wYXJlVmlld01vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtY29tcGFyZS1wb3B1cCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAvLyBBQ29yZVhcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgICAgICAvLyBDb21wYXJlIFZpZXdcbiAgICAgICAgQVhQQ29tcGFyZVZpZXdDb21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21wYXJlLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBhcmVQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlucHV0cyA9IGlucHV0PEFYUENvbXBhcmVWaWV3SW5wdXRzPigpO1xuICAgIGlzQnVzeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgbW9kZSA9IGlucHV0PEFYUENvbXBhcmVWaWV3TW9kZT4oJ2NvbXBhcmUnKTtcblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICAvLyBBbnkgYWRkaXRpb25hbCBpbml0aWFsaXphdGlvbiBsb2dpYyBjYW4gZ28gaGVyZVxuICAgIH1cbn0gIiwiPGF4LWNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJheC1wLTYgYXgtbWluLWgtWzMwdmhdIGF4LW92ZXJmbG93LXktYXV0b1wiPlxuICAgIDxheHAtY29tcGFyZS12aWV3IFtpbnB1dHNdPVwiaW5wdXRzKClcIiBbbW9kZV09XCJtb2RlKClcIj48L2F4cC1jb21wYXJlLXZpZXc+XG4gIDwvZGl2PlxuPC9heC1jb250ZW50PlxuPGF4LWZvb3Rlcj5cbiAgPGF4LXByZWZpeD48L2F4LXByZWZpeD5cbiAgPGF4LXN1ZmZpeD5cbiAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cIidjbG9zZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIChvbkNsaWNrKT1cImNsb3NlKClcIj4gPC9heC1idXR0b24+XG4gIDwvYXgtc3VmZml4PlxuPC9heC1mb290ZXI+Il19","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 { AXPActivityLogService } from \"@acorex/platform/core\";\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.1.8\", ngImport: i0, type: AXMComparePopupStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMComparePopupStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXMCompareEntityRecordsAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMCompareEntityRecordsAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.activityLogService = inject(AXPActivityLogService);\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 histories = await this.activityLogService.getHistoryByIds(refId, refType, ids);\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 id: h.id,\n title: await this.translate.translateAsync(`@activity-log:${h.changeType == 'update' ? 'updated' : 'created'}-by-title`, {\n params: {\n user: h.user?.title,\n date: this.formatService.format(h.date, 'datetime', { format: 'short' }),\n }\n }),\n description: h.user?.title,\n context: h.data,\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.1.8\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb21wYXJlL3dvcmtmbG93cy9jb21wYXJlLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHdEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FhcEQ7SUFYWSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQzlDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO1FBQ25GLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QixLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJ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QVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvd1wiO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL3BvcHVwXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcbmltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5XCI7XG5pbXBvcnQgeyBBWFBDb21wYXJlVmlld0ZpZWxkLCBBWFBDb21wYXJlVmlld0lucHV0cywgQVhQQ29tcGFyZVZpZXdNb2RlLCBBWFBDb21wYXJlVmlld09iamVjdCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBBWFBBY3Rpdml0eUxvZ1NlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2Zvcm1hdFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNQ29tcGFyZVBvcHVwU3RhcnRBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNvbXAgPSAoYXdhaXQgaW1wb3J0KCcuLi9jb21wYXJlLXBvcHVwLmNvbXBvbmVudCcpKS5BWFBDb21wYXJlUG9wdXBDb21wb25lbnQ7XG4gICAgICAgIHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oY29tcCwge1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlLnRyYW5zbGF0ZUFzeW5jKCdDb21wYXJlJyksXG4gICAgICAgICAgICBzaXplOiAnbGcnLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGlucHV0czogc2lnbmFsKGNvbnRleHQuZ2V0VmFyaWFibGUoJ2lucHV0cycpKSxcbiAgICAgICAgICAgICAgICBtb2RlOiBzaWduYWwoY29udGV4dC5nZXRWYXJpYWJsZSgnbW9kZScpIGFzIEFYUENvbXBhcmVWaWV3TW9kZSksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuXG4gICAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdlbnRpdHknKS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlSZWYgPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdHJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgICAgIGNvbnN0IHJlY29yZHMgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ2RhdGEnKSBhcyBhbnlbXTtcbiAgICAgICAgY29uc3QgaWRzID0gcmVjb3Jkcz8ubWFwKChyOiBhbnkpID0+IHIuaWQpIGFzIHN0cmluZ1tdO1xuICAgICAgICBjb25zdCBnZXRCeUlkID0gZW50aXR5UmVmLnF1ZXJpZXMuYnlLZXk/LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGZpZWxkczogQVhQQ29tcGFyZVZpZXdGaWVsZFtdID0gZW50aXR5UmVmLnByb3BlcnRpZXNcbiAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwLnNjaGVtYS5pbnRlcmZhY2UgJiYgcC5zY2hlbWEuaGlkZGVuICE9IHRydWUpXG4gICAgICAgICAgICAubWFwKChwKSA9PiAoe1xuICAgICAgICAgICAgICAgIHBhdGg6IHAubmFtZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogcC50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogcC5zY2hlbWEuaW50ZXJmYWNlPy50eXBlISxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHAuc2NoZW1hLmludGVyZmFjZT8ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBvYmplY3RzOiBBWFBDb21wYXJlVmlld09iamVjdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoaWRzLm1hcChhc3luYyBjID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9iamVjdCA9IGF3YWl0IGdldEJ5SWQoYyk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlkOiBvYmplY3QuaWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IG9iamVjdC50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogb2JqZWN0LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IG9iamVjdCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGNvbnN0IGlucHV0czogQVhQQ29tcGFyZVZpZXdJbnB1dHMgPSB7XG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkcyxcbiAgICAgICAgICAgIG9iamVjdHM6IG9iamVjdHMsXG4gICAgICAgIH1cblxuICAgICAgICAvL1xuICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdpbnB1dHMnLCBpbnB1dHMpO1xuICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtb2RlJywgJ3JlY29yZHMnKTtcbiAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Jlc3VsdCcsIHRydWUpO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgYWN0aXZpdHlMb2dTZXJ2aWNlID0gaW5qZWN0KEFYUEFjdGl2aXR5TG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG5cbiAgICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ2VudGl0eScpLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eVJlZiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0cnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICAgICAgY29uc3QgcmVmSWQgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ2RhdGEucmVmSWQnKSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ2RhdGEucmVmVHlwZScpIGFzIHN0cmluZztcbiAgICAgICAgY29uc3QgaWRzID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhLmlkcycpIGFzIHN0cmluZ1tdO1xuICAgICAgICBjb25zdCBoaXN0b3JpZXMgPSBhd2FpdCB0aGlzLmFjdGl2aXR5TG9nU2VydmljZS5nZXRIaXN0b3J5QnlJZHMocmVmSWQsIHJlZlR5cGUsIGlkcyk7XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGZpZWxkczogQVhQQ29tcGFyZVZpZXdGaWVsZFtdID0gZW50aXR5UmVmLnByb3BlcnRpZXNcbiAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwLnNjaGVtYS5pbnRlcmZhY2UgJiYgcC5zY2hlbWEuaGlkZGVuICE9IHRydWUpXG4gICAgICAgICAgICAubWFwKChwKSA9PiAoe1xuICAgICAgICAgICAgICAgIHBhdGg6IHAubmFtZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogcC50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogcC5zY2hlbWEuaW50ZXJmYWNlPy50eXBlISxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHAuc2NoZW1hLmludGVyZmFjZT8ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBvYmplY3RzOiBBWFBDb21wYXJlVmlld09iamVjdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoaGlzdG9yaWVzLm1hcChhc3luYyBoID0+ICh7XG4gICAgICAgICAgICBpZDogaC5pZCxcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGVBc3luYyhgQGFjdGl2aXR5LWxvZzoke2guY2hhbmdlVHlwZSA9PSAndXBkYXRlJyA/ICd1cGRhdGVkJyA6ICdjcmVhdGVkJ30tYnktdGl0bGVgLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXI6IGgudXNlcj8udGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIGRhdGU6IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQoaC5kYXRlLCAnZGF0ZXRpbWUnLCB7IGZvcm1hdDogJ3Nob3J0JyB9KSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBoLnVzZXI/LnRpdGxlLFxuICAgICAgICAgICAgY29udGV4dDogaC5kYXRhLFxuICAgICAgICB9KSkpO1xuICAgICAgICBjb25zdCBpbnB1dHM6IEFYUENvbXBhcmVWaWV3SW5wdXRzID0ge1xuICAgICAgICAgICAgZmllbGRzOiBmaWVsZHMsXG4gICAgICAgICAgICBvYmplY3RzOiBvYmplY3RzLFxuICAgICAgICB9XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ2lucHV0cycsIGlucHV0cyk7XG4gICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ21vZGUnLCAnY2hhbmdlcycpO1xuICAgICAgICBjb250ZXh0LnNldE91dHB1dCgncmVzdWx0JywgdHJ1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhNQ29tcGFyZUVudGl0eVJlY29yZHNXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gICAgc3RhcnRTdGVwSWQ6ICdzdGFydCcsXG4gICAgc3RlcHM6IHtcbiAgICAgICAgc3RhcnQ6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3Nob3ctZW50aXR5LXJlY29yZHMtY29tcGFyZS1hY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwicmVzdWx0XCIpID09IHRydWUnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1wb3B1cCcsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctcG9wdXAnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdzaG93LWNvbXBhcmUtcG9wdXAtYWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc1dvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ3N0YXJ0JyxcbiAgICBzdGVwczoge1xuICAgICAgICBzdGFydDoge1xuICAgICAgICAgICAgYWN0aW9uOiAnc2hvdy1lbnRpdHktcmVjb3JkLXZlcnNpb25zLWNvbXBhcmUtYWN0aW9uJyxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcInJlc3VsdFwiKSA9PSB0cnVlJyB9XSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ3Nob3ctcG9wdXAnLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgICdzaG93LXBvcHVwJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnc2hvdy1jb21wYXJlLXBvcHVwLWFjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07ICJdfQ==","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 * 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.1.8\", ngImport: i0, type: AXPCompareModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPCompareModule, imports: [AXPComparePopupComponent, i1.AXPWorkflowModule], exports: [AXPComparePopupComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPCompareModule, 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.1.8\", 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 }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwrQkFBK0IsRUFBRSxvQ0FBb0MsRUFBRSxzQ0FBc0MsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFtQnhOLE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLFlBZnJCLHdCQUF3QixtQ0FhbEIsd0JBQXdCOytHQUV6QixnQkFBZ0IsWUFmckIsd0JBQXdCO1lBQ3hCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztnQkFDdkIsT0FBTyxFQUFFO29CQUNMLDJCQUEyQixFQUFFLDBCQUEwQjtvQkFDdkQsb0NBQW9DLEVBQUUsNkJBQTZCO29CQUNuRSw0Q0FBNEMsRUFBRSxvQ0FBb0M7aUJBQ3JGO2dCQUNELFNBQVMsRUFBRTtvQkFDUCw2QkFBNkIsRUFBRSwrQkFBK0I7b0JBQzlELHFDQUFxQyxFQUFFLHNDQUFzQztpQkFDaEY7YUFDSixDQUFDOzsyRkFJRyxnQkFBZ0I7a0JBakI1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCx3QkFBd0I7d0JBQ3hCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQzs0QkFDdkIsT0FBTyxFQUFFO2dDQUNMLDJCQUEyQixFQUFFLDBCQUEwQjtnQ0FDdkQsb0NBQW9DLEVBQUUsNkJBQTZCO2dDQUNuRSw0Q0FBNEMsRUFBRSxvQ0FBb0M7NkJBQ3JGOzRCQUNELFNBQVMsRUFBRTtnQ0FDUCw2QkFBNkIsRUFBRSwrQkFBK0I7Z0NBQzlELHFDQUFxQyxFQUFFLHNDQUFzQzs2QkFDaEY7eUJBQ0osQ0FBQztxQkFDTDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQQ29tcGFyZVBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wYXJlLXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhNQ29tcGFyZUVudGl0eVJlY29yZHNBY3Rpb24sIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRzV29ya2Zsb3csIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc0FjdGlvbiwgQVhNQ29tcGFyZUVudGl0eVJlY29yZFZlcnNpb25zV29ya2Zsb3csIEFYTUNvbXBhcmVQb3B1cFN0YXJ0QWN0aW9uIH0gZnJvbSAnLi93b3JrZmxvd3MvY29tcGFyZS53b3JrZmxvdyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBBWFBDb21wYXJlUG9wdXBDb21wb25lbnQsXG4gICAgICAgIEFYUFdvcmtmbG93TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgICAgICAgIGFjdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAnc2hvdy1jb21wYXJlLXBvcHVwLWFjdGlvbic6IEFYTUNvbXBhcmVQb3B1cFN0YXJ0QWN0aW9uLFxuICAgICAgICAgICAgICAgICdzaG93LWVudGl0eS1yZWNvcmRzLWNvbXBhcmUtYWN0aW9uJzogQVhNQ29tcGFyZUVudGl0eVJlY29yZHNBY3Rpb24sXG4gICAgICAgICAgICAgICAgJ3Nob3ctZW50aXR5LXJlY29yZC12ZXJzaW9ucy1jb21wYXJlLWFjdGlvbic6IEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc0FjdGlvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3b3JrZmxvd3M6IHtcbiAgICAgICAgICAgICAgICAnc2hvdy1lbnRpdHktcmVjb3Jkcy1jb21wYXJlJzogQVhNQ29tcGFyZUVudGl0eVJlY29yZHNXb3JrZmxvdyxcbiAgICAgICAgICAgICAgICAnc2hvdy1lbnRpdHktcmVjb3JkLXZlcnNpb25zLWNvbXBhcmUnOiBBWE1Db21wYXJlRW50aXR5UmVjb3JkVmVyc2lvbnNXb3JrZmxvdyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgIF0sXG4gICAgZXhwb3J0czogW0FYUENvbXBhcmVQb3B1cENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBhcmVNb2R1bGUgeyB9ICJdfQ==","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJvcGVydGllcy5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcHV0ZWQtcHJvcGVydGllcy9jb21wdXRlZC1wcm9wZXJ0aWVzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QkEsWUFBWTtBQUVaLDhCQUE4QjtBQUU5QixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBMEI7SUFDN0QsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUE0QyxFQUFFLEVBQUU7UUFDM0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUVELDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUM7UUFDcEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsSUFBSSxjQUFjLENBQUM7WUFDdkMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQVMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQztRQUVGLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDdkIsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUMvRCxzRUFBc0U7WUFDdEUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDakUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBUyxDQUFDLENBQUM7WUFDL0QsQ0FBQztZQUVELG1DQUFtQztZQUNuQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUNqQixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUNkLE9BQU87b0JBRVAsTUFBTSxFQUFFO3dCQUNOLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixRQUFRLEVBQUUsSUFBSTt3QkFDZCxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUs7d0JBQ3JCLFNBQVMsRUFBRTs0QkFDVCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksYUFBYTs0QkFDckMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7eUJBQzFEO3FCQUNGO2lCQUNLLENBQUMsQ0FBQztZQUNaLENBQUM7WUFFRCwyQ0FBMkM7WUFDM0MsTUFBTSxTQUFTLEdBQVEsR0FBRyxDQUFDLE1BQWEsQ0FBQztZQUN6QyxNQUFNLGNBQWMsR0FBVSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hGLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsU0FBUyxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7WUFFRCx3Q0FBd0M7WUFDeEMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFVLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQzt3QkFDbkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3dCQUNaLE1BQU0sRUFBRTs0QkFDTixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsRUFBRTs0QkFDckYsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTt5QkFDekI7cUJBQ0YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQztBQUVGLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBXaWRnZXRUeXBlc01hcCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuLy8jcmVnaW9uIC0tLS0gICBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQQ29tcHV0ZWRQcm9wZXJ0eUZpZWxkID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7IC8vIEV4cHJlc3Npb24tc3VwcG9ydGVkIHN0cmluZywgZS5nLiBcInt7IGNvbnRleHQuZXZhbCgnLi4uJykgfX1cIlxuICBncm91cDoge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgfTtcbiAgbGF5b3V0PzogeyBvcmRlcj86IG51bWJlcjsgY29sU3Bhbj86IG51bWJlciB9O1xuICBjb25kaXRpb25zPzogYW55W107IC8vIFJlc2VydmVkIGZvciBmdXR1cmUgbG9naWMgKHZpc2liaWxpdHkvY2FsY3VsYXRpb24pXG4gIHNob3dBcz86IHtcbiAgICB0eXBlOiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF0gfCBzdHJpbmc7XG4gICAgb3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBBWFBDb21wdXRlZFByb3BlcnRpZXNQbHVnaW5PcHRpb25zID0ge1xuICBmaWVsZHM/OiBBWFBDb21wdXRlZFByb3BlcnR5RmllbGRbXTtcbn07XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIFBsdWdpbiAgIC0tLS1cblxuZXhwb3J0IGNvbnN0IGNvbXB1dGVkUHJvcGVydGllc1BsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICBuYW1lOiAnY29tcHV0ZWQtcHJvcGVydHknLFxuICBvcmRlcjogNTUsXG4gIGFwcGx5OiAoY3R4LCBvcHRpb25zPzogQVhQQ29tcHV0ZWRQcm9wZXJ0aWVzUGx1Z2luT3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGZpZWxkcyA9IG9wdGlvbnM/LmZpZWxkcyA/PyBbXTtcbiAgICBpZiAoIWZpZWxkcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgZGVmYXVsdCBncm91cCBleGlzdHNcbiAgICBjb25zdCBkZWZhdWx0R3JvdXBJZCA9ICdhZGRpdGlvbmFsJztcbiAgICBjb25zdCBlbnN1cmVHcm91cCA9IChncm91cDogeyBpZDogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0pID0+IHtcbiAgICAgIGNvbnN0IGlkID0gZ3JvdXA/LmlkIHx8IGRlZmF1bHRHcm91cElkO1xuICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICBpZiAoIWdyb3Vwcy5zb21lKChnOiBhbnkpID0+IGcuaWQgPT09IGlkKSkge1xuICAgICAgICBjdHguZ3JvdXBzLmFkZCh7IGlkLCB0aXRsZTogZ3JvdXA/LnRpdGxlIH0gYXMgYW55KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpZDtcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBmIG9mIGZpZWxkcykge1xuICAgICAgY29uc3QgZ3JvdXBJZCA9IGVuc3VyZUdyb3VwKGYuZ3JvdXAgfHwgeyBpZDogZGVmYXVsdEdyb3VwSWQgfSk7XG4gICAgICAvLyBJZiBncm91cCBpcyBuZXdseSBjcmVhdGVkIGFuZCBhIGN1c3RvbSB0aXRsZSBpcyBwcm92aWRlZCwgdXBkYXRlIGl0XG4gICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgIGlmICghZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gZ3JvdXBJZCkgJiYgZi5ncm91cD8udGl0bGUpIHtcbiAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6IGYuZ3JvdXAudGl0bGUgfSBhcyBhbnkpO1xuICAgICAgfVxuXG4gICAgICAvLyBFbnN1cmUgcHJvcGVydHkgZXhpc3RzIG9uIGVudGl0eVxuICAgICAgY29uc3QgZXhpc3RpbmcgPSBjdHgucHJvcGVydGllcy5saXN0KCkuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IGYubmFtZSk7XG4gICAgICBpZiAoIWV4aXN0aW5nKSB7XG4gICAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XG4gICAgICAgICAgbmFtZTogZi5uYW1lLFxuICAgICAgICAgIHRpdGxlOiBmLnRpdGxlLFxuICAgICAgICAgIGdyb3VwSWQsXG5cbiAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmLnZhbHVlLFxuICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgIHR5cGU6IGYuc2hvd0FzPy50eXBlIHx8ICd0ZXh0LWVkaXRvcicsXG4gICAgICAgICAgICAgIG9wdGlvbnM6IHsgLi4uKGYuc2hvd0FzPy5vcHRpb25zID8/IHt9KSwgcmVhZG9ubHk6IHRydWUgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgfVxuXG4gICAgICAvLyBFbnN1cmUgdGhlIGZpZWxkIGFwcGVhcnMgaW4gbGlzdCBjb2x1bW5zXG4gICAgICBjb25zdCBlbnRpdHlBbnk6IGFueSA9IGN0eC5lbnRpdHkgYXMgYW55O1xuICAgICAgY29uc3QgY3VycmVudENvbHVtbnM6IGFueVtdID0gQXJyYXkuaXNBcnJheShlbnRpdHlBbnkuY29sdW1ucykgPyBlbnRpdHlBbnkuY29sdW1ucyA6IFtdO1xuICAgICAgY29uc3QgaGFzQ29sdW1uID0gY3VycmVudENvbHVtbnMuc29tZSgoYzogYW55KSA9PiAodHlwZW9mIGMgPT09ICdzdHJpbmcnID8gYyA9PT0gZi5uYW1lIDogYz8ubmFtZSA9PT0gZi5uYW1lKSk7XG4gICAgICBpZiAoIWhhc0NvbHVtbikge1xuICAgICAgICBlbnRpdHlBbnkuY29sdW1ucyA9IFsuLi5jdXJyZW50Q29sdW1ucywgeyBuYW1lOiBmLm5hbWUgfV07XG4gICAgICB9XG5cbiAgICAgIC8vIEVuc3VyZSBTaW5nbGUgKGRldGFpbHMpIHZpZXcgc2hvd3MgaXRcbiAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5zaW5nbGUudXBkYXRlKChzaW5nbGUpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dCA9IHNpbmdsZSA/PyAoeyB0aXRsZTogY3R4LmVudGl0eS50aXRsZSwgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9IGFzIGFueSk7XG4gICAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xuICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkLCBvcmRlcjogOTAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZi5uYW1lKSkge1xuICAgICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogZi5sYXlvdXQ/LmNvbFNwYW4gPz8gMTIsIG9yZGVyOiBmLmxheW91dD8ub3JkZXIgPz8gOTkgfSB9LFxuICAgICAgICAgICAgICBsYWJlbDogeyB2aXNpYmxlOiB0cnVlIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgfSk7XG4gICAgfVxuICB9LFxufTtcblxuLy8jZW5kcmVnaW9uXG4iXX0=","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.1.8\", ngImport: i0, type: AXPComputedPropertiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComputedPropertiesModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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, 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.1.8\", ngImport: i0, type: AXPExtraPropertiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPExtraPropertiesModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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.1.8\", ngImport: i0, type: AXPGlobalSearchSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", 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.1.8\", 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.1.8\", ngImport: i0, type: AXPGlobalSearchStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPGlobalSearchStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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.1.8\", ngImport: i0, type: AXPGlobalSearchModule, imports: [i2.AXPComponentSlotModule, i3.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoL3NlYXJjaC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1RCxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25JLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE1BQU0sT0FBTyx3QkFBd0I7SUFrQ2pDO1FBaENRLGdCQUFXLEdBQUc7WUFDbEIsTUFBTSxFQUFFLDZCQUE2QjtZQUNyQyxNQUFNLEVBQUUsNEJBQTRCO1NBQ3ZDLENBQUE7UUFFTyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFM0MsVUFBSyxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxpREFBQyxDQUFDO1FBQ3JDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTlCLGFBQVEsR0FBRyxNQUFNLENBQWdDLEVBQUUsb0RBQUMsQ0FBQztRQUN0RCxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVwQyxZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssbURBQUMsQ0FBQztRQUN6QixXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVuQyxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsbURBQUMsQ0FBQztRQUVwRSxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLG1EQUFDLENBQUM7UUFFekQsWUFBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsbURBQUMsQ0FBQztRQUV4RSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMscURBQUMsQ0FBQztRQUU5RyxpQkFBWSxHQUFHLE1BQU0sQ0FBMkIsRUFBRSx3REFBQyxDQUFDO1FBQ3BELGlCQUFZLEdBQUcsTUFBTSxDQUEyQixFQUFFLHdEQUFDLENBQUM7UUFDckQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdDLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSx1REFBQyxDQUFDO1FBRTlDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7UUFHbkUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXpELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQTRCO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQTRCO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQTRCO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUE0QjtRQUMvQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBNEI7UUFDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBNEI7UUFDN0QsMkJBQTJCO1FBQzNCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdEMsd0JBQXdCO1FBQ3hCLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxLQUFLLENBQUMsZ0JBQWdCO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTyxLQUFLLENBQUMsWUFBWTtRQUN0Qix5QkFBeUI7UUFDekIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBMkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBRUQsb0JBQW9CO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQTJCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEcsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsWUFBWTtRQUN0Qix5QkFBeUI7UUFDekIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVySCxvQkFBb0I7UUFDcEIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZWFyY2hEaXNwbGF5R3JvdXBSZXN1bHQsIEFYUFNlYXJjaERpc3BsYXlSZXN1bHQsIEFYUFNlYXJjaFNlcnZpY2UsIEFYUFNldHRpbmdTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5leHBvcnQgY2xhc3MgQVhQR2xvYmFsU2VhcmNoVmlld01vZGVsIHtcblxuICAgIHByaXZhdGUgc2V0dGluZ0tleXMgPSB7XG4gICAgICAgIHJlY2VudDogXCJnbG9iYWwtc2VhcmNoOnJlY2VudHM6aXRlbXNcIixcbiAgICAgICAgcGlubmVkOiBcImdsb2JhbC1zZWFyY2g6cGlubmVkOml0ZW1zXCJcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2UgPSBpbmplY3QoQVhQU2VhcmNoU2VydmljZSk7XG4gICAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSk7XG5cbiAgICBwcml2YXRlIF90ZXh0ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyB0ZXh0ID0gdGhpcy5fdGV4dC5hc1JlYWRvbmx5KCk7XG5cbiAgICBwcml2YXRlIF9yZXN1bHRzID0gc2lnbmFsPEFYUFNlYXJjaERpc3BsYXlHcm91cFJlc3VsdFtdPihbXSk7XG4gICAgcHVibGljIHJlc3VsdHMgPSB0aGlzLl9yZXN1bHRzLmFzUmVhZG9ubHkoKTtcblxuICAgIHByaXZhdGUgX2lzQnVzeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHVibGljIGlzQnVzeSA9IHRoaXMuX2lzQnVzeS5hc1JlYWRvbmx5KCk7XG5cbiAgICBwdWJsaWMgaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGV4dCgpICYmIHRoaXMucmVzdWx0cygpLmxlbmd0aCA9PSAwKTtcblxuICAgIHB1YmxpYyBpc1ZhbGlkID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMudGV4dCgpPy5sZW5ndGggPz8gMCkgPiAyKTtcblxuICAgIHB1YmxpYyBpc1N0YXJ0ID0gY29tcHV0ZWQoKCkgPT4gIXRoaXMuaXNFbXB0eSgpICYmIHRoaXMucmVzdWx0cygpLmxlbmd0aCA9PSAwKTtcblxuICAgIHB1YmxpYyBpc1dlbGNvbWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlzU3RhcnQoKSAmJiB0aGlzLnBpbm5lZEl0ZW1zKCkubGVuZ3RoID09IDAgJiYgdGhpcy5yZWNlbnRJdGVtcygpLmxlbmd0aCA9PSAwKTtcblxuICAgIHByaXZhdGUgX3JlY2VudEl0ZW1zID0gc2lnbmFsPEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4oW10pO1xuICAgIHByaXZhdGUgX3Bpbm5lZEl0ZW1zID0gc2lnbmFsPEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4oW10pO1xuICAgIHB1YmxpYyBwaW5uZWRJdGVtcyA9IHRoaXMuX3Bpbm5lZEl0ZW1zLmFzUmVhZG9ubHkoKTtcbiAgICBwdWJsaWMgcmVjZW50SXRlbXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmdldFRvcFJlY2VudEl0ZW1zKCkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG9uSXRlbVNlbGVjdGVkID0gbmV3IFN1YmplY3Q8QVhQU2VhcmNoRGlzcGxheVJlc3VsdD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmxvYWRTZXR0aW5ncygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWFyY2godGV4dDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuX2lzQnVzeS5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KHRleHQpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3VsdHMuc2V0KFtdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDI1MCkpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaCh0ZXh0KTtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3VsdHMuc2V0KHJlc3VsdHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faXNCdXN5LnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGV4ZWN1dGUoaXRlbTogQVhQU2VhcmNoRGlzcGxheVJlc3VsdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLm5leHQoaXRlbSk7XG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlU2VsZWN0aW9uSGlzdG9yeShpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcGluKGl0ZW06IEFYUFNlYXJjaERpc3BsYXlSZXN1bHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY3VycmVudFBpbm5lZCA9IHRoaXMuX3Bpbm5lZEl0ZW1zKCk7XG4gICAgICAgIGlmICghY3VycmVudFBpbm5lZC5zb21lKGkgPT4gaS5pZCA9PT0gaXRlbS5pZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Bpbm5lZEl0ZW1zLnNldChbaXRlbSwgLi4uY3VycmVudFBpbm5lZF0uc2xpY2UoMCwgNSkpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zYXZlU2V0dGluZ3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyB1bnBpbihpdGVtOiBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQaW5uZWQgPSB0aGlzLl9waW5uZWRJdGVtcygpO1xuICAgICAgICB0aGlzLl9waW5uZWRJdGVtcy5zZXQoY3VycmVudFBpbm5lZC5maWx0ZXIoaSA9PiBpLmlkICE9PSBpdGVtLmlkKSk7XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZVNldHRpbmdzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHRvZ2dsZVBpbihpdGVtOiBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzUGlubmVkKGl0ZW0pKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnVucGluKGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5waW4oaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNQaW5uZWQoaXRlbTogQVhQU2VhcmNoRGlzcGxheVJlc3VsdCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjdXJyZW50UGlubmVkID0gdGhpcy5fcGlubmVkSXRlbXMoKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRQaW5uZWQuc29tZShpID0+IGkuaWQgPT09IGl0ZW0uaWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgdXBkYXRlU2VsZWN0aW9uSGlzdG9yeShpdGVtOiBBWFBTZWFyY2hEaXNwbGF5UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIFVwZGF0ZSByZWNlbnQgc2VsZWN0aW9uc1xuICAgICAgICBjb25zdCBjdXJyZW50SGlzdG9yeSA9IHRoaXMuX3JlY2VudEl0ZW1zKCk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRIaXN0b3J5ID0gW2l0ZW0sIC4uLmN1cnJlbnRIaXN0b3J5LmZpbHRlcihpID0+IGkuaWQgIT09IGl0ZW0uaWQpXS5zbGljZSgwLCA1KTtcbiAgICAgICAgdGhpcy5fcmVjZW50SXRlbXMuc2V0KHVwZGF0ZWRIaXN0b3J5KTtcblxuICAgICAgICAvLyBTYXZlIHVwZGF0ZWQgc2V0dGluZ3NcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlU2V0dGluZ3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRvcFJlY2VudEl0ZW1zKCk6IEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXSB7XG4gICAgICAgIGNvbnN0IHBpbm5lZElkcyA9IG5ldyBTZXQodGhpcy5fcGlubmVkSXRlbXMoKS5tYXAoaXRlbSA9PiBpdGVtLmlkKSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWNlbnRJdGVtcygpLmZpbHRlcihpdGVtID0+ICFwaW5uZWRJZHMuaGFzKGl0ZW0uaWQpKS5zbGljZSgwLCA1KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY2xlYXJSZWNlbnRJdGVtcygpIHtcbiAgICAgICAgdGhpcy5fcmVjZW50SXRlbXMuc2V0KFtdKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZS5zY29wZShBWFBQbGF0Zm9ybVNjb3BlLlVzZXIpLnNldCh0aGlzLnNldHRpbmdLZXlzLnJlY2VudCwgW10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZFNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBMb2FkIHJlY2VudCBzZWxlY3Rpb25zXG4gICAgICAgIGNvbnN0IHJlY2VudCA9IGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2UuZ2V0PEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4odGhpcy5zZXR0aW5nS2V5cy5yZWNlbnQpO1xuICAgICAgICBpZiAocmVjZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9yZWNlbnRJdGVtcy5zZXQocmVjZW50LnNsaWNlKDAsIDUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvYWQgcGlubmVkIGl0ZW1zXG4gICAgICAgIGNvbnN0IHBpbm5lZCA9IGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2UuZ2V0PEFYUFNlYXJjaERpc3BsYXlSZXN1bHRbXT4odGhpcy5zZXR0aW5nS2V5cy5waW5uZWQpO1xuICAgICAgICBpZiAocGlubmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9waW5uZWRJdGVtcy5zZXQocGlubmVkLnNsaWNlKDAsIDUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc2F2ZVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBTYXZlIHJlY2VudCBzZWxlY3Rpb25zXG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5Vc2VyKS5zZXQodGhpcy5zZXR0aW5nS2V5cy5yZWNlbnQsIHRoaXMuX3JlY2VudEl0ZW1zKCkuc2xpY2UoMCwgNSkpO1xuXG4gICAgICAgIC8vIFNhdmUgcGlubmVkIGl0ZW1zXG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2NvcGUoQVhQUGxhdGZvcm1TY29wZS5Vc2VyKS5zZXQodGhpcy5zZXR0aW5nS2V5cy5waW5uZWQsIHRoaXMuX3Bpbm5lZEl0ZW1zKCkuc2xpY2UoMCwgNSkpO1xuICAgIH1cbn1cbiJdfQ==","import { inject } from '@angular/core';\nimport { AXPLockService } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nexport const lockGuardMiddleware = {\n target: { ops: ['update', 'delete'], order: 10 },\n execute: async (ctx, next) => {\n const lockService = inject(AXPLockService);\n const session = inject(AXPSessionService);\n const lock = await lockService.check({ refId: ctx.id, refType: ctx.entityName });\n if (lock) {\n const info = await lockService.getInfo({ refId: ctx.id, refType: ctx.entityName });\n if (info && session.user && info.lockedBy.id !== session.user.id) {\n throw new Error('This record is locked and cannot be edited.');\n }\n }\n await next();\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1ndWFyZC5taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2xvY2stc3lzdGVtL2xvY2stZ3VhcmQubWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBK0I7SUFDM0QsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7SUFDaEQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDekIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNsRixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsTUFBTSxJQUFJLEdBQUcsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3BGLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQTG9ja1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBFbnRpdHlTdG9yYWdlTWlkZGxld2FyZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBsb2NrR3VhcmRNaWRkbGV3YXJlOiBBWFBFbnRpdHlTdG9yYWdlTWlkZGxld2FyZSA9IHtcbiAgICB0YXJnZXQ6IHsgb3BzOiBbJ3VwZGF0ZScsICdkZWxldGUnXSwgb3JkZXI6IDEwIH0sXG4gICAgZXhlY3V0ZTogYXN5bmMgKGN0eCwgbmV4dCkgPT4ge1xuICAgICAgICBjb25zdCBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuXG4gICAgICAgIGNvbnN0IGxvY2sgPSBhd2FpdCBsb2NrU2VydmljZS5jaGVjayh7IHJlZklkOiBjdHguaWQhLCByZWZUeXBlOiBjdHguZW50aXR5TmFtZSB9KTtcbiAgICAgICAgaWYgKGxvY2spIHtcbiAgICAgICAgICAgIGNvbnN0IGluZm8gPSBhd2FpdCBsb2NrU2VydmljZS5nZXRJbmZvKHsgcmVmSWQ6IGN0eC5pZCEsIHJlZlR5cGU6IGN0eC5lbnRpdHlOYW1lIH0pO1xuICAgICAgICAgICAgaWYgKGluZm8gJiYgc2Vzc2lvbi51c2VyICYmIGluZm8ubG9ja2VkQnkuaWQgIT09IHNlc3Npb24udXNlci5pZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyByZWNvcmQgaXMgbG9ja2VkIGFuZCBjYW5ub3QgYmUgZWRpdGVkLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgbmV4dCgpO1xuICAgIH0sXG59O1xuXG5cbiJdfQ==","import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nexport class AXMLockPopupWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const comp = (await import('../lock-popup')).AXPLockPopupComponent;\n const result = await this.popupService.open(comp, {\n title: await this.translationService.translateAsync('@lock-system:lock.dialog.title'),\n data: {\n refId: context.getVariable('options.refId'),\n refType: context.getVariable('options.refType'),\n },\n });\n if (result.data != null && result.data.isCanceled != null) {\n context.setOutput('isCanceled', result.data.isCanceled);\n if (!result.data.isCanceled) {\n context.setOutput('lockDuration', result.data.duration);\n context.setOutput('lockReason', result.data.reason);\n }\n }\n else {\n context.setOutput('isCanceled', true);\n }\n }\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1wb3B1cC53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9sb2NrLXN5c3RlbS93b3JrZmxvd3MvbG9jay1wb3B1cC53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQUFqRTs7UUFDRSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQXNCcEQsQ0FBQztJQXBCVSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ2hELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztRQUNuRSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNoRCxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGdDQUFnQyxDQUFDO1lBQ3JGLElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBUyxlQUFlLENBQUM7Z0JBQ25ELE9BQU8sRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFTLGlCQUFpQixDQUFDO2FBQ3hEO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxRCxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUM1QixPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN4RCxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFJRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBZ0I7SUFDL0MsV0FBVyxFQUFFLFlBQVk7SUFDekIsS0FBSyxFQUFFO1FBQ0wsWUFBWSxFQUFFO1lBQ1osTUFBTSxFQUFFLDRCQUE0QjtZQUNwQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSwwQ0FBMEMsRUFBRSxDQUFDO29CQUN4RixVQUFVLEVBQUUsY0FBYztpQkFDM0I7YUFDRjtTQUNGO1FBQ0QsWUFBWSxFQUFFO1lBQ1osRUFBRSxFQUFFLGNBQWM7WUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixLQUFLLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSxnQ0FBZ0M7Z0JBQ3ZDLE9BQU8sRUFBRSwrQkFBK0I7YUFDekM7WUFDRCxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsVUFBVSxFQUFFLEVBQUU7b0JBQ2QsVUFBVSxFQUFFLGlCQUFpQjtpQkFDOUI7YUFDRjtTQUNGO1FBQ0QsZUFBZSxFQUFFO1lBQ2YsRUFBRSxFQUFFLGlCQUFpQjtZQUNyQixNQUFNLEVBQUUsZ0NBQWdDO1NBQ3pDO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQVhNTG9ja1BvcHVwV29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb21wID0gKGF3YWl0IGltcG9ydCgnLi4vbG9jay1wb3B1cCcpKS5BWFBMb2NrUG9wdXBDb21wb25lbnQ7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCB7XG4gICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmRpYWxvZy50aXRsZScpLFxuICAgICAgZGF0YToge1xuICAgICAgICByZWZJZDogY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZklkJyksXG4gICAgICAgIHJlZlR5cGU6IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHJlc3VsdC5kYXRhICE9IG51bGwgJiYgcmVzdWx0LmRhdGEuaXNDYW5jZWxlZCAhPSBudWxsKSB7XG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHJlc3VsdC5kYXRhLmlzQ2FuY2VsZWQpO1xuICAgICAgaWYgKCFyZXN1bHQuZGF0YS5pc0NhbmNlbGVkKSB7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdsb2NrRHVyYXRpb24nLCByZXN1bHQuZGF0YS5kdXJhdGlvbik7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdsb2NrUmVhc29uJywgcmVzdWx0LmRhdGEucmVhc29uKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbmV4cG9ydCBjb25zdCBBWE1Mb2NrUG9wdXBXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAnbG9jay1wb3B1cCcsXG4gIHN0ZXBzOiB7XG4gICAgJ2xvY2stcG9wdXAnOiB7XG4gICAgICBhY3Rpb246ICdBWE1Mb2NrUG9wdXBXb3JrZmxvd0FjdGlvbicsXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJpc0NhbmNlbGVkXCIpID09IGZhbHNlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnc3VjY2Vzc1RvYXN0JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBzdWNjZXNzVG9hc3Q6IHtcbiAgICAgIGlkOiAnc3VjY2Vzc1RvYXN0JyxcbiAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LW1vZGlmaWVkLXRpdGxlJyxcbiAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1tb2RpZmllZC1ib2R5JyxcbiAgICAgIH0sXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIG1vZGlmeUNvbmZpcm1lZDoge1xuICAgICAgaWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgYWN0aW9uOiAnQVhQRW50aXR5TW9kaWZ5Q29uZmlybWVkQWN0aW9uJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==","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","import { AXPLockService } from \"@acorex/platform/common\";\nimport { inject } from \"@angular/core\";\nexport class AXMLockEvaluatorScopeProvider {\n constructor() {\n this.lockService = inject(AXPLockService);\n }\n async provide(context) {\n context.addScope('lock', {\n check: async (refId, refType) => {\n const lock = await this.lockService.check({\n refId, refType\n });\n return lock;\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1ldmFsdWF0b3Itc2NvcGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvbG9jay1zeXN0ZW0vbG9jay1ldmFsdWF0b3Itc2NvcGUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLDZCQUE2QjtJQUExQztRQUVjLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBWW5ELENBQUM7SUFWRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1EO1FBQzdELE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3JCLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBYSxFQUFFLE9BQWUsRUFBRSxFQUFFO2dCQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO29CQUN0QyxLQUFLLEVBQUUsT0FBTztpQkFDakIsQ0FBQyxDQUFDO2dCQUNILE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBMb2NrU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXIsIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvcmVcIjtcbmltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjbGFzcyBBWE1Mb2NrRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByb3RlY3RlZCBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCdsb2NrJywge1xuICAgICAgICAgICAgY2hlY2s6IGFzeW5jIChyZWZJZDogc3RyaW5nLCByZWZUeXBlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NrID0gYXdhaXQgdGhpcy5sb2NrU2VydmljZS5jaGVjayh7XG4gICAgICAgICAgICAgICAgICAgIHJlZklkLCByZWZUeXBlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxufSJdfQ==","import { AXPEntityCommandScope } from '@acorex/platform/common';\nimport { ensureListActions } from '@acorex/platform/layout/entity';\nexport const lockPlugin = {\n name: 'lock',\n order: 50,\n apply: (ctx) => {\n ensureListActions(ctx);\n ctx.interfaces.update((i) => {\n const actions = i.master.list.actions;\n ctx.properties.list().forEach(p => {\n if (p.schema.interface) {\n p.schema.interface.options = {\n ...p.schema.interface.options,\n readonly: `{{ lock.check(context.eval(\"id\"), \"${ctx.entity.module}.${ctx.entity.name}\") }}`\n };\n }\n });\n if (!actions.some((a) => a.name === 'lock-entity')) {\n actions.push({\n title: '@lock-system:lock.title',\n name: 'lock-entity',\n command: {\n name: 'lock-popup',\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'lock',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ lock.check(context.eval(\"id\"), \"${ctx.entity.module}.${ctx.entity.name}\") }}`,\n });\n }\n if (!actions.some((a) => a.name === 'unlock-entity')) {\n actions.push({\n title: '@lock-system:unlock.title',\n name: 'unlock-entity',\n command: {\n name: 'unlock-confirm',\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'unlock',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ (await lock.check(context.eval(\"id\"), \"${ctx.entity.module}.${ctx.entity.name}\")) == false }}`,\n });\n }\n return i;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvbG9jay1zeXN0ZW0vbG9jay5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBeUIsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUxRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTBCO0lBQzdDLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsTUFBTSxPQUFPLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEIsQ0FBQztZQUVwRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDMUIsSUFBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBQyxDQUFDO29CQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUc7d0JBQ3pCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTzt3QkFDN0IsUUFBUSxFQUFHLHNDQUFzQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTztxQkFDL0YsQ0FBQztnQkFDTixDQUFDO1lBRVQsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNULEtBQUssRUFBRSx5QkFBeUI7b0JBQ2hDLElBQUksRUFBRSxhQUFhO29CQUNuQixPQUFPLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLE9BQU8sRUFBRTs0QkFDTCxLQUFLLEVBQUUsMEJBQTBCOzRCQUNqQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTt5QkFDckQ7cUJBQ0o7b0JBQ0QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxNQUFNO29CQUNaLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO29CQUN2QyxNQUFNLEVBQUUsc0NBQXNDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPO2lCQUM1RixDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDbkQsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDVCxLQUFLLEVBQUUsMkJBQTJCO29CQUNsQyxJQUFJLEVBQUUsZUFBZTtvQkFDckIsT0FBTyxFQUFFO3dCQUNMLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE9BQU8sRUFBRTs0QkFDTCxLQUFLLEVBQUUsMEJBQTBCOzRCQUNqQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTt5QkFDckQ7cUJBQ0o7b0JBQ0QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxRQUFRO29CQUNkLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO29CQUN2QyxNQUFNLEVBQUUsNkNBQTZDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxrQkFBa0I7aUJBQzlHLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLENBQVEsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uLCBBWFBFbnRpdHlDb21tYW5kU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb25QbHVnaW4sIGVuc3VyZUxpc3RBY3Rpb25zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IGxvY2tQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnbG9jaycsXG4gICAgb3JkZXI6IDUwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLnVwZGF0ZSgoaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBBWFBFbnRpdHlBY3Rpb25bXTtcblxuICAgICAgICAgICAgY3R4LnByb3BlcnRpZXMubGlzdCgpLmZvckVhY2gocCA9PiB7IFxuICAgICAgICAgICAgICAgICAgICBpZihwLnNjaGVtYS5pbnRlcmZhY2Upe1xuICAgICAgICAgICAgICAgICAgICAgICAgcC5zY2hlbWEuaW50ZXJmYWNlLm9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucC5zY2hlbWEuaW50ZXJmYWNlLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHkgOiBge3sgbG9jay5jaGVjayhjb250ZXh0LmV2YWwoXCJpZFwiKSwgXCIke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1cIikgfX1gXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKCFhY3Rpb25zLnNvbWUoKGEpID0+IGEubmFtZSA9PT0gJ2xvY2stZW50aXR5JykpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Bsb2NrLXN5c3RlbTpsb2NrLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2xvY2stZW50aXR5JyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2xvY2stcG9wdXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbG9jaycsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgbG9jay5jaGVjayhjb250ZXh0LmV2YWwoXCJpZFwiKSwgXCIke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1cIikgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFhY3Rpb25zLnNvbWUoKGEpID0+IGEubmFtZSA9PT0gJ3VubG9jay1lbnRpdHknKSkge1xuICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGxvY2stc3lzdGVtOnVubG9jay50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICd1bmxvY2stZW50aXR5JyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3VubG9jay1jb25maXJtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3VubG9jaycsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgKGF3YWl0IGxvY2suY2hlY2soY29udGV4dC5ldmFsKFwiaWRcIiksIFwiJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9XCIpKSAgPT0gZmFsc2UgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcbiAgICB9LFxufTtcblxuXG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex/platform/layout/entity';\nimport { lockGuardMiddleware } from './lock-guard.middleware';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMLockPopupWorkflow, AXMLockPopupWorkflowAction, AXMUnlockConfirmWorkflow, AXMUnlockConfirmWorkflowAction } from './workflows';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';\nimport { AXMLockEvaluatorScopeProvider } from './lock-evaluator-scope.provider';\nimport { lockPlugin } from './lock.plugin';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXMLockSystemModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMLockSystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMLockSystemModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMLockSystemModule, providers: [\n { provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, multi: true, useClass: AXMLockEvaluatorScopeProvider },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: lockPlugin },\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: lockGuardMiddleware },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n AXMLockPopupWorkflowAction,\n AXMUnlockConfirmWorkflowAction,\n },\n workflows: {\n 'lock-popup': AXMLockPopupWorkflow,\n 'unlock-confirm': AXMUnlockConfirmWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMLockSystemModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n AXMLockPopupWorkflowAction,\n AXMUnlockConfirmWorkflowAction,\n },\n workflows: {\n 'lock-popup': AXMLockPopupWorkflow,\n 'unlock-confirm': AXMUnlockConfirmWorkflow,\n },\n }),\n ],\n providers: [\n { provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, multi: true, useClass: AXMLockEvaluatorScopeProvider },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: lockPlugin },\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: lockGuardMiddleware },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1zeXN0ZW0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2xvY2stc3lzdGVtL2xvY2stc3lzdGVtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6SSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFxQjNDLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsYUFOakI7WUFDUCxFQUFFLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRTtZQUMxRyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7WUFDeEUsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7U0FDekYsWUFmRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDTCwwQkFBMEI7b0JBQzFCLDhCQUE4QjtpQkFDakM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLFlBQVksRUFBRSxvQkFBb0I7b0JBQ2xDLGdCQUFnQixFQUFFLHdCQUF3QjtpQkFDN0M7YUFDSixDQUFDOzsyRkFRRyxtQkFBbUI7a0JBbkIvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3ZCLE9BQU8sRUFBRTtnQ0FDTCwwQkFBMEI7Z0NBQzFCLDhCQUE4Qjs2QkFDakM7NEJBQ0QsU0FBUyxFQUFFO2dDQUNQLFlBQVksRUFBRSxvQkFBb0I7Z0NBQ2xDLGdCQUFnQixFQUFFLHdCQUF3Qjs2QkFDN0M7eUJBQ0osQ0FBQztxQkFDTDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsNkJBQTZCLEVBQUU7d0JBQzFHLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTt3QkFDeEUsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7cUJBQ3pGO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgQVhQX0VOVElUWV9TVE9SQUdFX01JRERMRVdBUkUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgbG9ja0d1YXJkTWlkZGxld2FyZSB9IGZyb20gJy4vbG9jay1ndWFyZC5taWRkbGV3YXJlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWE1Mb2NrUG9wdXBXb3JrZmxvdywgQVhNTG9ja1BvcHVwV29ya2Zsb3dBY3Rpb24sIEFYTVVubG9ja0NvbmZpcm1Xb3JrZmxvdywgQVhNVW5sb2NrQ29uZmlybVdvcmtmbG93QWN0aW9uIH0gZnJvbSAnLi93b3JrZmxvd3MnO1xuaW1wb3J0IHsgQVhQX0VYUFJFU1NJT05fRVZBTFVBVE9SX1NDT1BFX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYTUxvY2tFdmFsdWF0b3JTY29wZVByb3ZpZGVyIH0gZnJvbSAnLi9sb2NrLWV2YWx1YXRvci1zY29wZS5wcm92aWRlcic7XG5pbXBvcnQgeyBsb2NrUGx1Z2luIH0gZnJvbSAnLi9sb2NrLnBsdWdpbic7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgICAgICBhY3Rpb25zOiB7XG4gICAgICAgICAgICAgICAgQVhNTG9ja1BvcHVwV29ya2Zsb3dBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhNVW5sb2NrQ29uZmlybVdvcmtmbG93QWN0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAgICAgICAgICdsb2NrLXBvcHVwJzogQVhNTG9ja1BvcHVwV29ya2Zsb3csXG4gICAgICAgICAgICAgICAgJ3VubG9jay1jb25maXJtJzogQVhNVW5sb2NrQ29uZmlybVdvcmtmbG93LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsIG11bHRpOiB0cnVlLCB1c2VDbGFzczogQVhNTG9ja0V2YWx1YXRvclNjb3BlUHJvdmlkZXIgfSxcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogbG9ja1BsdWdpbiB9LFxuICAgICAgICB7IHByb3ZpZGU6IEFYUF9FTlRJVFlfU1RPUkFHRV9NSURETEVXQVJFLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGxvY2tHdWFyZE1pZGRsZXdhcmUgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Mb2NrU3lzdGVtTW9kdWxlIHsgfSAgICAiXX0=","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 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.1.8\", ngImport: i0, type: AXMVersionHistoryPopupStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMVersionHistoryPopupStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wb3B1cC53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3Rvcnkvd29ya2Zsb3dzL2hpc3RvcnktcG9wdXAud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGlCQUFpQjtJQUR4RTs7UUFFVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FnQmxEO0lBZFUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNoRCxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLHVGQUF1RixDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQztRQUM3SixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDM0IsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsb0NBQW9DLENBQUM7WUFDaEYsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7Z0JBQy9DLFFBQVEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDO2dCQUNqRCxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDN0MsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO2dCQUMzQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBakJVLGlDQUFpQztrSEFBakMsaUNBQWlDOzsyRkFBakMsaUNBQWlDO2tCQUQ3QyxVQUFVOztBQXFCWCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBZ0I7SUFDekQsV0FBVyxFQUFFLE9BQU87SUFDcEIsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLG1DQUFtQztTQUM1QztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXBcIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS90cmFuc2xhdGlvblwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNVmVyc2lvbkhpc3RvcnlQb3B1cFN0YXJ0QWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbXAgPSAoYXdhaXQgaW1wb3J0KCcuLi9jb21wb25lbnRzL3RpbWVsaW5lLXZlcnNpb24taGlzdG9yeS1wb3B1cC90aW1lbGluZS12ZXJzaW9uLWhpc3RvcnktcG9wdXAuY29tcG9uZW50JykpLkFYTVRpbWVsaW5lVmVyc2lvbkhpc3RvcnlQb3B1cENvbXBvbmVudDtcbiAgICB0aGlzLnBvcHVwU2VydmljZS5vcGVuKGNvbXAsIHtcbiAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGVBc3luYygnQGFjdGl2aXR5LWxvZzphY3Rpb25zLnZpZXctaGlzdG9yeScpLFxuICAgICAgZGF0YToge1xuICAgICAgICByZWZJZDogY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy5yZWZJZCcpLFxuICAgICAgICByZWZUeXBlOiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLnJlZlR5cGUnKSxcbiAgICAgICAgZnJvbURhdGU6IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMuZnJvbURhdGUnKSxcbiAgICAgICAgdG9EYXRlOiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLnRvRGF0ZScpLFxuICAgICAgICBsaW1pdDogY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy5saW1pdCcpLFxuICAgICAgICBvZmZzZXQ6IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMub2Zmc2V0JyksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwV29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICBzdGFydFN0ZXBJZDogJ3N0YXJ0JyxcbiAgc3RlcHM6IHtcbiAgICBzdGFydDoge1xuICAgICAgYWN0aW9uOiAnc2hvdy12ZXJzaW9uLWhpc3RvcnktcG9wdXAtYWN0aW9uJyxcbiAgICB9LFxuICB9LFxufTsiXX0=","import { inject } from '@angular/core';\nimport { AXPDataGenerator, AXPSystemActionType, extractTextFromHtml } from '@acorex/platform/core';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXP_ENTITY_STORAGE_BACKEND, AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { detectEntityChanges } from '@acorex/platform/layout/entity';\nexport const historyLoggerMiddleware = {\n target: { ops: ['create', 'update', 'delete'], order: 80 },\n execute: async (ctx, next) => {\n const entityRegistry = inject(AXPEntityDefinitionRegistryService);\n const sessionService = inject(AXPSessionService);\n const backend = inject(AXP_ENTITY_STORAGE_BACKEND);\n // Capture previous for update/delete\n if (ctx.op === 'update' || ctx.op === 'delete') {\n try {\n ctx.previous = await ctx.backend.getOneRaw(ctx.entityName, ctx.id);\n }\n catch { /* ignore */ }\n }\n await next();\n // Build history entry\n const now = new Date();\n const [moduleName, entityModuleName] = ctx.entityName.split('.');\n const entityConfig = await entityRegistry.resolve(moduleName, entityModuleName);\n const actions = [];\n if (ctx.op === 'update' && ctx.previous && ctx.result) {\n const changes = detectEntityChanges(ctx.previous, ctx.result);\n // Build actions similar to old addToHistory mapping by widget type\n if (entityConfig) {\n for (const [key, value] of Object.entries(changes)) {\n const property = entityConfig.properties.find((p) => p.name === key);\n if (property && property.schema?.interface) {\n const widgetType = property.schema.interface.type;\n switch (widgetType) {\n case 'file-uploader':\n if (value.added?.length) {\n actions.push({\n type: AXPSystemActionType.Upload,\n description: `\"${value.added?.map((item) => item.name).join(', ')}\"`,\n });\n }\n if (value.removed?.length) {\n actions.push({\n type: AXPSystemActionType.Delete,\n description: `\"${value.removed?.map((item) => item.name).join(', ')}\"`,\n });\n }\n break;\n case 'large-text-editor':\n case 'rich-text-editor': {\n const safeValue = extractTextFromHtml(value.newValue);\n actions.push({\n type: AXPSystemActionType.Update,\n description: `${property.title} to \"${safeValue.length > 100 ? safeValue.slice(0, 30) + '...' : safeValue}\"`,\n });\n break;\n }\n case 'text-editor':\n actions.push({\n type: AXPSystemActionType.Update,\n description: `${property.title} to \"${value.newValue.length > 100 ? value.newValue.slice(0, 30) + '...' : value.newValue}\"`,\n });\n break;\n default:\n actions.push({ type: AXPSystemActionType.Update, description: `${property.title}` });\n }\n }\n }\n }\n // Expose raw changes to event middleware\n ctx.locals.set('changes', changes);\n }\n // Compute reference ID and final data per operation\n let referenceId;\n let finalData = undefined;\n if (ctx.op === 'create') {\n const createdId = String(ctx.result);\n const createdEntity = { ...ctx.data, id: createdId };\n referenceId = createdId;\n finalData = createdEntity;\n }\n else if (ctx.op === 'update') {\n referenceId = String(ctx.id);\n finalData = ctx.result;\n }\n else {\n // delete\n referenceId = String(ctx.id);\n finalData = ctx.previous;\n }\n const record = {\n id: AXPDataGenerator.uuid(),\n title: entityConfig?.title ?? now.toISOString(),\n date: now,\n user: {\n id: sessionService.user?.id ?? 'system',\n name: sessionService.user?.name ?? 'System',\n title: sessionService.user?.title ?? 'System',\n },\n reference: { id: referenceId, type: ctx.entityName },\n changeType: ctx.op === 'create'\n ? AXPSystemActionType.Create\n : ctx.op === 'update'\n ? AXPSystemActionType.Update\n : AXPSystemActionType.Delete,\n changes: actions,\n data: finalData,\n };\n // Persist via backend raw insert to avoid recursive middleware\n try {\n await backend.insertOne(`${ctx.entityName}-history`, { ...record, isCurrent: true });\n }\n catch (error) {\n console.error(error);\n // swallow errors to avoid breaking main flow\n }\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1sb2dnZXIubWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvaGlzdG9yeS1sb2dnZXIubWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBd0MsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsa0NBQWtDLEVBQThCLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUksT0FBTyxFQUFFLG1CQUFtQixFQUFzQixNQUFNLGdDQUFnQyxDQUFDO0FBRXpGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUErQjtJQUMvRCxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7SUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDekIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDbEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFbkQscUNBQXFDO1FBQ3JDLElBQUksR0FBRyxDQUFDLEVBQUUsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUM7Z0JBQ0Qs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LEVBQUUsU0FBUztTQUNsQixDQUFDO1FBRUYsK0RBQStEO1FBQy9ELElBQUksQ0FBQztZQUNELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLFVBQVUsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVMsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQiw2Q0FBNkM7UUFDakQsQ0FBQztJQUNMLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBBY3Rpdml0eUxvZywgQVhQQWN0aXZpdHlMb2dDaGFuZ2UsIEFYUERhdGFHZW5lcmF0b3IsIEFYUFN5c3RlbUFjdGlvblR5cGUsIGV4dHJhY3RUZXh0RnJvbUh0bWwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9TVE9SQUdFX0JBQ0tFTkQsIEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UsIEFYUEVudGl0eVN0b3JhZ2VNaWRkbGV3YXJlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IGRldGVjdEVudGl0eUNoYW5nZXMsIEFYUEVudGl0eUNoYW5nZVNldCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBoaXN0b3J5TG9nZ2VyTWlkZGxld2FyZTogQVhQRW50aXR5U3RvcmFnZU1pZGRsZXdhcmUgPSB7XG4gICAgdGFyZ2V0OiB7IG9wczogWydjcmVhdGUnLCAndXBkYXRlJywgJ2RlbGV0ZSddLCBvcmRlcjogODAgfSxcbiAgICBleGVjdXRlOiBhc3luYyAoY3R4LCBuZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGVudGl0eVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgICAgICBjb25zdCBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gICAgICAgIGNvbnN0IGJhY2tlbmQgPSBpbmplY3QoQVhQX0VOVElUWV9TVE9SQUdFX0JBQ0tFTkQpO1xuXG4gICAgICAgIC8vIENhcHR1cmUgcHJldmlvdXMgZm9yIHVwZGF0ZS9kZWxldGVcbiAgICAgICAgaWYgKGN0eC5vcCA9PT0gJ3VwZGF0ZScgfHwgY3R4Lm9wID09PSAnZGVsZXRlJykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjdHgucHJldmlvdXMgPSBhd2FpdCBjdHguYmFja2VuZC5nZXRPbmVSYXcoY3R4LmVudGl0eU5hbWUsIGN0eC5pZCEpO1xuICAgICAgICAgICAgfSBjYXRjaCB7IC8qIGlnbm9yZSAqLyB9XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBuZXh0KCk7XG5cbiAgICAgICAgLy8gQnVpbGQgaGlzdG9yeSBlbnRyeVxuICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TW9kdWxlTmFtZV0gPSBjdHguZW50aXR5TmFtZS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlDb25maWcgPSBhd2FpdCBlbnRpdHlSZWdpc3RyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU1vZHVsZU5hbWUpO1xuXG4gICAgICAgIGNvbnN0IGFjdGlvbnM6IEFYUEFjdGl2aXR5TG9nQ2hhbmdlW10gPSBbXTtcbiAgICAgICAgaWYgKGN0eC5vcCA9PT0gJ3VwZGF0ZScgJiYgY3R4LnByZXZpb3VzICYmIGN0eC5yZXN1bHQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZXM6IEFYUEVudGl0eUNoYW5nZVNldCA9IGRldGVjdEVudGl0eUNoYW5nZXMoY3R4LnByZXZpb3VzLCBjdHgucmVzdWx0KTtcblxuICAgICAgICAgICAgLy8gQnVpbGQgYWN0aW9ucyBzaW1pbGFyIHRvIG9sZCBhZGRUb0hpc3RvcnkgbWFwcGluZyBieSB3aWRnZXQgdHlwZVxuICAgICAgICAgICAgaWYgKGVudGl0eUNvbmZpZykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNoYW5nZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gZW50aXR5Q29uZmlnLnByb3BlcnRpZXMuZmluZCgocDogYW55KSA9PiBwLm5hbWUgPT09IGtleSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5zY2hlbWE/LmludGVyZmFjZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2lkZ2V0VHlwZSA9IHByb3BlcnR5LnNjaGVtYS5pbnRlcmZhY2UudHlwZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAod2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2ZpbGUtdXBsb2FkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHZhbHVlIGFzIGFueSkuYWRkZWQ/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlVwbG9hZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYFwiJHsodmFsdWUgYXMgYW55KS5hZGRlZD8ubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZSkuam9pbignLCAnKX1cImAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHZhbHVlIGFzIGFueSkucmVtb3ZlZD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFYUFN5c3RlbUFjdGlvblR5cGUuRGVsZXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgXCIkeyh2YWx1ZSBhcyBhbnkpLnJlbW92ZWQ/Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLm5hbWUpLmpvaW4oJywgJyl9XCJgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbGFyZ2UtdGV4dC1lZGl0b3InOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3JpY2gtdGV4dC1lZGl0b3InOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNhZmVWYWx1ZSA9IGV4dHJhY3RUZXh0RnJvbUh0bWwoKHZhbHVlIGFzIGFueSkubmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VcGRhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7cHJvcGVydHkudGl0bGV9IHRvIFwiJHtzYWZlVmFsdWUubGVuZ3RoID4gMTAwID8gc2FmZVZhbHVlLnNsaWNlKDAsIDMwKSArICcuLi4nIDogc2FmZVZhbHVlfVwiYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd0ZXh0LWVkaXRvcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlVwZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHtwcm9wZXJ0eS50aXRsZX0gdG8gXCIkeyh2YWx1ZSBhcyBhbnkpLm5ld1ZhbHVlLmxlbmd0aCA+IDEwMCA/ICh2YWx1ZSBhcyBhbnkpLm5ld1ZhbHVlLnNsaWNlKDAsIDMwKSArICcuLi4nIDogKHZhbHVlIGFzIGFueSkubmV3VmFsdWV9XCJgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHsgdHlwZTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VcGRhdGUsIGRlc2NyaXB0aW9uOiBgJHtwcm9wZXJ0eS50aXRsZX1gIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBFeHBvc2UgcmF3IGNoYW5nZXMgdG8gZXZlbnQgbWlkZGxld2FyZVxuICAgICAgICAgICAgY3R4LmxvY2Fscy5zZXQoJ2NoYW5nZXMnLCBjaGFuZ2VzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbXB1dGUgcmVmZXJlbmNlIElEIGFuZCBmaW5hbCBkYXRhIHBlciBvcGVyYXRpb25cbiAgICAgICAgbGV0IHJlZmVyZW5jZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBmaW5hbERhdGE6IGFueSA9IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGN0eC5vcCA9PT0gJ2NyZWF0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGNyZWF0ZWRJZCA9IFN0cmluZyhjdHgucmVzdWx0KTtcbiAgICAgICAgICAgIGNvbnN0IGNyZWF0ZWRFbnRpdHkgPSB7IC4uLihjdHguZGF0YSBhcyBhbnkpLCBpZDogY3JlYXRlZElkIH07XG4gICAgICAgICAgICByZWZlcmVuY2VJZCA9IGNyZWF0ZWRJZDtcbiAgICAgICAgICAgIGZpbmFsRGF0YSA9IGNyZWF0ZWRFbnRpdHk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3R4Lm9wID09PSAndXBkYXRlJykge1xuICAgICAgICAgICAgcmVmZXJlbmNlSWQgPSBTdHJpbmcoY3R4LmlkKTtcbiAgICAgICAgICAgIGZpbmFsRGF0YSA9IGN0eC5yZXN1bHQgYXMgYW55O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gZGVsZXRlXG4gICAgICAgICAgICByZWZlcmVuY2VJZCA9IFN0cmluZyhjdHguaWQpO1xuICAgICAgICAgICAgZmluYWxEYXRhID0gY3R4LnByZXZpb3VzIGFzIGFueTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlY29yZDogQVhQQWN0aXZpdHlMb2cgPSB7XG4gICAgICAgICAgICBpZDogQVhQRGF0YUdlbmVyYXRvci51dWlkKCksXG4gICAgICAgICAgICB0aXRsZTogZW50aXR5Q29uZmlnPy50aXRsZSA/PyBub3cudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIGRhdGU6IG5vdyxcbiAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgICBpZDogc2Vzc2lvblNlcnZpY2UudXNlcj8uaWQgPz8gJ3N5c3RlbScsXG4gICAgICAgICAgICAgICAgbmFtZTogc2Vzc2lvblNlcnZpY2UudXNlcj8ubmFtZSA/PyAnU3lzdGVtJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogc2Vzc2lvblNlcnZpY2UudXNlcj8udGl0bGUgPz8gJ1N5c3RlbScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmZXJlbmNlOiB7IGlkOiByZWZlcmVuY2VJZCBhcyBzdHJpbmcsIHR5cGU6IGN0eC5lbnRpdHlOYW1lIH0sXG4gICAgICAgICAgICBjaGFuZ2VUeXBlOlxuICAgICAgICAgICAgICAgIGN0eC5vcCA9PT0gJ2NyZWF0ZSdcbiAgICAgICAgICAgICAgICAgICAgPyBBWFBTeXN0ZW1BY3Rpb25UeXBlLkNyZWF0ZVxuICAgICAgICAgICAgICAgICAgICA6IGN0eC5vcCA9PT0gJ3VwZGF0ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQVhQU3lzdGVtQWN0aW9uVHlwZS5VcGRhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQVhQU3lzdGVtQWN0aW9uVHlwZS5EZWxldGUsXG4gICAgICAgICAgICBjaGFuZ2VzOiBhY3Rpb25zLFxuICAgICAgICAgICAgZGF0YTogZmluYWxEYXRhLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFBlcnNpc3QgdmlhIGJhY2tlbmQgcmF3IGluc2VydCB0byBhdm9pZCByZWN1cnNpdmUgbWlkZGxld2FyZVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgYmFja2VuZC5pbnNlcnRPbmUoYCR7Y3R4LmVudGl0eU5hbWV9LWhpc3RvcnlgLCB7IC4uLnJlY29yZCwgaXNDdXJyZW50OiB0cnVlIH0gYXMgYW55KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgLy8gc3dhbGxvdyBlcnJvcnMgdG8gYXZvaWQgYnJlYWtpbmcgbWFpbiBmbG93XG4gICAgICAgIH1cbiAgICB9LFxufTtcblxuXG4iXX0=","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 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 },\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 },\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvdmVyc2lvbi1oaXN0b3J5L2hpc3RvcnkucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMEI7SUFDaEQsSUFBSSxFQUFFLFNBQVM7SUFDZixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ1gsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBRyw0QkFBNEIsQ0FBQztZQUM3QyxFQUFFO1lBQ0YsTUFBTSxXQUFXLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEIsQ0FBQztZQUN4RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxvQ0FBb0M7b0JBQzNDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELEVBQUU7WUFDRixNQUFNLGFBQWEsR0FBSSxDQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUE0QixJQUFJLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNmLEtBQUssRUFBRSxvQ0FBb0M7b0JBQzNDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELEVBQUU7WUFDRixPQUFPLENBQVEsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uLCBBWFBFbnRpdHlDb21tYW5kU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb25QbHVnaW4sIGVuc3VyZUxpc3RBY3Rpb25zLCBhY3Rpb25FeGlzdHMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuXG5leHBvcnQgY29uc3QgaGlzdG9yeVBsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICAgIG5hbWU6ICdoaXN0b3J5JyxcbiAgICBvcmRlcjogNTAsXG4gICAgYXBwbHk6IChjdHgpID0+IHtcbiAgICAgICAgZW5zdXJlTGlzdEFjdGlvbnMoY3R4KTtcbiAgICAgICAgY3R4LmludGVyZmFjZXMudXBkYXRlKChpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjbWROYW1lID0gJ3Nob3ctdmVyc2lvbi1oaXN0b3J5LXBvcHVwJztcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBjb25zdCBsaXN0QWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBBWFBFbnRpdHlBY3Rpb25bXTtcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCBjbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIGxpc3RBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BhY3Rpdml0eS1sb2c6YWN0aW9ucy52aWV3LWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAndmVyc2lvbi1oaXN0b3J5JyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgY21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBzaW5nbGVBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BhY3Rpdml0eS1sb2c6YWN0aW9ucy52aWV3LWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAndmVyc2lvbi1oaXN0b3J5JyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIHJldHVybiBpIGFzIGFueTtcbiAgICAgICAgfSk7XG4gICAgfSxcbn07XG5cblxuIl19","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvdmVyc2lvbi1oaXN0b3J5L2NvbXBhcmUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBeUIsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEcsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEwQjtJQUNoRCxJQUFJLEVBQUUsU0FBUztJQUNmLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDWCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sT0FBTyxHQUFJLENBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQWdCLENBQUM7WUFDeEQsTUFBTSxPQUFPLEdBQUcsNkJBQTZCLENBQUM7WUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDVCxLQUFLLEVBQUUsdUNBQXVDO29CQUM5QyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO29CQUMxQixRQUFRLEVBQUUsV0FBVztvQkFDckIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFFBQVE7aUJBQ3hDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLENBQVEsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5Q29tbWFuZFNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IGNvbXBhcmVQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnY29tcGFyZScsXG4gICAgb3JkZXI6IDUwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLnVwZGF0ZSgoaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBhbnlbXTtcbiAgICAgICAgICAgIGNvbnN0IGNtZE5hbWUgPSAnc2hvdy1lbnRpdHktcmVjb3Jkcy1jb21wYXJlJztcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGFjdGlvbnMsIGNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAYWN0aXZpdHktbG9nOmFjdGlvbnMuY29tcGFyZS1yZWNvcmRzJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogeyBuYW1lOiBjbWROYW1lIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NvbXBhcmUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcbiAgICB9LFxufTtcblxuXG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMVersionHistoryPopupStartAction, AXMVersionHistoryPopupWorkflow } from './workflows/history-popup.workflow';\nimport { AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex/platform/layout/entity';\nimport { historyLoggerMiddleware } from './history-logger.middleware';\nimport { historyPlugin } from './history.plugin';\nimport { comparePlugin } from './compare.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.1.8\", ngImport: i0, type: AXPVersionHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPVersionHistoryModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPVersionHistoryModule, providers: [\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: historyLoggerMiddleware },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: historyPlugin },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: comparePlugin },\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.1.8\", 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_STORAGE_MIDDLEWARE, multi: true, useValue: historyLoggerMiddleware },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: historyPlugin },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: comparePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1oaXN0b3J5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvdmVyc2lvbi1oaXN0b3J5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQW9CakQsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixhQU52QjtZQUNULEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFO1lBQzFGLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRTtZQUMzRSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7U0FDNUUsWUFkQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3pCLE9BQU8sRUFBRTtvQkFDUCxtQ0FBbUMsRUFBRSxpQ0FBaUM7aUJBQ3ZFO2dCQUNELFNBQVMsRUFBRTtvQkFDVCw0QkFBNEIsRUFBRSw4QkFBOEI7aUJBQzdEO2FBQ0YsQ0FBQzs7MkZBU08sdUJBQXVCO2tCQWxCbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCLENBQUMsUUFBUSxDQUFDOzRCQUN6QixPQUFPLEVBQUU7Z0NBQ1AsbUNBQW1DLEVBQUUsaUNBQWlDOzZCQUN2RTs0QkFDRCxTQUFTLEVBQUU7Z0NBQ1QsNEJBQTRCLEVBQUUsOEJBQThCOzZCQUM3RDt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRTt3QkFDMUYsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3dCQUMzRSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7cUJBQzVFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwU3RhcnRBY3Rpb24sIEFYTVZlcnNpb25IaXN0b3J5UG9wdXBXb3JrZmxvdyB9IGZyb20gJy4vd29ya2Zsb3dzL2hpc3RvcnktcG9wdXAud29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBBWFBfRU5USVRZX1NUT1JBR0VfTUlERExFV0FSRSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBoaXN0b3J5TG9nZ2VyTWlkZGxld2FyZSB9IGZyb20gJy4vaGlzdG9yeS1sb2dnZXIubWlkZGxld2FyZSc7XG5pbXBvcnQgeyBoaXN0b3J5UGx1Z2luIH0gZnJvbSAnLi9oaXN0b3J5LnBsdWdpbic7XG5pbXBvcnQgeyBjb21wYXJlUGx1Z2luIH0gZnJvbSAnLi9jb21wYXJlLnBsdWdpbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgICdzaG93LXZlcnNpb24taGlzdG9yeS1wb3B1cC1hY3Rpb24nOiBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwU3RhcnRBY3Rpb24sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdzaG93LXZlcnNpb24taGlzdG9yeS1wb3B1cCc6IEFYTVZlcnNpb25IaXN0b3J5UG9wdXBXb3JrZmxvdyxcbiAgICAgIH0sXG4gICAgfSksXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYUF9FTlRJVFlfU1RPUkFHRV9NSURETEVXQVJFLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGhpc3RvcnlMb2dnZXJNaWRkbGV3YXJlIH0sXG4gICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogaGlzdG9yeVBsdWdpbiB9LFxuICAgIHsgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGNvbXBhcmVQbHVnaW4gfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVmVyc2lvbkhpc3RvcnlNb2R1bGUgeyB9XG4iXX0=","const config = {\n i18n: 'common',\n};\nexport const RootConfig = {\n config,\n module: {\n module: 'common',\n name: 'Common',\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-invoice',\n },\n entities: {},\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxNQUFNLEdBQUc7SUFDYixJQUFJLEVBQUUsUUFBUTtDQUNmLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsTUFBTTtJQUNOLE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLDRCQUE0QixNQUFNLENBQUMsSUFBSSxLQUFLO1FBQ25ELElBQUksRUFBRSwwQkFBMEI7S0FDakM7SUFDRCxRQUFRLEVBQUUsRUFBRTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb25maWcgPSB7XG4gIGkxOG46ICdjb21tb24nLFxufTtcbmV4cG9ydCBjb25zdCBSb290Q29uZmlnID0ge1xuICBjb25maWcsXG4gIG1vZHVsZToge1xuICAgIG1vZHVsZTogJ2NvbW1vbicsXG4gICAgbmFtZTogJ0NvbW1vbicsXG4gICAgdGl0bGU6IGB0KCdtb2R1bGUtbmFtZScsIHtzY29wZTpcIiR7Y29uZmlnLmkxOG59XCJ9KWAsXG4gICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtaW52b2ljZScsXG4gIH0sXG4gIGVudGl0aWVzOiB7fSxcbn07XG4iXX0=","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nexport class AXMMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n this.homePageService = inject(AXPHomePageService);\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 priority: -9,\n text: `t('home',{scope:'common'})`,\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBMkMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVyQyxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUNVLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQTRCdkQsQ0FBQztJQTFCQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQStCO1FBQzNDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1FBRXRELE1BQU0sWUFBWSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBQ0QsRUFBRTtRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQzVELElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDZjtvQkFDRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUNaLElBQUksRUFBRSw0QkFBNEI7b0JBQ2xDLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsb0JBQW9CO29CQUMxQixJQUFJLEVBQUU7b0JBQ0oseUJBQXlCO3FCQUMxQjtpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7SUFFSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBIb21lUGFnZVNlcnZpY2UsIEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcblxuZXhwb3J0IGNsYXNzIEFYTU1lbnVQcm92aWRlciBpbXBsZW1lbnRzIEFYUE1lbnVQcm92aWRlciB7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBwcml2YXRlIGhvbWVQYWdlU2VydmljZSA9IGluamVjdChBWFBIb21lUGFnZVNlcnZpY2UpO1xuXG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNjb3BlID0gUm9vdENvbmZpZy5jb25maWcuaTE4bjtcbiAgICBjb25zdCBtb2R1bGUgPSBSb290Q29uZmlnLm1vZHVsZTtcbiAgICBjb25zdCBhcHBOYW1lID0gdGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZTtcblxuICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2Vzc2lvblNlcnZpY2UuaXNBdXRob3JpemVkJCk7XG4gICAgaWYgKCFpc0F1dGhvcml6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy9cbiAgICBjb25zdCBob21lUGFnZVBhdGggPSB0aGlzLmhvbWVQYWdlU2VydmljZS5nZXRDdXJyZW50KCkucGF0aDtcbiAgICBpZiAoaG9tZVBhZ2VQYXRoKSB7XG4gICAgICBjb250ZXh0LmFkZEl0ZW1zKFtcbiAgICAgICAge1xuICAgICAgICAgIHByaW9yaXR5OiAtOSxcbiAgICAgICAgICB0ZXh0OiBgdCgnaG9tZScse3Njb3BlOidjb21tb24nfSlgLFxuICAgICAgICAgIHBhdGg6IGhvbWVQYWdlUGF0aCxcbiAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZ3JpZC0yJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAvL3JlcXVpcmVkUGVybWlzc2lvbjogJycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cblxuICB9XG59XG4iXX0=","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(`settings.${key}`, { scope: 'general' });\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.1.8\", ngImport: i0, type: AXMSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvc2V0dGluZ3MucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSWhFLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQURyQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTVFLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBRXhELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekgsb0NBQW9DO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNULENBQUM7UUFFRCxrQ0FBa0M7UUFDbEMsbUpBQW1KO1FBQ25KLCtDQUErQztRQUMvQyw0REFBNEQ7UUFDNUQsc0NBQXNDO1FBQ3RDLHlCQUF5QjtRQUN6QiwyQkFBMkI7UUFDM0IsdURBQXVEO1FBQ3ZELGdCQUFnQjtRQUNoQiwwQ0FBMEM7UUFDMUMscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQUMzQixZQUFZO1FBQ1osU0FBUztRQUNULHdFQUF3RTtRQUN4RSxLQUFLO0lBRVAsQ0FBQzs4R0FqQ1Usa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyLCBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGUsIG9iamVjdEtleVZhbHVlVHJhbnNmb3JtcyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWE1Mb2NrU3lzdGVtU2V0dGluZ3MgfSBmcm9tICcuL2ZlYXR1cmVzL2xvY2stc3lzdGVtL3NldHRpbmdzLmtleXMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1TZXR0aW5nUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICBjb25zdCB0cmFucyA9IGFzeW5jIChrZXk6IHN0cmluZykgPT4gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKGBzZXR0aW5ncy4ke2tleX1gLCB7IHNjb3BlOiAnZ2VuZXJhbCcgfSk7XG5cbiAgICAvLyBGaW5kIHRoZSAnR2VuZXJhbCBTZXR0aW5ncycgZ3JvdXBcbiAgICBjb25zdCBncm91cCA9IGNvbnRleHQuZ3JvdXAoJ2dlbmVyYWwnKTtcbiAgICBpZiAoIWdyb3VwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSAnUmVsZWFzZSBOb3Rlcycgc2V0dGluZ1xuICAgIC8vIGdyb3VwLmFkZFNlY3Rpb24oJ2xvY2stc3lzdGVtJywgYXdhaXQgdHJhbnMoJ2dlbmVyYWwubG9jay1zeXN0ZW0ubG9jay50aXRsZScpLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5sb2NrLXN5c3RlbS5sb2NrLmRlc2NyaXB0aW9uJykpLmFkZFNldHRpbmcoe1xuICAgIC8vICAgICBrZXk6IEFYTUxvY2tTeXN0ZW1TZXR0aW5ncy5Mb2NrU3lzdGVtLCAgXG4gICAgLy8gICAgIHRpdGxlOiBhd2FpdCB0cmFucygnZ2VuZXJhbC5sb2NrLXN5c3RlbS5sb2NrLnRpdGxlJyksXG4gICAgLy8gICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudCxcbiAgICAvLyAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgLy8gICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgLy8gICAgIHZhbHVlVHJhbnNmb3Jtczogb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKCdpZCcpLFxuICAgIC8vICAgICB3aWRnZXQ6IHtcbiAgICAvLyAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAvLyAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAvLyAgICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgfSxcbiAgICAvLyAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmxvY2stc3lzdGVtLmxvY2suZGVzY3JpcHRpb24nKSxcbiAgICAvLyB9KVxuXG4gIH1cbn1cbiJdfQ==","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 { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { NgModule } from '@angular/core';\nimport { AXPArchivePluginModule } from './features/archive-plugin';\nimport { AXPCategoryModule } from './features/category-plugin';\nimport { AXPClonePluginModule } from './features/clone-plugin';\nimport { AXPCompareModule } from './features/compare';\nimport { AXPComputedPropertiesModule } from './features/computed-properties/computed-properties.module';\nimport { AXPExtraPropertiesModule } from './features/extra-properties/extra-properties.module';\nimport { AXPGlobalSearchModule } from './features/global-search';\nimport { AXMLockSystemModule } from './features/lock-system/lock-system.module';\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.1.8\", ngImport: i0, type: AXMCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMCommonModule, imports: [AXMLockSystemModule,\n AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPCompareModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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 ], imports: [AXMLockSystemModule,\n AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPCompareModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMCommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXMLockSystemModule,\n AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPCompareModule,\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 }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9jb21tb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xILE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDbkgsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDckgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQW9EekQsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLFlBaER4QixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsZ0JBQWdCO1lBQ2hCLHVCQUF1QjtZQUN2QiwyQkFBMkI7WUFDM0Isb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0QixnQkFBZ0I7K0dBdUNQLGVBQWUsYUFuQ2Y7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsZUFBZTtnQkFDekIsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUVEO2dCQUNFLE9BQU8sRUFBRSwrQkFBK0I7Z0JBQ3hDLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGtDQUFrQztnQkFDM0MsUUFBUSxFQUFFLCtCQUErQjtnQkFDekMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUVEO2dCQUNFLE9BQU8sRUFBRSx1Q0FBdUM7Z0JBQ2hELFFBQVEsRUFBRSxpQ0FBaUM7Z0JBQzNDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsdUNBQXVDO2dCQUNoRCxRQUFRLEVBQUUsa0NBQWtDO2dCQUM1QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsWUE5Q0MsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQix1QkFBdUI7WUFDdkIsMkJBQTJCO1lBQzNCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIsZ0JBQWdCOzsyRkF1Q1AsZUFBZTtrQkFsRDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0Isb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsZUFBZTs0QkFDekIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBRUQ7NEJBQ0UsT0FBTyxFQUFFLCtCQUErQjs0QkFDeEMsUUFBUSxFQUFFLGtCQUFrQjs0QkFDNUIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsUUFBUSxFQUFFLHdCQUF3Qjs0QkFDbEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGtDQUFrQzs0QkFDM0MsUUFBUSxFQUFFLCtCQUErQjs0QkFDekMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBRUQ7NEJBQ0UsT0FBTyxFQUFFLHVDQUF1Qzs0QkFDaEQsUUFBUSxFQUFFLGlDQUFpQzs0QkFDM0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHVDQUF1Qzs0QkFDaEQsUUFBUSxFQUFFLGtDQUFrQzs0QkFDNUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfUEVSTUlTU0lPTl9ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUF9NRU5VX1BST1ZJREVSLCBBWFBfU0VBUkNIX1BST1ZJREVSLCBBWFBfU0VUVElOR19ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQX0VYUFJFU1NJT05fRVZBTFVBVE9SX1NDT1BFX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldHNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dpZGdldHMnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEFyY2hpdmVQbHVnaW5Nb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2FyY2hpdmUtcGx1Z2luJztcbmltcG9ydCB7IEFYUENhdGVnb3J5TW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9jYXRlZ29yeS1wbHVnaW4nO1xuaW1wb3J0IHsgQVhQQ2xvbmVQbHVnaW5Nb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2Nsb25lLXBsdWdpbic7XG5pbXBvcnQgeyBBWFBDb21wYXJlTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9jb21wYXJlJztcbmltcG9ydCB7IEFYUENvbXB1dGVkUHJvcGVydGllc01vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvY29tcHV0ZWQtcHJvcGVydGllcy9jb21wdXRlZC1wcm9wZXJ0aWVzLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFBFeHRyYVByb3BlcnRpZXNNb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2V4dHJhLXByb3BlcnRpZXMvZXh0cmEtcHJvcGVydGllcy5tb2R1bGUnO1xuaW1wb3J0IHsgQVhQR2xvYmFsU2VhcmNoTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoJztcbmltcG9ydCB7IEFYTUxvY2tTeXN0ZW1Nb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2xvY2stc3lzdGVtL2xvY2stc3lzdGVtLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFBEYXRlVGltZUV2YWx1YXRvclNjb3BlUHJvdmlkZXIgfSBmcm9tICcuL2ZlYXR1cmVzL3NoYXJlZC9ldmFsdWF0b3JzL2RhdGV0aW1lLmV2YWx1YXRvci1zY29wZS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBUcmFuc2xhdGVFdmFsdWF0b3JTY29wZVByb3ZpZGVyIH0gZnJvbSAnLi9mZWF0dXJlcy9zaGFyZWQvZXZhbHVhdG9ycy90cmFuc2xhdGUuZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUFZlcnNpb25IaXN0b3J5TW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvdmVyc2lvbi1oaXN0b3J5Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWE1NZW51UHJvdmlkZXIgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciB9IGZyb20gJy4vcGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYTVNlYXJjaENvbW1hbmRQcm92aWRlciB9IGZyb20gJy4vc2VhcmNoLWNvbW1hbmQucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNU2V0dGluZ1Byb3ZpZGVyIH0gZnJvbSAnLi9zZXR0aW5ncy5wcm92aWRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWE1Mb2NrU3lzdGVtTW9kdWxlLFxuICAgIEFYUEV4dHJhUHJvcGVydGllc01vZHVsZSxcbiAgICBBWFBDYXRlZ29yeU1vZHVsZSxcbiAgICBBWFBHbG9iYWxTZWFyY2hNb2R1bGUsXG4gICAgQVhQV2lkZ2V0c01vZHVsZSxcbiAgICBBWFBWZXJzaW9uSGlzdG9yeU1vZHVsZSxcbiAgICBBWFBDb21wdXRlZFByb3BlcnRpZXNNb2R1bGUsXG4gICAgQVhQQ2xvbmVQbHVnaW5Nb2R1bGUsXG4gICAgQVhQQXJjaGl2ZVBsdWdpbk1vZHVsZSxcbiAgICBBWFBDb21wYXJlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX01FTlVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNTWVudVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcblxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNU2V0dGluZ1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfU0VBUkNIX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTVNlYXJjaENvbW1hbmRQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1QZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcblxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBEYXRlVGltZUV2YWx1YXRvclNjb3BlUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBUcmFuc2xhdGVFdmFsdWF0b3JTY29wZVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNQ29tbW9uTW9kdWxlIHsgfVxuIl19","import { Component, ViewEncapsulation, signal, inject, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n// ACoreX Components\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\n// ACoreX Platform\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXPLockService } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/form\";\nimport * as i5 from \"@acorex/components/label\";\nimport * as i6 from \"@acorex/components/select-box\";\nimport * as i7 from \"@acorex/components/text-area\";\nimport * as i8 from \"@acorex/core/translation\";\nimport * as i9 from \"@angular/common\";\nexport class AXPLockPopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n //#endregion\n //#region ---- Signals & Services ----\n this.isBusy = signal(false, ...(ngDevMode ? [{ debugName: \"isBusy\" }] : []));\n this.form = viewChild.required('form');\n this.lockService = inject(AXPLockService);\n this.sessionService = inject(AXPSessionService);\n this.translationService = inject(AXTranslationService);\n //#endregion\n //#region ---- Form Data ----\n this.duration = '1h';\n this.reason = '';\n this.lockDurations = [];\n }\n async ngOnInit() {\n // Load translated duration options\n this.lockDurations = [\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 }\n //#endregion\n //#region ---- UI Handlers ----\n async handleConfirm() {\n if (this.isBusy()) {\n return;\n }\n // Validate form\n const validation = await this.form().validate();\n if (!validation.result) {\n return;\n }\n // Ensure duration is selected\n if (!this.duration) {\n return;\n }\n this.isBusy.set(true);\n try {\n const selectedDuration = this.lockDurations.find(d => d.value === this.duration);\n const expireAt = selectedDuration?.hours\n ? new Date(Date.now() + selectedDuration.hours * 60 * 60 * 1000)\n : undefined; // undefined means infinite\n await this.lockService.lock({\n refId: this.refId,\n refType: this.refType,\n type: 'user',\n date: new Date().toISOString(),\n expireAt: expireAt,\n lockedBy: {\n id: this.sessionService.user?.id ?? 'system',\n type: 'oidc.users',\n },\n });\n // Close and notify success\n this.close({\n isCanceled: false,\n duration: this.duration,\n reason: this.reason\n });\n }\n catch (error) {\n console.error(error);\n // TODO: show error toast if required\n }\n finally {\n this.isBusy.set(false);\n }\n }\n handleCancel() {\n this.close({ isCanceled: true });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPLockPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.8\", type: AXPLockPopupComponent, isStandalone: true, selector: \"axp-lock-popup\", viewQueries: [{ propertyName: \"form\", first: true, predicate: [\"form\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<ax-content *translate=\\\"let t\\\">\\n <div class=\\\"ax-p-6\\\">\\n <ax-form #form>\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4\\\">\\n <!-- Lock Duration Selection -->\\n <ax-form-field class=\\\"ax-col-span-12\\\">\\n <ax-label>{{ t('@lock-system:lock.duration.title') | async }}</ax-label>\\n <ax-select-box\\n [(ngModel)]=\\\"duration\\\"\\n [dataSource]=\\\"lockDurations\\\"\\n [valueField]=\\\"'value'\\\"\\n [textField]=\\\"'text'\\\"\\n name=\\\"duration\\\"\\n class=\\\"ax-w-full\\\"\\n >\\n <ax-validation-rule rule=\\\"required\\\" message=\\\"This field is required\\\"></ax-validation-rule>\\n </ax-select-box>\\n </ax-form-field>\\n\\n <!-- Optional Reason -->\\n <ax-form-field class=\\\"ax-col-span-12\\\">\\n <ax-label>{{ t('@lock-system:lock.reason.title') | async }}</ax-label>\\n <ax-text-area\\n [(ngModel)]=\\\"reason\\\"\\n [placeholder]=\\\"t('@lock-system:lock.reason.placeholder') | async\\\"\\n name=\\\"reason\\\"\\n class=\\\"ax-w-full ax-min-h-20\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-text-area>\\n </ax-form-field>\\n </div>\\n </ax-form>\\n </div>\\n</ax-content>\\n\\n<ax-footer *translate=\\\"let t\\\">\\n <ax-prefix></ax-prefix>\\n <ax-suffix>\\n <ax-button\\n [text]=\\\"t('@lock-system:lock.dialog.cancel') | async\\\"\\n (onClick)=\\\"handleCancel()\\\"\\n [disabled]=\\\"isBusy()\\\"\\n ></ax-button>\\n <ax-button\\n [text]=\\\"t('@lock-system:lock.dialog.confirm') | async\\\"\\n color=\\\"primary\\\"\\n look=\\\"solid\\\"\\n (onClick)=\\\"handleConfirm()\\\"\\n [disabled]=\\\"isBusy()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: \n // ACoreX\n 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: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i4.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i4.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"directive\", type: i4.AXValidationRuleDirective, selector: \"ax-validation-rule\", inputs: [\"rule\", \"options\", \"message\", \"disabled\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i5.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i6.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"ngmodule\", type: AXTextAreaModule }, { kind: \"component\", type: i7.AXTextAreaComponent, selector: \"ax-text-area\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"placeholder\", \"maxLength\", \"look\", \"rows\", \"allowResize\", \"showCounter\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i8.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXValidationModule }, { kind: \"pipe\", type: i9.AsyncPipe, name: \"async\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPLockPopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-lock-popup', standalone: true, imports: [\n // Angular\n CommonModule,\n FormsModule,\n // ACoreX\n AXButtonModule,\n AXDecoratorModule,\n AXFormModule,\n AXLabelModule,\n AXSelectBoxModule,\n AXTextAreaModule,\n AXTranslationModule,\n AXValidationModule,\n ], encapsulation: ViewEncapsulation.None, template: \"<ax-content *translate=\\\"let t\\\">\\n <div class=\\\"ax-p-6\\\">\\n <ax-form #form>\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4\\\">\\n <!-- Lock Duration Selection -->\\n <ax-form-field class=\\\"ax-col-span-12\\\">\\n <ax-label>{{ t('@lock-system:lock.duration.title') | async }}</ax-label>\\n <ax-select-box\\n [(ngModel)]=\\\"duration\\\"\\n [dataSource]=\\\"lockDurations\\\"\\n [valueField]=\\\"'value'\\\"\\n [textField]=\\\"'text'\\\"\\n name=\\\"duration\\\"\\n class=\\\"ax-w-full\\\"\\n >\\n <ax-validation-rule rule=\\\"required\\\" message=\\\"This field is required\\\"></ax-validation-rule>\\n </ax-select-box>\\n </ax-form-field>\\n\\n <!-- Optional Reason -->\\n <ax-form-field class=\\\"ax-col-span-12\\\">\\n <ax-label>{{ t('@lock-system:lock.reason.title') | async }}</ax-label>\\n <ax-text-area\\n [(ngModel)]=\\\"reason\\\"\\n [placeholder]=\\\"t('@lock-system:lock.reason.placeholder') | async\\\"\\n name=\\\"reason\\\"\\n class=\\\"ax-w-full ax-min-h-20\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-text-area>\\n </ax-form-field>\\n </div>\\n </ax-form>\\n </div>\\n</ax-content>\\n\\n<ax-footer *translate=\\\"let t\\\">\\n <ax-prefix></ax-prefix>\\n <ax-suffix>\\n <ax-button\\n [text]=\\\"t('@lock-system:lock.dialog.cancel') | async\\\"\\n (onClick)=\\\"handleCancel()\\\"\\n [disabled]=\\\"isBusy()\\\"\\n ></ax-button>\\n <ax-button\\n [text]=\\\"t('@lock-system:lock.dialog.confirm') | async\\\"\\n color=\\\"primary\\\"\\n look=\\\"solid\\\"\\n (onClick)=\\\"handleConfirm()\\\"\\n [disabled]=\\\"isBusy()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvbG9jay1zeXN0ZW0vbG9jay1wb3B1cC9sb2NrLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9sb2NrLXN5c3RlbS9sb2NrLXBvcHVwL2xvY2stcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBUyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLG9CQUFvQjtBQUNwQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0Qsa0JBQWtCO0FBQ2xCLE9BQU8sRUFBRSxtQkFBbUIsRUFB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O3dCQUNqQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUNyQixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5wdXQsIHNpZ25hbCwgaW5qZWN0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gQUNvcmVYIENvbXBvbmVudHNcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYVGV4dEFyZWFNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1hcmVhJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhWYWxpZGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3ZhbGlkYXRpb24nO1xuXG4vLyBBQ29yZVggUGxhdGZvcm1cbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFBMb2NrU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcblxuaW50ZXJmYWNlIExvY2tEdXJhdGlvbiB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgaG91cnM/OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLWxvY2stcG9wdXAnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvY2stcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xvY2stcG9wdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgLy8gQUNvcmVYXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhGb3JtTW9kdWxlLFxuICAgICAgICBBWExhYmVsTW9kdWxlLFxuICAgICAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICAgICAgQVhUZXh0QXJlYU1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhWYWxpZGF0aW9uTW9kdWxlLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTG9ja1BvcHVwQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIElucHV0cyAgIC0tLS1cblxuICAgIHJlZklkITogc3RyaW5nO1xuICAgIHJlZlR5cGUhOiBzdHJpbmc7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgU2lnbmFscyAmIFNlcnZpY2VzICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQnVzeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvcm0gPSB2aWV3Q2hpbGQucmVxdWlyZWQ8QVhGb3JtQ29tcG9uZW50PignZm9ybScpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEZvcm0gRGF0YSAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBkdXJhdGlvbjogc3RyaW5nIHwgbnVsbCA9ICcxaCc7XG4gICAgcHJvdGVjdGVkIHJlYXNvbjogc3RyaW5nIHwgbnVsbCA9ICcnO1xuXG4gICAgcHJvdGVjdGVkIGxvY2tEdXJhdGlvbnM6IExvY2tEdXJhdGlvbltdID0gW107XG5cbiAgICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gTG9hZCB0cmFuc2xhdGVkIGR1cmF0aW9uIG9wdGlvbnNcbiAgICAgICAgdGhpcy5sb2NrRHVyYXRpb25zID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhbHVlOiAnMWgnLFxuICAgICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAbG9jay1zeXN0ZW06bG9jay5kdXJhdGlvbi5vcHRpb25zLjFoJyksXG4gICAgICAgICAgICAgICAgaG91cnM6IDFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsdWU6ICcxZCcsXG4gICAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmR1cmF0aW9uLm9wdGlvbnMuMWQnKSxcbiAgICAgICAgICAgICAgICBob3VyczogMjRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsdWU6ICdpbmZpbml0ZScsXG4gICAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmR1cmF0aW9uLm9wdGlvbnMuaW5maW5pdGUnKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBVSSBIYW5kbGVycyAgIC0tLS1cblxuICAgIGFzeW5jIGhhbmRsZUNvbmZpcm0oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzQnVzeSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZGF0ZSBmb3JtXG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb24gPSBhd2FpdCB0aGlzLmZvcm0oKS52YWxpZGF0ZSgpO1xuICAgICAgICBpZiAoIXZhbGlkYXRpb24ucmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbnN1cmUgZHVyYXRpb24gaXMgc2VsZWN0ZWRcbiAgICAgICAgaWYgKCF0aGlzLmR1cmF0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzQnVzeS5zZXQodHJ1ZSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRHVyYXRpb24gPSB0aGlzLmxvY2tEdXJhdGlvbnMuZmluZChkID0+IGQudmFsdWUgPT09IHRoaXMuZHVyYXRpb24pO1xuICAgICAgICAgICAgY29uc3QgZXhwaXJlQXQgPSBzZWxlY3RlZER1cmF0aW9uPy5ob3Vyc1xuICAgICAgICAgICAgICAgID8gbmV3IERhdGUoRGF0ZS5ub3coKSArIHNlbGVjdGVkRHVyYXRpb24uaG91cnMgKiA2MCAqIDYwICogMTAwMClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDsgLy8gdW5kZWZpbmVkIG1lYW5zIGluZmluaXRlXG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9ja1NlcnZpY2UubG9jayh7XG4gICAgICAgICAgICAgICAgcmVmSWQ6IHRoaXMucmVmSWQsXG4gICAgICAgICAgICAgICAgcmVmVHlwZTogdGhpcy5yZWZUeXBlLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgICAgICAgICAgICBkYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgZXhwaXJlQXQ6IGV4cGlyZUF0LFxuICAgICAgICAgICAgICAgIGxvY2tlZEJ5OiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLnNlc3Npb25TZXJ2aWNlLnVzZXI/LmlkID8/ICdzeXN0ZW0nLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2lkYy51c2VycycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBDbG9zZSBhbmQgbm90aWZ5IHN1Y2Nlc3NcbiAgICAgICAgICAgIHRoaXMuY2xvc2Uoe1xuICAgICAgICAgICAgICAgIGlzQ2FuY2VsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiB0aGlzLmR1cmF0aW9uLFxuICAgICAgICAgICAgICAgIHJlYXNvbjogdGhpcy5yZWFzb25cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAvLyBUT0RPOiBzaG93IGVycm9yIHRvYXN0IGlmIHJlcXVpcmVkXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLmlzQnVzeS5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQ2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlKHsgaXNDYW5jZWxlZDogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cbn1cbiIsIjxheC1jb250ZW50ICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtcC02XCI+XG4gICAgPGF4LWZvcm0gI2Zvcm0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTRcIj5cbiAgICAgICAgPCEtLSBMb2NrIER1cmF0aW9uIFNlbGVjdGlvbiAtLT5cbiAgICAgICAgPGF4LWZvcm0tZmllbGQgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMlwiPlxuICAgICAgICAgIDxheC1sYWJlbD57eyB0KCdAbG9jay1zeXN0ZW06bG9jay5kdXJhdGlvbi50aXRsZScpIHwgYXN5bmMgfX08L2F4LWxhYmVsPlxuICAgICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImR1cmF0aW9uXCJcbiAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImxvY2tEdXJhdGlvbnNcIlxuICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwiJ3ZhbHVlJ1wiXG4gICAgICAgICAgICBbdGV4dEZpZWxkXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBuYW1lPVwiZHVyYXRpb25cIlxuICAgICAgICAgICAgY2xhc3M9XCJheC13LWZ1bGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgcnVsZT1cInJlcXVpcmVkXCIgbWVzc2FnZT1cIlRoaXMgZmllbGQgaXMgcmVxdWlyZWRcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgIDwvYXgtZm9ybS1maWVsZD5cblxuICAgICAgICA8IS0tIE9wdGlvbmFsIFJlYXNvbiAtLT5cbiAgICAgICAgPGF4LWZvcm0tZmllbGQgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMlwiPlxuICAgICAgICAgIDxheC1sYWJlbD57eyB0KCdAbG9jay1zeXN0ZW06bG9jay5yZWFzb24udGl0bGUnKSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgICA8YXgtdGV4dC1hcmVhXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlYXNvblwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidCgnQGxvY2stc3lzdGVtOmxvY2sucmVhc29uLnBsYWNlaG9sZGVyJykgfCBhc3luY1wiXG4gICAgICAgICAgICBuYW1lPVwicmVhc29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXgtdy1mdWxsIGF4LW1pbi1oLTIwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgICAgICAgIDwvYXgtdGV4dC1hcmVhPlxuICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2F4LWZvcm0+XG4gIDwvZGl2PlxuPC9heC1jb250ZW50PlxuXG48YXgtZm9vdGVyICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICA8YXgtcHJlZml4PjwvYXgtcHJlZml4PlxuICA8YXgtc3VmZml4PlxuICAgIDxheC1idXR0b25cbiAgICAgIFt0ZXh0XT1cInQoJ0Bsb2NrLXN5c3RlbTpsb2NrLmRpYWxvZy5jYW5jZWwnKSB8IGFzeW5jXCJcbiAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNhbmNlbCgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0J1c3koKVwiXG4gICAgPjwvYXgtYnV0dG9uPlxuICAgIDxheC1idXR0b25cbiAgICAgIFt0ZXh0XT1cInQoJ0Bsb2NrLXN5c3RlbTpsb2NrLmRpYWxvZy5jb25maXJtJykgfCBhc3luY1wiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgbG9vaz1cInNvbGlkXCJcbiAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNvbmZpcm0oKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXNCdXN5KClcIlxuICAgID5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgPC9heC1zdWZmaXg+XG48L2F4LWZvb3Rlcj5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvYWNvcmV4LW1vZHVsZXMtY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i4","i8","i9"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-common.mjs","sources":["../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/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/compare/compare-popup.component.js","../tmp-esm2022/common/lib/features/compare/workflows/compare.workflow.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/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/lock-system/lock-guard.middleware.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/lib/features/lock-system/lock-evaluator-scope.provider.js","../tmp-esm2022/common/lib/features/lock-system/lock.plugin.js","../tmp-esm2022/common/lib/features/lock-system/lock-system.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-logger.middleware.js","../tmp-esm2022/common/lib/features/version-history/history.plugin.js","../tmp-esm2022/common/lib/features/version-history/compare.plugin.js","../tmp-esm2022/common/lib/features/version-history/version-history.module.js","../tmp-esm2022/common/lib/const.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/lock-popup/lock-popup.component.js","../tmp-esm2022/common/acorex-modules-common.js"],"sourcesContent":["export const AXPWidgetsList = {\n Editors: {\n DocumentAttachment: 'document-attachment-editor',\n TagBox: 'tagable-editor',\n CheckBox: 'checkbox-editor',\n ColorBox: 'color-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 EmailBox: 'email-editor',\n PhoneBox: 'phone-editor',\n ContactBox: 'contact-editor',\n LinkBox: 'link-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 },\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy1uYW1lcy1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL3dpZGdldHMtbmFtZXMtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsT0FBTyxFQUFFO1FBQ1Asa0JBQWtCLEVBQUUsNEJBQTRCO1FBQ2hELE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixRQUFRLEVBQUUsY0FBYztRQUN4QixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLFlBQVksRUFBRSxtQkFBbUI7UUFDakMsU0FBUyxFQUFFLGVBQWU7UUFDMUIsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxXQUFXLEVBQUUsaUJBQWlCO1FBQzlCLFlBQVksRUFBRSxzQkFBc0I7UUFDcEMsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixTQUFTLEVBQUUsZUFBZTtRQUMxQixhQUFhLEVBQUUsdUJBQXVCO1FBQ3RDLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLGVBQWUsRUFBRSxjQUFjO1FBQy9CLFlBQVksRUFBRSxlQUFlO1FBQzdCLGlCQUFpQixFQUFFLHFCQUFxQjtRQUN4QyxNQUFNLEVBQUUsS0FBSztRQUNiLFlBQVksRUFBRSxTQUFTO1FBQ3ZCLFlBQVksRUFBRSxXQUFXO1FBQ3pCLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLFVBQVUsRUFBRSxnQkFBZ0I7UUFDNUIsT0FBTyxFQUFFLGFBQWE7UUFDdEIsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixXQUFXLEVBQUUscUJBQXFCO1FBQ2xDLFlBQVksRUFBRSxlQUFlO1FBQzdCLGdCQUFnQixFQUFFLG1CQUFtQjtRQUNyQyxZQUFZLEVBQUUsc0JBQXNCO1FB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OiB7XG4gICAgRG9jdW1lbnRBdHRhY2htZW50OiAnZG9jdW1lbnQtYXR0YWNobWVudC1lZGl0b3InLFxuICAgIFRhZ0JveDogJ3RhZ2FibGUtZWRpdG9yJyxcbiAgICBDaGVja0JveDogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgQ29sb3JCb3g6ICdjb2xvci1lZGl0b3InLFxuICAgIERhdGVUaW1lQm94OiAnZGF0ZS10aW1lLWVkaXRvcicsXG4gICAgRGlyZWN0aW9uOiAnZGlyZWN0aW9uJyxcbiAgICBMYXJnZVRleHRCb3g6ICdsYXJnZS10ZXh0LWVkaXRvcicsXG4gICAgTnVtYmVyQm94OiAnbnVtYmVyLWVkaXRvcicsXG4gICAgVW5pdFZhbHVlQm94OiAnbnVtYmVyLXVuaXQtZWRpdG9yJyxcbiAgICBQYXNzd29yZEJveDogJ3Bhc3N3b3JkLWVkaXRvcicsXG4gICAgUXVlcnlCdWlsZGVyOiAncXVlcnktYnVpbGRlci1lZGl0b3InLFxuICAgIFJpY2hUZXh0OiAncmljaC10ZXh0LWVkaXRvcicsXG4gICAgU2VsZWN0Qm94OiAnc2VsZWN0LWVkaXRvcicsXG4gICAgU2VsZWN0aW9uTGlzdDogJ3NlbGVjdGlvbi1saXN0LWVkaXRvcicsXG4gICAgVGV4dEJveDogJ3RleHQtZWRpdG9yJyxcbiAgICBJbmxpbmVEYXRhVGFibGU6ICd0YWJsZS1lZGl0b3InLFxuICAgIFRvZ2dsZVN3aXRjaDogJ3RvZ2dsZS1lZGl0b3InLFxuICAgIEZpbGVUeXBlRXh0ZW5zaW9uOiAnZmlsZS10eXBlLWV4dGVuc2lvbicsXG4gICAgTWFwQm94OiAnbWFwJyxcbiAgICBNZWRpYUdhbGxlcnk6ICdnYWxsZXJ5JyxcbiAgICBTaWduYXR1cmVCb3g6ICdzaWduYXR1cmUnLFxuICAgIExvb2t1cEJveDogJ2xvb2t1cC1lZGl0b3InLFxuICAgIEVtYWlsQm94OiAnZW1haWwtZWRpdG9yJyxcbiAgICBQaG9uZUJveDogJ3Bob25lLWVkaXRvcicsXG4gICAgQ29udGFjdEJveDogJ2NvbnRhY3QtZWRpdG9yJyxcbiAgICBMaW5rQm94OiAnbGluay1lZGl0b3InLFxuICAgIE1ldGFEYXRhQm94OiAnbWV0YS1kYXRhLWVkaXRvcicsXG4gICAgVGVtcGxhdGVCb3g6ICd0ZW1wbGF0ZS1ib3gtZWRpdG9yJyxcbiAgICBUaW1lRHVyYXRpb246ICd0aW1lLWR1cmF0aW9uJyxcbiAgICBEb2N1bWVudFVwbG9hZGVyOiAnZG9jdW1lbnQtdXBsb2FkZXInLFxuICAgIE1ldGFTZWxlY3RvcjogJ21ldGEtc2VsZWN0b3ItZWRpdG9yJyxcbiAgICBNZXRhRGF0YUZvcm06ICdtZXRhLWRhdGEtZm9ybS1lZGl0b3InLFxuICAgIENvbHVtbkZpbHRlclNlbGVjdG9yOiAnY29sdW1uLWZpbHRlci1zZWxlY3Rvci1lZGl0b3InLFxuICAgIERhdGFMaXN0RmlsdGVyOiAnZGF0YS1saXN0LWZpbHRlci1lZGl0b3InLFxuICB9LFxuICBMYXlvdXRzOiB7XG4gICAgQmxvY2tMYXlvdXQ6ICdibG9jay1sYXlvdXQnLFxuICAgIFJlcGVhdGVyTGF5b3V0OiAncmVwZWF0ZXItbGF5b3V0JyxcbiAgICBUZXh0QmxvY2tMYXlvdXQ6ICd0ZXh0LWJsb2NrLWxheW91dCcsXG4gICAgRm9ybUZpZWxkOiAnZm9ybS1maWVsZCcsXG4gICAgUGFuZWxMYXlvdXQ6ICdwYW5lbC1sYXlvdXQnLFxuICAgIFBhZ2VMYXlvdXQ6ICdwYWdlLWxheW91dCcsXG4gICAgRG9jdW1lbnRMYXlvdXQ6ICdkb2N1bWVudC1sYXlvdXQnLFxuICAgIEdyaWRSb3dMYXlvdXQ6ICdncmlkLXJvdy1sYXlvdXQnLFxuICAgIEdyaWRJdGVtTGF5b3V0OiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgR3JpZExheW91dDogJ2dyaWQtbGF5b3V0JyxcbiAgICBGbGV4TGF5b3V0OiAnZmxleC1sYXlvdXQnLFxuICAgIEZsZXhJdGVtTGF5b3V0OiAnZmxleC1pdGVtLWxheW91dCcsXG4gICAgQWR2YW5jZWRHcmlkTGF5b3V0OiAnYWR2YW5jZWQtZ3JpZC1sYXlvdXQnLFxuICAgIEFkdmFuY2VkR3JpZEl0ZW1MYXlvdXQ6ICdhZHZhbmNlZC1ncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICBGaWVsZHNldExheW91dDogJ2ZpZWxkc2V0LWxheW91dCcsXG4gICAgVGFic2V0TGF5b3V0OiAndGFic2V0LWxheW91dCcsXG4gICAgVGFic2V0SXRlbUxheW91dDogJ3RhYnNldC1pdGVtJyxcbiAgfSxcbiAgQWN0aW9uczoge1xuICAgIEFjdGlvbkJ1dHRvbjogJ2J1dHRvbi1hY3Rpb24nLFxuICB9LFxuICBBZHZhbmNlZDoge1xuICAgIFFSQ29kZTogJ3FyY29kZScsXG4gICAgU2lnbmF0dXJlOiAnc2lnbmF0dXJlJyxcbiAgICBNYXA6ICdtYXAnLFxuICAgIEdhbGxlcnk6ICdnYWxsZXJ5JyxcbiAgICBJbWFnZTogJ2ltYWdlJyxcbiAgICBJbWFnZU1hcmtlcjogJ2ltYWdlLW1hcmtlcicsXG4gICAgQXZhdGFyOiAnYXZhdGFyJyxcbiAgICBGaWxlVXBsb2FkZXI6ICdmaWxlLXVwbG9hZGVyJyxcbiAgICBMaXN0OiAnbGlzdCcsXG4gICAgTGlzdFRvb2xiYXI6ICdsaXN0LXRvb2xiYXInLFxuICAgIENyb25Kb2I6ICdjcm9uLWpvYicsXG4gICAgRXh0cmFQcm9wZXJ0aWVzOiAnZXh0cmEtcHJvcGVydGllcycsXG4gICAgRXh0cmFQcm9wZXJ0aWVzVmFsdWVzOiAnZXh0cmEtcHJvcGVydGllcy12YWx1ZXMnLFxuICAgIEV4dHJhUHJvcGVydGllc1NjaGVtYTogJ2V4dHJhLXByb3BlcnRpZXMtc2NoZW1hJyxcbiAgfSxcbiAgVGVtcGxhdGVzOiB7XG4gICAgRGVzaWduZXI6ICd0ZW1wbGF0ZS1kZXNpZ25lcicsXG4gICAgVGVtcGxhdGU6ICd0ZW1wbGF0ZScsXG4gIH0sXG4gIC8vIEZpbHRlcnM6IHtcbiAgLy8gICBTdHJpbmdGaWx0ZXI6ICdzdHJpbmctZmlsdGVyJyxcbiAgLy8gICBTZWxlY3RGaWx0ZXI6ICdzZWxlY3QtZmlsdGVyJyxcbiAgLy8gICBOdW1iZXJGaWx0ZXI6ICdudW1iZXItZmlsdGVyJyxcbiAgLy8gICBEYXRlVGltZUZpbHRlcjogJ2RhdGV0aW1lLWZpbHRlcicsXG4gIC8vICAgQm9vbGVhbkZpbHRlcjogJ2Jvb2xlYW4tZmlsdGVyJyxcbiAgLy8gICBMb29rdXBGaWx0ZXI6ICdsb29rdXAtZmlsdGVyJyxcbiAgLy8gfSxcbiAgLy8gUHJvcGVydHlFZGl0b3JzOiB7XG4gIC8vICAgU3BhY2luZzogJ3NwYWNpbmcnLFxuICAvLyAgIEdyaWRPcHRpb25zOiAnZ3JpZC1vcHRpb25zJyxcbiAgLy8gICBHcmlkSXRlbU9wdGlvbnM6ICdncmlkLWl0ZW0tb3B0aW9ucycsXG4gIC8vICAgRmxleE9wdGlvbnM6ICdmbGV4LW9wdGlvbnMnLFxuICAvLyAgIEZsZXhJdGVtT3B0aW9uczogJ2ZsZXgtaXRlbS1vcHRpb25zJyxcbiAgLy8gICBEaXJlY3Rpb246ICdkaXJlY3Rpb24nLFxuICAvLyAgIEJvcmRlcjogJ2JvcmRlcicsXG4gIC8vICAgQWR2YW5jZWRHcmlkT3B0aW9uczogJ2FkdmFuY2VkLWdyaWQtb3B0aW9ucycsXG4gIC8vIH0sXG4gIC8vIFZhbGlkYXRpb25zOiB7XG4gIC8vICAgUmVxdWlyZWRWYWxpZGF0aW9uOiAncmVxdWlyZWQtdmFsaWRhdGlvbicsXG4gIC8vICAgUmVndWxhckV4cHJlc3Npb25WYWxpZGF0aW9uOiAncmVndWxhci1leHByZXNzaW9uLXZhbGlkYXRpb24nLFxuICAvLyAgIE1pbkxlbmd0aFZhbGlkYXRpb246ICdtaW4tbGVuZ3RoLXZhbGlkYXRpb24nLFxuICAvLyAgIE1heExlbmd0aFZhbGlkYXRpb246ICdtYXgtbGVuZ3RoLXZhbGlkYXRpb24nLFxuICAvLyAgIExlc3NUaGFuVmFsaWRhdGlvbjogJ2xlc3MtdGhhbi12YWxpZGF0aW9uJyxcbiAgLy8gICBHcmVhdGVyVGhhblZhbGlkYXRpb246ICdncmVhdGVyLXRoYW4tdmFsaWRhdGlvbicsXG4gIC8vICAgRXF1YWxWYWxpZGF0aW9uOiAnZXF1YWwtdmFsaWRhdGlvbicsXG4gIC8vICAgQ2FsbGJhY2tWYWxpZGF0aW9uOiAnY2FsbGJhY2stdmFsaWRhdGlvbicsXG4gIC8vICAgQmV0d2VlblZhbGlkYXRpb246ICdiZXR3ZWVuLXZhbGlkYXRpb24nLFxuICAvLyB9LFxuICBFbnRpdHk6IHtcbiAgICBFbnRpdHlMaXN0OiAnZW50aXR5LWxpc3QnLFxuICAgIEVudGl0eVJlZmVyZW5jZTogJ2VudGl0eS1yZWZlcmVuY2UnLFxuICAgIFdpZGdldFNlbGVjdG9yOiAnd2lkZ2V0LXNlbGVjdG9yJyxcbiAgfSxcbiAgVGhlbWU6IHtcbiAgICBUaGVtZUNvbG9yQ2hvb3NlcjogJ3RoZW1lLWNvbG9yLWNob29zZXInLFxuICAgIFRoZW1lUGFsZXR0ZUNob29zZXI6ICd0aGVtZS1wYWxldHRlLWNob29zZXInLFxuICAgIC8vIFRoZW1lTW9kZUNob29zZXI6ICd0aGVtZS1tb2RlLWNob29zZXInLFxuICAgIEljb25DaG9vc2VyOiAnaWNvbi1jaG9vc2VyJyxcbiAgICBGb250U2l6ZUNob29zZXI6ICdmb250LXNpemUtY2hvb3NlcicsXG4gICAgRm9udFN0eWxlQ2hvb3NlcjogJ2ZvbnQtc3R5bGUtY2hvb3NlcicsXG4gICAgLy8gTWVudU9yaWVudGF0aW9uQ2hvb3NlcjogJ21lbnUtb3JpZW50YXRpb24tY2hvb3NlcicsXG4gIH0sXG4gIC8vIERhc2hib2FyZDoge1xuICAvLyAgIFdlYXRoZXI6ICd3ZWF0aGVyJyxcbiAgLy8gICBTdGlja3lOb3RlOiAnc3RpY2t5LW5vdGUnLFxuICAvLyAgIExpbmVDaGFydDogJ2xpbmUtY2hhcnQnLFxuICAvLyAgIEJhckNoYXJ0OiAnYmFyLWNoYXJ0JyxcbiAgLy8gICBEb251dENoYXJ0OiAnZG9udXQtY2hhcnQnLFxuICAvLyAgIEdhdWdlQ2hhcnQ6ICdnYXVnZS1jaGFydCcsXG4gIC8vICAgQW5hbG9nQ2xvY2s6ICdhbmFsb2ctY2xvY2snLFxuICAvLyAgIENsb2NrQ2FsZW5kYXI6ICdjbG9jay1jYWxlbmRhcicsXG4gIC8vICAgRGFzaGJvYXJkU2hvcnRjdXQ6ICdkYXNoYm9hcmQtc2hvcnRjdXQnLFxuICAvLyAgIFRhc2tCb2FyZDogJ3Rhc2stYm9hcmQnLFxuICAvLyAgIE15Tm90aWZpY2F0aW9uRGFzaGJvYXJkOiAnbXktbm90aWZpY2F0aW9uLWRhc2hib2FyZCcsXG4gIC8vIH0sXG4gIC8vIEZlYXR1cmVzOiB7XG4gIC8vICAgQ29tbWVudDogJ2NvbW1lbnQnLFxuICAvLyAgIFBlcm1pc3Npb25zOiAncGVybWlzc2lvbnMnLFxuICAvLyB9LFxufTtcbiJdfQ==","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.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.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.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.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvYXJjaGl2ZS1wbHVnaW4vYXJjaGl2ZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCO0lBQ2hELElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLCtDQUErQztRQUUvQywrQkFBK0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBUyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENB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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb24sIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgY3JlYXRlUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1uYW1lcy1saXN0JztcblxuZXhwb3J0IGNvbnN0IGFyY2hpdmVQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnYXJjaGl2ZScsXG4gICAgb3JkZXI6IDY1LFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBBZGQgaXNBcmNoaXZlZCBQcm9wZXJ0eSAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgc2V0dGluZ3MgZ3JvdXAgZXhpc3RzXG4gICAgICAgIGNvbnN0IGdyb3VwSWQgPSAnc2V0dGluZ3MnO1xuICAgICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgICAgaWYgKCFncm91cHMuc29tZSgoZzogYW55KSA9PiBnLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5zZXR0aW5ncycgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIGlzQXJjaGl2ZWQgcHJvcGVydHkgaWYgaXQgZG9lc24ndCBleGlzdFxuICAgICAgICBjb25zdCBwcm9wcyA9IGN0eC5wcm9wZXJ0aWVzLmxpc3QoKTtcbiAgICAgICAgaWYgKCFwcm9wcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gJ2lzQXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgY3R4LnByb3BlcnRpZXMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNBcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pcy1hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgZ3JvdXBJZCxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlRvZ2dsZVN3aXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGZhbHNlIChub3QgYXJjaGl2ZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnVseVRleHQ6ICdAZ2VuZXJhbDp0ZXJtcy5hcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmFsc3lUZXh0OiAnQGdlbmVyYWw6dGVybXMuYWN0aXZlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWdhdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsVmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25zOiBbXSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIGlzQXJjaGl2ZWQgdG8gY29sdW1ucyBmb3IgbGlzdCB2aWV3XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBjdHguY29sdW1ucy5saXN0KCkgPz8gW107XG4gICAgICAgIGlmICghY29sdW1ucy5zb21lKChjOiBhbnkpID0+IGMubmFtZSA9PT0gJ2lzQXJjaGl2ZWQnKSkge1xuICAgICAgICAgICAgY3R4LmNvbHVtbnMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNBcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5pcy1hY3RpdmUnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgQWRkIEFyY2hpdmUgQWN0aW9ucyAgIC0tLS1cblxuICAgICAgICBjdHguaW50ZXJmYWNlcy51cGRhdGUoKGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFyY2hpdmVDbWROYW1lID0gJ2FyY2hpdmUtZW50aXR5JztcbiAgICAgICAgICAgIGNvbnN0IHJlc3RvcmVBcmNoaXZlQ21kTmFtZSA9ICdyZXN0b3JlLWFyY2hpdmUtZW50aXR5JztcbiAgICAgICAgICAgIGNvbnN0IGJ1bGtBcmNoaXZlQ21kTmFtZSA9ICdidWxrLWFyY2hpdmUtZW50aXR5JztcbiAgICAgICAgICAgIGNvbnN0IGJ1bGtSZXN0b3JlQXJjaGl2ZUNtZE5hbWUgPSAnYnVsay1yZXN0b3JlLWFyY2hpdmUtZW50aXR5JztcblxuICAgICAgICAgICAgLy8gQWRkIGFyY2hpdmUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgY29uc3QgbGlzdEFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlci5saXN0LmFjdGlvbnMgYXMgQVhQRW50aXR5QWN0aW9uW107XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgYXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5hcmNoaXZlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYXJjaGl2ZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdhcmNoaXZlJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGB7eyBjb250ZXh0LmV2YWwoXCJpc0FyY2hpdmVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIHJlc3RvcmUgYXJjaGl2ZSBhY3Rpb24gdG8gbGlzdCB2aWV3XG4gICAgICAgICAgICBpZiAoIWFjdGlvbkV4aXN0cyhsaXN0QWN0aW9ucywgcmVzdG9yZUFyY2hpdmVDbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIGxpc3RBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMucmVzdG9yZS1hcmNoaXZlLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVzdG9yZUFyY2hpdmVDbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAndXBkYXRlJyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGB7eyAhY29udGV4dC5ldmFsKFwiaXNBcmNoaXZlZFwiKSB9fWAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFkZCBidWxrIGFyY2hpdmUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGJ1bGtBcmNoaXZlQ21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstYXJjaGl2ZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGJ1bGtBcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FyY2hpdmUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgYnVsayByZXN0b3JlIGFyY2hpdmUgYWN0aW9uIHRvIGxpc3Qgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMobGlzdEFjdGlvbnMsIGJ1bGtSZXN0b3JlQXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdEFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5idWxrLXJlc3RvcmUtYXJjaGl2ZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGJ1bGtSZXN0b3JlQXJjaGl2ZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgYXJjaGl2ZSBhY3Rpb24gdG8gc2luZ2xlIHZpZXdcbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgYXJjaGl2ZUNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgc2luZ2xlQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmFyY2hpdmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBhcmNoaXZlQ21kTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FyY2hpdmUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7IGNvbnRleHQuZXZhbChcImlzQXJjaGl2ZWRcIikgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgcmVzdG9yZSBhcmNoaXZlIGFjdGlvbiB0byBzaW5nbGUgdmlld1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgcmVzdG9yZUFyY2hpdmVDbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIHNpbmdsZUFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5yZXN0b3JlLWFyY2hpdmUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXN0b3JlQXJjaGl2ZUNtZE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmSWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpZFwiKSB9fScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZTogYCR7Y3R4LmVudGl0eS5tb2R1bGV9LiR7Y3R4LmVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogYHt7ICFjb250ZXh0LmV2YWwoXCJpc0FyY2hpdmVkXCIpIH19YCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIFVwZGF0ZSBJbnRlcmZhY2UgTGF5b3V0cyAgIC0tLS1cblxuICAgICAgICAvLyBFbnN1cmUgdXBkYXRlIHZpZXcgaW5jbHVkZXMgaXNBcmNoaXZlZFxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIubW9kaWZ5LnVwZGF0ZSgodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gdXBkYXRlID8/IHsgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9O1xuICAgICAgICAgICAgbmV4dC5zZWN0aW9ucyA9IG5leHQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnByb3BlcnRpZXMuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09ICdpc0FyY2hpdmVkJykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnByb3BlcnRpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0FyY2hpdmVkJyxcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDkwIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBFbnN1cmUgc2luZ2xlIHZpZXcgaW5jbHVkZXMgaXNBcmNoaXZlZFxuICAgICAgICBjdHguaW50ZXJmYWNlcy5tYXN0ZXIuc2luZ2xlLnVwZGF0ZSgoc2luZ2xlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gc2luZ2xlID8/IHsgdGl0bGU6IGN0eC5lbnRpdHkudGl0bGUsIHNlY3Rpb25zOiBbXSwgcHJvcGVydGllczogW10gfTtcbiAgICAgICAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xuICAgICAgICAgICAgaWYgKCFuZXh0LnNlY3Rpb25zLnNvbWUoKHM6IGFueSkgPT4gcy5pZCA9PT0gZ3JvdXBJZCkpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnNlY3Rpb25zLnB1c2goeyBpZDogZ3JvdXBJZCwgb3JkZXI6IDE1MCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHQucHJvcGVydGllcyA9IG5leHQucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgICAgIGlmICghbmV4dC5wcm9wZXJ0aWVzLnNvbWUoKHA6IGFueSkgPT4gcC5uYW1lID09PSAnaXNBcmNoaXZlZCcpKSB7XG4gICAgICAgICAgICAgICAgbmV4dC5wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaXNBcmNoaXZlZCcsXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiA5MCB9IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWRkIGFyY2hpdmUgdmlldyB0byBzaG93IG9ubHkgYXJjaGl2ZWQgaXRlbXNcbiAgICAgICAgY3R4LmludGVyZmFjZXMubWFzdGVyLmxpc3QudXBkYXRlKChsaXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gbGlzdCA/PyB7IGFjdGlvbnM6IFtdLCB2aWV3czogW10gfTtcbiAgICAgICAgICAgIG5leHQudmlld3MgPSBuZXh0LnZpZXdzID8/IFtdO1xuXG4gICAgICAgICAgICAvLyBDaGVjayBpZiBhcmNoaXZlIHZpZXcgYWxyZWFkeSBleGlzdHNcbiAgICAgICAgICAgIGlmICghbmV4dC52aWV3cy5zb21lKCh2OiBhbnkpID0+IHYubmFtZSA9PT0gJ2FyY2hpdmVkJykpIHtcbiAgICAgICAgICAgICAgICBuZXh0LnZpZXdzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZVF1ZXJ5VmlldygnYXJjaGl2ZWQnLCAnQGdlbmVyYWw6dGVybXMuYXJjaGl2ZWQnLCBmYWxzZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lzQXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRkZW46IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnYXJjaGl2ZWRBdCcsIGRpcjogJ2Rlc2MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBkaXI6ICdhc2MnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyNlbmRyZWdpb25cbiAgICB9LFxufTtcbiJdfQ==","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.1.8\", ngImport: i0, type: AXPEntityArchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityArchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityArchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityArchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityUnarchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityUnarchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityUnarchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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 selectedIds = context.getVariable('selectedIds') || [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and selectedIds');\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.1.8\", ngImport: i0, type: AXPEntityBulkArchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityBulkArchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityBulkArchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1hcmNoaXZlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1hcmNoaXZlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsbUJBQW1CLENBQ3pELHdCQUF3QixDQUMzQixDQUFDO0FBR0YsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0E4RzdEO0lBNUdHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FB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RSxzQkFBc0I7aUJBQ3JDO2FBQ0o7U0FDSjtRQUNELHNCQUFzQixFQUFFO1lBQ3BCLE1BQU0sRUFBRSxtQ0FBbUM7U0FDOUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWZyZXNoRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUJ1bGtBcmNoaXZlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdOyBtZXRhPzogYW55IH0+KFxuICAgICdbRW50aXR5XSBCdWxrIEFyY2hpdmVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlCdWxrQXJjaGl2ZUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdGVyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGxvYWRpbmdEaWFsb2cgPSBpbmplY3QoQVhMb2FkaW5nRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVmVHlwZSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmdbXT4oJ3NlbGVjdGVkSWRzJykgfHwgW107XG5cbiAgICAgICAgaWYgKCFyZWZUeXBlIHx8IHNlbGVjdGVkSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIHBhcmFtZXRlcnM6IHJlZlR5cGUgYW5kIHNlbGVjdGVkSWRzJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSByZWZUeXBlLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgIC8vIFNob3cgY29uZmlybWF0aW9uIGRpYWxvZ1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybShcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmJ1bGstYXJjaGl2ZS5jb25maXJtLnRpdGxlJyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWFyY2hpdmUuY29uZmlybS5tZXNzYWdlJywge1xuICAgICAgICAgICAgICAgIHBhcmFtczogeyBjb3VudDogc2VsZWN0ZWRJZHMubGVuZ3RoIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLWFyY2hpdmUuY29uZmlybS5wcm9jZXNzaW5nJyksXG4gICAgICAgICAgICBtb2RlOiAnaW5kZXRlcm1pbmF0ZScsXG4gICAgICAgICAgICBzdGF0dXM6IGBBcmNoaXZpbmcgJHtzZWxlY3RlZElkcy5sZW5ndGh9IGl0ZW1zLi4uYCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlZElkczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGZhaWxlZElkczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICAgICAgLy8gUHJvY2VzcyBlYWNoIHNlbGVjdGVkIGVudGl0eVxuICAgICAgICAgICAgZm9yIChjb25zdCBpZCBvZiBzZWxlY3RlZElkcykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBlbnRpdHkgZGF0YVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0YSA9IGF3YWl0IHRoaXMuZ2V0RW50aXR5RGF0YShyZWZUeXBlLCBpZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gUHJlcGFyZSBhcmNoaXZlIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJjaGl2ZURhdGEgPSB0aGlzLnByZXBhcmVBcmNoaXZlRGF0YShjdXJyZW50RGF0YSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBlbnRpdHkgdG8gbWFyayBpdCBhcyBhcmNoaXZlZFxuICAgICAgICAgICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcz8udXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVFeGVjID0gZW50aXR5RGVmaW5pdGlvbi5jb21tYW5kcy51cGRhdGUuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUV4ZWMoYXJjaGl2ZURhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFpbGVkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGFyY2hpdmUgZW50aXR5ICR7aWR9OmAsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Byb2Nlc3NlZElkcycsIHByb2Nlc3NlZElkcyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnZmFpbGVkSWRzJywgZmFpbGVkSWRzKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdpc0NhbmNlbGVkJywgZmFsc2UpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3RvdGFsUHJvY2Vzc2VkJywgcHJvY2Vzc2VkSWRzLmxlbmd0aCk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgndG90YWxGYWlsZWQnLCBmYWlsZWRJZHMubGVuZ3RoKTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQnVsayBhcmNoaXZlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZUFyY2hpdmVEYXRhKGN1cnJlbnREYXRhOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCBhcmNoaXZlRGF0YSA9IHsgLi4uY3VycmVudERhdGEgfTtcblxuICAgICAgICAvLyBTZXQgdGhlIGFyY2hpdmVkIGZsYWdcbiAgICAgICAgYXJjaGl2ZURhdGEuaXNBcmNoaXZlZCA9IHRydWU7XG5cbiAgICAgICAgLy8gT3B0aW9uYWxseSBhZGQgYXJjaGl2ZSB0aW1lc3RhbXBcbiAgICAgICAgYXJjaGl2ZURhdGEuYXJjaGl2ZWRBdCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIGFyY2hpdmVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtBcmNoaXZlU3VjY2Vzc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3QgcHJvY2Vzc2VkSWRzID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nW10+KCdwcm9jZXNzZWRJZHMnKSB8fCBbXTtcbiAgICAgICAgY29uc3QgZmFpbGVkSWRzID0gY29udGV4dC5nZXRPdXRwdXQ8c3RyaW5nW10+KCdmYWlsZWRJZHMnKSB8fCBbXTtcbiAgICAgICAgY29uc3QgdG90YWxQcm9jZXNzZWQgPSBjb250ZXh0LmdldE91dHB1dDxudW1iZXI+KCd0b3RhbFByb2Nlc3NlZCcpIHx8IDA7XG4gICAgICAgIGNvbnN0IHRvdGFsRmFpbGVkID0gY29udGV4dC5nZXRPdXRwdXQ8bnVtYmVyPigndG90YWxGYWlsZWQnKSB8fCAwO1xuXG4gICAgICAgIC8vIERpc3BhdGNoIGJ1bGsgYXJjaGl2ZSBldmVudFxuICAgICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgICAgQVhQRW50aXR5QnVsa0FyY2hpdmVkRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBpZHM6IHByb2Nlc3NlZElkcyxcbiAgICAgICAgICAgICAgICBtZXRhOiB7IGZhaWxlZElkcywgdG90YWxQcm9jZXNzZWQsIHRvdGFsRmFpbGVkIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhOiB7IHJlZnJlc2hUeXBlOiAnYnVsay1hcmNoaXZlJyB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBCdWxrQXJjaGl2ZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ2J1bGstYXJjaGl2ZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdidWxrLWFyY2hpdmUtZW50aXR5Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQRW50aXR5QnVsa0FyY2hpdmVBY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwiaXNDYW5jZWxlZFwiKSA9PSBmYWxzZScgfV0sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdzaG93LXN1Y2Nlc3MtdG9hc3QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnc2hvdy1zdWNjZXNzLXRvYXN0Jzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LWJ1bGstYXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd3b3JrZmxvdy5lbnRpdHktYnVsay1hcmNoaXZlZC1ib2R5JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnYnVsay1hcmNoaXZlLXN1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAnYnVsay1hcmNoaXZlLXN1Y2Nlc3MnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrQXJjaGl2ZVN1Y2Nlc3NBY3Rpb24nLFxuICAgICAgICB9LFxuICAgIH0sXG59O1xuIl19","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 selectedIds = context.getVariable('selectedIds') || [];\n if (!refType || selectedIds.length === 0) {\n throw new Error('Missing required parameters: refType and selectedIds');\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.1.8\", ngImport: i0, type: AXPEntityBulkUnarchiveAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityBulkUnarchiveAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityBulkUnarchiveSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1yZXN0b3JlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9hcmNoaXZlLXBsdWdpbi93b3JrZmxvd3MvYnVsay1yZXN0b3JlLWVudGl0eS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFcEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsbUJBQW1CLENBQzNELDBCQUEwQixDQUM3QixDQUFDO0FBR0YsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGlCQUFpQjtJQURuRTs7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0E4RzdEO0lBNUdHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FB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dkM7YUFDSjtTQUNKO1FBQ0Qsd0JBQXdCLEVBQUU7WUFDdEIsTUFBTSxFQUFFLHFDQUFxQztTQUNoRDtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhMb2FkaW5nRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUFJlZnJlc2hFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0LCBjcmVhdGVXb3JrRmxvd0V2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuXG5leHBvcnQgY29uc3QgQVhQRW50aXR5QnVsa1VuYXJjaGl2ZWRFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyBlbnRpdHk6IHN0cmluZzsgaWRzOiBzdHJpbmdbXTsgbWV0YT86IGFueSB9PihcbiAgICAnW0VudGl0eV0gQnVsayBVbmFyY2hpdmVkJyxcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlCdWxrVW5hcmNoaXZlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCByZWZUeXBlID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZlR5cGUnKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZ1tdPignc2VsZWN0ZWRJZHMnKSB8fCBbXTtcblxuICAgICAgICBpZiAoIXJlZlR5cGUgfHwgc2VsZWN0ZWRJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyczogcmVmVHlwZSBhbmQgc2VsZWN0ZWRJZHMnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgZW50aXR5RGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG5cbiAgICAgICAgLy8gU2hvdyBjb25maXJtYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYnVsay1yZXN0b3JlLWFyY2hpdmUuY29uZmlybS50aXRsZScpLFxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuYnVsay1yZXN0b3JlLWFyY2hpdmUuY29uZmlybS5tZXNzYWdlJywge1xuICAgICAgICAgICAgICAgIHBhcmFtczogeyBjb3VudDogc2VsZWN0ZWRJZHMubGVuZ3RoIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAnY2FuY2VsJ1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICghZGlhbG9nUmVzdWx0LnJlc3VsdCkge1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdlcnJvcicsICdPcGVyYXRpb24gY2FuY2VsbGVkIGJ5IHVzZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgbG9hZGluZyBkaWFsb2dcbiAgICAgICAgY29uc3QgbG9hZGluZ0RpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6YWN0aW9ucy5idWxrLXJlc3RvcmUtYXJjaGl2ZS5jb25maXJtLnByb2Nlc3NpbmcnKSxcbiAgICAgICAgICAgIG1vZGU6ICdpbmRldGVybWluYXRlJyxcbiAgICAgICAgICAgIHN0YXR1czogYFVuYXJjaGl2aW5nICR7c2VsZWN0ZWRJZHMubGVuZ3RofSBpdGVtcy4uLmAsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBwcm9jZXNzZWRJZHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgICAgICBjb25zdCBmYWlsZWRJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgICAgIC8vIFByb2Nlc3MgZWFjaCBzZWxlY3RlZCBlbnRpdHlcbiAgICAgICAgICAgIGZvciAoY29uc3QgaWQgb2Ygc2VsZWN0ZWRJZHMpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgZW50aXR5IGRhdGFcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSBhd2FpdCB0aGlzLmdldEVudGl0eURhdGEocmVmVHlwZSwgaWQpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFByZXBhcmUgdW5hcmNoaXZlIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5hcmNoaXZlRGF0YSA9IHRoaXMucHJlcGFyZVVuYXJjaGl2ZURhdGEoY3VycmVudERhdGEpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZW50aXR5IHRvIG1hcmsgaXQgYXMgbm90IGFyY2hpdmVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzPy51cGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUV4ZWMgPSBlbnRpdHlEZWZpbml0aW9uLmNvbW1hbmRzLnVwZGF0ZS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlRXhlYyh1bmFyY2hpdmVEYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NlZElkcy5wdXNoKGlkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxlZElkcy5wdXNoKGlkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byByZXN0b3JlIGVudGl0eSAke2lkfTpgLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWxlZElkcy5wdXNoKGlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdwcm9jZXNzZWRJZHMnLCBwcm9jZXNzZWRJZHMpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2ZhaWxlZElkcycsIGZhaWxlZElkcyk7XG4gICAgICAgICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCd0b3RhbFByb2Nlc3NlZCcsIHByb2Nlc3NlZElkcy5sZW5ndGgpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3RvdGFsRmFpbGVkJywgZmFpbGVkSWRzLmxlbmd0aCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0J1bGsgdW5hcmNoaXZlIG9wZXJhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2Vycm9yJywgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicpO1xuICAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGxvYWRpbmdEaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0RW50aXR5RGF0YShyZWZUeXBlOiBzdHJpbmcsIHJlZklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVXNlIHRoZSBlbnRpdHkncyBieUtleSBxdWVyeSB0byBnZXQgYWN0dWFsIGRhdGFcbiAgICAgICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHJlZlR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eURlZmluaXRpb24gPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAoZW50aXR5RGVmaW5pdGlvbi5xdWVyaWVzPy5ieUtleSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlYyA9IGVudGl0eURlZmluaXRpb24ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeUV4ZWMocmVmSWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBiYXNpYyBzdHJ1Y3R1cmUgaWYgbm8gcXVlcnkgYXZhaWxhYmxlXG4gICAgICAgICAgICByZXR1cm4geyBpZDogcmVmSWQgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBlbnRpdHkgZGF0YTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZVVuYXJjaGl2ZURhdGEoY3VycmVudERhdGE6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHVuYXJjaGl2ZURhdGEgPSB7IC4uLmN1cnJlbnREYXRhIH07XG5cbiAgICAgICAgLy8gU2V0IHRoZSBhcmNoaXZlZCBmbGFnIHRvIGZhbHNlXG4gICAgICAgIHVuYXJjaGl2ZURhdGEuaXNBcmNoaXZlZCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIFJlbW92ZSBhcmNoaXZlIHRpbWVzdGFtcFxuICAgICAgICBkZWxldGUgdW5hcmNoaXZlRGF0YS5hcmNoaXZlZEF0O1xuXG4gICAgICAgIHJldHVybiB1bmFyY2hpdmVEYXRhO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVTdWNjZXNzQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICAgIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ29wdGlvbnMucmVmVHlwZScpO1xuICAgICAgICBjb25zdCBwcm9jZXNzZWRJZHMgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmdbXT4oJ3Byb2Nlc3NlZElkcycpIHx8IFtdO1xuICAgICAgICBjb25zdCBmYWlsZWRJZHMgPSBjb250ZXh0LmdldE91dHB1dDxzdHJpbmdbXT4oJ2ZhaWxlZElkcycpIHx8IFtdO1xuICAgICAgICBjb25zdCB0b3RhbFByb2Nlc3NlZCA9IGNvbnRleHQuZ2V0T3V0cHV0PG51bWJlcj4oJ3RvdGFsUHJvY2Vzc2VkJykgfHwgMDtcbiAgICAgICAgY29uc3QgdG90YWxGYWlsZWQgPSBjb250ZXh0LmdldE91dHB1dDxudW1iZXI+KCd0b3RhbEZhaWxlZCcpIHx8IDA7XG5cbiAgICAgICAgLy8gRGlzcGF0Y2ggYnVsayB1bmFyY2hpdmUgZXZlbnRcbiAgICAgICAgdGhpcy5kaXNwYXRjaChcbiAgICAgICAgICAgIEFYUEVudGl0eUJ1bGtVbmFyY2hpdmVkRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBpZHM6IHByb2Nlc3NlZElkcyxcbiAgICAgICAgICAgICAgICBtZXRhOiB7IGZhaWxlZElkcywgdG90YWxQcm9jZXNzZWQsIHRvdGFsRmFpbGVkIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIGVudGl0eSBsaXN0XG4gICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBBWFBSZWZyZXNoRXZlbnQoe1xuICAgICAgICAgICAgICAgIGVudGl0eTogcmVmVHlwZSxcbiAgICAgICAgICAgICAgICBtZXRhOiB7IHJlZnJlc2hUeXBlOiAnYnVsay11bmFyY2hpdmUnIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUEJ1bGtVbmFyY2hpdmVFbnRpdHlXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gICAgc3RhcnRTdGVwSWQ6ICdidWxrLXVuYXJjaGl2ZS1lbnRpdHknLFxuICAgIHN0ZXBzOiB7XG4gICAgICAgICdidWxrLXVuYXJjaGl2ZS1lbnRpdHknOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrVW5hcmNoaXZlQWN0aW9uJyxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcImlzQ2FuY2VsZWRcIikgPT0gZmFsc2UnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1zdWNjZXNzLXRvYXN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctc3VjY2Vzcy10b2FzdCc6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ3dvcmtmbG93LmVudGl0eS1idWxrLXVuYXJjaGl2ZWQnLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd3b3JrZmxvdy5lbnRpdHktYnVsay11bmFyY2hpdmVkLWJvZHknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgICAgICAgICAgIG5leHRTdGVwSWQ6ICdidWxrLXVuYXJjaGl2ZS1zdWNjZXNzJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ2J1bGstdW5hcmNoaXZlLXN1Y2Nlc3MnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdBWFBFbnRpdHlCdWxrVW5hcmNoaXZlU3VjY2Vzc0FjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07XG4iXX0=","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.1.8\", ngImport: i0, type: AXPArchivePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPArchivePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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 { 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.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.category.plural',\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.category.plural',\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/IGZhbHNlO1xuICAgICAgICAvLyBFbnN1cmUgZ3JvdXAgZXhpc3RzIChwcmVmZXIgYmFzaWMtaW5mbylcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICAgIGNvbnN0IGhhc0Jhc2ljID0gZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gJ2Jhc2ljLWluZm8nKTtcbiAgICAgICAgaWYgKCFoYXNCYXNpYykge1xuICAgICAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogJ2Jhc2ljLWluZm8nLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmJhc2ljLWluZm8nIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgY3R4LmNvbHVtbnMuYWRkKHsgbmFtZTogJ2NhdGVnb3J5SWRzJywgb3B0aW9uczogeyBkYXRhUGF0aDogJ2NhdGVnb3JpZXMnIH0gfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHByb3BlcnR5IGV4aXN0c1xuICAgICAgICBjb25zdCBwcm9wcyA9IGN0eC5wcm9wZXJ0aWVzLmxpc3QoKTtcbiAgICAgICAgaWYgKCFwcm9wcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gcHJvcGVydHlOYW1lKSkge1xuICAgICAgICAgICAgY3R4LnByb3BlcnRpZXMuYWRkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBwcm9wZXJ0eU5hbWUsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jYXRlZ29yeS5wbHVyYWwnLFxuICAgICAgICAgICAgICAgIGdyb3VwSWQ6ICdiYXNpYy1pbmZvJyxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuTG9va3VwQm94LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogYCR7bW9kdWxlTmFtZX0uJHtjYXRlZ29yeUVudGl0eU5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZTogYWxsb3dNdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBvc2U6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ2NhdGVnb3JpZXMue2lkfScgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzb3VyY2U6ICd0aXRsZScsIHRhcmdldDogJ2NhdGVnb3JpZXMue3RpdGxlfScgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBFbnN1cmUgY2F0ZWdvcnkgc2lkZWJhci9maWx0ZXIgYmxvY2tcbiAgICAgICAgY3R4LmNhdGVnb3J5LnVwZGF0ZSgoY2F0KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGVudGl0eTogYCR7bW9kdWxlTmFtZX0uJHtjYXRlZ29yeUVudGl0eU5hbWV9YCxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNhdGVnb3J5LnBsdXJhbCcsXG4gICAgICAgICAgICAgICAgdGV4dEZpZWxkOiAndGl0bGUnLFxuICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXG4gICAgICAgICAgICAgICAgYXBwbHlDb25kaXRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHByb3BlcnR5TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdjb250YWlucycgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnaWQnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBFbnN1cmUgbGF5b3V0IGluY2x1ZGVzIHByb3BlcnR5IGluIGNyZWF0ZS9tb2RpZnkvc2luZ2xlXG4gICAgICAgIGNvbnN0IGVuc3VyZUxheW91dFByb3BlcnR5ID0gKGxheW91dDogYW55KSA9PiB7XG4gICAgICAgICAgICBsYXlvdXQuc2VjdGlvbnMgPSBsYXlvdXQuc2VjdGlvbnMgPz8gW107XG4gICAgICAgICAgICBpZiAoIWxheW91dC5zZWN0aW9ucy5zb21lKChzOiBhbnkpID0+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/builder';\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 source: '',\n title: '@general:terms.category.individual',\n formats: {\n individual: '@general:terms.category.individual',\n plural: '@general:terms.category.plural',\n searchResult: {\n title: '{{ title }}',\n description: '{{ module }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.basic-info' },\n ...(enableAppearance ? [{ id: 'appearance', title: '@general:terms.appearance' }] : []),\n ],\n properties: [\n {\n name: 'title',\n title: '@general:terms.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.parent-id',\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.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.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.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.1.8\", ngImport: i0, type: AXMEntityCategoryProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMEntityCategoryProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMEntityCategoryProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2NhdGVnb3J5LXBsdWdpbi9lbnRpdHkucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUYsT0FBTyxFQUlMLGtDQUFrQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRzFELE1BQU0sT0FBTyx5QkFBeUI7SUFEdEM7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBb05yQztJQWxOUSxPQUFPO1FBQ1osT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzlDLDhEQUE4RDtRQUM5RCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE9BQU8sR0FBRyxHQUFHLFVBQVUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM5QyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksd0JBQXdCLENBQVcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUVoSCxtRUFBbUU7WUFDbkUsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUQsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDN0IsSUFBSSxzQkFBc0IsR0FBRyxLQUFLLENBQUM7WUFFbkMsSUFBSSxDQUFDO2dCQUNILGtEQUFrRDtnQkFDbEQsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7b0JBQy9ELElBQUksQ0FBQzt3QkFDSCxPQUFPLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO29CQUNwRCxDQUFDO29CQUFDLE1BQU0sQ0FBQzt3QkFDUCxPQUFPLElBQUksQ0FBQztvQkFDZCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksY0FBYyxFQUFFLENBQUM7b0JBQ25CLElBQUksQ0FBQzt3QkFDSCxNQUFNLFVBQVUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO3dCQUM1RSxJQUFLLFVBQWtCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDOzRCQUNoRSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7d0JBQzFCLENBQUM7d0JBQ0QsSUFBSyxVQUFrQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQzs0QkFDdEUsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO3dCQUNoQyxDQUFDO29CQUNILENBQUM7b0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQzt3QkFDZix5RUFBeUU7d0JBQ3pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLFVBQVUsSUFBSSxjQUFjLDBDQUEwQyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUM1SCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZix5REFBeUQ7Z0JBQ3pELE9BQU8sQ0FBQyxJQUFJLENBQUMsc0VBQXNFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUYsQ0FBQztZQUVELE1BQU0sU0FBUyxHQUFjO2dCQUMzQixNQUFNLEVBQUUsVUFBVTtnQkFDbEIsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixPQUFPLEVBQUU7b0JBQ1Asb0JBQW9CO29CQUNwQix1QkFBdUI7b0JBQ3ZCLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztpQkFDcEU7Z0JBQ0QsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLG9DQUFvQztnQkFDM0MsT0FBTyxFQUFFO29CQUNQLFVBQVUsRUFBRSxvQ0FBb0M7b0JBQ2hELE1BQU0sRUFBRSxnQ0FBZ0M7b0JBQ3hDLFlBQVksRUFBRTt3QkFDWixLQUFLLEVBQUUsYUFBYTt3QkFDcEIsV0FBVyxFQUFFLGNBQWM7cUJBQzVCO2lCQUNGO2dCQUNELGVBQWUsRUFBRSxFQUFFO2dCQUNuQixNQUFNLEVBQUU7b0JBQ04sRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTtvQkFDeEQsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ3hGO2dCQUNELFVBQVUsRUFBRTtvQkFDVjt3QkFDRSxJQUFJLEVBQUUsT0FBTzt3QkFDYixLQUFLLEVBQUUsc0JBQXNCO3dCQUM3QixPQUFPLEVBQUUsWUFBWTt3QkFDckIsT0FBTyxFQUFFOzRCQUNQLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7NEJBQ3ZCLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7eUJBQ2xFO3dCQUNELE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUksRUFBRSxFQUFFO3dCQUMzRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztxQkFDcEM7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLEtBQUssRUFBRSwwQkFBMEI7d0JBQ2pDLE9BQU8sRUFBRSxZQUFZO3dCQUNyQixNQUFNLEVBQUU7NEJBQ04sUUFBUSxFQUFFLFFBQVE7NEJBQ2xCLFNBQVMsRUFBRTtnQ0FDVCxJQUFJLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTO2dDQUN0QyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLElBQUksVUFBVSxFQUFFLEVBQUU7NkJBQ25EO3lCQUNGO3FCQUNGO29CQUNEO3dCQUNFLElBQUksRUFBRSxhQUFhO3dCQUNuQixLQUFLLEVBQUUsNEJBQTRCO3dCQUNuQyxPQUFPLEVBQUUsWUFBWTt3QkFDckIsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsU0FBUyxFQUFFLEVBQUU7cUJBQ2pGO29CQUNELDBDQUEwQztvQkFDMUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQzt3QkFDckI7NEJBQ0UsSUFBSSxFQUFFLE9BQU87NEJBQ2IsS0FBSyxFQUFFLHNCQUFzQjs0QkFDN0IsT0FBTyxFQUFFLFlBQVk7NEJBQ3JCLE1BQU0sRUFBRTtnQ0FDTixRQUFRLEVBQUUsUUFBUTtnQ0FDbEIsU0FBUyxFQUFFO29DQUNULElBQUksRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLGlCQUFpQjtvQ0FDNUMsT0FBTyxFQUFFLEVBQUU7aUNBQ1o7NkJBQ0Y7eUJBQ0Y7d0JBQ0Q7NEJBQ0UsSUFBSSxFQUFFLE1BQU07NEJBQ1osS0FBSyxFQUFFLHFCQUFxQjs0QkFDNUIsT0FBTyxFQUFFLFlBQVk7NEJBQ3JCLE1BQU0sRUFBRTtnQ0FDTixRQUFRLEVBQUUsUUFBUTtnQ0FDbEIsU0FBUyxFQUFFO29DQUNULElBQUksRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVc7b0NBQ3RDLE9BQU8sRUFBRSxFQUFFO2lDQUNaOzZCQUNGO3lCQUNGO3FCQUNGLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztpQkFDUjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQztnQkFDckQsUUFBUSxFQUFFO29CQUNSLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ3JGLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBTyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUNqRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2lCQUMvRTtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtvQkFDakcsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBTSxFQUFFLEVBQUU7NEJBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDdkMsNERBQTREOzRCQUM1RCxPQUFPO2dDQUNMLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQ0FDeEYsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLOzZCQUNqQixDQUFDO3dCQUNKLENBQUM7d0JBQ0QsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUk7cUJBQzlCO2lCQUNGO2dCQUNELFVBQVUsRUFBRTtvQkFDVixNQUFNLEVBQUU7d0JBQ04sTUFBTSxFQUFFOzRCQUNOLFFBQVEsRUFBRTtnQ0FDUixFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUU7Z0NBQ3BCLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7NkJBQ3BEOzRCQUNELFVBQVUsRUFBRTtnQ0FDVixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dDQUMzRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dDQUM5RSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dDQUNqRiwwQ0FBMEM7Z0NBQzFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7b0NBQ3JCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7b0NBQzNFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7aUNBQzNFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs2QkFDUjt5QkFDRjt3QkFDRCxNQUFNLEVBQUU7NEJBQ04sUUFBUSxFQUFFO2dDQUNSLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRTtnQ0FDcEIsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs2QkFDcEQ7NEJBQ0QsVUFBVSxFQUFFO2dDQUNWLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0NBQzNFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0NBQzlFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0NBQ2pGLDBDQUEwQztnQ0FDMUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztvQ0FDckIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRTtvQ0FDM0UsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRTtpQ0FDM0UsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDOzZCQUNSO3lCQUNGO3dCQUNELE1BQU0sRUFBRTs0QkFDTixLQUFLLEVBQUUsV0FBVzs0QkFDbEIsUUFBUSxFQUFFO2dDQUNSLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO2dDQUNwRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7NkJBQ3BHOzRCQUNELFVBQVUsRUFBRTtnQ0FDVixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dDQUMzRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dDQUM5RSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dDQUNqRiwwQ0FBMEM7Z0NBQzFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7b0NBQ3JCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7b0NBQzNFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7aUNBQzNFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs2QkFDUjs0QkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO3lCQUN0Qzt3QkFDRCxJQUFJLEVBQUU7NEJBQ0osT0FBTyxFQUFFLENBQUMsR0FBRyx1QkFBdUIsRUFBRSxDQUFDOzRCQUN2QyxLQUFLLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7eUJBQ3hFO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztZQUVGLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBcE5VLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlRdWVyeVR5cGUsIGNyZWF0ZUFsbFF1ZXJ5VmlldyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eURlZmluaXRpb25Mb2FkZXIsXG4gIEFYUEVudGl0eURlZmluaXRpb25QcmVsb2FkZXIsXG4gIEFYUEVudGl0eVByZWxvYWRFbnRpdHksXG4gIEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGwsIGVudGl0eU1hc3RlckNydWRBY3Rpb25zLCBlbnRpdHlNYXN0ZXJEZWxldGVBY3Rpb24gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0xpc3QgfSBmcm9tICcuLi8uLi93aWRnZXRzLW5hbWVzLWxpc3QnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRW50aXR5Q2F0ZWdvcnlQcm92aWRlciBpbXBsZW1lbnRzIEFYUEVudGl0eURlZmluaXRpb25Mb2FkZXIsIEFYUEVudGl0eURlZmluaXRpb25QcmVsb2FkZXIge1xuICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwdWJsaWMgcHJlbG9hZCgpOiBBWFBFbnRpdHlQcmVsb2FkRW50aXR5W10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGFzeW5jIGdldChtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICAgIC8vIEdlbmVyaWMgcGVyLWVudGl0eSBDYXRlZ29yeSBwcm92aWRlciAod29ya3MgZm9yIGFueSBtb2R1bGUpXG4gICAgaWYgKGVudGl0eU5hbWUuZW5kc1dpdGgoJ0NhdGVnb3J5JykpIHtcbiAgICAgIGNvbnN0IGZ1bGxLZXkgPSBgJHttb2R1bGVOYW1lfS4ke2VudGl0eU5hbWV9YDtcbiAgICAgIGNvbnN0IGRhdGFTZXJ2aWNlID0gcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IG5ldyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGw8YW55LCBhbnk+KGZ1bGxLZXkpKTtcblxuICAgICAgLy8gQ2hlY2sgaWYgYmFzZSBlbnRpdHkgaGFzIGFwcGVhcmFuY2UgZW5hYmxlZCB1c2luZyBsYXp5IGluamVjdGlvblxuICAgICAgY29uc3QgYmFzZUVudGl0eU5hbWUgPSBlbnRpdHlOYW1lLnJlcGxhY2UoJ0NhdGVnb3J5JywgJycpO1xuICAgICAgbGV0IGVuYWJsZUFwcGVhcmFuY2UgPSBmYWxzZTtcbiAgICAgIGxldCBlbmFibGVNZXRhRGF0YVNlbGVjdG9yID0gZmFsc2U7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFVzZSBsYXp5IGluamVjdGlvbiB0byBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmN5XG4gICAgICAgIGNvbnN0IGVudGl0eVJlZ2lzdHJ5ID0gcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGVudGl0eVJlZ2lzdHJ5KSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2VFbnRpdHkgPSBhd2FpdCBlbnRpdHlSZWdpc3RyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGJhc2VFbnRpdHlOYW1lKTtcbiAgICAgICAgICAgIGlmICgoYmFzZUVudGl0eSBhcyBhbnkpPy5leHRlbnNpb25zPy5jYXRlZ29yeT8uZW5hYmxlQXBwZWFyYW5jZSkge1xuICAgICAgICAgICAgICBlbmFibGVBcHBlYXJhbmNlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgoYmFzZUVudGl0eSBhcyBhbnkpPy5leHRlbnNpb25zPy5jYXRlZ29yeT8uZW5hYmxlTWV0YURhdGFTZWxlY3Rvcikge1xuICAgICAgICAgICAgICBlbmFibGVNZXRhRGF0YVNlbGVjdG9yID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgLy8gQmFzZSBlbnRpdHkgbm90IGZvdW5kIG9yIGVycm9yIGxvYWRpbmcsIGNvbnRpbnVlIHdpdGggZGVmYXVsdCBiZWhhdmlvclxuICAgICAgICAgICAgY29uc29sZS53YXJuKGBDb3VsZCBub3QgbG9hZCBiYXNlIGVudGl0eSAke21vZHVsZU5hbWV9LiR7YmFzZUVudGl0eU5hbWV9IHRvIGNoZWNrIGNhdGVnb3J5IHBsdWdpbiBjb25maWd1cmF0aW9uOmAsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIFJlZ2lzdHJ5IG5vdCBhdmFpbGFibGUsIGNvbnRpbnVlIHdpdGggZGVmYXVsdCBiZWhhdmlvclxuICAgICAgICBjb25zb2xlLndhcm4oYEVudGl0eSByZWdpc3RyeSBub3QgYXZhaWxhYmxlLCB1c2luZyBkZWZhdWx0IGNhdGVnb3J5IGNvbmZpZ3VyYXRpb246YCwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBlbnRpdHlEZWY6IEFYUEVudGl0eSA9IHtcbiAgICAgICAgbW9kdWxlOiBtb2R1bGVOYW1lLFxuICAgICAgICBuYW1lOiBlbnRpdHlOYW1lLFxuICAgICAgICBwYXJlbnRLZXk6ICdwYXJlbnRJZCcsXG4gICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAvLyB7IG5hbWU6ICdsb2NrJyB9LFxuICAgICAgICAgIC8vIHsgbmFtZTogJ2NvbXBhcmUnIH0sXG4gICAgICAgICAgLi4uKGVuYWJsZU1ldGFEYXRhU2VsZWN0b3IgPyBbeyBuYW1lOiAnbWV0YS1kYXRhLXNlbGVjdG9yJyB9XSA6IFtdKSxcbiAgICAgICAgXSxcbiAgICAgICAgc291cmNlOiAnJyxcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jYXRlZ29yeS5pbmRpdmlkdWFsJyxcbiAgICAgICAgZm9ybWF0czoge1xuICAgICAgICAgIGluZGl2aWR1YWw6ICdAZ2VuZXJhbDp0ZXJtcy5jYXRlZ29yeS5pbmRpdmlkdWFsJyxcbiAgICAgICAgICBwbHVyYWw6ICdAZ2VuZXJhbDp0ZXJtcy5jYXRlZ29yeS5wbHVyYWwnLFxuICAgICAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICAgICAgdGl0bGU6ICd7eyB0aXRsZSB9fScsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ3t7IG1vZHVsZSB9fScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVsYXRlZEVudGl0aWVzOiBbXSxcbiAgICAgICAgZ3JvdXBzOiBbXG4gICAgICAgICAgeyBpZDogJ2Jhc2ljLWluZm8nLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmJhc2ljLWluZm8nIH0sXG4gICAgICAgICAgLi4uKGVuYWJsZUFwcGVhcmFuY2UgPyBbeyBpZDogJ2FwcGVhcmFuY2UnLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmFwcGVhcmFuY2UnIH1dIDogW10pLFxuICAgICAgICBdLFxuICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMudGl0bGUnLFxuICAgICAgICAgICAgZ3JvdXBJZDogJ2Jhc2ljLWluZm8nLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgICAgICAgZmlsdGVyOiB7IGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LCBpbmxpbmU6IHsgZW5hYmxlZDogdHJ1ZSB9IH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2NoZW1hOiB7IGRhdGFUeXBlOiAnc3RyaW5nJywgaW50ZXJmYWNlOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQgfSB9LFxuICAgICAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAncGFyZW50SWQnLFxuICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5wYXJlbnQtaWQnLFxuICAgICAgICAgICAgZ3JvdXBJZDogJ2Jhc2ljLWluZm8nLFxuICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5Mb29rdXBCb3gsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogeyBlbnRpdHk6IGAke21vZHVsZU5hbWV9LiR7ZW50aXR5TmFtZX1gIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgZ3JvdXBJZDogJ2Jhc2ljLWluZm8nLFxuICAgICAgICAgICAgc2NoZW1hOiB7IGRhdGFUeXBlOiAnc3RyaW5nJywgaW50ZXJmYWNlOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmxhcmdlVGV4dCB9IH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBBcHBlYXJhbmNlIHByb3BlcnRpZXMgKG9ubHkgaWYgZW5hYmxlZClcbiAgICAgICAgICAuLi4oZW5hYmxlQXBwZWFyYW5jZSA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb2xvcicsXG4gICAgICAgICAgICAgIGdyb3VwSWQ6ICdhcHBlYXJhbmNlJyxcbiAgICAgICAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuVGhlbWUuVGhlbWVDb2xvckNob29zZXIsXG4gICAgICAgICAgICAgICAgICBvcHRpb25zOiB7fSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2ljb24nLFxuICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmljb24nLFxuICAgICAgICAgICAgICBncm91cElkOiAnYXBwZWFyYW5jZScsXG4gICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LlRoZW1lLkljb25DaG9vc2VyLFxuICAgICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSA6IFtdKSxcbiAgICAgICAgXSxcbiAgICAgICAgY29sdW1uczogW3sgbmFtZTogJ3RpdGxlJyB9LCB7IG5hbWU6ICdkZXNjcmlwdGlvbicgfV0sXG4gICAgICAgIGNvbW1hbmRzOiB7XG4gICAgICAgICAgY3JlYXRlOiB7IGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+ICh7IGlkOiBhd2FpdCBkYXRhU2VydmljZS5pbnNlcnRPbmUoZGF0YSkgfSkgfSxcbiAgICAgICAgICBkZWxldGU6IHsgZXhlY3V0ZTogYXN5bmMgKGlkOiBhbnkpID0+IGRhdGFTZXJ2aWNlLmRlbGV0ZU9uZShpZCkgfSxcbiAgICAgICAgICB1cGRhdGU6IHsgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4gZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgICBieUtleTogeyBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4gZGF0YVNlcnZpY2UuZ2V0T25lKGlkKSwgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLlNpbmdsZSB9LFxuICAgICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZGF0YVNlcnZpY2UucXVlcnkoZSk7XG4gICAgICAgICAgICAgIC8vIGVucmljaCBoYXNDaGlsZCBmb3IgdHJlZSB2aWV3cyBpZiBjaGlsZENvdW50IGlzIGF2YWlsYWJsZVxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGl0ZW1zOiByZXMuaXRlbXMubWFwKChpdGVtOiBhbnkpID0+ICh7IC4uLml0ZW0sIGhhc0NoaWxkOiAoaXRlbS5jaGlsZENvdW50ID8/IDApID4gMCB9KSksXG4gICAgICAgICAgICAgICAgdG90YWw6IHJlcy50b3RhbCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuTGlzdCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBpbnRlcmZhY2VzOiB7XG4gICAgICAgICAgbWFzdGVyOiB7XG4gICAgICAgICAgICBjcmVhdGU6IHtcbiAgICAgICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7IGlkOiAnYmFzaWMtaW5mbycgfSxcbiAgICAgICAgICAgICAgICAuLi4oZW5hYmxlQXBwZWFyYW5jZSA/IFt7IGlkOiAnYXBwZWFyYW5jZScgfV0gOiBbXSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICd0aXRsZScsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAxIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAncGFyZW50SWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMiB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIHsgbmFtZTogJ2Rlc2NyaXB0aW9uJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDMgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICAvLyBBcHBlYXJhbmNlIHByb3BlcnRpZXMgKG9ubHkgaWYgZW5hYmxlZClcbiAgICAgICAgICAgICAgICAuLi4oZW5hYmxlQXBwZWFyYW5jZSA/IFtcbiAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ2NvbG9yJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDQgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ2ljb24nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogNSB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIF0gOiBbXSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgeyBpZDogJ2Jhc2ljLWluZm8nIH0sXG4gICAgICAgICAgICAgICAgLi4uKGVuYWJsZUFwcGVhcmFuY2UgPyBbeyBpZDogJ2FwcGVhcmFuY2UnIH1dIDogW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMSB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3BhcmVudElkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDIgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAzIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgLy8gQXBwZWFyYW5jZSBwcm9wZXJ0aWVzIChvbmx5IGlmIGVuYWJsZWQpXG4gICAgICAgICAgICAgICAgLi4uKGVuYWJsZUFwcGVhcmFuY2UgPyBbXG4gICAgICAgICAgICAgICAgICB7IG5hbWU6ICdjb2xvcicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA0IH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgICB7IG5hbWU6ICdpY29uJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDUgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICBdIDogW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNpbmdsZToge1xuICAgICAgICAgICAgICB0aXRsZTogJ3t7dGl0bGV9fScsXG4gICAgICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgeyBpZDogJ2Jhc2ljLWluZm8nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgLi4uKGVuYWJsZUFwcGVhcmFuY2UgPyBbeyBpZDogJ2FwcGVhcmFuY2UnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyIH0gfSB9IH1dIDogW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyLCBvcmRlcjogMSB9IH0gfSB9LFxuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3BhcmVudElkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDIgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiAzIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgLy8gQXBwZWFyYW5jZSBwcm9wZXJ0aWVzIChvbmx5IGlmIGVuYWJsZWQpXG4gICAgICAgICAgICAgICAgLi4uKGVuYWJsZUFwcGVhcmFuY2UgPyBbXG4gICAgICAgICAgICAgICAgICB7IG5hbWU6ICdjb2xvcicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIsIG9yZGVyOiA0IH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgICB7IG5hbWU6ICdpY29uJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiwgb3JkZXI6IDUgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICBdIDogW10pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbZW50aXR5TWFzdGVyRGVsZXRlQWN0aW9uKCldLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICAgICAgYWN0aW9uczogWy4uLmVudGl0eU1hc3RlckNydWRBY3Rpb25zKCldLFxuICAgICAgICAgICAgICB2aWV3czogW2NyZWF0ZUFsbFF1ZXJ5Vmlldyh7IHNvcnRzOiBbeyBuYW1lOiAndGl0bGUnLCBkaXI6ICdhc2MnIH1dIH0pXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBlbnRpdHlEZWY7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=","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.1.8\", ngImport: i0, type: AXPCategoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPCategoryModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityCloneAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityCloneAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPEntityCloneSuccessAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPEntityCloneSuccessAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXPClonePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPClonePluginModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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 { 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 // Any additional initialization logic can go here\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComparePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.8\", 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 [text]=\\\"'close' | translate | async\\\" look=\\\"solid\\\" color=\\\"primary\\\" (onClick)=\\\"close()\\\"> </ax-button>\\n </ax-suffix>\\n</ax-footer>\", 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.1.8\", 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 [text]=\\\"'close' | translate | async\\\" look=\\\"solid\\\" color=\\\"primary\\\" (onClick)=\\\"close()\\\"> </ax-button>\\n </ax-suffix>\\n</ax-footer>\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb21wYXJlL2NvbXBhcmUtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUE0QyxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFtQnZILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxtQkFBbUI7SUFqQmpFOztRQWtCSSxXQUFNLEdBQUcsS0FBSyw0REFBd0IsQ0FBQztRQUN2QyxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssa0RBQUMsQ0FBQztRQUN2QixTQUFJLEdBQUcsS0FBSyxDQUFxQixTQUFTLGdEQUFDLENBQUM7S0FNL0M7SUFKWSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLGtEQUFrRDtJQUN0RCxDQUFDOzhHQVJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDRUQUZ0QixFQUFFLGlEQ3hCakIsd1lBVVk7Z0JER0osVUFBVTtnQkFDVixZQUFZO2dCQUNaLFNBQVM7Z0JBQ1QsaUJBQWlCLHFQQUNqQixjQUFjLDZYQUNkLG1CQUFtQjtnQkFDbkIsZUFBZTtnQkFDZix1QkFBdUI7OzJGQU1sQix3QkFBd0I7a0JBakJwQyxTQUFTOytCQUNJLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZix1QkFBdUI7cUJBQzFCLGlCQUVjLGlCQUFpQixDQUFDLElBQUksYUFDMUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGlucHV0LCBzaWduYWwsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQQ29tcGFyZVZpZXdDb21wb25lbnQsIEFYUENvbXBhcmVWaWV3SW5wdXRzLCBBWFBDb21wYXJlVmlld01vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtY29tcGFyZS1wb3B1cCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAvLyBBQ29yZVhcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgICAgICAvLyBDb21wYXJlIFZpZXdcbiAgICAgICAgQVhQQ29tcGFyZVZpZXdDb21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21wYXJlLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBhcmVQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlucHV0cyA9IGlucHV0PEFYUENvbXBhcmVWaWV3SW5wdXRzPigpO1xuICAgIGlzQnVzeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgbW9kZSA9IGlucHV0PEFYUENvbXBhcmVWaWV3TW9kZT4oJ2NvbXBhcmUnKTtcblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICAvLyBBbnkgYWRkaXRpb25hbCBpbml0aWFsaXphdGlvbiBsb2dpYyBjYW4gZ28gaGVyZVxuICAgIH1cbn0gIiwiPGF4LWNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJheC1wLTYgYXgtbWluLWgtWzMwdmhdIGF4LW92ZXJmbG93LXktYXV0b1wiPlxuICAgIDxheHAtY29tcGFyZS12aWV3IFtpbnB1dHNdPVwiaW5wdXRzKClcIiBbbW9kZV09XCJtb2RlKClcIj48L2F4cC1jb21wYXJlLXZpZXc+XG4gIDwvZGl2PlxuPC9heC1jb250ZW50PlxuPGF4LWZvb3Rlcj5cbiAgPGF4LXByZWZpeD48L2F4LXByZWZpeD5cbiAgPGF4LXN1ZmZpeD5cbiAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cIidjbG9zZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIChvbkNsaWNrKT1cImNsb3NlKClcIj4gPC9heC1idXR0b24+XG4gIDwvYXgtc3VmZml4PlxuPC9heC1mb290ZXI+Il19","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 { AXPActivityLogService } from \"@acorex/platform/core\";\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.1.8\", ngImport: i0, type: AXMComparePopupStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMComparePopupStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", ngImport: i0, type: AXMCompareEntityRecordsAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMCompareEntityRecordsAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.activityLogService = inject(AXPActivityLogService);\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 histories = await this.activityLogService.getHistoryByIds(refId, refType, ids);\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 id: h.id,\n title: await this.translate.translateAsync(`@activity-log:${h.changeType == 'update' ? 'updated' : 'created'}-by-title`, {\n params: {\n user: h.user?.title,\n date: this.formatService.format(h.date, 'datetime', { format: 'short' }),\n }\n }),\n description: h.user?.title,\n context: h.data,\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.1.8\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMCompareEntityRecordVersionsAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9jb21wYXJlL3dvcmtmbG93cy9jb21wYXJlLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxpQkFBaUIsRUFBc0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHdEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FhcEQ7SUFYWSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQzlDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO1FBQ25GLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QixLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJ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QVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvd1wiO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL3BvcHVwXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcbmltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5XCI7XG5pbXBvcnQgeyBBWFBDb21wYXJlVmlld0ZpZWxkLCBBWFBDb21wYXJlVmlld0lucHV0cywgQVhQQ29tcGFyZVZpZXdNb2RlLCBBWFBDb21wYXJlVmlld09iamVjdCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBBWFBBY3Rpdml0eUxvZ1NlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2Zvcm1hdFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNQ29tcGFyZVBvcHVwU3RhcnRBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNvbXAgPSAoYXdhaXQgaW1wb3J0KCcuLi9jb21wYXJlLXBvcHVwLmNvbXBvbmVudCcpKS5BWFBDb21wYXJlUG9wdXBDb21wb25lbnQ7XG4gICAgICAgIHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4oY29tcCwge1xuICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlLnRyYW5zbGF0ZUFzeW5jKCdDb21wYXJlJyksXG4gICAgICAgICAgICBzaXplOiAnbGcnLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGlucHV0czogc2lnbmFsKGNvbnRleHQuZ2V0VmFyaWFibGUoJ2lucHV0cycpKSxcbiAgICAgICAgICAgICAgICBtb2RlOiBzaWduYWwoY29udGV4dC5nZXRWYXJpYWJsZSgnbW9kZScpIGFzIEFYUENvbXBhcmVWaWV3TW9kZSksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Db21wYXJlRW50aXR5UmVjb3Jkc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuXG4gICAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgW21vZHVsZU5hbWUsIGVudGl0eU5hbWVdID0gY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdlbnRpdHknKS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlSZWYgPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdHJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgICAgIGNvbnN0IHJlY29yZHMgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ2RhdGEnKSBhcyBhbnlbXTtcbiAgICAgICAgY29uc3QgaWRzID0gcmVjb3Jkcz8ubWFwKChyOiBhbnkpID0+IHIuaWQpIGFzIHN0cmluZ1tdO1xuICAgICAgICBjb25zdCBnZXRCeUlkID0gZW50aXR5UmVmLnF1ZXJpZXMuYnlLZXk/LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGZpZWxkczogQVhQQ29tcGFyZVZpZXdGaWVsZFtdID0gZW50aXR5UmVmLnByb3BlcnRpZXNcbiAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwLnNjaGVtYS5pbnRlcmZhY2UgJiYgcC5zY2hlbWEuaGlkZGVuICE9IHRydWUpXG4gICAgICAgICAgICAubWFwKChwKSA9PiAoe1xuICAgICAgICAgICAgICAgIHBhdGg6IHAubmFtZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogcC50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogcC5zY2hlbWEuaW50ZXJmYWNlPy50eXBlISxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHAuc2NoZW1hLmludGVyZmFjZT8ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBvYmplY3RzOiBBWFBDb21wYXJlVmlld09iamVjdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoaWRzLm1hcChhc3luYyBjID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9iamVjdCA9IGF3YWl0IGdldEJ5SWQoYyk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlkOiBvYmplY3QuaWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IG9iamVjdC50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogb2JqZWN0LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IG9iamVjdCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGNvbnN0IGlucHV0czogQVhQQ29tcGFyZVZpZXdJbnB1dHMgPSB7XG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkcyxcbiAgICAgICAgICAgIG9iamVjdHM6IG9iamVjdHMsXG4gICAgICAgIH1cblxuICAgICAgICAvL1xuICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdpbnB1dHMnLCBpbnB1dHMpO1xuICAgICAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdtb2RlJywgJ3JlY29yZHMnKTtcbiAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Jlc3VsdCcsIHRydWUpO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc0FjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBwcml2YXRlIGVudGl0eVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgYWN0aXZpdHlMb2dTZXJ2aWNlID0gaW5qZWN0KEFYUEFjdGl2aXR5TG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG5cbiAgICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSBjb250ZXh0LmdldFZhcmlhYmxlPHN0cmluZz4oJ2VudGl0eScpLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGVudGl0eVJlZiA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0cnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICAgICAgY29uc3QgcmVmSWQgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ2RhdGEucmVmSWQnKSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHJlZlR5cGUgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ2RhdGEucmVmVHlwZScpIGFzIHN0cmluZztcbiAgICAgICAgY29uc3QgaWRzID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdkYXRhLmlkcycpIGFzIHN0cmluZ1tdO1xuICAgICAgICBjb25zdCBoaXN0b3JpZXMgPSBhd2FpdCB0aGlzLmFjdGl2aXR5TG9nU2VydmljZS5nZXRIaXN0b3J5QnlJZHMocmVmSWQsIHJlZlR5cGUsIGlkcyk7XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGZpZWxkczogQVhQQ29tcGFyZVZpZXdGaWVsZFtdID0gZW50aXR5UmVmLnByb3BlcnRpZXNcbiAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwLnNjaGVtYS5pbnRlcmZhY2UgJiYgcC5zY2hlbWEuaGlkZGVuICE9IHRydWUpXG4gICAgICAgICAgICAubWFwKChwKSA9PiAoe1xuICAgICAgICAgICAgICAgIHBhdGg6IHAubmFtZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogcC50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogcC5zY2hlbWEuaW50ZXJmYWNlPy50eXBlISxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHAuc2NoZW1hLmludGVyZmFjZT8ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBvYmplY3RzOiBBWFBDb21wYXJlVmlld09iamVjdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoaGlzdG9yaWVzLm1hcChhc3luYyBoID0+ICh7XG4gICAgICAgICAgICBpZDogaC5pZCxcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGVBc3luYyhgQGFjdGl2aXR5LWxvZzoke2guY2hhbmdlVHlwZSA9PSAndXBkYXRlJyA/ICd1cGRhdGVkJyA6ICdjcmVhdGVkJ30tYnktdGl0bGVgLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXI6IGgudXNlcj8udGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIGRhdGU6IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQoaC5kYXRlLCAnZGF0ZXRpbWUnLCB7IGZvcm1hdDogJ3Nob3J0JyB9KSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBoLnVzZXI/LnRpdGxlLFxuICAgICAgICAgICAgY29udGV4dDogaC5kYXRhLFxuICAgICAgICB9KSkpO1xuICAgICAgICBjb25zdCBpbnB1dHM6IEFYUENvbXBhcmVWaWV3SW5wdXRzID0ge1xuICAgICAgICAgICAgZmllbGRzOiBmaWVsZHMsXG4gICAgICAgICAgICBvYmplY3RzOiBvYmplY3RzLFxuICAgICAgICB9XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ2lucHV0cycsIGlucHV0cyk7XG4gICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ21vZGUnLCAnY2hhbmdlcycpO1xuICAgICAgICBjb250ZXh0LnNldE91dHB1dCgncmVzdWx0JywgdHJ1ZSk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhNQ29tcGFyZUVudGl0eVJlY29yZHNXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gICAgc3RhcnRTdGVwSWQ6ICdzdGFydCcsXG4gICAgc3RlcHM6IHtcbiAgICAgICAgc3RhcnQ6IHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3Nob3ctZW50aXR5LXJlY29yZHMtY29tcGFyZS1hY3Rpb24nLFxuICAgICAgICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwicmVzdWx0XCIpID09IHRydWUnIH1dLFxuICAgICAgICAgICAgICAgICAgICBuZXh0U3RlcElkOiAnc2hvdy1wb3B1cCcsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgJ3Nob3ctcG9wdXAnOiB7XG4gICAgICAgICAgICBhY3Rpb246ICdzaG93LWNvbXBhcmUtcG9wdXAtYWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc1dvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgICBzdGFydFN0ZXBJZDogJ3N0YXJ0JyxcbiAgICBzdGVwczoge1xuICAgICAgICBzdGFydDoge1xuICAgICAgICAgICAgYWN0aW9uOiAnc2hvdy1lbnRpdHktcmVjb3JkLXZlcnNpb25zLWNvbXBhcmUtYWN0aW9uJyxcbiAgICAgICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcInJlc3VsdFwiKSA9PSB0cnVlJyB9XSxcbiAgICAgICAgICAgICAgICAgICAgbmV4dFN0ZXBJZDogJ3Nob3ctcG9wdXAnLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgICdzaG93LXBvcHVwJzoge1xuICAgICAgICAgICAgYWN0aW9uOiAnc2hvdy1jb21wYXJlLXBvcHVwLWFjdGlvbicsXG4gICAgICAgIH0sXG4gICAgfSxcbn07ICJdfQ==","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 * 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.1.8\", ngImport: i0, type: AXPCompareModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPCompareModule, imports: [AXPComparePopupComponent, i1.AXPWorkflowModule], exports: [AXPComparePopupComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPCompareModule, 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.1.8\", 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 }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcGFyZS9jb21wYXJlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwrQkFBK0IsRUFBRSxvQ0FBb0MsRUFBRSxzQ0FBc0MsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFtQnhOLE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLFlBZnJCLHdCQUF3QixtQ0FhbEIsd0JBQXdCOytHQUV6QixnQkFBZ0IsWUFmckIsd0JBQXdCO1lBQ3hCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztnQkFDdkIsT0FBTyxFQUFFO29CQUNMLDJCQUEyQixFQUFFLDBCQUEwQjtvQkFDdkQsb0NBQW9DLEVBQUUsNkJBQTZCO29CQUNuRSw0Q0FBNEMsRUFBRSxvQ0FBb0M7aUJBQ3JGO2dCQUNELFNBQVMsRUFBRTtvQkFDUCw2QkFBNkIsRUFBRSwrQkFBK0I7b0JBQzlELHFDQUFxQyxFQUFFLHNDQUFzQztpQkFDaEY7YUFDSixDQUFDOzsyRkFJRyxnQkFBZ0I7a0JBakI1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCx3QkFBd0I7d0JBQ3hCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQzs0QkFDdkIsT0FBTyxFQUFFO2dDQUNMLDJCQUEyQixFQUFFLDBCQUEwQjtnQ0FDdkQsb0NBQW9DLEVBQUUsNkJBQTZCO2dDQUNuRSw0Q0FBNEMsRUFBRSxvQ0FBb0M7NkJBQ3JGOzRCQUNELFNBQVMsRUFBRTtnQ0FDUCw2QkFBNkIsRUFBRSwrQkFBK0I7Z0NBQzlELHFDQUFxQyxFQUFFLHNDQUFzQzs2QkFDaEY7eUJBQ0osQ0FBQztxQkFDTDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQQ29tcGFyZVBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wYXJlLXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhNQ29tcGFyZUVudGl0eVJlY29yZHNBY3Rpb24sIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRzV29ya2Zsb3csIEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc0FjdGlvbiwgQVhNQ29tcGFyZUVudGl0eVJlY29yZFZlcnNpb25zV29ya2Zsb3csIEFYTUNvbXBhcmVQb3B1cFN0YXJ0QWN0aW9uIH0gZnJvbSAnLi93b3JrZmxvd3MvY29tcGFyZS53b3JrZmxvdyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBBWFBDb21wYXJlUG9wdXBDb21wb25lbnQsXG4gICAgICAgIEFYUFdvcmtmbG93TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgICAgICAgIGFjdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAnc2hvdy1jb21wYXJlLXBvcHVwLWFjdGlvbic6IEFYTUNvbXBhcmVQb3B1cFN0YXJ0QWN0aW9uLFxuICAgICAgICAgICAgICAgICdzaG93LWVudGl0eS1yZWNvcmRzLWNvbXBhcmUtYWN0aW9uJzogQVhNQ29tcGFyZUVudGl0eVJlY29yZHNBY3Rpb24sXG4gICAgICAgICAgICAgICAgJ3Nob3ctZW50aXR5LXJlY29yZC12ZXJzaW9ucy1jb21wYXJlLWFjdGlvbic6IEFYTUNvbXBhcmVFbnRpdHlSZWNvcmRWZXJzaW9uc0FjdGlvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3b3JrZmxvd3M6IHtcbiAgICAgICAgICAgICAgICAnc2hvdy1lbnRpdHktcmVjb3Jkcy1jb21wYXJlJzogQVhNQ29tcGFyZUVudGl0eVJlY29yZHNXb3JrZmxvdyxcbiAgICAgICAgICAgICAgICAnc2hvdy1lbnRpdHktcmVjb3JkLXZlcnNpb25zLWNvbXBhcmUnOiBBWE1Db21wYXJlRW50aXR5UmVjb3JkVmVyc2lvbnNXb3JrZmxvdyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgIF0sXG4gICAgZXhwb3J0czogW0FYUENvbXBhcmVQb3B1cENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvbXBhcmVNb2R1bGUgeyB9ICJdfQ==","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJvcGVydGllcy5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvY29tcHV0ZWQtcHJvcGVydGllcy9jb21wdXRlZC1wcm9wZXJ0aWVzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QkEsWUFBWTtBQUVaLDhCQUE4QjtBQUU5QixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBMEI7SUFDN0QsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUE0QyxFQUFFLEVBQUU7UUFDM0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUVELDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUM7UUFDcEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsSUFBSSxjQUFjLENBQUM7WUFDdkMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQVMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQztRQUVGLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDdkIsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUMvRCxzRUFBc0U7WUFDdEUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDakUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBUyxDQUFDLENBQUM7WUFDL0QsQ0FBQztZQUVELG1DQUFtQztZQUNuQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUNqQixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUNkLE9BQU87b0JBRVAsTUFBTSxFQUFFO3dCQUNOLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixRQUFRLEVBQUUsSUFBSTt3QkFDZCxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUs7d0JBQ3JCLFNBQVMsRUFBRTs0QkFDVCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksYUFBYTs0QkFDckMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7eUJBQzFEO3FCQUNGO2lCQUNLLENBQUMsQ0FBQztZQUNaLENBQUM7WUFFRCwyQ0FBMkM7WUFDM0MsTUFBTSxTQUFTLEdBQVEsR0FBRyxDQUFDLE1BQWEsQ0FBQztZQUN6QyxNQUFNLGNBQWMsR0FBVSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hGLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsU0FBUyxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7WUFFRCx3Q0FBd0M7WUFDeEMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFVLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQzt3QkFDbkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO3dCQUNaLE1BQU0sRUFBRTs0QkFDTixTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsRUFBRTs0QkFDckYsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTt5QkFDekI7cUJBQ0YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQztBQUVGLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBXaWRnZXRUeXBlc01hcCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuLy8jcmVnaW9uIC0tLS0gICBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQQ29tcHV0ZWRQcm9wZXJ0eUZpZWxkID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7IC8vIEV4cHJlc3Npb24tc3VwcG9ydGVkIHN0cmluZywgZS5nLiBcInt7IGNvbnRleHQuZXZhbCgnLi4uJykgfX1cIlxuICBncm91cDoge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgfTtcbiAgbGF5b3V0PzogeyBvcmRlcj86IG51bWJlcjsgY29sU3Bhbj86IG51bWJlciB9O1xuICBjb25kaXRpb25zPzogYW55W107IC8vIFJlc2VydmVkIGZvciBmdXR1cmUgbG9naWMgKHZpc2liaWxpdHkvY2FsY3VsYXRpb24pXG4gIHNob3dBcz86IHtcbiAgICB0eXBlOiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF0gfCBzdHJpbmc7XG4gICAgb3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBBWFBDb21wdXRlZFByb3BlcnRpZXNQbHVnaW5PcHRpb25zID0ge1xuICBmaWVsZHM/OiBBWFBDb21wdXRlZFByb3BlcnR5RmllbGRbXTtcbn07XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIFBsdWdpbiAgIC0tLS1cblxuZXhwb3J0IGNvbnN0IGNvbXB1dGVkUHJvcGVydGllc1BsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICBuYW1lOiAnY29tcHV0ZWQtcHJvcGVydHknLFxuICBvcmRlcjogNTUsXG4gIGFwcGx5OiAoY3R4LCBvcHRpb25zPzogQVhQQ29tcHV0ZWRQcm9wZXJ0aWVzUGx1Z2luT3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGZpZWxkcyA9IG9wdGlvbnM/LmZpZWxkcyA/PyBbXTtcbiAgICBpZiAoIWZpZWxkcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgZGVmYXVsdCBncm91cCBleGlzdHNcbiAgICBjb25zdCBkZWZhdWx0R3JvdXBJZCA9ICdhZGRpdGlvbmFsJztcbiAgICBjb25zdCBlbnN1cmVHcm91cCA9IChncm91cDogeyBpZDogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0pID0+IHtcbiAgICAgIGNvbnN0IGlkID0gZ3JvdXA/LmlkIHx8IGRlZmF1bHRHcm91cElkO1xuICAgICAgY29uc3QgZ3JvdXBzID0gY3R4Lmdyb3Vwcy5saXN0KCkgPz8gW107XG4gICAgICBpZiAoIWdyb3Vwcy5zb21lKChnOiBhbnkpID0+IGcuaWQgPT09IGlkKSkge1xuICAgICAgICBjdHguZ3JvdXBzLmFkZCh7IGlkLCB0aXRsZTogZ3JvdXA/LnRpdGxlIH0gYXMgYW55KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpZDtcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBmIG9mIGZpZWxkcykge1xuICAgICAgY29uc3QgZ3JvdXBJZCA9IGVuc3VyZUdyb3VwKGYuZ3JvdXAgfHwgeyBpZDogZGVmYXVsdEdyb3VwSWQgfSk7XG4gICAgICAvLyBJZiBncm91cCBpcyBuZXdseSBjcmVhdGVkIGFuZCBhIGN1c3RvbSB0aXRsZSBpcyBwcm92aWRlZCwgdXBkYXRlIGl0XG4gICAgICBjb25zdCBncm91cHMgPSBjdHguZ3JvdXBzLmxpc3QoKSA/PyBbXTtcbiAgICAgIGlmICghZ3JvdXBzLnNvbWUoKGc6IGFueSkgPT4gZy5pZCA9PT0gZ3JvdXBJZCkgJiYgZi5ncm91cD8udGl0bGUpIHtcbiAgICAgICAgY3R4Lmdyb3Vwcy5hZGQoeyBpZDogZ3JvdXBJZCwgdGl0bGU6IGYuZ3JvdXAudGl0bGUgfSBhcyBhbnkpO1xuICAgICAgfVxuXG4gICAgICAvLyBFbnN1cmUgcHJvcGVydHkgZXhpc3RzIG9uIGVudGl0eVxuICAgICAgY29uc3QgZXhpc3RpbmcgPSBjdHgucHJvcGVydGllcy5saXN0KCkuc29tZSgocDogYW55KSA9PiBwLm5hbWUgPT09IGYubmFtZSk7XG4gICAgICBpZiAoIWV4aXN0aW5nKSB7XG4gICAgICAgIGN0eC5wcm9wZXJ0aWVzLmFkZCh7XG4gICAgICAgICAgbmFtZTogZi5uYW1lLFxuICAgICAgICAgIHRpdGxlOiBmLnRpdGxlLFxuICAgICAgICAgIGdyb3VwSWQsXG5cbiAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmLnZhbHVlLFxuICAgICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICAgIHR5cGU6IGYuc2hvd0FzPy50eXBlIHx8ICd0ZXh0LWVkaXRvcicsXG4gICAgICAgICAgICAgIG9wdGlvbnM6IHsgLi4uKGYuc2hvd0FzPy5vcHRpb25zID8/IHt9KSwgcmVhZG9ubHk6IHRydWUgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgfVxuXG4gICAgICAvLyBFbnN1cmUgdGhlIGZpZWxkIGFwcGVhcnMgaW4gbGlzdCBjb2x1bW5zXG4gICAgICBjb25zdCBlbnRpdHlBbnk6IGFueSA9IGN0eC5lbnRpdHkgYXMgYW55O1xuICAgICAgY29uc3QgY3VycmVudENvbHVtbnM6IGFueVtdID0gQXJyYXkuaXNBcnJheShlbnRpdHlBbnkuY29sdW1ucykgPyBlbnRpdHlBbnkuY29sdW1ucyA6IFtdO1xuICAgICAgY29uc3QgaGFzQ29sdW1uID0gY3VycmVudENvbHVtbnMuc29tZSgoYzogYW55KSA9PiAodHlwZW9mIGMgPT09ICdzdHJpbmcnID8gYyA9PT0gZi5uYW1lIDogYz8ubmFtZSA9PT0gZi5uYW1lKSk7XG4gICAgICBpZiAoIWhhc0NvbHVtbikge1xuICAgICAgICBlbnRpdHlBbnkuY29sdW1ucyA9IFsuLi5jdXJyZW50Q29sdW1ucywgeyBuYW1lOiBmLm5hbWUgfV07XG4gICAgICB9XG5cbiAgICAgIC8vIEVuc3VyZSBTaW5nbGUgKGRldGFpbHMpIHZpZXcgc2hvd3MgaXRcbiAgICAgIGN0eC5pbnRlcmZhY2VzLm1hc3Rlci5zaW5nbGUudXBkYXRlKChzaW5nbGUpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dCA9IHNpbmdsZSA/PyAoeyB0aXRsZTogY3R4LmVudGl0eS50aXRsZSwgc2VjdGlvbnM6IFtdLCBwcm9wZXJ0aWVzOiBbXSB9IGFzIGFueSk7XG4gICAgICAgIG5leHQuc2VjdGlvbnMgPSBuZXh0LnNlY3Rpb25zID8/IFtdO1xuICAgICAgICBpZiAoIW5leHQuc2VjdGlvbnMuc29tZSgoczogYW55KSA9PiBzLmlkID09PSBncm91cElkKSkge1xuICAgICAgICAgIG5leHQuc2VjdGlvbnMucHVzaCh7IGlkOiBncm91cElkLCBvcmRlcjogOTAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgbmV4dC5wcm9wZXJ0aWVzID0gbmV4dC5wcm9wZXJ0aWVzID8/IFtdO1xuICAgICAgICBpZiAoIW5leHQucHJvcGVydGllcy5zb21lKChwOiBhbnkpID0+IHAubmFtZSA9PT0gZi5uYW1lKSkge1xuICAgICAgICAgIG5leHQucHJvcGVydGllcy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogZi5sYXlvdXQ/LmNvbFNwYW4gPz8gMTIsIG9yZGVyOiBmLmxheW91dD8ub3JkZXIgPz8gOTkgfSB9LFxuICAgICAgICAgICAgICBsYWJlbDogeyB2aXNpYmxlOiB0cnVlIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgfSk7XG4gICAgfVxuICB9LFxufTtcblxuLy8jZW5kcmVnaW9uXG4iXX0=","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.1.8\", ngImport: i0, type: AXPComputedPropertiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPComputedPropertiesModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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, 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.1.8\", ngImport: i0, type: AXPExtraPropertiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPExtraPropertiesModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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.1.8\", ngImport: i0, type: AXPGlobalSearchSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", 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.1.8\", 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.1.8\", ngImport: i0, type: AXPGlobalSearchStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPGlobalSearchStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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.1.8\", ngImport: i0, type: AXPGlobalSearchModule, imports: [i2.AXPComponentSlotModule, i3.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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.1.8\", 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 { inject } from '@angular/core';\nimport { AXPLockService } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nexport const lockGuardMiddleware = {\n target: { ops: ['update', 'delete'], order: 10 },\n execute: async (ctx, next) => {\n const lockService = inject(AXPLockService);\n const session = inject(AXPSessionService);\n const lock = await lockService.check({ refId: ctx.id, refType: ctx.entityName });\n if (lock) {\n const info = await lockService.getInfo({ refId: ctx.id, refType: ctx.entityName });\n if (info && session.user && info.lockedBy.id !== session.user.id) {\n throw new Error('This record is locked and cannot be edited.');\n }\n }\n await next();\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1ndWFyZC5taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2xvY2stc3lzdGVtL2xvY2stZ3VhcmQubWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBK0I7SUFDM0QsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7SUFDaEQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDekIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNsRixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsTUFBTSxJQUFJLEdBQUcsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3BGLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQTG9ja1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBFbnRpdHlTdG9yYWdlTWlkZGxld2FyZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBsb2NrR3VhcmRNaWRkbGV3YXJlOiBBWFBFbnRpdHlTdG9yYWdlTWlkZGxld2FyZSA9IHtcbiAgICB0YXJnZXQ6IHsgb3BzOiBbJ3VwZGF0ZScsICdkZWxldGUnXSwgb3JkZXI6IDEwIH0sXG4gICAgZXhlY3V0ZTogYXN5bmMgKGN0eCwgbmV4dCkgPT4ge1xuICAgICAgICBjb25zdCBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuXG4gICAgICAgIGNvbnN0IGxvY2sgPSBhd2FpdCBsb2NrU2VydmljZS5jaGVjayh7IHJlZklkOiBjdHguaWQhLCByZWZUeXBlOiBjdHguZW50aXR5TmFtZSB9KTtcbiAgICAgICAgaWYgKGxvY2spIHtcbiAgICAgICAgICAgIGNvbnN0IGluZm8gPSBhd2FpdCBsb2NrU2VydmljZS5nZXRJbmZvKHsgcmVmSWQ6IGN0eC5pZCEsIHJlZlR5cGU6IGN0eC5lbnRpdHlOYW1lIH0pO1xuICAgICAgICAgICAgaWYgKGluZm8gJiYgc2Vzc2lvbi51c2VyICYmIGluZm8ubG9ja2VkQnkuaWQgIT09IHNlc3Npb24udXNlci5pZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyByZWNvcmQgaXMgbG9ja2VkIGFuZCBjYW5ub3QgYmUgZWRpdGVkLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgbmV4dCgpO1xuICAgIH0sXG59O1xuXG5cbiJdfQ==","import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nexport class AXMLockPopupWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const comp = (await import('../lock-popup')).AXPLockPopupComponent;\n const result = await this.popupService.open(comp, {\n title: await this.translationService.translateAsync('@lock-system:lock.dialog.title'),\n data: {\n refId: context.getVariable('options.refId'),\n refType: context.getVariable('options.refType'),\n },\n });\n if (result.data != null && result.data.isCanceled != null) {\n context.setOutput('isCanceled', result.data.isCanceled);\n if (!result.data.isCanceled) {\n context.setOutput('lockDuration', result.data.duration);\n context.setOutput('lockReason', result.data.reason);\n }\n }\n else {\n context.setOutput('isCanceled', true);\n }\n }\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1wb3B1cC53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9sb2NrLXN5c3RlbS93b3JrZmxvd3MvbG9jay1wb3B1cC53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQUFqRTs7UUFDRSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQXNCcEQsQ0FBQztJQXBCVSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ2hELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztRQUNuRSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNoRCxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGdDQUFnQyxDQUFDO1lBQ3JGLElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBUyxlQUFlLENBQUM7Z0JBQ25ELE9BQU8sRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFTLGlCQUFpQixDQUFDO2FBQ3hEO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxRCxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUM1QixPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN4RCxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFJRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBZ0I7SUFDL0MsV0FBVyxFQUFFLFlBQVk7SUFDekIsS0FBSyxFQUFFO1FBQ0wsWUFBWSxFQUFFO1lBQ1osTUFBTSxFQUFFLDRCQUE0QjtZQUNwQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSwwQ0FBMEMsRUFBRSxDQUFDO29CQUN4RixVQUFVLEVBQUUsY0FBYztpQkFDM0I7YUFDRjtTQUNGO1FBQ0QsWUFBWSxFQUFFO1lBQ1osRUFBRSxFQUFFLGNBQWM7WUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixLQUFLLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSxnQ0FBZ0M7Z0JBQ3ZDLE9BQU8sRUFBRSwrQkFBK0I7YUFDekM7WUFDRCxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsVUFBVSxFQUFFLEVBQUU7b0JBQ2QsVUFBVSxFQUFFLGlCQUFpQjtpQkFDOUI7YUFDRjtTQUNGO1FBQ0QsZUFBZSxFQUFFO1lBQ2YsRUFBRSxFQUFFLGlCQUFpQjtZQUNyQixNQUFNLEVBQUUsZ0NBQWdDO1NBQ3pDO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQVhNTG9ja1BvcHVwV29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb21wID0gKGF3YWl0IGltcG9ydCgnLi4vbG9jay1wb3B1cCcpKS5BWFBMb2NrUG9wdXBDb21wb25lbnQ7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCB7XG4gICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmRpYWxvZy50aXRsZScpLFxuICAgICAgZGF0YToge1xuICAgICAgICByZWZJZDogY29udGV4dC5nZXRWYXJpYWJsZTxzdHJpbmc+KCdvcHRpb25zLnJlZklkJyksXG4gICAgICAgIHJlZlR5cGU6IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZUeXBlJyksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHJlc3VsdC5kYXRhICE9IG51bGwgJiYgcmVzdWx0LmRhdGEuaXNDYW5jZWxlZCAhPSBudWxsKSB7XG4gICAgICBjb250ZXh0LnNldE91dHB1dCgnaXNDYW5jZWxlZCcsIHJlc3VsdC5kYXRhLmlzQ2FuY2VsZWQpO1xuICAgICAgaWYgKCFyZXN1bHQuZGF0YS5pc0NhbmNlbGVkKSB7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdsb2NrRHVyYXRpb24nLCByZXN1bHQuZGF0YS5kdXJhdGlvbik7XG4gICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdsb2NrUmVhc29uJywgcmVzdWx0LmRhdGEucmVhc29uKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ2lzQ2FuY2VsZWQnLCB0cnVlKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbmV4cG9ydCBjb25zdCBBWE1Mb2NrUG9wdXBXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAnbG9jay1wb3B1cCcsXG4gIHN0ZXBzOiB7XG4gICAgJ2xvY2stcG9wdXAnOiB7XG4gICAgICBhY3Rpb246ICdBWE1Mb2NrUG9wdXBXb3JrZmxvd0FjdGlvbicsXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJpc0NhbmNlbGVkXCIpID09IGZhbHNlJyB9XSxcbiAgICAgICAgICBuZXh0U3RlcElkOiAnc3VjY2Vzc1RvYXN0JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBzdWNjZXNzVG9hc3Q6IHtcbiAgICAgIGlkOiAnc3VjY2Vzc1RvYXN0JyxcbiAgICAgIGFjdGlvbjogJ0FYUFRvYXN0QWN0aW9uJyxcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIHRpdGxlOiAnd29ya2Zsb3cuZW50aXR5LW1vZGlmaWVkLXRpdGxlJyxcbiAgICAgICAgY29udGVudDogJ3dvcmtmbG93LmVudGl0eS1tb2RpZmllZC1ib2R5JyxcbiAgICAgIH0sXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIG1vZGlmeUNvbmZpcm1lZDoge1xuICAgICAgaWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgYWN0aW9uOiAnQVhQRW50aXR5TW9kaWZ5Q29uZmlybWVkQWN0aW9uJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==","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","import { AXPLockService } from \"@acorex/platform/common\";\nimport { inject } from \"@angular/core\";\nexport class AXMLockEvaluatorScopeProvider {\n constructor() {\n this.lockService = inject(AXPLockService);\n }\n async provide(context) {\n context.addScope('lock', {\n check: async (refId, refType) => {\n const lock = await this.lockService.check({\n refId, refType\n });\n return lock;\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1ldmFsdWF0b3Itc2NvcGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvbG9jay1zeXN0ZW0vbG9jay1ldmFsdWF0b3Itc2NvcGUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLDZCQUE2QjtJQUExQztRQUVjLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBWW5ELENBQUM7SUFWRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1EO1FBQzdELE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3JCLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBYSxFQUFFLE9BQWUsRUFBRSxFQUFFO2dCQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO29CQUN0QyxLQUFLLEVBQUUsT0FBTztpQkFDakIsQ0FBQyxDQUFDO2dCQUNILE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBMb2NrU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXIsIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvcmVcIjtcbmltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjbGFzcyBBWE1Mb2NrRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByb3RlY3RlZCBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCdsb2NrJywge1xuICAgICAgICAgICAgY2hlY2s6IGFzeW5jIChyZWZJZDogc3RyaW5nLCByZWZUeXBlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NrID0gYXdhaXQgdGhpcy5sb2NrU2VydmljZS5jaGVjayh7XG4gICAgICAgICAgICAgICAgICAgIHJlZklkLCByZWZUeXBlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxufSJdfQ==","import { AXPEntityCommandScope } from '@acorex/platform/common';\nimport { ensureListActions } from '@acorex/platform/layout/entity';\nexport const lockPlugin = {\n name: 'lock',\n order: 50,\n apply: (ctx) => {\n ensureListActions(ctx);\n ctx.interfaces.update((i) => {\n const actions = i.master.list.actions;\n ctx.properties.list().forEach(p => {\n if (p.schema.interface) {\n p.schema.interface.options = {\n ...p.schema.interface.options,\n readonly: `{{ lock.check(context.eval(\"id\"), \"${ctx.entity.module}.${ctx.entity.name}\") }}`\n };\n }\n });\n if (!actions.some((a) => a.name === 'lock-entity')) {\n actions.push({\n title: '@lock-system:lock.title',\n name: 'lock-entity',\n command: {\n name: 'lock-popup',\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'lock',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ lock.check(context.eval(\"id\"), \"${ctx.entity.module}.${ctx.entity.name}\") }}`,\n });\n }\n if (!actions.some((a) => a.name === 'unlock-entity')) {\n actions.push({\n title: '@lock-system:unlock.title',\n name: 'unlock-entity',\n command: {\n name: 'unlock-confirm',\n options: {\n refId: '{{ context.eval(\"id\") }}',\n refType: `${ctx.entity.module}.${ctx.entity.name}`,\n },\n },\n priority: 'secondary',\n type: 'unlock',\n scope: AXPEntityCommandScope.Individual,\n hidden: `{{ (await lock.check(context.eval(\"id\"), \"${ctx.entity.module}.${ctx.entity.name}\")) == false }}`,\n });\n }\n return i;\n });\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvbG9jay1zeXN0ZW0vbG9jay5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBeUIsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUxRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTBCO0lBQzdDLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsTUFBTSxPQUFPLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEIsQ0FBQztZQUVwRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDMUIsSUFBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBQyxDQUFDO29CQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUc7d0JBQ3pCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTzt3QkFDN0IsUUFBUSxFQUFHLHNDQUFzQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTztxQkFDL0YsQ0FBQztnQkFDTixDQUFDO1lBRVQsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNULEtBQUssRUFBRSx5QkFBeUI7b0JBQ2hDLElBQUksRUFBRSxhQUFhO29CQUNuQixPQUFPLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLE9BQU8sRUFBRTs0QkFDTCxLQUFLLEVBQUUsMEJBQTBCOzRCQUNqQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTt5QkFDckQ7cUJBQ0o7b0JBQ0QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxNQUFNO29CQUNaLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO29CQUN2QyxNQUFNLEVBQUUsc0NBQXNDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPO2lCQUM1RixDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDbkQsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDVCxLQUFLLEVBQUUsMkJBQTJCO29CQUNsQyxJQUFJLEVBQUUsZUFBZTtvQkFDckIsT0FBTyxFQUFFO3dCQUNMLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE9BQU8sRUFBRTs0QkFDTCxLQUFLLEVBQUUsMEJBQTBCOzRCQUNqQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTt5QkFDckQ7cUJBQ0o7b0JBQ0QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLElBQUksRUFBRSxRQUFRO29CQUNkLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxVQUFVO29CQUN2QyxNQUFNLEVBQUUsNkNBQTZDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxrQkFBa0I7aUJBQzlHLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLENBQVEsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uLCBBWFBFbnRpdHlDb21tYW5kU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb25QbHVnaW4sIGVuc3VyZUxpc3RBY3Rpb25zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IGxvY2tQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnbG9jaycsXG4gICAgb3JkZXI6IDUwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLnVwZGF0ZSgoaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBBWFBFbnRpdHlBY3Rpb25bXTtcblxuICAgICAgICAgICAgY3R4LnByb3BlcnRpZXMubGlzdCgpLmZvckVhY2gocCA9PiB7IFxuICAgICAgICAgICAgICAgICAgICBpZihwLnNjaGVtYS5pbnRlcmZhY2Upe1xuICAgICAgICAgICAgICAgICAgICAgICAgcC5zY2hlbWEuaW50ZXJmYWNlLm9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucC5zY2hlbWEuaW50ZXJmYWNlLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHkgOiBge3sgbG9jay5jaGVjayhjb250ZXh0LmV2YWwoXCJpZFwiKSwgXCIke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1cIikgfX1gXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKCFhY3Rpb25zLnNvbWUoKGEpID0+IGEubmFtZSA9PT0gJ2xvY2stZW50aXR5JykpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Bsb2NrLXN5c3RlbTpsb2NrLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2xvY2stZW50aXR5JyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2xvY2stcG9wdXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbG9jaycsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgbG9jay5jaGVjayhjb250ZXh0LmV2YWwoXCJpZFwiKSwgXCIke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1cIikgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFhY3Rpb25zLnNvbWUoKGEpID0+IGEubmFtZSA9PT0gJ3VubG9jay1lbnRpdHknKSkge1xuICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGxvY2stc3lzdGVtOnVubG9jay50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICd1bmxvY2stZW50aXR5JyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3VubG9jay1jb25maXJtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZJZDogJ3t7IGNvbnRleHQuZXZhbChcImlkXCIpIH19JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlOiBgJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3VubG9jaycsXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBge3sgKGF3YWl0IGxvY2suY2hlY2soY29udGV4dC5ldmFsKFwiaWRcIiksIFwiJHtjdHguZW50aXR5Lm1vZHVsZX0uJHtjdHguZW50aXR5Lm5hbWV9XCIpKSAgPT0gZmFsc2UgfX1gLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcbiAgICB9LFxufTtcblxuXG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex/platform/layout/entity';\nimport { lockGuardMiddleware } from './lock-guard.middleware';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMLockPopupWorkflow, AXMLockPopupWorkflowAction, AXMUnlockConfirmWorkflow, AXMUnlockConfirmWorkflowAction } from './workflows';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';\nimport { AXMLockEvaluatorScopeProvider } from './lock-evaluator-scope.provider';\nimport { lockPlugin } from './lock.plugin';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nexport class AXMLockSystemModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMLockSystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMLockSystemModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMLockSystemModule, providers: [\n { provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, multi: true, useClass: AXMLockEvaluatorScopeProvider },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: lockPlugin },\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: lockGuardMiddleware },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n AXMLockPopupWorkflowAction,\n AXMUnlockConfirmWorkflowAction,\n },\n workflows: {\n 'lock-popup': AXMLockPopupWorkflow,\n 'unlock-confirm': AXMUnlockConfirmWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMLockSystemModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n AXMLockPopupWorkflowAction,\n AXMUnlockConfirmWorkflowAction,\n },\n workflows: {\n 'lock-popup': AXMLockPopupWorkflow,\n 'unlock-confirm': AXMUnlockConfirmWorkflow,\n },\n }),\n ],\n providers: [\n { provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, multi: true, useClass: AXMLockEvaluatorScopeProvider },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: lockPlugin },\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: lockGuardMiddleware },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1zeXN0ZW0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvbGliL2ZlYXR1cmVzL2xvY2stc3lzdGVtL2xvY2stc3lzdGVtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6SSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFxQjNDLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsYUFOakI7WUFDUCxFQUFFLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRTtZQUMxRyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7WUFDeEUsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7U0FDekYsWUFmRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRTtvQkFDTCwwQkFBMEI7b0JBQzFCLDhCQUE4QjtpQkFDakM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLFlBQVksRUFBRSxvQkFBb0I7b0JBQ2xDLGdCQUFnQixFQUFFLHdCQUF3QjtpQkFDN0M7YUFDSixDQUFDOzsyRkFRRyxtQkFBbUI7a0JBbkIvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3ZCLE9BQU8sRUFBRTtnQ0FDTCwwQkFBMEI7Z0NBQzFCLDhCQUE4Qjs2QkFDakM7NEJBQ0QsU0FBUyxFQUFFO2dDQUNQLFlBQVksRUFBRSxvQkFBb0I7Z0NBQ2xDLGdCQUFnQixFQUFFLHdCQUF3Qjs2QkFDN0M7eUJBQ0osQ0FBQztxQkFDTDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsNkJBQTZCLEVBQUU7d0JBQzFHLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTt3QkFDeEUsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7cUJBQ3pGO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUF9FTlRJVFlfQUNUSU9OX1BMVUdJTiwgQVhQX0VOVElUWV9TVE9SQUdFX01JRERMRVdBUkUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgbG9ja0d1YXJkTWlkZGxld2FyZSB9IGZyb20gJy4vbG9jay1ndWFyZC5taWRkbGV3YXJlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWE1Mb2NrUG9wdXBXb3JrZmxvdywgQVhNTG9ja1BvcHVwV29ya2Zsb3dBY3Rpb24sIEFYTVVubG9ja0NvbmZpcm1Xb3JrZmxvdywgQVhNVW5sb2NrQ29uZmlybVdvcmtmbG93QWN0aW9uIH0gZnJvbSAnLi93b3JrZmxvd3MnO1xuaW1wb3J0IHsgQVhQX0VYUFJFU1NJT05fRVZBTFVBVE9SX1NDT1BFX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYTUxvY2tFdmFsdWF0b3JTY29wZVByb3ZpZGVyIH0gZnJvbSAnLi9sb2NrLWV2YWx1YXRvci1zY29wZS5wcm92aWRlcic7XG5pbXBvcnQgeyBsb2NrUGx1Z2luIH0gZnJvbSAnLi9sb2NrLnBsdWdpbic7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgICAgICBhY3Rpb25zOiB7XG4gICAgICAgICAgICAgICAgQVhNTG9ja1BvcHVwV29ya2Zsb3dBY3Rpb24sXG4gICAgICAgICAgICAgICAgQVhNVW5sb2NrQ29uZmlybVdvcmtmbG93QWN0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAgICAgICAgICdsb2NrLXBvcHVwJzogQVhNTG9ja1BvcHVwV29ya2Zsb3csXG4gICAgICAgICAgICAgICAgJ3VubG9jay1jb25maXJtJzogQVhNVW5sb2NrQ29uZmlybVdvcmtmbG93LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsIG11bHRpOiB0cnVlLCB1c2VDbGFzczogQVhNTG9ja0V2YWx1YXRvclNjb3BlUHJvdmlkZXIgfSxcbiAgICAgICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogbG9ja1BsdWdpbiB9LFxuICAgICAgICB7IHByb3ZpZGU6IEFYUF9FTlRJVFlfU1RPUkFHRV9NSURETEVXQVJFLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGxvY2tHdWFyZE1pZGRsZXdhcmUgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1Mb2NrU3lzdGVtTW9kdWxlIHsgfSAgICAiXX0=","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 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.1.8\", ngImport: i0, type: AXMVersionHistoryPopupStartAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMVersionHistoryPopupStartAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wb3B1cC53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3Rvcnkvd29ya2Zsb3dzL2hpc3RvcnktcG9wdXAud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGlCQUFpQjtJQUR4RTs7UUFFVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FnQmxEO0lBZFUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNoRCxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLHVGQUF1RixDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQztRQUM3SixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDM0IsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsb0NBQW9DLENBQUM7WUFDaEYsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7Z0JBQy9DLFFBQVEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDO2dCQUNqRCxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDN0MsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO2dCQUMzQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBakJVLGlDQUFpQztrSEFBakMsaUNBQWlDOzsyRkFBakMsaUNBQWlDO2tCQUQ3QyxVQUFVOztBQXFCWCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBZ0I7SUFDekQsV0FBVyxFQUFFLE9BQU87SUFDcEIsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLG1DQUFtQztTQUM1QztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXBcIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS90cmFuc2xhdGlvblwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNVmVyc2lvbkhpc3RvcnlQb3B1cFN0YXJ0QWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbXAgPSAoYXdhaXQgaW1wb3J0KCcuLi9jb21wb25lbnRzL3RpbWVsaW5lLXZlcnNpb24taGlzdG9yeS1wb3B1cC90aW1lbGluZS12ZXJzaW9uLWhpc3RvcnktcG9wdXAuY29tcG9uZW50JykpLkFYTVRpbWVsaW5lVmVyc2lvbkhpc3RvcnlQb3B1cENvbXBvbmVudDtcbiAgICB0aGlzLnBvcHVwU2VydmljZS5vcGVuKGNvbXAsIHtcbiAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGVBc3luYygnQGFjdGl2aXR5LWxvZzphY3Rpb25zLnZpZXctaGlzdG9yeScpLFxuICAgICAgZGF0YToge1xuICAgICAgICByZWZJZDogY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy5yZWZJZCcpLFxuICAgICAgICByZWZUeXBlOiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLnJlZlR5cGUnKSxcbiAgICAgICAgZnJvbURhdGU6IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMuZnJvbURhdGUnKSxcbiAgICAgICAgdG9EYXRlOiBjb250ZXh0LmdldFZhcmlhYmxlKCdvcHRpb25zLnRvRGF0ZScpLFxuICAgICAgICBsaW1pdDogY29udGV4dC5nZXRWYXJpYWJsZSgnb3B0aW9ucy5saW1pdCcpLFxuICAgICAgICBvZmZzZXQ6IGNvbnRleHQuZ2V0VmFyaWFibGUoJ29wdGlvbnMub2Zmc2V0JyksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwV29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICBzdGFydFN0ZXBJZDogJ3N0YXJ0JyxcbiAgc3RlcHM6IHtcbiAgICBzdGFydDoge1xuICAgICAgYWN0aW9uOiAnc2hvdy12ZXJzaW9uLWhpc3RvcnktcG9wdXAtYWN0aW9uJyxcbiAgICB9LFxuICB9LFxufTsiXX0=","import { inject } from '@angular/core';\nimport { AXPDataGenerator, AXPSystemActionType, extractTextFromHtml } from '@acorex/platform/core';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXP_ENTITY_STORAGE_BACKEND, AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { detectEntityChanges } from '@acorex/platform/layout/entity';\nexport const historyLoggerMiddleware = {\n target: { ops: ['create', 'update', 'delete'], order: 80 },\n execute: async (ctx, next) => {\n const entityRegistry = inject(AXPEntityDefinitionRegistryService);\n const sessionService = inject(AXPSessionService);\n const backend = inject(AXP_ENTITY_STORAGE_BACKEND);\n // Capture previous for update/delete\n if (ctx.op === 'update' || ctx.op === 'delete') {\n try {\n ctx.previous = await ctx.backend.getOneRaw(ctx.entityName, ctx.id);\n }\n catch { /* ignore */ }\n }\n await next();\n // Build history entry\n const now = new Date();\n const [moduleName, entityModuleName] = ctx.entityName.split('.');\n const entityConfig = await entityRegistry.resolve(moduleName, entityModuleName);\n const actions = [];\n if (ctx.op === 'update' && ctx.previous && ctx.result) {\n const changes = detectEntityChanges(ctx.previous, ctx.result);\n // Build actions similar to old addToHistory mapping by widget type\n if (entityConfig) {\n for (const [key, value] of Object.entries(changes)) {\n const property = entityConfig.properties.find((p) => p.name === key);\n if (property && property.schema?.interface) {\n const widgetType = property.schema.interface.type;\n switch (widgetType) {\n case 'file-uploader':\n if (value.added?.length) {\n actions.push({\n type: AXPSystemActionType.Upload,\n description: `\"${value.added?.map((item) => item.name).join(', ')}\"`,\n });\n }\n if (value.removed?.length) {\n actions.push({\n type: AXPSystemActionType.Delete,\n description: `\"${value.removed?.map((item) => item.name).join(', ')}\"`,\n });\n }\n break;\n case 'large-text-editor':\n case 'rich-text-editor': {\n const safeValue = extractTextFromHtml(value.newValue);\n actions.push({\n type: AXPSystemActionType.Update,\n description: `${property.title} to \"${safeValue.length > 100 ? safeValue.slice(0, 30) + '...' : safeValue}\"`,\n });\n break;\n }\n case 'text-editor':\n actions.push({\n type: AXPSystemActionType.Update,\n description: `${property.title} to \"${value.newValue.length > 100 ? value.newValue.slice(0, 30) + '...' : value.newValue}\"`,\n });\n break;\n default:\n actions.push({ type: AXPSystemActionType.Update, description: `${property.title}` });\n }\n }\n }\n }\n // Expose raw changes to event middleware\n ctx.locals.set('changes', changes);\n }\n // Compute reference ID and final data per operation\n let referenceId;\n let finalData = undefined;\n if (ctx.op === 'create') {\n const createdId = String(ctx.result);\n const createdEntity = { ...ctx.data, id: createdId };\n referenceId = createdId;\n finalData = createdEntity;\n }\n else if (ctx.op === 'update') {\n referenceId = String(ctx.id);\n finalData = ctx.result;\n }\n else {\n // delete\n referenceId = String(ctx.id);\n finalData = ctx.previous;\n }\n const record = {\n id: AXPDataGenerator.uuid(),\n title: entityConfig?.title ?? now.toISOString(),\n date: now,\n user: {\n id: sessionService.user?.id ?? 'system',\n name: sessionService.user?.name ?? 'System',\n title: sessionService.user?.title ?? 'System',\n },\n reference: { id: referenceId, type: ctx.entityName },\n changeType: ctx.op === 'create'\n ? AXPSystemActionType.Create\n : ctx.op === 'update'\n ? AXPSystemActionType.Update\n : AXPSystemActionType.Delete,\n changes: actions,\n data: finalData,\n };\n // Persist via backend raw insert to avoid recursive middleware\n try {\n await backend.insertOne(`${ctx.entityName}-history`, { ...record, isCurrent: true });\n }\n catch (error) {\n console.error(error);\n // swallow errors to avoid breaking main flow\n }\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1sb2dnZXIubWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvaGlzdG9yeS1sb2dnZXIubWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBd0MsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsa0NBQWtDLEVBQThCLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUksT0FBTyxFQUFFLG1CQUFtQixFQUFzQixNQUFNLGdDQUFnQyxDQUFDO0FBRXpGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUErQjtJQUMvRCxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7SUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDekIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDbEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFbkQscUNBQXFDO1FBQ3JDLElBQUksR0FBRyxDQUFDLEVBQUUsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUM7Z0JBQ0Qs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LEVBQUUsU0FBUztTQUNsQixDQUFDO1FBRUYsK0RBQStEO1FBQy9ELElBQUksQ0FBQztZQUNELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLFVBQVUsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVMsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQiw2Q0FBNkM7UUFDakQsQ0FBQztJQUNMLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBBY3Rpdml0eUxvZywgQVhQQWN0aXZpdHlMb2dDaGFuZ2UsIEFYUERhdGFHZW5lcmF0b3IsIEFYUFN5c3RlbUFjdGlvblR5cGUsIGV4dHJhY3RUZXh0RnJvbUh0bWwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9TVE9SQUdFX0JBQ0tFTkQsIEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UsIEFYUEVudGl0eVN0b3JhZ2VNaWRkbGV3YXJlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IGRldGVjdEVudGl0eUNoYW5nZXMsIEFYUEVudGl0eUNoYW5nZVNldCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5cbmV4cG9ydCBjb25zdCBoaXN0b3J5TG9nZ2VyTWlkZGxld2FyZTogQVhQRW50aXR5U3RvcmFnZU1pZGRsZXdhcmUgPSB7XG4gICAgdGFyZ2V0OiB7IG9wczogWydjcmVhdGUnLCAndXBkYXRlJywgJ2RlbGV0ZSddLCBvcmRlcjogODAgfSxcbiAgICBleGVjdXRlOiBhc3luYyAoY3R4LCBuZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGVudGl0eVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgICAgICBjb25zdCBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gICAgICAgIGNvbnN0IGJhY2tlbmQgPSBpbmplY3QoQVhQX0VOVElUWV9TVE9SQUdFX0JBQ0tFTkQpO1xuXG4gICAgICAgIC8vIENhcHR1cmUgcHJldmlvdXMgZm9yIHVwZGF0ZS9kZWxldGVcbiAgICAgICAgaWYgKGN0eC5vcCA9PT0gJ3VwZGF0ZScgfHwgY3R4Lm9wID09PSAnZGVsZXRlJykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjdHgucHJldmlvdXMgPSBhd2FpdCBjdHguYmFja2VuZC5nZXRPbmVSYXcoY3R4LmVudGl0eU5hbWUsIGN0eC5pZCEpO1xuICAgICAgICAgICAgfSBjYXRjaCB7IC8qIGlnbm9yZSAqLyB9XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBuZXh0KCk7XG5cbiAgICAgICAgLy8gQnVpbGQgaGlzdG9yeSBlbnRyeVxuICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TW9kdWxlTmFtZV0gPSBjdHguZW50aXR5TmFtZS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHlDb25maWcgPSBhd2FpdCBlbnRpdHlSZWdpc3RyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU1vZHVsZU5hbWUpO1xuXG4gICAgICAgIGNvbnN0IGFjdGlvbnM6IEFYUEFjdGl2aXR5TG9nQ2hhbmdlW10gPSBbXTtcbiAgICAgICAgaWYgKGN0eC5vcCA9PT0gJ3VwZGF0ZScgJiYgY3R4LnByZXZpb3VzICYmIGN0eC5yZXN1bHQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZXM6IEFYUEVudGl0eUNoYW5nZVNldCA9IGRldGVjdEVudGl0eUNoYW5nZXMoY3R4LnByZXZpb3VzLCBjdHgucmVzdWx0KTtcblxuICAgICAgICAgICAgLy8gQnVpbGQgYWN0aW9ucyBzaW1pbGFyIHRvIG9sZCBhZGRUb0hpc3RvcnkgbWFwcGluZyBieSB3aWRnZXQgdHlwZVxuICAgICAgICAgICAgaWYgKGVudGl0eUNvbmZpZykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNoYW5nZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gZW50aXR5Q29uZmlnLnByb3BlcnRpZXMuZmluZCgocDogYW55KSA9PiBwLm5hbWUgPT09IGtleSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5zY2hlbWE/LmludGVyZmFjZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2lkZ2V0VHlwZSA9IHByb3BlcnR5LnNjaGVtYS5pbnRlcmZhY2UudHlwZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAod2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2ZpbGUtdXBsb2FkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHZhbHVlIGFzIGFueSkuYWRkZWQ/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlVwbG9hZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYFwiJHsodmFsdWUgYXMgYW55KS5hZGRlZD8ubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZSkuam9pbignLCAnKX1cImAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHZhbHVlIGFzIGFueSkucmVtb3ZlZD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFYUFN5c3RlbUFjdGlvblR5cGUuRGVsZXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgXCIkeyh2YWx1ZSBhcyBhbnkpLnJlbW92ZWQ/Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLm5hbWUpLmpvaW4oJywgJyl9XCJgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbGFyZ2UtdGV4dC1lZGl0b3InOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3JpY2gtdGV4dC1lZGl0b3InOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNhZmVWYWx1ZSA9IGV4dHJhY3RUZXh0RnJvbUh0bWwoKHZhbHVlIGFzIGFueSkubmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VcGRhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7cHJvcGVydHkudGl0bGV9IHRvIFwiJHtzYWZlVmFsdWUubGVuZ3RoID4gMTAwID8gc2FmZVZhbHVlLnNsaWNlKDAsIDMwKSArICcuLi4nIDogc2FmZVZhbHVlfVwiYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd0ZXh0LWVkaXRvcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlVwZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHtwcm9wZXJ0eS50aXRsZX0gdG8gXCIkeyh2YWx1ZSBhcyBhbnkpLm5ld1ZhbHVlLmxlbmd0aCA+IDEwMCA/ICh2YWx1ZSBhcyBhbnkpLm5ld1ZhbHVlLnNsaWNlKDAsIDMwKSArICcuLi4nIDogKHZhbHVlIGFzIGFueSkubmV3VmFsdWV9XCJgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHsgdHlwZTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VcGRhdGUsIGRlc2NyaXB0aW9uOiBgJHtwcm9wZXJ0eS50aXRsZX1gIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBFeHBvc2UgcmF3IGNoYW5nZXMgdG8gZXZlbnQgbWlkZGxld2FyZVxuICAgICAgICAgICAgY3R4LmxvY2Fscy5zZXQoJ2NoYW5nZXMnLCBjaGFuZ2VzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbXB1dGUgcmVmZXJlbmNlIElEIGFuZCBmaW5hbCBkYXRhIHBlciBvcGVyYXRpb25cbiAgICAgICAgbGV0IHJlZmVyZW5jZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBmaW5hbERhdGE6IGFueSA9IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGN0eC5vcCA9PT0gJ2NyZWF0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGNyZWF0ZWRJZCA9IFN0cmluZyhjdHgucmVzdWx0KTtcbiAgICAgICAgICAgIGNvbnN0IGNyZWF0ZWRFbnRpdHkgPSB7IC4uLihjdHguZGF0YSBhcyBhbnkpLCBpZDogY3JlYXRlZElkIH07XG4gICAgICAgICAgICByZWZlcmVuY2VJZCA9IGNyZWF0ZWRJZDtcbiAgICAgICAgICAgIGZpbmFsRGF0YSA9IGNyZWF0ZWRFbnRpdHk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3R4Lm9wID09PSAndXBkYXRlJykge1xuICAgICAgICAgICAgcmVmZXJlbmNlSWQgPSBTdHJpbmcoY3R4LmlkKTtcbiAgICAgICAgICAgIGZpbmFsRGF0YSA9IGN0eC5yZXN1bHQgYXMgYW55O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gZGVsZXRlXG4gICAgICAgICAgICByZWZlcmVuY2VJZCA9IFN0cmluZyhjdHguaWQpO1xuICAgICAgICAgICAgZmluYWxEYXRhID0gY3R4LnByZXZpb3VzIGFzIGFueTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlY29yZDogQVhQQWN0aXZpdHlMb2cgPSB7XG4gICAgICAgICAgICBpZDogQVhQRGF0YUdlbmVyYXRvci51dWlkKCksXG4gICAgICAgICAgICB0aXRsZTogZW50aXR5Q29uZmlnPy50aXRsZSA/PyBub3cudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIGRhdGU6IG5vdyxcbiAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgICBpZDogc2Vzc2lvblNlcnZpY2UudXNlcj8uaWQgPz8gJ3N5c3RlbScsXG4gICAgICAgICAgICAgICAgbmFtZTogc2Vzc2lvblNlcnZpY2UudXNlcj8ubmFtZSA/PyAnU3lzdGVtJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogc2Vzc2lvblNlcnZpY2UudXNlcj8udGl0bGUgPz8gJ1N5c3RlbScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmZXJlbmNlOiB7IGlkOiByZWZlcmVuY2VJZCBhcyBzdHJpbmcsIHR5cGU6IGN0eC5lbnRpdHlOYW1lIH0sXG4gICAgICAgICAgICBjaGFuZ2VUeXBlOlxuICAgICAgICAgICAgICAgIGN0eC5vcCA9PT0gJ2NyZWF0ZSdcbiAgICAgICAgICAgICAgICAgICAgPyBBWFBTeXN0ZW1BY3Rpb25UeXBlLkNyZWF0ZVxuICAgICAgICAgICAgICAgICAgICA6IGN0eC5vcCA9PT0gJ3VwZGF0ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQVhQU3lzdGVtQWN0aW9uVHlwZS5VcGRhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQVhQU3lzdGVtQWN0aW9uVHlwZS5EZWxldGUsXG4gICAgICAgICAgICBjaGFuZ2VzOiBhY3Rpb25zLFxuICAgICAgICAgICAgZGF0YTogZmluYWxEYXRhLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFBlcnNpc3QgdmlhIGJhY2tlbmQgcmF3IGluc2VydCB0byBhdm9pZCByZWN1cnNpdmUgbWlkZGxld2FyZVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgYmFja2VuZC5pbnNlcnRPbmUoYCR7Y3R4LmVudGl0eU5hbWV9LWhpc3RvcnlgLCB7IC4uLnJlY29yZCwgaXNDdXJyZW50OiB0cnVlIH0gYXMgYW55KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgLy8gc3dhbGxvdyBlcnJvcnMgdG8gYXZvaWQgYnJlYWtpbmcgbWFpbiBmbG93XG4gICAgICAgIH1cbiAgICB9LFxufTtcblxuXG4iXX0=","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 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 },\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 },\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvdmVyc2lvbi1oaXN0b3J5L2hpc3RvcnkucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQXlCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMEI7SUFDaEQsSUFBSSxFQUFFLFNBQVM7SUFDZixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ1gsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBRyw0QkFBNEIsQ0FBQztZQUM3QyxFQUFFO1lBQ0YsTUFBTSxXQUFXLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEIsQ0FBQztZQUN4RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxvQ0FBb0M7b0JBQzNDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELEVBQUU7WUFDRixNQUFNLGFBQWEsR0FBSSxDQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUE0QixJQUFJLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNmLEtBQUssRUFBRSxvQ0FBb0M7b0JBQzNDLE9BQU8sRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUU7NEJBQ0wsS0FBSyxFQUFFLDBCQUEwQjs0QkFDakMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7eUJBQ3JEO3FCQUNKO29CQUNELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTtpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELEVBQUU7WUFDRixPQUFPLENBQVEsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uLCBBWFBFbnRpdHlDb21tYW5kU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlBY3Rpb25QbHVnaW4sIGVuc3VyZUxpc3RBY3Rpb25zLCBhY3Rpb25FeGlzdHMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuXG5leHBvcnQgY29uc3QgaGlzdG9yeVBsdWdpbjogQVhQRW50aXR5QWN0aW9uUGx1Z2luID0ge1xuICAgIG5hbWU6ICdoaXN0b3J5JyxcbiAgICBvcmRlcjogNTAsXG4gICAgYXBwbHk6IChjdHgpID0+IHtcbiAgICAgICAgZW5zdXJlTGlzdEFjdGlvbnMoY3R4KTtcbiAgICAgICAgY3R4LmludGVyZmFjZXMudXBkYXRlKChpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjbWROYW1lID0gJ3Nob3ctdmVyc2lvbi1oaXN0b3J5LXBvcHVwJztcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBjb25zdCBsaXN0QWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBBWFBFbnRpdHlBY3Rpb25bXTtcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGxpc3RBY3Rpb25zLCBjbWROYW1lKSkge1xuICAgICAgICAgICAgICAgIGxpc3RBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BhY3Rpdml0eS1sb2c6YWN0aW9ucy52aWV3LWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAndmVyc2lvbi1oaXN0b3J5JyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUFjdGlvbnMgPSAoaSBhcyBhbnkpLm1hc3Rlcj8uc2luZ2xlPy5hY3Rpb25zIGFzIEFYUEVudGl0eUFjdGlvbltdIHx8IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3Rpb25FeGlzdHMoc2luZ2xlQWN0aW9ucywgY21kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBzaW5nbGVBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BhY3Rpdml0eS1sb2c6YWN0aW9ucy52aWV3LWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjbWROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZklkOiAne3sgY29udGV4dC5ldmFsKFwiaWRcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGU6IGAke2N0eC5lbnRpdHkubW9kdWxlfS4ke2N0eC5lbnRpdHkubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAndmVyc2lvbi1oaXN0b3J5JyxcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIHJldHVybiBpIGFzIGFueTtcbiAgICAgICAgfSk7XG4gICAgfSxcbn07XG5cblxuIl19","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvdmVyc2lvbi1oaXN0b3J5L2NvbXBhcmUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBeUIsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEcsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEwQjtJQUNoRCxJQUFJLEVBQUUsU0FBUztJQUNmLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDWCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sT0FBTyxHQUFJLENBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQWdCLENBQUM7WUFDeEQsTUFBTSxPQUFPLEdBQUcsNkJBQTZCLENBQUM7WUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDVCxLQUFLLEVBQUUsdUNBQXVDO29CQUM5QyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO29CQUMxQixRQUFRLEVBQUUsV0FBVztvQkFDckIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFFBQVE7aUJBQ3hDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLENBQVEsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5Q29tbWFuZFNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRW50aXR5QWN0aW9uUGx1Z2luLCBlbnN1cmVMaXN0QWN0aW9ucywgYWN0aW9uRXhpc3RzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuZXhwb3J0IGNvbnN0IGNvbXBhcmVQbHVnaW46IEFYUEVudGl0eUFjdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiAnY29tcGFyZScsXG4gICAgb3JkZXI6IDUwLFxuICAgIGFwcGx5OiAoY3R4KSA9PiB7XG4gICAgICAgIGVuc3VyZUxpc3RBY3Rpb25zKGN0eCk7XG4gICAgICAgIGN0eC5pbnRlcmZhY2VzLnVwZGF0ZSgoaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9ucyA9IChpIGFzIGFueSkubWFzdGVyLmxpc3QuYWN0aW9ucyBhcyBhbnlbXTtcbiAgICAgICAgICAgIGNvbnN0IGNtZE5hbWUgPSAnc2hvdy1lbnRpdHktcmVjb3Jkcy1jb21wYXJlJztcbiAgICAgICAgICAgIGlmICghYWN0aW9uRXhpc3RzKGFjdGlvbnMsIGNtZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAYWN0aXZpdHktbG9nOmFjdGlvbnMuY29tcGFyZS1yZWNvcmRzJyxcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogeyBuYW1lOiBjbWROYW1lIH0sXG4gICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NvbXBhcmUnLFxuICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGkgYXMgYW55O1xuICAgICAgICB9KTtcbiAgICB9LFxufTtcblxuXG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMVersionHistoryPopupStartAction, AXMVersionHistoryPopupWorkflow } from './workflows/history-popup.workflow';\nimport { AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex/platform/layout/entity';\nimport { historyLoggerMiddleware } from './history-logger.middleware';\nimport { historyPlugin } from './history.plugin';\nimport { comparePlugin } from './compare.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.1.8\", ngImport: i0, type: AXPVersionHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPVersionHistoryModule, imports: [i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPVersionHistoryModule, providers: [\n { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: historyLoggerMiddleware },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: historyPlugin },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: comparePlugin },\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.1.8\", 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_STORAGE_MIDDLEWARE, multi: true, useValue: historyLoggerMiddleware },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: historyPlugin },\n { provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: comparePlugin },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1oaXN0b3J5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvdmVyc2lvbi1oaXN0b3J5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQW9CakQsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixhQU52QjtZQUNULEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFO1lBQzFGLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRTtZQUMzRSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7U0FDNUUsWUFkQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3pCLE9BQU8sRUFBRTtvQkFDUCxtQ0FBbUMsRUFBRSxpQ0FBaUM7aUJBQ3ZFO2dCQUNELFNBQVMsRUFBRTtvQkFDVCw0QkFBNEIsRUFBRSw4QkFBOEI7aUJBQzdEO2FBQ0YsQ0FBQzs7MkZBU08sdUJBQXVCO2tCQWxCbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCLENBQUMsUUFBUSxDQUFDOzRCQUN6QixPQUFPLEVBQUU7Z0NBQ1AsbUNBQW1DLEVBQUUsaUNBQWlDOzZCQUN2RTs0QkFDRCxTQUFTLEVBQUU7Z0NBQ1QsNEJBQTRCLEVBQUUsOEJBQThCOzZCQUM3RDt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRTt3QkFDMUYsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3dCQUMzRSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7cUJBQzVFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwU3RhcnRBY3Rpb24sIEFYTVZlcnNpb25IaXN0b3J5UG9wdXBXb3JrZmxvdyB9IGZyb20gJy4vd29ya2Zsb3dzL2hpc3RvcnktcG9wdXAud29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBBWFBfRU5USVRZX1NUT1JBR0VfTUlERExFV0FSRSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBoaXN0b3J5TG9nZ2VyTWlkZGxld2FyZSB9IGZyb20gJy4vaGlzdG9yeS1sb2dnZXIubWlkZGxld2FyZSc7XG5pbXBvcnQgeyBoaXN0b3J5UGx1Z2luIH0gZnJvbSAnLi9oaXN0b3J5LnBsdWdpbic7XG5pbXBvcnQgeyBjb21wYXJlUGx1Z2luIH0gZnJvbSAnLi9jb21wYXJlLnBsdWdpbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBXb3JrZmxvd01vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgICdzaG93LXZlcnNpb24taGlzdG9yeS1wb3B1cC1hY3Rpb24nOiBBWE1WZXJzaW9uSGlzdG9yeVBvcHVwU3RhcnRBY3Rpb24sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdzaG93LXZlcnNpb24taGlzdG9yeS1wb3B1cCc6IEFYTVZlcnNpb25IaXN0b3J5UG9wdXBXb3JrZmxvdyxcbiAgICAgIH0sXG4gICAgfSksXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYUF9FTlRJVFlfU1RPUkFHRV9NSURETEVXQVJFLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGhpc3RvcnlMb2dnZXJNaWRkbGV3YXJlIH0sXG4gICAgeyBwcm92aWRlOiBBWFBfRU5USVRZX0FDVElPTl9QTFVHSU4sIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogaGlzdG9yeVBsdWdpbiB9LFxuICAgIHsgcHJvdmlkZTogQVhQX0VOVElUWV9BQ1RJT05fUExVR0lOLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IGNvbXBhcmVQbHVnaW4gfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQVmVyc2lvbkhpc3RvcnlNb2R1bGUgeyB9XG4iXX0=","const config = {\n i18n: 'common',\n};\nexport const RootConfig = {\n config,\n module: {\n module: 'common',\n name: 'Common',\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-invoice',\n },\n entities: {},\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxNQUFNLEdBQUc7SUFDYixJQUFJLEVBQUUsUUFBUTtDQUNmLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsTUFBTTtJQUNOLE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLDRCQUE0QixNQUFNLENBQUMsSUFBSSxLQUFLO1FBQ25ELElBQUksRUFBRSwwQkFBMEI7S0FDakM7SUFDRCxRQUFRLEVBQUUsRUFBRTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb25maWcgPSB7XG4gIGkxOG46ICdjb21tb24nLFxufTtcbmV4cG9ydCBjb25zdCBSb290Q29uZmlnID0ge1xuICBjb25maWcsXG4gIG1vZHVsZToge1xuICAgIG1vZHVsZTogJ2NvbW1vbicsXG4gICAgbmFtZTogJ0NvbW1vbicsXG4gICAgdGl0bGU6IGB0KCdtb2R1bGUtbmFtZScsIHtzY29wZTpcIiR7Y29uZmlnLmkxOG59XCJ9KWAsXG4gICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbGUtaW52b2ljZScsXG4gIH0sXG4gIGVudGl0aWVzOiB7fSxcbn07XG4iXX0=","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nexport class AXMMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n this.homePageService = inject(AXPHomePageService);\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 priority: -9,\n text: `t('home',{scope:'common'})`,\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBMkMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVyQyxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUNVLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQTRCdkQsQ0FBQztJQTFCQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQStCO1FBQzNDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1FBRXRELE1BQU0sWUFBWSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBQ0QsRUFBRTtRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQzVELElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDZjtvQkFDRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUNaLElBQUksRUFBRSw0QkFBNEI7b0JBQ2xDLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsb0JBQW9CO29CQUMxQixJQUFJLEVBQUU7b0JBQ0oseUJBQXlCO3FCQUMxQjtpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7SUFFSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBIb21lUGFnZVNlcnZpY2UsIEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcblxuZXhwb3J0IGNsYXNzIEFYTU1lbnVQcm92aWRlciBpbXBsZW1lbnRzIEFYUE1lbnVQcm92aWRlciB7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBwcml2YXRlIGhvbWVQYWdlU2VydmljZSA9IGluamVjdChBWFBIb21lUGFnZVNlcnZpY2UpO1xuXG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNjb3BlID0gUm9vdENvbmZpZy5jb25maWcuaTE4bjtcbiAgICBjb25zdCBtb2R1bGUgPSBSb290Q29uZmlnLm1vZHVsZTtcbiAgICBjb25zdCBhcHBOYW1lID0gdGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZTtcblxuICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2Vzc2lvblNlcnZpY2UuaXNBdXRob3JpemVkJCk7XG4gICAgaWYgKCFpc0F1dGhvcml6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy9cbiAgICBjb25zdCBob21lUGFnZVBhdGggPSB0aGlzLmhvbWVQYWdlU2VydmljZS5nZXRDdXJyZW50KCkucGF0aDtcbiAgICBpZiAoaG9tZVBhZ2VQYXRoKSB7XG4gICAgICBjb250ZXh0LmFkZEl0ZW1zKFtcbiAgICAgICAge1xuICAgICAgICAgIHByaW9yaXR5OiAtOSxcbiAgICAgICAgICB0ZXh0OiBgdCgnaG9tZScse3Njb3BlOidjb21tb24nfSlgLFxuICAgICAgICAgIHBhdGg6IGhvbWVQYWdlUGF0aCxcbiAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZ3JpZC0yJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAvL3JlcXVpcmVkUGVybWlzc2lvbjogJycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cblxuICB9XG59XG4iXX0=","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(`settings.${key}`, { scope: 'general' });\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.1.8\", ngImport: i0, type: AXMSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvc2V0dGluZ3MucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSWhFLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQURyQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTVFLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBRXhELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekgsb0NBQW9DO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNULENBQUM7UUFFRCxrQ0FBa0M7UUFDbEMsbUpBQW1KO1FBQ25KLCtDQUErQztRQUMvQyw0REFBNEQ7UUFDNUQsc0NBQXNDO1FBQ3RDLHlCQUF5QjtRQUN6QiwyQkFBMkI7UUFDM0IsdURBQXVEO1FBQ3ZELGdCQUFnQjtRQUNoQiwwQ0FBMEM7UUFDMUMscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQUMzQixZQUFZO1FBQ1osU0FBUztRQUNULHdFQUF3RTtRQUN4RSxLQUFLO0lBRVAsQ0FBQzs4R0FqQ1Usa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyLCBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGUsIG9iamVjdEtleVZhbHVlVHJhbnNmb3JtcyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWE1Mb2NrU3lzdGVtU2V0dGluZ3MgfSBmcm9tICcuL2ZlYXR1cmVzL2xvY2stc3lzdGVtL3NldHRpbmdzLmtleXMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1TZXR0aW5nUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICBjb25zdCB0cmFucyA9IGFzeW5jIChrZXk6IHN0cmluZykgPT4gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKGBzZXR0aW5ncy4ke2tleX1gLCB7IHNjb3BlOiAnZ2VuZXJhbCcgfSk7XG5cbiAgICAvLyBGaW5kIHRoZSAnR2VuZXJhbCBTZXR0aW5ncycgZ3JvdXBcbiAgICBjb25zdCBncm91cCA9IGNvbnRleHQuZ3JvdXAoJ2dlbmVyYWwnKTtcbiAgICBpZiAoIWdyb3VwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSAnUmVsZWFzZSBOb3Rlcycgc2V0dGluZ1xuICAgIC8vIGdyb3VwLmFkZFNlY3Rpb24oJ2xvY2stc3lzdGVtJywgYXdhaXQgdHJhbnMoJ2dlbmVyYWwubG9jay1zeXN0ZW0ubG9jay50aXRsZScpLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5sb2NrLXN5c3RlbS5sb2NrLmRlc2NyaXB0aW9uJykpLmFkZFNldHRpbmcoe1xuICAgIC8vICAgICBrZXk6IEFYTUxvY2tTeXN0ZW1TZXR0aW5ncy5Mb2NrU3lzdGVtLCAgXG4gICAgLy8gICAgIHRpdGxlOiBhd2FpdCB0cmFucygnZ2VuZXJhbC5sb2NrLXN5c3RlbS5sb2NrLnRpdGxlJyksXG4gICAgLy8gICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudCxcbiAgICAvLyAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgLy8gICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgLy8gICAgIHZhbHVlVHJhbnNmb3Jtczogb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKCdpZCcpLFxuICAgIC8vICAgICB3aWRnZXQ6IHtcbiAgICAvLyAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAvLyAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAvLyAgICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgfSxcbiAgICAvLyAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmxvY2stc3lzdGVtLmxvY2suZGVzY3JpcHRpb24nKSxcbiAgICAvLyB9KVxuXG4gIH1cbn1cbiJdfQ==","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 { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { NgModule } from '@angular/core';\nimport { AXPArchivePluginModule } from './features/archive-plugin';\nimport { AXPCategoryModule } from './features/category-plugin';\nimport { AXPClonePluginModule } from './features/clone-plugin';\nimport { AXPCompareModule } from './features/compare';\nimport { AXPComputedPropertiesModule } from './features/computed-properties/computed-properties.module';\nimport { AXPExtraPropertiesModule } from './features/extra-properties/extra-properties.module';\nimport { AXPGlobalSearchModule } from './features/global-search';\nimport { AXMLockSystemModule } from './features/lock-system/lock-system.module';\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.1.8\", ngImport: i0, type: AXMCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMCommonModule, imports: [AXMLockSystemModule,\n AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPCompareModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", 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 ], imports: [AXMLockSystemModule,\n AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPCompareModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMCommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXMLockSystemModule,\n AXPExtraPropertiesModule,\n AXPCategoryModule,\n AXPGlobalSearchModule,\n AXPWidgetsModule,\n AXPVersionHistoryModule,\n AXPComputedPropertiesModule,\n AXPClonePluginModule,\n AXPArchivePluginModule,\n AXPCompareModule,\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 }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9jb21tb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xILE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDbkgsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDckgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQW9EekQsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLFlBaER4QixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsZ0JBQWdCO1lBQ2hCLHVCQUF1QjtZQUN2QiwyQkFBMkI7WUFDM0Isb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0QixnQkFBZ0I7K0dBdUNQLGVBQWUsYUFuQ2Y7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsZUFBZTtnQkFDekIsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUVEO2dCQUNFLE9BQU8sRUFBRSwrQkFBK0I7Z0JBQ3hDLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGtDQUFrQztnQkFDM0MsUUFBUSxFQUFFLCtCQUErQjtnQkFDekMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUVEO2dCQUNFLE9BQU8sRUFBRSx1Q0FBdUM7Z0JBQ2hELFFBQVEsRUFBRSxpQ0FBaUM7Z0JBQzNDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsdUNBQXVDO2dCQUNoRCxRQUFRLEVBQUUsa0NBQWtDO2dCQUM1QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsWUE5Q0MsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQix1QkFBdUI7WUFDdkIsMkJBQTJCO1lBQzNCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIsZ0JBQWdCOzsyRkF1Q1AsZUFBZTtrQkFsRDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0Isb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsZUFBZTs0QkFDekIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBRUQ7NEJBQ0UsT0FBTyxFQUFFLCtCQUErQjs0QkFDeEMsUUFBUSxFQUFFLGtCQUFrQjs0QkFDNUIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsUUFBUSxFQUFFLHdCQUF3Qjs0QkFDbEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGtDQUFrQzs0QkFDM0MsUUFBUSxFQUFFLCtCQUErQjs0QkFDekMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBRUQ7NEJBQ0UsT0FBTyxFQUFFLHVDQUF1Qzs0QkFDaEQsUUFBUSxFQUFFLGlDQUFpQzs0QkFDM0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHVDQUF1Qzs0QkFDaEQsUUFBUSxFQUFFLGtDQUFrQzs0QkFDNUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfUEVSTUlTU0lPTl9ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUF9NRU5VX1BST1ZJREVSLCBBWFBfU0VBUkNIX1BST1ZJREVSLCBBWFBfU0VUVElOR19ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQX0VYUFJFU1NJT05fRVZBTFVBVE9SX1NDT1BFX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldHNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dpZGdldHMnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEFyY2hpdmVQbHVnaW5Nb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2FyY2hpdmUtcGx1Z2luJztcbmltcG9ydCB7IEFYUENhdGVnb3J5TW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9jYXRlZ29yeS1wbHVnaW4nO1xuaW1wb3J0IHsgQVhQQ2xvbmVQbHVnaW5Nb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2Nsb25lLXBsdWdpbic7XG5pbXBvcnQgeyBBWFBDb21wYXJlTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9jb21wYXJlJztcbmltcG9ydCB7IEFYUENvbXB1dGVkUHJvcGVydGllc01vZHVsZSB9IGZyb20gJy4vZmVhdHVyZXMvY29tcHV0ZWQtcHJvcGVydGllcy9jb21wdXRlZC1wcm9wZXJ0aWVzLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFBFeHRyYVByb3BlcnRpZXNNb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2V4dHJhLXByb3BlcnRpZXMvZXh0cmEtcHJvcGVydGllcy5tb2R1bGUnO1xuaW1wb3J0IHsgQVhQR2xvYmFsU2VhcmNoTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoJztcbmltcG9ydCB7IEFYTUxvY2tTeXN0ZW1Nb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmVzL2xvY2stc3lzdGVtL2xvY2stc3lzdGVtLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFBEYXRlVGltZUV2YWx1YXRvclNjb3BlUHJvdmlkZXIgfSBmcm9tICcuL2ZlYXR1cmVzL3NoYXJlZC9ldmFsdWF0b3JzL2RhdGV0aW1lLmV2YWx1YXRvci1zY29wZS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBUcmFuc2xhdGVFdmFsdWF0b3JTY29wZVByb3ZpZGVyIH0gZnJvbSAnLi9mZWF0dXJlcy9zaGFyZWQvZXZhbHVhdG9ycy90cmFuc2xhdGUuZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUFZlcnNpb25IaXN0b3J5TW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy92ZXJzaW9uLWhpc3RvcnkvdmVyc2lvbi1oaXN0b3J5Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWE1NZW51UHJvdmlkZXIgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciB9IGZyb20gJy4vcGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYTVNlYXJjaENvbW1hbmRQcm92aWRlciB9IGZyb20gJy4vc2VhcmNoLWNvbW1hbmQucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNU2V0dGluZ1Byb3ZpZGVyIH0gZnJvbSAnLi9zZXR0aW5ncy5wcm92aWRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWE1Mb2NrU3lzdGVtTW9kdWxlLFxuICAgIEFYUEV4dHJhUHJvcGVydGllc01vZHVsZSxcbiAgICBBWFBDYXRlZ29yeU1vZHVsZSxcbiAgICBBWFBHbG9iYWxTZWFyY2hNb2R1bGUsXG4gICAgQVhQV2lkZ2V0c01vZHVsZSxcbiAgICBBWFBWZXJzaW9uSGlzdG9yeU1vZHVsZSxcbiAgICBBWFBDb21wdXRlZFByb3BlcnRpZXNNb2R1bGUsXG4gICAgQVhQQ2xvbmVQbHVnaW5Nb2R1bGUsXG4gICAgQVhQQXJjaGl2ZVBsdWdpbk1vZHVsZSxcbiAgICBBWFBDb21wYXJlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX01FTlVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNTWVudVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcblxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNU2V0dGluZ1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfU0VBUkNIX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTVNlYXJjaENvbW1hbmRQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1QZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcblxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBEYXRlVGltZUV2YWx1YXRvclNjb3BlUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBUcmFuc2xhdGVFdmFsdWF0b3JTY29wZVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNQ29tbW9uTW9kdWxlIHsgfVxuIl19","import { Component, ViewEncapsulation, signal, inject, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n// ACoreX Components\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\n// ACoreX Platform\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXPLockService } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/form\";\nimport * as i5 from \"@acorex/components/label\";\nimport * as i6 from \"@acorex/components/select-box\";\nimport * as i7 from \"@acorex/components/text-area\";\nimport * as i8 from \"@acorex/core/translation\";\nimport * as i9 from \"@angular/common\";\nexport class AXPLockPopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n //#endregion\n //#region ---- Signals & Services ----\n this.isBusy = signal(false, ...(ngDevMode ? [{ debugName: \"isBusy\" }] : []));\n this.form = viewChild.required('form');\n this.lockService = inject(AXPLockService);\n this.sessionService = inject(AXPSessionService);\n this.translationService = inject(AXTranslationService);\n //#endregion\n //#region ---- Form Data ----\n this.duration = '1h';\n this.reason = '';\n this.lockDurations = [];\n }\n async ngOnInit() {\n // Load translated duration options\n this.lockDurations = [\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 }\n //#endregion\n //#region ---- UI Handlers ----\n async handleConfirm() {\n if (this.isBusy()) {\n return;\n }\n // Validate form\n const validation = await this.form().validate();\n if (!validation.result) {\n return;\n }\n // Ensure duration is selected\n if (!this.duration) {\n return;\n }\n this.isBusy.set(true);\n try {\n const selectedDuration = this.lockDurations.find(d => d.value === this.duration);\n const expireAt = selectedDuration?.hours\n ? new Date(Date.now() + selectedDuration.hours * 60 * 60 * 1000)\n : undefined; // undefined means infinite\n await this.lockService.lock({\n refId: this.refId,\n refType: this.refType,\n type: 'user',\n date: new Date().toISOString(),\n expireAt: expireAt,\n lockedBy: {\n id: this.sessionService.user?.id ?? 'system',\n type: 'oidc.users',\n },\n });\n // Close and notify success\n this.close({\n isCanceled: false,\n duration: this.duration,\n reason: this.reason\n });\n }\n catch (error) {\n console.error(error);\n // TODO: show error toast if required\n }\n finally {\n this.isBusy.set(false);\n }\n }\n handleCancel() {\n this.close({ isCanceled: true });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPLockPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.8\", type: AXPLockPopupComponent, isStandalone: true, selector: \"axp-lock-popup\", viewQueries: [{ propertyName: \"form\", first: true, predicate: [\"form\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<ax-content *translate=\\\"let t\\\">\\n <div class=\\\"ax-p-6\\\">\\n <ax-form #form>\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4\\\">\\n <!-- Lock Duration Selection -->\\n <ax-form-field class=\\\"ax-col-span-12\\\">\\n <ax-label>{{ t('@lock-system:lock.duration.title') | async }}</ax-label>\\n <ax-select-box\\n [(ngModel)]=\\\"duration\\\"\\n [dataSource]=\\\"lockDurations\\\"\\n [valueField]=\\\"'value'\\\"\\n [textField]=\\\"'text'\\\"\\n name=\\\"duration\\\"\\n class=\\\"ax-w-full\\\"\\n >\\n <ax-validation-rule rule=\\\"required\\\" message=\\\"This field is required\\\"></ax-validation-rule>\\n </ax-select-box>\\n </ax-form-field>\\n\\n <!-- Optional Reason -->\\n <ax-form-field class=\\\"ax-col-span-12\\\">\\n <ax-label>{{ t('@lock-system:lock.reason.title') | async }}</ax-label>\\n <ax-text-area\\n [(ngModel)]=\\\"reason\\\"\\n [placeholder]=\\\"t('@lock-system:lock.reason.placeholder') | async\\\"\\n name=\\\"reason\\\"\\n class=\\\"ax-w-full ax-min-h-20\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-text-area>\\n </ax-form-field>\\n </div>\\n </ax-form>\\n </div>\\n</ax-content>\\n\\n<ax-footer *translate=\\\"let t\\\">\\n <ax-prefix></ax-prefix>\\n <ax-suffix>\\n <ax-button\\n [text]=\\\"t('@lock-system:lock.dialog.cancel') | async\\\"\\n (onClick)=\\\"handleCancel()\\\"\\n [disabled]=\\\"isBusy()\\\"\\n ></ax-button>\\n <ax-button\\n [text]=\\\"t('@lock-system:lock.dialog.confirm') | async\\\"\\n color=\\\"primary\\\"\\n look=\\\"solid\\\"\\n (onClick)=\\\"handleConfirm()\\\"\\n [disabled]=\\\"isBusy()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: \n // ACoreX\n 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: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i4.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i4.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"directive\", type: i4.AXValidationRuleDirective, selector: \"ax-validation-rule\", inputs: [\"rule\", \"options\", \"message\", \"disabled\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i5.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i6.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"ngmodule\", type: AXTextAreaModule }, { kind: \"component\", type: i7.AXTextAreaComponent, selector: \"ax-text-area\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"placeholder\", \"maxLength\", \"look\", \"rows\", \"allowResize\", \"showCounter\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i8.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXValidationModule }, { kind: \"pipe\", type: i9.AsyncPipe, name: \"async\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPLockPopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-lock-popup', standalone: true, imports: [\n // Angular\n CommonModule,\n FormsModule,\n // ACoreX\n AXButtonModule,\n AXDecoratorModule,\n AXFormModule,\n AXLabelModule,\n AXSelectBoxModule,\n AXTextAreaModule,\n AXTranslationModule,\n AXValidationModule,\n ], encapsulation: ViewEncapsulation.None, template: \"<ax-content *translate=\\\"let t\\\">\\n <div class=\\\"ax-p-6\\\">\\n <ax-form #form>\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4\\\">\\n <!-- Lock Duration Selection -->\\n <ax-form-field class=\\\"ax-col-span-12\\\">\\n <ax-label>{{ t('@lock-system:lock.duration.title') | async }}</ax-label>\\n <ax-select-box\\n [(ngModel)]=\\\"duration\\\"\\n [dataSource]=\\\"lockDurations\\\"\\n [valueField]=\\\"'value'\\\"\\n [textField]=\\\"'text'\\\"\\n name=\\\"duration\\\"\\n class=\\\"ax-w-full\\\"\\n >\\n <ax-validation-rule rule=\\\"required\\\" message=\\\"This field is required\\\"></ax-validation-rule>\\n </ax-select-box>\\n </ax-form-field>\\n\\n <!-- Optional Reason -->\\n <ax-form-field class=\\\"ax-col-span-12\\\">\\n <ax-label>{{ t('@lock-system:lock.reason.title') | async }}</ax-label>\\n <ax-text-area\\n [(ngModel)]=\\\"reason\\\"\\n [placeholder]=\\\"t('@lock-system:lock.reason.placeholder') | async\\\"\\n name=\\\"reason\\\"\\n class=\\\"ax-w-full ax-min-h-20\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-text-area>\\n </ax-form-field>\\n </div>\\n </ax-form>\\n </div>\\n</ax-content>\\n\\n<ax-footer *translate=\\\"let t\\\">\\n <ax-prefix></ax-prefix>\\n <ax-suffix>\\n <ax-button\\n [text]=\\\"t('@lock-system:lock.dialog.cancel') | async\\\"\\n (onClick)=\\\"handleCancel()\\\"\\n [disabled]=\\\"isBusy()\\\"\\n ></ax-button>\\n <ax-button\\n [text]=\\\"t('@lock-system:lock.dialog.confirm') | async\\\"\\n color=\\\"primary\\\"\\n look=\\\"solid\\\"\\n (onClick)=\\\"handleConfirm()\\\"\\n [disabled]=\\\"isBusy()\\\"\\n >\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvbG9jay1zeXN0ZW0vbG9jay1wb3B1cC9sb2NrLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9sb2NrLXN5c3RlbS9sb2NrLXBvcHVwL2xvY2stcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBUyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLG9CQUFvQjtBQUNwQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0Qsa0JBQWtCO0FBQ2xCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7QUE2QmhFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7SUFyQjlEOztRQTRCSSxZQUFZO1FBRVosMENBQTBDO1FBRXZCLFdBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxrREFBQyxDQUFDO1FBQ3ZCLFNBQUksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFrQixNQUFNLENBQUMsQ0FBQztRQUVyRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRW5FLFlBQVk7UUFFWixpQ0FBaUM7UUFFdkIsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDL0IsV0FBTSxHQUFrQixFQUFFLENBQUM7UUFFM0Isa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0tBaUZoRDtJQS9FWSxLQUFLLENBQUMsUUFBUTtRQUNuQixtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNqQjtnQkFDSSxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLHVDQUF1QyxDQUFDO2dCQUMzRixLQUFLLEVBQUUsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksS0FBSyxFQUFFLElBQUk7Z0JBQ1gsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyx1Q0FBdUMsQ0FBQztnQkFDM0YsS0FBSyxFQUFFLEVBQUU7YUFDWjtZQUNEO2dCQUNJLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLDZDQUE2QyxDQUFDO2FBQ3BHO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZO0lBRVosbUNBQW1DO0lBRW5DLEtBQUssQ0FBQyxhQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUVELGdCQUFnQjtRQUNoQixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBRUQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QixJQUFJLENBQUM7WUFDRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakYsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLEVBQUUsS0FBSztnQkFDcEMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ2hFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQywyQkFBMkI7WUFFNUMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDeEIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtnQkFDOUIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRTtvQkFDTixFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLFFBQVE7b0JBQzVDLElBQUksRUFBRSxZQUFZO2lCQUNyQjthQUNKLENBQUMsQ0FBQztZQUVILDJCQUEyQjtZQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNQLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUN0QixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIscUNBQXFDO1FBQ3pDLENBQUM7Z0JBQVMsQ0FBQztZQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDOzhHQXZHUSxxQkFBcUI7a0dBQXJCLHFCQUFxQiwrTUMvQ2xDLHd2REFzREE7Z0JEdEJRLFVBQVU7Z0JBQ1YsWUFBWSw4QkFDWixXQUFXO2dCQUNYLFNBQVM7Z0JBQ1QsY0FBYyw2WEFDZCxpQkFBaUIscVdBQ2pCLFlBQVksaWNBQ1osYUFBYSxnS0FDYixpQkFBaUIsK3JCQUNqQixnQkFBZ0Isa2FBQ2hCLG1CQUFtQiw4R0FDbkIsa0JBQWtCOzsyRkFJYixxQkFBcUI7a0JBckJqQyxTQUFTOytCQUNJLGdCQUFnQixjQUNkLElBQUksV0FHUDt3QkFDTCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxTQUFTO3dCQUNULGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUNyQixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5wdXQsIHNpZ25hbCwgaW5qZWN0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gQUNvcmVYIENvbXBvbmVudHNcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYVGV4dEFyZWFNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1hcmVhJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhWYWxpZGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3ZhbGlkYXRpb24nO1xuXG4vLyBBQ29yZVggUGxhdGZvcm1cbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFBMb2NrU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcblxuaW50ZXJmYWNlIExvY2tEdXJhdGlvbiB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgaG91cnM/OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLWxvY2stcG9wdXAnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvY2stcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xvY2stcG9wdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIEFuZ3VsYXJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgLy8gQUNvcmVYXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhGb3JtTW9kdWxlLFxuICAgICAgICBBWExhYmVsTW9kdWxlLFxuICAgICAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICAgICAgQVhUZXh0QXJlYU1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhWYWxpZGF0aW9uTW9kdWxlLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTG9ja1BvcHVwQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIElucHV0cyAgIC0tLS1cblxuICAgIHJlZklkITogc3RyaW5nO1xuICAgIHJlZlR5cGUhOiBzdHJpbmc7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgU2lnbmFscyAmIFNlcnZpY2VzICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQnVzeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvcm0gPSB2aWV3Q2hpbGQucmVxdWlyZWQ8QVhGb3JtQ29tcG9uZW50PignZm9ybScpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEZvcm0gRGF0YSAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBkdXJhdGlvbjogc3RyaW5nIHwgbnVsbCA9ICcxaCc7XG4gICAgcHJvdGVjdGVkIHJlYXNvbjogc3RyaW5nIHwgbnVsbCA9ICcnO1xuXG4gICAgcHJvdGVjdGVkIGxvY2tEdXJhdGlvbnM6IExvY2tEdXJhdGlvbltdID0gW107XG5cbiAgICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gTG9hZCB0cmFuc2xhdGVkIGR1cmF0aW9uIG9wdGlvbnNcbiAgICAgICAgdGhpcy5sb2NrRHVyYXRpb25zID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhbHVlOiAnMWgnLFxuICAgICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAbG9jay1zeXN0ZW06bG9jay5kdXJhdGlvbi5vcHRpb25zLjFoJyksXG4gICAgICAgICAgICAgICAgaG91cnM6IDFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsdWU6ICcxZCcsXG4gICAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmR1cmF0aW9uLm9wdGlvbnMuMWQnKSxcbiAgICAgICAgICAgICAgICBob3VyczogMjRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsdWU6ICdpbmZpbml0ZScsXG4gICAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0Bsb2NrLXN5c3RlbTpsb2NrLmR1cmF0aW9uLm9wdGlvbnMuaW5maW5pdGUnKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBVSSBIYW5kbGVycyAgIC0tLS1cblxuICAgIGFzeW5jIGhhbmRsZUNvbmZpcm0oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzQnVzeSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZGF0ZSBmb3JtXG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb24gPSBhd2FpdCB0aGlzLmZvcm0oKS52YWxpZGF0ZSgpO1xuICAgICAgICBpZiAoIXZhbGlkYXRpb24ucmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbnN1cmUgZHVyYXRpb24gaXMgc2VsZWN0ZWRcbiAgICAgICAgaWYgKCF0aGlzLmR1cmF0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzQnVzeS5zZXQodHJ1ZSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRHVyYXRpb24gPSB0aGlzLmxvY2tEdXJhdGlvbnMuZmluZChkID0+IGQudmFsdWUgPT09IHRoaXMuZHVyYXRpb24pO1xuICAgICAgICAgICAgY29uc3QgZXhwaXJlQXQgPSBzZWxlY3RlZER1cmF0aW9uPy5ob3Vyc1xuICAgICAgICAgICAgICAgID8gbmV3IERhdGUoRGF0ZS5ub3coKSArIHNlbGVjdGVkRHVyYXRpb24uaG91cnMgKiA2MCAqIDYwICogMTAwMClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDsgLy8gdW5kZWZpbmVkIG1lYW5zIGluZmluaXRlXG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9ja1NlcnZpY2UubG9jayh7XG4gICAgICAgICAgICAgICAgcmVmSWQ6IHRoaXMucmVmSWQsXG4gICAgICAgICAgICAgICAgcmVmVHlwZTogdGhpcy5yZWZUeXBlLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgICAgICAgICAgICBkYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgZXhwaXJlQXQ6IGV4cGlyZUF0LFxuICAgICAgICAgICAgICAgIGxvY2tlZEJ5OiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLnNlc3Npb25TZXJ2aWNlLnVzZXI/LmlkID8/ICdzeXN0ZW0nLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2lkYy51c2VycycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBDbG9zZSBhbmQgbm90aWZ5IHN1Y2Nlc3NcbiAgICAgICAgICAgIHRoaXMuY2xvc2Uoe1xuICAgICAgICAgICAgICAgIGlzQ2FuY2VsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiB0aGlzLmR1cmF0aW9uLFxuICAgICAgICAgICAgICAgIHJlYXNvbjogdGhpcy5yZWFzb25cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAvLyBUT0RPOiBzaG93IGVycm9yIHRvYXN0IGlmIHJlcXVpcmVkXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLmlzQnVzeS5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQ2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlKHsgaXNDYW5jZWxlZDogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cbn1cbiIsIjxheC1jb250ZW50ICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtcC02XCI+XG4gICAgPGF4LWZvcm0gI2Zvcm0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTRcIj5cbiAgICAgICAgPCEtLSBMb2NrIER1cmF0aW9uIFNlbGVjdGlvbiAtLT5cbiAgICAgICAgPGF4LWZvcm0tZmllbGQgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMlwiPlxuICAgICAgICAgIDxheC1sYWJlbD57eyB0KCdAbG9jay1zeXN0ZW06bG9jay5kdXJhdGlvbi50aXRsZScpIHwgYXN5bmMgfX08L2F4LWxhYmVsPlxuICAgICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImR1cmF0aW9uXCJcbiAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImxvY2tEdXJhdGlvbnNcIlxuICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwiJ3ZhbHVlJ1wiXG4gICAgICAgICAgICBbdGV4dEZpZWxkXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBuYW1lPVwiZHVyYXRpb25cIlxuICAgICAgICAgICAgY2xhc3M9XCJheC13LWZ1bGxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgcnVsZT1cInJlcXVpcmVkXCIgbWVzc2FnZT1cIlRoaXMgZmllbGQgaXMgcmVxdWlyZWRcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgIDwvYXgtZm9ybS1maWVsZD5cblxuICAgICAgICA8IS0tIE9wdGlvbmFsIFJlYXNvbiAtLT5cbiAgICAgICAgPGF4LWZvcm0tZmllbGQgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMlwiPlxuICAgICAgICAgIDxheC1sYWJlbD57eyB0KCdAbG9jay1zeXN0ZW06bG9jay5yZWFzb24udGl0bGUnKSB8IGFzeW5jIH19PC9heC1sYWJlbD5cbiAgICAgICAgICA8YXgtdGV4dC1hcmVhXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlYXNvblwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidCgnQGxvY2stc3lzdGVtOmxvY2sucmVhc29uLnBsYWNlaG9sZGVyJykgfCBhc3luY1wiXG4gICAgICAgICAgICBuYW1lPVwicmVhc29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXgtdy1mdWxsIGF4LW1pbi1oLTIwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgICAgICAgIDwvYXgtdGV4dC1hcmVhPlxuICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2F4LWZvcm0+XG4gIDwvZGl2PlxuPC9heC1jb250ZW50PlxuXG48YXgtZm9vdGVyICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICA8YXgtcHJlZml4PjwvYXgtcHJlZml4PlxuICA8YXgtc3VmZml4PlxuICAgIDxheC1idXR0b25cbiAgICAgIFt0ZXh0XT1cInQoJ0Bsb2NrLXN5c3RlbTpsb2NrLmRpYWxvZy5jYW5jZWwnKSB8IGFzeW5jXCJcbiAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNhbmNlbCgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0J1c3koKVwiXG4gICAgPjwvYXgtYnV0dG9uPlxuICAgIDxheC1idXR0b25cbiAgICAgIFt0ZXh0XT1cInQoJ0Bsb2NrLXN5c3RlbTpsb2NrLmRpYWxvZy5jb25maXJtJykgfCBhc3luY1wiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgbG9vaz1cInNvbGlkXCJcbiAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNvbmZpcm0oKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXNCdXN5KClcIlxuICAgID5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgPC9heC1zdWZmaXg+XG48L2F4LWZvb3Rlcj5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbW1vbi9zcmMvYWNvcmV4LW1vZHVsZXMtY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i4","i8","i9"],"mappings":"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"}
|