@dignite-ng/expand.dynamic-form 3.0.0-rc.49 → 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/esm2022/lib/components/dynamic/dynamic-config.component.mjs +56 -6
- package/esm2022/lib/components/dynamic/dynamic-control.component.mjs +87 -6
- package/esm2022/lib/components/dynamic/dynamic-search.component.mjs +3 -2
- package/esm2022/lib/components/dynamic/dynamic-view.component.mjs +5 -3
- package/esm2022/lib/components/dynamic/dynamic.component.mjs +7 -3
- package/esm2022/lib/components/form/date-edit/date-edit-config.component.mjs +11 -10
- package/esm2022/lib/components/form/date-edit/date-edit-control.component.mjs +5 -4
- package/esm2022/lib/components/form/date-edit/date-edit-view.component.mjs +3 -2
- package/esm2022/lib/components/form/form-control-group.mjs +2 -2
- package/esm2022/lib/components/form/numeric-edit/numberic-edit-config.component.mjs +10 -9
- package/esm2022/lib/components/form/numeric-edit/numeric-edit-search.component.mjs +1 -1
- package/esm2022/lib/components/form/select/select-config.component.mjs +16 -10
- package/esm2022/lib/components/form/select/select-config.mjs +4 -11
- package/esm2022/lib/components/form/select/select-view.component.mjs +3 -2
- package/esm2022/lib/components/form/switch/switch-config.component.mjs +14 -11
- package/esm2022/lib/components/form/switch/switch-config.mjs +3 -10
- package/esm2022/lib/components/form/text-edit/text-edit-config.component.mjs +14 -14
- package/esm2022/lib/components/form/text-edit/text-edit-config.mjs +5 -12
- package/esm2022/lib/services/df-api.service.mjs +2 -60
- package/esm2022/lib/services/form-control.service.mjs +8 -4
- package/fesm2022/dignite-ng-expand.dynamic-form.mjs +229 -156
- package/fesm2022/dignite-ng-expand.dynamic-form.mjs.map +1 -1
- package/lib/components/dynamic/dynamic-config.component.d.ts +17 -2
- package/lib/components/dynamic/dynamic-control.component.d.ts +28 -2
- package/lib/components/dynamic/dynamic-view.component.d.ts +2 -2
- package/lib/components/dynamic/dynamic.component.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 +2 -1
- 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/select/select-config.component.d.ts +7 -1
- package/lib/components/form/select/select-config.d.ts +0 -1
- 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/text-edit/text-edit-config.component.d.ts +4 -4
- package/lib/components/form/text-edit/text-edit-config.d.ts +0 -1
- package/lib/services/df-api.service.d.ts +0 -11
- package/lib/services/form-control.service.d.ts +5 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
1
2
|
import { ChangeDetectorRef, Component, ElementRef, inject, Input, ViewChild } from '@angular/core';
|
|
2
3
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
3
4
|
import { SwitchConfig } from './switch-config';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@
|
|
7
|
-
import * as i3 from "@
|
|
7
|
+
import * as i2 from "@ngx-validate/core";
|
|
8
|
+
import * as i3 from "@abp/ng.core";
|
|
8
9
|
export class SwitchConfigComponent {
|
|
9
10
|
constructor(fb) {
|
|
10
11
|
this.fb = fb;
|
|
@@ -15,7 +16,7 @@ export class SwitchConfigComponent {
|
|
|
15
16
|
this.dataLoaded();
|
|
16
17
|
}
|
|
17
18
|
set Entity(v) {
|
|
18
|
-
this.
|
|
19
|
+
this.formEntity = v;
|
|
19
20
|
this.dataLoaded();
|
|
20
21
|
}
|
|
21
22
|
set selected(v) {
|
|
@@ -23,18 +24,20 @@ export class SwitchConfigComponent {
|
|
|
23
24
|
this.dataLoaded();
|
|
24
25
|
}
|
|
25
26
|
get formConfiguration() {
|
|
26
|
-
return this.
|
|
27
|
+
return this.formEntity.get('formConfiguration');
|
|
27
28
|
}
|
|
28
29
|
async dataLoaded() {
|
|
29
|
-
if (this.
|
|
30
|
+
if (this.formEntity && this._type) {
|
|
30
31
|
await this.AfterInit();
|
|
31
|
-
this.cdr.detectChanges();
|
|
32
|
-
this.submitclick?.nativeElement?.click();
|
|
32
|
+
// this.cdr.detectChanges();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
AfterInit() {
|
|
36
36
|
return new Promise((resolve, rejects) => {
|
|
37
|
-
this.
|
|
37
|
+
this.formEntity.setControl('formConfiguration', this.fb.group(new SwitchConfig()));
|
|
38
|
+
setTimeout(() => {
|
|
39
|
+
this.submitclick?.nativeElement?.click();
|
|
40
|
+
}, 0);
|
|
38
41
|
if (this._selected && this._selected.formControlName == this._type) {
|
|
39
42
|
this.formConfiguration.patchValue({
|
|
40
43
|
...this._selected.formConfiguration,
|
|
@@ -44,11 +47,11 @@ export class SwitchConfigComponent {
|
|
|
44
47
|
});
|
|
45
48
|
}
|
|
46
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SwitchConfigComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", 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]=\"
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", 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]=\"formEntity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-3\">\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 {{'AbpDynamicForm::DefaultValue' | abpLocalization}}\n </label>\n </div>\n \n </div>\n </div>\n <button type=\"submit\" 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.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i2.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
48
51
|
}
|
|
49
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SwitchConfigComponent, decorators: [{
|
|
50
53
|
type: Component,
|
|
51
|
-
args: [{ selector: 'df-switch-config', template: "<form [formGroup]=\"
|
|
54
|
+
args: [{ selector: 'df-switch-config', template: "<form [formGroup]=\"formEntity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-3\">\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 {{'AbpDynamicForm::DefaultValue' | abpLocalization}}\n </label>\n </div>\n \n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>" }]
|
|
52
55
|
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { type: [{
|
|
53
56
|
type: Input
|
|
54
57
|
}], Entity: [{
|
|
@@ -59,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
59
62
|
type: ViewChild,
|
|
60
63
|
args: ['submitclick', { static: true }]
|
|
61
64
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vc3dpdGNoL3N3aXRjaC1jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3N3aXRjaC9zd2l0Y2gtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFNL0MsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQTJCM0IsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBM0JGLENBQUM7SUFHdkMsSUFDVyxJQUFJLENBQUMsQ0FBTTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBR0QsSUFDVyxNQUFNLENBQUMsQ0FBd0I7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFHRCxJQUNXLFFBQVEsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBYyxDQUFDO0lBQy9ELENBQUM7SUFJRCxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkIsNEJBQTRCO1FBRTlCLENBQUM7SUFDSCxDQUFDO0lBSUQsU0FBUztRQUNQLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEYsVUFBVSxDQUFDLEdBQUUsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDMUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ0gsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztvQkFDaEMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQjtpQkFDcEMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBcERVLHFCQUFxQjtrR0FBckIscUJBQXFCLG9QQ1RsQyxtdEJBZ0JPOzsyRkRQTSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCO2dGQVNqQixJQUFJO3NCQURkLEtBQUs7Z0JBUUssTUFBTTtzQkFEaEIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQVFzQyxXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTd2l0Y2hDb25maWcgfSBmcm9tICcuL3N3aXRjaC1jb25maWcnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGYtc3dpdGNoLWNvbmZpZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2gtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3dpdGNoLWNvbmZpZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTd2l0Y2hDb25maWdDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cbiAgLyoq6KGo5Y2V5o6n5Lu257G75Z6LICovXG4gIF90eXBlOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdHlwZSh2OiBhbnkpIHtcbiAgICB0aGlzLl90eXBlID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKTtcbiAgfVxuICAvKirooajljZXlrp7kvZMgKi9cbiAgZm9ybUVudGl0eTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IEVudGl0eSh2OiBGb3JtR3JvdXAgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmZvcm1FbnRpdHkgPSB2O1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpO1xuICB9XG4gIC8qKumAieaLqeeahOihqOWNleS/oeaBryAqL1xuICBfc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKCk7XG4gIH1cbiAgZ2V0IGZvcm1Db25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1FbnRpdHkuZ2V0KCdmb3JtQ29uZmlndXJhdGlvbicpIGFzIEZvcm1Hcm91cDtcbiAgfVxuICBAVmlld0NoaWxkKCdzdWJtaXRjbGljaycsIHsgc3RhdGljOiB0cnVlIH0pIHN1Ym1pdGNsaWNrOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgYXN5bmMgZGF0YUxvYWRlZCgpIHtcbiAgICBpZiAodGhpcy5mb3JtRW50aXR5ICYmIHRoaXMuX3R5cGUpIHtcbiAgICAgIGF3YWl0IHRoaXMuQWZ0ZXJJbml0KCk7XG4gICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgXG4gICAgfVxuICB9XG5cblxuXG4gIEFmdGVySW5pdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIHRoaXMuZm9ybUVudGl0eS5zZXRDb250cm9sKCdmb3JtQ29uZmlndXJhdGlvbicsIHRoaXMuZmIuZ3JvdXAobmV3IFN3aXRjaENvbmZpZygpKSk7XG4gICAgICAgc2V0VGltZW91dCgoKT0+e1xuICAgICAgdGhpcy5zdWJtaXRjbGljaz8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcbiAgICAgfSwwKVxuICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkICYmIHRoaXMuX3NlbGVjdGVkLmZvcm1Db250cm9sTmFtZSA9PSB0aGlzLl90eXBlKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgLi4udGhpcy5fc2VsZWN0ZWQuZm9ybUNvbmZpZ3VyYXRpb24sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtRW50aXR5XCI+XG4gICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZm9ybUNvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cIlN3aXRjaC5EZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZmxleFJhZGlvRGVmYXVsdDFcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZsZXhSYWRpb0RlZmF1bHQxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydBYnBEeW5hbWljRm9ybTo6RGVmYXVsdFZhbHVlJyB8IGFicExvY2FsaXphdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiICBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgI3N1Ym1pdGNsaWNrPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9mb3JtPiJdfQ==
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
export class SwitchConfig {
|
|
2
|
-
constructor(
|
|
2
|
+
constructor() {
|
|
3
3
|
/**默认值 */
|
|
4
|
-
this['Switch.Default'] = [false
|
|
5
|
-
if (data) {
|
|
6
|
-
for (const key in data) {
|
|
7
|
-
if (data.hasOwnProperty(key)) {
|
|
8
|
-
this[key] = data[key];
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
}
|
|
4
|
+
this['Switch.Default'] = [false];
|
|
12
5
|
}
|
|
13
6
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zd2l0Y2gvc3dpdGNoLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE9BQU8sWUFBWTtJQUF6QjtRQUNJLFNBQVM7UUFDVCxzQkFBZ0IsR0FBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgY2xhc3MgU3dpdGNoQ29uZmlnIHtcclxuICAgIC8qKum7mOiupOWAvCAqL1xyXG4gICAgJ1N3aXRjaC5EZWZhdWx0JzogYW55ID0gW2ZhbHNlXTtcclxuICAgIFxyXG59Il19
|
|
@@ -5,22 +5,22 @@ import { TextEditConfig } from './text-edit-config';
|
|
|
5
5
|
import { TextEditMode } from '../../../enums/text-edit-mode';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/forms";
|
|
8
|
-
import * as i2 from "@
|
|
9
|
-
import * as i3 from "@
|
|
8
|
+
import * as i2 from "@ngx-validate/core";
|
|
9
|
+
import * as i3 from "@abp/ng.core";
|
|
10
10
|
export class TextEditConfigComponent {
|
|
11
11
|
constructor(fb) {
|
|
12
12
|
this.fb = fb;
|
|
13
13
|
this._TextEditMode = TextEditMode;
|
|
14
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
15
14
|
this.RadioIndex1 = Math.floor(Math.random() * 1001);
|
|
16
15
|
this.RadioIndex2 = Math.floor(Math.random() * 1001);
|
|
16
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
17
17
|
}
|
|
18
18
|
set type(v) {
|
|
19
|
-
this.
|
|
19
|
+
this.formControlName = v;
|
|
20
20
|
this.dataLoaded();
|
|
21
21
|
}
|
|
22
22
|
set Entity(v) {
|
|
23
|
-
this.
|
|
23
|
+
this.formEntity = v;
|
|
24
24
|
this.dataLoaded();
|
|
25
25
|
}
|
|
26
26
|
set selected(v) {
|
|
@@ -28,19 +28,19 @@ export class TextEditConfigComponent {
|
|
|
28
28
|
this.dataLoaded();
|
|
29
29
|
}
|
|
30
30
|
get formConfiguration() {
|
|
31
|
-
return this.
|
|
31
|
+
return this.formEntity.get('formConfiguration');
|
|
32
32
|
}
|
|
33
33
|
async dataLoaded() {
|
|
34
|
-
if (this.
|
|
34
|
+
if (this.formEntity && this.formControlName) {
|
|
35
35
|
await this.AfterInit();
|
|
36
|
-
this.cdr.detectChanges(); // 手动触发变更检测
|
|
37
|
-
// this.submitclick?.nativeElement?.click();
|
|
38
36
|
}
|
|
39
37
|
}
|
|
40
38
|
AfterInit() {
|
|
41
39
|
return new Promise((resolve, rejects) => {
|
|
42
|
-
this.
|
|
43
|
-
|
|
40
|
+
this.formEntity.setControl('formConfiguration', this.fb.group(new TextEditConfig()));
|
|
41
|
+
this.cdr.detectChanges(); // 手动触发变更检测
|
|
42
|
+
this.submitclick?.nativeElement?.click();
|
|
43
|
+
if (this._selected && this._selected.formControlName == this.formControlName) {
|
|
44
44
|
this.formConfiguration.patchValue({
|
|
45
45
|
...this._selected.formConfiguration,
|
|
46
46
|
});
|
|
@@ -49,11 +49,11 @@ export class TextEditConfigComponent {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TextEditConfigComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TextEditConfigComponent, selector: "df-text-edit-config", inputs: { type: "type", Entity: "Entity", selected: "selected" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TextEditConfigComponent, selector: "df-text-edit-config", inputs: { type: "type", Entity: "Entity", selected: "selected" }, 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::Placeholder' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"TextEdit.Placeholder\" >\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::TextEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_TextEditMode.SingleLine\" formControlName=\"TextEdit.Mode\"\n id=\"flexRadioDefault{{RadioIndex1}}\">\n <label class=\"form-check-label\" for=\"flexRadioDefault{{RadioIndex1}}\">\n {{'AbpDynamicForm::SingleLine' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_TextEditMode.MultipleLine\" formControlName=\"TextEdit.Mode\"\n id=\"flexRadioDefault{{RadioIndex2}}\">\n <label class=\"form-check-label\" for=\"flexRadioDefault{{RadioIndex2}}\">\n {{'AbpDynamicForm::MultipleLine' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::CharLimit' | abpLocalization}}</label>\n <input type=\"number\" class=\"form-control\" formControlName=\"TextEdit.CharLimit\">\n </div>\n <button type=\"submit\" 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.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.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { 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.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i2.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
53
53
|
}
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TextEditConfigComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
|
-
args: [{ selector: 'df-text-edit-config', template: "<
|
|
56
|
+
args: [{ selector: 'df-text-edit-config', template: "<form [formGroup]=\"formEntity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::Placeholder' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"TextEdit.Placeholder\" >\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::TextEditMode' | abpLocalization}}</label>\n <div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_TextEditMode.SingleLine\" formControlName=\"TextEdit.Mode\"\n id=\"flexRadioDefault{{RadioIndex1}}\">\n <label class=\"form-check-label\" for=\"flexRadioDefault{{RadioIndex1}}\">\n {{'AbpDynamicForm::SingleLine' | abpLocalization}}\n </label>\n </div>\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"_TextEditMode.MultipleLine\" formControlName=\"TextEdit.Mode\"\n id=\"flexRadioDefault{{RadioIndex2}}\">\n <label class=\"form-check-label\" for=\"flexRadioDefault{{RadioIndex2}}\">\n {{'AbpDynamicForm::MultipleLine' | abpLocalization}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'AbpDynamicForm::CharLimit' | abpLocalization}}</label>\n <input type=\"number\" class=\"form-control\" formControlName=\"TextEdit.CharLimit\">\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n </div>\n</form>" }]
|
|
57
57
|
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { type: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}], Entity: [{
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
64
64
|
type: ViewChild,
|
|
65
65
|
args: ['submitclick', { static: true }]
|
|
66
66
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vdGV4dC1lZGl0L3RleHQtZWRpdC1jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHluYW1pYy1mb3JtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3RleHQtZWRpdC90ZXh0LWVkaXQtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7O0FBTzdELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDbkMsa0JBQWEsR0FBRyxZQUFZLENBQUM7UUFDN0IsZ0JBQVcsR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNwRCxnQkFBVyxHQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBMkI1QyxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUE5QkYsQ0FBQztJQU92QyxJQUNXLElBQUksQ0FBQyxDQUFNO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBR0QsSUFDVyxNQUFNLENBQUMsQ0FBWTtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUdELElBQ1csUUFBUSxDQUFDLENBQU07UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFjLENBQUM7SUFDL0QsQ0FBQztJQUdELEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxXQUFXO1lBQ3JDLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3pDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzdFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7b0JBQ2hDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUI7aUJBQ3BDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWxEVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qix1UENYcEMsaTBEQStCTzs7MkZEcEJNLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUI7Z0ZBYXBCLElBQUk7c0JBRGQsS0FBSztnQkFRSyxNQUFNO3NCQURoQixLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBUXNDLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRleHRFZGl0Q29uZmlnIH0gZnJvbSAnLi90ZXh0LWVkaXQtY29uZmlnJztcbmltcG9ydCB7IFRleHRFZGl0TW9kZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL3RleHQtZWRpdC1tb2RlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGYtdGV4dC1lZGl0LWNvbmZpZycsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWVkaXQtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1lZGl0LWNvbmZpZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RWRpdENvbmZpZ0NvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxuICBfVGV4dEVkaXRNb2RlID0gVGV4dEVkaXRNb2RlO1xuICBSYWRpb0luZGV4MTogYW55ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMSk7XG4gIFJhZGlvSW5kZXgyOiBhbnkgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAxKTtcblxuICAvKirooajljZXmjqfku7bnsbvlnosgKi9cbiAgZm9ybUNvbnRyb2xOYW1lOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdHlwZSh2OiBhbnkpIHtcbiAgICB0aGlzLmZvcm1Db250cm9sTmFtZSA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKCk7XG4gIH1cbiAgLyoq6KGo5Y2V5a6e5L2TICovXG4gIGZvcm1FbnRpdHk6IEZvcm1Hcm91cCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBFbnRpdHkodjogRm9ybUdyb3VwKSB7XG4gICAgdGhpcy5mb3JtRW50aXR5ID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKTtcbiAgfVxuICAvKirpgInmi6nnmoTooajljZXkv6Hmga8gKi9cbiAgX3NlbGVjdGVkOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWQodjogYW55KSB7XG4gICAgdGhpcy5fc2VsZWN0ZWQgPSB2O1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpO1xuICB9XG4gIGdldCBmb3JtQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtRW50aXR5LmdldCgnZm9ybUNvbmZpZ3VyYXRpb24nKSBhcyBGb3JtR3JvdXA7XG4gIH1cbiAgQFZpZXdDaGlsZCgnc3VibWl0Y2xpY2snLCB7IHN0YXRpYzogdHJ1ZSB9KSBzdWJtaXRjbGljazogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBhc3luYyBkYXRhTG9hZGVkKCkge1xuICAgIGlmICh0aGlzLmZvcm1FbnRpdHkgJiYgdGhpcy5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgIGF3YWl0IHRoaXMuQWZ0ZXJJbml0KCk7XG4gICAgfVxuICB9XG5cbiAgQWZ0ZXJJbml0KCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0cykgPT4ge1xuICAgICAgdGhpcy5mb3JtRW50aXR5LnNldENvbnRyb2woJ2Zvcm1Db25maWd1cmF0aW9uJywgdGhpcy5mYi5ncm91cChuZXcgVGV4dEVkaXRDb25maWcoKSkpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyAvLyDmiYvliqjop6blj5Hlj5jmm7Tmo4DmtYtcbiAgICAgIHRoaXMuc3VibWl0Y2xpY2s/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgJiYgdGhpcy5fc2VsZWN0ZWQuZm9ybUNvbnRyb2xOYW1lID09IHRoaXMuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb24ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgLi4udGhpcy5fc2VsZWN0ZWQuZm9ybUNvbmZpZ3VyYXRpb24sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtRW50aXR5XCI+XG4gICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZm9ybUNvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydBYnBEeW5hbWljRm9ybTo6UGxhY2Vob2xkZXInIHwgYWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAgIGZvcm1Db250cm9sTmFtZT1cIlRleHRFZGl0LlBsYWNlaG9sZGVyXCIgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydBYnBEeW5hbWljRm9ybTo6VGV4dEVkaXRNb2RlJyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJfVGV4dEVkaXRNb2RlLlNpbmdsZUxpbmVcIiBmb3JtQ29udHJvbE5hbWU9XCJUZXh0RWRpdC5Nb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZmxleFJhZGlvRGVmYXVsdHt7UmFkaW9JbmRleDF9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmxleFJhZGlvRGVmYXVsdHt7UmFkaW9JbmRleDF9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3snQWJwRHluYW1pY0Zvcm06OlNpbmdsZUxpbmUnIHwgYWJwTG9jYWxpemF0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cIl9UZXh0RWRpdE1vZGUuTXVsdGlwbGVMaW5lXCIgZm9ybUNvbnRyb2xOYW1lPVwiVGV4dEVkaXQuTW9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cImZsZXhSYWRpb0RlZmF1bHR7e1JhZGlvSW5kZXgyfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZsZXhSYWRpb0RlZmF1bHR7e1JhZGlvSW5kZXgyfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7J0FicER5bmFtaWNGb3JtOjpNdWx0aXBsZUxpbmUnIHwgYWJwTG9jYWxpemF0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydBYnBEeW5hbWljRm9ybTo6Q2hhckxpbWl0JyB8IGFicExvY2FsaXphdGlvbn19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJUZXh0RWRpdC5DaGFyTGltaXRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiICBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgI3N1Ym1pdGNsaWNrPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9mb3JtPiJdfQ==
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
export class TextEditConfig {
|
|
2
|
-
constructor(
|
|
2
|
+
constructor() {
|
|
3
3
|
/**占位符 */
|
|
4
|
-
this['TextEdit.Placeholder'] = [''
|
|
4
|
+
this['TextEdit.Placeholder'] = [''];
|
|
5
5
|
//字段类型,单行文本,多行文本
|
|
6
|
-
this['TextEdit.Mode'] = [0
|
|
6
|
+
this['TextEdit.Mode'] = [0];
|
|
7
7
|
// 字数限制
|
|
8
|
-
this['TextEdit.CharLimit'] = ['265'
|
|
9
|
-
if (data) {
|
|
10
|
-
for (const key in data) {
|
|
11
|
-
if (data.hasOwnProperty(key)) {
|
|
12
|
-
this[key] = data[key];
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
8
|
+
this['TextEdit.CharLimit'] = ['265'];
|
|
16
9
|
}
|
|
17
10
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS90ZXh0LWVkaXQvdGV4dC1lZGl0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUdHLFNBQVM7UUFDUiw0QkFBc0IsR0FBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5DLGdCQUFnQjtRQUNoQixxQkFBZSxHQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsT0FBTztRQUNQLDBCQUFvQixHQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUZXh0RWRpdENvbmZpZyB7XHJcblxyXG5cclxuICAgLyoq5Y2g5L2N56ymICovXHJcbiAgICAnVGV4dEVkaXQuUGxhY2Vob2xkZXInOiBhbnkgPSBbJyddO1xyXG5cclxuICAgIC8v5a2X5q6157G75Z6L77yM5Y2V6KGM5paH5pys77yM5aSa6KGM5paH5pysXHJcbiAgICAnVGV4dEVkaXQuTW9kZSc6IGFueSA9IFswXTtcclxuICAgIC8vIOWtl+aVsOmZkOWItlxyXG4gICAgJ1RleHRFZGl0LkNoYXJMaW1pdCc6IGFueSA9IFsnMjY1J107XHJcbn0iXX0=
|
|
@@ -1,38 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { pinyin } from 'pinyin-pro';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export class DfApiService {
|
|
5
|
-
constructor() { }
|
|
6
|
-
/**
|
|
7
|
-
* 识别中文转化为拼音,固定返回类型
|
|
8
|
-
* 汉字转拼音
|
|
9
|
-
* 大写转小写
|
|
10
|
-
*
|
|
11
|
-
* */
|
|
12
|
-
chineseToPinyin(value) {
|
|
13
|
-
//去除字符串中所有的空格
|
|
14
|
-
// let val = value
|
|
15
|
-
let val = value.replaceAll(' ', "-");
|
|
16
|
-
let array = val.split('');
|
|
17
|
-
let newArray = [];
|
|
18
|
-
array.forEach((el, index) => {
|
|
19
|
-
//转化为小写
|
|
20
|
-
let elChange = el.toLowerCase();
|
|
21
|
-
let isChinese = (str) => {
|
|
22
|
-
return /^[\u4e00-\u9fa5]+$/.test(str);
|
|
23
|
-
};
|
|
24
|
-
if (isChinese(elChange)) {
|
|
25
|
-
const resultWithoutTone = pinyin(elChange, { toneType: 'none', type: 'array' });
|
|
26
|
-
elChange = resultWithoutTone.toString();
|
|
27
|
-
if (index < array.length - 1)
|
|
28
|
-
elChange += '-';
|
|
29
|
-
}
|
|
30
|
-
;
|
|
31
|
-
newArray.push(elChange);
|
|
32
|
-
});
|
|
33
|
-
let pinyinstr = newArray.join('');
|
|
34
|
-
return pinyinstr || val;
|
|
35
|
-
}
|
|
36
4
|
/**获取图片的本地连接 */
|
|
37
5
|
getImageLacolBase64Url(file) {
|
|
38
6
|
return new Promise((resolve, rejects) => {
|
|
@@ -44,32 +12,6 @@ export class DfApiService {
|
|
|
44
12
|
reader.onerror = error => rejects(error);
|
|
45
13
|
});
|
|
46
14
|
}
|
|
47
|
-
/**
|
|
48
|
-
* 深拷贝--方法 */
|
|
49
|
-
deepClone(obj) {
|
|
50
|
-
if (typeof obj !== 'object' || obj === null)
|
|
51
|
-
return obj;
|
|
52
|
-
const result = Array.isArray(obj) ? [] : {};
|
|
53
|
-
for (let key in obj) {
|
|
54
|
-
if (obj.hasOwnProperty(key)) {
|
|
55
|
-
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
|
56
|
-
if (obj[key] instanceof Date) {
|
|
57
|
-
result[key] = new Date(obj[key].getTime());
|
|
58
|
-
}
|
|
59
|
-
else if (obj[key] instanceof RegExp) {
|
|
60
|
-
result[key] = new RegExp(obj[key]);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
result[key] = this.deepClone(obj[key]);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
result[key] = obj[key];
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return result;
|
|
72
|
-
}
|
|
73
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DfApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
74
16
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DfApiService, providedIn: 'root' }); }
|
|
75
17
|
}
|
|
@@ -78,5 +20,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
78
20
|
args: [{
|
|
79
21
|
providedIn: 'root'
|
|
80
22
|
}]
|
|
81
|
-
}]
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGYtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9zZXJ2aWNlcy9kZi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUl2QixlQUFlO0lBQ2Ysc0JBQXNCLENBQUMsSUFBVTtRQUMvQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQzFCLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzhHQWRVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEZkFwaVNlcnZpY2Uge1xuXG5cbiAgXG4gIC8qKuiOt+WPluWbvueJh+eahOacrOWcsOi/nuaOpSAqL1xuICBnZXRJbWFnZUxhY29sQmFzZTY0VXJsKGZpbGU6IEZpbGUpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XG4gICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KVxuICAgICAgfTtcbiAgICAgIHJlYWRlci5vbmVycm9yID0gZXJyb3IgPT4gcmVqZWN0cyhlcnJvcik7XG4gICAgfSlcbiAgfVxuXG4gXG5cbn1cbiJdfQ==
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { Inject, Injectable } from '@angular/core';
|
|
2
2
|
import { FieldControlGroup } from '../components';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* 表单控件服务
|
|
6
|
+
* @description 用于获取表单所有控件的配置信息
|
|
7
|
+
*/
|
|
4
8
|
export class FormControlService {
|
|
5
9
|
constructor(mergedConfig) {
|
|
6
10
|
this.mergedConfig = mergedConfig;
|
|
7
11
|
this._FieldControlGroup = FieldControlGroup;
|
|
8
12
|
}
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
addFieldControlGroup() {
|
|
14
|
+
const array = this.mergedConfig;
|
|
11
15
|
for (const element of array) {
|
|
12
|
-
|
|
16
|
+
const find = FieldControlGroup.find(control => {
|
|
13
17
|
return control.name === element.name;
|
|
14
18
|
});
|
|
15
19
|
if (!find) {
|
|
@@ -30,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
30
34
|
type: Inject,
|
|
31
35
|
args: ['MERGED_FORM_CONFIG']
|
|
32
36
|
}] }] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9keW5hbWljLWZvcm0vc3JjL2xpYi9zZXJ2aWNlcy9mb3JtLWNvbnRyb2wuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWxEOzs7R0FHRztBQUlILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBa0QsWUFBbUI7UUFBbkIsaUJBQVksR0FBWixZQUFZLENBQU87UUFDckUsdUJBQWtCLEdBQUcsaUJBQWlCLENBQUM7SUFEaUMsQ0FBQztJQUd6RSxvQkFBb0I7UUFDbEIsTUFBTSxLQUFLLEdBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM5QixLQUFLLE1BQU0sT0FBTyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDNUMsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDOzhHQWZVLGtCQUFrQixrQkFDVCxvQkFBb0I7a0hBRDdCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFFYyxNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZENvbnRyb2xHcm91cCB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5cclxuLyoqXHJcbiAqIOihqOWNleaOp+S7tuacjeWKoVxyXG4gKiBAZGVzY3JpcHRpb24g55So5LqO6I635Y+W6KGo5Y2V5omA5pyJ5o6n5Lu255qE6YWN572u5L+h5oGvXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUNvbnRyb2xTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdNRVJHRURfRk9STV9DT05GSUcnKSBwcml2YXRlIG1lcmdlZENvbmZpZzogYW55W10pIHt9XHJcbiAgX0ZpZWxkQ29udHJvbEdyb3VwID0gRmllbGRDb250cm9sR3JvdXA7XHJcblxyXG4gIGFkZEZpZWxkQ29udHJvbEdyb3VwKCkge1xyXG4gICAgY29uc3QgYXJyYXk9dGhpcy5tZXJnZWRDb25maWc7XHJcbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgYXJyYXkpIHtcclxuICAgICAgY29uc3QgZmluZCA9IEZpZWxkQ29udHJvbEdyb3VwLmZpbmQoY29udHJvbCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRyb2wubmFtZSA9PT0gZWxlbWVudC5uYW1lO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKCFmaW5kKSB7XHJcbiAgICAgICAgRmllbGRDb250cm9sR3JvdXAucHVzaChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIEZpZWxkQ29udHJvbEdyb3VwO1xyXG4gIH1cclxufVxyXG4iXX0=
|