@acorex/platform 20.0.11 → 20.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +177 -3
- package/core/index.d.ts +68 -3
- package/fesm2022/acorex-platform-common.mjs +86 -2
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +11 -1
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +3 -0
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +18 -2
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +194 -27
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BNdAQn4R.mjs +115 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BNdAQn4R.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +2 -2
- package/fesm2022/acorex-platform-widgets.mjs +60 -20
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/components/index.d.ts +11 -2
- package/layout/entity/index.d.ts +12 -2
- package/package.json +12 -12
- package/widgets/index.d.ts +5 -4
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-DJ_0-SyR.mjs +0 -115
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-DJ_0-SyR.mjs.map +0 -1
package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BNdAQn4R.mjs
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import * as i4 from '@acorex/components/button';
|
|
2
|
+
import { AXButtonModule } from '@acorex/components/button';
|
|
3
|
+
import * as i3 from '@acorex/components/decorators';
|
|
4
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
5
|
+
import { AXDialogModule } from '@acorex/components/dialog';
|
|
6
|
+
import * as i7 from '@acorex/components/dropdown-button';
|
|
7
|
+
import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
|
|
8
|
+
import * as i2 from '@acorex/components/form';
|
|
9
|
+
import { AXFormModule } from '@acorex/components/form';
|
|
10
|
+
import * as i6 from '@acorex/components/label';
|
|
11
|
+
import { AXLabelModule } from '@acorex/components/label';
|
|
12
|
+
import * as i5 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 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 i4$1 from '@acorex/core/translation';
|
|
25
|
+
import { AXTranslationModule } from '@acorex/core/translation';
|
|
26
|
+
import { AXPGridLayoutDirective } from '@acorex/platform/common';
|
|
27
|
+
import * as i9 from '@acorex/platform/layout/builder';
|
|
28
|
+
import { AXPWidgetContainerComponent, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
|
|
29
|
+
import * as i1$1 from '@acorex/platform/layout/components';
|
|
30
|
+
import { AXPComponentSlotModule } from '@acorex/platform/layout/components';
|
|
31
|
+
import { AXPWidgetsModule } from '@acorex/platform/widgets';
|
|
32
|
+
import { AXPWorkflowService } from '@acorex/platform/workflow';
|
|
33
|
+
|
|
34
|
+
class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
this.container = viewChild(AXPWidgetContainerComponent);
|
|
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.0.7", ngImport: i0, type: AXPEntityMasterCreateViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", 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 class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\" [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 #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 class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">{{\n attr.title() | translate | async\n }}</ax-label>\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>\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 look=\"solid\" [color]=\"'default'\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\">\n </ax-button>\n @if (vm.canCreateNewOne()) {\n <ax-dropdown-button [disabled]=\"vm.isInProgress()\" color=\"primary\" [text]=\"'save' | translate | async\" look=\"solid\"\n (onClick)=\"handleSaveClick(form)\">\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' ' + ('create-new' | translate | async)\"\n (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'save' | translate | async\" (onClick)=\"handleSaveClick(form)\">\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>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: 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: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.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: i6.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i7.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: "pipe", type: i4$1.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type:
|
|
85
|
+
//
|
|
86
|
+
AXPLayoutBuilderModule }, { kind: "component", type: i9.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i9.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: "[gridLayout]", inputs: ["gridLayout"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
87
|
+
}
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", 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
|
+
AXPLayoutBuilderModule,
|
|
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 class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\" [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 #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 class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">{{\n attr.title() | translate | async\n }}</ax-label>\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>\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 look=\"solid\" [color]=\"'default'\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\">\n </ax-button>\n @if (vm.canCreateNewOne()) {\n <ax-dropdown-button [disabled]=\"vm.isInProgress()\" color=\"primary\" [text]=\"'save' | translate | async\" look=\"solid\"\n (onClick)=\"handleSaveClick(form)\">\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' ' + ('create-new' | translate | async)\"\n (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'save' | translate | async\" (onClick)=\"handleSaveClick(form)\">\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>" }]
|
|
112
|
+
}] });
|
|
113
|
+
|
|
114
|
+
export { AXPEntityMasterCreateViewComponent };
|
|
115
|
+
//# sourceMappingURL=acorex-platform-themes-default-entity-master-create-view.component-BNdAQn4R.mjs.map
|
package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BNdAQn4R.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-themes-default-entity-master-create-view.component-BNdAQn4R.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/common';\nimport { AXPLayoutBuilderModule, AXPWidgetContainerComponent, } from '@acorex/platform/layout/builder';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/form\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/button\";\nimport * as i5 from \"@acorex/components/loading\";\nimport * as i6 from \"@acorex/components/label\";\nimport * as i7 from \"@acorex/components/dropdown-button\";\nimport * as i8 from \"@acorex/core/translation\";\nimport * as i9 from \"@acorex/platform/layout/builder\";\nimport * as i10 from \"@acorex/platform/layout/components\";\nexport class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.container = viewChild(AXPWidgetContainerComponent);\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.0.7\", ngImport: i0, type: AXPEntityMasterCreateViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", 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 class=\\\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\\\" #form [messageStyle]=\\\"'bottom'\\\" [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 #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 class=\\\"ax-flex ax-flex-col ax-gap-1\\\" [gridLayout]=\\\"attr.layout()\\\"\\n [class.ax-hidden]=\\\"widget.options()['visibility'] == false\\\">\\n <ax-label class=\\\"ax-font-semibold ax-text-sm\\\" [required]=\\\"attr.isRequired()\\\">{{\\n attr.title() | translate | async\\n }}</ax-label>\\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>\\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 look=\\\"solid\\\" [color]=\\\"'default'\\\" [text]=\\\"'cancel' | translate | async\\\" (onClick)=\\\"handleCloseClick()\\\">\\n </ax-button>\\n @if (vm.canCreateNewOne()) {\\n <ax-dropdown-button [disabled]=\\\"vm.isInProgress()\\\" color=\\\"primary\\\" [text]=\\\"'save' | translate | async\\\" look=\\\"solid\\\"\\n (onClick)=\\\"handleSaveClick(form)\\\">\\n @if (vm.isInProgress()) {\\n <ax-loading></ax-loading>\\n }\\n <ax-button-item-list>\\n <ax-button-item [text]=\\\"('save' | translate | async) + ' ' + ('create-new' | translate | async)\\\"\\n (onClick)=\\\"handleSaveAndNewClick(form)\\\">\\n </ax-button-item>\\n </ax-button-item-list>\\n </ax-dropdown-button>\\n } @else {\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"'save' | translate | async\\\" (onClick)=\\\"handleSaveClick(form)\\\">\\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>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"ngmodule\", type: AXFormModule }, { kind: \"component\", type: i2.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i2.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: 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: \"component\", type: i4.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i4.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXDialogModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"component\", type: i5.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: i6.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"component\", type: i7.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: \"pipe\", type: i8.AXTranslatorPipe, name: \"translate\" }, { kind: \"ngmodule\", type: \n //\n AXPLayoutBuilderModule }, { kind: \"component\", type: i9.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i9.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"ngmodule\", type: AXPComponentSlotModule }, { kind: \"directive\", type: i10.AXPComponentSlotDirective, selector: \"axp-component-slot\", inputs: [\"name\", \"host\", \"context\"], exportAs: [\"slot\"] }, { kind: \"ngmodule\", type: AXPWidgetsModule }, { kind: \"directive\", type: AXPGridLayoutDirective, selector: \"[gridLayout]\", inputs: [\"gridLayout\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", 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 AXPLayoutBuilderModule,\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 class=\\\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\\\" #form [messageStyle]=\\\"'bottom'\\\" [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 #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 class=\\\"ax-flex ax-flex-col ax-gap-1\\\" [gridLayout]=\\\"attr.layout()\\\"\\n [class.ax-hidden]=\\\"widget.options()['visibility'] == false\\\">\\n <ax-label class=\\\"ax-font-semibold ax-text-sm\\\" [required]=\\\"attr.isRequired()\\\">{{\\n attr.title() | translate | async\\n }}</ax-label>\\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>\\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 look=\\\"solid\\\" [color]=\\\"'default'\\\" [text]=\\\"'cancel' | translate | async\\\" (onClick)=\\\"handleCloseClick()\\\">\\n </ax-button>\\n @if (vm.canCreateNewOne()) {\\n <ax-dropdown-button [disabled]=\\\"vm.isInProgress()\\\" color=\\\"primary\\\" [text]=\\\"'save' | translate | async\\\" look=\\\"solid\\\"\\n (onClick)=\\\"handleSaveClick(form)\\\">\\n @if (vm.isInProgress()) {\\n <ax-loading></ax-loading>\\n }\\n <ax-button-item-list>\\n <ax-button-item [text]=\\\"('save' | translate | async) + ' ' + ('create-new' | translate | async)\\\"\\n (onClick)=\\\"handleSaveAndNewClick(form)\\\">\\n </ax-button-item>\\n </ax-button-item-list>\\n </ax-dropdown-button>\\n } @else {\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"'save' | translate | async\\\" (onClick)=\\\"handleSaveClick(form)\\\">\\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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1jcmVhdGUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RoZW1lcy9kZWZhdWx0L3NyYy9saWIvbGF5b3V0cy9lbnRpdHktbGF5b3V0cy9lbnRpdHktbWFzdGVyLWNyZWF0ZS12aWV3L2VudGl0eS1tYXN0ZXItY3JlYXRlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdC9zcmMvbGliL2xheW91dHMvZW50aXR5LWxheW91dHMvZW50aXR5LW1hc3Rlci1jcmVhdGUtdmlldy9lbnRpdHktbWFzdGVyLWNyZWF0ZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFp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Q2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFUyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBOEI7UUFDaEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQXREVSxrQ0FBa0M7a0dBQWxDLGtDQUFrQyxtSEFHZiwyQkFBMkIsdUZDMUQzRCwya0dBbUUyRywyQ0RuQ3ZHLFlBQVksbUZBQ1osV0FBVyw4QkFDWCxZQUFZLGtUQUNaLGlCQUFpQixxUEFFakIsY0FBYyxvdUJBQ2QsY0FBYyw4QkFDZCxlQUFlLDhLQUNmLFlBQVksOEJBQ1osZUFBZSw4QkFDZixrQkFBa0IsOEJBQ2xCLGFBQWEsZ0tBQ2IsZ0JBQWdCLDhCQUNoQixzQkFBc0IsNFNBQ3RCLG1CQUFtQjtnQkFDbkIsRUFBRTtnQkFDRixzQkFBc0IsOFpBQ3RCLHNCQUFzQixtTEFDdEIsZ0JBQWdCLCtCQUNoQixzQkFBc0I7OzJGQUliLGtDQUFrQztrQkExQjlDLFNBQVM7OEJBRUM7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsRUFBRTt3QkFDRixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7cUJBQ3ZCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3ZhbGlkYXRpb24nO1xuXG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQR3JpZExheW91dERpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gIEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCxcbiAgQVhQV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEFYUENvbXBvbmVudFNsb3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUEVudGl0eU1hc3RlckNyZWF0ZVZpZXdNb2RlbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93aWRnZXRzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1tYXN0ZXItY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEaWFsb2dNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWFRvb2x0aXBNb2R1bGUsXG4gICAgQVhWYWxpZGF0aW9uTW9kdWxlLFxuICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgLy9cbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgIEFYUENvbXBvbmVudFNsb3RNb2R1bGUsXG4gICAgQVhQV2lkZ2V0c01vZHVsZSxcbiAgICBBWFBHcmlkTGF5b3V0RGlyZWN0aXZlLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyQ3JlYXRlVmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgdm0hOiBBWFBFbnRpdHlNYXN0ZXJDcmVhdGVWaWV3TW9kZWw7XG5cbiAgcHJpdmF0ZSBjb250YWluZXIgPSB2aWV3Q2hpbGQoQVhQV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50KTtcblxuICBwcm90ZWN0ZWQgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy52bS5idWlsZGVyID0gdGhpcy5jb250YWluZXIoKSEuYnVpbGRlclNlcnZpY2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2VDbGljaygpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlQmFja0NsaWNrKCkge1xuICAgIC8vYXdhaXQgdGhpcy52bS5leGVjdXRlQ29tbWFuZCgnYmFjaycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZU5leHRDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICAvLyBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIC8vIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgIC8vICAgYXdhaXQgdGhpcy52bS5leGVjdXRlQ29tbWFuZCgnbmV4dCcpO1xuICAgIC8vIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTYXZlQ2xpY2soZm9ybTogQVhGb3JtQ29tcG9uZW50KSB7XG4gICAgY29uc3QgZm9ybVJlc3VsdCA9IGF3YWl0IGZvcm0udmFsaWRhdGUoKTtcbiAgICBpZiAoZm9ybVJlc3VsdC5yZXN1bHQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlY29yZCA9IGF3YWl0IHRoaXMudm0uc2F2ZSgpO1xuXG4gICAgICAgIHRoaXMuY2xvc2UoeyBzYXZlOiB0cnVlLCByZWNvcmRJZDogcmVjb3JkPy5pZCwgaXRlbTogcmVjb3JkLCByZWRpcmVjdDogdGhpcy52bS5yZWRpcmVjdCgpIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTYXZlQW5kTmV3Q2xpY2soZm9ybTogQVhGb3JtQ29tcG9uZW50KSB7XG4gICAgY29uc3QgZm9ybVJlc3VsdCA9IGF3YWl0IGZvcm0udmFsaWRhdGUoKTtcbiAgICBpZiAoZm9ybVJlc3VsdC5yZXN1bHQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlY29yZCA9IGF3YWl0IHRoaXMudm0uc2F2ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKHsgc2F2ZTogdHJ1ZSwgcmVjb3JkSWQ6IHJlY29yZD8uaWQsIGl0ZW06IHJlY29yZCwgcmVkaXJlY3Q6IGZhbHNlIH0pO1xuICAgICAgICBhd2FpdCB0aGlzLnZtLmNyZWF0ZU5ld09uZSgpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVDb250ZXh0Q2hhbmdlKGU6IEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMudm0uY29udGV4dC5zZXQoZS5kYXRhKTtcbiAgfVxufVxuIiwiPGF4cC1jb21wb25lbnQtc2xvdCBuYW1lPVwiZW50aXR5LWNyZWF0ZS1oZWFkZXJcIiBbY29udGV4dF09XCJ2bS5jb250ZXh0KClcIj48L2F4cC1jb21wb25lbnQtc2xvdD5cbjxheHAtd2lkZ2V0cy1jb250YWluZXIgW2NvbnRleHRdPVwidm0uY29udGV4dCgpXCIgKG9uQ29udGV4dENoYW5nZWQpPVwiaGFuZGxlQ29udGV4dENoYW5nZSgkZXZlbnQpXCI+XG4gIDxheC1mb3JtIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNiBheC1wLTQgYXgtcGItOFwiICNmb3JtIFttZXNzYWdlU3R5bGVdPVwiJ2JvdHRvbSdcIiBbdXBkYXRlT25dPVwiJ2JsdXInXCI+XG4gICAgPCEtLSBCZWdpbiBTZWN0aW9ucyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTRcIj5cbiAgICAgIEBmb3IgKHNlY3Rpb24gb2Ygdm0uc2VjdGlvbnMoKTsgdHJhY2sgc2VjdGlvbi5uYW1lKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMlwiPlxuICAgICAgICA8YXgtZm9ybSAjZm9ybT5cbiAgICAgICAgICBAaWYgKHZtLnNlY3Rpb25zKCkubGVuZ3RoID4gMSAmJiAhc2VjdGlvbi5kZXNjcmlwdGlvbigpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXBiLTRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1ib2xkIGF4LXRleHQteGxcIj57eyBzZWN0aW9uLnRpdGxlKCkgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5kZXNjcmlwdGlvbigpKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImF4LXRleHQtc20gYXgtdGV4dC1ncmF5LTUwMFwiPnt7IHNlY3Rpb24uZGVzY3JpcHRpb24oKSB9fTwvcD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQtYm9keSAhYXgtZ3JpZCAhYXgtZ3JpZC1jb2xzLTEyICFheC1nYXAtNFwiPlxuICAgICAgICAgICAgQGZvciAoYXR0ciBvZiBzZWN0aW9uLmVsZW1lbnRzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGF4LWZvcm0tZmllbGQgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0xXCIgW2dyaWRMYXlvdXRdPVwiYXR0ci5sYXlvdXQoKVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5heC1oaWRkZW5dPVwid2lkZ2V0Lm9wdGlvbnMoKVsndmlzaWJpbGl0eSddID09IGZhbHNlXCI+XG4gICAgICAgICAgICAgIDxheC1sYWJlbCBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1zbVwiIFtyZXF1aXJlZF09XCJhdHRyLmlzUmVxdWlyZWQoKVwiPnt7XG4gICAgICAgICAgICAgICAgYXR0ci50aXRsZSgpIHwgdHJhbnNsYXRlIHwgYXN5bmNcbiAgICAgICAgICAgICAgICB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgYXhwLXdpZGdldC1yZW5kZXJlciBbbm9kZV09XCJhdHRyLm5vZGUoKVwiIFttb2RlXT1cIidlZGl0J1wiXG4gICAgICAgICAgICAgICAgI3dpZGdldD1cIndpZGdldFJlbmRlcmVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYXgtZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDwhLS0gRmluaXNoIFNlY3Rpb25zICAtLT5cbiAgPC9heC1mb3JtPlxuPC9heHAtd2lkZ2V0cy1jb250YWluZXI+XG5AaWYgKHNsb3QuaXNFbXB0eSgpKSB7XG48YXgtZm9vdGVyPlxuICA8YXgtcHJlZml4PlxuICAgIDxheHAtY29tcG9uZW50LXNsb3QgbmFtZT1cImVudGl0eS1jcmVhdGUtZm9vdGVyLXByZWZpeFwiIFtjb250ZXh0XT1cInZtLmNvbnRleHQoKVwiPjwvYXhwLWNvbXBvbmVudC1zbG90PlxuICA8L2F4LXByZWZpeD5cbiAgPGF4LXN1ZmZpeD5cbiAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIFtjb2xvcl09XCInZGVmYXVsdCdcIiBbdGV4dF09XCInY2FuY2VsJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2VDbGljaygpXCI+XG4gICAgPC9heC1idXR0b24+XG4gICAgQGlmICh2bS5jYW5DcmVhdGVOZXdPbmUoKSkge1xuICAgIDxheC1kcm9wZG93bi1idXR0b24gW2Rpc2FibGVkXT1cInZtLmlzSW5Qcm9ncmVzcygpXCIgY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwiJ3NhdmUnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiBsb29rPVwic29saWRcIlxuICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlU2F2ZUNsaWNrKGZvcm0pXCI+XG4gICAgICBAaWYgKHZtLmlzSW5Qcm9ncmVzcygpKSB7XG4gICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICB9XG4gICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFt0ZXh0XT1cIignc2F2ZScgfCB0cmFuc2xhdGUgfCBhc3luYykgKyAnICcgKyAoJ2NyZWF0ZS1uZXcnIHwgdHJhbnNsYXRlIHwgYXN5bmMpXCJcbiAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVTYXZlQW5kTmV3Q2xpY2soZm9ybSlcIj5cbiAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICA8L2F4LWRyb3Bkb3duLWJ1dHRvbj5cbiAgICB9IEBlbHNlIHtcbiAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIFt0ZXh0XT1cIidzYXZlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlU2F2ZUNsaWNrKGZvcm0pXCI+XG4gICAgICBAaWYgKHZtLmlzSW5Qcm9ncmVzcygpKSB7XG4gICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICB9XG4gICAgPC9heC1idXR0b24+XG4gICAgfVxuICAgIDxheHAtY29tcG9uZW50LXNsb3QgbmFtZT1cImVudGl0eS1jcmVhdGUtZm9vdGVyLXN1ZmZpeFwiIFtjb250ZXh0XT1cInZtLmNvbnRleHQoKVwiPjwvYXhwLWNvbXBvbmVudC1zbG90PlxuICA8L2F4LXN1ZmZpeD5cbjwvYXgtZm9vdGVyPlxufVxuXG48YXhwLWNvbXBvbmVudC1zbG90IG5hbWU9XCJlbnRpdHktY3JlYXRlLWZvb3RlclwiICNzbG90PVwic2xvdFwiIFtjb250ZXh0XT1cInZtLmNvbnRleHQoKVwiPjwvYXhwLWNvbXBvbmVudC1zbG90PiJdfQ=="],"names":["i8","i10"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCO,MAAM,kCAAkC,SAAS,mBAAmB,CAAC;AAC5E,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,2BAA2B,CAAC;AAC/D,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClD,IAAI;AACJ,IAAI,eAAe,GAAG;AACtB,QAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc;AACzD,IAAI;AACJ,IAAI,gBAAgB,GAAG;AACvB,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,IAAI;AACJ,IAAI,MAAM,eAAe,GAAG;AAC5B;AACA,IAAI;AACJ,IAAI,MAAM,eAAe,CAAC,IAAI,EAAE;AAChC;AACA;AACA;AACA;AACA,IAAI;AACJ,IAAI,MAAM,eAAe,CAAC,IAAI,EAAE;AAChC,QAAQ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;AAChD,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE;AAC/B,YAAY,IAAI;AAChB,gBAAgB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;AACnD,gBAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC5G,YAAY;AACZ,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AAClC,YAAY;AACZ,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,qBAAqB,CAAC,IAAI,EAAE;AACtC,QAAQ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;AAChD,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE;AAC/B,YAAY,IAAI;AAChB,gBAAgB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;AACnD,gBAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC/F,gBAAgB,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AAC5C,YAAY;AACZ,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AAClC,YAAY;AACZ,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,mBAAmB,CAAC,CAAC,EAAE;AACjC,QAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACtM,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,kCAAkC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,2BAA2B,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2kGAA2kG,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,8IAA8I,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,yBAAyB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,yBAAyB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEA,IAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AACz5L;AACA,gBAAgB,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,0BAA0B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAG,CAAC,yBAAyB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/zB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,UAAU,EAAE,CAAC;AAC5I,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE;AAC9B,wBAAwB,YAAY;AACpC,wBAAwB,WAAW;AACnC,wBAAwB,YAAY;AACpC,wBAAwB,iBAAiB;AACzC,wBAAwB,YAAY;AACpC,wBAAwB,cAAc;AACtC,wBAAwB,cAAc;AACtC,wBAAwB,eAAe;AACvC,wBAAwB,YAAY;AACpC,wBAAwB,eAAe;AACvC,wBAAwB,kBAAkB;AAC1C,wBAAwB,aAAa;AACrC,wBAAwB,gBAAgB;AACxC,wBAAwB,sBAAsB;AAC9C,wBAAwB,mBAAmB;AAC3C;AACA,wBAAwB,sBAAsB;AAC9C,wBAAwB,sBAAsB;AAC9C,wBAAwB,gBAAgB;AACxC,wBAAwB,sBAAsB;AAC9C,qBAAqB,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,2kGAA2kG,EAAE;AAC/pG,SAAS,CAAC,EAAE,CAAC;;;;"}
|
|
@@ -983,7 +983,7 @@ class AXPDefaultThemeModule {
|
|
|
983
983
|
master: {
|
|
984
984
|
single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-CEfSqV8l.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
|
|
985
985
|
///
|
|
986
|
-
create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-
|
|
986
|
+
create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-BNdAQn4R.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
|
|
987
987
|
///
|
|
988
988
|
modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-QQ4bFuiN.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
|
|
989
989
|
//
|
|
@@ -1022,7 +1022,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
1022
1022
|
master: {
|
|
1023
1023
|
single: () => import('./acorex-platform-themes-default-entity-master-single-view.component-CEfSqV8l.mjs').then((c) => c.AXPEntityMasterSingleViewComponent),
|
|
1024
1024
|
///
|
|
1025
|
-
create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-
|
|
1025
|
+
create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-BNdAQn4R.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
|
|
1026
1026
|
///
|
|
1027
1027
|
modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-QQ4bFuiN.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
|
|
1028
1028
|
//
|
|
@@ -1207,6 +1207,12 @@ class AXPContactWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
1207
1207
|
constructor() {
|
|
1208
1208
|
super(...arguments);
|
|
1209
1209
|
this.clipboard = inject(AXPClipBoardService);
|
|
1210
|
+
this.hasValue = computed(() => {
|
|
1211
|
+
if (typeof this.rawValue === 'string')
|
|
1212
|
+
return this.rawValue.trim() !== '';
|
|
1213
|
+
else
|
|
1214
|
+
return this.rawValue?.length > 0;
|
|
1215
|
+
});
|
|
1210
1216
|
this.itemToValue = (item) => {
|
|
1211
1217
|
if (typeof item === 'object')
|
|
1212
1218
|
return item?.value ?? '';
|
|
@@ -1223,24 +1229,34 @@ class AXPContactWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
1223
1229
|
}
|
|
1224
1230
|
}
|
|
1225
1231
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPContactWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1226
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1232
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXPContactWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue", rowData: "rowData" }, usesInheritance: true, ngImport: i0, template: `
|
|
1233
|
+
@if(hasValue()){
|
|
1234
|
+
<div class="ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit">
|
|
1227
1235
|
<span class="ax-truncate" [title]="getText('line')">{{ getText('comma') }}</span>
|
|
1228
1236
|
<i
|
|
1229
1237
|
(click)="clipboard.copy('Contact', rawValue)"
|
|
1230
1238
|
class="fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible"
|
|
1231
1239
|
></i>
|
|
1232
|
-
</div
|
|
1240
|
+
</div>
|
|
1241
|
+
} @else {
|
|
1242
|
+
<span class="ax-text-muted">---</span>
|
|
1243
|
+
}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1233
1244
|
}
|
|
1234
1245
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPContactWidgetColumnComponent, decorators: [{
|
|
1235
1246
|
type: Component,
|
|
1236
1247
|
args: [{
|
|
1237
|
-
template: `
|
|
1248
|
+
template: `
|
|
1249
|
+
@if(hasValue()){
|
|
1250
|
+
<div class="ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit">
|
|
1238
1251
|
<span class="ax-truncate" [title]="getText('line')">{{ getText('comma') }}</span>
|
|
1239
1252
|
<i
|
|
1240
1253
|
(click)="clipboard.copy('Contact', rawValue)"
|
|
1241
1254
|
class="fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible"
|
|
1242
1255
|
></i>
|
|
1243
|
-
</div
|
|
1256
|
+
</div>
|
|
1257
|
+
} @else {
|
|
1258
|
+
<span class="ax-text-muted">---</span>
|
|
1259
|
+
}`,
|
|
1244
1260
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1245
1261
|
imports: [],
|
|
1246
1262
|
inputs: ['rawValue', 'rowData'],
|
|
@@ -1259,7 +1275,7 @@ const DEFAULT_CONTACT_WIDGET_TYPES = [
|
|
|
1259
1275
|
name: 'email',
|
|
1260
1276
|
title: 'Email',
|
|
1261
1277
|
icon: 'fa-solid fa-envelope',
|
|
1262
|
-
validation:
|
|
1278
|
+
validation: { rule: 'email' },
|
|
1263
1279
|
labels: [
|
|
1264
1280
|
{ id: 'work', name: 'Work' },
|
|
1265
1281
|
{ id: 'home', name: 'Home' },
|
|
@@ -1270,7 +1286,7 @@ const DEFAULT_CONTACT_WIDGET_TYPES = [
|
|
|
1270
1286
|
name: 'phone',
|
|
1271
1287
|
title: 'Phone',
|
|
1272
1288
|
icon: 'fa-solid fa-phone',
|
|
1273
|
-
validation:
|
|
1289
|
+
validation: { rule: 'regex', options: { pattern: '^\\+?\\d{3,15}$' }, message: 'Invalid phone number' },
|
|
1274
1290
|
labels: [
|
|
1275
1291
|
{ id: 'mobile', name: 'Mobile' },
|
|
1276
1292
|
{ id: 'work', name: 'Work' },
|
|
@@ -1282,7 +1298,7 @@ const DEFAULT_CONTACT_WIDGET_TYPES = [
|
|
|
1282
1298
|
name: 'url',
|
|
1283
1299
|
title: 'Url',
|
|
1284
1300
|
icon: 'fa-solid fa-link',
|
|
1285
|
-
validation:
|
|
1301
|
+
validation: { rule: 'regex', options: { pattern: '^https?://(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)$' }, message: 'Invalid URL' },
|
|
1286
1302
|
labels: [
|
|
1287
1303
|
{ id: 'website', name: 'Website' },
|
|
1288
1304
|
{ id: 'blog', name: 'Blog' },
|
|
@@ -1409,11 +1425,9 @@ class AXPContactWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
1409
1425
|
super();
|
|
1410
1426
|
this.contactService = inject(AXPContactWidgetService);
|
|
1411
1427
|
this.popup = inject(AXPopupService);
|
|
1412
|
-
this.
|
|
1413
|
-
this.contactType = computed(() => this.options()['name'] || 'email');
|
|
1428
|
+
this.contactType = computed(() => this.options()['type'] || 'email');
|
|
1414
1429
|
this.activeContactType = signal(undefined);
|
|
1415
1430
|
this.placeholder = computed(() => this.options()['placeholder'] || this.activeContactType()?.placeholder || `Enter value...`);
|
|
1416
|
-
this.validationRules = computed(() => this.options()['validation'] || this.activeContactType()?.validation || []);
|
|
1417
1431
|
this.labels = computed(() => this.options()['labels'] || this.activeContactType()?.labels || []);
|
|
1418
1432
|
this.icon = computed(() => this.options()['icon'] || this.activeContactType()?.icon);
|
|
1419
1433
|
this.disabled = computed(() => this.options()['disabled']);
|
|
@@ -1519,7 +1533,7 @@ class AXPContactWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
1519
1533
|
}
|
|
1520
1534
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPContactWidgetEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1521
1535
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXPContactWidgetEditComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
|
|
1522
|
-
<div class="ax-grid ax-grid-cols-12 ax-gap-4 ax-auto-cols-max
|
|
1536
|
+
<div class="ax-grid ax-grid-cols-12 ax-gap-4 ax-auto-cols-max">
|
|
1523
1537
|
<ax-text-box
|
|
1524
1538
|
[ngModel]="valueAsObject().value"
|
|
1525
1539
|
(onValueChanged)="handleValueChange($event)"
|
|
@@ -1539,6 +1553,14 @@ class AXPContactWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
1539
1553
|
[options]="validation.options"
|
|
1540
1554
|
></ax-validation-rule>
|
|
1541
1555
|
}
|
|
1556
|
+
|
|
1557
|
+
@if(activeContactType()?.validation) {
|
|
1558
|
+
<ax-validation-rule
|
|
1559
|
+
[rule]="activeContactType()?.validation?.rule!"
|
|
1560
|
+
[message]="activeContactType()?.validation?.message!"
|
|
1561
|
+
[options]="activeContactType()?.validation?.options!"
|
|
1562
|
+
></ax-validation-rule>
|
|
1563
|
+
}
|
|
1542
1564
|
</ax-text-box>
|
|
1543
1565
|
@if (hasLabel()) {
|
|
1544
1566
|
<ax-select-box
|
|
@@ -1561,7 +1583,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
1561
1583
|
type: Component,
|
|
1562
1584
|
args: [{
|
|
1563
1585
|
template: `
|
|
1564
|
-
<div class="ax-grid ax-grid-cols-12 ax-gap-4 ax-auto-cols-max
|
|
1586
|
+
<div class="ax-grid ax-grid-cols-12 ax-gap-4 ax-auto-cols-max">
|
|
1565
1587
|
<ax-text-box
|
|
1566
1588
|
[ngModel]="valueAsObject().value"
|
|
1567
1589
|
(onValueChanged)="handleValueChange($event)"
|
|
@@ -1581,6 +1603,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
1581
1603
|
[options]="validation.options"
|
|
1582
1604
|
></ax-validation-rule>
|
|
1583
1605
|
}
|
|
1606
|
+
|
|
1607
|
+
@if(activeContactType()?.validation) {
|
|
1608
|
+
<ax-validation-rule
|
|
1609
|
+
[rule]="activeContactType()?.validation?.rule!"
|
|
1610
|
+
[message]="activeContactType()?.validation?.message!"
|
|
1611
|
+
[options]="activeContactType()?.validation?.options!"
|
|
1612
|
+
></ax-validation-rule>
|
|
1613
|
+
}
|
|
1584
1614
|
</ax-text-box>
|
|
1585
1615
|
@if (hasLabel()) {
|
|
1586
1616
|
<ax-select-box
|
|
@@ -1624,7 +1654,7 @@ class AXPContactWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
1624
1654
|
constructor() {
|
|
1625
1655
|
super();
|
|
1626
1656
|
this.contactService = inject(AXPContactWidgetService);
|
|
1627
|
-
this.contactName = computed(() => this.options()['
|
|
1657
|
+
this.contactName = computed(() => this.options()['type'] || 'email');
|
|
1628
1658
|
this.activeContactType = signal(undefined);
|
|
1629
1659
|
this.icon = computed(() => this.options()['icon'] || this.activeContactType()?.icon);
|
|
1630
1660
|
this.hasLabel = computed(() => this.options()['hasLabel'] ?? true);
|
|
@@ -1672,7 +1702,7 @@ class AXPContactWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
1672
1702
|
: contactName() === 'phone'
|
|
1673
1703
|
? 'tel:' + internalValue().value
|
|
1674
1704
|
: 'mailto:' + internalValue().value;
|
|
1675
|
-
<div class="ax-flex ax-gap-2 ax-items-center
|
|
1705
|
+
<div class="ax-flex ax-gap-2 ax-items-center">
|
|
1676
1706
|
<div class="ax-flex ax-gap-2 ax-group ax-items-center ax-justify-center ax-truncate">
|
|
1677
1707
|
@if (hasIcon()) {
|
|
1678
1708
|
<ax-icon class="fa-solid ax-text-neutral-400" [class]="activeContactType()?.icon"> </ax-icon>
|
|
@@ -1708,7 +1738,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
1708
1738
|
: contactName() === 'phone'
|
|
1709
1739
|
? 'tel:' + internalValue().value
|
|
1710
1740
|
: 'mailto:' + internalValue().value;
|
|
1711
|
-
<div class="ax-flex ax-gap-2 ax-items-center
|
|
1741
|
+
<div class="ax-flex ax-gap-2 ax-items-center">
|
|
1712
1742
|
<div class="ax-flex ax-gap-2 ax-group ax-items-center ax-justify-center ax-truncate">
|
|
1713
1743
|
@if (hasIcon()) {
|
|
1714
1744
|
<ax-icon class="fa-solid ax-text-neutral-400" [class]="activeContactType()?.icon"> </ax-icon>
|
|
@@ -5042,6 +5072,7 @@ class AXPSelectBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
5042
5072
|
super(...arguments);
|
|
5043
5073
|
this.valueField = this.options['valueField'] ?? 'id';
|
|
5044
5074
|
this.textField = this.options['textField'] ?? 'title';
|
|
5075
|
+
this.badgeClass = this.options['badgeClass'] ?? 'ax-accent1';
|
|
5045
5076
|
this.internalValue = computed(() => castArray(this.rawValue).map((item) => this.extractItem(item)));
|
|
5046
5077
|
}
|
|
5047
5078
|
extractItem(item) {
|
|
@@ -5058,7 +5089,7 @@ class AXPSelectBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
5058
5089
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPSelectBoxWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5059
5090
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXPSelectBoxWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue", rowData: "rowData" }, usesInheritance: true, ngImport: i0, template: ` <div class="ax-flex ax-gap-2">
|
|
5060
5091
|
@for (item of internalValue(); track $index) {
|
|
5061
|
-
<ax-badge [text]="item[this.textField]"
|
|
5092
|
+
<ax-badge [text]="item[this.textField]" [class]="badgeClass"></ax-badge>
|
|
5062
5093
|
}
|
|
5063
5094
|
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5064
5095
|
}
|
|
@@ -5067,7 +5098,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
5067
5098
|
args: [{
|
|
5068
5099
|
template: ` <div class="ax-flex ax-gap-2">
|
|
5069
5100
|
@for (item of internalValue(); track $index) {
|
|
5070
|
-
<ax-badge [text]="item[this.textField]"
|
|
5101
|
+
<ax-badge [text]="item[this.textField]" [class]="badgeClass"></ax-badge>
|
|
5071
5102
|
}
|
|
5072
5103
|
</div>`,
|
|
5073
5104
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -5277,6 +5308,7 @@ class AXPSelectBoxWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
5277
5308
|
this.multiple = computed(() => this.options()['multiple']);
|
|
5278
5309
|
this.valueField = computed(() => this.options()['valueField'] ?? 'id');
|
|
5279
5310
|
this.textField = computed(() => this.options()['textField'] ?? 'title');
|
|
5311
|
+
this.badgeClass = computed(() => this.options()['badgeClass'] ?? 'ax-accent1');
|
|
5280
5312
|
this.internalValue = computed(() => Array.isArray(this.getValue())
|
|
5281
5313
|
? this.getValue().map((item) => this.extractItem(item))
|
|
5282
5314
|
: [this.extractItem(this.getValue())]);
|
|
@@ -5302,7 +5334,7 @@ class AXPSelectBoxWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
5302
5334
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPSelectBoxWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5303
5335
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXPSelectBoxWidgetViewComponent, isStandalone: true, selector: "axp-select-box-widget-view", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
|
|
5304
5336
|
@for (item of internalValue(); track $index) {
|
|
5305
|
-
<ax-badge class="ax-p-0.5
|
|
5337
|
+
<ax-badge class="ax-p-0.5 {{badgeClass()}}" [text]="item.text" ></ax-badge>
|
|
5306
5338
|
}
|
|
5307
5339
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5308
5340
|
}
|
|
@@ -5312,7 +5344,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
5312
5344
|
selector: 'axp-select-box-widget-view',
|
|
5313
5345
|
template: `
|
|
5314
5346
|
@for (item of internalValue(); track $index) {
|
|
5315
|
-
<ax-badge class="ax-p-0.5
|
|
5347
|
+
<ax-badge class="ax-p-0.5 {{badgeClass()}}" [text]="item.text" ></ax-badge>
|
|
5316
5348
|
}
|
|
5317
5349
|
`,
|
|
5318
5350
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -6201,7 +6233,13 @@ class AXPTextBoxWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
6201
6233
|
this.readonly = computed(() => this.options()['readonly']);
|
|
6202
6234
|
this.placeholder = computed(() => this.options()['placeholder']);
|
|
6203
6235
|
this.translatedValues = {};
|
|
6204
|
-
this.internalValue = computed(() =>
|
|
6236
|
+
this.internalValue = computed(() => {
|
|
6237
|
+
const value = this.getValue();
|
|
6238
|
+
if (Array.isArray(value)) {
|
|
6239
|
+
return value.length > 0 ? value : [undefined];
|
|
6240
|
+
}
|
|
6241
|
+
return [value];
|
|
6242
|
+
});
|
|
6205
6243
|
}
|
|
6206
6244
|
ngOnInit() {
|
|
6207
6245
|
super.ngOnInit();
|
|
@@ -16858,6 +16896,7 @@ class AXPWidgetsModule {
|
|
|
16858
16896
|
AXPRichTextWidget,
|
|
16859
16897
|
AXPNumberBoxWidget,
|
|
16860
16898
|
AXPSignatureWidget,
|
|
16899
|
+
AXPLinkWidget,
|
|
16861
16900
|
AXPDateTimeBoxWidget,
|
|
16862
16901
|
AXPContactWidget,
|
|
16863
16902
|
AXPSelectionListWidget,
|
|
@@ -16936,6 +16975,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
|
16936
16975
|
AXPRichTextWidget,
|
|
16937
16976
|
AXPNumberBoxWidget,
|
|
16938
16977
|
AXPSignatureWidget,
|
|
16978
|
+
AXPLinkWidget,
|
|
16939
16979
|
AXPDateTimeBoxWidget,
|
|
16940
16980
|
AXPContactWidget,
|
|
16941
16981
|
AXPSelectionListWidget,
|