@acorex/platform 20.8.13 → 20.8.14

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.
Files changed (123) hide show
  1. package/{types/acorex-platform-auth.d.ts → auth/index.d.ts} +2 -14
  2. package/{types/acorex-platform-common.d.ts → common/index.d.ts} +30 -302
  3. package/{types/acorex-platform-core.d.ts → core/index.d.ts} +44 -188
  4. package/{types/acorex-platform-domain.d.ts → domain/index.d.ts} +412 -744
  5. package/fesm2022/acorex-platform-auth.mjs +27 -125
  6. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  7. package/fesm2022/{acorex-platform-common-common-settings.provider-Bi1RYif5.mjs → acorex-platform-common-common-settings.provider-DVvuLUfF.mjs} +32 -30
  8. package/fesm2022/acorex-platform-common-common-settings.provider-DVvuLUfF.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-common.mjs +205 -711
  10. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-core.mjs +127 -420
  12. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-domain.mjs +830 -561
  14. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-builder.mjs +114 -634
  16. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  17. package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs} +9 -9
  18. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-layout-components.mjs +877 -3362
  20. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-designer.mjs +204 -456
  22. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-entity.mjs +10062 -14672
  24. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-views.mjs +171 -413
  26. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-layout-widget-core.mjs +441 -507
  28. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  29. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs → acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs} +10 -10
  30. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs → acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs} +76 -21
  32. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs → acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs} +7 -6
  34. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs → acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs} +12 -12
  36. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs +111 -0
  38. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs} +5 -5
  40. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs} +4 -4
  42. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs} +6 -6
  44. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-layout-widgets.mjs +3408 -5611
  46. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-native.mjs +7 -8
  48. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  49. package/fesm2022/acorex-platform-runtime.mjs +166 -391
  50. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  51. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs +160 -0
  52. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs +1716 -0
  54. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs.map +1 -0
  55. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs +120 -0
  56. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs.map +1 -0
  57. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs → acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs} +23 -16
  58. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs.map +1 -0
  59. package/fesm2022/{acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs → acorex-platform-themes-default-error-401.component-53VB-PS_.mjs} +4 -4
  60. package/fesm2022/acorex-platform-themes-default-error-401.component-53VB-PS_.mjs.map +1 -0
  61. package/fesm2022/{acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs → acorex-platform-themes-default-error-404.component-DVF9soT5.mjs} +4 -4
  62. package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs.map +1 -0
  63. package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs +19 -0
  64. package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-themes-default.mjs +61 -1784
  66. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  67. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs → acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs} +6 -6
  68. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs.map +1 -0
  69. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs} +6 -6
  70. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs.map +1 -0
  71. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs → acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs} +25 -24
  72. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs +65 -0
  74. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs.map +1 -0
  75. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs +64 -0
  76. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs.map +1 -0
  77. package/fesm2022/acorex-platform-themes-shared.mjs +305 -408
  78. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  79. package/fesm2022/acorex-platform-workflow.mjs +100 -359
  80. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  81. package/fesm2022/acorex-platform.mjs.map +1 -1
  82. package/{types/acorex-platform-layout-builder.d.ts → layout/builder/index.d.ts} +38 -160
  83. package/{types/acorex-platform-layout-components.d.ts → layout/components/index.d.ts} +125 -854
  84. package/{types/acorex-platform-layout-designer.d.ts → layout/designer/index.d.ts} +18 -96
  85. package/{types/acorex-platform-layout-entity.d.ts → layout/entity/index.d.ts} +65 -848
  86. package/{types/acorex-platform-layout-views.d.ts → layout/views/index.d.ts} +47 -80
  87. package/{types/acorex-platform-layout-widget-core.d.ts → layout/widget-core/index.d.ts} +197 -274
  88. package/{types/acorex-platform-layout-widgets.d.ts → layout/widgets/index.d.ts} +124 -608
  89. package/{types/acorex-platform-native.d.ts → native/index.d.ts} +7 -0
  90. package/package.json +31 -31
  91. package/runtime/index.d.ts +307 -0
  92. package/{types/acorex-platform-themes-default.d.ts → themes/default/index.d.ts} +4 -113
  93. package/{types/acorex-platform-themes-shared.d.ts → themes/shared/index.d.ts} +4 -5
  94. package/{types/acorex-platform-workflow.d.ts → workflow/index.d.ts} +81 -162
  95. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs +0 -116
  102. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs +0 -160
  107. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs +0 -120
  109. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +0 -19
  114. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +0 -94
  119. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +0 -86
  121. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +0 -1
  122. package/types/acorex-platform-runtime.d.ts +0 -571
  123. /package/{types/acorex-platform.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,120 @@
1
+ import * as i3 from '@acorex/components/button';
2
+ import { AXButtonModule } from '@acorex/components/button';
3
+ import * as i2 from '@acorex/components/decorators';
4
+ import { AXDecoratorModule } from '@acorex/components/decorators';
5
+ import { AXDialogModule } from '@acorex/components/dialog';
6
+ import { AXDropdownModule } from '@acorex/components/dropdown';
7
+ import * as i6 from '@acorex/components/dropdown-button';
8
+ import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
9
+ import * as i1 from '@acorex/components/form';
10
+ import { AXFormModule } from '@acorex/components/form';
11
+ import * as i5 from '@acorex/components/label';
12
+ import { AXLabelModule } from '@acorex/components/label';
13
+ import * as i4 from '@acorex/components/loading';
14
+ import { AXLoadingModule } from '@acorex/components/loading';
15
+ import { AXBasePageComponent } from '@acorex/components/page';
16
+ import { AXTabsModule } from '@acorex/components/tabs';
17
+ import { AXTooltipModule } from '@acorex/components/tooltip';
18
+ import * as i10 from '@acorex/core/translation';
19
+ import { AXTranslationModule } from '@acorex/core/translation';
20
+ import { AXValidationModule } from '@acorex/core/validation';
21
+ import * as i1$1 from '@acorex/platform/core';
22
+ import { AXPExpressionEvaluatorService, AXPGridLayoutDirective, AXPComponentSlotModule } from '@acorex/platform/core';
23
+ import * as i7 from '@acorex/platform/layout/widget-core';
24
+ import { AXPWidgetContainerComponent, AXPPageStatus, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';
25
+ import { AXPWidgetsModule } from '@acorex/platform/layout/widgets';
26
+ import { AXPWorkflowService } from '@acorex/platform/workflow';
27
+ import * as i1$2 from '@angular/common';
28
+ import { CommonModule } from '@angular/common';
29
+ import * as i0 from '@angular/core';
30
+ import { inject, viewChild, signal, effect, ChangeDetectionStrategy, Component } from '@angular/core';
31
+ import { FormsModule } from '@angular/forms';
32
+ import { get } from 'lodash-es';
33
+
34
+ class AXPEntityMasterModifyViewComponent extends AXBasePageComponent {
35
+ constructor() {
36
+ super(...arguments);
37
+ this.workflow = inject(AXPWorkflowService);
38
+ this.evaluator = inject(AXPExpressionEvaluatorService);
39
+ this.container = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: "container" }] : []));
40
+ this.hiddenProperties = signal([], ...(ngDevMode ? [{ debugName: "hiddenProperties" }] : []));
41
+ this.#visibilityEffect = effect(async () => {
42
+ const formContext = this.vm.context();
43
+ const allElements = this.vm.sections().flatMap((section) => section.elements());
44
+ const visibilityConfig = allElements.map((element) => ({
45
+ name: element.name(),
46
+ visible: element.isVisible(),
47
+ }));
48
+ const evaluatedElements = await this.evaluator.evaluate(visibilityConfig, {
49
+ context: {
50
+ eval: (path) => get(formContext, path),
51
+ },
52
+ });
53
+ const hiddenElementNames = evaluatedElements
54
+ .filter((element) => element.visible == false)
55
+ .map((element) => element.name);
56
+ this.hiddenProperties.set(hiddenElementNames);
57
+ }, ...(ngDevMode ? [{ debugName: "#visibilityEffect" }] : []));
58
+ }
59
+ #visibilityEffect;
60
+ ngAfterViewInit() {
61
+ this.vm.builder = this.container().builderService;
62
+ }
63
+ handleCloseClick() {
64
+ this.close();
65
+ }
66
+ async handleSaveClick(form) {
67
+ const formResult = await form.validate();
68
+ if (formResult.result) {
69
+ try {
70
+ await this.vm.save();
71
+ this.close({ result: true, context: this.vm.context() });
72
+ }
73
+ catch (error) {
74
+ this.vm.builder.setStatus(AXPPageStatus.Error);
75
+ }
76
+ }
77
+ }
78
+ async handleSectionDiscard(form) {
79
+ this.close({ result: false });
80
+ }
81
+ async handleSectionReset(form) {
82
+ this.vm.reset();
83
+ }
84
+ async handleContextChange(e) {
85
+ this.vm.context.set(e.data);
86
+ }
87
+ ngOnDestroy() { }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPEntityMasterModifyViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPEntityMasterModifyViewComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "container", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-component-slot name=\"entity-modify-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form id=\"axp-entity-form-edit\" class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-col-span-12\">\n <ax-form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field [attr.id]=\"'axp-field-' + attr.name()\" class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\" [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\">\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n &nbsp;\n }\n </ax-label>\n }\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n<ax-footer id=\"axp-entity-footer-edit\">\n <ax-prefix>\n <axp-component-slot name=\"entity-modify-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-dropdown-button [mode]=\"'split'\" id=\"axp-btn-discard\"\n [text]=\"'@general:actions.discard.title' | translate | async\" (onClick)=\"handleSectionDiscard(form)\">\n <ax-button-item-list>\n <ax-button-item id=\"axp-btn-reset\" [text]=\"('@general:actions.reset.title' | translate | async) ?? ' '\"\n (onClick)=\"handleSectionReset(form)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n </ax-button-item-list>\n </ax-dropdown-button>\n\n <ax-button id=\"axp-btn-apply\" [disabled]=\"vm.isInProgress()\" color=\"primary\"\n [text]=\"'@general:actions.apply.title' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n <axp-component-slot name=\"entity-modify-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n</ax-footer>\n}\n<axp-component-slot name=\"entity-modify-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i1.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i1.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.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: i3.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: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i6.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type:
90
+ //
91
+ AXPWidgetCoreModule }, { kind: "component", type: i7.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[axp-grid-layout]", inputs: ["axp-grid-layout"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name", "host", "context"], exportAs: ["slot"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPEntityMasterModifyViewComponent, decorators: [{
94
+ type: Component,
95
+ args: [{ imports: [
96
+ CommonModule,
97
+ FormsModule,
98
+ AXFormModule,
99
+ AXDecoratorModule,
100
+ CommonModule,
101
+ AXButtonModule,
102
+ AXDialogModule,
103
+ AXLoadingModule,
104
+ AXTabsModule,
105
+ AXTooltipModule,
106
+ AXValidationModule,
107
+ AXLabelModule,
108
+ AXDropdownModule,
109
+ AXDropdownButtonModule,
110
+ //
111
+ AXPWidgetCoreModule,
112
+ AXPWidgetsModule,
113
+ AXPGridLayoutDirective,
114
+ AXTranslationModule,
115
+ AXPComponentSlotModule,
116
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<axp-component-slot name=\"entity-modify-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form id=\"axp-entity-form-edit\" class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-col-span-12\">\n <ax-form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field [attr.id]=\"'axp-field-' + attr.name()\" class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\" [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\">\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n &nbsp;\n }\n </ax-label>\n }\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n<ax-footer id=\"axp-entity-footer-edit\">\n <ax-prefix>\n <axp-component-slot name=\"entity-modify-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-dropdown-button [mode]=\"'split'\" id=\"axp-btn-discard\"\n [text]=\"'@general:actions.discard.title' | translate | async\" (onClick)=\"handleSectionDiscard(form)\">\n <ax-button-item-list>\n <ax-button-item id=\"axp-btn-reset\" [text]=\"('@general:actions.reset.title' | translate | async) ?? ' '\"\n (onClick)=\"handleSectionReset(form)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n </ax-button-item-list>\n </ax-dropdown-button>\n\n <ax-button id=\"axp-btn-apply\" [disabled]=\"vm.isInProgress()\" color=\"primary\"\n [text]=\"'@general:actions.apply.title' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n <axp-component-slot name=\"entity-modify-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n</ax-footer>\n}\n<axp-component-slot name=\"entity-modify-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>" }]
117
+ }], propDecorators: { container: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });
118
+
119
+ export { AXPEntityMasterModifyViewComponent };
120
+ //# sourceMappingURL=acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs","sources":["../tmp-esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPComponentSlotModule, AXPExpressionEvaluatorService, AXPGridLayoutDirective } from '@acorex/platform/core';\nimport { AXPPageStatus, AXPWidgetContainerComponent, AXPWidgetCoreModule, } from '@acorex/platform/layout/widget-core';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { get } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/form\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/components/button\";\nimport * as i4 from \"@acorex/components/loading\";\nimport * as i5 from \"@acorex/components/label\";\nimport * as i6 from \"@acorex/components/dropdown-button\";\nimport * as i7 from \"@acorex/platform/layout/widget-core\";\nimport * as i8 from \"@acorex/platform/core\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"@acorex/core/translation\";\nexport class AXPEntityMasterModifyViewComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.workflow = inject(AXPWorkflowService);\n this.evaluator = inject(AXPExpressionEvaluatorService);\n this.container = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: \"container\" }] : []));\n this.hiddenProperties = signal([], ...(ngDevMode ? [{ debugName: \"hiddenProperties\" }] : []));\n this.#visibilityEffect = effect(async () => {\n const formContext = this.vm.context();\n const allElements = this.vm.sections().flatMap((section) => section.elements());\n const visibilityConfig = allElements.map((element) => ({\n name: element.name(),\n visible: element.isVisible(),\n }));\n const evaluatedElements = await this.evaluator.evaluate(visibilityConfig, {\n context: {\n eval: (path) => get(formContext, path),\n },\n });\n const hiddenElementNames = evaluatedElements\n .filter((element) => element.visible == false)\n .map((element) => element.name);\n this.hiddenProperties.set(hiddenElementNames);\n }, ...(ngDevMode ? [{ debugName: \"#visibilityEffect\" }] : []));\n }\n #visibilityEffect;\n ngAfterViewInit() {\n this.vm.builder = this.container().builderService;\n }\n handleCloseClick() {\n this.close();\n }\n async handleSaveClick(form) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n await this.vm.save();\n this.close({ result: true, context: this.vm.context() });\n }\n catch (error) {\n this.vm.builder.setStatus(AXPPageStatus.Error);\n }\n }\n }\n async handleSectionDiscard(form) {\n this.close({ result: false });\n }\n async handleSectionReset(form) {\n this.vm.reset();\n }\n async handleContextChange(e) {\n this.vm.context.set(e.data);\n }\n ngOnDestroy() { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXPEntityMasterModifyViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.19\", type: AXPEntityMasterModifyViewComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"container\", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<axp-component-slot name=\\\"entity-modify-header\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n<axp-widgets-container [context]=\\\"vm.context()\\\" (onContextChanged)=\\\"handleContextChange($event)\\\">\\n <ax-form id=\\\"axp-entity-form-edit\\\" class=\\\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\\\" #form [messageStyle]=\\\"'bottom'\\\"\\n [updateOn]=\\\"'blur'\\\">\\n <!-- Begin Sections -->\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4\\\">\\n @for (section of vm.sections(); track section.name()) {\\n <div class=\\\"ax-col-span-12\\\">\\n <ax-form>\\n @if (vm.sections().length > 1 && !section.description()) {\\n <div class=\\\"ax-pb-4\\\">\\n <span class=\\\"ax-font-bold ax-text-xl\\\">{{ section.title() | translate | async }}</span>\\n @if (section.description()) {\\n <p class=\\\"ax-text-sm ax-text-gray-500\\\">{{ section.description() }}</p>\\n }\\n </div>\\n }\\n <div class=\\\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\\\">\\n @for (attr of section.elements(); track $index) {\\n <ax-form-field [attr.id]=\\\"'axp-field-' + attr.name()\\\" class=\\\"ax-flex ax-flex-col ax-gap-1\\\"\\n [axp-grid-layout]=\\\"attr.layout()\\\" [class.ax-hidden]=\\\"hiddenProperties().includes(attr.name())\\\">\\n @if (attr.layout().label?.visible != false) {\\n <ax-label class=\\\"ax-font-semibold ax-text-sm\\\" [required]=\\\"attr.isRequired()\\\">\\n @if (attr.title()) {\\n {{ attr.title() | translate | async }}\\n } @else {\\n &nbsp;\\n }\\n </ax-label>\\n }\\n <ng-container axp-widget-renderer [node]=\\\"attr.node()\\\" [mode]=\\\"'edit'\\\"\\n #widget=\\\"widgetRenderer\\\"></ng-container>\\n </ax-form-field>\\n }\\n </div>\\n </ax-form>\\n </div>\\n }\\n </div>\\n <!-- Finish Sections -->\\n </ax-form>\\n</axp-widgets-container>\\n@if (slot.isEmpty()) {\\n<ax-footer id=\\\"axp-entity-footer-edit\\\">\\n <ax-prefix>\\n <axp-component-slot name=\\\"entity-modify-footer-prefix\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n </ax-prefix>\\n <ax-suffix>\\n <ax-dropdown-button [mode]=\\\"'split'\\\" id=\\\"axp-btn-discard\\\"\\n [text]=\\\"'@general:actions.discard.title' | translate | async\\\" (onClick)=\\\"handleSectionDiscard(form)\\\">\\n <ax-button-item-list>\\n <ax-button-item id=\\\"axp-btn-reset\\\" [text]=\\\"('@general:actions.reset.title' | translate | async) ?? ' '\\\"\\n (onClick)=\\\"handleSectionReset(form)\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-solid fa-rotate-left fa-flip-horizontal\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n\\n </ax-button-item-list>\\n </ax-dropdown-button>\\n\\n <ax-button id=\\\"axp-btn-apply\\\" [disabled]=\\\"vm.isInProgress()\\\" color=\\\"primary\\\"\\n [text]=\\\"'@general:actions.apply.title' | translate | async\\\" (onClick)=\\\"handleSaveClick(form)\\\">\\n @if (vm.isInProgress()) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n <axp-component-slot name=\\\"entity-modify-footer-suffix\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n </ax-suffix>\\n</ax-footer>\\n}\\n<axp-component-slot name=\\\"entity-modify-footer\\\" #slot=\\\"slot\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i1.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i1.AXFormComponent, selector: \"ax-form\", inputs: [\"disabled\", \"readonly\", \"labelMode\", \"look\", \"messageStyle\", \"updateOn\", \"inUserInteractionActive\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i2.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: i3.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: \"component\", type: i3.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i3.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\", \"closeParentOnClick\", \"lockOnLoading\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXDialogModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"component\", type: i4.AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"ngmodule\", type: AXTooltipModule }, { kind: \"ngmodule\", type: AXValidationModule }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i5.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"component\", type: i6.AXDropdownButtonComponent, selector: \"ax-dropdown-button\", inputs: [\"disabled\", \"size\", \"color\", \"look\", \"text\", \"type\", \"mode\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"lookChange\", \"colorChange\", \"disabledChange\"] }, { kind: \"ngmodule\", type: \n //\n AXPWidgetCoreModule }, { kind: \"component\", type: i7.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i7.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\", \"onLoad\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXPWidgetsModule }, { kind: \"directive\", type: AXPGridLayoutDirective, selector: \"[axp-grid-layout]\", inputs: [\"axp-grid-layout\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXPComponentSlotModule }, { kind: \"directive\", type: i8.AXPComponentSlotDirective, selector: \"axp-component-slot\", inputs: [\"name\", \"host\", \"context\"], exportAs: [\"slot\"] }, { kind: \"pipe\", type: i9.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i10.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXPEntityMasterModifyViewComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n CommonModule,\n AXButtonModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXTooltipModule,\n AXValidationModule,\n AXLabelModule,\n AXDropdownModule,\n AXDropdownButtonModule,\n //\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n AXTranslationModule,\n AXPComponentSlotModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<axp-component-slot name=\\\"entity-modify-header\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n<axp-widgets-container [context]=\\\"vm.context()\\\" (onContextChanged)=\\\"handleContextChange($event)\\\">\\n <ax-form id=\\\"axp-entity-form-edit\\\" class=\\\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\\\" #form [messageStyle]=\\\"'bottom'\\\"\\n [updateOn]=\\\"'blur'\\\">\\n <!-- Begin Sections -->\\n <div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4\\\">\\n @for (section of vm.sections(); track section.name()) {\\n <div class=\\\"ax-col-span-12\\\">\\n <ax-form>\\n @if (vm.sections().length > 1 && !section.description()) {\\n <div class=\\\"ax-pb-4\\\">\\n <span class=\\\"ax-font-bold ax-text-xl\\\">{{ section.title() | translate | async }}</span>\\n @if (section.description()) {\\n <p class=\\\"ax-text-sm ax-text-gray-500\\\">{{ section.description() }}</p>\\n }\\n </div>\\n }\\n <div class=\\\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\\\">\\n @for (attr of section.elements(); track $index) {\\n <ax-form-field [attr.id]=\\\"'axp-field-' + attr.name()\\\" class=\\\"ax-flex ax-flex-col ax-gap-1\\\"\\n [axp-grid-layout]=\\\"attr.layout()\\\" [class.ax-hidden]=\\\"hiddenProperties().includes(attr.name())\\\">\\n @if (attr.layout().label?.visible != false) {\\n <ax-label class=\\\"ax-font-semibold ax-text-sm\\\" [required]=\\\"attr.isRequired()\\\">\\n @if (attr.title()) {\\n {{ attr.title() | translate | async }}\\n } @else {\\n &nbsp;\\n }\\n </ax-label>\\n }\\n <ng-container axp-widget-renderer [node]=\\\"attr.node()\\\" [mode]=\\\"'edit'\\\"\\n #widget=\\\"widgetRenderer\\\"></ng-container>\\n </ax-form-field>\\n }\\n </div>\\n </ax-form>\\n </div>\\n }\\n </div>\\n <!-- Finish Sections -->\\n </ax-form>\\n</axp-widgets-container>\\n@if (slot.isEmpty()) {\\n<ax-footer id=\\\"axp-entity-footer-edit\\\">\\n <ax-prefix>\\n <axp-component-slot name=\\\"entity-modify-footer-prefix\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n </ax-prefix>\\n <ax-suffix>\\n <ax-dropdown-button [mode]=\\\"'split'\\\" id=\\\"axp-btn-discard\\\"\\n [text]=\\\"'@general:actions.discard.title' | translate | async\\\" (onClick)=\\\"handleSectionDiscard(form)\\\">\\n <ax-button-item-list>\\n <ax-button-item id=\\\"axp-btn-reset\\\" [text]=\\\"('@general:actions.reset.title' | translate | async) ?? ' '\\\"\\n (onClick)=\\\"handleSectionReset(form)\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-solid fa-rotate-left fa-flip-horizontal\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n\\n </ax-button-item-list>\\n </ax-dropdown-button>\\n\\n <ax-button id=\\\"axp-btn-apply\\\" [disabled]=\\\"vm.isInProgress()\\\" color=\\\"primary\\\"\\n [text]=\\\"'@general:actions.apply.title' | translate | async\\\" (onClick)=\\\"handleSaveClick(form)\\\">\\n @if (vm.isInProgress()) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n <axp-component-slot name=\\\"entity-modify-footer-suffix\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n </ax-suffix>\\n</ax-footer>\\n}\\n<axp-component-slot name=\\\"entity-modify-footer\\\" #slot=\\\"slot\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\" }]\n }], propDecorators: { container: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1tb2RpZnktdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RoZW1lcy9kZWZhdWx0L3NyYy9saWIvbGF5b3V0cy9lbnRpdHktbGF5b3V0cy9lbnRpdHktbWFzdGVyLW1vZGlmeS12aWV3L2VudGl0eS1tYXN0ZXItbW9kaWZ5LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdC9zcmMvbGliL2xheW91dHMvZW50aXR5LWxheW91dHMvZW50aXR5LW1hc3Rlci1tb2RpZnktdmlldy9lbnRpdHktbWFzdGVyLW1vZGlmeS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDZCQUE2QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEgsT0FBTyxFQUNMLGFBQWEsRUFDYiwyQkFBMkIsRUFFM0IsbUJBQW1CLEdBQ3BCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7Ozs7QUE0QmhDLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxtQkFBbUI7SUExQjNFOztRQTZCWSxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDeEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBRWxELGNBQVMsR0FBRyxTQUFTLENBQUMsMkJBQTJCLHFEQUFDLENBQUM7UUFDakQscUJBQWdCLEdBQUcsTUFBTSxDQUFXLEVBQUUsNERBQUMsQ0FBQztRQUVsRCxzQkFBaUIsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDaEYsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDcEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUU7YUFDN0IsQ0FBQyxDQUFDLENBQUM7WUFFSixNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3hFLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO2lCQUMvQzthQUNGLENBQUMsQ0FBQztZQUVILE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCO2lCQUN6QyxNQUFNLENBQUMsQ0FBQyxPQUEyQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQztpQkFDakYsR0FBRyxDQUFDLENBQUMsT0FBMkMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxDQUFDLDZEQUFDLENBQUM7S0FvQ0o7SUF0REMsaUJBQWlCLENBa0JkO0lBRUgsZUFBZTtRQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUcsQ0FBQyxjQUFjLENBQUM7SUFDckQsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRVMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFxQjtRQUNuRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUVyQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRVMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQXFCO1FBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRVMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQXFCO1FBQ3RELElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVTLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFrQztRQUNwRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFUSxXQUFXLEtBQVUsQ0FBQzsrR0E5RHBCLGtDQUFrQzttR0FBbEMsa0NBQWtDLG1IQU1mLDJCQUEyQix1RkM1RDNELGt6R0F1RTJHLDJDRHhDdkcsWUFBWSw4QkFDWixXQUFXLDhCQUNYLFlBQVkscVdBQ1osaUJBQWlCLHNWQUVqQixjQUFjLDJ3QkFDZCxjQUFjLDhCQUNkLGVBQWUsOEtBQ2YsWUFBWSw4QkFDWixlQUFlLDhCQUNmLGtCQUFrQiw4QkFDbEIsYUFBYSxnS0FDYixnQkFBZ0IsOEJBQ2hCLHNCQUFzQjtnQkFDdEIsRUFBRTtnQkFDRixtQkFBbUIsd2FBQ25CLGdCQUFnQiwrQkFDaEIsc0JBQXNCLDBGQUN0QixtQkFBbUIsOEJBQ25CLHNCQUFzQjs7NEZBSWIsa0NBQWtDO2tCQTFCOUMsU0FBUzs4QkFFQzt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsRUFBRTt3QkFDRixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLHNCQUFzQjtxQkFDdkIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07MkZBUWpCLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBBWFBDb21wb25lbnRTbG90TW9kdWxlLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2VydmljZSwgQVhQR3JpZExheW91dERpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlNYXN0ZXJVcGRhdGVWaWV3TW9kZWwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHtcbiAgQVhQUGFnZVN0YXR1cyxcbiAgQVhQV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50LFxuICBBWFBXaWRnZXRDb3JlQ29udGV4dENoYW5nZUV2ZW50LFxuICBBWFBXaWRnZXRDb3JlTW9kdWxlLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0cyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBlZmZlY3QsIGluamVjdCwgc2lnbmFsLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktbWFzdGVyLW1vZGlmeS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGlhbG9nTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhUb29sdGlwTW9kdWxlLFxuICAgIEFYVmFsaWRhdGlvbk1vZHVsZSxcbiAgICBBWExhYmVsTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICAvL1xuICAgIEFYUFdpZGdldENvcmVNb2R1bGUsXG4gICAgQVhQV2lkZ2V0c01vZHVsZSxcbiAgICBBWFBHcmlkTGF5b3V0RGlyZWN0aXZlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhQQ29tcG9uZW50U2xvdE1vZHVsZSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eU1hc3Rlck1vZGlmeVZpZXdDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQYWdlQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHZtITogQVhQRW50aXR5TWFzdGVyVXBkYXRlVmlld01vZGVsO1xuXG4gIHByb3RlY3RlZCB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuICBwcml2YXRlIGV2YWx1YXRvciA9IGluamVjdChBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBjb250YWluZXIgPSB2aWV3Q2hpbGQoQVhQV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50KTtcbiAgcHJvdGVjdGVkIGhpZGRlblByb3BlcnRpZXMgPSBzaWduYWw8c3RyaW5nW10+KFtdKTtcblxuICAjdmlzaWJpbGl0eUVmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZm9ybUNvbnRleHQgPSB0aGlzLnZtLmNvbnRleHQoKTtcbiAgICBjb25zdCBhbGxFbGVtZW50cyA9IHRoaXMudm0uc2VjdGlvbnMoKS5mbGF0TWFwKChzZWN0aW9uKSA9PiBzZWN0aW9uLmVsZW1lbnRzKCkpO1xuICAgIGNvbnN0IHZpc2liaWxpdHlDb25maWcgPSBhbGxFbGVtZW50cy5tYXAoKGVsZW1lbnQpID0+ICh7XG4gICAgICBuYW1lOiBlbGVtZW50Lm5hbWUoKSxcbiAgICAgIHZpc2libGU6IGVsZW1lbnQuaXNWaXNpYmxlKCksXG4gICAgfSkpO1xuXG4gICAgY29uc3QgZXZhbHVhdGVkRWxlbWVudHMgPSBhd2FpdCB0aGlzLmV2YWx1YXRvci5ldmFsdWF0ZSh2aXNpYmlsaXR5Q29uZmlnLCB7XG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIGV2YWw6IChwYXRoOiBzdHJpbmcpID0+IGdldChmb3JtQ29udGV4dCwgcGF0aCksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgaGlkZGVuRWxlbWVudE5hbWVzID0gZXZhbHVhdGVkRWxlbWVudHNcbiAgICAgIC5maWx0ZXIoKGVsZW1lbnQ6IHsgbmFtZTogc3RyaW5nOyB2aXNpYmxlOiBib29sZWFuIH0pID0+IGVsZW1lbnQudmlzaWJsZSA9PSBmYWxzZSlcbiAgICAgIC5tYXAoKGVsZW1lbnQ6IHsgbmFtZTogc3RyaW5nOyB2aXNpYmxlOiBib29sZWFuIH0pID0+IGVsZW1lbnQubmFtZSk7XG4gICAgdGhpcy5oaWRkZW5Qcm9wZXJ0aWVzLnNldChoaWRkZW5FbGVtZW50TmFtZXMpO1xuICB9KTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy52bS5idWlsZGVyID0gdGhpcy5jb250YWluZXIoKSEuYnVpbGRlclNlcnZpY2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2VDbGljaygpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZUNsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLnZtLnNhdmUoKTtcblxuICAgICAgICB0aGlzLmNsb3NlKHsgcmVzdWx0OiB0cnVlLCBjb250ZXh0OiB0aGlzLnZtLmNvbnRleHQoKSB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgdGhpcy52bS5idWlsZGVyLnNldFN0YXR1cyhBWFBQYWdlU3RhdHVzLkVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2VjdGlvbkRpc2NhcmQoZm9ybTogQVhGb3JtQ29tcG9uZW50KSB7XG4gICAgdGhpcy5jbG9zZSh7IHJlc3VsdDogZmFsc2UgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2VjdGlvblJlc2V0KGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIHRoaXMudm0ucmVzZXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVDb250ZXh0Q2hhbmdlKGU6IEFYUFdpZGdldENvcmVDb250ZXh0Q2hhbmdlRXZlbnQpIHtcbiAgICB0aGlzLnZtLmNvbnRleHQuc2V0KGUuZGF0YSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHt9XG59XG4iLCI8YXhwLWNvbXBvbmVudC1zbG90IG5hbWU9XCJlbnRpdHktbW9kaWZ5LWhlYWRlclwiIFtjb250ZXh0XT1cInZtLmNvbnRleHQoKVwiPjwvYXhwLWNvbXBvbmVudC1zbG90PlxuPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJ2bS5jb250ZXh0KClcIiAob25Db250ZXh0Q2hhbmdlZCk9XCJoYW5kbGVDb250ZXh0Q2hhbmdlKCRldmVudClcIj5cbiAgPGF4LWZvcm0gaWQ9XCJheHAtZW50aXR5LWZvcm0tZWRpdFwiIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNiBheC1wLTQgYXgtcGItOFwiICNmb3JtIFttZXNzYWdlU3R5bGVdPVwiJ2JvdHRvbSdcIlxuICAgIFt1cGRhdGVPbl09XCInYmx1cidcIj5cbiAgICA8IS0tIEJlZ2luIFNlY3Rpb25zIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNFwiPlxuICAgICAgQGZvciAoc2VjdGlvbiBvZiB2bS5zZWN0aW9ucygpOyB0cmFjayBzZWN0aW9uLm5hbWUoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbC1zcGFuLTEyXCI+XG4gICAgICAgIDxheC1mb3JtPlxuICAgICAgICAgIEBpZiAodm0uc2VjdGlvbnMoKS5sZW5ndGggPiAxICYmICFzZWN0aW9uLmRlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtcGItNFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1mb250LWJvbGQgYXgtdGV4dC14bFwiPnt7IHNlY3Rpb24udGl0bGUoKSB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICAgICAgQGlmIChzZWN0aW9uLmRlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC1zbSBheC10ZXh0LWdyYXktNTAwXCI+e3sgc2VjdGlvbi5kZXNjcmlwdGlvbigpIH19PC9wPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FyZC1ib2R5ICFheC1ncmlkICFheC1ncmlkLWNvbHMtMTIgIWF4LWdhcC00XCI+XG4gICAgICAgICAgICBAZm9yIChhdHRyIG9mIHNlY3Rpb24uZWxlbWVudHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8YXgtZm9ybS1maWVsZCBbYXR0ci5pZF09XCInYXhwLWZpZWxkLScgKyBhdHRyLm5hbWUoKVwiIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMVwiXG4gICAgICAgICAgICAgIFtheHAtZ3JpZC1sYXlvdXRdPVwiYXR0ci5sYXlvdXQoKVwiIFtjbGFzcy5heC1oaWRkZW5dPVwiaGlkZGVuUHJvcGVydGllcygpLmluY2x1ZGVzKGF0dHIubmFtZSgpKVwiPlxuICAgICAgICAgICAgICBAaWYgKGF0dHIubGF5b3V0KCkubGFiZWw/LnZpc2libGUgIT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgPGF4LWxhYmVsIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCIgW3JlcXVpcmVkXT1cImF0dHIuaXNSZXF1aXJlZCgpXCI+XG4gICAgICAgICAgICAgICAgQGlmIChhdHRyLnRpdGxlKCkpIHtcbiAgICAgICAgICAgICAgICB7eyBhdHRyLnRpdGxlKCkgfCB0cmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICZuYnNwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGF4cC13aWRnZXQtcmVuZGVyZXIgW25vZGVdPVwiYXR0ci5ub2RlKClcIiBbbW9kZV09XCInZWRpdCdcIlxuICAgICAgICAgICAgICAgICN3aWRnZXQ9XCJ3aWRnZXRSZW5kZXJlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2F4LWZvcm0+XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8IS0tIEZpbmlzaCBTZWN0aW9ucyAgLS0+XG4gIDwvYXgtZm9ybT5cbjwvYXhwLXdpZGdldHMtY29udGFpbmVyPlxuQGlmIChzbG90LmlzRW1wdHkoKSkge1xuPGF4LWZvb3RlciBpZD1cImF4cC1lbnRpdHktZm9vdGVyLWVkaXRcIj5cbiAgPGF4LXByZWZpeD5cbiAgICA8YXhwLWNvbXBvbmVudC1zbG90IG5hbWU9XCJlbnRpdHktbW9kaWZ5LWZvb3Rlci1wcmVmaXhcIiBbY29udGV4dF09XCJ2bS5jb250ZXh0KClcIj48L2F4cC1jb21wb25lbnQtc2xvdD5cbiAgPC9heC1wcmVmaXg+XG4gIDxheC1zdWZmaXg+XG4gICAgPGF4LWRyb3Bkb3duLWJ1dHRvbiBbbW9kZV09XCInc3BsaXQnXCIgaWQ9XCJheHAtYnRuLWRpc2NhcmRcIlxuICAgICAgW3RleHRdPVwiJ0BnZW5lcmFsOmFjdGlvbnMuZGlzY2FyZC50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChvbkNsaWNrKT1cImhhbmRsZVNlY3Rpb25EaXNjYXJkKGZvcm0pXCI+XG4gICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIGlkPVwiYXhwLWJ0bi1yZXNldFwiIFt0ZXh0XT1cIignQGdlbmVyYWw6YWN0aW9ucy5yZXNldC50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luYykgPz8gJyAnXCJcbiAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVTZWN0aW9uUmVzZXQoZm9ybSlcIj5cbiAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLXJvdGF0ZS1sZWZ0IGZhLWZsaXAtaG9yaXpvbnRhbFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgPC9heC1idXR0b24taXRlbT5cblxuICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgIDwvYXgtZHJvcGRvd24tYnV0dG9uPlxuXG4gICAgPGF4LWJ1dHRvbiBpZD1cImF4cC1idG4tYXBwbHlcIiBbZGlzYWJsZWRdPVwidm0uaXNJblByb2dyZXNzKClcIiBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgW3RleHRdPVwiJ0BnZW5lcmFsOmFjdGlvbnMuYXBwbHkudGl0bGUnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiAob25DbGljayk9XCJoYW5kbGVTYXZlQ2xpY2soZm9ybSlcIj5cbiAgICAgIEBpZiAodm0uaXNJblByb2dyZXNzKCkpIHtcbiAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgIH1cbiAgICA8L2F4LWJ1dHRvbj5cbiAgICA8YXhwLWNvbXBvbmVudC1zbG90IG5hbWU9XCJlbnRpdHktbW9kaWZ5LWZvb3Rlci1zdWZmaXhcIiBbY29udGV4dF09XCJ2bS5jb250ZXh0KClcIj48L2F4cC1jb21wb25lbnQtc2xvdD5cbiAgPC9heC1zdWZmaXg+XG48L2F4LWZvb3Rlcj5cbn1cbjxheHAtY29tcG9uZW50LXNsb3QgbmFtZT1cImVudGl0eS1tb2RpZnktZm9vdGVyXCIgI3Nsb3Q9XCJzbG90XCIgW2NvbnRleHRdPVwidm0uY29udGV4dCgpXCI+PC9heHAtY29tcG9uZW50LXNsb3Q+Il19"],"names":["i8","i9"],"mappings":"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"}
@@ -27,38 +27,38 @@ import { AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPageLayoutBase }
27
27
  import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
28
28
  import { AXPWidgetsModule } from '@acorex/platform/layout/widgets';
29
29
  import { AXPWorkflowEventService, AXPWorkflowService, ofType } from '@acorex/platform/workflow';
30
+ import * as i1$1 from '@angular/common';
31
+ import { CommonModule } from '@angular/common';
30
32
  import * as i0 from '@angular/core';
31
33
  import { inject, viewChild, signal, effect, ChangeDetectionStrategy, Component, untracked } from '@angular/core';
32
34
  import { ActivatedRoute, RouterModule, Router } from '@angular/router';
33
35
  import { Subject, takeUntil } from 'rxjs';
34
- import * as i1$1 from '@angular/common';
35
- import { CommonModule } from '@angular/common';
36
36
  import { AXPEntityDetailListViewComponent } from './acorex-platform-themes-default.mjs';
37
37
 
38
38
  class AXPEntitySingleOverviewComponent {
39
39
  constructor() {
40
40
  this.activeRoute = inject(ActivatedRoute);
41
41
  this.vm = this.activeRoute.snapshot.data['vm'];
42
- this.widgetContainer = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: "widgetContainer" }] : /* istanbul ignore next */ []));
43
- this.selectedRelatedIEntityTabIndex = signal(0, ...(ngDevMode ? [{ debugName: "selectedRelatedIEntityTabIndex" }] : /* istanbul ignore next */ []));
42
+ this.widgetContainer = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: "widgetContainer" }] : []));
43
+ this.selectedRelatedIEntityTabIndex = signal(0, ...(ngDevMode ? [{ debugName: "selectedRelatedIEntityTabIndex" }] : []));
44
44
  this.#refresh = effect(() => {
