@dignite-ng/expand.dynamic-form 0.0.2
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 +24 -0
- package/esm2022/dignite-ng-expand.dynamic-form.mjs +5 -0
- package/esm2022/lib/components/dynamic/dynamic.component.mjs +113 -0
- package/esm2022/lib/components/dynamic/index.mjs +2 -0
- package/esm2022/lib/components/from/ck-editor/ck-editor-config.component.mjs +65 -0
- package/esm2022/lib/components/from/ck-editor/ck-editor-config.mjs +18 -0
- package/esm2022/lib/components/from/ck-editor/ck-editor-control.component.mjs +139 -0
- package/esm2022/lib/components/from/ck-editor/ckEditorUpload.mjs +55 -0
- package/esm2022/lib/components/from/ck-editor/index.mjs +3 -0
- package/esm2022/lib/components/from/date-edit/date-edit-config.component.mjs +70 -0
- package/esm2022/lib/components/from/date-edit/date-edit-config.mjs +26 -0
- package/esm2022/lib/components/from/date-edit/date-edit-control.component.mjs +93 -0
- package/esm2022/lib/components/from/date-edit/index.mjs +3 -0
- package/esm2022/lib/components/from/file-explorer/file-explorer-config.component.mjs +68 -0
- package/esm2022/lib/components/from/file-explorer/file-explorer-config.mjs +18 -0
- package/esm2022/lib/components/from/file-explorer/file-explorer-control.component.mjs +102 -0
- package/esm2022/lib/components/from/file-explorer/index.mjs +3 -0
- package/esm2022/lib/components/from/form-control-group.mjs +79 -0
- package/esm2022/lib/components/from/index.mjs +11 -0
- package/esm2022/lib/components/from/numeric-edit/index.mjs +3 -0
- package/esm2022/lib/components/from/numeric-edit/numberic-edit-config.component.mjs +68 -0
- package/esm2022/lib/components/from/numeric-edit/numberic-edit-config.mjs +25 -0
- package/esm2022/lib/components/from/numeric-edit/numberic-edit-control.component.mjs +113 -0
- package/esm2022/lib/components/from/select/index.mjs +3 -0
- package/esm2022/lib/components/from/select/select-config.component.mjs +91 -0
- package/esm2022/lib/components/from/select/select-config.mjs +20 -0
- package/esm2022/lib/components/from/select/select-control.component.mjs +89 -0
- package/esm2022/lib/components/from/switch/index.mjs +3 -0
- package/esm2022/lib/components/from/switch/switch-config.component.mjs +68 -0
- package/esm2022/lib/components/from/switch/switch-config.mjs +15 -0
- package/esm2022/lib/components/from/switch/switch-control.component.mjs +77 -0
- package/esm2022/lib/components/from/text-edit/index.mjs +4 -0
- package/esm2022/lib/components/from/text-edit/text-edit-config.component.mjs +70 -0
- package/esm2022/lib/components/from/text-edit/text-edit-config.mjs +24 -0
- package/esm2022/lib/components/from/text-edit/text-edit.component.mjs +84 -0
- package/esm2022/lib/components/index.mjs +3 -0
- package/esm2022/lib/dynamic-form.module.mjs +107 -0
- package/esm2022/lib/enums/date-edit-interfaces.mjs +16 -0
- package/esm2022/lib/enums/index.mjs +3 -0
- package/esm2022/lib/enums/text-edit-mode.mjs +8 -0
- package/esm2022/lib/interfaces/form-config-interfaces.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +2 -0
- package/esm2022/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.mjs +48 -0
- package/esm2022/lib/proxy/dignite/file-explorer/directories/index.mjs +3 -0
- package/esm2022/lib/proxy/dignite/file-explorer/directories/models.mjs +2 -0
- package/esm2022/lib/proxy/dignite/file-explorer/files/file-descriptor.service.mjs +60 -0
- package/esm2022/lib/proxy/dignite/file-explorer/files/index.mjs +3 -0
- package/esm2022/lib/proxy/dignite/file-explorer/files/models.mjs +2 -0
- package/esm2022/lib/proxy/dignite/file-explorer/index.mjs +4 -0
- package/esm2022/lib/proxy/dignite/index.mjs +3 -0
- package/esm2022/lib/proxy/index.mjs +5 -0
- package/esm2022/lib/proxy/microsoft/asp-net-core/index.mjs +3 -0
- package/esm2022/lib/proxy/microsoft/asp-net-core/mvc/index.mjs +2 -0
- package/esm2022/lib/proxy/microsoft/asp-net-core/mvc/models.mjs +2 -0
- package/esm2022/lib/proxy/microsoft/extensions/index.mjs +3 -0
- package/esm2022/lib/proxy/microsoft/extensions/primitives/index.mjs +2 -0
- package/esm2022/lib/proxy/microsoft/extensions/primitives/models.mjs +2 -0
- package/esm2022/lib/proxy/microsoft/index.mjs +5 -0
- package/esm2022/lib/proxy/microsoft/net/http/headers/index.mjs +2 -0
- package/esm2022/lib/proxy/microsoft/net/http/headers/models.mjs +2 -0
- package/esm2022/lib/proxy/microsoft/net/http/index.mjs +3 -0
- package/esm2022/lib/proxy/microsoft/net/index.mjs +3 -0
- package/esm2022/lib/proxy/volo/abp/content/index.mjs +2 -0
- package/esm2022/lib/proxy/volo/abp/content/models.mjs +2 -0
- package/esm2022/lib/proxy/volo/abp/index.mjs +3 -0
- package/esm2022/lib/proxy/volo/index.mjs +3 -0
- package/esm2022/lib/services/df-api.service.mjs +82 -0
- package/esm2022/lib/services/index.mjs +2 -0
- package/esm2022/public-api.mjs +10 -0
- package/fesm2022/dignite-ng-expand.dynamic-form.mjs +1867 -0
- package/fesm2022/dignite-ng-expand.dynamic-form.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/dynamic/dynamic.component.d.ts +35 -0
- package/lib/components/dynamic/index.d.ts +1 -0
- package/lib/components/from/ck-editor/ck-editor-config.component.d.ts +21 -0
- package/lib/components/from/ck-editor/ck-editor-config.d.ts +7 -0
- package/lib/components/from/ck-editor/ck-editor-control.component.d.ts +51 -0
- package/lib/components/from/ck-editor/ckEditorUpload.d.ts +12 -0
- package/lib/components/from/ck-editor/index.d.ts +2 -0
- package/lib/components/from/date-edit/date-edit-config.component.d.ts +24 -0
- package/lib/components/from/date-edit/date-edit-config.d.ts +10 -0
- package/lib/components/from/date-edit/date-edit-control.component.d.ts +32 -0
- package/lib/components/from/date-edit/index.d.ts +2 -0
- package/lib/components/from/file-explorer/file-explorer-config.component.d.ts +22 -0
- package/lib/components/from/file-explorer/file-explorer-config.d.ts +7 -0
- package/lib/components/from/file-explorer/file-explorer-control.component.d.ts +34 -0
- package/lib/components/from/file-explorer/index.d.ts +2 -0
- package/lib/components/from/form-control-group.d.ts +7 -0
- package/lib/components/from/index.d.ts +8 -0
- package/lib/components/from/numeric-edit/index.d.ts +2 -0
- package/lib/components/from/numeric-edit/numberic-edit-config.component.d.ts +22 -0
- package/lib/components/from/numeric-edit/numberic-edit-config.d.ts +11 -0
- package/lib/components/from/numeric-edit/numberic-edit-control.component.d.ts +33 -0
- package/lib/components/from/select/index.d.ts +2 -0
- package/lib/components/from/select/select-config.component.d.ts +27 -0
- package/lib/components/from/select/select-config.d.ts +7 -0
- package/lib/components/from/select/select-control.component.d.ts +27 -0
- package/lib/components/from/switch/index.d.ts +2 -0
- package/lib/components/from/switch/switch-config.component.d.ts +22 -0
- package/lib/components/from/switch/switch-config.d.ts +5 -0
- package/lib/components/from/switch/switch-control.component.d.ts +26 -0
- package/lib/components/from/text-edit/index.d.ts +3 -0
- package/lib/components/from/text-edit/text-edit-config.component.d.ts +24 -0
- package/lib/components/from/text-edit/text-edit-config.d.ts +6 -0
- package/lib/components/from/text-edit/text-edit.component.d.ts +27 -0
- package/lib/components/index.d.ts +2 -0
- package/lib/dynamic-form.module.d.ts +28 -0
- package/lib/enums/date-edit-interfaces.d.ts +5 -0
- package/lib/enums/index.d.ts +2 -0
- package/lib/enums/text-edit-mode.d.ts +4 -0
- package/lib/interfaces/form-config-interfaces.d.ts +17 -0
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.d.ts +17 -0
- package/lib/proxy/dignite/file-explorer/directories/index.d.ts +2 -0
- package/lib/proxy/dignite/file-explorer/directories/models.d.ts +29 -0
- package/lib/proxy/dignite/file-explorer/files/file-descriptor.service.d.ts +20 -0
- package/lib/proxy/dignite/file-explorer/files/index.d.ts +2 -0
- package/lib/proxy/dignite/file-explorer/files/models.d.ts +50 -0
- package/lib/proxy/dignite/file-explorer/index.d.ts +3 -0
- package/lib/proxy/dignite/index.d.ts +2 -0
- package/lib/proxy/index.d.ts +4 -0
- package/lib/proxy/microsoft/asp-net-core/index.d.ts +2 -0
- package/lib/proxy/microsoft/asp-net-core/mvc/index.d.ts +1 -0
- package/lib/proxy/microsoft/asp-net-core/mvc/models.d.ts +10 -0
- package/lib/proxy/microsoft/extensions/index.d.ts +2 -0
- package/lib/proxy/microsoft/extensions/primitives/index.d.ts +1 -0
- package/lib/proxy/microsoft/extensions/primitives/models.d.ts +8 -0
- package/lib/proxy/microsoft/index.d.ts +4 -0
- package/lib/proxy/microsoft/net/http/headers/index.d.ts +1 -0
- package/lib/proxy/microsoft/net/http/headers/models.d.ts +6 -0
- package/lib/proxy/microsoft/net/http/index.d.ts +2 -0
- package/lib/proxy/microsoft/net/index.d.ts +2 -0
- package/lib/proxy/volo/abp/content/index.d.ts +1 -0
- package/lib/proxy/volo/abp/content/models.d.ts +5 -0
- package/lib/proxy/volo/abp/index.d.ts +2 -0
- package/lib/proxy/volo/index.d.ts +2 -0
- package/lib/services/df-api.service.d.ts +18 -0
- package/lib/services/index.d.ts +1 -0
- package/package.json +37 -0
- package/public-api.d.ts +6 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export class NumbericEditConfig {
|
|
2
|
+
/**占位符 */
|
|
3
|
+
'NumericEditField.Placeholder' = ['', []];
|
|
4
|
+
/**最小值 */
|
|
5
|
+
// placeholder: any = new FormControl('', Validators.required);
|
|
6
|
+
'NumericEditField.Min' = ['', []];
|
|
7
|
+
//最大值
|
|
8
|
+
'NumericEditField.Max' = ['', []];
|
|
9
|
+
// 小数位数
|
|
10
|
+
'NumericEditField.Decimals' = [2, []];
|
|
11
|
+
//步长
|
|
12
|
+
'NumericEditField.Step' = ['', []];
|
|
13
|
+
//格式说明符
|
|
14
|
+
'FormatSpecifier' = ['', []];
|
|
15
|
+
constructor(data) {
|
|
16
|
+
if (data) {
|
|
17
|
+
for (const key in data) {
|
|
18
|
+
if (data.hasOwnProperty(key)) {
|
|
19
|
+
this[key] = data[key];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaWMtZWRpdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zyb20vbnVtZXJpYy1lZGl0L251bWJlcmljLWVkaXQtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsU0FBUztJQUNULDhCQUE4QixHQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLFNBQVM7SUFDVCwrREFBK0Q7SUFDL0Qsc0JBQXNCLEdBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkMsS0FBSztJQUNMLHNCQUFzQixHQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU87SUFDUCwyQkFBMkIsR0FBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxJQUFJO0lBQ0osdUJBQXVCLEdBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEMsT0FBTztJQUNQLGlCQUFpQixHQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWxDLFlBQVksSUFBeUI7UUFDakMsSUFBSSxJQUFJLEVBQUU7WUFDTixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN6QjthQUNKO1NBQ0o7SUFHTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE51bWJlcmljRWRpdENvbmZpZyB7XHJcbiAgICAvKirljaDkvY3nrKYgKi9cclxuICAgICdOdW1lcmljRWRpdEZpZWxkLlBsYWNlaG9sZGVyJzogYW55ID0gWycnLCBbXV07XHJcbiAgICAvKirmnIDlsI/lgLwgKi9cclxuICAgIC8vIHBsYWNlaG9sZGVyOiBhbnkgPSBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgJ051bWVyaWNFZGl0RmllbGQuTWluJzogYW55ID0gWycnLCBbXV07XHJcbiAgICAvL+acgOWkp+WAvFxyXG4gICAgJ051bWVyaWNFZGl0RmllbGQuTWF4JzogYW55ID0gWycnLCBbXV07XHJcbiAgICAvLyDlsI/mlbDkvY3mlbBcclxuICAgICdOdW1lcmljRWRpdEZpZWxkLkRlY2ltYWxzJzogYW55ID0gWzIsIFtdXTtcclxuICAgIC8v5q2l6ZW/XHJcbiAgICAnTnVtZXJpY0VkaXRGaWVsZC5TdGVwJzogYW55ID0gWycnLCBbXV07XHJcbiAgICAvL+agvOW8j+ivtOaYjuesplxyXG4gICAgJ0Zvcm1hdFNwZWNpZmllcic6IGFueSA9IFsnJywgW11dO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBOdW1iZXJpY0VkaXRDb25maWcpIHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@ngx-validate/core";
|
|
7
|
+
export function maxDecimalPlacesValidator(maxDecimalPlaces) {
|
|
8
|
+
return (control) => {
|
|
9
|
+
const value = control.value;
|
|
10
|
+
if (typeof value === 'number' && isNaN(value) === false) {
|
|
11
|
+
const decimalPart = value.toString().split('.')[1];
|
|
12
|
+
if (decimalPart && decimalPart.length > maxDecimalPlaces) {
|
|
13
|
+
return { 'maxDecimalPlaces': { actual: decimalPart.length, max: maxDecimalPlaces } };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
class NumbericEditControlComponent {
|
|
20
|
+
fb;
|
|
21
|
+
cdr;
|
|
22
|
+
constructor(fb, cdr) {
|
|
23
|
+
this.fb = fb;
|
|
24
|
+
this.cdr = cdr;
|
|
25
|
+
}
|
|
26
|
+
/**表单实体 */
|
|
27
|
+
_entity;
|
|
28
|
+
set entity(v) {
|
|
29
|
+
this._entity = v;
|
|
30
|
+
this.dataLoaded();
|
|
31
|
+
}
|
|
32
|
+
get entity() {
|
|
33
|
+
return this._entity;
|
|
34
|
+
}
|
|
35
|
+
/**字段配置列表 */
|
|
36
|
+
_fields = '';
|
|
37
|
+
set fields(v) {
|
|
38
|
+
this._fields = v;
|
|
39
|
+
this.dataLoaded();
|
|
40
|
+
}
|
|
41
|
+
/**父级字段名称,用于为表单设置控件赋值 */
|
|
42
|
+
_parentFiledName;
|
|
43
|
+
set parentFiledName(v) {
|
|
44
|
+
this._parentFiledName = v;
|
|
45
|
+
this.dataLoaded();
|
|
46
|
+
}
|
|
47
|
+
/**父级字段名称,用于为表单设置控件赋值 */
|
|
48
|
+
_selected;
|
|
49
|
+
set selected(v) {
|
|
50
|
+
this._selected = v;
|
|
51
|
+
this.dataLoaded();
|
|
52
|
+
}
|
|
53
|
+
submitclick;
|
|
54
|
+
get extraProperties() {
|
|
55
|
+
return this._entity.get('extraProperties');
|
|
56
|
+
}
|
|
57
|
+
get fieldInput() { return this.extraProperties.get(this._fields.field.name); }
|
|
58
|
+
/**数据加载完成 */
|
|
59
|
+
async dataLoaded() {
|
|
60
|
+
if (this._fields && this._entity) {
|
|
61
|
+
await this.AfterInit();
|
|
62
|
+
this.cdr.detectChanges();
|
|
63
|
+
this.submitclick.nativeElement.click();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
AfterInit() {
|
|
67
|
+
return new Promise((resolve, rejects) => {
|
|
68
|
+
let ValidatorsArray = [];
|
|
69
|
+
let formConfiguration = this._fields.field.formConfiguration;
|
|
70
|
+
if (this._fields.required) {
|
|
71
|
+
ValidatorsArray.push(Validators.required);
|
|
72
|
+
}
|
|
73
|
+
if (formConfiguration['NumericEditField.Min']) {
|
|
74
|
+
ValidatorsArray.push(Validators.min(formConfiguration['NumericEditField.Min']));
|
|
75
|
+
}
|
|
76
|
+
if (formConfiguration['NumericEditField.Max']) {
|
|
77
|
+
ValidatorsArray.push(Validators.max(formConfiguration['NumericEditField.Max']));
|
|
78
|
+
}
|
|
79
|
+
let newControl = this.fb.control(this._selected, ValidatorsArray);
|
|
80
|
+
this.extraProperties.setControl(this._fields.field.name, newControl);
|
|
81
|
+
resolve(true);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**数字框输入 */
|
|
85
|
+
inputchange(event) {
|
|
86
|
+
let val = event.target.value;
|
|
87
|
+
const decimalPart = val.toString().split('.')[1] || '';
|
|
88
|
+
let formConfiguration = this._fields.field.formConfiguration;
|
|
89
|
+
let Decimals = formConfiguration['NumericEditField.Decimals'];
|
|
90
|
+
if (decimalPart.length > Decimals) {
|
|
91
|
+
this.fieldInput.patchValue(val.slice(0, val.length - (decimalPart.length - 2)));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumbericEditControlComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NumbericEditControlComponent, selector: "df-numberic-edit-control", inputs: { entity: "entity", fields: "fields", parentFiledName: "parentFiledName", selected: "selected" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\n <div [formGroupName]=\"_parentFiledName\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <input type=\"number\" class=\"form-control\" formControlName=\"{{_fields.field.name}}\"\n [placeholder]=\"_fields.field.formConfiguration['NumericEditField.Placeholder']||''\"\n [min]=\"_fields.field.formConfiguration['NumericEditField.Min']\"\n [max]=\"_fields.field.formConfiguration['NumericEditField.Max']\"\n [step]=\"_fields.field.formConfiguration['NumericEditField.Step']\" (input)=\"inputchange($event)\" />\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\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.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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][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.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
96
|
+
}
|
|
97
|
+
export { NumbericEditControlComponent };
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumbericEditControlComponent, decorators: [{
|
|
99
|
+
type: Component,
|
|
100
|
+
args: [{ selector: 'df-numberic-edit-control', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"_entity\">\n <div [formGroupName]=\"_parentFiledName\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <input type=\"number\" class=\"form-control\" formControlName=\"{{_fields.field.name}}\"\n [placeholder]=\"_fields.field.formConfiguration['NumericEditField.Placeholder']||''\"\n [min]=\"_fields.field.formConfiguration['NumericEditField.Min']\"\n [max]=\"_fields.field.formConfiguration['NumericEditField.Max']\"\n [step]=\"_fields.field.formConfiguration['NumericEditField.Step']\" (input)=\"inputchange($event)\" />\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>" }]
|
|
101
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { entity: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], fields: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], parentFiledName: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], selected: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], submitclick: [{
|
|
110
|
+
type: ViewChild,
|
|
111
|
+
args: ['submitclick', { static: true }]
|
|
112
|
+
}] } });
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZnJvbS9udW1lcmljLWVkaXQvbnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZnJvbS9udW1lcmljLWVkaXQvbnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBb0IsdUJBQXVCLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBdUMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBR2pGLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxnQkFBd0I7SUFDaEUsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0QsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM1QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQ3ZELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkQsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRTtnQkFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQzthQUN0RjtTQUNGO1FBQ0QsT0FB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RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgLENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJzsgIFxuICBcbmV4cG9ydCBmdW5jdGlvbiBtYXhEZWNpbWFsUGxhY2VzVmFsaWRhdG9yKG1heERlY2ltYWxQbGFjZXM6IG51bWJlcik6IFZhbGlkYXRvckZuIHsgIFxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHsgIFxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTsgIFxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIGlzTmFOKHZhbHVlKSA9PT0gZmFsc2UpIHsgIFxuICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KCcuJylbMV07ICBcbiAgICAgIGlmIChkZWNpbWFsUGFydCAmJiBkZWNpbWFsUGFydC5sZW5ndGggPiBtYXhEZWNpbWFsUGxhY2VzKSB7ICBcbiAgICAgICAgcmV0dXJuIHsgJ21heERlY2ltYWxQbGFjZXMnOiB7IGFjdHVhbDogZGVjaW1hbFBhcnQubGVuZ3RoLCBtYXg6IG1heERlY2ltYWxQbGFjZXMgfSB9OyAgXG4gICAgICB9ICBcbiAgICB9ICBcbiAgICByZXR1cm4gbnVsbDsgIFxuICB9OyAgXG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZi1udW1iZXJpYy1lZGl0LWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyaWMtZWRpdC1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcmljRWRpdENvbnRyb2xDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiBcbiAgKSB7XG5cbiAgfVxuXG4gIC8qKuihqOWNleWunuS9kyAqL1xuICBfZW50aXR5OiBGb3JtR3JvdXAgfCB1bmRlZmluZWRcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbnRpdHkodjogYW55KSB7XG4gICAgdGhpcy5fZW50aXR5ID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG5cbiAgcHVibGljIGdldCBlbnRpdHkoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXR5XG4gIH1cblxuXG4gIC8qKuWtl+autemFjee9ruWIl+ihqCAqL1xuICBfZmllbGRzOiBhbnkgPSAnJ1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZpZWxkcyh2OiBhbnkpIHtcbiAgICB0aGlzLl9maWVsZHMgPSB2O1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpXG4gIH1cblxuICAvKirniLbnuqflrZfmrrXlkI3np7DvvIznlKjkuo7kuLrooajljZXorr7nva7mjqfku7botYvlgLwgKi9cbiAgX3BhcmVudEZpbGVkTmFtZTogYW55XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFyZW50RmlsZWROYW1lKHY6IGFueSkge1xuICAgIHRoaXMuX3BhcmVudEZpbGVkTmFtZSA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuICAvKirniLbnuqflrZfmrrXlkI3np7DvvIznlKjkuo7kuLrooajljZXorr7nva7mjqfku7botYvlgLwgKi9cbiAgX3NlbGVjdGVkOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHYgO1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpXG4gIH1cbiAgQFZpZXdDaGlsZCgnc3VibWl0Y2xpY2snLCB7IHN0YXRpYzogdHJ1ZSB9KSBzdWJtaXRjbGljazogRWxlbWVudFJlZjtcblxuXG4gIGdldCBleHRyYVByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VudGl0eS5nZXQoJ2V4dHJhUHJvcGVydGllcycpIGFzIEZvcm1Hcm91cFxuICB9XG4gIGdldCBmaWVsZElucHV0KCkgeyByZXR1cm4gdGhpcy5leHRyYVByb3BlcnRpZXMuZ2V0KHRoaXMuX2ZpZWxkcy5maWVsZC5uYW1lKTsgfVxuICAvKirmlbDmja7liqDovb3lrozmiJAgKi9cbiAgYXN5bmMgZGF0YUxvYWRlZCgpIHtcbiAgICBpZiAodGhpcy5fZmllbGRzICYmIHRoaXMuX2VudGl0eSkge1xuICAgICAgYXdhaXQgdGhpcy5BZnRlckluaXQoKVxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyAgXG4gICAgICB0aGlzLnN1Ym1pdGNsaWNrLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBBZnRlckluaXQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3RzKSA9PiB7XG4gICAgICBsZXQgVmFsaWRhdG9yc0FycmF5ID0gW11cbiAgICAgIGxldCBmb3JtQ29uZmlndXJhdGlvbj10aGlzLl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25cbiAgICAgIGlmICh0aGlzLl9maWVsZHMucmVxdWlyZWQpIHtcbiAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5NaW4nXSkge1xuICAgICAgICBWYWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1pbihmb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5NaW4nXSkpXG4gICAgICB9XG4gICAgICBpZiAoZm9ybUNvbmZpZ3VyYXRpb25bJ051bWVyaWNFZGl0RmllbGQuTWF4J10pIHtcbiAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5tYXgoZm9ybUNvbmZpZ3VyYXRpb25bJ051bWVyaWNFZGl0RmllbGQuTWF4J10pKVxuICAgICAgfVxuICAgICAgbGV0IG5ld0NvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2wodGhpcy5fc2VsZWN0ZWQsIFZhbGlkYXRvcnNBcnJheSlcbiAgICAgIHRoaXMuZXh0cmFQcm9wZXJ0aWVzLnNldENvbnRyb2wodGhpcy5fZmllbGRzLmZpZWxkLm5hbWUsIG5ld0NvbnRyb2wpXG5cbiAgICAgIHJlc29sdmUodHJ1ZSlcbiAgICB9KVxuICB9XG5cbiAgLyoq5pWw5a2X5qGG6L6T5YWlICovXG4gIGlucHV0Y2hhbmdlKGV2ZW50KXtcbiAgICBsZXQgdmFsPWV2ZW50LnRhcmdldC52YWx1ZVxuICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gdmFsLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVsxXXx8Jyc7XG4gICAgbGV0IGZvcm1Db25maWd1cmF0aW9uPXRoaXMuX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblxuICAgIGxldCBEZWNpbWFscz1mb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5EZWNpbWFscyddXG4gICAgaWYoZGVjaW1hbFBhcnQubGVuZ3RoPkRlY2ltYWxzKXtcbiAgICAgIHRoaXMuZmllbGRJbnB1dC5wYXRjaFZhbHVlKHZhbC5zbGljZSgwLHZhbC5sZW5ndGgtKGRlY2ltYWxQYXJ0Lmxlbmd0aC0yKSkpXG4gICAgfVxuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIl9lbnRpdHlcIj5cbiAgICA8ZGl2IFtmb3JtR3JvdXBOYW1lXT1cIl9wYXJlbnRGaWxlZE5hbWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cIl9maWVsZHMuZGlzcGxheU5hbWVcIj57eyBfZmllbGRzLmRpc3BsYXlOYW1lIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJ7e19maWVsZHMuZmllbGQubmFtZX19XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblsnTnVtZXJpY0VkaXRGaWVsZC5QbGFjZWhvbGRlciddfHwnJ1wiXG4gICAgICAgICAgICAgICAgW21pbl09XCJfZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydOdW1lcmljRWRpdEZpZWxkLk1pbiddXCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cIl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ051bWVyaWNFZGl0RmllbGQuTWF4J11cIlxuICAgICAgICAgICAgICAgIFtzdGVwXT1cIl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ051bWVyaWNFZGl0RmllbGQuU3RlcCddXCIgKGlucHV0KT1cImlucHV0Y2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tdGV4dFwiICpuZ0lmPVwiX2ZpZWxkcy5maWVsZC5kZXNjcmlwdGlvblwiPnt7X2ZpZWxkcy5maWVsZC5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiICNzdWJtaXRjbGljaz48L2J1dHRvbj5cbjwvZm9ybT4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './select-config.component';
|
|
2
|
+
export * from './select-control.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zyb20vc2VsZWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWNvbmZpZy5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50JyJdfQ==
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
3
|
+
import { SelectConfig } from './select-config';
|
|
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 "@abp/ng.core";
|
|
8
|
+
import * as i4 from "@ngx-validate/core";
|
|
9
|
+
class SelectConfigComponent {
|
|
10
|
+
fb;
|
|
11
|
+
constructor(fb) {
|
|
12
|
+
this.fb = fb;
|
|
13
|
+
}
|
|
14
|
+
/**表单控件类型 */
|
|
15
|
+
_type;
|
|
16
|
+
set type(v) {
|
|
17
|
+
this._type = v;
|
|
18
|
+
this.dataLoaded();
|
|
19
|
+
}
|
|
20
|
+
/**表单实体 */
|
|
21
|
+
_Entity;
|
|
22
|
+
set Entity(v) {
|
|
23
|
+
this._Entity = v;
|
|
24
|
+
this.dataLoaded();
|
|
25
|
+
}
|
|
26
|
+
/**选择的表单信息 */
|
|
27
|
+
_selected;
|
|
28
|
+
set selected(v) {
|
|
29
|
+
this._selected = v;
|
|
30
|
+
this.dataLoaded();
|
|
31
|
+
}
|
|
32
|
+
get formConfiguration() {
|
|
33
|
+
return this._Entity.get('formConfiguration');
|
|
34
|
+
}
|
|
35
|
+
get SelectOptions() {
|
|
36
|
+
return this.formConfiguration.controls['Select.Options'];
|
|
37
|
+
}
|
|
38
|
+
submitclick;
|
|
39
|
+
async dataLoaded() {
|
|
40
|
+
if (this._Entity && this._type) {
|
|
41
|
+
await this.AfterInit();
|
|
42
|
+
this.submitclick.nativeElement.click();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**增加选项 */
|
|
46
|
+
addSelectOptions() {
|
|
47
|
+
this.SelectOptions.push(new FormGroup({
|
|
48
|
+
Text: new FormControl('', Validators.required),
|
|
49
|
+
Value: new FormControl('', Validators.required),
|
|
50
|
+
Selected: new FormControl(false)
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
/**删除某个选项 */
|
|
54
|
+
deleteSelectOptions(index) {
|
|
55
|
+
this.SelectOptions.removeAt(index);
|
|
56
|
+
}
|
|
57
|
+
AfterInit() {
|
|
58
|
+
return new Promise((resolve, rejects) => {
|
|
59
|
+
this._Entity.setControl('formConfiguration', this.fb.group(new SelectConfig()));
|
|
60
|
+
if (this._selected && this._selected.formControlName == this._type) {
|
|
61
|
+
this._selected.formConfiguration['Select.Options']?.forEach(el => {
|
|
62
|
+
this.addSelectOptions();
|
|
63
|
+
});
|
|
64
|
+
this.formConfiguration.patchValue({
|
|
65
|
+
...this._selected.formConfiguration,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.addSelectOptions();
|
|
70
|
+
}
|
|
71
|
+
resolve(true);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectConfigComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectConfigComponent, selector: "df-select-config", inputs: { type: "type", Entity: "Entity", selected: "selected" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::SelectListItem' | abpLocalization}}</label>\n <table class=\"table\">\n <thead>\n <tr>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemText' | abpLocalization}}</th>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" (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\">\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Text\"></td>\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Value\"></td>\n <td>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Selected\" id=\"selected\">\n </div>\n </td>\n <td scope=\"row\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" (click.stop)=\"deleteSelectOptions(i)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </td>\n </tr> \n </ng-container>\n \n \n </tbody>\n </table>\n </div>\n\n\n\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::NullText' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Select.NullText\">\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Select.Multiple\"\n id=\"Multiple\">\n <label class=\"form-check-label\" for=\"Multiple\">\n {{'DigniteAbpForms::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: i2.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: i3.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i3.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i4.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i4.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] });
|
|
76
|
+
}
|
|
77
|
+
export { SelectConfigComponent };
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectConfigComponent, decorators: [{
|
|
79
|
+
type: Component,
|
|
80
|
+
args: [{ selector: 'df-select-config', template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::SelectListItem' | abpLocalization}}</label>\n <table class=\"table\">\n <thead>\n <tr>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemText' | abpLocalization}}</th>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\">{{'DigniteAbpForms::SelectListItemValue' | abpLocalization}}</th>\n <th scope=\"col\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" (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\">\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Text\"></td>\n <td><input type=\"text\" class=\"form-control\" formControlName=\"Value\"></td>\n <td>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Selected\" id=\"selected\">\n </div>\n </td>\n <td scope=\"row\" style=\"width: 1%;\">\n <button class=\"btn btn-light btn-sm\" (click.stop)=\"deleteSelectOptions(i)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </td>\n </tr> \n </ng-container>\n \n \n </tbody>\n </table>\n </div>\n\n\n\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::NullText' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Select.NullText\">\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Select.Multiple\"\n id=\"Multiple\">\n <label class=\"form-check-label\" for=\"Multiple\">\n {{'DigniteAbpForms::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>" }]
|
|
81
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { type: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], Entity: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], selected: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], submitclick: [{
|
|
88
|
+
type: ViewChild,
|
|
89
|
+
args: ['submitclick', { static: true }]
|
|
90
|
+
}] } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zyb20vc2VsZWN0L3NlbGVjdC1jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mcm9tL3NlbGVjdC9zZWxlY3QtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQTBCLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFL0MsTUFLYSxxQkFBcUI7SUFFdEI7SUFEVixZQUNVLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO0lBQ3JCLENBQUM7SUFDTCxZQUFZO0lBQ1osS0FBSyxDQUFLO0lBQ1YsSUFDVyxJQUFJLENBQUMsQ0FBTTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUNkLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBQ0QsVUFBVTtJQUNWLE9BQU8sQ0FBdUI7SUFDOUIsSUFDVyxNQUFNLENBQUMsQ0FBWTtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUNELGFBQWE7SUFDYixTQUFTLENBQUs7SUFDZCxJQUNXLFFBQVEsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBQ0QsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBYyxDQUFBO0lBQzNELENBQUM7SUFDRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQWMsQ0FBQTtJQUN2RSxDQUFDO0lBQzJDLFdBQVcsQ0FBYTtJQUVwRSxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQzlCLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1lBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBRXhDO0lBQ0gsQ0FBQztJQUNELFVBQVU7SUFDVixnQkFBZ0I7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQztZQUNwQyxJQUFJLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDOUMsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9DLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUM7U0FDakMsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBQ0QsWUFBWTtJQUNaLG1CQUFtQixDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQy9FLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUMvRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtnQkFDekIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztvQkFDaEMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQjtpQkFDcEMsQ0FBQyxDQUFBO2FBQ0g7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7YUFDeEI7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDZixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7d0dBcEVVLHFCQUFxQjs0RkFBckIscUJBQXFCLG9QQ1RsQywyZ0dBMERPOztTRGpETSxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7a0dBV2pCLElBQUk7c0JBRGQsS0FBSztnQkFRSyxNQUFNO3NCQURoQixLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBV3NDLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdENvbmZpZyB9IGZyb20gJy4vc2VsZWN0LWNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RmLXNlbGVjdC1jb25maWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWNvbmZpZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1jb25maWcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb25maWdDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgKSB7IH1cbiAgLyoq6KGo5Y2V5o6n5Lu257G75Z6LICovXG4gIF90eXBlOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0eXBlKHY6IGFueSkge1xuICAgIHRoaXMuX3R5cGUgPSB2XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuICAvKirooajljZXlrp7kvZMgKi9cbiAgX0VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgRW50aXR5KHY6IEZvcm1Hcm91cCkge1xuICAgIHRoaXMuX0VudGl0eSA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuICAvKirpgInmi6nnmoTooajljZXkv6Hmga8gKi9cbiAgX3NlbGVjdGVkOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHZcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG4gIGdldCBmb3JtQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fRW50aXR5LmdldCgnZm9ybUNvbmZpZ3VyYXRpb24nKSBhcyBGb3JtR3JvdXBcbiAgfVxuICBnZXQgU2VsZWN0T3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29uZmlndXJhdGlvbi5jb250cm9sc1snU2VsZWN0Lk9wdGlvbnMnXSBhcyBGb3JtQXJyYXlcbiAgfVxuICBAVmlld0NoaWxkKCdzdWJtaXRjbGljaycsIHsgc3RhdGljOiB0cnVlIH0pIHN1Ym1pdGNsaWNrOiBFbGVtZW50UmVmO1xuXG4gIGFzeW5jIGRhdGFMb2FkZWQoKSB7XG4gICAgaWYgKHRoaXMuX0VudGl0eSAmJiB0aGlzLl90eXBlKSB7XG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpXG4gICAgICB0aGlzLnN1Ym1pdGNsaWNrLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcblxuICAgIH1cbiAgfVxuICAvKirlop7liqDpgInpobkgKi9cbiAgYWRkU2VsZWN0T3B0aW9ucygpIHtcbiAgICB0aGlzLlNlbGVjdE9wdGlvbnMucHVzaChuZXcgRm9ybUdyb3VwKHtcbiAgICAgIFRleHQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBWYWx1ZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIFNlbGVjdGVkOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpXG4gICAgfSkpXG4gIH1cbiAgLyoq5Yig6Zmk5p+Q5Liq6YCJ6aG5ICovXG4gIGRlbGV0ZVNlbGVjdE9wdGlvbnMoaW5kZXgpIHtcbiAgICB0aGlzLlNlbGVjdE9wdGlvbnMucmVtb3ZlQXQoaW5kZXgpXG4gIH1cblxuICBBZnRlckluaXQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3RzKSA9PiB7XG4gICAgICB0aGlzLl9FbnRpdHkuc2V0Q29udHJvbCgnZm9ybUNvbmZpZ3VyYXRpb24nLCB0aGlzLmZiLmdyb3VwKG5ldyBTZWxlY3RDb25maWcoKSkpXG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgJiYgdGhpcy5fc2VsZWN0ZWQuZm9ybUNvbnRyb2xOYW1lID09IHRoaXMuX3R5cGUpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQuZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5PcHRpb25zJ10/LmZvckVhY2goZWwgPT4ge1xuICAgICAgICAgIHRoaXMuYWRkU2VsZWN0T3B0aW9ucygpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIC4uLnRoaXMuX3NlbGVjdGVkLmZvcm1Db25maWd1cmF0aW9uLFxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGRTZWxlY3RPcHRpb25zKClcbiAgICAgIH1cbiAgICAgIHJlc29sdmUodHJ1ZSlcbiAgICB9KVxuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIl9FbnRpdHlcIj5cbiAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJmb3JtQ29uZmlndXJhdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7J0RpZ25pdGVBYnBGb3Jtczo6U2VsZWN0TGlzdEl0ZW0nIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGVcIj5cbiAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPnt7J0RpZ25pdGVBYnBGb3Jtczo6U2VsZWN0TGlzdEl0ZW1UZXh0JyB8IGFicExvY2FsaXphdGlvbn19PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPnt7J0RpZ25pdGVBYnBGb3Jtczo6U2VsZWN0TGlzdEl0ZW1WYWx1ZScgfCBhYnBMb2NhbGl6YXRpb259fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj57eydEaWduaXRlQWJwRm9ybXM6OlNlbGVjdExpc3RJdGVtVmFsdWUnIHwgYWJwTG9jYWxpemF0aW9ufX08L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgc3R5bGU9XCJ3aWR0aDogMSU7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtXCIgKGNsaWNrLnN0b3ApPVwiYWRkU2VsZWN0T3B0aW9ucygpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBsdXMtY2lyY2xlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgIDx0Ym9keSBmb3JtQXJyYXlOYW1lPVwiU2VsZWN0Lk9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBTZWxlY3RPcHRpb25zLmNvbnRyb2xzO2xldCBpPWluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIlRleHRcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIlZhbHVlXCI+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tY2hlY2staW5saW5lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgIGZvcm1Db250cm9sTmFtZT1cIlNlbGVjdGVkXCIgaWQ9XCJzZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzY29wZT1cInJvd1wiIHN0eWxlPVwid2lkdGg6IDElO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc21cIiAoY2xpY2suc3RvcCk9XCJkZWxldGVTZWxlY3RPcHRpb25zKGkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1taW51c1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+IFxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cblxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydEaWduaXRlQWJwRm9ybXM6Ok51bGxUZXh0JyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiU2VsZWN0Lk51bGxUZXh0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwiU2VsZWN0Lk11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJNdWx0aXBsZVwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJNdWx0aXBsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eydEaWduaXRlQWJwRm9ybXM6Ok11bHRpcGxlJyB8IGFicExvY2FsaXphdGlvbn19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGFicEluaXQpPVwic3VibWl0Y2xpY2s/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKClcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCJcbiAgICAgICAgICAgICNzdWJtaXRjbGljaz48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZm9ybT4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FormArray } from "@angular/forms";
|
|
2
|
+
export class SelectConfig {
|
|
3
|
+
/**空值文本 */
|
|
4
|
+
// placeholder: any = new FormControl('', Validators.required);
|
|
5
|
+
'Select.NullText' = ['', []];
|
|
6
|
+
//多选
|
|
7
|
+
'Select.Multiple' = [false, []];
|
|
8
|
+
// 选项
|
|
9
|
+
'Select.Options' = new FormArray([]);
|
|
10
|
+
constructor(data) {
|
|
11
|
+
if (data) {
|
|
12
|
+
for (const key in data) {
|
|
13
|
+
if (data.hasOwnProperty(key)) {
|
|
14
|
+
this[key] = data[key];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZnJvbS9zZWxlY3Qvc2VsZWN0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUEyQixNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE1BQU0sT0FBTyxZQUFZO0lBR3JCLFVBQVU7SUFDViwrREFBK0Q7SUFDL0QsaUJBQWlCLEdBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEMsSUFBSTtJQUNKLGlCQUFpQixHQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLEtBQUs7SUFDTCxnQkFBZ0IsR0FBUSxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUV6QyxZQUFZLElBQW1CO1FBQzNCLElBQUksSUFBSSxFQUFFO1lBQ04sS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7Z0JBQ3BCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDekI7YUFDSjtTQUNKO0lBR0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbmZpZyB7XHJcblxyXG5cclxuICAgIC8qKuepuuWAvOaWh+acrCAqL1xyXG4gICAgLy8gcGxhY2Vob2xkZXI6IGFueSA9IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAnU2VsZWN0Lk51bGxUZXh0JzogYW55ID0gWycnLCBbXV07XHJcbiAgICAvL+WkmumAiVxyXG4gICAgJ1NlbGVjdC5NdWx0aXBsZSc6IGFueSA9IFtmYWxzZSwgW11dO1xyXG4gICAgLy8g6YCJ6aG5XHJcbiAgICAnU2VsZWN0Lk9wdGlvbnMnOiBhbnkgPSBuZXcgRm9ybUFycmF5KFtdKVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBTZWxlY3RDb25maWcpIHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@ngx-validate/core";
|
|
7
|
+
class SelectControlComponent {
|
|
8
|
+
fb;
|
|
9
|
+
constructor(fb) {
|
|
10
|
+
this.fb = fb;
|
|
11
|
+
}
|
|
12
|
+
/**表单实体 */
|
|
13
|
+
_entity;
|
|
14
|
+
set entity(v) {
|
|
15
|
+
this._entity = v;
|
|
16
|
+
this.dataLoaded();
|
|
17
|
+
}
|
|
18
|
+
/**字段配置列表 */
|
|
19
|
+
_fields = '';
|
|
20
|
+
set fields(v) {
|
|
21
|
+
this._fields = v;
|
|
22
|
+
this.dataLoaded();
|
|
23
|
+
}
|
|
24
|
+
/**父级字段名称,用于为表单设置控件赋值 */
|
|
25
|
+
_parentFiledName;
|
|
26
|
+
set parentFiledName(v) {
|
|
27
|
+
this._parentFiledName = v;
|
|
28
|
+
this.dataLoaded();
|
|
29
|
+
}
|
|
30
|
+
/**父级字段名称,用于为表单设置控件赋值 */
|
|
31
|
+
_selected;
|
|
32
|
+
set selected(v) {
|
|
33
|
+
this._selected = v;
|
|
34
|
+
this.dataLoaded();
|
|
35
|
+
}
|
|
36
|
+
submitclick;
|
|
37
|
+
get extraProperties() {
|
|
38
|
+
return this._entity.get('extraProperties');
|
|
39
|
+
}
|
|
40
|
+
/**数据加载完成 */
|
|
41
|
+
async dataLoaded() {
|
|
42
|
+
if (this._fields && this._entity) {
|
|
43
|
+
await this.AfterInit();
|
|
44
|
+
this.submitclick.nativeElement.click();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
formConfiguration = '';
|
|
48
|
+
AfterInit() {
|
|
49
|
+
return new Promise((resolve, rejects) => {
|
|
50
|
+
let ValidatorsArray = [];
|
|
51
|
+
if (this._fields.required) {
|
|
52
|
+
ValidatorsArray.push(Validators.required);
|
|
53
|
+
}
|
|
54
|
+
this.formConfiguration = this._fields.field.formConfiguration;
|
|
55
|
+
if (!this._selected) {
|
|
56
|
+
const isMultiple = this.formConfiguration['Select.Multiple'];
|
|
57
|
+
let selectValue = isMultiple ? [] : '';
|
|
58
|
+
this.formConfiguration['Select.Options'].forEach(el => {
|
|
59
|
+
if (el.Selected) {
|
|
60
|
+
selectValue = isMultiple ? [...selectValue, el.value] : [el.value];
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
this._selected = selectValue;
|
|
64
|
+
}
|
|
65
|
+
let newControl = this.fb.control(this._selected, ValidatorsArray);
|
|
66
|
+
this.extraProperties.setControl(this._fields.field.name, newControl);
|
|
67
|
+
resolve(true);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectControlComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectControlComponent, selector: "df-select-control", inputs: { entity: "entity", fields: "fields", parentFiledName: "parentFiledName", selected: "selected" }, 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-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ng-container *ngIf=\"formConfiguration['Select.Multiple']; else elseTemplate\">\n <select class=\"form-select\" multiple formControlName=\"{{_fields.field.name}}\">\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-container>\n <ng-template #elseTemplate>\n <select class=\"form-select\" [multiple]=\"false\"\n formControlName=\"{{_fields.field.name}}\">\n <option>{{formConfiguration['Select.NullText']}}</option>\n <ng-container *ngFor=\"let item of formConfiguration['Select.Options'];let i =index\">\n <option [value]=\"item.Value\" >{{item.Text}}</option>\n </ng-container>\n </select>\n </ng-template>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\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"] }] });
|
|
72
|
+
}
|
|
73
|
+
export { SelectControlComponent };
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectControlComponent, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{ selector: 'df-select-control', template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ng-container *ngIf=\"formConfiguration['Select.Multiple']; else elseTemplate\">\n <select class=\"form-select\" multiple formControlName=\"{{_fields.field.name}}\">\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-container>\n <ng-template #elseTemplate>\n <select class=\"form-select\" [multiple]=\"false\"\n formControlName=\"{{_fields.field.name}}\">\n <option>{{formConfiguration['Select.NullText']}}</option>\n <ng-container *ngFor=\"let item of formConfiguration['Select.Options'];let i =index\">\n <option [value]=\"item.Value\" >{{item.Text}}</option>\n </ng-container>\n </select>\n </ng-template>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>" }]
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { entity: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], fields: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], parentFiledName: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], selected: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], submitclick: [{
|
|
86
|
+
type: ViewChild,
|
|
87
|
+
args: ['submitclick', { static: true }]
|
|
88
|
+
}] } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mcm9tL3NlbGVjdC9zZWxlY3QtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zyb20vc2VsZWN0L3NlbGVjdC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFcEUsTUFLYSxzQkFBc0I7SUFHdkI7SUFEVixZQUNVLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO0lBRXpCLENBQUM7SUFFRCxVQUFVO0lBQ1YsT0FBTyxDQUF1QjtJQUM5QixJQUNXLE1BQU0sQ0FBQyxDQUFNO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsWUFBWTtJQUNaLE9BQU8sR0FBUSxFQUFFLENBQUE7SUFDakIsSUFDVyxNQUFNLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixnQkFBZ0IsQ0FBSztJQUNyQixJQUNXLGVBQWUsQ0FBQyxDQUFNO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFDRCx3QkFBd0I7SUFDeEIsU0FBUyxDQUFLO0lBQ2QsSUFDVyxRQUFRLENBQUMsQ0FBTTtRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUMyQyxXQUFXLENBQWE7SUFHcEUsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQWMsQ0FBQTtJQUN6RCxDQUFDO0lBQ0QsWUFBWTtJQUNaLEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FHeEM7SUFDSCxDQUFDO0lBQ0QsaUJBQWlCLEdBQVEsRUFBRSxDQUFBO0lBQzNCLFNBQVM7UUFDUCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RDLElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQTtZQUN4QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUN6QixlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTthQUMxQztZQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQTtZQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBRTdELElBQUksV0FBVyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7Z0JBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtvQkFDcEQsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO3dCQUNmLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDcEU7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7YUFDOUI7WUFDRCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFBO1lBQ2pFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQTtZQUNwRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDZixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7d0dBNUVVLHNCQUFzQjs0RkFBdEIsc0JBQXNCLDZSQ1JuQyxvN0NBeUJPOztTRGpCTSxzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7a0dBY2xCLE1BQU07c0JBRGhCLEtBQUs7Z0JBU0ssTUFBTTtzQkFEaEIsS0FBSztnQkFTSyxlQUFlO3NCQUR6QixLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBS3NDLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGYtc2VsZWN0LWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtY29udHJvbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbnRyb2xDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICApIHtcbiAgfVxuXG4gIC8qKuihqOWNleWunuS9kyAqL1xuICBfZW50aXR5OiBGb3JtR3JvdXAgfCB1bmRlZmluZWRcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbnRpdHkodjogYW55KSB7XG4gICAgdGhpcy5fZW50aXR5ID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG5cbiAgLyoq5a2X5q616YWN572u5YiX6KGoICovXG4gIF9maWVsZHM6IGFueSA9ICcnXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmllbGRzKHY6IGFueSkge1xuICAgIHRoaXMuX2ZpZWxkcyA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuXG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfcGFyZW50RmlsZWROYW1lOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwYXJlbnRGaWxlZE5hbWUodjogYW55KSB7XG4gICAgdGhpcy5fcGFyZW50RmlsZWROYW1lID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfc2VsZWN0ZWQ6IGFueVxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHY6IGFueSkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdlxuICAgIHRoaXMuZGF0YUxvYWRlZCgpXG4gIH1cbiAgQFZpZXdDaGlsZCgnc3VibWl0Y2xpY2snLCB7IHN0YXRpYzogdHJ1ZSB9KSBzdWJtaXRjbGljazogRWxlbWVudFJlZjtcblxuXG4gIGdldCBleHRyYVByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VudGl0eS5nZXQoJ2V4dHJhUHJvcGVydGllcycpIGFzIEZvcm1Hcm91cFxuICB9XG4gIC8qKuaVsOaNruWKoOi9veWujOaIkCAqL1xuICBhc3luYyBkYXRhTG9hZGVkKCkge1xuICAgIGlmICh0aGlzLl9maWVsZHMgJiYgdGhpcy5fZW50aXR5KSB7XG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpXG4gICAgICB0aGlzLnN1Ym1pdGNsaWNrLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcblxuXG4gICAgfVxuICB9XG4gIGZvcm1Db25maWd1cmF0aW9uOiBhbnkgPSAnJ1xuICBBZnRlckluaXQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3RzKSA9PiB7XG4gICAgICBsZXQgVmFsaWRhdG9yc0FycmF5ID0gW11cbiAgICAgIGlmICh0aGlzLl9maWVsZHMucmVxdWlyZWQpIHtcbiAgICAgICAgVmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24gPSB0aGlzLl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25cbiAgICAgIGlmICghdGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgICAgY29uc3QgaXNNdWx0aXBsZSA9IHRoaXMuZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5NdWx0aXBsZSddO1xuXG4gICAgICAgIGxldCBzZWxlY3RWYWx1ZSA9IGlzTXVsdGlwbGUgPyBbXSA6ICcnXG4gICAgICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5PcHRpb25zJ10uZm9yRWFjaChlbCA9PiB7XG4gICAgICAgICAgaWYgKGVsLlNlbGVjdGVkKSB7XG4gICAgICAgICAgICBzZWxlY3RWYWx1ZSA9IGlzTXVsdGlwbGUgPyBbLi4uc2VsZWN0VmFsdWUsIGVsLnZhbHVlXSA6IFtlbC52YWx1ZV07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdFZhbHVlO1xuICAgICAgfVxuICAgICAgbGV0IG5ld0NvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2wodGhpcy5fc2VsZWN0ZWQsIFZhbGlkYXRvcnNBcnJheSlcbiAgICAgIHRoaXMuZXh0cmFQcm9wZXJ0aWVzLnNldENvbnRyb2wodGhpcy5fZmllbGRzLmZpZWxkLm5hbWUsIG5ld0NvbnRyb2wpXG4gICAgICByZXNvbHZlKHRydWUpXG4gICAgfSlcbiAgfVxuXG5cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiX2VudGl0eVwiPlxuICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cImV4dHJhUHJvcGVydGllc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiICAqbmdJZj1cIl9maWVsZHMuZGlzcGxheU5hbWVcIj57eyBfZmllbGRzLmRpc3BsYXlOYW1lIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtQ29uZmlndXJhdGlvblsnU2VsZWN0Lk11bHRpcGxlJ107IGVsc2UgZWxzZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgbXVsdGlwbGUgZm9ybUNvbnRyb2xOYW1lPVwie3tfZmllbGRzLmZpZWxkLm5hbWV9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5PcHRpb25zJ107bGV0IGkgPWluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+e3tpdGVtLnRleHR9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwie3tfZmllbGRzLmZpZWxkLm5hbWV9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPnt7Zm9ybUNvbmZpZ3VyYXRpb25bJ1NlbGVjdC5OdWxsVGV4dCddfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmb3JtQ29uZmlndXJhdGlvblsnU2VsZWN0Lk9wdGlvbnMnXTtsZXQgaSA9aW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIml0ZW0uVmFsdWVcIiA+e3tpdGVtLlRleHR9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS10ZXh0XCIgKm5nSWY9XCJfZmllbGRzLmZpZWxkLmRlc2NyaXB0aW9uXCI+e3tfZmllbGRzLmZpZWxkLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgI3N1Ym1pdGNsaWNrPjwvYnV0dG9uPlxuPC9mb3JtPiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './switch-config.component';
|
|
2
|
+
export * from './switch-control.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zyb20vc3dpdGNoL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3dpdGNoLWNvbmZpZy5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3dpdGNoLWNvbnRyb2wuY29tcG9uZW50JyJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { SwitchConfig } from './switch-config';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@abp/ng.core";
|
|
6
|
+
import * as i3 from "@ngx-validate/core";
|
|
7
|
+
class SwitchConfigComponent {
|
|
8
|
+
fb;
|
|
9
|
+
constructor(fb) {
|
|
10
|
+
this.fb = fb;
|
|
11
|
+
}
|
|
12
|
+
/**表单控件类型 */
|
|
13
|
+
_type;
|
|
14
|
+
set type(v) {
|
|
15
|
+
this._type = v;
|
|
16
|
+
this.dataLoaded();
|
|
17
|
+
}
|
|
18
|
+
/**表单实体 */
|
|
19
|
+
_Entity;
|
|
20
|
+
set Entity(v) {
|
|
21
|
+
this._Entity = v;
|
|
22
|
+
this.dataLoaded();
|
|
23
|
+
}
|
|
24
|
+
/**选择的表单信息 */
|
|
25
|
+
_selected;
|
|
26
|
+
set selected(v) {
|
|
27
|
+
this._selected = v;
|
|
28
|
+
this.dataLoaded();
|
|
29
|
+
}
|
|
30
|
+
get formConfiguration() {
|
|
31
|
+
return this._Entity.get('formConfiguration');
|
|
32
|
+
}
|
|
33
|
+
submitclick;
|
|
34
|
+
async dataLoaded() {
|
|
35
|
+
if (this._Entity && this._type) {
|
|
36
|
+
await this.AfterInit();
|
|
37
|
+
this.submitclick.nativeElement.click();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
AfterInit() {
|
|
41
|
+
return new Promise((resolve, rejects) => {
|
|
42
|
+
this._Entity.setControl('formConfiguration', this.fb.group(new SwitchConfig()));
|
|
43
|
+
if (this._selected && this._selected.formControlName == this._type) {
|
|
44
|
+
this.formConfiguration.patchValue({
|
|
45
|
+
...this._selected.formConfiguration
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
resolve(true);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SwitchConfigComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SwitchConfigComponent, selector: "df-switch-config", inputs: { type: "type", Entity: "Entity", selected: "selected" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Switch.Default\"\n id=\"flexRadioDefault1\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::DefaultValue' | abpLocalization}}\n </label>\n </div>\n \n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.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: i2.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i3.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }] });
|
|
53
|
+
}
|
|
54
|
+
export { SwitchConfigComponent };
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SwitchConfigComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'df-switch-config', template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Switch.Default\"\n id=\"flexRadioDefault1\">\n <label class=\"form-check-label\" for=\"flexRadioDefault1\">\n {{'DigniteAbpForms::DefaultValue' | abpLocalization}}\n </label>\n </div>\n \n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>" }]
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { type: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], Entity: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], selected: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], submitclick: [{
|
|
65
|
+
type: ViewChild,
|
|
66
|
+
args: ['submitclick', { static: true }]
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zyb20vc3dpdGNoL3N3aXRjaC1jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mcm9tL3N3aXRjaC9zd2l0Y2gtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBQy9DLE1BS2EscUJBQXFCO0lBRXRCO0lBRFYsWUFDVSxFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtJQUNyQixDQUFDO0lBQ0wsWUFBWTtJQUNaLEtBQUssQ0FBSztJQUNWLElBQ1csSUFBSSxDQUFDLENBQU07UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDZCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUNELFVBQVU7SUFDVixPQUFPLENBQXVCO0lBQzlCLElBQ1csTUFBTSxDQUFDLENBQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFDRCxhQUFhO0lBQ2IsU0FBUyxDQUFLO0lBQ2QsSUFDVyxRQUFRLENBQUMsQ0FBTTtRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQTtRQUVsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUNELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQWMsQ0FBQTtJQUMzRCxDQUFDO0lBQzJDLFdBQVcsQ0FBYTtJQUVwRSxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQzlCLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1lBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQy9FLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsSUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUM5RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO29CQUNoQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCO2lCQUNwQyxDQUFDLENBQUE7YUFDSDtZQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzt3R0FoRFUscUJBQXFCOzRGQUFyQixxQkFBcUIsb1BDUmxDLGt3QkFnQk87O1NEUk0scUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCO2tHQVdqQixJQUFJO3NCQURkLEtBQUs7Z0JBUUssTUFBTTtzQkFEaEIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQVNzQyxXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3dpdGNoQ29uZmlnIH0gZnJvbSAnLi9zd2l0Y2gtY29uZmlnJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RmLXN3aXRjaC1jb25maWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLWNvbmZpZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N3aXRjaC1jb25maWcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTd2l0Y2hDb25maWdDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgKSB7IH1cbiAgLyoq6KGo5Y2V5o6n5Lu257G75Z6LICovXG4gIF90eXBlOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0eXBlKHY6IGFueSkge1xuICAgIHRoaXMuX3R5cGUgPSB2XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuICAvKirooajljZXlrp7kvZMgKi9cbiAgX0VudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgRW50aXR5KHY6IEZvcm1Hcm91cCkge1xuICAgIHRoaXMuX0VudGl0eSA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuICAvKirpgInmi6nnmoTooajljZXkv6Hmga8gKi9cbiAgX3NlbGVjdGVkOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHZcblxuICAgIHRoaXMuZGF0YUxvYWRlZCgpXG4gIH1cbiAgZ2V0IGZvcm1Db25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9FbnRpdHkuZ2V0KCdmb3JtQ29uZmlndXJhdGlvbicpIGFzIEZvcm1Hcm91cFxuICB9XG4gIEBWaWV3Q2hpbGQoJ3N1Ym1pdGNsaWNrJywgeyBzdGF0aWM6IHRydWUgfSkgc3VibWl0Y2xpY2s6IEVsZW1lbnRSZWY7XG5cbiAgYXN5bmMgZGF0YUxvYWRlZCgpIHtcbiAgICBpZiAodGhpcy5fRW50aXR5ICYmIHRoaXMuX3R5cGUpIHtcbiAgICAgIGF3YWl0IHRoaXMuQWZ0ZXJJbml0KClcbiAgICAgIHRoaXMuc3VibWl0Y2xpY2submF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIEFmdGVySW5pdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIHRoaXMuX0VudGl0eS5zZXRDb250cm9sKCdmb3JtQ29uZmlndXJhdGlvbicsIHRoaXMuZmIuZ3JvdXAobmV3IFN3aXRjaENvbmZpZygpKSlcbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCYmdGhpcy5fc2VsZWN0ZWQuZm9ybUNvbnRyb2xOYW1lPT10aGlzLl90eXBlKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgLi4udGhpcy5fc2VsZWN0ZWQuZm9ybUNvbmZpZ3VyYXRpb25cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHJlc29sdmUodHJ1ZSlcbiAgICB9KVxuICB9XG5cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiX0VudGl0eVwiPlxuICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cImZvcm1Db25maWd1cmF0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tY2hlY2staW5saW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJTd2l0Y2guRGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cImZsZXhSYWRpb0RlZmF1bHQxXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJmbGV4UmFkaW9EZWZhdWx0MVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3snRGlnbml0ZUFicEZvcm1zOjpEZWZhdWx0VmFsdWUnIHwgYWJwTG9jYWxpemF0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGFicEluaXQpPVwic3VibWl0Y2xpY2s/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKClcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgI3N1Ym1pdGNsaWNrPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9mb3JtPiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class SwitchConfig {
|
|
2
|
+
/**默认值 */
|
|
3
|
+
// placeholder: any = new FormControl('', Validators.required);
|
|
4
|
+
'Switch.Default' = [false, []];
|
|
5
|
+
constructor(data) {
|
|
6
|
+
if (data) {
|
|
7
|
+
for (const key in data) {
|
|
8
|
+
if (data.hasOwnProperty(key)) {
|
|
9
|
+
this[key] = data[key];
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZnJvbS9zd2l0Y2gvc3dpdGNoLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sWUFBWTtJQUdyQixTQUFTO0lBQ1QsK0RBQStEO0lBQy9ELGdCQUFnQixHQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLFlBQVksSUFBbUI7UUFDM0IsSUFBSSxJQUFJLEVBQUU7WUFDTixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN6QjthQUNKO1NBQ0o7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFN3aXRjaENvbmZpZyB7XHJcblxyXG5cclxuICAgIC8qKum7mOiupOWAvCAqL1xyXG4gICAgLy8gcGxhY2Vob2xkZXI6IGFueSA9IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAnU3dpdGNoLkRlZmF1bHQnOiBhbnkgPSBbZmFsc2UsIFtdXTtcclxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBTd2l0Y2hDb25maWcpIHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|