@covalent/dynamic-forms 4.0.0-beta.2 → 4.1.0-develop.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 +26 -18
- package/covalent-dynamic-forms.d.ts +1 -1
- package/esm2020/covalent-dynamic-forms.mjs +2 -2
- package/esm2020/lib/dynamic-element.component.mjs +178 -0
- package/esm2020/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.mjs +19 -0
- package/esm2020/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.mjs +23 -0
- package/esm2020/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.mjs +28 -0
- package/esm2020/lib/dynamic-elements/dynamic-input/dynamic-input.component.mjs +22 -0
- package/esm2020/lib/dynamic-elements/dynamic-select/dynamic-select.component.mjs +23 -0
- package/esm2020/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.mjs +19 -0
- package/esm2020/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.mjs +26 -0
- package/esm2020/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.mjs +22 -0
- package/esm2020/lib/dynamic-forms.component.mjs +185 -0
- package/esm2020/lib/dynamic-forms.module.mjs +127 -0
- package/esm2020/lib/services/dynamic-forms.service.mjs +140 -0
- package/esm2020/public_api.mjs +13 -13
- package/fesm2015/covalent-dynamic-forms.mjs +177 -572
- package/fesm2015/covalent-dynamic-forms.mjs.map +1 -1
- package/fesm2020/covalent-dynamic-forms.mjs +248 -565
- package/fesm2020/covalent-dynamic-forms.mjs.map +1 -1
- package/{dynamic-element.component.d.ts → lib/dynamic-element.component.d.ts} +17 -17
- package/{dynamic-elements → lib/dynamic-elements}/dynamic-checkbox/dynamic-checkbox.component.d.ts +0 -0
- package/{dynamic-elements → lib/dynamic-elements}/dynamic-datepicker/dynamic-datepicker.component.d.ts +3 -3
- package/{dynamic-elements → lib/dynamic-elements}/dynamic-file-input/dynamic-file-input.component.d.ts +1 -1
- package/{dynamic-elements → lib/dynamic-elements}/dynamic-input/dynamic-input.component.d.ts +4 -4
- package/{dynamic-elements → lib/dynamic-elements}/dynamic-select/dynamic-select.component.d.ts +2 -2
- package/{dynamic-elements → lib/dynamic-elements}/dynamic-slide-toggle/dynamic-slide-toggle.component.d.ts +0 -0
- package/{dynamic-elements → lib/dynamic-elements}/dynamic-slider/dynamic-slider.component.d.ts +2 -2
- package/{dynamic-elements → lib/dynamic-elements}/dynamic-textarea/dynamic-textarea.component.d.ts +0 -0
- package/{dynamic-forms.component.d.ts → lib/dynamic-forms.component.d.ts} +1 -1
- package/{dynamic-forms.module.d.ts → lib/dynamic-forms.module.d.ts} +2 -3
- package/{services → lib/services}/dynamic-forms.service.d.ts +2 -2
- package/package.json +17 -19
- package/public_api.d.ts +12 -12
- package/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.scss +0 -0
- package/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.scss +0 -13
- package/dynamic-elements/dynamic-file-input/dynamic-file-input.component.scss +0 -17
- package/dynamic-elements/dynamic-input/dynamic-input.component.scss +0 -13
- package/dynamic-elements/dynamic-select/dynamic-select.component.scss +0 -13
- package/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.scss +0 -0
- package/dynamic-elements/dynamic-slider/dynamic-slider.component.scss +0 -19
- package/dynamic-elements/dynamic-textarea/dynamic-textarea.component.scss +0 -13
- package/dynamic-forms.component.scss +0 -27
- package/esm2020/dynamic-element.component.mjs +0 -220
- package/esm2020/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.mjs +0 -35
- package/esm2020/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.mjs +0 -58
- package/esm2020/dynamic-elements/dynamic-file-input/dynamic-file-input.component.mjs +0 -84
- package/esm2020/dynamic-elements/dynamic-input/dynamic-input.component.mjs +0 -55
- package/esm2020/dynamic-elements/dynamic-select/dynamic-select.component.mjs +0 -67
- package/esm2020/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.mjs +0 -36
- package/esm2020/dynamic-elements/dynamic-slider/dynamic-slider.component.mjs +0 -62
- package/esm2020/dynamic-elements/dynamic-textarea/dynamic-textarea.component.mjs +0 -50
- package/esm2020/dynamic-forms.component.mjs +0 -220
- package/esm2020/dynamic-forms.module.mjs +0 -118
- package/esm2020/index.mjs +0 -2
- package/esm2020/services/dynamic-forms.service.mjs +0 -125
- package/index.d.ts +0 -1
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/form-field";
|
|
4
|
-
import * as i2 from "@angular/material/select";
|
|
5
|
-
import * as i3 from "@angular/forms";
|
|
6
|
-
import * as i4 from "@angular/common";
|
|
7
|
-
import * as i5 from "@angular/material/core";
|
|
8
|
-
function TdDynamicSelectComponent_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
-
i0.ɵɵelementStart(0, "mat-option", 5);
|
|
10
|
-
i0.ɵɵtext(1);
|
|
11
|
-
i0.ɵɵelementEnd();
|
|
12
|
-
} if (rf & 2) {
|
|
13
|
-
const selection_r2 = ctx.$implicit;
|
|
14
|
-
i0.ɵɵproperty("value", selection_r2.value || selection_r2);
|
|
15
|
-
i0.ɵɵadvance(1);
|
|
16
|
-
i0.ɵɵtextInterpolate1(" ", selection_r2.label || selection_r2, " ");
|
|
17
|
-
} }
|
|
18
|
-
function TdDynamicSelectComponent_ng_template_9_Template(rf, ctx) { }
|
|
19
|
-
const _c0 = function (a0, a1) { return { control: a0, errors: a1 }; };
|
|
20
|
-
export class TdDynamicSelectComponent {
|
|
21
|
-
constructor() {
|
|
22
|
-
this.label = '';
|
|
23
|
-
this.hint = '';
|
|
24
|
-
this.name = '';
|
|
25
|
-
this.required = undefined;
|
|
26
|
-
this.selections = undefined;
|
|
27
|
-
this.multiple = undefined;
|
|
28
|
-
this.errorMessageTemplate = undefined;
|
|
29
|
-
this.placeholder = '';
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicSelectComponent.ɵfac = function TdDynamicSelectComponent_Factory(t) { return new (t || TdDynamicSelectComponent)(); };
|
|
33
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicSelectComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicSelectComponent, selectors: [["td-dynamic-select"]], decls: 10, vars: 13, consts: [[1, "td-dynamic-select-wrapper"], [1, "td-dynamic-select-field"], [3, "formControl", "placeholder", "required", "multiple"], [3, "value", 4, "ngFor", "ngForOf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "value"]], template: function TdDynamicSelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
35
|
-
i0.ɵɵelementStart(1, "mat-form-field", 1);
|
|
36
|
-
i0.ɵɵelementStart(2, "mat-label");
|
|
37
|
-
i0.ɵɵtext(3);
|
|
38
|
-
i0.ɵɵelementEnd();
|
|
39
|
-
i0.ɵɵelementStart(4, "mat-select", 2);
|
|
40
|
-
i0.ɵɵtemplate(5, TdDynamicSelectComponent_mat_option_5_Template, 2, 2, "mat-option", 3);
|
|
41
|
-
i0.ɵɵelementEnd();
|
|
42
|
-
i0.ɵɵelementStart(6, "mat-hint");
|
|
43
|
-
i0.ɵɵtext(7);
|
|
44
|
-
i0.ɵɵelementEnd();
|
|
45
|
-
i0.ɵɵelementStart(8, "mat-error");
|
|
46
|
-
i0.ɵɵtemplate(9, TdDynamicSelectComponent_ng_template_9_Template, 0, 0, "ng-template", 4);
|
|
47
|
-
i0.ɵɵelementEnd();
|
|
48
|
-
i0.ɵɵelementEnd();
|
|
49
|
-
i0.ɵɵelementEnd();
|
|
50
|
-
} if (rf & 2) {
|
|
51
|
-
i0.ɵɵadvance(3);
|
|
52
|
-
i0.ɵɵtextInterpolate(ctx.label);
|
|
53
|
-
i0.ɵɵadvance(1);
|
|
54
|
-
i0.ɵɵproperty("formControl", ctx.control)("placeholder", ctx.placeholder)("required", ctx.required)("multiple", ctx.multiple);
|
|
55
|
-
i0.ɵɵattribute("name", ctx.name);
|
|
56
|
-
i0.ɵɵadvance(1);
|
|
57
|
-
i0.ɵɵproperty("ngForOf", ctx.selections);
|
|
58
|
-
i0.ɵɵadvance(2);
|
|
59
|
-
i0.ɵɵtextInterpolate(ctx.hint);
|
|
60
|
-
i0.ɵɵadvance(2);
|
|
61
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx.errorMessageTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(10, _c0, ctx.control, ctx.control == null ? null : ctx.control.errors));
|
|
62
|
-
} }, directives: [i1.MatFormField, i1.MatLabel, i2.MatSelect, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator, i4.NgForOf, i5.MatOption, i1.MatHint, i1.MatError, i4.NgTemplateOutlet], styles: [".td-dynamic-select-wrapper[_ngcontent-%COMP%]{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-select-wrapper[_ngcontent-%COMP%] .td-dynamic-select-field[_ngcontent-%COMP%]{-ms-flex:1;flex:1;box-sizing:border-box}"] });
|
|
63
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicSelectComponent, [{
|
|
64
|
-
type: Component,
|
|
65
|
-
args: [{ selector: 'td-dynamic-select', template: "<div class=\"td-dynamic-select-wrapper\">\n <mat-form-field class=\"td-dynamic-select-field\">\n <mat-label>{{ label }}</mat-label>\n <mat-select\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let selection of selections\" [value]=\"selection.value || selection\">\n {{ selection.label || selection }}\n </mat-option>\n </mat-select>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{ control: control, errors: control?.errors }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-select-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-select-wrapper .td-dynamic-select-field{-ms-flex:1;flex:1;box-sizing:border-box}\n"] }]
|
|
66
|
-
}], null, null); })();
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2R5bmFtaWMtZm9ybXMvZHluYW1pYy1lbGVtZW50cy9keW5hbWljLXNlbGVjdC9keW5hbWljLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vZHluYW1pYy1mb3Jtcy9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2VsZWN0L2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0lDVWpELHFDQUF3RjtJQUN0RixZQUNGO0lBQUEsaUJBQWE7OztJQUZvQywwREFBc0M7SUFDckYsZUFDRjtJQURFLG1FQUNGOzs7O0FESk4sTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQVFFLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCLGFBQVEsR0FBWSxTQUFTLENBQUM7UUFFOUIsZUFBVSxHQUFVLFNBQVMsQ0FBQztRQUU5QixhQUFRLEdBQVksU0FBUyxDQUFDO1FBRTlCLHlCQUFvQixHQUFxQixTQUFTLENBQUM7UUFFbkQsZ0JBQVcsR0FBVyxFQUFFLENBQUM7S0FDMUI7O3NJQWxCWSx3QkFBd0I7NkhBQXhCLHdCQUF3QjtRQ1JyQyw4QkFBdUM7UUFDckMseUNBQWdEO1FBQzlDLGlDQUFXO1FBQUEsWUFBVztRQUFBLGlCQUFZO1FBQ2xDLHFDQU1DO1FBQ0MsdUZBRWE7UUFDZixpQkFBYTtRQUNiLGdDQUFVO1FBQUEsWUFBVTtRQUFBLGlCQUFXO1FBQy9CLGlDQUFXO1FBQ1QseUZBR2U7UUFDakIsaUJBQVk7UUFDZCxpQkFBaUI7UUFDbkIsaUJBQU07O1FBcEJTLGVBQVc7UUFBWCwrQkFBVztRQUVwQixlQUF1QjtRQUF2Qix5Q0FBdUIsZ0NBQUEsMEJBQUEsMEJBQUE7UUFHdkIsZ0NBQWtCO1FBR2dCLGVBQWE7UUFBYix3Q0FBYTtRQUl2QyxlQUFVO1FBQVYsOEJBQVU7UUFHaEIsZUFBeUM7UUFBekMsMkRBQXlDLHNIQUFBOzt1RkRUcEMsd0JBQXdCO2NBTHBDLFNBQVM7MkJBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWR5bmFtaWMtc2VsZWN0JyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGREeW5hbWljU2VsZWN0Q29tcG9uZW50IHtcbiAgY29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgbGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIGhpbnQ6IHN0cmluZyA9ICcnO1xuXG4gIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gIHJlcXVpcmVkOiBib29sZWFuID0gdW5kZWZpbmVkO1xuXG4gIHNlbGVjdGlvbnM6IGFueVtdID0gdW5kZWZpbmVkO1xuXG4gIG11bHRpcGxlOiBib29sZWFuID0gdW5kZWZpbmVkO1xuXG4gIGVycm9yTWVzc2FnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+ID0gdW5kZWZpbmVkO1xuXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbn1cbiIsIjxkaXYgY2xhc3M9XCJ0ZC1keW5hbWljLXNlbGVjdC13cmFwcGVyXCI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInRkLWR5bmFtaWMtc2VsZWN0LWZpZWxkXCI+XG4gICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgID5cbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzZWxlY3Rpb24gb2Ygc2VsZWN0aW9uc1wiIFt2YWx1ZV09XCJzZWxlY3Rpb24udmFsdWUgfHwgc2VsZWN0aW9uXCI+XG4gICAgICAgIHt7IHNlbGVjdGlvbi5sYWJlbCB8fCBzZWxlY3Rpb24gfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gICAgPG1hdC1oaW50Pnt7IGhpbnQgfX08L21hdC1oaW50PlxuICAgIDxtYXQtZXJyb3I+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZXJyb3JNZXNzYWdlVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBjb250cm9sOiBjb250cm9sLCBlcnJvcnM6IGNvbnRyb2w/LmVycm9ycyB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbWF0LWVycm9yPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/slide-toggle";
|
|
4
|
-
import * as i2 from "@angular/forms";
|
|
5
|
-
export class TdDynamicSlideToggleComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.label = '';
|
|
8
|
-
this.name = '';
|
|
9
|
-
this.hint = '';
|
|
10
|
-
this.required = false;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicSlideToggleComponent.ɵfac = function TdDynamicSlideToggleComponent_Factory(t) { return new (t || TdDynamicSlideToggleComponent)(); };
|
|
14
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicSlideToggleComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicSlideToggleComponent, selectors: [["td-dynamic-slide-toggle"]], decls: 5, vars: 5, consts: [[1, "td-dynamic-slide-toggle-wrapper"], [3, "formControl", "required"], [1, "mat-hint", "td-dynamic-element-hint"]], template: function TdDynamicSlideToggleComponent_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
16
|
-
i0.ɵɵelementStart(1, "mat-slide-toggle", 1);
|
|
17
|
-
i0.ɵɵtext(2);
|
|
18
|
-
i0.ɵɵelementEnd();
|
|
19
|
-
i0.ɵɵelementStart(3, "span", 2);
|
|
20
|
-
i0.ɵɵtext(4);
|
|
21
|
-
i0.ɵɵelementEnd();
|
|
22
|
-
i0.ɵɵelementEnd();
|
|
23
|
-
} if (rf & 2) {
|
|
24
|
-
i0.ɵɵadvance(1);
|
|
25
|
-
i0.ɵɵproperty("formControl", ctx.control)("required", ctx.required);
|
|
26
|
-
i0.ɵɵattribute("name", ctx.name);
|
|
27
|
-
i0.ɵɵadvance(1);
|
|
28
|
-
i0.ɵɵtextInterpolate1(" ", ctx.label, " ");
|
|
29
|
-
i0.ɵɵadvance(2);
|
|
30
|
-
i0.ɵɵtextInterpolate(ctx.hint);
|
|
31
|
-
} }, directives: [i1.MatSlideToggle, i1.MatSlideToggleRequiredValidator, i2.NgControlStatus, i2.FormControlDirective, i2.RequiredValidator], styles: [""] });
|
|
32
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicSlideToggleComponent, [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ selector: 'td-dynamic-slide-toggle', template: "<div class=\"td-dynamic-slide-toggle-wrapper\">\n <mat-slide-toggle [formControl]=\"control\" [attr.name]=\"name\" [required]=\"required\">\n {{ label }}\n </mat-slide-toggle>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [""] }]
|
|
35
|
-
}], null, null); })();
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zbGlkZS10b2dnbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2R5bmFtaWMtZm9ybXMvZHluYW1pYy1lbGVtZW50cy9keW5hbWljLXNsaWRlLXRvZ2dsZS9keW5hbWljLXNsaWRlLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vZHluYW1pYy1mb3Jtcy9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2xpZGUtdG9nZ2xlL2R5bmFtaWMtc2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRMUMsTUFBTSxPQUFPLDZCQUE2QjtJQUwxQztRQVFFLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCLGFBQVEsR0FBWSxLQUFLLENBQUM7S0FDM0I7O2dKQVZZLDZCQUE2QjtrSUFBN0IsNkJBQTZCO1FDUjFDLDhCQUE2QztRQUMzQywyQ0FBbUY7UUFDakYsWUFDRjtRQUFBLGlCQUFtQjtRQUNuQiwrQkFBK0M7UUFBQSxZQUFVO1FBQUEsaUJBQU87UUFDbEUsaUJBQU07O1FBSmMsZUFBdUI7UUFBdkIseUNBQXVCLDBCQUFBO1FBQUMsZ0NBQWtCO1FBQzFELGVBQ0Y7UUFERSwwQ0FDRjtRQUMrQyxlQUFVO1FBQVYsOEJBQVU7O3VGREk5Qyw2QkFBNkI7Y0FMekMsU0FBUzsyQkFDRSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1keW5hbWljLXNsaWRlLXRvZ2dsZScsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtc2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXNsaWRlLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRkRHluYW1pY1NsaWRlVG9nZ2xlQ29tcG9uZW50IHtcbiAgY29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgbGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gIGhpbnQ6IHN0cmluZyA9ICcnO1xuXG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG59XG4iLCI8ZGl2IGNsYXNzPVwidGQtZHluYW1pYy1zbGlkZS10b2dnbGUtd3JhcHBlclwiPlxuICA8bWF0LXNsaWRlLXRvZ2dsZSBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFthdHRyLm5hbWVdPVwibmFtZVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxuICAgIHt7IGxhYmVsIH19XG4gIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgPHNwYW4gY2xhc3M9XCJtYXQtaGludCB0ZC1keW5hbWljLWVsZW1lbnQtaGludFwiPnt7IGhpbnQgfX08L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@angular/material/slider";
|
|
5
|
-
import * as i3 from "@angular/forms";
|
|
6
|
-
function TdDynamicSliderComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
-
i0.ɵɵelementStart(0, "span", 8);
|
|
8
|
-
i0.ɵɵtext(1, "*");
|
|
9
|
-
i0.ɵɵelementEnd();
|
|
10
|
-
} }
|
|
11
|
-
export class TdDynamicSliderComponent {
|
|
12
|
-
constructor(_changeDetectorRef) {
|
|
13
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
14
|
-
this.label = '';
|
|
15
|
-
this.required = undefined;
|
|
16
|
-
this.name = '';
|
|
17
|
-
this.hint = '';
|
|
18
|
-
this.min = undefined;
|
|
19
|
-
this.max = undefined;
|
|
20
|
-
}
|
|
21
|
-
_handleBlur() {
|
|
22
|
-
setTimeout(() => {
|
|
23
|
-
this._changeDetectorRef.markForCheck();
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicSliderComponent.ɵfac = function TdDynamicSliderComponent_Factory(t) { return new (t || TdDynamicSliderComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
28
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicSliderComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicSliderComponent, selectors: [["td-dynamic-slider"]], decls: 10, vars: 10, consts: [[1, "td-dynamic-slider-wrapper", "mat-form-field", "mat-form-field-can-float", "mat-form-field-should-float"], [1, "mat-form-field-label-wrapper"], [1, "mat-form-field-label", "mat-primary", "td-slider-label"], ["class", "mat-form-field-required-marker", 4, "ngIf"], [1, "td-dynamic-slider-field"], ["thumbLabel", "", "tickInterval", "auto", 1, "td-dynamic-slider", 3, "formControl", "min", "max", "required", "blur"], ["slider", ""], [1, "mat-hint", "td-dynamic-element-hint"], [1, "mat-form-field-required-marker"]], template: function TdDynamicSliderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
30
|
-
i0.ɵɵelementStart(1, "span", 1);
|
|
31
|
-
i0.ɵɵelementStart(2, "label", 2);
|
|
32
|
-
i0.ɵɵtext(3);
|
|
33
|
-
i0.ɵɵtemplate(4, TdDynamicSliderComponent_span_4_Template, 2, 0, "span", 3);
|
|
34
|
-
i0.ɵɵelementEnd();
|
|
35
|
-
i0.ɵɵelementEnd();
|
|
36
|
-
i0.ɵɵelementStart(5, "div", 4);
|
|
37
|
-
i0.ɵɵelementStart(6, "mat-slider", 5, 6);
|
|
38
|
-
i0.ɵɵlistener("blur", function TdDynamicSliderComponent_Template_mat_slider_blur_6_listener() { return ctx._handleBlur(); });
|
|
39
|
-
i0.ɵɵelementEnd();
|
|
40
|
-
i0.ɵɵelementEnd();
|
|
41
|
-
i0.ɵɵelementStart(8, "span", 7);
|
|
42
|
-
i0.ɵɵtext(9);
|
|
43
|
-
i0.ɵɵelementEnd();
|
|
44
|
-
i0.ɵɵelementEnd();
|
|
45
|
-
} if (rf & 2) {
|
|
46
|
-
const _r1 = i0.ɵɵreference(7);
|
|
47
|
-
i0.ɵɵclassProp("mat-focused", _r1._isActive);
|
|
48
|
-
i0.ɵɵadvance(3);
|
|
49
|
-
i0.ɵɵtextInterpolate1(" ", ctx.label, " ");
|
|
50
|
-
i0.ɵɵadvance(1);
|
|
51
|
-
i0.ɵɵproperty("ngIf", ctx.required && !(ctx.control == null ? null : ctx.control.disabled));
|
|
52
|
-
i0.ɵɵadvance(2);
|
|
53
|
-
i0.ɵɵproperty("formControl", ctx.control)("min", ctx.min)("max", ctx.max)("required", ctx.required);
|
|
54
|
-
i0.ɵɵattribute("name", ctx.name);
|
|
55
|
-
i0.ɵɵadvance(3);
|
|
56
|
-
i0.ɵɵtextInterpolate(ctx.hint);
|
|
57
|
-
} }, directives: [i1.NgIf, i2.MatSlider, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator], styles: ["[_nghost-%COMP%] .td-dynamic-slider-wrapper[_ngcontent-%COMP%]{display:block}.td-dynamic-slider-field[_ngcontent-%COMP%]{position:relative;-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-slider-field[_ngcontent-%COMP%] .td-dynamic-slider[_ngcontent-%COMP%]{-ms-flex:1;flex:1}"] });
|
|
58
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicSliderComponent, [{
|
|
59
|
-
type: Component,
|
|
60
|
-
args: [{ selector: 'td-dynamic-slider', template: "<div\n class=\"td-dynamic-slider-wrapper mat-form-field mat-form-field-can-float mat-form-field-should-float\"\n [class.mat-focused]=\"slider._isActive\"\n>\n <span class=\"mat-form-field-label-wrapper\">\n <label class=\"mat-form-field-label mat-primary td-slider-label\">\n {{ label }}\n <span *ngIf=\"required && !control?.disabled\" class=\"mat-form-field-required-marker\">*</span>\n </label>\n </span>\n <div class=\"td-dynamic-slider-field\">\n <mat-slider\n #slider\n class=\"td-dynamic-slider\"\n [formControl]=\"control\"\n [attr.name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n thumbLabel\n tickInterval=\"auto\"\n [required]=\"required\"\n (blur)=\"_handleBlur()\"\n ></mat-slider>\n </div>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [":host .td-dynamic-slider-wrapper{display:block}.td-dynamic-slider-field{position:relative;-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-slider-field .td-dynamic-slider{-ms-flex:1;flex:1}\n"] }]
|
|
61
|
-
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, null); })();
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2R5bmFtaWMtZm9ybXMvZHluYW1pYy1lbGVtZW50cy9keW5hbWljLXNsaWRlci9keW5hbWljLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vZHluYW1pYy1mb3Jtcy9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2xpZGVyL2R5bmFtaWMtc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ092RCwrQkFBb0Y7SUFBQSxpQkFBQztJQUFBLGlCQUFPOztBRENsRyxNQUFNLE9BQU8sd0JBQXdCO0lBZW5DLFlBQW9CLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBWnpELFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsYUFBUSxHQUFZLFNBQVMsQ0FBQztRQUU5QixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFFbEIsUUFBRyxHQUFXLFNBQVMsQ0FBQztRQUV4QixRQUFHLEdBQVcsU0FBUyxDQUFDO0lBRW9DLENBQUM7SUFFN0QsV0FBVztRQUNULFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztzSUFyQlUsd0JBQXdCOzZIQUF4Qix3QkFBd0I7UUNSckMsOEJBR0M7UUFDQywrQkFBMkM7UUFDekMsZ0NBQWdFO1FBQzlELFlBQ0E7UUFBQSwyRUFBNEY7UUFDOUYsaUJBQVE7UUFDVixpQkFBTztRQUNQLDhCQUFxQztRQUNuQyx3Q0FXQztRQURDLHVHQUFRLGlCQUFhLElBQUM7UUFDdkIsaUJBQWE7UUFDaEIsaUJBQU07UUFDTiwrQkFBK0M7UUFBQSxZQUFVO1FBQUEsaUJBQU87UUFDbEUsaUJBQU07OztRQXZCSiw0Q0FBc0M7UUFJbEMsZUFDQTtRQURBLDBDQUNBO1FBQU8sZUFBb0M7UUFBcEMsMkZBQW9DO1FBTzNDLGVBQXVCO1FBQXZCLHlDQUF1QixnQkFBQSxnQkFBQSwwQkFBQTtRQUN2QixnQ0FBa0I7UUFTeUIsZUFBVTtRQUFWLDhCQUFVOzt1RkRoQjlDLHdCQUF3QjtjQUxwQyxTQUFTOzJCQUNFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1keW5hbWljLXNsaWRlcicsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRkRHluYW1pY1NsaWRlckNvbXBvbmVudCB7XG4gIGNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICByZXF1aXJlZDogYm9vbGVhbiA9IHVuZGVmaW5lZDtcblxuICBuYW1lOiBzdHJpbmcgPSAnJztcblxuICBoaW50OiBzdHJpbmcgPSAnJztcblxuICBtaW46IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICBtYXg6IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgX2hhbmRsZUJsdXIoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInRkLWR5bmFtaWMtc2xpZGVyLXdyYXBwZXIgbWF0LWZvcm0tZmllbGQgbWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFwiXG4gIFtjbGFzcy5tYXQtZm9jdXNlZF09XCJzbGlkZXIuX2lzQWN0aXZlXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbGFiZWwgbWF0LXByaW1hcnkgdGQtc2xpZGVyLWxhYmVsXCI+XG4gICAgICB7eyBsYWJlbCB9fVxuICAgICAgPHNwYW4gKm5nSWY9XCJyZXF1aXJlZCAmJiAhY29udHJvbD8uZGlzYWJsZWRcIiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlclwiPio8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgPC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwidGQtZHluYW1pYy1zbGlkZXItZmllbGRcIj5cbiAgICA8bWF0LXNsaWRlclxuICAgICAgI3NsaWRlclxuICAgICAgY2xhc3M9XCJ0ZC1keW5hbWljLXNsaWRlclwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgW21heF09XCJtYXhcIlxuICAgICAgdGh1bWJMYWJlbFxuICAgICAgdGlja0ludGVydmFsPVwiYXV0b1wiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgKGJsdXIpPVwiX2hhbmRsZUJsdXIoKVwiXG4gICAgPjwvbWF0LXNsaWRlcj5cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwibWF0LWhpbnQgdGQtZHluYW1pYy1lbGVtZW50LWhpbnRcIj57eyBoaW50IH19PC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/form-field";
|
|
4
|
-
import * as i2 from "@angular/material/input";
|
|
5
|
-
import * as i3 from "@angular/forms";
|
|
6
|
-
import * as i4 from "@angular/common";
|
|
7
|
-
function TdDynamicTextareaComponent_ng_template_9_Template(rf, ctx) { }
|
|
8
|
-
const _c0 = function (a0, a1) { return { control: a0, errors: a1 }; };
|
|
9
|
-
export class TdDynamicTextareaComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.label = '';
|
|
12
|
-
this.hint = '';
|
|
13
|
-
this.name = '';
|
|
14
|
-
this.required = undefined;
|
|
15
|
-
this.errorMessageTemplate = undefined;
|
|
16
|
-
this.placeholder = '';
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicTextareaComponent.ɵfac = function TdDynamicTextareaComponent_Factory(t) { return new (t || TdDynamicTextareaComponent)(); };
|
|
20
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicTextareaComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicTextareaComponent, selectors: [["td-dynamic-textarea"]], decls: 10, vars: 11, consts: [[1, "td-dynamic-textarea-wrapper"], [1, "td-dynamic-textarea-field"], ["matInput", "", "rows", "4", 3, "formControl", "placeholder", "required"], ["elementInput", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function TdDynamicTextareaComponent_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
22
|
-
i0.ɵɵelementStart(1, "mat-form-field", 1);
|
|
23
|
-
i0.ɵɵelementStart(2, "mat-label");
|
|
24
|
-
i0.ɵɵtext(3);
|
|
25
|
-
i0.ɵɵelementEnd();
|
|
26
|
-
i0.ɵɵelement(4, "textarea", 2, 3);
|
|
27
|
-
i0.ɵɵelementStart(6, "mat-hint");
|
|
28
|
-
i0.ɵɵtext(7);
|
|
29
|
-
i0.ɵɵelementEnd();
|
|
30
|
-
i0.ɵɵelementStart(8, "mat-error");
|
|
31
|
-
i0.ɵɵtemplate(9, TdDynamicTextareaComponent_ng_template_9_Template, 0, 0, "ng-template", 4);
|
|
32
|
-
i0.ɵɵelementEnd();
|
|
33
|
-
i0.ɵɵelementEnd();
|
|
34
|
-
i0.ɵɵelementEnd();
|
|
35
|
-
} if (rf & 2) {
|
|
36
|
-
i0.ɵɵadvance(3);
|
|
37
|
-
i0.ɵɵtextInterpolate(ctx.label);
|
|
38
|
-
i0.ɵɵadvance(1);
|
|
39
|
-
i0.ɵɵproperty("formControl", ctx.control)("placeholder", ctx.placeholder)("required", ctx.required);
|
|
40
|
-
i0.ɵɵattribute("name", ctx.name);
|
|
41
|
-
i0.ɵɵadvance(3);
|
|
42
|
-
i0.ɵɵtextInterpolate(ctx.hint);
|
|
43
|
-
i0.ɵɵadvance(2);
|
|
44
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx.errorMessageTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(8, _c0, ctx.control, ctx.control == null ? null : ctx.control.errors));
|
|
45
|
-
} }, directives: [i1.MatFormField, i1.MatLabel, i2.MatInput, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator, i1.MatHint, i1.MatError, i4.NgTemplateOutlet], styles: [".td-dynamic-textarea-wrapper[_ngcontent-%COMP%]{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-textarea-wrapper[_ngcontent-%COMP%] .td-dynamic-textarea-field[_ngcontent-%COMP%]{-ms-flex:1;flex:1;box-sizing:border-box}"] });
|
|
46
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicTextareaComponent, [{
|
|
47
|
-
type: Component,
|
|
48
|
-
args: [{ selector: 'td-dynamic-textarea', template: "<div class=\"td-dynamic-textarea-wrapper\">\n <mat-form-field class=\"td-dynamic-textarea-field\">\n <mat-label>{{ label }}</mat-label>\n <textarea\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n rows=\"4\"\n ></textarea>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{ control: control, errors: control?.errors }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-textarea-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-textarea-wrapper .td-dynamic-textarea-field{-ms-flex:1;flex:1;box-sizing:border-box}\n"] }]
|
|
49
|
-
}], null, null); })();
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vZHluYW1pYy1mb3Jtcy9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vZHluYW1pYy1mb3Jtcy9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVF2RCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBUUUsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFFbEIsYUFBUSxHQUFZLFNBQVMsQ0FBQztRQUU5Qix5QkFBb0IsR0FBcUIsU0FBUyxDQUFDO1FBRW5ELGdCQUFXLEdBQVcsRUFBRSxDQUFDO0tBQzFCOzswSUFkWSwwQkFBMEI7K0hBQTFCLDBCQUEwQjtRQ1J2Qyw4QkFBeUM7UUFDdkMseUNBQWtEO1FBQ2hELGlDQUFXO1FBQUEsWUFBVztRQUFBLGlCQUFZO1FBQ2xDLGlDQVFZO1FBQ1osZ0NBQVU7UUFBQSxZQUFVO1FBQUEsaUJBQVc7UUFDL0IsaUNBQVc7UUFDVCwyRkFHZTtRQUNqQixpQkFBWTtRQUNkLGlCQUFpQjtRQUNuQixpQkFBTTs7UUFsQlMsZUFBVztRQUFYLCtCQUFXO1FBSXBCLGVBQXVCO1FBQXZCLHlDQUF1QixnQ0FBQSwwQkFBQTtRQUd2QixnQ0FBa0I7UUFHVixlQUFVO1FBQVYsOEJBQVU7UUFHaEIsZUFBeUM7UUFBekMsMkRBQXlDLHFIQUFBOzt1RkRQcEMsMEJBQTBCO2NBTHRDLFNBQVM7MkJBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWR5bmFtaWMtdGV4dGFyZWEnLFxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLXRleHRhcmVhLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXRleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGREeW5hbWljVGV4dGFyZWFDb21wb25lbnQge1xuICBjb250cm9sOiBGb3JtQ29udHJvbDtcblxuICBsYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgaGludDogc3RyaW5nID0gJyc7XG5cbiAgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgcmVxdWlyZWQ6IGJvb2xlYW4gPSB1bmRlZmluZWQ7XG5cbiAgZXJyb3JNZXNzYWdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gPSB1bmRlZmluZWQ7XG5cbiAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xufVxuIiwiPGRpdiBjbGFzcz1cInRkLWR5bmFtaWMtdGV4dGFyZWEtd3JhcHBlclwiPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ0ZC1keW5hbWljLXRleHRhcmVhLWZpZWxkXCI+XG4gICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIDx0ZXh0YXJlYVxuICAgICAgI2VsZW1lbnRJbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgIHJvd3M9XCI0XCJcbiAgICA+PC90ZXh0YXJlYT5cbiAgICA8bWF0LWhpbnQ+e3sgaGludCB9fTwvbWF0LWhpbnQ+XG4gICAgPG1hdC1lcnJvcj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlcnJvck1lc3NhZ2VUZW1wbGF0ZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGNvbnRyb2w6IGNvbnRyb2wsIGVycm9yczogY29udHJvbD8uZXJyb3JzIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef, ContentChildren, QueryList, } from '@angular/core';
|
|
2
|
-
import { FormBuilder } from '@angular/forms';
|
|
3
|
-
import { TdDynamicFormsService } from './services/dynamic-forms.service';
|
|
4
|
-
import { TdDynamicFormsErrorTemplateDirective } from './dynamic-element.component';
|
|
5
|
-
import { timer, Subject } from 'rxjs';
|
|
6
|
-
import { takeUntil, filter } from 'rxjs/operators';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
import * as i2 from "./services/dynamic-forms.service";
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
11
|
-
import * as i4 from "./dynamic-element.component";
|
|
12
|
-
function TdDynamicFormsComponent_ng_template_2_td_dynamic_element_1_Template(rf, ctx) { if (rf & 1) {
|
|
13
|
-
i0.ɵɵelement(0, "td-dynamic-element", 5, 6);
|
|
14
|
-
} if (rf & 2) {
|
|
15
|
-
const element_r1 = i0.ɵɵnextContext().$implicit;
|
|
16
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
17
|
-
i0.ɵɵproperty("formControlName", element_r1.name)("dynamicControl", ctx_r2.dynamicForm.controls[element_r1.name])("id", element_r1.name)("name", element_r1.name)("label", element_r1.label || element_r1.name)("hint", element_r1.hint)("type", element_r1.type)("required", element_r1.required)("min", element_r1.min)("max", element_r1.max)("minLength", element_r1.minLength)("maxLength", element_r1.maxLength)("selections", element_r1.selections)("multiple", element_r1.multiple)("customConfig", element_r1.customConfig)("errorMessageTemplate", ctx_r2.getErrorTemplateRef(element_r1.name))("placeholder", element_r1.placeholder);
|
|
18
|
-
} }
|
|
19
|
-
function TdDynamicFormsComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
-
i0.ɵɵelementStart(0, "div", 3);
|
|
21
|
-
i0.ɵɵtemplate(1, TdDynamicFormsComponent_ng_template_2_td_dynamic_element_1_Template, 2, 17, "td-dynamic-element", 4);
|
|
22
|
-
i0.ɵɵelementEnd();
|
|
23
|
-
} if (rf & 2) {
|
|
24
|
-
const element_r1 = ctx.$implicit;
|
|
25
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
26
|
-
i0.ɵɵstyleProp("max-width", element_r1.flex ? element_r1.flex : 100, "%")("flex", "1 1 " + (element_r1.flex ? element_r1.flex : 100) + "%")("-ms-flex", "1 1 " + (element_r1.flex ? element_r1.flex : 100) + "%")("-webkit-box-flex", 1);
|
|
27
|
-
i0.ɵɵadvance(1);
|
|
28
|
-
i0.ɵɵproperty("ngIf", ctx_r0.dynamicForm.controls[element_r1.name]);
|
|
29
|
-
} }
|
|
30
|
-
const _c0 = ["*"];
|
|
31
|
-
export class TdDynamicFormsComponent {
|
|
32
|
-
constructor(_formBuilder, _dynamicFormsService, _changeDetectorRef) {
|
|
33
|
-
this._formBuilder = _formBuilder;
|
|
34
|
-
this._dynamicFormsService = _dynamicFormsService;
|
|
35
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
36
|
-
this._renderedElements = [];
|
|
37
|
-
this._templateMap = new Map();
|
|
38
|
-
this._destroy$ = new Subject();
|
|
39
|
-
this._destroyControl$ = new Subject();
|
|
40
|
-
this.dynamicForm = this._formBuilder.group({});
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* elements: ITdDynamicElementConfig[]
|
|
44
|
-
* JS Object that will render the elements depending on its config.
|
|
45
|
-
* [name] property is required.
|
|
46
|
-
*/
|
|
47
|
-
set elements(elements) {
|
|
48
|
-
if (elements) {
|
|
49
|
-
this._elements = elements;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
this._elements = [];
|
|
53
|
-
}
|
|
54
|
-
this._rerenderElements();
|
|
55
|
-
}
|
|
56
|
-
get elements() {
|
|
57
|
-
return this._renderedElements;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Getter property for dynamic [FormGroup].
|
|
61
|
-
*/
|
|
62
|
-
get form() {
|
|
63
|
-
return this.dynamicForm;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Getter property for [valid] of dynamic [FormGroup].
|
|
67
|
-
*/
|
|
68
|
-
get valid() {
|
|
69
|
-
if (this.dynamicForm) {
|
|
70
|
-
return this.dynamicForm.valid;
|
|
71
|
-
}
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Getter property for [value] of dynamic [FormGroup].
|
|
76
|
-
*/
|
|
77
|
-
get value() {
|
|
78
|
-
if (this.dynamicForm) {
|
|
79
|
-
return this.dynamicForm.value;
|
|
80
|
-
}
|
|
81
|
-
return {};
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Getter property for [errors] of dynamic [FormGroup].
|
|
85
|
-
*/
|
|
86
|
-
get errors() {
|
|
87
|
-
if (this.dynamicForm) {
|
|
88
|
-
const errors = {};
|
|
89
|
-
for (const name of Object.keys(this.dynamicForm.controls)) {
|
|
90
|
-
errors[name] = this.dynamicForm.controls[name].errors;
|
|
91
|
-
}
|
|
92
|
-
return errors;
|
|
93
|
-
}
|
|
94
|
-
return {};
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Getter property for [controls] of dynamic [FormGroup].
|
|
98
|
-
*/
|
|
99
|
-
get controls() {
|
|
100
|
-
if (this.dynamicForm) {
|
|
101
|
-
return this.dynamicForm.controls;
|
|
102
|
-
}
|
|
103
|
-
return {};
|
|
104
|
-
}
|
|
105
|
-
ngAfterContentInit() {
|
|
106
|
-
this._updateErrorTemplates();
|
|
107
|
-
}
|
|
108
|
-
ngOnDestroy() {
|
|
109
|
-
this._destroy$.next();
|
|
110
|
-
this._destroy$.complete();
|
|
111
|
-
this._destroyControl$.complete();
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Refreshes the form and rerenders all validator/element modifications.
|
|
115
|
-
*/
|
|
116
|
-
refresh() {
|
|
117
|
-
this._rerenderElements();
|
|
118
|
-
this._updateErrorTemplates();
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Getter method for error template references
|
|
122
|
-
*/
|
|
123
|
-
getErrorTemplateRef(name) {
|
|
124
|
-
return this._templateMap.get(name);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Loads error templates and sets them in a map for faster access.
|
|
128
|
-
*/
|
|
129
|
-
_updateErrorTemplates() {
|
|
130
|
-
this._templateMap = new Map();
|
|
131
|
-
for (const errorTemplate of this._errorTemplates.toArray()) {
|
|
132
|
-
this._templateMap.set(errorTemplate.tdDynamicFormsError, errorTemplate.templateRef);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
_rerenderElements() {
|
|
136
|
-
this._clearRemovedElements();
|
|
137
|
-
this._renderedElements = [];
|
|
138
|
-
const duplicates = [];
|
|
139
|
-
this._elements.forEach((elem) => {
|
|
140
|
-
this._dynamicFormsService.validateDynamicElementName(elem.name);
|
|
141
|
-
if (duplicates.indexOf(elem.name) > -1) {
|
|
142
|
-
throw new Error(`Dynamic element name: "${elem.name}" is duplicated`);
|
|
143
|
-
}
|
|
144
|
-
duplicates.push(elem.name);
|
|
145
|
-
const dynamicElement = this.dynamicForm.get(elem.name);
|
|
146
|
-
if (!dynamicElement) {
|
|
147
|
-
this.dynamicForm.addControl(elem.name, this._dynamicFormsService.createFormControl(elem));
|
|
148
|
-
this._subscribeToControlStatusChanges(elem.name);
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
dynamicElement.setValue(elem.default);
|
|
152
|
-
dynamicElement.markAsPristine();
|
|
153
|
-
dynamicElement.markAsUntouched();
|
|
154
|
-
if (elem.disabled) {
|
|
155
|
-
dynamicElement.disable();
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
dynamicElement.enable();
|
|
159
|
-
}
|
|
160
|
-
dynamicElement.setValidators(this._dynamicFormsService.createValidators(elem));
|
|
161
|
-
}
|
|
162
|
-
// copy objects so they are only changes when calling this method
|
|
163
|
-
this._renderedElements.push(Object.assign({}, elem));
|
|
164
|
-
});
|
|
165
|
-
// call a change detection since the whole form might change
|
|
166
|
-
this._changeDetectorRef.detectChanges();
|
|
167
|
-
timer()
|
|
168
|
-
.toPromise()
|
|
169
|
-
.then(() => {
|
|
170
|
-
// call a markForCheck so elements are rendered correctly in OnPush
|
|
171
|
-
this._changeDetectorRef.markForCheck();
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
_clearRemovedElements() {
|
|
175
|
-
this._renderedElements = this._renderedElements.filter((renderedElement) => !this._elements.some((element) => element.name === renderedElement.name));
|
|
176
|
-
// remove elements that were removed from the array
|
|
177
|
-
this._renderedElements.forEach((elem) => {
|
|
178
|
-
this._destroyControl$.next(elem.name);
|
|
179
|
-
this.dynamicForm.removeControl(elem.name);
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
// Updates component when manually adding errors to controls
|
|
183
|
-
_subscribeToControlStatusChanges(elementName) {
|
|
184
|
-
const control = this.controls[elementName];
|
|
185
|
-
const controlDestroyed$ = this._destroyControl$.pipe(filter((destroyedElementName) => destroyedElementName === elementName));
|
|
186
|
-
control.statusChanges.pipe(takeUntil(this._destroy$), takeUntil(controlDestroyed$)).subscribe(() => {
|
|
187
|
-
this._changeDetectorRef.markForCheck();
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicFormsComponent.ɵfac = function TdDynamicFormsComponent_Factory(t) { return new (t || TdDynamicFormsComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.TdDynamicFormsService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
192
|
-
/** @nocollapse */ /** @nocollapse */ TdDynamicFormsComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicFormsComponent, selectors: [["td-dynamic-forms"]], contentQueries: function TdDynamicFormsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
193
|
-
i0.ɵɵcontentQuery(dirIndex, TdDynamicFormsErrorTemplateDirective, 5);
|
|
194
|
-
} if (rf & 2) {
|
|
195
|
-
let _t;
|
|
196
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._errorTemplates = _t);
|
|
197
|
-
} }, inputs: { elements: "elements" }, ngContentSelectors: _c0, decls: 4, vars: 2, consts: [["novalidate", "", 3, "formGroup"], [1, "td-dynamic-form-wrapper"], ["ngFor", "", 3, "ngForOf"], [1, "td-dynamic-element-wrapper"], [3, "formControlName", "dynamicControl", "id", "name", "label", "hint", "type", "required", "min", "max", "minLength", "maxLength", "selections", "multiple", "customConfig", "errorMessageTemplate", "placeholder", 4, "ngIf"], [3, "formControlName", "dynamicControl", "id", "name", "label", "hint", "type", "required", "min", "max", "minLength", "maxLength", "selections", "multiple", "customConfig", "errorMessageTemplate", "placeholder"], ["dynamicElement", ""]], template: function TdDynamicFormsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
198
|
-
i0.ɵɵprojectionDef();
|
|
199
|
-
i0.ɵɵelementStart(0, "form", 0);
|
|
200
|
-
i0.ɵɵelementStart(1, "div", 1);
|
|
201
|
-
i0.ɵɵtemplate(2, TdDynamicFormsComponent_ng_template_2_Template, 2, 9, "ng-template", 2);
|
|
202
|
-
i0.ɵɵelementEnd();
|
|
203
|
-
i0.ɵɵprojection(3);
|
|
204
|
-
i0.ɵɵelementEnd();
|
|
205
|
-
} if (rf & 2) {
|
|
206
|
-
i0.ɵɵproperty("formGroup", ctx.dynamicForm);
|
|
207
|
-
i0.ɵɵadvance(2);
|
|
208
|
-
i0.ɵɵproperty("ngForOf", ctx.elements);
|
|
209
|
-
} }, directives: [i1.ɵNgNoValidate, i1.NgControlStatusGroup, i1.FormGroupDirective, i3.NgForOf, i3.NgIf, i4.TdDynamicElementComponent, i1.NgControlStatus, i1.FormControlName, i1.RequiredValidator], styles: [".td-dynamic-form-wrapper[_ngcontent-%COMP%]{-ms-flex-flow:row wrap;flex-flow:row wrap;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:flex-start}.td-dynamic-form-wrapper[_ngcontent-%COMP%] .mat-form-field-infix{width:auto}.td-dynamic-form-wrapper[_ngcontent-%COMP%] .td-dynamic-element-hint{font-size:75%;display:block}.td-dynamic-form-wrapper[_ngcontent-%COMP%] .td-dynamic-element-wrapper[_ngcontent-%COMP%]{max-height:100%;box-sizing:border-box;position:relative;padding:4px 4px 8px}"], changeDetection: 0 });
|
|
210
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicFormsComponent, [{
|
|
211
|
-
type: Component,
|
|
212
|
-
args: [{ selector: 'td-dynamic-forms', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"dynamicForm\" novalidate>\n <div class=\"td-dynamic-form-wrapper\">\n <ng-template let-element ngFor [ngForOf]=\"elements\">\n <div\n class=\"td-dynamic-element-wrapper\"\n [style.max-width.%]=\"element.flex ? element.flex : 100\"\n [style.flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-ms-flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <td-dynamic-element\n #dynamicElement\n *ngIf=\"dynamicForm.controls[element.name]\"\n [formControlName]=\"element.name\"\n [dynamicControl]=\"dynamicForm.controls[element.name]\"\n [id]=\"element.name\"\n [name]=\"element.name\"\n [label]=\"element.label || element.name\"\n [hint]=\"element.hint\"\n [type]=\"element.type\"\n [required]=\"element.required\"\n [min]=\"element.min\"\n [max]=\"element.max\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n [selections]=\"element.selections\"\n [multiple]=\"element.multiple\"\n [customConfig]=\"element.customConfig\"\n [errorMessageTemplate]=\"getErrorTemplateRef(element.name)\"\n [placeholder]=\"element.placeholder\"\n ></td-dynamic-element>\n </div>\n </ng-template>\n </div>\n <ng-content></ng-content>\n</form>\n", styles: [".td-dynamic-form-wrapper{-ms-flex-flow:row wrap;flex-flow:row wrap;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:flex-start}.td-dynamic-form-wrapper ::ng-deep .mat-form-field-infix{width:auto}.td-dynamic-form-wrapper ::ng-deep .td-dynamic-element-hint{font-size:75%;display:block}.td-dynamic-form-wrapper .td-dynamic-element-wrapper{max-height:100%;box-sizing:border-box;position:relative;padding:4px 4px 8px}\n"] }]
|
|
213
|
-
}], function () { return [{ type: i1.FormBuilder }, { type: i2.TdDynamicFormsService }, { type: i0.ChangeDetectorRef }]; }, { _errorTemplates: [{
|
|
214
|
-
type: ContentChildren,
|
|
215
|
-
args: [TdDynamicFormsErrorTemplateDirective, { descendants: true }]
|
|
216
|
-
}], elements: [{
|
|
217
|
-
type: Input,
|
|
218
|
-
args: ['elements']
|
|
219
|
-
}] }); })();
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3Jtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vZHluYW1pYy1mb3Jtcy9keW5hbWljLWZvcm1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9keW5hbWljLWZvcm1zL2R5bmFtaWMtZm9ybXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixlQUFlLEVBRWYsU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYSxXQUFXLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHFCQUFxQixFQUEyQixNQUFNLGtDQUFrQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNQM0MsMkNBb0JzQjs7OztJQWpCcEIsaURBQWdDLGdFQUFBLHVCQUFBLHlCQUFBLDhDQUFBLHlCQUFBLHlCQUFBLGlDQUFBLHVCQUFBLHVCQUFBLG1DQUFBLG1DQUFBLHFDQUFBLGlDQUFBLHlDQUFBLHFFQUFBLHVDQUFBOzs7SUFWcEMsOEJBTUM7SUFDQyxxSEFvQnNCO0lBQ3hCLGlCQUFNOzs7O0lBMUJKLHlFQUF1RCxrRUFBQSxzRUFBQSx1QkFBQTtJQU9wRCxlQUF3QztJQUF4QyxtRUFBd0M7OztBRGFuRCxNQUFNLE9BQU8sdUJBQXVCO0lBZ0ZsQyxZQUNVLFlBQXlCLEVBQ3pCLG9CQUEyQyxFQUMzQyxrQkFBcUM7UUFGckMsaUJBQVksR0FBWixZQUFZLENBQWE7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e1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgVGVtcGxhdGVSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVGREeW5hbWljRm9ybXNTZXJ2aWNlLCBJVGREeW5hbWljRWxlbWVudENvbmZpZyB9IGZyb20gJy4vc2VydmljZXMvZHluYW1pYy1mb3Jtcy5zZXJ2aWNlJztcbmltcG9ydCB7IFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZHluYW1pYy1lbGVtZW50LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IHRpbWVyLCBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtZHluYW1pYy1mb3JtcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm1zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3Jtcy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGREeW5hbWljRm9ybXNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9yZW5kZXJlZEVsZW1lbnRzOiBJVGREeW5hbWljRWxlbWVudENvbmZpZ1tdID0gW107XG4gIHByaXZhdGUgX2VsZW1lbnRzOiBJVGREeW5hbWljRWxlbWVudENvbmZpZ1tdO1xuICBwcml2YXRlIF90ZW1wbGF0ZU1hcDogTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSBuZXcgTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2Rlc3Ryb3lDb250cm9sJDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfZXJyb3JUZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxUZER5bmFtaWNGb3Jtc0Vycm9yVGVtcGxhdGVEaXJlY3RpdmU+O1xuICBkeW5hbWljRm9ybTogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBlbGVtZW50czogSVRkRHluYW1pY0VsZW1lbnRDb25maWdbXVxuICAgKiBKUyBPYmplY3QgdGhhdCB3aWxsIHJlbmRlciB0aGUgZWxlbWVudHMgZGVwZW5kaW5nIG9uIGl0cyBjb25maWcuXG4gICAqIFtuYW1lXSBwcm9wZXJ0eSBpcyByZXF1aXJlZC5cbiAgICovXG4gIEBJbnB1dCgnZWxlbWVudHMnKVxuICBzZXQgZWxlbWVudHMoZWxlbWVudHM6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnW10pIHtcbiAgICBpZiAoZWxlbWVudHMpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRzID0gZWxlbWVudHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRzID0gW107XG4gICAgfVxuICAgIHRoaXMuX3JlcmVuZGVyRWxlbWVudHMoKTtcbiAgfVxuICBnZXQgZWxlbWVudHMoKTogSVRkRHluYW1pY0VsZW1lbnRDb25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbmRlcmVkRWxlbWVudHM7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIHByb3BlcnR5IGZvciBkeW5hbWljIFtGb3JtR3JvdXBdLlxuICAgKi9cbiAgZ2V0IGZvcm0oKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5keW5hbWljRm9ybTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgcHJvcGVydHkgZm9yIFt2YWxpZF0gb2YgZHluYW1pYyBbRm9ybUdyb3VwXS5cbiAgICovXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5keW5hbWljRm9ybSkge1xuICAgICAgcmV0dXJuIHRoaXMuZHluYW1pY0Zvcm0udmFsaWQ7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgcHJvcGVydHkgZm9yIFt2YWx1ZV0gb2YgZHluYW1pYyBbRm9ybUdyb3VwXS5cbiAgICovXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLmR5bmFtaWNGb3JtKSB7XG4gICAgICByZXR1cm4gdGhpcy5keW5hbWljRm9ybS52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlciBwcm9wZXJ0eSBmb3IgW2Vycm9yc10gb2YgZHluYW1pYyBbRm9ybUdyb3VwXS5cbiAgICovXG4gIGdldCBlcnJvcnMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGlmICh0aGlzLmR5bmFtaWNGb3JtKSB7XG4gICAgICBjb25zdCBlcnJvcnM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgT2JqZWN0LmtleXModGhpcy5keW5hbWljRm9ybS5jb250cm9scykpIHtcbiAgICAgICAgZXJyb3JzW25hbWVdID0gdGhpcy5keW5hbWljRm9ybS5jb250cm9sc1tuYW1lXS5lcnJvcnM7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIHByb3BlcnR5IGZvciBbY29udHJvbHNdIG9mIGR5bmFtaWMgW0Zvcm1Hcm91cF0uXG4gICAqL1xuICBnZXQgY29udHJvbHMoKTogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSB7XG4gICAgaWYgKHRoaXMuZHluYW1pY0Zvcm0pIHtcbiAgICAgIHJldHVybiB0aGlzLmR5bmFtaWNGb3JtLmNvbnRyb2xzO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBfZHluYW1pY0Zvcm1zU2VydmljZTogVGREeW5hbWljRm9ybXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy5keW5hbWljRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHt9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVFcnJvclRlbXBsYXRlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZGVzdHJveUNvbnRyb2wkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVmcmVzaGVzIHRoZSBmb3JtIGFuZCByZXJlbmRlcnMgYWxsIHZhbGlkYXRvci9lbGVtZW50IG1vZGlmaWNhdGlvbnMuXG4gICAqL1xuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlcmVuZGVyRWxlbWVudHMoKTtcbiAgICB0aGlzLl91cGRhdGVFcnJvclRlbXBsYXRlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlciBtZXRob2QgZm9yIGVycm9yIHRlbXBsYXRlIHJlZmVyZW5jZXNcbiAgICovXG4gIGdldEVycm9yVGVtcGxhdGVSZWYobmFtZTogc3RyaW5nKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlTWFwLmdldChuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBlcnJvciB0ZW1wbGF0ZXMgYW5kIHNldHMgdGhlbSBpbiBhIG1hcCBmb3IgZmFzdGVyIGFjY2Vzcy5cbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZUVycm9yVGVtcGxhdGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX3RlbXBsYXRlTWFwID0gbmV3IE1hcDxzdHJpbmcsIFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gICAgZm9yIChjb25zdCBlcnJvclRlbXBsYXRlIG9mIHRoaXMuX2Vycm9yVGVtcGxhdGVzLnRvQXJyYXkoKSkge1xuICAgICAgdGhpcy5fdGVtcGxhdGVNYXAuc2V0KGVycm9yVGVtcGxhdGUudGREeW5hbWljRm9ybXNFcnJvciwgZXJyb3JUZW1wbGF0ZS50ZW1wbGF0ZVJlZik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVyZW5kZXJFbGVtZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbGVhclJlbW92ZWRFbGVtZW50cygpO1xuICAgIHRoaXMuX3JlbmRlcmVkRWxlbWVudHMgPSBbXTtcbiAgICBjb25zdCBkdXBsaWNhdGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMuX2VsZW1lbnRzLmZvckVhY2goKGVsZW06IElUZER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PiB7XG4gICAgICB0aGlzLl9keW5hbWljRm9ybXNTZXJ2aWNlLnZhbGlkYXRlRHluYW1pY0VsZW1lbnROYW1lKGVsZW0ubmFtZSk7XG4gICAgICBpZiAoZHVwbGljYXRlcy5pbmRleE9mKGVsZW0ubmFtZSkgPiAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYER5bmFtaWMgZWxlbWVudCBuYW1lOiBcIiR7ZWxlbS5uYW1lfVwiIGlzIGR1cGxpY2F0ZWRgKTtcbiAgICAgIH1cbiAgICAgIGR1cGxpY2F0ZXMucHVzaChlbGVtLm5hbWUpO1xuICAgICAgY29uc3QgZHluYW1pY0VsZW1lbnQ6IEFic3RyYWN0Q29udHJvbCA9IHRoaXMuZHluYW1pY0Zvcm0uZ2V0KGVsZW0ubmFtZSk7XG4gICAgICBpZiAoIWR5bmFtaWNFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuZHluYW1pY0Zvcm0uYWRkQ29udHJvbChlbGVtLm5hbWUsIHRoaXMuX2R5bmFtaWNGb3Jtc1NlcnZpY2UuY3JlYXRlRm9ybUNvbnRyb2woZWxlbSkpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb0NvbnRyb2xTdGF0dXNDaGFuZ2VzKGVsZW0ubmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkeW5hbWljRWxlbWVudC5zZXRWYWx1ZShlbGVtLmRlZmF1bHQpO1xuICAgICAgICBkeW5hbWljRWxlbWVudC5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICBkeW5hbWljRWxlbWVudC5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgaWYgKGVsZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICBkeW5hbWljRWxlbWVudC5kaXNhYmxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZHluYW1pY0VsZW1lbnQuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZHluYW1pY0VsZW1lbnQuc2V0VmFsaWRhdG9ycyh0aGlzLl9keW5hbWljRm9ybXNTZXJ2aWNlLmNyZWF0ZVZhbGlkYXRvcnMoZWxlbSkpO1xuICAgICAgfVxuICAgICAgLy8gY29weSBvYmplY3RzIHNvIHRoZXkgYXJlIG9ubHkgY2hhbmdlcyB3aGVuIGNhbGxpbmcgdGhpcyBtZXRob2RcbiAgICAgIHRoaXMuX3JlbmRlcmVkRWxlbWVudHMucHVzaChPYmplY3QuYXNzaWduKHt9LCBlbGVtKSk7XG4gICAgfSk7XG4gICAgLy8gY2FsbCBhIGNoYW5nZSBkZXRlY3Rpb24gc2luY2UgdGhlIHdob2xlIGZvcm0gbWlnaHQgY2hhbmdlXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRpbWVyKClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAvLyBjYWxsIGEgbWFya0ZvckNoZWNrIHNvIGVsZW1lbnRzIGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gT25QdXNoXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhclJlbW92ZWRFbGVtZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9yZW5kZXJlZEVsZW1lbnRzID0gdGhpcy5fcmVuZGVyZWRFbGVtZW50cy5maWx0ZXIoXG4gICAgICAocmVuZGVyZWRFbGVtZW50OiBJVGREeW5hbWljRWxlbWVudENvbmZpZykgPT5cbiAgICAgICAgIXRoaXMuX2VsZW1lbnRzLnNvbWUoKGVsZW1lbnQ6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PiBlbGVtZW50Lm5hbWUgPT09IHJlbmRlcmVkRWxlbWVudC5uYW1lKSxcbiAgICApO1xuICAgIC8vIHJlbW92ZSBlbGVtZW50cyB0aGF0IHdlcmUgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheVxuICAgIHRoaXMuX3JlbmRlcmVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbTogSVRkRHluYW1pY0VsZW1lbnRDb25maWcpID0+IHtcbiAgICAgIHRoaXMuX2Rlc3Ryb3lDb250cm9sJC5uZXh0KGVsZW0ubmFtZSk7XG4gICAgICB0aGlzLmR5bmFtaWNGb3JtLnJlbW92ZUNvbnRyb2woZWxlbS5uYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFVwZGF0ZXMgY29tcG9uZW50IHdoZW4gbWFudWFsbHkgYWRkaW5nIGVycm9ycyB0byBjb250cm9sc1xuICBwcml2YXRlIF9zdWJzY3JpYmVUb0NvbnRyb2xTdGF0dXNDaGFuZ2VzKGVsZW1lbnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSB0aGlzLmNvbnRyb2xzW2VsZW1lbnROYW1lXTtcblxuICAgIGNvbnN0IGNvbnRyb2xEZXN0cm95ZWQkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9kZXN0cm95Q29udHJvbCQucGlwZShcbiAgICAgIGZpbHRlcigoZGVzdHJveWVkRWxlbWVudE5hbWU6IHN0cmluZykgPT4gZGVzdHJveWVkRWxlbWVudE5hbWUgPT09IGVsZW1lbnROYW1lKSxcbiAgICApO1xuXG4gICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSwgdGFrZVVudGlsKGNvbnRyb2xEZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImR5bmFtaWNGb3JtXCIgbm92YWxpZGF0ZT5cbiAgPGRpdiBjbGFzcz1cInRkLWR5bmFtaWMtZm9ybS13cmFwcGVyXCI+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1lbGVtZW50IG5nRm9yIFtuZ0Zvck9mXT1cImVsZW1lbnRzXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGQtZHluYW1pYy1lbGVtZW50LXdyYXBwZXJcIlxuICAgICAgICBbc3R5bGUubWF4LXdpZHRoLiVdPVwiZWxlbWVudC5mbGV4ID8gZWxlbWVudC5mbGV4IDogMTAwXCJcbiAgICAgICAgW3N0eWxlLmZsZXhdPVwiJzEgMSAnICsgKGVsZW1lbnQuZmxleCA/IGVsZW1lbnQuZmxleCA6IDEwMCkgKyAnJSdcIlxuICAgICAgICBbc3R5bGUuLW1zLWZsZXhdPVwiJzEgMSAnICsgKGVsZW1lbnQuZmxleCA/IGVsZW1lbnQuZmxleCA6IDEwMCkgKyAnJSdcIlxuICAgICAgICBbc3R5bGUuLXdlYmtpdC1ib3gtZmxleF09XCIxXCJcbiAgICAgID5cbiAgICAgICAgPHRkLWR5bmFtaWMtZWxlbWVudFxuICAgICAgICAgICNkeW5hbWljRWxlbWVudFxuICAgICAgICAgICpuZ0lmPVwiZHluYW1pY0Zvcm0uY29udHJvbHNbZWxlbWVudC5uYW1lXVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Lm5hbWVcIlxuICAgICAgICAgIFtkeW5hbWljQ29udHJvbF09XCJkeW5hbWljRm9ybS5jb250cm9sc1tlbGVtZW50Lm5hbWVdXCJcbiAgICAgICAgICBbaWRdPVwiZWxlbWVudC5uYW1lXCJcbiAgICAgICAgICBbbmFtZV09XCJlbGVtZW50Lm5hbWVcIlxuICAgICAgICAgIFtsYWJlbF09XCJlbGVtZW50LmxhYmVsIHx8IGVsZW1lbnQubmFtZVwiXG4gICAgICAgICAgW2hpbnRdPVwiZWxlbWVudC5oaW50XCJcbiAgICAgICAgICBbdHlwZV09XCJlbGVtZW50LnR5cGVcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJlbGVtZW50LnJlcXVpcmVkXCJcbiAgICAgICAgICBbbWluXT1cImVsZW1lbnQubWluXCJcbiAgICAgICAgICBbbWF4XT1cImVsZW1lbnQubWF4XCJcbiAgICAgICAgICBbbWluTGVuZ3RoXT1cImVsZW1lbnQubWluTGVuZ3RoXCJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cImVsZW1lbnQubWF4TGVuZ3RoXCJcbiAgICAgICAgICBbc2VsZWN0aW9uc109XCJlbGVtZW50LnNlbGVjdGlvbnNcIlxuICAgICAgICAgIFttdWx0aXBsZV09XCJlbGVtZW50Lm11bHRpcGxlXCJcbiAgICAgICAgICBbY3VzdG9tQ29uZmlnXT1cImVsZW1lbnQuY3VzdG9tQ29uZmlnXCJcbiAgICAgICAgICBbZXJyb3JNZXNzYWdlVGVtcGxhdGVdPVwiZ2V0RXJyb3JUZW1wbGF0ZVJlZihlbGVtZW50Lm5hbWUpXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWxlbWVudC5wbGFjZWhvbGRlclwiXG4gICAgICAgID48L3RkLWR5bmFtaWMtZWxlbWVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Zvcm0+XG4iXX0=
|