45
45
  if (this.vm.updateTrigger()) {
46
46
  this.widgetContainer()?.refresh();
47
47
  }
48
- }, ...(ngDevMode ? [{ debugName: "#refresh" }] : /* istanbul ignore next */ []));
48
+ }, ...(ngDevMode ? [{ debugName: "#refresh" }] : []));
49
49
  }
50
50
  handleActiveRelatedEntityChanged(e) {
51
51
  this.selectedRelatedIEntityTabIndex.set(e.index);
52
52
  }
53
53
  #refresh;
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPEntitySingleOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPEntitySingleOverviewComponent, isStandalone: true, selector: "axp-entity-single-overview", viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() | translate | async }}</span>\n <br />\n @if (section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-opacity-75\">{{ section.description() }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-xs\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"ax-font-semibold ax-mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n @if (attr.description()) {\n <p class=\"ax-text-sm ax-mt-1 ax-font-normal ax-opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"ax-mt-4 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.ax-hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i1.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i3.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i3.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3$1.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: AXBreadcrumbsModule }, { kind: "ngmodule", type:
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPEntitySingleOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPEntitySingleOverviewComponent, isStandalone: true, selector: "axp-entity-single-overview", viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() | translate | async }}</span>\n <br />\n @if (section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-opacity-75\">{{ section.description() }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-xs\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"ax-font-semibold ax-mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"ax-mt-4 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.ax-hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i1.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i3.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i3.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3$1.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: AXBreadcrumbsModule }, { kind: "ngmodule", type:
56
56
  //
57
57
  AXPWidgetCoreModule }, { kind: "component", type: i7.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[axp-grid-layout]", inputs: ["axp-grid-layout"] }, { kind: "component", type: AXPEntityDetailListViewComponent, selector: "axp-entity-detail-list-view", inputs: ["viewModel"] }, { kind: "ngmodule", type:
58
58
  //
59
59
  AXTranslationModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPEntitySingleOverviewComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPEntitySingleOverviewComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'axp-entity-single-overview', imports: [
64
64
  CommonModule,
@@ -81,7 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
81
81
  AXPEntityDetailListViewComponent,
82
82
  //
83
83
  AXTranslationModule,
84
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() | translate | async }}</span>\n <br />\n @if (section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-opacity-75\">{{ section.description() }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-xs\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"ax-font-semibold ax-mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n @if (attr.description()) {\n <p class=\"ax-text-sm ax-mt-1 ax-font-normal ax-opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"ax-mt-4 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.ax-hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n }\n}\n" }]
84
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() | translate | async }}</span>\n <br />\n @if (section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-opacity-75\">{{ section.description() }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-xs\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"ax-font-semibold ax-mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"ax-mt-4 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.ax-hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n }\n}\n" }]
85
85
  }], propDecorators: { widgetContainer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });
