@acorex/platform 20.6.0-next.16 → 20.6.0-next.17

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.
@@ -737,11 +737,11 @@ class AXPDefaultThemeModule {
737
737
  single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-B_P0a5KW.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
738
738
  details: () => import('@acorex/platform/layout/views').then((c) => c.AXPLayoutDetailsViewComponent),
739
739
  ///
740
- create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-WbPPqDON.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
740
+ create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-xtWnr98z.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
741
741
  ///
742
742
  modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-BTA6h7Xd.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
743
743
  //
744
- list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-BC5wW-ol.mjs').then((c) => c.AXPEntityMasterListViewComponent),
744
+ list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-4nWLEm89.mjs').then((c) => c.AXPEntityMasterListViewComponent),
745
745
  },
746
746
  },
747
747
  };
@@ -773,11 +773,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
773
773
  single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-B_P0a5KW.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
774
774
  details: () => import('@acorex/platform/layout/views').then((c) => c.AXPLayoutDetailsViewComponent),
775
775
  ///
776
- create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-WbPPqDON.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
776
+ create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-xtWnr98z.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
777
777
  ///
778
778
  modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-BTA6h7Xd.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
779
779
  //
780
- list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-BC5wW-ol.mjs').then((c) => c.AXPEntityMasterListViewComponent),
780
+ list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-4nWLEm89.mjs').then((c) => c.AXPEntityMasterListViewComponent),
781
781
  },
782
782
  },
783
783
  };
