@dignite-ng/expand.dynamic-form 3.0.0-rc.5 → 3.0.0-rc.50
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/README.md +117 -13
- package/esm2022/dignite-ng-expand.dynamic-form.mjs +1 -1
- package/esm2022/lib/components/dynamic/dynamic-config.component.mjs +61 -0
- package/esm2022/lib/components/dynamic/dynamic-control.component.mjs +92 -0
- package/esm2022/lib/components/dynamic/dynamic-search.component.mjs +67 -0
- package/esm2022/lib/components/dynamic/dynamic-view.component.mjs +60 -0
- package/esm2022/lib/components/dynamic/dynamic.component.mjs +15 -7
- package/esm2022/lib/components/dynamic/index.mjs +5 -1
- package/esm2022/lib/components/form/date-edit/date-edit-config.component.mjs +13 -11
- package/esm2022/lib/components/form/date-edit/date-edit-config.mjs +1 -1
- package/esm2022/lib/components/form/date-edit/date-edit-control.component.mjs +9 -8
- package/esm2022/lib/components/form/date-edit/date-edit-view.component.mjs +41 -0
- package/esm2022/lib/components/form/date-edit/index.mjs +2 -1
- package/esm2022/lib/components/form/form-control-group.mjs +21 -9
- package/esm2022/lib/components/form/index.mjs +1 -1
- package/esm2022/lib/components/form/numeric-edit/index.mjs +1 -1
- package/esm2022/lib/components/form/numeric-edit/numberic-edit-config.component.mjs +12 -10
- package/esm2022/lib/components/form/numeric-edit/numberic-edit-config.mjs +4 -3
- package/esm2022/lib/components/form/numeric-edit/numberic-edit-control.component.mjs +24 -16
- package/esm2022/lib/components/form/numeric-edit/numeric-edit-search.component.mjs +107 -0
- package/esm2022/lib/components/form/numeric-edit/numeric-edit-view.component.mjs +40 -0
- package/esm2022/lib/components/form/select/index.mjs +3 -1
- package/esm2022/lib/components/form/select/select-config.component.mjs +37 -17
- package/esm2022/lib/components/form/select/select-config.mjs +4 -11
- package/esm2022/lib/components/form/select/select-control.component.mjs +27 -19
- package/esm2022/lib/components/form/select/select-search.component.mjs +94 -0
- package/esm2022/lib/components/form/select/select-view.component.mjs +45 -0
- package/esm2022/lib/components/form/switch/index.mjs +3 -1
- package/esm2022/lib/components/form/switch/switch-config.component.mjs +16 -12
- package/esm2022/lib/components/form/switch/switch-config.mjs +3 -10
- package/esm2022/lib/components/form/switch/switch-control.component.mjs +5 -5
- package/esm2022/lib/components/form/switch/switch-search.component.mjs +79 -0
- package/esm2022/lib/components/form/switch/switch-view.component.mjs +40 -0
- package/esm2022/lib/components/form/text-edit/index.mjs +3 -1
- package/esm2022/lib/components/form/text-edit/text-edit-config.component.mjs +18 -14
- package/esm2022/lib/components/form/text-edit/text-edit-config.mjs +5 -12
- package/esm2022/lib/components/form/text-edit/text-edit-search.component.mjs +81 -0
- package/esm2022/lib/components/form/text-edit/text-edit-view.component.mjs +39 -0
- package/esm2022/lib/components/form/text-edit/text-edit.component.mjs +8 -7
- package/esm2022/lib/components/index.mjs +1 -1
- package/esm2022/lib/dynamic-form.module.mjs +82 -6
- package/esm2022/lib/enums/date-edit-interfaces.mjs +1 -1
- package/esm2022/lib/enums/text-edit-mode.mjs +1 -1
- package/esm2022/lib/interfaces/form-config-interfaces.mjs +1 -1
- package/esm2022/lib/interfaces/index.mjs +1 -1
- package/esm2022/lib/services/df-api.service.mjs +2 -60
- package/esm2022/lib/services/form-control.service.mjs +37 -0
- package/esm2022/lib/services/index.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/dignite-ng-expand.dynamic-form.mjs +1070 -213
- package/fesm2022/dignite-ng-expand.dynamic-form.mjs.map +1 -1
- package/lib/components/dynamic/dynamic-config.component.d.ts +20 -0
- package/lib/components/dynamic/dynamic-control.component.d.ts +31 -0
- package/lib/components/dynamic/dynamic-search.component.d.ts +28 -0
- package/lib/components/dynamic/dynamic-view.component.d.ts +24 -0
- package/lib/components/dynamic/dynamic.component.d.ts +5 -1
- package/lib/components/dynamic/index.d.ts +4 -0
- package/lib/components/form/date-edit/date-edit-config.component.d.ts +1 -1
- package/lib/components/form/date-edit/date-edit-control.component.d.ts +2 -2
- package/lib/components/form/date-edit/date-edit-view.component.d.ts +18 -0
- package/lib/components/form/date-edit/index.d.ts +1 -0
- package/lib/components/form/form-control-group.d.ts +1 -1
- package/lib/components/form/numeric-edit/numberic-edit-config.component.d.ts +1 -1
- package/lib/components/form/numeric-edit/numberic-edit-control.component.d.ts +2 -1
- package/lib/components/form/numeric-edit/numeric-edit-search.component.d.ts +35 -0
- package/lib/components/form/numeric-edit/numeric-edit-view.component.d.ts +18 -0
- package/lib/components/form/select/index.d.ts +2 -0
- package/lib/components/form/select/select-config.component.d.ts +9 -1
- package/lib/components/form/select/select-config.d.ts +0 -1
- package/lib/components/form/select/select-control.component.d.ts +2 -2
- package/lib/components/form/select/select-search.component.d.ts +30 -0
- package/lib/components/form/select/select-view.component.d.ts +17 -0
- package/lib/components/form/switch/index.d.ts +2 -0
- package/lib/components/form/switch/switch-config.component.d.ts +2 -2
- package/lib/components/form/switch/switch-config.d.ts +0 -1
- package/lib/components/form/switch/switch-control.component.d.ts +1 -1
- package/lib/components/form/switch/switch-search.component.d.ts +28 -0
- package/lib/components/form/switch/switch-view.component.d.ts +17 -0
- package/lib/components/form/text-edit/index.d.ts +2 -0
- package/lib/components/form/text-edit/text-edit-config.component.d.ts +4 -2
- package/lib/components/form/text-edit/text-edit-config.d.ts +0 -1
- package/lib/components/form/text-edit/text-edit-search.component.d.ts +30 -0
- package/lib/components/form/text-edit/text-edit-view.component.d.ts +17 -0
- package/lib/dynamic-form.module.d.ts +21 -5
- package/lib/interfaces/form-config-interfaces.d.ts +8 -4
- package/lib/services/df-api.service.d.ts +0 -11
- package/lib/services/form-control.service.d.ts +13 -0
- package/package.json +11 -9
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
2
|
+
import { ChangeDetectorRef, Component, ElementRef, inject, Input, ViewChild } from '@angular/core';
|
|
3
|
+
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
|
|
3
4
|
import { SelectConfig } from './select-config';
|
|
5
|
+
import { DfApiService } from '../../../services';
|
|
6
|
+
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
4
7
|
import * as i0 from "@angular/core";
|
|
5
8
|
import * as i1 from "@angular/forms";
|
|
6
9
|
import * as i2 from "../../../services";
|
|
7
10
|
import * as i3 from "@angular/common";
|
|
8
11
|
import * as i4 from "@abp/ng.core";
|
|
9
12
|
import * as i5 from "@ngx-validate/core";
|
|
13
|
+
import * as i6 from "@angular/cdk/drag-drop";
|
|
10
14
|
export class SelectConfigComponent {
|
|
11
15
|
constructor(fb, _DfApiService) {
|
|
12
16
|
this.fb = fb;
|
|
@@ -20,20 +24,18 @@ export class SelectConfigComponent {
|
|
|
20
24
|
this._selected = v;
|
|
21
25
|
}
|
|
22
26
|
set Entity(v) {
|
|
23
|
-
this.
|
|
27
|
+
this.formEntity = v;
|
|
24
28
|
this.dataLoaded();
|
|
25
29
|
}
|
|
26
30
|
get formConfiguration() {
|
|
27
|
-
return this.
|
|
31
|
+
return this.formEntity?.get('formConfiguration');
|
|
28
32
|
}
|
|
29
33
|
get SelectOptions() {
|
|
30
34
|
return this.formConfiguration.controls['Select.Options'];
|
|
31
35
|
}
|
|
32
36
|
async dataLoaded() {
|
|
33
|
-
if (this.
|
|
37
|
+
if (this.formEntity && this._type) {
|
|
34
38
|
await this.AfterInit();
|
|
35
|
-
this.cdr.detectChanges(); // 手动触发变更检测
|
|
36
|
-
this.submitclick?.nativeElement?.click();
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
/**增加选项 */
|
|
@@ -50,11 +52,18 @@ export class SelectConfigComponent {
|
|
|
50
52
|
}
|
|
51
53
|
AfterInit() {
|
|
52
54
|
return new Promise((resolve, rejects) => {
|
|
53
|
-
this.
|
|
55
|
+
this.formEntity?.setControl('formConfiguration', this.fb.group(new SelectConfig()));
|
|
56
|
+
this.cdr.detectChanges(); // 手动触发变更检测
|
|
57
|
+
this.submitclick?.nativeElement?.click();
|
|
54
58
|
if (this._selected && this._selected.formControlName == this._type) {
|
|
55
|
-
this._selected.formConfiguration['Select.Options']
|
|
59
|
+
for (const element of this._selected.formConfiguration['Select.Options']) {
|
|
60
|
+
for (const key in element) {
|
|
61
|
+
const item = element[key];
|
|
62
|
+
const capitalizedKey = key.charAt(0).toUpperCase() + key.slice(1);
|
|
63
|
+
element[capitalizedKey] = item;
|
|
64
|
+
}
|
|
56
65
|
this.addSelectOptions();
|
|
57
|
-
}
|
|
66
|
+
}
|
|
58
67
|
this.formConfiguration.patchValue({
|
|
59
68
|
...this._selected.formConfiguration,
|
|
60
69
|
});
|
|
@@ -65,21 +74,32 @@ export class SelectConfigComponent {
|
|
|
65
74
|
resolve(true);
|
|
66
75
|
});
|
|
67
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* 当选择项的文本发生变化时,更新对应的值
|
|
79
|
+
* @param event 输入事件对象
|
|
80
|
+
* @param index 选择项的索引位置
|
|
81
|
+
* @description 如果选择项已有Value值则不处理,否则将中文文本转换为拼音作为Value值
|
|
82
|
+
*/
|
|
68
83
|
textChange(event, index) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if (SelectOptionsItem.get('Value')
|
|
84
|
+
const SelectOptionsItem = this.SelectOptions.at(index);
|
|
85
|
+
const value = event.target.value;
|
|
86
|
+
if (SelectOptionsItem.get('Value')?.value)
|
|
72
87
|
return;
|
|
73
88
|
SelectOptionsItem.patchValue({
|
|
74
|
-
Value:
|
|
89
|
+
Value: structuredClone(value),
|
|
75
90
|
});
|
|
76
91
|
}
|
|
92
|
+
/**调整表格位置 */
|
|
93
|
+
drop(event) {
|
|
94
|
+
moveItemInArray(this.SelectOptions.controls, event.previousIndex, event.currentIndex);
|
|
95
|
+
this.SelectOptions.updateValueAndValidity();
|
|
96
|
+
}
|
|
77
97
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SelectConfigComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DfApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: SelectConfigComponent, selector: "df-select-config", inputs: { type: "type", selected: "selected", Entity: "Entity" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"
|
|
98
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: SelectConfigComponent, selector: "df-select-config", inputs: { type: "type", selected: "selected", Entity: "Entity" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"formEntity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::SelectListItem' | abpLocalization}}</label>\n <table class=\"table drag-table\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <thead>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\">{{'AbpDynamicForm::SelectListItemText' | abpLocalization}}</th>\n <th scope=\"col\">{{'AbpDynamicForm::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\">{{'AbpDynamicForm::Selected' | abpLocalization}}</th>\n <th scope=\"col\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" type=\"button\" (click.stop)=\"addSelectOptions()\">\n <i class=\"fas fa-plus-circle\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody formArrayName=\"Select.Options\">\n <ng-container *ngFor=\"let item of SelectOptions.controls;let i=index\">\n <tr [formGroupName]=\"i\" cdkDrag cdkDragLockAxis=\"y\" [cdkDragData]=\"item\">\n <td>\n <div class=\"drag-handle\" cdkDragHandle>\n <span class=\"bi bi-arrows-move fs-5\"></span>\n </div>\n </td>\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Text\" required\n (change)=\"textChange($event,i)\"></td>\n <td><input type=\"text\" class=\"form-control\" required formControlName=\"Value\"></td>\n <td>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Selected\"\n id=\"selected\">\n </div>\n </td>\n <td scope=\"row\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" type=\"button\" (click.stop)=\"deleteSelectOptions(i)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::NullText' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Select.NullText\">\n </div>\n <div class=\"mb-3\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Select.Multiple\" id=\"Multiple\">\n <label class=\"form-check-label\" for=\"Multiple\">\n {{'AbpDynamicForm::Multiple' | abpLocalization}}\n </label>\n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i4.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i4.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i5.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i5.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
79
99
|
}
|
|
80
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SelectConfigComponent, decorators: [{
|
|
81
101
|
type: Component,
|
|
82
|
-
args: [{ selector: 'df-select-config', template: "<form [formGroup]=\"
|
|
102
|
+
args: [{ selector: 'df-select-config', template: "<form [formGroup]=\"formEntity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::SelectListItem' | abpLocalization}}</label>\n <table class=\"table drag-table\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <thead>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\">{{'AbpDynamicForm::SelectListItemText' | abpLocalization}}</th>\n <th scope=\"col\">{{'AbpDynamicForm::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\">{{'AbpDynamicForm::Selected' | abpLocalization}}</th>\n <th scope=\"col\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" type=\"button\" (click.stop)=\"addSelectOptions()\">\n <i class=\"fas fa-plus-circle\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody formArrayName=\"Select.Options\">\n <ng-container *ngFor=\"let item of SelectOptions.controls;let i=index\">\n <tr [formGroupName]=\"i\" cdkDrag cdkDragLockAxis=\"y\" [cdkDragData]=\"item\">\n <td>\n <div class=\"drag-handle\" cdkDragHandle>\n <span class=\"bi bi-arrows-move fs-5\"></span>\n </div>\n </td>\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Text\" required\n (change)=\"textChange($event,i)\"></td>\n <td><input type=\"text\" class=\"form-control\" required formControlName=\"Value\"></td>\n <td>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Selected\"\n id=\"selected\">\n </div>\n </td>\n <td scope=\"row\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" type=\"button\" (click.stop)=\"deleteSelectOptions(i)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::NullText' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Select.NullText\">\n </div>\n <div class=\"mb-3\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Select.Multiple\" id=\"Multiple\">\n <label class=\"form-check-label\" for=\"Multiple\">\n {{'AbpDynamicForm::Multiple' | abpLocalization}}\n </label>\n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>" }]
|
|
83
103
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.DfApiService }], propDecorators: { type: [{
|
|
84
104
|
type: Input
|
|
85
105
|
}], selected: [{
|
|
@@ -90,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
90
110
|
type: ViewChild,
|
|
91
111
|
args: ['submitclick', { static: true }]
|
|
92
112
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC1jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUEwQixXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQVMvQyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLEVBQWUsRUFBVSxhQUEyQjtRQUFwRCxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWM7UUE2QmhFLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQTdCbUMsQ0FBQztJQUc1RSxJQUNXLElBQUksQ0FBQyxDQUFNO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFJRCxJQUNXLFFBQVEsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFJRCxJQUNXLE1BQU0sQ0FBQyxDQUFZO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJ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akIsSUFBSTtzQkFEZCxLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBUUssTUFBTTtzQkFEaEIsS0FBSztnQkFXc0MsV0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0Q29uZmlnIH0gZnJvbSAnLi9zZWxlY3QtY29uZmlnJztcbmltcG9ydCB7IERmQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGYtc2VsZWN0LWNvbmZpZycsXG5cbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtY29uZmlnLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbmZpZ0NvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9EZkFwaVNlcnZpY2U6IERmQXBpU2VydmljZSkge31cbiAgLyoq6KGo5Y2V5o6n5Lu257G75Z6LICovXG4gIF90eXBlOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdHlwZSh2OiBhbnkpIHtcbiAgICB0aGlzLl90eXBlID0gdjtcbiAgfVxuXG4gIC8qKumAieaLqeeahOihqOWNleS/oeaBryAqL1xuICBfc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHY7XG4gIH1cblxuICAvKirooajljZXlrp7kvZMgKi9cbiAgX0VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IEVudGl0eSh2OiBGb3JtR3JvdXApIHtcbiAgICB0aGlzLl9FbnRpdHkgPSB2O1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpO1xuICB9XG4gIGdldCBmb3JtQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fRW50aXR5LmdldCgnZm9ybUNvbmZpZ3VyYXRpb24nKSBhcyBGb3JtR3JvdXA7XG4gIH1cbiAgZ2V0IFNlbGVjdE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24uY29udHJvbHNbJ1NlbGVjdC5PcHRpb25zJ10gYXMgRm9ybUFycmF5O1xuICB9XG4gIEBWaWV3Q2hpbGQoJ3N1Ym1pdGNsaWNrJywgeyBzdGF0aWM6IHRydWUgfSkgc3VibWl0Y2xpY2s6IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgYXN5bmMgZGF0YUxvYWRlZCgpIHtcbiAgICBpZiAodGhpcy5fRW50aXR5ICYmIHRoaXMuX3R5cGUpIHtcbiAgICAgIGF3YWl0IHRoaXMuQWZ0ZXJJbml0KCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7IC8vIOaJi+WKqOinpuWPkeWPmOabtOajgOa1i1xuICAgICAgdGhpcy5zdWJtaXRjbGljaz8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcbiAgICB9XG4gIH1cbiAgLyoq5aKe5Yqg6YCJ6aG5ICovXG4gIGFkZFNlbGVjdE9wdGlvbnMoKSB7XG4gICAgdGhpcy5TZWxlY3RPcHRpb25zLnB1c2goXG4gICAgICBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgVGV4dDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgVmFsdWU6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIFNlbGVjdGVkOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgICAgfSlcbiAgICApO1xuICB9XG4gIC8qKuWIoOmZpOafkOS4qumAiemhuSAqL1xuICBkZWxldGVTZWxlY3RPcHRpb25zKGluZGV4KSB7XG4gICAgdGhpcy5TZWxlY3RPcHRpb25zLnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIEFmdGVySW5pdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIHRoaXMuX0VudGl0eS5zZXRDb250cm9sKCdmb3JtQ29uZmlndXJhdGlvbicsIHRoaXMuZmIuZ3JvdXAobmV3IFNlbGVjdENvbmZpZygpKSk7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgJiYgdGhpcy5fc2VsZWN0ZWQuZm9ybUNvbnRyb2xOYW1lID09IHRoaXMuX3R5cGUpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQuZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5PcHRpb25zJ10/LmZvckVhY2goZWwgPT4ge1xuICAgICAgICAgIHRoaXMuYWRkU2VsZWN0T3B0aW9ucygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtQ29uZmlndXJhdGlvbi5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAuLi50aGlzLl9zZWxlY3RlZC5mb3JtQ29uZmlndXJhdGlvbixcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZFNlbGVjdE9wdGlvbnMoKTtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICB0ZXh0Q2hhbmdlKGV2ZW50LCBpbmRleCkge1xuICAgIGxldCBTZWxlY3RPcHRpb25zSXRlbSA9IHRoaXMuU2VsZWN0T3B0aW9ucy5hdChpbmRleCk7XG4gICAgbGV0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIGlmIChTZWxlY3RPcHRpb25zSXRlbS5nZXQoJ1ZhbHVlJykudmFsdWUpIHJldHVybjtcbiAgICBTZWxlY3RPcHRpb25zSXRlbS5wYXRjaFZhbHVlKHtcbiAgICAgIFZhbHVlOiB0aGlzLl9EZkFwaVNlcnZpY2UuY2hpbmVzZVRvUGlueWluKHZhbHVlKSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJfRW50aXR5XCI+XG4gICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZm9ybUNvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydEaWduaXRlQWJwRm9ybXM6OlNlbGVjdExpc3RJdGVtJyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlXCI+XG4gICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj57eydEaWduaXRlQWJwRm9ybXM6OlNlbGVjdExpc3RJdGVtVGV4dCcgfCBhYnBMb2NhbGl6YXRpb259fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj57eydEaWduaXRlQWJwRm9ybXM6OlNlbGVjdExpc3RJdGVtVmFsdWUnIHwgYWJwTG9jYWxpemF0aW9ufX08L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+e3snRGlnbml0ZUFicEZvcm1zOjpTZWxlY3RlZCcgfCBhYnBMb2NhbGl6YXRpb259fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBzdHlsZT1cIndpZHRoOiAxJTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc21cIiAoY2xpY2suc3RvcCk9XCJhZGRTZWxlY3RPcHRpb25zKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcGx1cy1jaXJjbGVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgPHRib2R5IGZvcm1BcnJheU5hbWU9XCJTZWxlY3QuT3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIFNlbGVjdE9wdGlvbnMuY29udHJvbHM7bGV0IGk9aW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBbZm9ybUdyb3VwTmFtZV09XCJpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiVGV4dFwiIChjaGFuZ2UpPVwidGV4dENoYW5nZSgkZXZlbnQsaSlcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIlZhbHVlXCI+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tY2hlY2staW5saW5lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgIGZvcm1Db250cm9sTmFtZT1cIlNlbGVjdGVkXCIgaWQ9XCJzZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzY29wZT1cInJvd1wiIHN0eWxlPVwid2lkdGg6IDElO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc21cIiAoY2xpY2suc3RvcCk9XCJkZWxldGVTZWxlY3RPcHRpb25zKGkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1taW51c1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+IFxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cblxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydEaWduaXRlQWJwRm9ybXM6Ok51bGxUZXh0JyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiU2VsZWN0Lk51bGxUZXh0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwiU2VsZWN0Lk11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJNdWx0aXBsZVwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJNdWx0aXBsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eydEaWduaXRlQWJwRm9ybXM6Ok11bHRpcGxlJyB8IGFicExvY2FsaXphdGlvbn19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGFicEluaXQpPVwic3VibWl0Y2xpY2s/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKClcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCJcbiAgICAgICAgICAgICNzdWJtaXRjbGljaz48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZm9ybT4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC1jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQWEsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBUXpELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBb0IsRUFBZSxFQUFVLGFBQTJCO1FBQXBELE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQTZCaEUsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBN0JtQyxDQUFDO0lBRzVFLElBQ1csSUFBSSxDQUFDLENBQU07UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUlELElBQ1csUUFBUSxDQUFDLENBQU07UUFDeEIsSUFBSSxDQUFD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QUNyQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUs7WUFBRSxPQUFPO1FBQ2xELGlCQUFpQixDQUFDLFVBQVUsQ0FBQztZQUMzQixLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQztTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtJQUNaLElBQUksQ0FBQyxLQUFVO1FBQ2IsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUM5QyxDQUFDOzhHQTlGVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixvUENibEMsdWdIQTRETzs7MkZEL0NNLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxrQkFBa0I7MkdBVWpCLElBQUk7c0JBRGQsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQVFLLE1BQU07c0JBRGhCLEtBQUs7Z0JBV3NDLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdENvbmZpZyB9IGZyb20gJy4vc2VsZWN0LWNvbmZpZyc7XG5pbXBvcnQgeyBEZkFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGYtc2VsZWN0LWNvbmZpZycsXG5cbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtY29uZmlnLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbmZpZ0NvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9EZkFwaVNlcnZpY2U6IERmQXBpU2VydmljZSkge31cbiAgLyoq6KGo5Y2V5o6n5Lu257G75Z6LICovXG4gIF90eXBlOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdHlwZSh2OiBhbnkpIHtcbiAgICB0aGlzLl90eXBlID0gdjtcbiAgfVxuXG4gIC8qKumAieaLqeeahOihqOWNleS/oeaBryAqL1xuICBfc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHY7XG4gIH1cblxuICAvKirooajljZXlrp7kvZMgKi9cbiAgZm9ybUVudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IEVudGl0eSh2OiBGb3JtR3JvdXApIHtcbiAgICB0aGlzLmZvcm1FbnRpdHkgPSB2O1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpO1xuICB9XG4gIGdldCBmb3JtQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtRW50aXR5Py5nZXQoJ2Zvcm1Db25maWd1cmF0aW9uJykgYXMgRm9ybUdyb3VwO1xuICB9XG4gIGdldCBTZWxlY3RPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Db25maWd1cmF0aW9uLmNvbnRyb2xzWydTZWxlY3QuT3B0aW9ucyddIGFzIEZvcm1BcnJheTtcbiAgfVxuICBAVmlld0NoaWxkKCdzdWJtaXRjbGljaycsIHsgc3RhdGljOiB0cnVlIH0pIHN1Ym1pdGNsaWNrOiBFbGVtZW50UmVmO1xuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIGFzeW5jIGRhdGFMb2FkZWQoKSB7XG4gICAgaWYgKHRoaXMuZm9ybUVudGl0eSAmJiB0aGlzLl90eXBlKSB7XG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpO1xuICAgIH1cbiAgfVxuICAvKirlop7liqDpgInpobkgKi9cbiAgYWRkU2VsZWN0T3B0aW9ucygpIHtcbiAgICB0aGlzLlNlbGVjdE9wdGlvbnMucHVzaChcbiAgICAgIG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBUZXh0OiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBWYWx1ZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgU2VsZWN0ZWQ6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIC8qKuWIoOmZpOafkOS4qumAiemhuSAqL1xuICBkZWxldGVTZWxlY3RPcHRpb25zKGluZGV4KSB7XG4gICAgdGhpcy5TZWxlY3RPcHRpb25zLnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIEFmdGVySW5pdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIHRoaXMuZm9ybUVudGl0eT8uc2V0Q29udHJvbCgnZm9ybUNvbmZpZ3VyYXRpb24nLCB0aGlzLmZiLmdyb3VwKG5ldyBTZWxlY3RDb25maWcoKSkpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyAvLyDmiYvliqjop6blj5Hlj5jmm7Tmo4DmtYtcbiAgICAgIHRoaXMuc3VibWl0Y2xpY2s/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgJiYgdGhpcy5fc2VsZWN0ZWQuZm9ybUNvbnRyb2xOYW1lID09IHRoaXMuX3R5cGUpIHtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuX3NlbGVjdGVkLmZvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuT3B0aW9ucyddKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGVsZW1lbnRba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IGNhcGl0YWxpemVkS2V5ID0ga2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnNsaWNlKDEpO1xuICAgICAgICAgICAgZWxlbWVudFtjYXBpdGFsaXplZEtleV0gPSBpdGVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmFkZFNlbGVjdE9wdGlvbnMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIC4uLnRoaXMuX3NlbGVjdGVkLmZvcm1Db25maWd1cmF0aW9uLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkU2VsZWN0T3B0aW9ucygpO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlvZPpgInmi6npobnnmoTmlofmnKzlj5HnlJ/lj5jljJbml7bvvIzmm7TmlrDlr7nlupTnmoTlgLxcbiAgICogQHBhcmFtIGV2ZW50IOi+k+WFpeS6i+S7tuWvueixoVxuICAgKiBAcGFyYW0gaW5kZXgg6YCJ5oup6aG555qE57Si5byV5L2N572uXG4gICAqIEBkZXNjcmlwdGlvbiDlpoLmnpzpgInmi6npobnlt7LmnIlWYWx1ZeWAvOWImeS4jeWkhOeQhu+8jOWQpuWImeWwhuS4reaWh+aWh+acrOi9rOaNouS4uuaLvOmfs+S9nOS4ulZhbHVl5YC8XG4gICAqL1xuICB0ZXh0Q2hhbmdlKGV2ZW50LCBpbmRleCkge1xuICAgIGNvbnN0IFNlbGVjdE9wdGlvbnNJdGVtID0gdGhpcy5TZWxlY3RPcHRpb25zLmF0KGluZGV4KTtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICBpZiAoU2VsZWN0T3B0aW9uc0l0ZW0uZ2V0KCdWYWx1ZScpPy52YWx1ZSkgcmV0dXJuO1xuICAgIFNlbGVjdE9wdGlvbnNJdGVtLnBhdGNoVmFsdWUoe1xuICAgICAgVmFsdWU6IHN0cnVjdHVyZWRDbG9uZSh2YWx1ZSksXG4gICAgfSk7XG4gIH1cblxuICAvKirosIPmlbTooajmoLzkvY3nva4gKi9cbiAgZHJvcChldmVudDogYW55KSB7XG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuU2VsZWN0T3B0aW9ucy5jb250cm9scywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLlNlbGVjdE9wdGlvbnMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1FbnRpdHlcIj5cbiAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJmb3JtQ29uZmlndXJhdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7J0FicER5bmFtaWNGb3JtOjpTZWxlY3RMaXN0SXRlbScgfCBhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XG4gICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBkcmFnLXRhYmxlXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj57eydBYnBEeW5hbWljRm9ybTo6U2VsZWN0TGlzdEl0ZW1UZXh0JyB8IGFicExvY2FsaXphdGlvbn19PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPnt7J0FicER5bmFtaWNGb3JtOjpTZWxlY3RMaXN0SXRlbVZhbHVlJyB8IGFicExvY2FsaXphdGlvbn19PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPnt7J0FicER5bmFtaWNGb3JtOjpTZWxlY3RlZCcgfCBhYnBMb2NhbGl6YXRpb259fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBzdHlsZT1cIndpZHRoOiAxJTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc21cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrLnN0b3ApPVwiYWRkU2VsZWN0T3B0aW9ucygpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBsdXMtY2lyY2xlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgIDx0Ym9keSBmb3JtQXJyYXlOYW1lPVwiU2VsZWN0Lk9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBTZWxlY3RPcHRpb25zLmNvbnRyb2xzO2xldCBpPWluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiIGNka0RyYWcgY2RrRHJhZ0xvY2tBeGlzPVwieVwiIFtjZGtEcmFnRGF0YV09XCJpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJhZy1oYW5kbGVcIiBjZGtEcmFnSGFuZGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiaSBiaS1hcnJvd3MtbW92ZSBmcy01XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIlRleHRcIiByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0ZXh0Q2hhbmdlKCRldmVudCxpKVwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPVwiVmFsdWVcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiAgZm9ybUNvbnRyb2xOYW1lPVwiU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc2NvcGU9XCJyb3dcIiBzdHlsZT1cIndpZHRoOiAxJTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtXCIgdHlwZT1cImJ1dHRvblwiICAoY2xpY2suc3RvcCk9XCJkZWxldGVTZWxlY3RPcHRpb25zKGkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1taW51c1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydBYnBEeW5hbWljRm9ybTo6TnVsbFRleHQnIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJTZWxlY3QuTnVsbFRleHRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJTZWxlY3QuTXVsdGlwbGVcIiBpZD1cIk11bHRpcGxlXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cIk11bHRpcGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7J0FicER5bmFtaWNGb3JtOjpNdWx0aXBsZScgfCBhYnBMb2NhbGl6YXRpb259fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChhYnBJbml0KT1cInN1Ym1pdGNsaWNrPy5uYXRpdmVFbGVtZW50Py5jbGljaygpXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiXG4gICAgICAgICAgICAjc3VibWl0Y2xpY2s+PC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Zvcm0+Il19
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import { FormArray } from "@angular/forms";
|
|
2
2
|
export class SelectConfig {
|
|
3
|
-
constructor(
|
|
3
|
+
constructor() {
|
|
4
4
|
/**空值文本 */
|
|
5
|
-
this['Select.NullText'] = [''
|
|
5
|
+
this['Select.NullText'] = [''];
|
|
6
6
|
//多选
|
|
7
|
-
this['Select.Multiple'] = [false
|
|
7
|
+
this['Select.Multiple'] = [false];
|
|
8
8
|
// 选项
|
|
9
9
|
this['Select.Options'] = new FormArray([]);
|
|
10
|
-
if (data) {
|
|
11
|
-
for (const key in data) {
|
|
12
|
-
if (data.hasOwnProperty(key)) {
|
|
13
|
-
this[key] = data[key];
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
10
|
}
|
|
18
11
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWxlY3Qvc2VsZWN0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsTUFBTSxPQUFPLFlBQVk7SUFBekI7UUFHSSxVQUFVO1FBQ1YsdUJBQWlCLEdBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixJQUFJO1FBQ0osdUJBQWlCLEdBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxLQUFLO1FBQ0wsc0JBQWdCLEdBQVEsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7SUFHN0MsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5fSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb25maWcge1xyXG5cclxuXHJcbiAgICAvKirnqbrlgLzmlofmnKwgKi9cclxuICAgICdTZWxlY3QuTnVsbFRleHQnOiBhbnkgPSBbJyddO1xyXG4gICAgLy/lpJrpgIlcclxuICAgICdTZWxlY3QuTXVsdGlwbGUnOiBhbnkgPSBbZmFsc2VdO1xyXG4gICAgLy8g6YCJ6aG5XHJcbiAgICAnU2VsZWN0Lk9wdGlvbnMnOiBhbnkgPSBuZXcgRm9ybUFycmF5KFtdKVxyXG5cclxuICAgXHJcbn0iXX0=
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
2
|
+
import { ChangeDetectorRef, Component, ElementRef, inject, Input, ViewChild } from '@angular/core';
|
|
3
|
+
import { FormBuilder, Validators } from '@angular/forms';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/forms";
|
|
5
6
|
import * as i2 from "@angular/common";
|
|
6
7
|
import * as i3 from "@ngx-validate/core";
|
|
8
|
+
import * as i4 from "ng-zorro-antd/select";
|
|
7
9
|
export class SelectControlComponent {
|
|
8
10
|
constructor(fb) {
|
|
9
11
|
this.fb = fb;
|
|
10
12
|
/**字段配置列表 */
|
|
11
13
|
this._fields = '';
|
|
14
|
+
/**父级字段名称,用于为表单设置控件赋值 */
|
|
15
|
+
this._selected = [];
|
|
12
16
|
this.cdr = inject(ChangeDetectorRef);
|
|
13
17
|
this.formConfiguration = '';
|
|
14
18
|
}
|
|
@@ -19,14 +23,14 @@ export class SelectControlComponent {
|
|
|
19
23
|
this._parentFiledName = v;
|
|
20
24
|
}
|
|
21
25
|
set selected(v) {
|
|
22
|
-
this._selected = v;
|
|
26
|
+
this._selected = v || [];
|
|
23
27
|
}
|
|
24
28
|
set entity(v) {
|
|
25
29
|
this._entity = v;
|
|
26
30
|
this.dataLoaded();
|
|
27
31
|
}
|
|
28
32
|
get extraProperties() {
|
|
29
|
-
return this._entity
|
|
33
|
+
return this._entity?.get('extraProperties');
|
|
30
34
|
}
|
|
31
35
|
/**数据加载完成 */
|
|
32
36
|
async dataLoaded() {
|
|
@@ -38,24 +42,28 @@ export class SelectControlComponent {
|
|
|
38
42
|
}
|
|
39
43
|
AfterInit() {
|
|
40
44
|
return new Promise((resolve, rejects) => {
|
|
41
|
-
|
|
45
|
+
const ValidatorsArray = [];
|
|
42
46
|
if (this._fields.required) {
|
|
43
47
|
ValidatorsArray.push(Validators.required);
|
|
44
48
|
}
|
|
45
49
|
this.formConfiguration = this._fields.field.formConfiguration;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
const isMultiple = this.formConfiguration['Select.Multiple'];
|
|
51
|
+
let selectValue = isMultiple ? [] : [];
|
|
52
|
+
for (const element of this.formConfiguration['Select.Options']) {
|
|
53
|
+
for (const key in element) {
|
|
54
|
+
const item = element[key];
|
|
55
|
+
const capitalizedKey = key.charAt(0).toUpperCase() + key.slice(1);
|
|
56
|
+
element[capitalizedKey] = item;
|
|
57
|
+
}
|
|
58
|
+
if (!this._selected) {
|
|
59
|
+
if (Array.isArray(this._selected) && element.Selected && this._selected.length === 0) {
|
|
60
|
+
selectValue = isMultiple ? [...selectValue, element.Value] : [element.Value];
|
|
61
|
+
this._selected = selectValue;
|
|
54
62
|
}
|
|
55
|
-
}
|
|
56
|
-
this._selected = selectValue;
|
|
63
|
+
}
|
|
57
64
|
}
|
|
58
|
-
|
|
65
|
+
// this._selected = selectValue;
|
|
66
|
+
const newControl = this.fb.control(this._selected, ValidatorsArray);
|
|
59
67
|
this.extraProperties.setControl(this._fields.field.name, newControl);
|
|
60
68
|
resolve(true);
|
|
61
69
|
});
|
|
@@ -66,11 +74,11 @@ export class SelectControlComponent {
|
|
|
66
74
|
this.extraProperties.removeControl(this._fields.field.name);
|
|
67
75
|
}
|
|
68
76
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SelectControlComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: SelectControlComponent, selector: "df-select-control", inputs: { fields: "fields", parentFiledName: "parentFiledName", selected: "selected", entity: "entity" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-3\">\n <label class=\"form-label\"
|
|
77
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: SelectControlComponent, selector: "df-select-control", inputs: { fields: "fields", parentFiledName: "parentFiledName", selected: "selected", entity: "entity" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\" class=\"selectcontrol\">\n <div class=\"mb-3\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ng-container *ngIf=\"formConfiguration['Select.Multiple']; else elseTemplate\">\n <nz-select class=\"form-select dignite-form-select\" [nzMaxTagCount]=\"1\"\n nzShowSearch nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Select.NullText']\"\n formControlName=\"{{_fields.field.name}}\" [nzDropdownMatchSelectWidth]=\"true\" [nzDropdownClassName]=\"'dignite-form-select-dropdown'\">\n <nz-option *ngFor=\"let item of _fields?.field?.formConfiguration['Select.Options']\"\n [nzLabel]=\"item.Text\" [nzValue]=\"item.Value\"></nz-option>\n </nz-select>\n </ng-container>\n <ng-template #elseTemplate>\n <select class=\"form-select\" [multiple]=\"false\" formControlName=\"{{_fields.field.name}}\">\n <option [value]=\"''\">{{formConfiguration['Select.NullText']}}</option>\n <ng-container *ngFor=\"let item of _fields?.field?.formConfiguration['Select.Options'];let i =index\">\n <option [value]=\"item.Value\">{{item.Text}}</option>\n </ng-container>\n </select>\n </ng-template>\n <small class=\"form-text text-muted d-block\"\n *ngIf=\"_fields.field.description\">{{_fields.field.description}}</small>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i3.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }] }); }
|
|
70
78
|
}
|
|
71
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SelectControlComponent, decorators: [{
|
|
72
80
|
type: Component,
|
|
73
|
-
args: [{ selector: 'df-select-control', template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-3\">\n <label class=\"form-label\"
|
|
81
|
+
args: [{ selector: 'df-select-control', template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\" class=\"selectcontrol\">\n <div class=\"mb-3\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ng-container *ngIf=\"formConfiguration['Select.Multiple']; else elseTemplate\">\n <nz-select class=\"form-select dignite-form-select\" [nzMaxTagCount]=\"1\"\n nzShowSearch nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Select.NullText']\"\n formControlName=\"{{_fields.field.name}}\" [nzDropdownMatchSelectWidth]=\"true\" [nzDropdownClassName]=\"'dignite-form-select-dropdown'\">\n <nz-option *ngFor=\"let item of _fields?.field?.formConfiguration['Select.Options']\"\n [nzLabel]=\"item.Text\" [nzValue]=\"item.Value\"></nz-option>\n </nz-select>\n </ng-container>\n <ng-template #elseTemplate>\n <select class=\"form-select\" [multiple]=\"false\" formControlName=\"{{_fields.field.name}}\">\n <option [value]=\"''\">{{formConfiguration['Select.NullText']}}</option>\n <ng-container *ngFor=\"let item of _fields?.field?.formConfiguration['Select.Options'];let i =index\">\n <option [value]=\"item.Value\">{{item.Text}}</option>\n </ng-container>\n </select>\n </ng-template>\n <small class=\"form-text text-muted d-block\"\n *ngIf=\"_fields.field.description\">{{_fields.field.description}}</small>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>" }]
|
|
74
82
|
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { fields: [{
|
|
75
83
|
type: Input
|
|
76
84
|
}], parentFiledName: [{
|
|
@@ -83,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
83
91
|
type: ViewChild,
|
|
84
92
|
args: ['submitclick', { static: true }]
|
|
85
93
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFPcEUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUVuQyxZQUFZO1FBQ1osWUFBTyxHQUFRLEVBQUUsQ0FBQztRQStCVixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFVeEMsc0JBQWlCLEdBQVEsRUFBRSxDQUFDO0lBNUNVLENBQUM7SUFJdkMsSUFDVyxNQUFNLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBSUQsSUFDVyxlQUFlLENBQUMsQ0FBTTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFHRCxJQUNXLFFBQVEsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFJRCxJQUNXLE1BQU0sQ0FBQyxDQUFNO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxD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WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RmLXNlbGVjdC1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29udHJvbENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxuXG4gIC8qKuWtl+autemFjee9ruWIl+ihqCAqL1xuICBfZmllbGRzOiBhbnkgPSAnJztcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmaWVsZHModjogYW55KSB7XG4gICAgdGhpcy5fZmllbGRzID0gdjtcbiAgfVxuXG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfcGFyZW50RmlsZWROYW1lOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFyZW50RmlsZWROYW1lKHY6IGFueSkge1xuICAgIHRoaXMuX3BhcmVudEZpbGVkTmFtZSA9IHY7XG4gIH1cbiAgLyoq54i257qn5a2X5q615ZCN56ew77yM55So5LqO5Li66KGo5Y2V6K6+572u5o6n5Lu26LWL5YC8ICovXG4gIF9zZWxlY3RlZDogYW55O1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHY6IGFueSkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdjtcbiAgfVxuXG4gIC8qKuihqOWNleWunuS9kyAqL1xuICBfZW50aXR5OiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW50aXR5KHY6IGFueSkge1xuICAgIHRoaXMuX2VudGl0eSA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKCk7XG4gIH1cbiAgQFZpZXdDaGlsZCgnc3VibWl0Y2xpY2snLCB7IHN0YXRpYzogdHJ1ZSB9KSBzdWJtaXRjbGljazogRWxlbWVudFJlZjtcblxuICBnZXQgZXh0cmFQcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdHkuZ2V0KCdleHRyYVByb3BlcnRpZXMnKSBhcyBGb3JtR3JvdXA7XG4gIH1cbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAvKirmlbDmja7liqDovb3lrozmiJAgKi9cbiAgYXN5bmMgZGF0YUxvYWRlZCgpIHtcbiAgICBpZiAodGhpcy5fZmllbGRzICYmIHRoaXMuX2VudGl0eSkge1xuICAgICAgYXdhaXQgdGhpcy5BZnRlckluaXQoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8g5omL5Yqo6Kem5Y+R5Y+Y5pu05qOA5rWLXG4gICAgICB0aGlzLnN1Ym1pdGNsaWNrPy5uYXRpdmVFbGVtZW50Py5jbGljaygpO1xuICAgIH1cbiAgfVxuIFxuICBmb3JtQ29uZmlndXJhdGlvbjogYW55ID0gJyc7XG4gIEFmdGVySW5pdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIGxldCBWYWxpZGF0b3JzQXJyYXkgPSBbXTtcbiAgICAgIGlmICh0aGlzLl9maWVsZHMucmVxdWlyZWQpIHtcbiAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uID0gdGhpcy5fZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uO1xuICAgICAgaWYgKCF0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICBjb25zdCBpc011bHRpcGxlID0gdGhpcy5mb3JtQ29uZmlndXJhdGlvblsnU2VsZWN0Lk11bHRpcGxlJ107XG5cbiAgICAgICAgbGV0IHNlbGVjdFZhbHVlID0gaXNNdWx0aXBsZSA/IFtdIDogJyc7XG4gICAgICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5PcHRpb25zJ10uZm9yRWFjaChlbCA9PiB7XG4gICAgICAgICAgaWYgKGVsLlNlbGVjdGVkKSB7XG4gICAgICAgICAgICBzZWxlY3RWYWx1ZSA9IGlzTXVsdGlwbGVcbiAgICAgICAgICAgICAgPyBbLi4uc2VsZWN0VmFsdWUsIGVsLnZhbHVlIHx8IGVsLlZhbHVlXVxuICAgICAgICAgICAgICA6IFtlbC52YWx1ZSB8fCBlbC5WYWx1ZV07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdFZhbHVlO1xuICAgICAgfVxuICAgICAgbGV0IG5ld0NvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2wodGhpcy5fc2VsZWN0ZWQsIFZhbGlkYXRvcnNBcnJheSk7XG4gICAgICB0aGlzLmV4dHJhUHJvcGVydGllcy5zZXRDb250cm9sKHRoaXMuX2ZpZWxkcy5maWVsZC5uYW1lLCBuZXdDb250cm9sKTtcbiAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgfSk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy9DYWxsZWQgb25jZSwgYmVmb3JlIHRoZSBpbnN0YW5jZSBpcyBkZXN0cm95ZWQuXG4gICAgLy9BZGQgJ2ltcGxlbWVudHMgT25EZXN0cm95JyB0byB0aGUgY2xhc3MuXG4gICAgdGhpcy5leHRyYVByb3BlcnRpZXMucmVtb3ZlQ29udHJvbCh0aGlzLl9maWVsZHMuZmllbGQubmFtZSk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiX2VudGl0eVwiPlxuICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cImV4dHJhUHJvcGVydGllc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiICAqbmdJZj1cIl9maWVsZHMuZGlzcGxheU5hbWVcIj57eyBfZmllbGRzLmRpc3BsYXlOYW1lIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtQ29uZmlndXJhdGlvblsnU2VsZWN0Lk11bHRpcGxlJ107IGVsc2UgZWxzZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgbXVsdGlwbGUgZm9ybUNvbnRyb2xOYW1lPVwie3tfZmllbGRzLmZpZWxkLm5hbWV9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5PcHRpb25zJ107bGV0IGkgPWluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJpdGVtLlZhbHVlXCI+e3tpdGVtLlRleHR9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwie3tfZmllbGRzLmZpZWxkLm5hbWV9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPnt7Zm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5OdWxsVGV4dCddfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuT3B0aW9ucyddO2xldCBpID1pbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiaXRlbS5WYWx1ZVwiID57e2l0ZW0uVGV4dH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LW11dGVkIGQtYmxvY2tcIiAqbmdJZj1cIl9maWVsZHMuZmllbGQuZGVzY3JpcHRpb25cIj57e19maWVsZHMuZmllbGQuZGVzY3JpcHRpb259fTwvc21hbGw+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiICNzdWJtaXRjbGljaz48L2J1dHRvbj5cbjwvZm9ybT4iXX0=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFPcEUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUVuQyxZQUFZO1FBQ1osWUFBTyxHQUFRLEVBQUUsQ0FBQztRQVlsQix3QkFBd0I7UUFDeEIsY0FBUyxHQUFNLEVBQUUsQ0FBQztRQWtCVixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFVeEMsc0JBQWlCLEdBQVEsRUFBRSxDQUFDO0lBNUNVLENBQUM7SUFJdkMsSUFDVyxNQUFNLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBSUQsSUFDVyxlQUFlLENBQUMsQ0FBTTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFHRCxJQUNXLFFBQVEsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcs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QVc7UUFDVCxnREFBZ0Q7UUFDaEQsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7OEdBOUVVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZSQ1RuQyx5dURBMEJPOzsyRkRqQk0sc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG1CQUFtQjtnRkFVbEIsTUFBTTtzQkFEaEIsS0FBSztnQkFRSyxlQUFlO3NCQUR6QixLQUFLO2dCQU9LLFFBQVE7c0JBRGxCLEtBQUs7Z0JBUUssTUFBTTtzQkFEaEIsS0FBSztnQkFLc0MsV0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RmLXNlbGVjdC1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxuXG4gIC8qKuWtl+autemFjee9ruWIl+ihqCAqL1xuICBfZmllbGRzOiBhbnkgPSAnJztcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmaWVsZHModjogYW55KSB7XG4gICAgdGhpcy5fZmllbGRzID0gdjtcbiAgfVxuXG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfcGFyZW50RmlsZWROYW1lOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFyZW50RmlsZWROYW1lKHY6IGFueSkge1xuICAgIHRoaXMuX3BhcmVudEZpbGVkTmFtZSA9IHY7XG4gIH1cbiAgLyoq54i257qn5a2X5q615ZCN56ew77yM55So5LqO5Li66KGo5Y2V6K6+572u5o6n5Lu26LWL5YC8ICovXG4gIF9zZWxlY3RlZDogYW55PVtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHY6IGFueSkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdnx8W107XG4gIH1cblxuICAvKirooajljZXlrp7kvZMgKi9cbiAgX2VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVudGl0eSh2OiBhbnkpIHtcbiAgICB0aGlzLl9lbnRpdHkgPSB2O1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpO1xuICB9XG4gIEBWaWV3Q2hpbGQoJ3N1Ym1pdGNsaWNrJywgeyBzdGF0aWM6IHRydWUgfSkgc3VibWl0Y2xpY2s6IEVsZW1lbnRSZWY7XG5cbiAgZ2V0IGV4dHJhUHJvcGVydGllcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXR5Py5nZXQoJ2V4dHJhUHJvcGVydGllcycpIGFzIEZvcm1Hcm91cDtcbiAgfVxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIC8qKuaVsOaNruWKoOi9veWujOaIkCAqL1xuICBhc3luYyBkYXRhTG9hZGVkKCkge1xuICAgIGlmICh0aGlzLl9maWVsZHMgJiYgdGhpcy5fZW50aXR5KSB7XG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyAvLyDmiYvliqjop6blj5Hlj5jmm7Tmo4DmtYtcbiAgICAgIHRoaXMuc3VibWl0Y2xpY2s/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgZm9ybUNvbmZpZ3VyYXRpb246IGFueSA9ICcnO1xuICBBZnRlckluaXQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3RzKSA9PiB7XG4gICAgICBjb25zdCBWYWxpZGF0b3JzQXJyYXk6IGFueVtdID0gW107XG4gICAgICBpZiAodGhpcy5fZmllbGRzLnJlcXVpcmVkKSB7XG4gICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgfVxuICAgICAgdGhpcy5mb3JtQ29uZmlndXJhdGlvbiA9IHRoaXMuX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvbjtcbiAgICAgIGNvbnN0IGlzTXVsdGlwbGUgPSB0aGlzLmZvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuTXVsdGlwbGUnXTtcbiAgICAgIGxldCBzZWxlY3RWYWx1ZTogYW55ID0gaXNNdWx0aXBsZSA/IFtdIDogW107XG4gICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGhpcy5mb3JtQ29uZmlndXJhdGlvblsnU2VsZWN0Lk9wdGlvbnMnXSkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlbGVtZW50KSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IGVsZW1lbnRba2V5XTtcbiAgICAgICAgICBjb25zdCBjYXBpdGFsaXplZEtleSA9IGtleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKTtcbiAgICAgICAgICBlbGVtZW50W2NhcGl0YWxpemVkS2V5XSA9IGl0ZW07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX3NlbGVjdGVkKSAmJiBlbGVtZW50LlNlbGVjdGVkICYmIHRoaXMuX3NlbGVjdGVkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2VsZWN0VmFsdWUgPSBpc011bHRpcGxlID8gWy4uLnNlbGVjdFZhbHVlLCBlbGVtZW50LlZhbHVlXSA6IFtlbGVtZW50LlZhbHVlXTtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gc2VsZWN0VmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdFZhbHVlO1xuICAgICAgY29uc3QgbmV3Q29udHJvbCA9IHRoaXMuZmIuY29udHJvbCh0aGlzLl9zZWxlY3RlZCwgVmFsaWRhdG9yc0FycmF5KTtcbiAgICAgIHRoaXMuZXh0cmFQcm9wZXJ0aWVzLnNldENvbnRyb2wodGhpcy5fZmllbGRzLmZpZWxkLm5hbWUsIG5ld0NvbnRyb2wpO1xuICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICB9KTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvL0NhbGxlZCBvbmNlLCBiZWZvcmUgdGhlIGluc3RhbmNlIGlzIGRlc3Ryb3llZC5cbiAgICAvL0FkZCAnaW1wbGVtZW50cyBPbkRlc3Ryb3knIHRvIHRoZSBjbGFzcy5cbiAgICB0aGlzLmV4dHJhUHJvcGVydGllcy5yZW1vdmVDb250cm9sKHRoaXMuX2ZpZWxkcy5maWVsZC5uYW1lKTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJfZW50aXR5XCI+XG4gICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZXh0cmFQcm9wZXJ0aWVzXCIgY2xhc3M9XCJzZWxlY3Rjb250cm9sXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJfZmllbGRzLmRpc3BsYXlOYW1lXCI+e3sgX2ZpZWxkcy5kaXNwbGF5TmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5NdWx0aXBsZSddOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxuei1zZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBkaWduaXRlLWZvcm0tc2VsZWN0XCIgW256TWF4VGFnQ291bnRdPVwiMVwiXG4gICAgICAgICAgICAgICAgICAgIG56U2hvd1NlYXJjaCBuek1vZGU9XCJtdWx0aXBsZVwiICBbbnpQbGFjZUhvbGRlcl09XCJfZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuTnVsbFRleHQnXVwiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7X2ZpZWxkcy5maWVsZC5uYW1lfX1cIiBbbnpEcm9wZG93bk1hdGNoU2VsZWN0V2lkdGhdPVwidHJ1ZVwiIFtuekRyb3Bkb3duQ2xhc3NOYW1lXT1cIidkaWduaXRlLWZvcm0tc2VsZWN0LWRyb3Bkb3duJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8bnotb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9maWVsZHM/LmZpZWxkPy5mb3JtQ29uZmlndXJhdGlvblsnU2VsZWN0Lk9wdGlvbnMnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbnpMYWJlbF09XCJpdGVtLlRleHRcIiBbbnpWYWx1ZV09XCJpdGVtLlZhbHVlXCI+PC9uei1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9uei1zZWxlY3Q+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIFttdWx0aXBsZV09XCJmYWxzZVwiIGZvcm1Db250cm9sTmFtZT1cInt7X2ZpZWxkcy5maWVsZC5uYW1lfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiJydcIj57e2Zvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuTnVsbFRleHQnXX19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2ZpZWxkcz8uZmllbGQ/LmZvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuT3B0aW9ucyddO2xldCBpID1pbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiaXRlbS5WYWx1ZVwiPnt7aXRlbS5UZXh0fX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtbXV0ZWQgZC1ibG9ja1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJfZmllbGRzLmZpZWxkLmRlc2NyaXB0aW9uXCI+e3tfZmllbGRzLmZpZWxkLmRlc2NyaXB0aW9ufX08L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiAjc3VibWl0Y2xpY2s+PC9idXR0b24+XG48L2Zvcm0+Il19
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
2
|
+
import { ChangeDetectorRef, Component, ElementRef, inject, Input, ViewChild } from '@angular/core';
|
|
3
|
+
import { FormBuilder } from '@angular/forms';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@ngx-validate/core";
|
|
8
|
+
import * as i4 from "ng-zorro-antd/select";
|
|
9
|
+
export class SelectSearchComponent {
|
|
10
|
+
constructor(fb) {
|
|
11
|
+
this.fb = fb;
|
|
12
|
+
/**字段配置列表 */
|
|
13
|
+
this._fields = '';
|
|
14
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
15
|
+
this.formConfiguration = '';
|
|
16
|
+
}
|
|
17
|
+
set fields(v) {
|
|
18
|
+
this._fields = v;
|
|
19
|
+
}
|
|
20
|
+
set parentFiledName(v) {
|
|
21
|
+
this._parentFiledName = v;
|
|
22
|
+
}
|
|
23
|
+
set selected(v) {
|
|
24
|
+
this._selected = v;
|
|
25
|
+
}
|
|
26
|
+
set entity(v) {
|
|
27
|
+
this._entity = v;
|
|
28
|
+
this.dataLoaded();
|
|
29
|
+
}
|
|
30
|
+
get extraProperties() {
|
|
31
|
+
return this._entity?.get('extraProperties');
|
|
32
|
+
}
|
|
33
|
+
/**数据加载完成 */
|
|
34
|
+
async dataLoaded() {
|
|
35
|
+
if (this._fields && this._entity) {
|
|
36
|
+
await this.AfterInit();
|
|
37
|
+
this.cdr.detectChanges(); // 手动触发变更检测
|
|
38
|
+
this.submitclick?.nativeElement?.click();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
AfterInit() {
|
|
42
|
+
return new Promise((resolve, rejects) => {
|
|
43
|
+
const ValidatorsArray = [];
|
|
44
|
+
this.formConfiguration = this._fields.field.formConfiguration;
|
|
45
|
+
const isMultiple = this.formConfiguration['Select.Multiple'];
|
|
46
|
+
const selectValue = isMultiple ? [] : [];
|
|
47
|
+
for (const element of this.formConfiguration['Select.Options']) {
|
|
48
|
+
for (const key in element) {
|
|
49
|
+
const item = element[key];
|
|
50
|
+
const capitalizedKey = key.charAt(0).toUpperCase() + key.slice(1);
|
|
51
|
+
element[capitalizedKey] = item;
|
|
52
|
+
}
|
|
53
|
+
// if (this._selected) {
|
|
54
|
+
// if (Array.isArray(this._selected) && element.Selected && this._selected.length === 0) {
|
|
55
|
+
// selectValue = isMultiple ? [...selectValue, element.Value] : [element.Value];
|
|
56
|
+
// }
|
|
57
|
+
// }
|
|
58
|
+
}
|
|
59
|
+
this._selected = selectValue;
|
|
60
|
+
const newControl = this.fb.control(this._selected, ValidatorsArray);
|
|
61
|
+
this.extraProperties.setControl(this._fields.field.name, newControl);
|
|
62
|
+
resolve(true);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
changeValue(event) {
|
|
66
|
+
const selectvalue = this.extraProperties.get(this._fields.field.name).value;
|
|
67
|
+
if (selectvalue[0] === '') {
|
|
68
|
+
this.extraProperties.get(this._fields.field.name).setValue([]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
ngOnDestroy() {
|
|
72
|
+
//Called once, before the instance is destroyed.
|
|
73
|
+
//Add 'implements OnDestroy' to the class.
|
|
74
|
+
this.extraProperties.removeControl(this._fields.field.name);
|
|
75
|
+
}
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SelectSearchComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: SelectSearchComponent, selector: "df-select-search", inputs: { fields: "fields", parentFiledName: "parentFiledName", selected: "selected", entity: "entity" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\r\n <div formGroupName=\"extraProperties\" class=\"selectcontrol\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\r\n <ng-container *ngIf=\"formConfiguration['Select.Multiple']; else elseTemplate\">\r\n <nz-select class=\"form-select dignite-form-select\" [nzMaxTagCount]=\"1\"\r\n nzShowSearch nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Select.NullText']\"\r\n formControlName=\"{{_fields.field.name}}\" [nzDropdownMatchSelectWidth]=\"true\" [nzDropdownClassName]=\"'dignite-form-select-dropdown'\">\r\n <nz-option *ngFor=\"let item of _fields?.field?.formConfiguration['Select.Options']\"\r\n [nzLabel]=\"item.Text\" [nzValue]=\"item.Value\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <select class=\"form-select\" [multiple]=\"false\" [placeholder]=\"formConfiguration['Select.NullText']\" formControlName=\"{{_fields.field.name}}\" (change)=\"changeValue($event)\">\r\n <option [value]=\"''\">{{formConfiguration['Select.NullText']}}</option>\r\n <ng-container *ngFor=\"let item of _fields?.field?.formConfiguration['Select.Options'];let i =index\">\r\n <option [value]=\"item.Value\">{{item.Text}}</option>\r\n </ng-container>\r\n </select>\r\n </ng-template>\r\n <!-- <small class=\"form-text text-muted d-block\"\r\n *ngIf=\"_fields.field.description\">{{_fields.field.description}}</small> -->\r\n </div>\r\n\r\n </div>\r\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\r\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i3.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }] }); }
|
|
78
|
+
}
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SelectSearchComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ selector: 'df-select-search', template: "<form [formGroup]=\"_entity\">\r\n <div formGroupName=\"extraProperties\" class=\"selectcontrol\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\r\n <ng-container *ngIf=\"formConfiguration['Select.Multiple']; else elseTemplate\">\r\n <nz-select class=\"form-select dignite-form-select\" [nzMaxTagCount]=\"1\"\r\n nzShowSearch nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Select.NullText']\"\r\n formControlName=\"{{_fields.field.name}}\" [nzDropdownMatchSelectWidth]=\"true\" [nzDropdownClassName]=\"'dignite-form-select-dropdown'\">\r\n <nz-option *ngFor=\"let item of _fields?.field?.formConfiguration['Select.Options']\"\r\n [nzLabel]=\"item.Text\" [nzValue]=\"item.Value\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <select class=\"form-select\" [multiple]=\"false\" [placeholder]=\"formConfiguration['Select.NullText']\" formControlName=\"{{_fields.field.name}}\" (change)=\"changeValue($event)\">\r\n <option [value]=\"''\">{{formConfiguration['Select.NullText']}}</option>\r\n <ng-container *ngFor=\"let item of _fields?.field?.formConfiguration['Select.Options'];let i =index\">\r\n <option [value]=\"item.Value\">{{item.Text}}</option>\r\n </ng-container>\r\n </select>\r\n </ng-template>\r\n <!-- <small class=\"form-text text-muted d-block\"\r\n *ngIf=\"_fields.field.description\">{{_fields.field.description}}</small> -->\r\n </div>\r\n\r\n </div>\r\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\r\n</form>" }]
|
|
82
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { fields: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], parentFiledName: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], selected: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], entity: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], submitclick: [{
|
|
91
|
+
type: ViewChild,
|
|
92
|
+
args: ['submitclick', { static: true }]
|
|
93
|
+
}] } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU94RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBRW5DLFlBQVk7UUFDWixZQUFPLEdBQVEsRUFBRSxDQUFDO1FBK0JWLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQVV4QyxzQkFBaUIsR0FBUSxFQUFFLENBQUM7SUE1Q1UsQ0FBQztJQUl2QyxJQUNXLE1BQU0sQ0FBQyxDQUFNO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFJRCxJQUNXLGVBQWUsQ0FBQyxDQUFNO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUdELElBQ1csUUFBUSxDQUFDLENBQU07UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUlELElBQ1csTUFBTSxDQUFDLENBQU07UUFDdEIs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VSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw0UkNUbEMsZzREQTBCTzs7MkZEakJNLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7Z0ZBVWpCLE1BQU07c0JBRGhCLEtBQUs7Z0JBUUssZUFBZTtzQkFEekIsS0FBSztnQkFPSyxRQUFRO3NCQURsQixLQUFLO2dCQVFLLE1BQU07c0JBRGhCLEtBQUs7Z0JBS3NDLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RmLXNlbGVjdC1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2VsZWN0LXNlYXJjaC5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RTZWFyY2hDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxyXG5cclxuICAvKirlrZfmrrXphY3nva7liJfooaggKi9cclxuICBfZmllbGRzOiBhbnkgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZmllbGRzKHY6IGFueSkge1xyXG4gICAgdGhpcy5fZmllbGRzID0gdjtcclxuICB9XHJcblxyXG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xyXG4gIF9wYXJlbnRGaWxlZE5hbWU6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcGFyZW50RmlsZWROYW1lKHY6IGFueSkge1xyXG4gICAgdGhpcy5fcGFyZW50RmlsZWROYW1lID0gdjtcclxuICB9XHJcbiAgLyoq54i257qn5a2X5q615ZCN56ew77yM55So5LqO5Li66KGo5Y2V6K6+572u5o6n5Lu26LWL5YC8ICovXHJcbiAgX3NlbGVjdGVkOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHY6IGFueSkge1xyXG4gICAgdGhpcy5fc2VsZWN0ZWQgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoq6KGo5Y2V5a6e5L2TICovXHJcbiAgX2VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBlbnRpdHkodjogYW55KSB7XHJcbiAgICB0aGlzLl9lbnRpdHkgPSB2O1xyXG4gICAgdGhpcy5kYXRhTG9hZGVkKCk7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ3N1Ym1pdGNsaWNrJywgeyBzdGF0aWM6IHRydWUgfSkgc3VibWl0Y2xpY2s6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGdldCBleHRyYVByb3BlcnRpZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW50aXR5Py5nZXQoJ2V4dHJhUHJvcGVydGllcycpIGFzIEZvcm1Hcm91cDtcclxuICB9XHJcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIC8qKuaVsOaNruWKoOi9veWujOaIkCAqL1xyXG4gIGFzeW5jIGRhdGFMb2FkZWQoKSB7XHJcbiAgICBpZiAodGhpcy5fZmllbGRzICYmIHRoaXMuX2VudGl0eSkge1xyXG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7IC8vIOaJi+WKqOinpuWPkeWPmOabtOajgOa1i1xyXG4gICAgICB0aGlzLnN1Ym1pdGNsaWNrPy5uYXRpdmVFbGVtZW50Py5jbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybUNvbmZpZ3VyYXRpb246IGFueSA9ICcnO1xyXG4gIEFmdGVySW5pdCgpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0cykgPT4ge1xyXG4gICAgICBjb25zdCBWYWxpZGF0b3JzQXJyYXk6IGFueVtdID0gW107XHJcbiAgICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24gPSB0aGlzLl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb247XHJcbiAgICAgIGNvbnN0IGlzTXVsdGlwbGUgPSB0aGlzLmZvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuTXVsdGlwbGUnXTtcclxuICAgICAgY29uc3Qgc2VsZWN0VmFsdWU6IGFueSA9IGlzTXVsdGlwbGUgPyBbXSA6IFtdO1xyXG4gICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGhpcy5mb3JtQ29uZmlndXJhdGlvblsnU2VsZWN0Lk9wdGlvbnMnXSkge1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVsZW1lbnQpIHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBlbGVtZW50W2tleV07XHJcbiAgICAgICAgICBjb25zdCBjYXBpdGFsaXplZEtleSA9IGtleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKTtcclxuICAgICAgICAgIGVsZW1lbnRbY2FwaXRhbGl6ZWRLZXldID0gaXRlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaWYgKHRoaXMuX3NlbGVjdGVkKSB7XHJcbiAgICAgICAgLy8gICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9zZWxlY3RlZCkgJiYgZWxlbWVudC5TZWxlY3RlZCAmJiB0aGlzLl9zZWxlY3RlZC5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAvLyAgICAgc2VsZWN0VmFsdWUgPSBpc011bHRpcGxlID8gWy4uLnNlbGVjdFZhbHVlLCBlbGVtZW50LlZhbHVlXSA6IFtlbGVtZW50LlZhbHVlXTtcclxuICAgICAgICAvLyAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBzZWxlY3RWYWx1ZTtcclxuICAgICAgY29uc3QgbmV3Q29udHJvbCA9IHRoaXMuZmIuY29udHJvbCh0aGlzLl9zZWxlY3RlZCwgVmFsaWRhdG9yc0FycmF5KTtcclxuICAgICAgdGhpcy5leHRyYVByb3BlcnRpZXMuc2V0Q29udHJvbCh0aGlzLl9maWVsZHMuZmllbGQubmFtZSwgbmV3Q29udHJvbCk7XHJcbiAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgY2hhbmdlVmFsdWUoZXZlbnQpIHtcclxuICAgIGNvbnN0IHNlbGVjdHZhbHVlID0gdGhpcy5leHRyYVByb3BlcnRpZXMuZ2V0KHRoaXMuX2ZpZWxkcy5maWVsZC5uYW1lKS52YWx1ZTtcclxuICAgIGlmIChzZWxlY3R2YWx1ZVswXSA9PT0gJycpIHtcclxuICAgICAgdGhpcy5leHRyYVByb3BlcnRpZXMuZ2V0KHRoaXMuX2ZpZWxkcy5maWVsZC5uYW1lKS5zZXRWYWx1ZShbXSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgLy9DYWxsZWQgb25jZSwgYmVmb3JlIHRoZSBpbnN0YW5jZSBpcyBkZXN0cm95ZWQuXHJcbiAgICAvL0FkZCAnaW1wbGVtZW50cyBPbkRlc3Ryb3knIHRvIHRoZSBjbGFzcy5cclxuICAgIHRoaXMuZXh0cmFQcm9wZXJ0aWVzLnJlbW92ZUNvbnRyb2wodGhpcy5fZmllbGRzLmZpZWxkLm5hbWUpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIl9lbnRpdHlcIj5cclxuICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cImV4dHJhUHJvcGVydGllc1wiIGNsYXNzPVwic2VsZWN0Y29udHJvbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cIl9maWVsZHMuZGlzcGxheU5hbWVcIj57eyBfZmllbGRzLmRpc3BsYXlOYW1lIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuTXVsdGlwbGUnXTsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxuei1zZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBkaWduaXRlLWZvcm0tc2VsZWN0XCIgW256TWF4VGFnQ291bnRdPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbnpTaG93U2VhcmNoIG56TW9kZT1cIm11bHRpcGxlXCIgW256UGxhY2VIb2xkZXJdPVwiX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblsnU2VsZWN0Lk51bGxUZXh0J11cIlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7X2ZpZWxkcy5maWVsZC5uYW1lfX1cIiBbbnpEcm9wZG93bk1hdGNoU2VsZWN0V2lkdGhdPVwidHJ1ZVwiIFtuekRyb3Bkb3duQ2xhc3NOYW1lXT1cIidkaWduaXRlLWZvcm0tc2VsZWN0LWRyb3Bkb3duJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuei1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2ZpZWxkcz8uZmllbGQ/LmZvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuT3B0aW9ucyddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW256TGFiZWxdPVwiaXRlbS5UZXh0XCIgW256VmFsdWVdPVwiaXRlbS5WYWx1ZVwiPjwvbnotb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9uei1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIFttdWx0aXBsZV09XCJmYWxzZVwiICBbcGxhY2Vob2xkZXJdPVwiZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5OdWxsVGV4dCddXCIgICBmb3JtQ29udHJvbE5hbWU9XCJ7e19maWVsZHMuZmllbGQubmFtZX19XCIgKGNoYW5nZSk9XCJjaGFuZ2VWYWx1ZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiJydcIj57e2Zvcm1Db25maWd1cmF0aW9uWydTZWxlY3QuTnVsbFRleHQnXX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfZmllbGRzPy5maWVsZD8uZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5PcHRpb25zJ107bGV0IGkgPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIml0ZW0uVmFsdWVcIj57e2l0ZW0uVGV4dH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPCEtLSA8c21hbGwgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1tdXRlZCBkLWJsb2NrXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiX2ZpZWxkcy5maWVsZC5kZXNjcmlwdGlvblwiPnt7X2ZpZWxkcy5maWVsZC5kZXNjcmlwdGlvbn19PC9zbWFsbD4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgI3N1Ym1pdGNsaWNrPjwvYnV0dG9uPlxyXG48L2Zvcm0+Il19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class SelectViewComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**展示则内容 */
|
|
8
|
+
this.showValue = '';
|
|
9
|
+
/**是否显示再列表 */
|
|
10
|
+
this.showInList = false;
|
|
11
|
+
/**表单控件Value */
|
|
12
|
+
this._value = '';
|
|
13
|
+
}
|
|
14
|
+
set value(v) {
|
|
15
|
+
this._value = v;
|
|
16
|
+
}
|
|
17
|
+
async ngAfterContentInit() {
|
|
18
|
+
//Called after ngOnInit when the component's or directive's content has been initialized.
|
|
19
|
+
//Add 'implements AfterContentInit' to the class.
|
|
20
|
+
const valueOptions = this._value;
|
|
21
|
+
if (this.type && valueOptions) {
|
|
22
|
+
if (Array.isArray(valueOptions)) {
|
|
23
|
+
this.showValue = valueOptions.join(',');
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
this.showValue = valueOptions;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SelectViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.5", type: SelectViewComponent, selector: "df-select-view", inputs: { showInList: "showInList", fields: "fields", type: "type", value: "value" }, ngImport: i0, template: "@if(showInList){\r\n{{showValue}}\r\n} @else{\r\n<div class=\"mb-3\">\r\n <label class=\"form-label\" *ngIf=\"fields.displayName\">{{ fields.displayName }}</label>\r\n <div>\r\n {{showValue}}\r\n </div>\r\n</div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SelectViewComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ selector: 'df-select-view', template: "@if(showInList){\r\n{{showValue}}\r\n} @else{\r\n<div class=\"mb-3\">\r\n <label class=\"form-label\" *ngIf=\"fields.displayName\">{{ fields.displayName }}</label>\r\n <div>\r\n {{showValue}}\r\n </div>\r\n</div>\r\n}" }]
|
|
36
|
+
}], propDecorators: { showInList: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], fields: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], type: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], value: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3Qtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFNRSxXQUFXO1FBQ1gsY0FBUyxHQUFRLEVBQUUsQ0FBQztRQUVwQixhQUFhO1FBQ0osZUFBVSxHQUFHLEtBQUssQ0FBQztRQU81QixlQUFlO1FBQ2YsV0FBTSxHQUFRLEVBQUUsQ0FBQztLQWtCbEI7SUFqQkMsSUFDVyxLQUFLLENBQUMsQ0FBTTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQjtRQUN0Qix5RkFBeUY7UUFDekYsaURBQWlEO1FBQ2pELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQzlCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0E5QlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsNElDUmhDLDJPQVNDOzsyRkREWSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQVNqQixVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0ssS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RmLXNlbGVjdC12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zZWxlY3Qtdmlldy5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RWaWV3Q29tcG9uZW50IHtcclxuICAvKirlsZXnpLrliJnlhoXlrrkgKi9cclxuICBzaG93VmFsdWU6IGFueSA9ICcnO1xyXG5cclxuICAvKirmmK/lkKbmmL7npLrlho3liJfooaggKi9cclxuICBASW5wdXQoKSBzaG93SW5MaXN0ID0gZmFsc2U7XHJcbiAgLyoq6KGo5Y2V5a2X5q615pWw5o2uICovXHJcbiAgQElucHV0KCkgZmllbGRzOiBhbnk7XHJcblxyXG4gIC8qKuihqOWNleaOp+S7tuexu+WeiyAqL1xyXG4gIEBJbnB1dCgpIHR5cGU6IGFueTtcclxuXHJcbiAgLyoq6KGo5Y2V5o6n5Lu2VmFsdWUgKi9cclxuICBfdmFsdWU6IGFueSA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vQ2FsbGVkIGFmdGVyIG5nT25Jbml0IHdoZW4gdGhlIGNvbXBvbmVudCdzIG9yIGRpcmVjdGl2ZSdzIGNvbnRlbnQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuXHJcbiAgICAvL0FkZCAnaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0JyB0byB0aGUgY2xhc3MuXHJcbiAgICBjb25zdCB2YWx1ZU9wdGlvbnMgPSB0aGlzLl92YWx1ZTtcclxuICAgIGlmICh0aGlzLnR5cGUgJiYgdmFsdWVPcHRpb25zKSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlT3B0aW9ucykpIHtcclxuICAgICAgICB0aGlzLnNob3dWYWx1ZSA9IHZhbHVlT3B0aW9ucy5qb2luKCcsJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zaG93VmFsdWUgPSB2YWx1ZU9wdGlvbnM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGlmKHNob3dJbkxpc3Qpe1xyXG57e3Nob3dWYWx1ZX19XHJcbn0gQGVsc2V7XHJcbjxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJmaWVsZHMuZGlzcGxheU5hbWVcIj57eyBmaWVsZHMuZGlzcGxheU5hbWUgfX08L2xhYmVsPlxyXG4gICAgPGRpdj5cclxuICAgICAgICB7e3Nob3dWYWx1ZX19XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbn0iXX0=
|