86
86
 
87
87
  class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {
@@ -103,7 +103,7 @@ class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {
103
103
  entity: this.vm.context(),
104
104
  });
105
105
  });
106
- }, ...(ngDevMode ? [{ debugName: "#syncContext" }] : /* istanbul ignore next */ []));
106
+ }, ...(ngDevMode ? [{ debugName: "#syncContext" }] : []));
107
107
  }
108
108
  async ngOnInit() {
109
109
  await super.ngOnInit();
@@ -194,18 +194,24 @@ class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {
194
194
  this.destroyed.next();
195
195
  this.destroyed.complete();
196
196
  }
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPEntityMasterSingleViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: AXPEntityMasterSingleViewComponent, isStandalone: true, selector: "ng-component", providers: [
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPEntityMasterSingleViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
198
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: AXPEntityMasterSingleViewComponent, isStandalone: true, selector: "ng-component", providers: [
199
199
  {
200
200
  provide: AXPPageLayoutBase,
201
201
  useExisting: AXPEntityMasterSingleViewComponent,
202
202
  },
203
- ], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <axp-page-content>\n <axp-component-slot name=\"entity-detail-header\"></axp-component-slot>\n <axp-entity-single-overview></axp-entity-single-overview>\n <axp-component-slot name=\"entity-detail-footer\"></axp-component-slot>\n </axp-page-content>\n</axp-page-layout>", dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i10.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "component", type: AXPEntitySingleOverviewComponent, selector: "axp-entity-single-overview" }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$2.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name", "host", "context"], exportAs: ["slot"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
203
+ ], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <axp-page-content>\n <axp-component-slot name=\"entity-detail-header\"></axp-component-slot>\n <axp-entity-single-overview></axp-entity-single-overview>\n <axp-component-slot name=\"entity-detail-footer\"></axp-component-slot>\n </axp-page-content>\n</axp-page-layout>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
204
+ //
205
+ AXDecoratorModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i10.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type:
206
+ //
207
+ AXPWidgetCoreModule }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "component", type: AXPEntitySingleOverviewComponent, selector: "axp-entity-single-overview" }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$2.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name", "host", "context"], exportAs: ["slot"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
204
208
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPEntityMasterSingleViewComponent, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPEntityMasterSingleViewComponent, decorators: [{
206
210
  type: Component,
207
211
  args: [{ imports: [
212
+ CommonModule,
208
213
  RouterModule,
214
+ //
209
215
  AXDecoratorModule,
210
216
  AXDropdownModule,
211
217
  AXPopoverModule,
@@ -219,12 +225,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
219
225
  AXTabsModule,
220
226
  AXButtonModule,
221
227
  AXBreadcrumbsModule,
228
+ //
222
229
  AXPWidgetCoreModule,
223
230
  AXPWidgetsModule,
224
231
  AXPEntitySingleOverviewComponent,
225
232
  AXPPageLayoutComponent,
226
233
  AXPThemeLayoutBlockComponent,
227
- AXPComponentSlotModule
234
+ AXPComponentSlotModule,
228
235
  ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
229
236
  {
230
237
  provide: AXPPageLayoutBase,
@@ -234,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
234
241
  }] });
235
242
 
236
243
  export { AXPEntityMasterSingleViewComponent };
237
- //# sourceMappingURL=acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map
244
+ //# sourceMappingURL=acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs","sources":["../tmp-esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.js","../tmp-esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.js"],"sourcesContent":["import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetCoreModule, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, viewChild } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { AXPEntityDetailListViewComponent } from '../../entity-detail-list-view/entity-detail-list-view.component';\nimport { AXPGridLayoutDirective } from '@acorex/platform/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/form\";\nimport * as i3 from \"@acorex/components/tabs\";\nimport * as i4 from \"@acorex/components/button\";\nimport * as i5 from \"@acorex/platform/layout/widget-core\";\nimport * as i6 from \"@angular/common\";\nimport * as i7 from \"@acorex/core/translation\";\nexport class AXPEntitySingleOverviewComponent {\n constructor() {\n this.activeRoute = inject(ActivatedRoute);\n this.vm = this.activeRoute.snapshot.data['vm'];\n this.widgetContainer = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: \"widgetContainer\" }] : []));\n this.selectedRelatedIEntityTabIndex = signal(0, ...(ngDevMode ? [{ debugName: \"selectedRelatedIEntityTabIndex\" }] : []));\n this.#refresh = effect(() => {\n if (this.vm.updateTrigger()) {\n this.widgetContainer()?.refresh();\n }\n }, ...(ngDevMode ? [{ debugName: \"#refresh\" }] : []));\n }\n handleActiveRelatedEntityChanged(e) {\n this.selectedRelatedIEntityTabIndex.set(e.index);\n }\n #refresh;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXPEntitySingleOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.19\", type: AXPEntitySingleOverviewComponent, isStandalone: true, selector: \"axp-entity-single-overview\", viewQueries: [{ propertyName: \"widgetContainer\", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"<div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4\\\">\\n <axp-widgets-container [context]=\\\"vm.context()\\\">\\n @for (section of vm.sections(); track section.name()) {\\n <div class=\\\"ax-card ax-mt-2\\\" [axp-grid-layout]=\\\"section.layout()\\\">\\n <ax-form #form>\\n <div class=\\\"ax-card-header !ax-py-2 !ax-px-4\\\">\\n <p>\\n <span class=\\\"!ax-text-lg ax-font-semibold\\\">{{ section.title() | translate | async }}</span>\\n <br />\\n @if (section.description()) {\\n <span class=\\\"ax-text-sm ax-font-normal ax-opacity-75\\\">{{ section.description() }}</span>\\n }\\n </p>\\n @if (section.editable()) {\\n <ax-button\\n class=\\\"ax-xs\\\"\\n [color]=\\\"'default'\\\"\\n [look]=\\\"'blank'\\\"\\n (onClick)=\\\"vm.executeCommand('modify-entity-section', section)\\\"\\n >\\n <ax-icon class=\\\"fa-solid fa-pen ax-text-gray-600\\\"> </ax-icon>\\n </ax-button>\\n }\\n </div>\\n <div class=\\\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\\\">\\n @for (attr of section.props(); track $index) {\\n <div\\n class=\\\"ax-flex ax-flex-col ax-gap-1\\\"\\n [axp-grid-layout]=\\\"attr.layout()\\\"\\n [class.ax-hidden]=\\\"widget.options()['visibility'] == false\\\"\\n >\\n <div>\\n @if (attr.showLabel()) {\\n <div class=\\\"ax-font-semibold ax-mb-1\\\">\\n <span>{{ attr.title() | translate | async }}</span>\\n </div>\\n }\\n </div>\\n <div>\\n <ng-container\\n axp-widget-renderer\\n [node]=\\\"attr.node()\\\"\\n [mode]=\\\"'view'\\\"\\n #widget=\\\"widgetRenderer\\\"\\n ></ng-container>\\n </div>\\n </div>\\n }\\n </div>\\n </ax-form>\\n </div>\\n }\\n </axp-widgets-container>\\n</div>\\n\\n@if ((vm.relatedEntities() | async)?.length) {\\n <ax-tabs\\n [look]=\\\"'classic'\\\"\\n class=\\\"ax-mt-4 ax-font-semibold\\\"\\n #tab\\n (onActiveTabChanged)=\\\"handleActiveRelatedEntityChanged($event)\\\"\\n >\\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\\n <ax-tab-item [text]=\\\"(e.title() | translate | async)!\\\" [key]=\\\"index.toString()\\\"> </ax-tab-item>\\n }\\n </ax-tabs>\\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\\n <div [class.ax-hidden]=\\\"$index != selectedRelatedIEntityTabIndex()\\\">\\n <axp-entity-detail-list-view [viewModel]=\\\"e\\\"></axp-entity-detail-list-view>\\n </div>\\n }\\n}\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i2.AXFormComponent, selector: \"ax-form\", inputs: [\"disabled\", \"readonly\", \"labelMode\", \"look\", \"messageStyle\", \"updateOn\", \"inUserInteractionActive\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"ngmodule\", type: AXActionSheetModule }, { kind: \"ngmodule\", type: AXDrawerModule }, { kind: \"ngmodule\", type: AXDialogModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"component\", type: i3.AXTabsComponent, selector: \"ax-tabs\", inputs: [\"look\", \"location\", \"fitParent\", \"minWidth\", \"content\"], outputs: [\"onActiveTabChanged\"] }, { kind: \"component\", type: i3.AXTabItemComponent, selector: \"ax-tab-item\", inputs: [\"disabled\", \"text\", \"key\", \"headerTemplate\", \"active\"], outputs: [\"disabledChange\", \"onClick\", \"onBlur\", \"onFocus\", \"activeChange\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i4.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: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: \n //\n AXPWidgetCoreModule }, { kind: \"component\", type: i5.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i5.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\", \"onLoad\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXPWidgetsModule }, { kind: \"directive\", type: AXPGridLayoutDirective, selector: \"[axp-grid-layout]\", inputs: [\"axp-grid-layout\"] }, { kind: \"component\", type: AXPEntityDetailListViewComponent, selector: \"axp-entity-detail-list-view\", inputs: [\"viewModel\"] }, { kind: \"ngmodule\", type: \n //\n AXTranslationModule }, { kind: \"pipe\", type: i6.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i7.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXPEntitySingleOverviewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-entity-single-overview', imports: [\n CommonModule,\n RouterModule,\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n //\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n AXPEntityDetailListViewComponent,\n //\n AXTranslationModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"ax-grid ax-grid-cols-12 ax-gap-4\\\">\\n <axp-widgets-container [context]=\\\"vm.context()\\\">\\n @for (section of vm.sections(); track section.name()) {\\n <div class=\\\"ax-card ax-mt-2\\\" [axp-grid-layout]=\\\"section.layout()\\\">\\n <ax-form #form>\\n <div class=\\\"ax-card-header !ax-py-2 !ax-px-4\\\">\\n <p>\\n <span class=\\\"!ax-text-lg ax-font-semibold\\\">{{ section.title() | translate | async }}</span>\\n <br />\\n @if (section.description()) {\\n <span class=\\\"ax-text-sm ax-font-normal ax-opacity-75\\\">{{ section.description() }}</span>\\n }\\n </p>\\n @if (section.editable()) {\\n <ax-button\\n class=\\\"ax-xs\\\"\\n [color]=\\\"'default'\\\"\\n [look]=\\\"'blank'\\\"\\n (onClick)=\\\"vm.executeCommand('modify-entity-section', section)\\\"\\n >\\n <ax-icon class=\\\"fa-solid fa-pen ax-text-gray-600\\\"> </ax-icon>\\n </ax-button>\\n }\\n </div>\\n <div class=\\\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\\\">\\n @for (attr of section.props(); track $index) {\\n <div\\n class=\\\"ax-flex ax-flex-col ax-gap-1\\\"\\n [axp-grid-layout]=\\\"attr.layout()\\\"\\n [class.ax-hidden]=\\\"widget.options()['visibility'] == false\\\"\\n >\\n <div>\\n @if (attr.showLabel()) {\\n <div class=\\\"ax-font-semibold ax-mb-1\\\">\\n <span>{{ attr.title() | translate | async }}</span>\\n </div>\\n }\\n </div>\\n <div>\\n <ng-container\\n axp-widget-renderer\\n [node]=\\\"attr.node()\\\"\\n [mode]=\\\"'view'\\\"\\n #widget=\\\"widgetRenderer\\\"\\n ></ng-container>\\n </div>\\n </div>\\n }\\n </div>\\n </ax-form>\\n </div>\\n }\\n </axp-widgets-container>\\n</div>\\n\\n@if ((vm.relatedEntities() | async)?.length) {\\n <ax-tabs\\n [look]=\\\"'classic'\\\"\\n class=\\\"ax-mt-4 ax-font-semibold\\\"\\n #tab\\n (onActiveTabChanged)=\\\"handleActiveRelatedEntityChanged($event)\\\"\\n >\\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\\n <ax-tab-item [text]=\\\"(e.title() | translate | async)!\\\" [key]=\\\"index.toString()\\\"> </ax-tab-item>\\n }\\n </ax-tabs>\\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\\n <div [class.ax-hidden]=\\\"$index != selectedRelatedIEntityTabIndex()\\\">\\n <axp-entity-detail-list-view [viewModel]=\\\"e\\\"></axp-entity-detail-list-view>\\n </div>\\n }\\n}\\n\" }]\n }], propDecorators: { widgetContainer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNpbmdsZS1vdmVydmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RoZW1lcy9kZWZhdWx0L3NyYy9saWIvbGF5b3V0cy9lbnRpdHktbGF5b3V0cy9lbnRpdHktbWFzdGVyLXNpbmdsZS12aWV3L292ZXJ2aWV3L2VudGl0eS1zaW5nbGUtb3ZlcnZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdC9zcmMvbGliL2xheW91dHMvZW50aXR5LWxheW91dHMvZW50aXR5LW1hc3Rlci1zaW5nbGUtdmlldy9vdmVydmlldy9lbnRpdHktc2luZ2xlLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQTBCLE1BQU0seUJBQXlCLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDbkgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQTZCL0QsTUFBTSxPQUFPLGdDQUFnQztJQTNCN0M7UUE0QlUsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUIsT0FBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW1DLENBQUM7UUFFdkYsb0JBQWUsR0FBRyxTQUFTLENBQUMsMkJBQTJCLDJEQUFDLENBQUM7UUFFdkQsbUNBQThCLEdBQUcsTUFBTSxDQUFDLENBQUMsMEVBQUMsQ0FBQztRQU1yRCxhQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLENBQUM7UUFDSCxDQUFDLG9EQUFDLENBQUM7S0FDSjtJQVRDLGdDQUFnQyxDQUFDLENBQXlCO1FBQ3hELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRLENBSUw7K0dBaEJRLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHVJQUlQLDJCQUEyQixnRUNwRGpFLHl3RkF3RUEsMkNEL0NJLFlBQVksOEJBQ1osWUFBWSw4QkFDWixpQkFBaUIsK0hBQ2pCLGdCQUFnQiw4QkFDaEIsZUFBZSw4QkFDZixZQUFZLDZQQUNaLG1CQUFtQiw4QkFDbkIsY0FBYyw4QkFDZCxjQUFjLDhCQUNkLGVBQWUsOEJBQ2YsWUFBWSxrYUFDWixjQUFjLDZYQUNkLG1CQUFtQjtnQkFDbkIsRUFBRTtnQkFDRixtQkFBbUIsd2FBQ25CLGdCQUFnQiwrQkFDaEIsc0JBQXNCLDJGQUN0QixnQ0FBZ0M7Z0JBQ2hDLEVBQUU7Z0JBQ0YsbUJBQW1COzs0RkFJVixnQ0FBZ0M7a0JBM0I1QyxTQUFTOytCQUVFLDRCQUE0QixXQUM3Qjt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLEVBQUU7d0JBQ0YsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsZ0NBQWdDO3dCQUNoQyxFQUFFO3dCQUNGLG1CQUFtQjtxQkFDcEIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07aUdBTVgsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhBY3Rpb25TaGVldE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hY3Rpb24tc2hlZXQnO1xuaW1wb3J0IHsgQVhCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERpYWxvZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhEcmF3ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJhd2VyJztcbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlLCBBWFRhYlN0cmlwQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBXaWRnZXRDb3JlTW9kdWxlLCBBWFBXaWRnZXRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3TW9kZWwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGVmZmVjdCwgaW5qZWN0LCBzaWduYWwsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZXRhaWxMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VudGl0eS1kZXRhaWwtbGlzdC12aWV3L2VudGl0eS1kZXRhaWwtbGlzdC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBHcmlkTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktc2luZ2xlLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc2VsZWN0b3I6ICdheHAtZW50aXR5LXNpbmdsZS1vdmVydmlldycsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWEFjdGlvblNoZWV0TW9kdWxlLFxuICAgIEFYRHJhd2VyTW9kdWxlLFxuICAgIEFYRGlhbG9nTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhCcmVhZGNydW1ic01vZHVsZSxcbiAgICAvL1xuICAgIEFYUFdpZGdldENvcmVNb2R1bGUsXG4gICAgQVhQV2lkZ2V0c01vZHVsZSxcbiAgICBBWFBHcmlkTGF5b3V0RGlyZWN0aXZlLFxuICAgIEFYUEVudGl0eURldGFpbExpc3RWaWV3Q29tcG9uZW50LFxuICAgIC8vXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eVNpbmdsZU92ZXJ2aWV3Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBhY3RpdmVSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IHRoaXMuYWN0aXZlUm91dGUuc25hcHNob3QuZGF0YVsndm0nXSBhcyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3TW9kZWw7XG5cbiAgcHJpdmF0ZSB3aWRnZXRDb250YWluZXIgPSB2aWV3Q2hpbGQoQVhQV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50KTtcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRSZWxhdGVkSUVudGl0eVRhYkluZGV4ID0gc2lnbmFsKDApO1xuXG4gIGhhbmRsZUFjdGl2ZVJlbGF0ZWRFbnRpdHlDaGFuZ2VkKGU6IEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVsYXRlZElFbnRpdHlUYWJJbmRleC5zZXQoZS5pbmRleCk7XG4gIH1cblxuICAjcmVmcmVzaCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMudm0udXBkYXRlVHJpZ2dlcigpKSB7XG4gICAgICB0aGlzLndpZGdldENvbnRhaW5lcigpPy5yZWZyZXNoKCk7XG4gICAgfVxuICB9KTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNFwiPlxuICA8YXhwLXdpZGdldHMtY29udGFpbmVyIFtjb250ZXh0XT1cInZtLmNvbnRleHQoKVwiPlxuICAgIEBmb3IgKHNlY3Rpb24gb2Ygdm0uc2VjdGlvbnMoKTsgdHJhY2sgc2VjdGlvbi5uYW1lKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1jYXJkIGF4LW10LTJcIiBbYXhwLWdyaWQtbGF5b3V0XT1cInNlY3Rpb24ubGF5b3V0KClcIj5cbiAgICAgICAgPGF4LWZvcm0gI2Zvcm0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQtaGVhZGVyICFheC1weS0yICFheC1weC00XCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIhYXgtdGV4dC1sZyBheC1mb250LXNlbWlib2xkXCI+e3sgc2VjdGlvbi50aXRsZSgpIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uZGVzY3JpcHRpb24oKSkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1zbSBheC1mb250LW5vcm1hbCBheC1vcGFjaXR5LTc1XCI+e3sgc2VjdGlvbi5kZXNjcmlwdGlvbigpIH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICBAaWYgKHNlY3Rpb24uZWRpdGFibGUoKSkge1xuICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheC14c1wiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgICAgICAgW2xvb2tdPVwiJ2JsYW5rJ1wiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidm0uZXhlY3V0ZUNvbW1hbmQoJ21vZGlmeS1lbnRpdHktc2VjdGlvbicsIHNlY3Rpb24pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtcGVuIGF4LXRleHQtZ3JheS02MDBcIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FyZC1ib2R5ICFheC1ncmlkICFheC1ncmlkLWNvbHMtMTIgIWF4LWdhcC00XCI+XG4gICAgICAgICAgICBAZm9yIChhdHRyIG9mIHNlY3Rpb24ucHJvcHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTFcIlxuICAgICAgICAgICAgICAgIFtheHAtZ3JpZC1sYXlvdXRdPVwiYXR0ci5sYXlvdXQoKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmF4LWhpZGRlbl09XCJ3aWRnZXQub3B0aW9ucygpWyd2aXNpYmlsaXR5J10gPT0gZmFsc2VcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIEBpZiAoYXR0ci5zaG93TGFiZWwoKSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC1tYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYXR0ci50aXRsZSgpIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIGF4cC13aWRnZXQtcmVuZGVyZXJcbiAgICAgICAgICAgICAgICAgICAgW25vZGVdPVwiYXR0ci5ub2RlKClcIlxuICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCIndmlldydcIlxuICAgICAgICAgICAgICAgICAgICAjd2lkZ2V0PVwid2lkZ2V0UmVuZGVyZXJcIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9heC1mb3JtPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG5AaWYgKCh2bS5yZWxhdGVkRW50aXRpZXMoKSB8IGFzeW5jKT8ubGVuZ3RoKSB7XG4gIDxheC10YWJzXG4gICAgW2xvb2tdPVwiJ2NsYXNzaWMnXCJcbiAgICBjbGFzcz1cImF4LW10LTQgYXgtZm9udC1zZW1pYm9sZFwiXG4gICAgI3RhYlxuICAgIChvbkFjdGl2ZVRhYkNoYW5nZWQpPVwiaGFuZGxlQWN0aXZlUmVsYXRlZEVudGl0eUNoYW5nZWQoJGV2ZW50KVwiXG4gID5cbiAgICBAZm9yIChlIG9mIHZtLnJlbGF0ZWRFbnRpdGllcygpIHwgYXN5bmM7IHRyYWNrICRpbmRleDsgbGV0IGluZGV4ID0gJGluZGV4KSB7XG4gICAgICA8YXgtdGFiLWl0ZW0gW3RleHRdPVwiKGUudGl0bGUoKSB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIiBba2V5XT1cImluZGV4LnRvU3RyaW5nKClcIj4gPC9heC10YWItaXRlbT5cbiAgICB9XG4gIDwvYXgtdGFicz5cbiAgQGZvciAoZSBvZiB2bS5yZWxhdGVkRW50aXRpZXMoKSB8IGFzeW5jOyB0cmFjayAkaW5kZXg7IGxldCBpbmRleCA9ICRpbmRleCkge1xuICAgIDxkaXYgW2NsYXNzLmF4LWhpZGRlbl09XCIkaW5kZXggIT0gc2VsZWN0ZWRSZWxhdGVkSUVudGl0eVRhYkluZGV4KClcIj5cbiAgICAgIDxheHAtZW50aXR5LWRldGFpbC1saXN0LXZpZXcgW3ZpZXdNb2RlbF09XCJlXCI+PC9heHAtZW50aXR5LWRldGFpbC1saXN0LXZpZXc+XG4gICAgPC9kaXY+XG4gIH1cbn1cbiJdfQ==","import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXPRefreshEvent, AXPReloadEvent } from '@acorex/platform/common';\nimport { AXPContextStore, } from '@acorex/platform/core';\nimport { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AXPComponentSlotModule } from '@acorex/platform/core';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { AXPWorkflowEventService, AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, untracked } from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXPEntitySingleOverviewComponent } from './overview/entity-single-overview.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/core/translation\";\nimport * as i2 from \"@acorex/platform/core\";\nexport class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.activeRoute = inject(ActivatedRoute);\n this.router = inject(Router);\n this.vm = this.activeRoute.snapshot.data['vm'];\n this.store = inject(AXPLayoutThemeService);\n this.contextStore = inject(AXPContextStore);\n this.eventService = inject(AXPWorkflowEventService);\n this.workflow = inject(AXPWorkflowService);\n this.entityService = inject(AXPEntityService);\n this.destroyed = new Subject();\n this.#syncContext = effect(() => {\n // TODO: this is a hack to sync the context with the vm\n untracked(() => {\n this.contextStore.patch({\n entity: this.vm.context(),\n });\n });\n }, ...(ngDevMode ? [{ debugName: \"#syncContext\" }] : []));\n }\n async ngOnInit() {\n await super.ngOnInit();\n this.workflow.events$\n .pipe(ofType(AXPReloadEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe(async (event) => {\n if (event.payload.entity == `${this.vm.entityDef.module}.${this.vm.entityDef.name}`) {\n const fn = this.vm.entityDef.queries?.byKey?.execute;\n if (fn) {\n const data = await fn(this.vm.context().id);\n this.vm.context.set(data);\n }\n if (this.vm.entityDef.relatedEntities?.length) {\n for (const relatedEntity of this.vm.entityDef.relatedEntities) {\n this.eventService.dispatch(AXPRefreshEvent({ entity: relatedEntity.entity }));\n }\n }\n }\n });\n }\n #syncContext;\n getPageTitle() {\n return this.vm.title();\n }\n getPageDescription() {\n return this.vm.description() ?? '';\n }\n getPageBreadcrumbs() {\n return this.vm.beardcrumbs();\n }\n getPrimaryMenuItems() {\n return Promise.all(this.vm.primaryActions().map(async (tr) => {\n const hidden = await this.vm.evaluateExpressions(tr.hidden, this.vm.context());\n if (hidden)\n return null;\n const disabled = await this.vm.evaluateExpressions(tr.disabled, this.vm.context());\n return {\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled,\n command: {\n name: tr.name,\n options: tr.options,\n metadata: tr.metadata,\n },\n };\n })).then((items) => items.filter(Boolean));\n }\n getSecondaryMenuItems() {\n return Promise.all(this.vm.secondaryActions().map(async (tr) => {\n const hidden = await this.vm.evaluateExpressions(tr.hidden, this.vm.context());\n if (hidden)\n return null;\n const disabled = await this.vm.evaluateExpressions(tr.disabled, this.vm.context());\n return {\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled,\n separated: tr.separated,\n command: {\n name: tr.name,\n options: tr.options,\n metadata: tr.metadata,\n },\n };\n })).then((items) => items.filter(Boolean));\n }\n execute(command) {\n if (command) {\n this.vm.execute(command);\n }\n }\n async getBackButton() {\n return {\n title: await this.translateService.translateAsync(this.vm.title()),\n };\n }\n onBackButtonClick() {\n this.vm.navigateToUp();\n }\n ngOnDestroy() {\n this.vm.destroy();\n this.destroyed.next();\n this.destroyed.complete();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXPEntityMasterSingleViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.19\", type: AXPEntityMasterSingleViewComponent, isStandalone: true, selector: \"ng-component\", providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPEntityMasterSingleViewComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-content>\\n <axp-component-slot name=\\\"entity-detail-header\\\"></axp-component-slot>\\n <axp-entity-single-overview></axp-entity-single-overview>\\n <axp-component-slot name=\\\"entity-detail-footer\\\"></axp-component-slot>\\n </axp-page-content>\\n</axp-page-layout>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: \n //\n AXDecoratorModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"ngmodule\", type: AXActionSheetModule }, { kind: \"ngmodule\", type: AXPAuthModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i1.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDrawerModule }, { kind: \"ngmodule\", type: AXDialogModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: \n //\n AXPWidgetCoreModule }, { kind: \"ngmodule\", type: AXPWidgetsModule }, { kind: \"component\", type: AXPEntitySingleOverviewComponent, selector: \"axp-entity-single-overview\" }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"ngmodule\", type: AXPComponentSlotModule }, { kind: \"directive\", type: i2.AXPComponentSlotDirective, selector: \"axp-component-slot\", inputs: [\"name\", \"host\", \"context\"], exportAs: [\"slot\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXPEntityMasterSingleViewComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n CommonModule,\n RouterModule,\n //\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXPAuthModule,\n AXTranslationModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n //\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPEntitySingleOverviewComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPComponentSlotModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPEntityMasterSingleViewComponent,\n },\n ], template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-content>\\n <axp-component-slot name=\\\"entity-detail-header\\\"></axp-component-slot>\\n <axp-entity-single-overview></axp-entity-single-overview>\\n <axp-component-slot name=\\\"entity-detail-footer\\\"></axp-component-slot>\\n </axp-page-content>\\n</axp-page-layout>\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1zaW5nbGUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RoZW1lcy9kZWZhdWx0L3NyYy9saWIvbGF5b3V0cy9lbnRpdHktbGF5b3V0cy9lbnRpdHktbWFzdGVyLXNpbmdsZS12aWV3L2VudGl0eS1tYXN0ZXItc2luZ2xlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdC9zcmMvbGliL2xheW91dHMvZW50aXR5LWxheW91dHMvZW50aXR5LW1hc3Rlci1zaW5nbGUtdmlldy9lbnRpdHktbWFzdGVyLXNpbmdsZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQTBCLE1BQU0seUJB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LG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixnQ0FBZ0M7d0JBQ2hDLHNCQUFzQjt3QkFDdEIsNEJBQTRCO3dCQUM1QixzQkFBc0I7cUJBQ3ZCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsb0NBQW9DO3lCQUNoRDtxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQWN0aW9uU2hlZXRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0JztcbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYVGFic01vZHVsZSwgQVhUYWJTdHJpcENoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQQXV0aE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBSZWZyZXNoRXZlbnQsIEFYUFJlbG9hZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhQQWN0aW9uTWVudUl0ZW0sXG4gIEFYUEJhY2tCdXR0b24sXG4gIEFYUEJyZWFkY3J1bWJJdGVtLFxuICBBWFBDb250ZXh0U3RvcmUsXG4gIEFYUEV4ZWN1dGVDb21tYW5kLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0Q29yZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldC1jb3JlJztcbmltcG9ydCB7IEFYUENvbXBvbmVudFNsb3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld01vZGVsLCBBWFBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUFBhZ2VMYXlvdXRCYXNlLCBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCwgQVhQUGFnZUxheW91dENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzJztcbmltcG9ydCB7IEFYUExheW91dFRoZW1lU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL3NoYXJlZCc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0cyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSwgQVhQV29ya2Zsb3dTZXJ2aWNlLCBvZlR5cGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBlZmZlY3QsIGluamVjdCwgc2lnbmFsLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUEVudGl0eVNpbmdsZU92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9vdmVydmlldy9lbnRpdHktc2luZ2xlLW92ZXJ2aWV3LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LW1hc3Rlci1zaW5nbGUtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIC8vXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWFBvcG92ZXJNb2R1bGUsXG4gICAgQVhGb3JtTW9kdWxlLFxuICAgIEFYQWN0aW9uU2hlZXRNb2R1bGUsXG4gICAgQVhQQXV0aE1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRHJhd2VyTW9kdWxlLFxuICAgIEFYRGlhbG9nTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhCcmVhZGNydW1ic01vZHVsZSxcbiAgICAvL1xuICAgIEFYUFdpZGdldENvcmVNb2R1bGUsXG4gICAgQVhQV2lkZ2V0c01vZHVsZSxcbiAgICBBWFBFbnRpdHlTaW5nbGVPdmVydmlld0NvbXBvbmVudCxcbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQQ29tcG9uZW50U2xvdE1vZHVsZSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUFBhZ2VMYXlvdXRCYXNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYUEVudGl0eU1hc3RlclNpbmdsZVZpZXdDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld0NvbXBvbmVudCBleHRlbmRzIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBhY3RpdmVSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IHRoaXMuYWN0aXZlUm91dGUuc25hcHNob3QuZGF0YVsndm0nXSBhcyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3TW9kZWw7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgY29udGV4dFN0b3JlID0gaW5qZWN0KEFYUENvbnRleHRTdG9yZSk7XG4gIHByb3RlY3RlZCBldmVudFNlcnZpY2UgPSBpbmplY3QoQVhQV29ya2Zsb3dFdmVudFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy53b3JrZmxvdy5ldmVudHMkXG4gICAgICAucGlwZShvZlR5cGUoQVhQUmVsb2FkRXZlbnQpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5wYXlsb2FkLmVudGl0eSA9PSBgJHt0aGlzLnZtLmVudGl0eURlZi5tb2R1bGV9LiR7dGhpcy52bS5lbnRpdHlEZWYubmFtZX1gKSB7XG4gICAgICAgICAgY29uc3QgZm4gPSB0aGlzLnZtLmVudGl0eURlZi5xdWVyaWVzPy5ieUtleT8uZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICBpZiAoZm4pIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmbih0aGlzLnZtLmNvbnRleHQoKS5pZCk7XG4gICAgICAgICAgICB0aGlzLnZtLmNvbnRleHQuc2V0KGRhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy52bS5lbnRpdHlEZWYucmVsYXRlZEVudGl0aWVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVsYXRlZEVudGl0eSBvZiB0aGlzLnZtLmVudGl0eURlZi5yZWxhdGVkRW50aXRpZXMpIHtcbiAgICAgICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQVhQUmVmcmVzaEV2ZW50KHsgZW50aXR5OiByZWxhdGVkRW50aXR5LmVudGl0eSB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gICNzeW5jQ29udGV4dCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgLy8gVE9ETzogdGhpcyBpcyBhIGhhY2sgdG8gc3luYyB0aGUgY29udGV4dCB3aXRoIHRoZSB2bVxuICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbnRleHRTdG9yZS5wYXRjaCh7XG4gICAgICAgIGVudGl0eTogdGhpcy52bS5jb250ZXh0KCksXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cblxuXG4gIG92ZXJyaWRlIGdldFBhZ2VUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZtLnRpdGxlKCk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRQYWdlRGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52bS5kZXNjcmlwdGlvbigpID8/ICcnO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0UGFnZUJyZWFkY3J1bWJzKCk6IEFYUEJyZWFkY3J1bWJJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnZtLmJlYXJkY3J1bWJzKCk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRQcmltYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgIHRoaXMudm0ucHJpbWFyeUFjdGlvbnMoKS5tYXAoYXN5bmMgKHRyKSA9PiB7XG4gICAgICAgIGNvbnN0IGhpZGRlbiA9IGF3YWl0IHRoaXMudm0uZXZhbHVhdGVFeHByZXNzaW9ucyh0ci5oaWRkZW4gYXMgYW55LCB0aGlzLnZtLmNvbnRleHQoKSk7XG4gICAgICAgIGlmIChoaWRkZW4pIHJldHVybiBudWxsO1xuICAgICAgICBjb25zdCBkaXNhYmxlZCA9IGF3YWl0IHRoaXMudm0uZXZhbHVhdGVFeHByZXNzaW9ucyh0ci5kaXNhYmxlZCBhcyBhbnksIHRoaXMudm0uY29udGV4dCgpKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5hbWU6IHRyLm5hbWUsXG4gICAgICAgICAgdGl0bGU6IHRyLnRpdGxlLFxuICAgICAgICAgIGljb246IHRyLmljb24sXG4gICAgICAgICAgY29sb3I6IHRyLmNvbG9yLFxuICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgIG5hbWU6IHRyLm5hbWUsXG4gICAgICAgICAgICBvcHRpb25zOiB0ci5vcHRpb25zLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHRyLm1ldGFkYXRhLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICApLnRoZW4oKGl0ZW1zKSA9PiBpdGVtcy5maWx0ZXIoQm9vbGVhbikgYXMgQVhQQWN0aW9uTWVudUl0ZW1bXSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRTZWNvbmRhcnlNZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgICAgdGhpcy52bS5zZWNvbmRhcnlBY3Rpb25zKCkubWFwKGFzeW5jICh0cikgPT4ge1xuICAgICAgICBjb25zdCBoaWRkZW4gPSBhd2FpdCB0aGlzLnZtLmV2YWx1YXRlRXhwcmVzc2lvbnModHIuaGlkZGVuIGFzIGFueSwgdGhpcy52bS5jb250ZXh0KCkpO1xuICAgICAgICBpZiAoaGlkZGVuKSByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCB0aGlzLnZtLmV2YWx1YXRlRXhwcmVzc2lvbnModHIuZGlzYWJsZWQgYXMgYW55LCB0aGlzLnZtLmNvbnRleHQoKSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiB0ci5uYW1lLFxuICAgICAgICAgIHRpdGxlOiB0ci50aXRsZSxcbiAgICAgICAgICBpY29uOiB0ci5pY29uLFxuICAgICAgICAgIGNvbG9yOiB0ci5jb2xvcixcbiAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICBzZXBhcmF0ZWQ6IHRyLnNlcGFyYXRlZCxcbiAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICBuYW1lOiB0ci5uYW1lLFxuICAgICAgICAgICAgb3B0aW9uczogdHIub3B0aW9ucyxcbiAgICAgICAgICAgIG1ldGFkYXRhOiB0ci5tZXRhZGF0YSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKS50aGVuKChpdGVtcykgPT4gaXRlbXMuZmlsdGVyKEJvb2xlYW4pIGFzIEFYUEFjdGlvbk1lbnVJdGVtW10pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZXhlY3V0ZShjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IHZvaWQge1xuICAgIGlmIChjb21tYW5kKSB7XG4gICAgICB0aGlzLnZtLmV4ZWN1dGUoY29tbWFuZCk7XG4gICAgfVxuICB9XG4gIG92ZXJyaWRlIGFzeW5jIGdldEJhY2tCdXR0b24oKTogUHJvbWlzZTxBWFBCYWNrQnV0dG9uIHwgbnVsbD4ge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMudm0udGl0bGUoKSksXG4gICAgfTtcbiAgfVxuICBvdmVycmlkZSBvbkJhY2tCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnZtLm5hdmlnYXRlVG9VcCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy52bS5kZXN0cm95KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxheHAtcGFnZS1sYXlvdXQgKnRyYW5zbGF0ZT1cImxldCB0XCI+XG4gIDxheHAtcGFnZS1jb250ZW50PlxuICAgIDxheHAtY29tcG9uZW50LXNsb3QgbmFtZT1cImVudGl0eS1kZXRhaWwtaGVhZGVyXCI+PC9heHAtY29tcG9uZW50LXNsb3Q+XG4gICAgPGF4cC1lbnRpdHktc2luZ2xlLW92ZXJ2aWV3PjwvYXhwLWVudGl0eS1zaW5nbGUtb3ZlcnZpZXc+XG4gICAgPGF4cC1jb21wb25lbnQtc2xvdCBuYW1lPVwiZW50aXR5LWRldGFpbC1mb290ZXJcIj48L2F4cC1jb21wb25lbnQtc2xvdD5cbiAgPC9heHAtcGFnZS1jb250ZW50PlxuPC9heHAtcGFnZS1sYXlvdXQ+Il19"],"names":["i1","i2","i4","i5","i6","i7"],"mappings":"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"}