@acorex/platform 20.0.12 → 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.
@@ -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
@@ -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":"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"}
@@ -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-DJ_0-SyR.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
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-DJ_0-SyR.mjs').then((c) => c.AXPEntityMasterCreateViewComponent),
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: "14.0.0", version: "20.0.7", type: AXPContactWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue", rowData: "rowData" }, usesInheritance: true, ngImport: i0, template: ` <div class="ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit">
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>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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: ` <div class="ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit">
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: [{ rule: 'required' }, { rule: 'email' }],
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: [{ rule: 'required' }],
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: [{ rule: 'required' }],
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.validationService = inject(AXValidationService);
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 ax-p-4">
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 ax-p-4">
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()['name'] || 'email');
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 ax-p-2">
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 ax-p-2">
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]" color="primary"></ax-badge>
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]" color="primary"></ax-badge>
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" [color]="'surface'" [text]="item.text" ></ax-badge>
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" [color]="'surface'" [text]="item.text" ></ax-badge>
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(() => Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]);
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,