@@ -250,6 +250,7 @@ declare class AXPEntityCreateViewElementViewModel {
250
250
  title: _angular_core.WritableSignal<string>;
251
251
  description: _angular_core.WritableSignal<string | undefined>;
252
252
  editable: _angular_core.Signal<boolean>;
253
+ isHidden: _angular_core.Signal<string | boolean>;
253
254
  isRequired: _angular_core.Signal<boolean>;
254
255
  layout: _angular_core.Signal<AXPEntityPropertyLayoutConfig>;
255
256
  node: _angular_core.Signal<AXPWidgetNode>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "20.6.0-next.16",
3
+ "version": "20.6.0-next.17",
4
4
  "peerDependencies": {
5
5
  "@acorex/cdk": "^19.0.0 || ^20.0.0 || ^21.0.0-next.0",
6
6
  "@acorex/core": "^19.0.0 || ^20.0.0 || ^21.0.0-next.0",
@@ -27,6 +27,10 @@
27
27
  "types": "./index.d.ts",
28
28
  "default": "./fesm2022/acorex-platform.mjs"
29
29
  },
30
+ "./auth": {
31
+ "types": "./auth/index.d.ts",
32
+ "default": "./fesm2022/acorex-platform-auth.mjs"
33
+ },
30
34
  "./common": {
31
35
  "types": "./common/index.d.ts",
32
36
  "default": "./fesm2022/acorex-platform-common.mjs"
@@ -35,10 +39,6 @@
35
39
  "types": "./core/index.d.ts",
36
40
  "default": "./fesm2022/acorex-platform-core.mjs"
37
41
  },
38
- "./auth": {
39
- "types": "./auth/index.d.ts",
40
- "default": "./fesm2022/acorex-platform-auth.mjs"
41
- },
42
42
  "./domain": {
43
43
  "types": "./domain/index.d.ts",
44
44
  "default": "./fesm2022/acorex-platform-domain.mjs"
@@ -1,115 +0,0 @@
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 * as i6 from '@acorex/components/dropdown-button';
7
- import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
8
- import * as i1 from '@acorex/components/form';
9
- import { AXFormModule } from '@acorex/components/form';
10
- import * as i5 from '@acorex/components/label';
11
- import { AXLabelModule } from '@acorex/components/label';
12
- import * as i4 from '@acorex/components/loading';
13
- import { AXLoadingModule } from '@acorex/components/loading';
14
- import { AXBasePageComponent } from '@acorex/components/page';
15
- import { AXTabsModule } from '@acorex/components/tabs';
16
- import { AXTooltipModule } from '@acorex/components/tooltip';
17
- import * as i1$2 from '@angular/common';
18
- import { CommonModule } from '@angular/common';
19
- import * as i0 from '@angular/core';
20
- import { viewChild, inject, ChangeDetectionStrategy, Component } from '@angular/core';
21
- import { FormsModule } from '@angular/forms';
22
- import { AXValidationModule } from '@acorex/core/validation';
23
- import { AXDropdownModule } from '@acorex/components/dropdown';
24
- import * as i10 from '@acorex/core/translation';
25
- import { AXTranslationModule } from '@acorex/core/translation';
26
- import { AXPGridLayoutDirective } from '@acorex/platform/core';
27
- import * as i7 from '@acorex/platform/layout/widget-core';
28
- import { AXPWidgetContainerComponent, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';
29
- import * as i1$1 from '@acorex/platform/layout/components';
30
- import { AXPComponentSlotModule } from '@acorex/platform/layout/components';
31
- import { AXPWidgetsModule } from '@acorex/platform/layout/widgets';
32
- import { AXPWorkflowService } from '@acorex/platform/workflow';
33
-
34
- class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {
35
- constructor() {
36
- super(...arguments);
37
- this.container = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: "container" }] : []));
38
- this.workflow = inject(AXPWorkflowService);
39
- }
40
- ngAfterViewInit() {
41
- this.vm.builder = this.container().builderService;
42
- }
43
- handleCloseClick() {
44
- this.close();
45
- }
46
- async handleBackClick() {
47
- //await this.vm.executeCommand('back');
48
- }
49
- async handleNextClick(form) {
50
- // const formResult = await form.validate();
51
- // if (formResult.result) {
52
- // await this.vm.executeCommand('next');
53
- // }
54
- }
55
- async handleSaveClick(form) {
56
- const formResult = await form.validate();
57
- if (formResult.result) {
58
- try {
59
- const record = await this.vm.save();
60
- this.close({ save: true, recordId: record?.id, item: record, redirect: this.vm.redirect() });
61
- }
62
- catch (error) {
63
- console.log(error);
64
- }
65
- }
66
- }
67
- async handleSaveAndNewClick(form) {
68
- const formResult = await form.validate();
69
- if (formResult.result) {
70
- try {
71
- const record = await this.vm.save();
72
- this.close({ save: true, recordId: record?.id, item: record, redirect: false });
73
- await this.vm.createNewOne();
74
- }
75
- catch (error) {
76
- console.log(error);
77
- }
78
- }
79
- }
80
- async handleContextChange(e) {
81
- this.vm.context.set(e.data);
82
- }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPEntityMasterCreateViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPEntityMasterCreateViewComponent, 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-create-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form\n id=\"axp-entity-form-create\"\n class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\"\n #form\n [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\"\n >\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 #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\n [attr.id]=\"'axp-field-' + attr.name()\"\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 @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\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"\n ></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-create\">\n <ax-prefix>\n <axp-component-slot name=\"entity-create-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-button\n id=\"axp-btn-cancel\"\n look=\"solid\"\n [color]=\"'default'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCloseClick()\"\n >\n </ax-button>\n @if (vm.canCreateNewOne()) {\n <ax-dropdown-button\n id=\"axp-btn-save\"\n [disabled]=\"vm.isInProgress()\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n look=\"solid\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n <ax-button-item-list>\n <ax-button-item\n id=\"axp-btn-save-and-new\"\n [text]=\"\n ('@general:actions.save.title' | translate | async) +\n ' ' +\n ('@general:actions.create.title' | translate | async)\n \"\n (onClick)=\"handleSaveAndNewClick(form)\"\n >\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button\n id=\"axp-btn-save\"\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n <axp-component-slot name=\"entity-create-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n </ax-footer>\n}\n\n<axp-component-slot name=\"entity-create-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>\n", 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"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { 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: AXTranslationModule }, { kind: "ngmodule", type:
85
- //
86
- 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"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name", "host", "context"], exportAs: ["slot"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[axp-grid-layout]", inputs: ["axp-grid-layout"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPEntityMasterCreateViewComponent, decorators: [{
89
- type: Component,
90
- args: [{ imports: [
91
- CommonModule,
92
- FormsModule,
93
- AXFormModule,
94
- AXDecoratorModule,
95
- CommonModule,
96
- AXButtonModule,
97
- AXDialogModule,
98
- AXLoadingModule,
99
- AXTabsModule,
100
- AXTooltipModule,
101
- AXValidationModule,
102
- AXLabelModule,
103
- AXDropdownModule,
104
- AXDropdownButtonModule,
105
- AXTranslationModule,
106
- //
107
- AXPWidgetCoreModule,
108
- AXPComponentSlotModule,
109
- AXPWidgetsModule,
110
- AXPGridLayoutDirective,
111
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<axp-component-slot name=\"entity-create-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form\n id=\"axp-entity-form-create\"\n class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\"\n #form\n [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\"\n >\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 #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\n [attr.id]=\"'axp-field-' + attr.name()\"\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 @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\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"\n ></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-create\">\n <ax-prefix>\n <axp-component-slot name=\"entity-create-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-button\n id=\"axp-btn-cancel\"\n look=\"solid\"\n [color]=\"'default'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCloseClick()\"\n >\n </ax-button>\n @if (vm.canCreateNewOne()) {\n <ax-dropdown-button\n id=\"axp-btn-save\"\n [disabled]=\"vm.isInProgress()\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n look=\"solid\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n <ax-button-item-list>\n <ax-button-item\n id=\"axp-btn-save-and-new\"\n [text]=\"\n ('@general:actions.save.title' | translate | async) +\n ' ' +\n ('@general:actions.create.title' | translate | async)\n \"\n (onClick)=\"handleSaveAndNewClick(form)\"\n >\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button\n id=\"axp-btn-save\"\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n <axp-component-slot name=\"entity-create-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n </ax-footer>\n}\n\n<axp-component-slot name=\"entity-create-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>\n" }]
112
- }], propDecorators: { container: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });
113
-
114
- export { AXPEntityMasterCreateViewComponent };
115
- //# sourceMappingURL=acorex-platform-themes-default-entity-master-create-view.component-WbPPqDON.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-themes-default-entity-master-create-view.component-WbPPqDON.mjs","sources":["../tmp-esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\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 { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPGridLayoutDirective } from '@acorex/platform/core';\nimport { AXPWidgetCoreModule, AXPWidgetContainerComponent, } from '@acorex/platform/layout/widget-core';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\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/layout/components\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"@acorex/core/translation\";\nexport class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.container = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: \"container\" }] : []));\n this.workflow = inject(AXPWorkflowService);\n }\n ngAfterViewInit() {\n this.vm.builder = this.container().builderService;\n }\n handleCloseClick() {\n this.close();\n }\n async handleBackClick() {\n //await this.vm.executeCommand('back');\n }\n async handleNextClick(form) {\n // const formResult = await form.validate();\n // if (formResult.result) {\n // await this.vm.executeCommand('next');\n // }\n }\n async handleSaveClick(form) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n this.close({ save: true, recordId: record?.id, item: record, redirect: this.vm.redirect() });\n }\n catch (error) {\n console.log(error);\n }\n }\n }\n async handleSaveAndNewClick(form) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n this.close({ save: true, recordId: record?.id, item: record, redirect: false });\n await this.vm.createNewOne();\n }\n catch (error) {\n console.log(error);\n }\n }\n }\n async handleContextChange(e) {\n this.vm.context.set(e.data);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPEntityMasterCreateViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXPEntityMasterCreateViewComponent, 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-create-header\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n<axp-widgets-container [context]=\\\"vm.context()\\\" (onContextChanged)=\\\"handleContextChange($event)\\\">\\n <ax-form\\n id=\\\"axp-entity-form-create\\\"\\n class=\\\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\\\"\\n #form\\n [messageStyle]=\\\"'bottom'\\\"\\n [updateOn]=\\\"'blur'\\\"\\n >\\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 #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\\n [attr.id]=\\\"'axp-field-' + attr.name()\\\"\\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 @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\\n axp-widget-renderer\\n [node]=\\\"attr.node()\\\"\\n [mode]=\\\"'edit'\\\"\\n #widget=\\\"widgetRenderer\\\"\\n ></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-create\\\">\\n <ax-prefix>\\n <axp-component-slot name=\\\"entity-create-footer-prefix\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n </ax-prefix>\\n <ax-suffix>\\n <ax-button\\n id=\\\"axp-btn-cancel\\\"\\n look=\\\"solid\\\"\\n [color]=\\\"'default'\\\"\\n [text]=\\\"'@general:actions.cancel.title' | translate | async\\\"\\n (onClick)=\\\"handleCloseClick()\\\"\\n >\\n </ax-button>\\n @if (vm.canCreateNewOne()) {\\n <ax-dropdown-button\\n id=\\\"axp-btn-save\\\"\\n [disabled]=\\\"vm.isInProgress()\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"'@general:actions.save.title' | translate | async\\\"\\n look=\\\"solid\\\"\\n (onClick)=\\\"handleSaveClick(form)\\\"\\n >\\n @if (vm.isInProgress()) {\\n <ax-loading></ax-loading>\\n }\\n <ax-button-item-list>\\n <ax-button-item\\n id=\\\"axp-btn-save-and-new\\\"\\n [text]=\\\"\\n ('@general:actions.save.title' | translate | async) +\\n ' ' +\\n ('@general:actions.create.title' | translate | async)\\n \\\"\\n (onClick)=\\\"handleSaveAndNewClick(form)\\\"\\n >\\n </ax-button-item>\\n </ax-button-item-list>\\n </ax-dropdown-button>\\n } @else {\\n <ax-button\\n id=\\\"axp-btn-save\\\"\\n look=\\\"solid\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"'@general:actions.save.title' | translate | async\\\"\\n (onClick)=\\\"handleSaveClick(form)\\\"\\n >\\n @if (vm.isInProgress()) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n }\\n <axp-component-slot name=\\\"entity-create-footer-suffix\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n </ax-suffix>\\n </ax-footer>\\n}\\n\\n<axp-component-slot name=\\\"entity-create-footer\\\" #slot=\\\"slot\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n\", 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\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { 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: AXTranslationModule }, { 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\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXPComponentSlotModule }, { kind: \"directive\", type: i8.AXPComponentSlotDirective, selector: \"axp-component-slot\", inputs: [\"name\", \"host\", \"context\"], exportAs: [\"slot\"] }, { kind: \"ngmodule\", type: AXPWidgetsModule }, { kind: \"directive\", type: AXPGridLayoutDirective, selector: \"[axp-grid-layout]\", inputs: [\"axp-grid-layout\"] }, { 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.12\", ngImport: i0, type: AXPEntityMasterCreateViewComponent, 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 AXTranslationModule,\n //\n AXPWidgetCoreModule,\n AXPComponentSlotModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n ], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<axp-component-slot name=\\\"entity-create-header\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n<axp-widgets-container [context]=\\\"vm.context()\\\" (onContextChanged)=\\\"handleContextChange($event)\\\">\\n <ax-form\\n id=\\\"axp-entity-form-create\\\"\\n class=\\\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\\\"\\n #form\\n [messageStyle]=\\\"'bottom'\\\"\\n [updateOn]=\\\"'blur'\\\"\\n >\\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 #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\\n [attr.id]=\\\"'axp-field-' + attr.name()\\\"\\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 @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\\n axp-widget-renderer\\n [node]=\\\"attr.node()\\\"\\n [mode]=\\\"'edit'\\\"\\n #widget=\\\"widgetRenderer\\\"\\n ></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-create\\\">\\n <ax-prefix>\\n <axp-component-slot name=\\\"entity-create-footer-prefix\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n </ax-prefix>\\n <ax-suffix>\\n <ax-button\\n id=\\\"axp-btn-cancel\\\"\\n look=\\\"solid\\\"\\n [color]=\\\"'default'\\\"\\n [text]=\\\"'@general:actions.cancel.title' | translate | async\\\"\\n (onClick)=\\\"handleCloseClick()\\\"\\n >\\n </ax-button>\\n @if (vm.canCreateNewOne()) {\\n <ax-dropdown-button\\n id=\\\"axp-btn-save\\\"\\n [disabled]=\\\"vm.isInProgress()\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"'@general:actions.save.title' | translate | async\\\"\\n look=\\\"solid\\\"\\n (onClick)=\\\"handleSaveClick(form)\\\"\\n >\\n @if (vm.isInProgress()) {\\n <ax-loading></ax-loading>\\n }\\n <ax-button-item-list>\\n <ax-button-item\\n id=\\\"axp-btn-save-and-new\\\"\\n [text]=\\\"\\n ('@general:actions.save.title' | translate | async) +\\n ' ' +\\n ('@general:actions.create.title' | translate | async)\\n \\\"\\n (onClick)=\\\"handleSaveAndNewClick(form)\\\"\\n >\\n </ax-button-item>\\n </ax-button-item-list>\\n </ax-dropdown-button>\\n } @else {\\n <ax-button\\n id=\\\"axp-btn-save\\\"\\n look=\\\"solid\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"'@general:actions.save.title' | translate | async\\\"\\n (onClick)=\\\"handleSaveClick(form)\\\"\\n >\\n @if (vm.isInProgress()) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n }\\n <axp-component-slot name=\\\"entity-create-footer-suffix\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n </ax-suffix>\\n </ax-footer>\\n}\\n\\n<axp-component-slot name=\\\"entity-create-footer\\\" #slot=\\\"slot\\\" [context]=\\\"vm.context()\\\"></axp-component-slot>\\n\" }]\n }], propDecorators: { container: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1jcmVhdGUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RoZW1lcy9kZWZhdWx0L3NyYy9saWIvbGF5b3V0cy9lbnRpdHktbGF5b3V0cy9lbnRpdHktbWFzdGVyLWNyZWF0ZS12aWV3L2VudGl0eS1tYXN0ZXItY3JlYXRlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdC9zcmMvbGliL2xheW91dHMvZW50aXR5LWxheW91dHMvZW50aXR5LW1hc3Rlci1jcmVhdGUtdmlldy9lbnRpdHktbWFzdGVyLWNyZWF0ZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFp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QUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRVMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQWtDO1FBQ3BFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0F0RFUsa0NBQWtDO21HQUFsQyxrQ0FBa0MsbUhBR2YsMkJBQTJCLHVGQzFEM0Qsb3ZJQWlIQSwyQ0RqRkksWUFBWSw4QkFDWixXQUFXLDhCQUNYLFlBQVksMFVBQ1osaUJBQWlCLHFQQUVqQixjQUFjLDJ3QkFDZCxjQUFjLDhCQUNkLGVBQWUsOEtBQ2YsWUFBWSw4QkFDWixlQUFlLDhCQUNmLGtCQUFrQiw4QkFDbEIsYUFBYSxnS0FDYixnQkFBZ0IsOEJBQ2hCLHNCQUFzQiw0U0FDdEIsbUJBQW1CO2dCQUNuQixFQUFFO2dCQUNGLG1CQUFtQiw4WkFDbkIsc0JBQXNCLGtMQUN0QixnQkFBZ0IsK0JBQ2hCLHNCQUFzQjs7NEZBSWIsa0NBQWtDO2tCQTFCOUMsU0FBUzs4QkFFQzt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixFQUFFO3dCQUNGLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDdkIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07MkZBS2pCLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWEZvcm1Db21wb25lbnQsIEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFYVmFsaWRhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS92YWxpZGF0aW9uJztcblxuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEdyaWRMYXlvdXREaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHtcbiAgQVhQV2lkZ2V0Q29yZU1vZHVsZSxcbiAgQVhQV2lkZ2V0Q29yZUNvbnRleHRDaGFuZ2VFdmVudCxcbiAgQVhQV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5pbXBvcnQgeyBBWFBDb21wb25lbnRTbG90TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlNYXN0ZXJDcmVhdGVWaWV3TW9kZWwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldHMnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LW1hc3Rlci1jcmVhdGUtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQVhGb3JtTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERpYWxvZ01vZHVsZSxcbiAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgQVhUYWJzTW9kdWxlLFxuICAgIEFYVG9vbHRpcE1vZHVsZSxcbiAgICBBWFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgQVhMYWJlbE1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAvL1xuICAgIEFYUFdpZGdldENvcmVNb2R1bGUsXG4gICAgQVhQQ29tcG9uZW50U2xvdE1vZHVsZSxcbiAgICBBWFBXaWRnZXRzTW9kdWxlLFxuICAgIEFYUEdyaWRMYXlvdXREaXJlY3RpdmUsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlNYXN0ZXJDcmVhdGVWaWV3Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCB2bSE6IEFYUEVudGl0eU1hc3RlckNyZWF0ZVZpZXdNb2RlbDtcblxuICBwcml2YXRlIGNvbnRhaW5lciA9IHZpZXdDaGlsZChBWFBXaWRnZXRDb250YWluZXJDb21wb25lbnQpO1xuXG4gIHByb3RlY3RlZCB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnZtLmJ1aWxkZXIgPSB0aGlzLmNvbnRhaW5lcigpIS5idWlsZGVyU2VydmljZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbG9zZUNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVCYWNrQ2xpY2soKSB7XG4gICAgLy9hd2FpdCB0aGlzLnZtLmV4ZWN1dGVDb21tYW5kKCdiYWNrJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlTmV4dENsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIC8vIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgLy8gaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgLy8gICBhd2FpdCB0aGlzLnZtLmV4ZWN1dGVDb21tYW5kKCduZXh0Jyk7XG4gICAgLy8gfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVjb3JkID0gYXdhaXQgdGhpcy52bS5zYXZlKCk7XG5cbiAgICAgICAgdGhpcy5jbG9zZSh7IHNhdmU6IHRydWUsIHJlY29yZElkOiByZWNvcmQ/LmlkLCBpdGVtOiByZWNvcmQsIHJlZGlyZWN0OiB0aGlzLnZtLnJlZGlyZWN0KCkgfSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVBbmROZXdDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVjb3JkID0gYXdhaXQgdGhpcy52bS5zYXZlKCk7XG4gICAgICAgIHRoaXMuY2xvc2UoeyBzYXZlOiB0cnVlLCByZWNvcmRJZDogcmVjb3JkPy5pZCwgaXRlbTogcmVjb3JkLCByZWRpcmVjdDogZmFsc2UgfSk7XG4gICAgICAgIGF3YWl0IHRoaXMudm0uY3JlYXRlTmV3T25lKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUNvbnRleHRDaGFuZ2UoZTogQVhQV2lkZ2V0Q29yZUNvbnRleHRDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMudm0uY29udGV4dC5zZXQoZS5kYXRhKTtcbiAgfVxufVxuIiwiPGF4cC1jb21wb25lbnQtc2xvdCBuYW1lPVwiZW50aXR5LWNyZWF0ZS1oZWFkZXJcIiBbY29udGV4dF09XCJ2bS5jb250ZXh0KClcIj48L2F4cC1jb21wb25lbnQtc2xvdD5cbjxheHAtd2lkZ2V0cy1jb250YWluZXIgW2NvbnRleHRdPVwidm0uY29udGV4dCgpXCIgKG9uQ29udGV4dENoYW5nZWQpPVwiaGFuZGxlQ29udGV4dENoYW5nZSgkZXZlbnQpXCI+XG4gIDxheC1mb3JtXG4gICAgaWQ9XCJheHAtZW50aXR5LWZvcm0tY3JlYXRlXCJcbiAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTYgYXgtcC00IGF4LXBiLThcIlxuICAgICNmb3JtXG4gICAgW21lc3NhZ2VTdHlsZV09XCInYm90dG9tJ1wiXG4gICAgW3VwZGF0ZU9uXT1cIidibHVyJ1wiXG4gID5cbiAgICA8IS0tIEJlZ2luIFNlY3Rpb25zIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNFwiPlxuICAgICAgQGZvciAoc2VjdGlvbiBvZiB2bS5zZWN0aW9ucygpOyB0cmFjayBzZWN0aW9uLm5hbWUoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sLXNwYW4tMTJcIj5cbiAgICAgICAgICA8YXgtZm9ybSAjZm9ybT5cbiAgICAgICAgICAgIEBpZiAodm0uc2VjdGlvbnMoKS5sZW5ndGggPiAxICYmICFzZWN0aW9uLmRlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXBiLTRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtYm9sZCBheC10ZXh0LXhsXCI+e3sgc2VjdGlvbi50aXRsZSgpIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmRlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC1zbSBheC10ZXh0LWdyYXktNTAwXCI+e3sgc2VjdGlvbi5kZXNjcmlwdGlvbigpIH19PC9wPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FyZC1ib2R5ICFheC1ncmlkICFheC1ncmlkLWNvbHMtMTIgIWF4LWdhcC00XCI+XG4gICAgICAgICAgICAgIEBmb3IgKGF0dHIgb2Ygc2VjdGlvbi5lbGVtZW50cygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZFxuICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiJ2F4cC1maWVsZC0nICsgYXR0ci5uYW1lKClcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0xXCJcbiAgICAgICAgICAgICAgICAgIFtheHAtZ3JpZC1sYXlvdXRdPVwiYXR0ci5sYXlvdXQoKVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtaGlkZGVuXT1cIndpZGdldC5vcHRpb25zKClbJ3Zpc2liaWxpdHknXSA9PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgQGlmIChhdHRyLmxheW91dCgpLmxhYmVsPy52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbCBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1zbVwiIFtyZXF1aXJlZF09XCJhdHRyLmlzUmVxdWlyZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYXR0ci50aXRsZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBhdHRyLnRpdGxlKCkgfCB0cmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBheHAtd2lkZ2V0LXJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgIFtub2RlXT1cImF0dHIubm9kZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiJ2VkaXQnXCJcbiAgICAgICAgICAgICAgICAgICAgI3dpZGdldD1cIndpZGdldFJlbmRlcmVyXCJcbiAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXgtZm9ybT5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPCEtLSBGaW5pc2ggU2VjdGlvbnMgIC0tPlxuICA8L2F4LWZvcm0+XG48L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbkBpZiAoc2xvdC5pc0VtcHR5KCkpIHtcbiAgPGF4LWZvb3RlciBpZD1cImF4cC1lbnRpdHktZm9vdGVyLWNyZWF0ZVwiPlxuICAgIDxheC1wcmVmaXg+XG4gICAgICA8YXhwLWNvbXBvbmVudC1zbG90IG5hbWU9XCJlbnRpdHktY3JlYXRlLWZvb3Rlci1wcmVmaXhcIiBbY29udGV4dF09XCJ2bS5jb250ZXh0KClcIj48L2F4cC1jb21wb25lbnQtc2xvdD5cbiAgICA8L2F4LXByZWZpeD5cbiAgICA8YXgtc3VmZml4PlxuICAgICAgPGF4LWJ1dHRvblxuICAgICAgICBpZD1cImF4cC1idG4tY2FuY2VsXCJcbiAgICAgICAgbG9vaz1cInNvbGlkXCJcbiAgICAgICAgW2NvbG9yXT1cIidkZWZhdWx0J1wiXG4gICAgICAgIFt0ZXh0XT1cIidAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNsb3NlQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIEBpZiAodm0uY2FuQ3JlYXRlTmV3T25lKCkpIHtcbiAgICAgICAgPGF4LWRyb3Bkb3duLWJ1dHRvblxuICAgICAgICAgIGlkPVwiYXhwLWJ0bi1zYXZlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwidm0uaXNJblByb2dyZXNzKClcIlxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgW3RleHRdPVwiJ0BnZW5lcmFsOmFjdGlvbnMuc2F2ZS50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgbG9vaz1cInNvbGlkXCJcbiAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVTYXZlQ2xpY2soZm9ybSlcIlxuICAgICAgICA+XG4gICAgICAgICAgQGlmICh2bS5pc0luUHJvZ3Jlc3MoKSkge1xuICAgICAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbVxuICAgICAgICAgICAgICBpZD1cImF4cC1idG4tc2F2ZS1hbmQtbmV3XCJcbiAgICAgICAgICAgICAgW3RleHRdPVwiXG4gICAgICAgICAgICAgICAgKCdAZ2VuZXJhbDphY3Rpb25zLnNhdmUudGl0bGUnIHwgdHJhbnNsYXRlIHwgYXN5bmMpICtcbiAgICAgICAgICAgICAgICAnICcgK1xuICAgICAgICAgICAgICAgICgnQGdlbmVyYWw6YWN0aW9ucy5jcmVhdGUudGl0bGUnIHwgdHJhbnNsYXRlIHwgYXN5bmMpXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZVNhdmVBbmROZXdDbGljayhmb3JtKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgPC9heC1kcm9wZG93bi1idXR0b24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIGlkPVwiYXhwLWJ0bi1zYXZlXCJcbiAgICAgICAgICBsb29rPVwic29saWRcIlxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgW3RleHRdPVwiJ0BnZW5lcmFsOmFjdGlvbnMuc2F2ZS50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlU2F2ZUNsaWNrKGZvcm0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBpZiAodm0uaXNJblByb2dyZXNzKCkpIHtcbiAgICAgICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgICAgPGF4cC1jb21wb25lbnQtc2xvdCBuYW1lPVwiZW50aXR5LWNyZWF0ZS1mb290ZXItc3VmZml4XCIgW2NvbnRleHRdPVwidm0uY29udGV4dCgpXCI+PC9heHAtY29tcG9uZW50LXNsb3Q+XG4gICAgPC9heC1zdWZmaXg+XG4gIDwvYXgtZm9vdGVyPlxufVxuXG48YXhwLWNvbXBvbmVudC1zbG90IG5hbWU9XCJlbnRpdHktY3JlYXRlLWZvb3RlclwiICNzbG90PVwic2xvdFwiIFtjb250ZXh0XT1cInZtLmNvbnRleHQoKVwiPjwvYXhwLWNvbXBvbmVudC1zbG90PlxuIl19"],"names":["i8","i9"],"mappings":"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"}