@olafvv/ngx-dynamic-form 0.0.3 → 0.2.0
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-form/dynamic-form.component.mjs +21 -15
- package/esm2022/lib/components/dynamic-form-field/dynamic-form-field.component.mjs +22 -4
- package/esm2022/lib/controls/button/dynamic-button.component.mjs +3 -3
- package/esm2022/lib/controls/button-toggles/dynamic-button-toggles.component.mjs +28 -0
- package/esm2022/lib/controls/button-toggles/dynamic-button-toggles.model.mjs +13 -0
- package/esm2022/lib/controls/checkbox/dynamic-checkbox.component.mjs +5 -11
- package/esm2022/lib/controls/controls.mjs +9 -0
- package/esm2022/lib/controls/input/dynamic-input.component.mjs +12 -11
- package/esm2022/lib/controls/input/dynamic-input.model.mjs +2 -1
- package/esm2022/lib/controls/radio-group/dynamic-radio-group.component.mjs +27 -0
- package/esm2022/lib/controls/radio-group/dynamic-radio-group.model.mjs +11 -0
- package/esm2022/lib/controls/readonly/dynamic-readonly.component.mjs +3 -3
- package/esm2022/lib/controls/select/dynamic-select.component.mjs +5 -11
- package/esm2022/lib/controls/textarea/dynamic-textarea.component.mjs +12 -11
- package/esm2022/lib/models/classes/dynamic-form-field-base.mjs +28 -0
- package/esm2022/lib/models/classes/dynamic-form-field-model.mjs +1 -1
- package/esm2022/lib/models/constants/dynamic-relations.const.mjs +2 -15
- package/esm2022/lib/models/index.mjs +4 -3
- package/esm2022/lib/models/interfaces/dynamic-form-field-config.interface.mjs +1 -1
- package/esm2022/lib/models/interfaces/dynamic-form-field-event.interface.mjs +2 -0
- package/esm2022/lib/models/interfaces/dynamic-form-field-relation.interface.mjs +15 -0
- package/esm2022/lib/services/dynamic-form-relations.service.mjs +3 -2
- package/esm2022/lib/services/dynamic-form.service.mjs +12 -8
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/olafvv-ngx-dynamic-form.mjs +223 -148
- package/fesm2022/olafvv-ngx-dynamic-form.mjs.map +1 -1
- package/lib/components/dynamic-form/dynamic-form.component.d.ts +15 -9
- package/lib/components/dynamic-form-field/dynamic-form-field.component.d.ts +6 -2
- package/lib/controls/button/dynamic-button.component.d.ts +2 -2
- package/lib/controls/button-toggles/dynamic-button-toggles.component.d.ts +13 -0
- package/lib/controls/button-toggles/dynamic-button-toggles.model.d.ts +20 -0
- package/lib/controls/checkbox/dynamic-checkbox.component.d.ts +3 -5
- package/lib/controls/{index.d.ts → controls.d.ts} +2 -0
- package/lib/controls/input/dynamic-input.component.d.ts +6 -6
- package/lib/controls/input/dynamic-input.model.d.ts +2 -0
- package/lib/controls/radio-group/dynamic-radio-group.component.d.ts +13 -0
- package/lib/controls/radio-group/dynamic-radio-group.model.d.ts +14 -0
- package/lib/controls/readonly/dynamic-readonly.component.d.ts +2 -2
- package/lib/controls/select/dynamic-select.component.d.ts +5 -6
- package/lib/controls/textarea/dynamic-textarea.component.d.ts +6 -6
- package/lib/models/classes/{dynamic-form-field-base-component.d.ts → dynamic-form-field-base.d.ts} +2 -8
- package/lib/models/classes/dynamic-form-field-model.d.ts +2 -3
- package/lib/models/constants/dynamic-relations.const.d.ts +1 -29
- package/lib/models/index.d.ts +3 -2
- package/lib/models/interfaces/dynamic-form-field-config.interface.d.ts +4 -5
- package/lib/models/interfaces/dynamic-form-field-event.interface.d.ts +10 -0
- package/lib/models/interfaces/dynamic-form-field-relation.interface.d.ts +29 -0
- package/lib/services/dynamic-form.service.d.ts +12 -8
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2022/lib/controls/index.mjs +0 -7
- package/esm2022/lib/models/classes/dynamic-form-field-base-component.mjs +0 -34
- package/esm2022/lib/models/types/dynamic-form-hook.type.mjs +0 -2
- package/lib/models/types/dynamic-form-hook.type.d.ts +0 -1
|
@@ -5,19 +5,17 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
5
5
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
6
|
import { MatIconModule } from '@angular/material/icon';
|
|
7
7
|
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
8
|
-
import {
|
|
8
|
+
import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@angular/forms";
|
|
11
11
|
import * as i2 from "@angular/material/form-field";
|
|
12
12
|
import * as i3 from "@angular/material/input";
|
|
13
13
|
import * as i4 from "@angular/material/button";
|
|
14
14
|
import * as i5 from "@angular/material/icon";
|
|
15
|
-
export class DynamicInputComponent extends
|
|
15
|
+
export class DynamicInputComponent extends DynamicFormFieldBase {
|
|
16
16
|
constructor() {
|
|
17
17
|
super(...arguments);
|
|
18
|
-
this.blur = new EventEmitter();
|
|
19
18
|
this.change = new EventEmitter();
|
|
20
|
-
this.focus = new EventEmitter();
|
|
21
19
|
}
|
|
22
20
|
get valueCount() {
|
|
23
21
|
return this.input?.value ? this.input.value.length : 0;
|
|
@@ -28,12 +26,19 @@ export class DynamicInputComponent extends DynamicFormFieldBaseComponent {
|
|
|
28
26
|
get showClear() {
|
|
29
27
|
return !!this.control.value && !this.control.disabled;
|
|
30
28
|
}
|
|
29
|
+
onChange(event) {
|
|
30
|
+
// Ignore the native HTML 5 change event
|
|
31
|
+
if (event instanceof Event) {
|
|
32
|
+
event.stopPropagation();
|
|
33
|
+
}
|
|
34
|
+
this.change.emit(event);
|
|
35
|
+
}
|
|
31
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicInputComponent, isStandalone: true, selector: "dynamic-input", inputs: { model: "model", group: "group" }, outputs: {
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicInputComponent, isStandalone: true, selector: "dynamic-input", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <span matTextPrefix\n *ngIf=\"model.prefix\">{{model.prefix}}</span>\n\n <input matInput\n [type]=\"model.inputType\"\n [formControlName]=\"model.name\"\n [attr.min]=\"model.min\"\n [attr.max]=\"model.max\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [pattern]=\"model.pattern\"\n [autocomplete]=\"model.autocomplete\"\n (change)=\"onChange($event)\" />\n\n <button matSuffix\n mat-icon-button\n *ngIf=\"showClear\"\n (click)=\"resetControl()\">\n <mat-icon fontIcon=\"clear\"></mat-icon>\n </button>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { 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: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
33
38
|
}
|
|
34
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicInputComponent, decorators: [{
|
|
35
40
|
type: Component,
|
|
36
|
-
args: [{ selector: 'dynamic-input', standalone: true, imports: [NgIf, NgFor, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatButtonModule, MatIconModule], template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <span
|
|
41
|
+
args: [{ selector: 'dynamic-input', standalone: true, imports: [NgIf, NgFor, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatButtonModule, MatIconModule], template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <span matTextPrefix\n *ngIf=\"model.prefix\">{{model.prefix}}</span>\n\n <input matInput\n [type]=\"model.inputType\"\n [formControlName]=\"model.name\"\n [attr.min]=\"model.min\"\n [attr.max]=\"model.max\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [pattern]=\"model.pattern\"\n [autocomplete]=\"model.autocomplete\"\n (change)=\"onChange($event)\" />\n\n <button matSuffix\n mat-icon-button\n *ngIf=\"showClear\"\n (click)=\"resetControl()\">\n <mat-icon fontIcon=\"clear\"></mat-icon>\n </button>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
37
42
|
}], propDecorators: { input: [{
|
|
38
43
|
type: ViewChild,
|
|
39
44
|
args: [MatInput, { static: true }]
|
|
@@ -41,11 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
41
46
|
type: Input
|
|
42
47
|
}], group: [{
|
|
43
48
|
type: Input
|
|
44
|
-
}], blur: [{
|
|
45
|
-
type: Output
|
|
46
49
|
}], change: [{
|
|
47
50
|
type: Output
|
|
48
|
-
}], focus: [{
|
|
49
|
-
type: Output
|
|
50
51
|
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvaW5wdXQvZHluYW1pYy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvaW5wdXQvZHluYW1pYy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7QUFXcEYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjtJQVAvRDs7UUFhWSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0FzQjlEO0lBcEJDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3hELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBb0M7UUFDbEQsd0NBQXdDO1FBQ3hDLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUE4QixDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0EzQlUscUJBQXFCO21HQUFyQixxQkFBcUIsMkxBQ3JCLFFBQVEscUZDbkJyQiw2bENBb0NpQixzRkRwQkwsSUFBSSw2RkFBRSxLQUFLLGtIQUFFLG1CQUFtQiw0L0JBQUUsa0JBQWtCLGl1QkFBRSxjQUFjLDBXQUFFLGVBQWUsMkxBQUUsYUFBYTs7NEZBRW5HLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQzs4QkFHeEUsS0FBSztzQkFBM0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUU1QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dCwgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY0lucHV0IH0gZnJvbSAnLi9keW5hbWljLWlucHV0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHluYW1pYy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnZHluYW1pYy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogWydtYXQtZm9ybS1maWVsZCB7d2lkdGg6IDEwMCU7fSddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0lucHV0Q29tcG9uZW50IGV4dGVuZHMgRHluYW1pY0Zvcm1GaWVsZEJhc2Uge1xuICBAVmlld0NoaWxkKE1hdElucHV0LCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dCE6IE1hdElucHV0O1xuXG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY0lucHV0O1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RHluYW1pY0Zvcm1GaWVsZEV2ZW50PigpO1xuXG4gIGdldCB2YWx1ZUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXQ/LnZhbHVlID8gdGhpcy5pbnB1dC52YWx1ZS5sZW5ndGggOiAwO1xuICB9XG5cbiAgZ2V0IG1heENvdW50VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnZhbHVlQ291bnR9IC8gJHt0aGlzLm1vZGVsLm1heExlbmd0aH1gO1xuICB9XG5cbiAgZ2V0IHNob3dDbGVhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNvbnRyb2wudmFsdWUgJiYgIXRoaXMuY29udHJvbC5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogRXZlbnQgfCBEeW5hbWljRm9ybUZpZWxkRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBJZ25vcmUgdGhlIG5hdGl2ZSBIVE1MIDUgY2hhbmdlIGV2ZW50XG4gICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQgYXMgRHluYW1pY0Zvcm1GaWVsZEV2ZW50KTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxuICBbaWRdPVwiaWRcIlxuICBjb2xvcj1cInByaW1hcnlcIj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cIm1vZGVsLmxhYmVsXCI+e3ttb2RlbC5sYWJlbH19PC9tYXQtbGFiZWw+XG5cbiAgPHNwYW4gbWF0VGV4dFByZWZpeFxuICAgICpuZ0lmPVwibW9kZWwucHJlZml4XCI+e3ttb2RlbC5wcmVmaXh9fTwvc3Bhbj5cblxuICA8aW5wdXQgbWF0SW5wdXRcbiAgICBbdHlwZV09XCJtb2RlbC5pbnB1dFR5cGVcIlxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibW9kZWwubmFtZVwiXG4gICAgW2F0dHIubWluXT1cIm1vZGVsLm1pblwiXG4gICAgW2F0dHIubWF4XT1cIm1vZGVsLm1heFwiXG4gICAgW2F0dHIubWluTGVuZ3RoXT1cIm1vZGVsLm1pbkxlbmd0aFwiXG4gICAgW2F0dHIubWF4TGVuZ3RoXT1cIm1vZGVsLm1heExlbmd0aFwiXG4gICAgW3BhdHRlcm5dPVwibW9kZWwucGF0dGVyblwiXG4gICAgW2F1dG9jb21wbGV0ZV09XCJtb2RlbC5hdXRvY29tcGxldGVcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiIC8+XG5cbiAgPGJ1dHRvbiBtYXRTdWZmaXhcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICAqbmdJZj1cInNob3dDbGVhclwiXG4gICAgKGNsaWNrKT1cInJlc2V0Q29udHJvbCgpXCI+XG4gICAgPG1hdC1pY29uIGZvbnRJY29uPVwiY2xlYXJcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bWF0LWhpbnQgKm5nSWY9XCJtb2RlbC5oaW50XCJcbiAgICBhbGlnbj1cInN0YXJ0XCI+e3ttb2RlbC5oaW50fX08L21hdC1oaW50PlxuXG4gIDxtYXQtaGludCAqbmdJZj1cIm1vZGVsLm1heExlbmd0aFwiXG4gICAgYWxpZ249XCJlbmRcIj57e21heENvdW50VGV4dH19PC9tYXQtaGludD5cblxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZGF0b3Igb2YgbW9kZWwudmFsaWRhdG9yc1wiXG4gICAgbmdQcm9qZWN0QXM9XCJtYXQtZXJyb3JcIj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzRXJyb3IodmFsaWRhdG9yLm5hbWUpXCI+e3t2YWxpZGF0b3IubWVzc2FnZX19PC9tYXQtZXJyb3I+XG4gIDwvbmctY29udGFpbmVyPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
|
|
@@ -13,6 +13,7 @@ export class DynamicInput extends DynamicFormFieldValueModel {
|
|
|
13
13
|
this.pattern = config.pattern ?? '';
|
|
14
14
|
this.autocomplete = config.autocomplete ?? 'off';
|
|
15
15
|
this.prefix = config.prefix ?? null;
|
|
16
|
+
this.hideClearIcon = config.hideClearIcon ?? false;
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1pbnB1dC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9jb250cm9scy9pbnB1dC9keW5hbWljLWlucHV0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU5SCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxPQUFPLENBQUM7QUFpQmhELE1BQU0sT0FBTyxZQUFhLFNBQVEsMEJBQXlEO0lBY3pGLFlBQVksTUFBMEI7UUFDcEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSEEsU0FBSSxHQUFHLHdCQUF3QixDQUFDO1FBSzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxNQUFNLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hGLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxNQUFNLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hGLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkVmFsdWVDb25maWcsIER5bmFtaWNGb3JtRmllbGRWYWx1ZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLXZhbHVlLW1vZGVsJztcblxuZXhwb3J0IGNvbnN0IERZTkFNSUNfRk9STV9GSUVMRF9JTlBVVCA9ICdpbnB1dCc7XG5cbmV4cG9ydCB0eXBlIEh0bWxJbnB1dFR5cGUgPSAndGV4dCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ2VtYWlsJyB8ICdwYXNzd29yZCcgfCAnZGF0ZScgfCAndGltZScgfCAnY29sb3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNJbnB1dENvbmZpZyBleHRlbmRzIER5bmFtaWNGb3JtRmllbGRWYWx1ZUNvbmZpZzxzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHwgbnVsbD4ge1xuICBpbnB1dFR5cGU/OiBIdG1sSW5wdXRUeXBlO1xuICBtYXg/OiBudW1iZXI7XG4gIG1pbj86IG51bWJlcjtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIHBhdHRlcm4/OiBzdHJpbmcgfCBSZWdFeHA7XG4gIGF1dG9jb21wbGV0ZT86ICdvbicgfCAnb2ZmJztcbiAgcHJlZml4Pzogc3RyaW5nO1xuICBoaWRlQ2xlYXJJY29uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNJbnB1dCBleHRlbmRzIER5bmFtaWNGb3JtRmllbGRWYWx1ZU1vZGVsPHN0cmluZyB8IG51bWJlciB8IERhdGUgfCBudWxsPiB7XG4gIHB1YmxpYyBpbnB1dFR5cGU6IEh0bWxJbnB1dFR5cGU7XG4gIHB1YmxpYyBtYXg6IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBtaW46IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBtYXhMZW5ndGg6IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBtaW5MZW5ndGg6IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBzdGVwOiBudW1iZXIgfCBudWxsO1xuICBwdWJsaWMgcGF0dGVybjogc3RyaW5nIHwgUmVnRXhwO1xuICBwdWJsaWMgYXV0b2NvbXBsZXRlOiAnb24nIHwgJ29mZic7XG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZyB8IG51bGw7XG4gIHB1YmxpYyBoaWRlQ2xlYXJJY29uOiBib29sZWFuO1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlID0gRFlOQU1JQ19GT1JNX0ZJRUxEX0lOUFVUO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRHluYW1pY0lucHV0Q29uZmlnKSB7XG4gICAgc3VwZXIoY29uZmlnKTtcblxuICAgIHRoaXMuaW5wdXRUeXBlID0gY29uZmlnLmlucHV0VHlwZSA/PyAndGV4dCc7XG4gICAgdGhpcy5tYXggPSBjb25maWcubWF4ID8/IG51bGw7XG4gICAgdGhpcy5taW4gPSBjb25maWcubWluID8/IG51bGw7XG4gICAgdGhpcy5tYXhMZW5ndGggPSB0eXBlb2YgY29uZmlnLm1heExlbmd0aCA9PT0gJ251bWJlcicgPyBjb25maWcubWF4TGVuZ3RoIDogbnVsbDtcbiAgICB0aGlzLm1pbkxlbmd0aCA9IHR5cGVvZiBjb25maWcubWluTGVuZ3RoID09PSAnbnVtYmVyJyA/IGNvbmZpZy5taW5MZW5ndGggOiBudWxsO1xuICAgIHRoaXMuc3RlcCA9IGNvbmZpZy5zdGVwID8/IG51bGw7XG4gICAgdGhpcy5wYXR0ZXJuID0gY29uZmlnLnBhdHRlcm4gPz8gJyc7XG4gICAgdGhpcy5hdXRvY29tcGxldGUgPSBjb25maWcuYXV0b2NvbXBsZXRlID8/ICdvZmYnO1xuICAgIHRoaXMucHJlZml4ID0gY29uZmlnLnByZWZpeCA/PyBudWxsO1xuICAgIHRoaXMuaGlkZUNsZWFySWNvbiA9IGNvbmZpZy5oaWRlQ2xlYXJJY29uID8/IGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AsyncPipe, NgClass, NgFor, NgIf } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatRadioModule } from '@angular/material/radio';
|
|
5
|
+
import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "@angular/material/radio";
|
|
9
|
+
export class DymamicRadioGroupComponent extends DynamicFormFieldBase {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.change = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DymamicRadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DymamicRadioGroupComponent, isStandalone: true, selector: "dynamic-radio-group", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, usesInheritance: true, ngImport: i0, template: "<div class=\"dynamic-radio-group-wrapper\"\n [formGroup]=\"group\">\n <label *ngIf=\"model.label\">{{model.label}}</label>\n <mat-radio-group [formControlName]=\"model.name\"\n class=\"radio-group\"\n [ngClass]=\"{'inline': model.inline}\"\n (change)=\"onChange($event)\">\n <mat-radio-button *ngFor=\"let option of model.options$ | async\"\n [value]=\"option.value\"\n [labelPosition]=\"model.labelPosition\">\n {{option.label}}\n </mat-radio-button>\n </mat-radio-group>\n</div>", styles: [".dynamic-radio-group-wrapper label{display:block;font-size:var(--mdc-typography-body2-font-size, 14px);margin-bottom:8px}.dynamic-radio-group-wrapper .radio-group:not(.inline){display:flex;flex-direction:column;align-items:flex-start}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DymamicRadioGroupComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ standalone: true, imports: [NgFor, NgIf, NgClass, ReactiveFormsModule, MatRadioModule, AsyncPipe], selector: 'dynamic-radio-group', template: "<div class=\"dynamic-radio-group-wrapper\"\n [formGroup]=\"group\">\n <label *ngIf=\"model.label\">{{model.label}}</label>\n <mat-radio-group [formControlName]=\"model.name\"\n class=\"radio-group\"\n [ngClass]=\"{'inline': model.inline}\"\n (change)=\"onChange($event)\">\n <mat-radio-button *ngFor=\"let option of model.options$ | async\"\n [value]=\"option.value\"\n [labelPosition]=\"model.labelPosition\">\n {{option.label}}\n </mat-radio-button>\n </mat-radio-group>\n</div>", styles: [".dynamic-radio-group-wrapper label{display:block;font-size:var(--mdc-typography-body2-font-size, 14px);margin-bottom:8px}.dynamic-radio-group-wrapper .radio-group:not(.inline){display:flex;flex-direction:column;align-items:flex-start}\n"] }]
|
|
20
|
+
}], propDecorators: { model: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], group: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], change: [{
|
|
25
|
+
type: Output
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1yYWRpby1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvcmFkaW8tZ3JvdXAvZHluYW1pYy1yYWRpby1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvcmFkaW8tZ3JvdXAvZHluYW1pYy1yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFrQixjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7OztBQVVwRixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsb0JBQW9CO0lBUHBFOztRQVdZLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztLQUN2RDsrR0FMWSwwQkFBMEI7bUdBQTFCLDBCQUEwQixpTENkdkMsb2dCQWFNLHNTREpNLEtBQUssbUhBQUUsSUFBSSw2RkFBRSxPQUFPLG1GQUFFLG1CQUFtQixtbEJBQUUsY0FBYyxzUkFBRSxTQUFTOzs0RkFLbkUsMEJBQTBCO2tCQVB0QyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxTQUFTLENBQUMsWUFDckUscUJBQXFCOzhCQUt0QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRSYWRpb0NoYW5nZSwgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNSYWRpb0dyb3VwIH0gZnJvbSAnLi9keW5hbWljLXJhZGlvLWdyb3VwLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0ZvciwgTmdJZiwgTmdDbGFzcywgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0UmFkaW9Nb2R1bGUsIEFzeW5jUGlwZV0sXG4gIHNlbGVjdG9yOiAnZHluYW1pYy1yYWRpby1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXJhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1yYWRpby1ncm91cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER5bWFtaWNSYWRpb0dyb3VwQ29tcG9uZW50IGV4dGVuZHMgRHluYW1pY0Zvcm1GaWVsZEJhc2Uge1xuICBASW5wdXQoKSBtb2RlbCE6IER5bmFtaWNSYWRpb0dyb3VwO1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWF0UmFkaW9DaGFuZ2U+KCk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZHluYW1pYy1yYWRpby1ncm91cC13cmFwcGVyXCJcbiAgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuICA8bGFiZWwgKm5nSWY9XCJtb2RlbC5sYWJlbFwiPnt7bW9kZWwubGFiZWx9fTwvbGFiZWw+XG4gIDxtYXQtcmFkaW8tZ3JvdXAgW2Zvcm1Db250cm9sTmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICBjbGFzcz1cInJhZGlvLWdyb3VwXCJcbiAgICBbbmdDbGFzc109XCJ7J2lubGluZSc6IG1vZGVsLmlubGluZX1cIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDxtYXQtcmFkaW8tYnV0dG9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbW9kZWwub3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgIFtsYWJlbFBvc2l0aW9uXT1cIm1vZGVsLmxhYmVsUG9zaXRpb25cIj5cbiAgICAgIHt7b3B0aW9uLmxhYmVsfX1cbiAgICA8L21hdC1yYWRpby1idXR0b24+XG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DynamicFormFieldOptionModel } from '../../models/classes/dynamic-form-field-option-model';
|
|
2
|
+
export const DYNAMIC_FORM_FIELD_RADIO_GROUP = 'radio-group';
|
|
3
|
+
export class DynamicRadioGroup extends DynamicFormFieldOptionModel {
|
|
4
|
+
constructor(config) {
|
|
5
|
+
super(config);
|
|
6
|
+
this.type = DYNAMIC_FORM_FIELD_RADIO_GROUP;
|
|
7
|
+
this.labelPosition = config.labelPosition ?? 'after';
|
|
8
|
+
this.inline = config.inline ?? false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1yYWRpby1ncm91cC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9jb250cm9scy9yYWRpby1ncm91cC9keW5hbWljLXJhZGlvLWdyb3VwLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUVqSSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxhQUFhLENBQUM7QUFTNUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDJCQUE0QztJQU1qRixZQUFZLE1BQStCO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhBLFNBQUksR0FBVyw4QkFBOEIsQ0FBQztRQUs1RCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZE9wdGlvbkNvbmZpZywgRHluYW1pY0Zvcm1GaWVsZE9wdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLW9wdGlvbi1tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBEWU5BTUlDX0ZPUk1fRklFTERfUkFESU9fR1JPVVAgPSAncmFkaW8tZ3JvdXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNSYWRpb0dyb3VwQ29uZmlnIGV4dGVuZHMgRHluYW1pY0Zvcm1GaWVsZE9wdGlvbkNvbmZpZzxzdHJpbmcgfCBudW1iZXI+IHtcbiAgLyoqIFBsYWNlbWVudCBvZiB0aGUgb3B0aW9uIGxhYmVsLiBEZWZhdWx0IGlzICdiZWZvcmUnICovXG4gIGxhYmVsUG9zaXRpb24/OiAnYmVmb3JlJyB8ICdhZnRlcic7XG4gIC8qKiBXaGV0aGVyIHRoZSBvcHRpb25zIGFyZSBzaG93biBpbmxpbmUgKGhvcml6b250YWxseSkuIERlZmF1bHQgaXMgZmFsc2UgKi9cbiAgaW5saW5lPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNSYWRpb0dyb3VwIGV4dGVuZHMgRHluYW1pY0Zvcm1GaWVsZE9wdGlvbk1vZGVsPHN0cmluZyB8IG51bWJlcj4ge1xuICBwdWJsaWMgbGFiZWxQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInO1xuICBwdWJsaWMgaW5saW5lOiBib29sZWFuO1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBEWU5BTUlDX0ZPUk1fRklFTERfUkFESU9fR1JPVVA7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBEeW5hbWljUmFkaW9Hcm91cENvbmZpZykge1xuICAgIHN1cGVyKGNvbmZpZyk7XG5cbiAgICB0aGlzLmxhYmVsUG9zaXRpb24gPSBjb25maWcubGFiZWxQb3NpdGlvbiA/PyAnYWZ0ZXInO1xuICAgIHRoaXMuaW5saW5lID0gY29uZmlnLmlubGluZSA/PyBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/forms";
|
|
6
|
-
export class DynamicReadonlyComponent extends
|
|
6
|
+
export class DynamicReadonlyComponent extends DynamicFormFieldBase {
|
|
7
7
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicReadonlyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
8
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicReadonlyComponent, isStandalone: true, selector: "dynamic-readonly", inputs: { model: "model", group: "group" }, usesInheritance: true, ngImport: i0, template: "<div class=\"dynamic-form-field-readonly\"\n [formGroup]=\"group\"\n [id]=\"id\">\n <div class=\"label\">{{model.label}}</div>\n <span>{{model.value}}</span>\n</div>", styles: [".dynamic-form-field-readonly{width:100%;margin:8px 0;color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.dynamic-form-field-readonly .label{font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);margin-bottom:8px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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"] }] }); }
|
|
9
9
|
}
|
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
15
15
|
}], group: [{
|
|
16
16
|
type: Input
|
|
17
17
|
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1yZWFkb25seS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvcmVhZG9ubHkvZHluYW1pYy1yZWFkb25seS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvcmVhZG9ubHkvZHluYW1pYy1yZWFkb25seS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQVVwRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsb0JBQW9COytHQUFyRCx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrSUNackMsMktBS00sNFZERU0sbUJBQW1COzs0RkFLbEIsd0JBQXdCO2tCQVBwQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDLFlBQ3BCLGtCQUFrQjs4QkFLbkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNSZWFkb25seSB9IGZyb20gJy4vZHluYW1pYy1yZWFkb25seS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZHluYW1pYy1yZWFkb25seScsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXJlYWRvbmx5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1yZWFkb25seS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNSZWFkb25seUNvbXBvbmVudCBleHRlbmRzIER5bmFtaWNGb3JtRmllbGRCYXNlIHtcbiAgQElucHV0KCkgbW9kZWwhOiBEeW5hbWljUmVhZG9ubHk7XG4gIEBJbnB1dCgpIGdyb3VwITogVW50eXBlZEZvcm1Hcm91cDtcbn1cbiIsIjxkaXYgY2xhc3M9XCJkeW5hbWljLWZvcm0tZmllbGQtcmVhZG9ubHlcIlxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcbiAgW2lkXT1cImlkXCI+XG4gIDxkaXYgY2xhc3M9XCJsYWJlbFwiPnt7bW9kZWwubGFiZWx9fTwvZGl2PlxuICA8c3Bhbj57e21vZGVsLnZhbHVlfX08L3NwYW4+XG48L2Rpdj4iXX0=
|
|
@@ -5,38 +5,32 @@ import { MatOptionModule } from '@angular/material/core';
|
|
|
5
5
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
6
|
import { MatInputModule } from '@angular/material/input';
|
|
7
7
|
import { MatSelectModule } from '@angular/material/select';
|
|
8
|
-
import {
|
|
8
|
+
import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@angular/material/form-field";
|
|
11
11
|
import * as i2 from "@angular/forms";
|
|
12
12
|
import * as i3 from "@angular/material/select";
|
|
13
13
|
import * as i4 from "@angular/material/core";
|
|
14
14
|
import * as i5 from "@angular/material/input";
|
|
15
|
-
export class DynamicSelectComponent extends
|
|
15
|
+
export class DynamicSelectComponent extends DynamicFormFieldBase {
|
|
16
16
|
constructor() {
|
|
17
17
|
super(...arguments);
|
|
18
|
-
this.blur = new EventEmitter();
|
|
19
18
|
this.change = new EventEmitter();
|
|
20
|
-
this.focus = new EventEmitter();
|
|
21
19
|
}
|
|
22
20
|
trackByFn(index, option) {
|
|
23
21
|
return option.value;
|
|
24
22
|
}
|
|
25
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicSelectComponent, isStandalone: true, selector: "dynamic-select", inputs: { model: "model", group: "group" }, outputs: {
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicSelectComponent, isStandalone: true, selector: "dynamic-select", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label>{{model.label}}</mat-label>\n\n <!-- Template for select without grouped options -->\n <ng-container *ngIf=\"model.options$ | async as options\">\n <ng-container *ngIf=\"!model.native else nativeSelect\">\n <mat-select [formControlName]=\"model.name\"\n [multiple]=\"model.multiple\"\n (selectionChange)=\"onChange($event)\">\n <mat-option *ngFor=\"let option of options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelect>\n <select matNativeControl\n (selectionchange)=\"onChange($event)\">\n <option *ngFor=\"let option of options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </select>\n </ng-template>\n </ng-container>\n\n <!-- Template for select with grouped options -->\n <ng-container *ngIf=\"model.groupedOptions$ | async as groupedOptions\">\n <ng-container *ngIf=\"!model.native else nativeSelectGrouped\">\n <mat-select [formControlName]=\"model.name\"\n (selectionChange)=\"onChange($event)\">\n <mat-optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <mat-option *ngFor=\"let option of group.options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-optgroup>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelectGrouped>\n <select matNativeControl\n (selectionchange)=\"onChange($event)\">\n <optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <option *ngFor=\"let option of group.options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </optgroup>\n </select>\n </ng-template>\n </ng-container>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}mat-option{padding-top:8px;padding-bottom:8px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
|
|
27
25
|
}
|
|
28
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicSelectComponent, decorators: [{
|
|
29
27
|
type: Component,
|
|
30
|
-
args: [{ standalone: true, imports: [NgIf, NgFor, MatFormFieldModule, ReactiveFormsModule, MatSelectModule, MatOptionModule, AsyncPipe, MatInputModule], selector: 'dynamic-select', template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label>{{model.label}}</mat-label>\n\n <!-- Template for select without grouped options -->\n <ng-container *ngIf=\"model.options$ | async as options\">\n <ng-container *ngIf=\"!model.native else nativeSelect\">\n <mat-select [formControlName]=\"model.name\"\n [multiple]=\"model.multiple\">\n <mat-option *ngFor=\"let option of options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelect>\n <select matNativeControl>\n <option *ngFor=\"let option of options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </select>\n </ng-template>\n </ng-container>\n\n <!-- Template for select with grouped options -->\n <ng-container *ngIf=\"model.groupedOptions$ | async as groupedOptions\">\n <ng-container *ngIf=\"!model.native else nativeSelectGrouped\">\n <mat-select [formControlName]=\"model.name\">\n <mat-optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <mat-option *ngFor=\"let option of group.options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-optgroup>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelectGrouped>\n <select matNativeControl>\n <optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <option *ngFor=\"let option of group.options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </optgroup>\n </select>\n </ng-template>\n </ng-container>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}mat-option{padding-top:8px;padding-bottom:8px}\n"] }]
|
|
28
|
+
args: [{ standalone: true, imports: [NgIf, NgFor, MatFormFieldModule, ReactiveFormsModule, MatSelectModule, MatOptionModule, AsyncPipe, MatInputModule], selector: 'dynamic-select', template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label>{{model.label}}</mat-label>\n\n <!-- Template for select without grouped options -->\n <ng-container *ngIf=\"model.options$ | async as options\">\n <ng-container *ngIf=\"!model.native else nativeSelect\">\n <mat-select [formControlName]=\"model.name\"\n [multiple]=\"model.multiple\"\n (selectionChange)=\"onChange($event)\">\n <mat-option *ngFor=\"let option of options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelect>\n <select matNativeControl\n (selectionchange)=\"onChange($event)\">\n <option *ngFor=\"let option of options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </select>\n </ng-template>\n </ng-container>\n\n <!-- Template for select with grouped options -->\n <ng-container *ngIf=\"model.groupedOptions$ | async as groupedOptions\">\n <ng-container *ngIf=\"!model.native else nativeSelectGrouped\">\n <mat-select [formControlName]=\"model.name\"\n (selectionChange)=\"onChange($event)\">\n <mat-optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <mat-option *ngFor=\"let option of group.options; trackBy: trackByFn\"\n [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-optgroup>\n </mat-select>\n </ng-container>\n\n <ng-template #nativeSelectGrouped>\n <select matNativeControl\n (selectionchange)=\"onChange($event)\">\n <optgroup *ngFor=\"let group of groupedOptions\"\n [label]=\"group.name\">\n <option *ngFor=\"let option of group.options\"\n [value]=\"option.value\">\n {{option.label}}\n </option>\n </optgroup>\n </select>\n </ng-template>\n </ng-container>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}mat-option{padding-top:8px;padding-bottom:8px}\n"] }]
|
|
31
29
|
}], propDecorators: { model: [{
|
|
32
30
|
type: Input
|
|
33
31
|
}], group: [{
|
|
34
32
|
type: Input
|
|
35
|
-
}], blur: [{
|
|
36
|
-
type: Output
|
|
37
33
|
}], change: [{
|
|
38
34
|
type: Output
|
|
39
|
-
}], focus: [{
|
|
40
|
-
type: Output
|
|
41
35
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL2NvbnRyb2xzL3NlbGVjdC9keW5hbWljLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvc2VsZWN0L2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7OztBQVdwRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsb0JBQW9CO0lBUGhFOztRQVdZLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztLQUt4RDtJQUhRLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBdUM7UUFDckUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7K0dBUlUsc0JBQXNCO21HQUF0QixzQkFBc0IsNEtDbEJuQyw4eEVBaUVpQixvSURwREwsSUFBSSw2RkFBRSxLQUFLLGtIQUFFLGtCQUFrQiwrZEFBRSxtQkFBbUIsZ3lCQUFFLGVBQWUsK2FBQUUsZUFBZSwwQkFBRSxTQUFTLDZDQUFFLGNBQWM7OzRGQUtoSCxzQkFBc0I7a0JBUGxDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsWUFDbEgsZ0JBQWdCOzhCQUtqQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UsIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtb3B0aW9uLW1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNTZWxlY3QgfSBmcm9tICcuL2R5bmFtaWMtc2VsZWN0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRTZWxlY3RNb2R1bGUsIE1hdE9wdGlvbk1vZHVsZSwgQXN5bmNQaXBlLCBNYXRJbnB1dE1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZHluYW1pYy1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLXNlbGVjdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBEeW5hbWljRm9ybUZpZWxkQmFzZSB7XG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY1NlbGVjdDxzdHJpbmc+O1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWF0U2VsZWN0Q2hhbmdlPigpO1xuXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgb3B0aW9uOiBEeW5hbWljRm9ybUZpZWxkT3B0aW9uPHVua25vd24+KSB7XG4gICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxuICBbaWRdPVwiaWRcIlxuICBjb2xvcj1cInByaW1hcnlcIj5cbiAgPG1hdC1sYWJlbD57e21vZGVsLmxhYmVsfX08L21hdC1sYWJlbD5cblxuICA8IS0tIFRlbXBsYXRlIGZvciBzZWxlY3Qgd2l0aG91dCBncm91cGVkIG9wdGlvbnMgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5vcHRpb25zJCB8IGFzeW5jIGFzIG9wdGlvbnNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1vZGVsLm5hdGl2ZSBlbHNlIG5hdGl2ZVNlbGVjdFwiPlxuICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICAgICAgW211bHRpcGxlXT1cIm1vZGVsLm11bHRpcGxlXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAge3tvcHRpb24ubGFiZWx9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI25hdGl2ZVNlbGVjdD5cbiAgICAgIDxzZWxlY3QgbWF0TmF0aXZlQ29udHJvbFxuICAgICAgICAoc2VsZWN0aW9uY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIlxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cbiAgICAgICAgICB7e29wdGlvbi5sYWJlbH19XG4gICAgICAgIDwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBUZW1wbGF0ZSBmb3Igc2VsZWN0IHdpdGggZ3JvdXBlZCBvcHRpb25zIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwuZ3JvdXBlZE9wdGlvbnMkIHwgYXN5bmMgYXMgZ3JvdXBlZE9wdGlvbnNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1vZGVsLm5hdGl2ZSBlbHNlIG5hdGl2ZVNlbGVjdEdyb3VwZWRcIj5cbiAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwibW9kZWwubmFtZVwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8bWF0LW9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cCBvZiBncm91cGVkT3B0aW9uc1wiXG4gICAgICAgICAgW2xhYmVsXT1cImdyb3VwLm5hbWVcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGdyb3VwLm9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAgICB7e29wdGlvbi5sYWJlbH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1vcHRncm91cD5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbmF0aXZlU2VsZWN0R3JvdXBlZD5cbiAgICAgIDxzZWxlY3QgbWF0TmF0aXZlQ29udHJvbFxuICAgICAgICAoc2VsZWN0aW9uY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPG9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cCBvZiBncm91cGVkT3B0aW9uc1wiXG4gICAgICAgICAgW2xhYmVsXT1cImdyb3VwLm5hbWVcIj5cbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZ3JvdXAub3B0aW9uc1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAgICB7e29wdGlvbi5sYWJlbH19XG4gICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgIDwvb3B0Z3JvdXA+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bWF0LWhpbnQgKm5nSWY9XCJtb2RlbC5oaW50XCJcbiAgICBhbGlnbj1cInN0YXJ0XCI+e3ttb2RlbC5oaW50fX08L21hdC1oaW50PlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRvciBvZiBtb2RlbC52YWxpZGF0b3JzXCJcbiAgICBuZ1Byb2plY3RBcz1cIm1hdC1lcnJvclwiPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNFcnJvcih2YWxpZGF0b3IubmFtZSlcIj57e3ZhbGlkYXRvci5tZXNzYWdlfX08L21hdC1lcnJvcj5cbiAgPC9uZy1jb250YWluZXI+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
@@ -3,18 +3,16 @@ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core
|
|
|
3
3
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
4
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
5
|
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
6
|
-
import {
|
|
6
|
+
import { DynamicFormFieldBase } from '../../models/classes/dynamic-form-field-base';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/material/form-field";
|
|
9
9
|
import * as i2 from "@angular/material/input";
|
|
10
10
|
import * as i3 from "@angular/cdk/text-field";
|
|
11
11
|
import * as i4 from "@angular/forms";
|
|
12
|
-
export class DynamicTextareaComponent extends
|
|
12
|
+
export class DynamicTextareaComponent extends DynamicFormFieldBase {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
|
-
this.blur = new EventEmitter();
|
|
16
15
|
this.change = new EventEmitter();
|
|
17
|
-
this.focus = new EventEmitter();
|
|
18
16
|
}
|
|
19
17
|
get valueCount() {
|
|
20
18
|
return this.textarea?.value ? this.textarea.value.length : 0;
|
|
@@ -22,12 +20,19 @@ export class DynamicTextareaComponent extends DynamicFormFieldBaseComponent {
|
|
|
22
20
|
get maxCountText() {
|
|
23
21
|
return `${this.valueCount} / ${this.model.maxLength}`;
|
|
24
22
|
}
|
|
23
|
+
onChange(event) {
|
|
24
|
+
// Ignore the native HTML 5 change event
|
|
25
|
+
if (event instanceof Event) {
|
|
26
|
+
event.stopPropagation();
|
|
27
|
+
}
|
|
28
|
+
this.change.emit(event);
|
|
29
|
+
}
|
|
25
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicTextareaComponent, isStandalone: true, selector: "dynamic-textarea", inputs: { model: "model", group: "group" }, outputs: {
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicTextareaComponent, isStandalone: true, selector: "dynamic-textarea", inputs: { model: "model", group: "group" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "textarea", first: true, predicate: MatInput, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <textarea matInput\n [cdkTextareaAutosize]=\"model.resize\"\n [cdkAutosizeMinRows]=\"model.rows\"\n [cdkAutosizeMaxRows]=\"model.resizeMaxRows\"\n [id]=\"id\"\n [formControlName]=\"model.name\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [rows]=\"model.rows\"\n [autocomplete]=\"model.autocomplete\"\n (change)=\"onChange($event)\">\n </textarea>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i3.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
27
32
|
}
|
|
28
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicTextareaComponent, decorators: [{
|
|
29
34
|
type: Component,
|
|
30
|
-
args: [{ standalone: true, imports: [NgIf, NgFor, MatFormFieldModule, MatInputModule, ReactiveFormsModule], selector: 'dynamic-textarea', template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <textarea matInput\n [cdkTextareaAutosize]=\"model.resize\"\n [cdkAutosizeMinRows]=\"model.rows\"\n [cdkAutosizeMaxRows]=\"model.resizeMaxRows\"\n [id]=\"id\"\n [formControlName]=\"model.name\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [rows]=\"model.rows\"\n [autocomplete]=\"model.autocomplete\">\n </textarea>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
35
|
+
args: [{ standalone: true, imports: [NgIf, NgFor, MatFormFieldModule, MatInputModule, ReactiveFormsModule], selector: 'dynamic-textarea', template: "<mat-form-field [formGroup]=\"group\"\n [id]=\"id\"\n color=\"primary\">\n <mat-label *ngIf=\"model.label\">{{model.label}}</mat-label>\n\n <textarea matInput\n [cdkTextareaAutosize]=\"model.resize\"\n [cdkAutosizeMinRows]=\"model.rows\"\n [cdkAutosizeMaxRows]=\"model.resizeMaxRows\"\n [id]=\"id\"\n [formControlName]=\"model.name\"\n [attr.minLength]=\"model.minLength\"\n [attr.maxLength]=\"model.maxLength\"\n [rows]=\"model.rows\"\n [autocomplete]=\"model.autocomplete\"\n (change)=\"onChange($event)\">\n </textarea>\n\n <mat-hint *ngIf=\"model.hint\"\n align=\"start\">{{model.hint}}</mat-hint>\n\n <mat-hint *ngIf=\"model.maxLength\"\n align=\"end\">{{maxCountText}}</mat-hint>\n\n <ng-container *ngFor=\"let validator of model.validators\"\n ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"hasError(validator.name)\">{{validator.message}}</mat-error>\n </ng-container>\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"] }]
|
|
31
36
|
}], propDecorators: { textarea: [{
|
|
32
37
|
type: ViewChild,
|
|
33
38
|
args: [MatInput, { static: true }]
|
|
@@ -35,11 +40,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35
40
|
type: Input
|
|
36
41
|
}], group: [{
|
|
37
42
|
type: Input
|
|
38
|
-
}], blur: [{
|
|
39
|
-
type: Output
|
|
40
43
|
}], change: [{
|
|
41
44
|
type: Output
|
|
42
|
-
}], focus: [{
|
|
43
|
-
type: Output
|
|
44
45
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvY29udHJvbHMvdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7QUFXcEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG9CQUFvQjtJQVBsRTs7UUFhWSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0FrQjlEO0lBaEJDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBb0M7UUFDbEQsd0NBQXdDO1FBQ3hDLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUE4QixDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0F2QlUsd0JBQXdCO21HQUF4Qix3QkFBd0IsaU1BQ3hCLFFBQVEscUZDakJyQixxN0JBNEJpQixzRkRqQkwsSUFBSSw2RkFBRSxLQUFLLGtIQUFFLGtCQUFrQiwrZEFBRSxjQUFjLHlrQkFBRSxtQkFBbUI7OzRGQUtuRSx3QkFBd0I7a0JBUHBDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsWUFDckUsa0JBQWtCOzhCQUtXLFFBQVE7c0JBQTlDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFNUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dCwgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY1RleHRhcmVhIH0gZnJvbSAnLi9keW5hbWljLXRleHRhcmVhLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZHluYW1pYy10ZXh0YXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXRleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbJ21hdC1mb3JtLWZpZWxkIHt3aWR0aDogMTAwJTt9J11cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1RleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgRHluYW1pY0Zvcm1GaWVsZEJhc2Uge1xuICBAVmlld0NoaWxkKE1hdElucHV0LCB7IHN0YXRpYzogdHJ1ZSB9KSB0ZXh0YXJlYSE6IE1hdElucHV0O1xuXG4gIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY1RleHRhcmVhO1xuICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RHluYW1pY0Zvcm1GaWVsZEV2ZW50PigpO1xuXG4gIGdldCB2YWx1ZUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudGV4dGFyZWE/LnZhbHVlID8gdGhpcy50ZXh0YXJlYS52YWx1ZS5sZW5ndGggOiAwO1xuICB9XG5cbiAgZ2V0IG1heENvdW50VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnZhbHVlQ291bnR9IC8gJHt0aGlzLm1vZGVsLm1heExlbmd0aH1gO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCB8IER5bmFtaWNGb3JtRmllbGRFdmVudCk6IHZvaWQge1xuICAgIC8vIElnbm9yZSB0aGUgbmF0aXZlIEhUTUwgNSBjaGFuZ2UgZXZlbnRcbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBFdmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCBhcyBEeW5hbWljRm9ybUZpZWxkRXZlbnQpO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJncm91cFwiXG4gIFtpZF09XCJpZFwiXG4gIGNvbG9yPVwicHJpbWFyeVwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibW9kZWwubGFiZWxcIj57e21vZGVsLmxhYmVsfX08L21hdC1sYWJlbD5cblxuICA8dGV4dGFyZWEgbWF0SW5wdXRcbiAgICBbY2RrVGV4dGFyZWFBdXRvc2l6ZV09XCJtb2RlbC5yZXNpemVcIlxuICAgIFtjZGtBdXRvc2l6ZU1pblJvd3NdPVwibW9kZWwucm93c1wiXG4gICAgW2Nka0F1dG9zaXplTWF4Um93c109XCJtb2RlbC5yZXNpemVNYXhSb3dzXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibW9kZWwubmFtZVwiXG4gICAgW2F0dHIubWluTGVuZ3RoXT1cIm1vZGVsLm1pbkxlbmd0aFwiXG4gICAgW2F0dHIubWF4TGVuZ3RoXT1cIm1vZGVsLm1heExlbmd0aFwiXG4gICAgW3Jvd3NdPVwibW9kZWwucm93c1wiXG4gICAgW2F1dG9jb21wbGV0ZV09XCJtb2RlbC5hdXRvY29tcGxldGVcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiPlxuICA8L3RleHRhcmVhPlxuXG4gIDxtYXQtaGludCAqbmdJZj1cIm1vZGVsLmhpbnRcIlxuICAgIGFsaWduPVwic3RhcnRcIj57e21vZGVsLmhpbnR9fTwvbWF0LWhpbnQ+XG5cbiAgPG1hdC1oaW50ICpuZ0lmPVwibW9kZWwubWF4TGVuZ3RoXCJcbiAgICBhbGlnbj1cImVuZFwiPnt7bWF4Q291bnRUZXh0fX08L21hdC1oaW50PlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRvciBvZiBtb2RlbC52YWxpZGF0b3JzXCJcbiAgICBuZ1Byb2plY3RBcz1cIm1hdC1lcnJvclwiPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNFcnJvcih2YWxpZGF0b3IubmFtZSlcIj57e3ZhbGlkYXRvci5tZXNzYWdlfX08L21hdC1lcnJvcj5cbiAgPC9uZy1jb250YWluZXI+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export class DynamicFormFieldBase {
|
|
2
|
+
get id() {
|
|
3
|
+
return this.model.id ?? this.model.name;
|
|
4
|
+
}
|
|
5
|
+
get control() {
|
|
6
|
+
const ctrl = this.group.get(this.model.name);
|
|
7
|
+
if (!ctrl) {
|
|
8
|
+
throw new Error(`Provided FormGroup does not contain a control with the name ${this.model.name}`);
|
|
9
|
+
}
|
|
10
|
+
return ctrl;
|
|
11
|
+
}
|
|
12
|
+
get isValid() {
|
|
13
|
+
return this.control.valid;
|
|
14
|
+
}
|
|
15
|
+
get isInvalid() {
|
|
16
|
+
return this.control.invalid;
|
|
17
|
+
}
|
|
18
|
+
onChange(event) {
|
|
19
|
+
this.change.emit(event);
|
|
20
|
+
}
|
|
21
|
+
resetControl() {
|
|
22
|
+
this.group.get(this.model.name)?.reset();
|
|
23
|
+
}
|
|
24
|
+
hasError(name) {
|
|
25
|
+
return this.control.hasError(name);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxPQUFnQixvQkFBb0I7SUFNeEMsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ25HO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUM5QixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQVk7UUFDMUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRm9ybUZpZWxkIHtcbiAgZ3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG4gIG1vZGVsOiBEeW5hbWljRm9ybUZpZWxkTW9kZWw7XG4gIGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEeW5hbWljRm9ybUZpZWxkQmFzZSBpbXBsZW1lbnRzIER5bmFtaWNGb3JtRmllbGQge1xuICBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG4gIG1vZGVsITogRHluYW1pY0Zvcm1GaWVsZE1vZGVsO1xuXG4gIGNoYW5nZSE6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLmlkID8/IHRoaXMubW9kZWwubmFtZTtcbiAgfVxuXG4gIGdldCBjb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgY29uc3QgY3RybCA9IHRoaXMuZ3JvdXAuZ2V0KHRoaXMubW9kZWwubmFtZSk7XG5cbiAgICBpZiAoIWN0cmwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvdmlkZWQgRm9ybUdyb3VwIGRvZXMgbm90IGNvbnRhaW4gYSBjb250cm9sIHdpdGggdGhlIG5hbWUgJHt0aGlzLm1vZGVsLm5hbWV9YCk7XG4gICAgfVxuICAgIHJldHVybiBjdHJsO1xuICB9XG5cbiAgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC52YWxpZDtcbiAgfVxuXG4gIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5pbnZhbGlkO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKGV2ZW50OiB1bmtub3duKSB7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRDb250cm9sKCkge1xuICAgIHRoaXMuZ3JvdXAuZ2V0KHRoaXMubW9kZWwubmFtZSk/LnJlc2V0KCk7XG4gIH1cblxuICBwdWJsaWMgaGFzRXJyb3IobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5oYXNFcnJvcihuYW1lKTtcbiAgfVxufVxuIl19
|
|
@@ -21,4 +21,4 @@ export class DynamicFormFieldModel {
|
|
|
21
21
|
this.disabled$.next(disable);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBS25ELE1BQU0sT0FBZ0IscUJBQXFCO0lBZ0J6QyxZQUFZLE1BQThCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO1FBRTFDLG9KQUFvSjtRQUNwSixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLE9BQWdCO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLWZpZWxkLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZFJlbGF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtVmFsaWRhdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tdmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEeW5hbWljRm9ybUZpZWxkTW9kZWwge1xuICBwdWJsaWMgaGlkZGVuOiBib29sZWFuO1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIHdpZHRoOiBudW1iZXI7XG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgbnVsbDtcbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIGhpbnQ6IHN0cmluZyB8IG51bGw7XG4gIHB1YmxpYyB2YWxpZGF0b3JzOiBEeW5hbWljRm9ybVZhbGlkYXRvcltdO1xuICBwdWJsaWMgdXBkYXRlT246ICdzdWJtaXQnIHwgJ2JsdXInIHwgJ2NoYW5nZSc7XG4gIHB1YmxpYyByZWxhdGlvbnM6IER5bmFtaWNGb3JtRmllbGRSZWxhdGlvbltdIHwgbnVsbDtcbiAgcHVibGljIGRpc2FibGVkQ2hhbmdlOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IHR5cGU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc2FibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRHluYW1pY0Zvcm1GaWVsZENvbmZpZykge1xuICAgIHRoaXMuaGlkZGVuID0gY29uZmlnLmhpZGRlbiA/PyBmYWxzZTtcbiAgICB0aGlzLmlkID0gY29uZmlnLmlkID8/IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMud2lkdGggPSBjb25maWcud2lkdGggPz8gMTAwO1xuICAgIHRoaXMubGFiZWwgPSBjb25maWcubGFiZWwgPz8gbnVsbDtcbiAgICB0aGlzLm5hbWUgPSBjb25maWcubmFtZTtcbiAgICB0aGlzLmhpbnQgPSBjb25maWcuaGludCA/PyBudWxsO1xuICAgIHRoaXMudmFsaWRhdG9ycyA9IGNvbmZpZy52YWxpZGF0b3JzID8/IFtdO1xuICAgIHRoaXMudXBkYXRlT24gPSBjb25maWcudXBkYXRlT24gPz8gJ2NoYW5nZSc7XG4gICAgdGhpcy5yZWxhdGlvbnMgPSBjb25maWcucmVsYXRpb25zID8/IG51bGw7XG5cbiAgICAvLyBDcmVhdGUgYSBkaXNhYmxlZCBTdWJqZWN0IGFuZCBPYnNlcnZhYmxlIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIEZvcm1Db250cm9sIGluc2lkZSBEeW5hbWljRm9ybUZpZWxkQ29tcG9uZW50IGJ5IHN1YnNjcmliaW5nIHRvIGRpc2FibGVkQ2hhbmdlXG4gICAgdGhpcy5kaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGNvbmZpZy5kaXNhYmxlZCA/PyBmYWxzZSk7XG4gICAgdGhpcy5kaXNhYmxlZENoYW5nZSA9IHRoaXMuZGlzYWJsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkJC5nZXRWYWx1ZSgpO1xuICB9XG4gIHNldCBkaXNhYmxlZChkaXNhYmxlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChkaXNhYmxlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import { DynamicFormValidationsService } from '../../services/dynamic-validations.service';
|
|
2
2
|
import { DynamicFormValidators } from '../classes/dynamic-form-validators';
|
|
3
|
-
|
|
4
|
-
(function (RelationActionType) {
|
|
5
|
-
RelationActionType["DISABLED"] = "DISABLED";
|
|
6
|
-
RelationActionType["ENABLED"] = "ENABLED";
|
|
7
|
-
RelationActionType["HIDDEN"] = "HIDDEN";
|
|
8
|
-
RelationActionType["VISIBLE"] = "VISIBLE";
|
|
9
|
-
RelationActionType["REQUIRED"] = "REQUIRED";
|
|
10
|
-
RelationActionType["OPTIONAL"] = "OPTIONAL";
|
|
11
|
-
})(RelationActionType || (RelationActionType = {}));
|
|
12
|
-
export var RelationOperator;
|
|
13
|
-
(function (RelationOperator) {
|
|
14
|
-
RelationOperator["AND"] = "AND";
|
|
15
|
-
RelationOperator["OR"] = "OR";
|
|
16
|
-
})(RelationOperator || (RelationOperator = {}));
|
|
3
|
+
import { RelationActionType } from '../interfaces/dynamic-form-field-relation.interface';
|
|
17
4
|
const DISABLE_ACTION = {
|
|
18
5
|
type: RelationActionType.DISABLED,
|
|
19
6
|
reversedType: RelationActionType.ENABLED,
|
|
@@ -44,4 +31,4 @@ const REQUIRED_ACTION = {
|
|
|
44
31
|
}
|
|
45
32
|
};
|
|
46
33
|
export const RELATION_ACTIONS = [DISABLE_ACTION, HIDDEN_ACTION, REQUIRED_ACTION];
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1yZWxhdGlvbnMuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2NvbnN0YW50cy9keW5hbWljLXJlbGF0aW9ucy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQXlCLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFHaEgsTUFBTSxjQUFjLEdBQTBCO0lBQzVDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO0lBQ2pDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO0lBQ3hDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSztRQUNwQixLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUEwQjtJQUMzQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTTtJQUMvQixZQUFZLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUN4QyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUs7UUFDcEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDMUIsQ0FBQztDQUNGLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBMEI7SUFDN0MsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVE7SUFDakMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLFFBQVE7SUFDekMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVE7UUFDdkMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDcEYsSUFBSSxVQUFrQyxDQUFDO1FBRXZDLElBQUksUUFBUSxFQUFFO1lBQ1osVUFBVSxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2pIO2FBQU07WUFDTCxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7U0FDcEU7UUFFRCxRQUFRLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQTRCLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNGb3JtVmFsaWRhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy12YWxpZGF0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtVmFsaWRhdG9ycyB9IGZyb20gJy4uL2NsYXNzZXMvZHluYW1pYy1mb3JtLXZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgRHluYW1pY1JlbGF0aW9uQWN0aW9uLCBSZWxhdGlvbkFjdGlvblR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1yZWxhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1WYWxpZGF0b3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS12YWxpZGF0b3IuaW50ZXJmYWNlJztcblxuY29uc3QgRElTQUJMRV9BQ1RJT046IER5bmFtaWNSZWxhdGlvbkFjdGlvbiA9IHtcbiAgdHlwZTogUmVsYXRpb25BY3Rpb25UeXBlLkRJU0FCTEVELFxuICByZXZlcnNlZFR5cGU6IFJlbGF0aW9uQWN0aW9uVHlwZS5FTkFCTEVELFxuICBjaGFuZ2UoaGFzTWF0Y2gsIG1vZGVsKSB7XG4gICAgbW9kZWwuZGlzYWJsZWQgPSBoYXNNYXRjaDtcbiAgfVxufTtcblxuY29uc3QgSElEREVOX0FDVElPTjogRHluYW1pY1JlbGF0aW9uQWN0aW9uID0ge1xuICB0eXBlOiBSZWxhdGlvbkFjdGlvblR5cGUuSElEREVOLFxuICByZXZlcnNlZFR5cGU6IFJlbGF0aW9uQWN0aW9uVHlwZS5WSVNJQkxFLFxuICBjaGFuZ2UoaGFzTWF0Y2gsIG1vZGVsKSB7XG4gICAgbW9kZWwuaGlkZGVuID0gaGFzTWF0Y2g7XG4gIH1cbn07XG5cbmNvbnN0IFJFUVVJUkVEX0FDVElPTjogRHluYW1pY1JlbGF0aW9uQWN0aW9uID0ge1xuICB0eXBlOiBSZWxhdGlvbkFjdGlvblR5cGUuUkVRVUlSRUQsXG4gIHJldmVyc2VkVHlwZTogUmVsYXRpb25BY3Rpb25UeXBlLk9QVElPTkFMLFxuICBjaGFuZ2UoaGFzTWF0Y2gsIG1vZGVsLCBjb250cm9sLCBpbmplY3Rvcikge1xuICAgIGNvbnN0IGhhc1JlcXVpcmVkVmFsaWRhdGlvbiA9ICEhbW9kZWwudmFsaWRhdG9ycy5maW5kKChmKSA9PiBmLm5hbWUgPT09ICdyZXF1aXJlZCcpO1xuICAgIGxldCB2YWxpZGF0b3JzOiBEeW5hbWljRm9ybVZhbGlkYXRvcltdO1xuXG4gICAgaWYgKGhhc01hdGNoKSB7XG4gICAgICB2YWxpZGF0b3JzID0gaGFzUmVxdWlyZWRWYWxpZGF0aW9uID8gbW9kZWwudmFsaWRhdG9ycyA6IFsuLi5tb2RlbC52YWxpZGF0b3JzLCBEeW5hbWljRm9ybVZhbGlkYXRvcnMucmVxdWlyZWQoKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkYXRvcnMgPSBtb2RlbC52YWxpZGF0b3JzLmZpbHRlcigoZikgPT4gZi5uYW1lID09PSAncmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICBpbmplY3Rvci5nZXQoRHluYW1pY0Zvcm1WYWxpZGF0aW9uc1NlcnZpY2UpLnVwZGF0ZVZhbGlkYXRvcnModmFsaWRhdG9ycywgY29udHJvbCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBSRUxBVElPTl9BQ1RJT05TOiBEeW5hbWljUmVsYXRpb25BY3Rpb25bXSA9IFtESVNBQkxFX0FDVElPTiwgSElEREVOX0FDVElPTiwgUkVRVUlSRURfQUNUSU9OXTtcbiJdfQ==
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
export * from './classes/dynamic-form-field-base
|
|
1
|
+
export * from './classes/dynamic-form-field-base';
|
|
2
2
|
export * from './classes/dynamic-form-field-model';
|
|
3
3
|
export * from './classes/dynamic-form-field-option-model';
|
|
4
4
|
export * from './classes/dynamic-form-field-value-model';
|
|
5
5
|
export * from './classes/dynamic-form-validators';
|
|
6
|
-
export * from './constants/dynamic-relations.const';
|
|
7
6
|
export * from './interfaces/dynamic-form-field-config.interface';
|
|
7
|
+
export * from './interfaces/dynamic-form-field-event.interface';
|
|
8
|
+
export * from './interfaces/dynamic-form-field-relation.interface';
|
|
8
9
|
export * from './interfaces/dynamic-form-validator.interface';
|
|
9
10
|
export * from './types/dynamic-form-config.type';
|
|
10
11
|
export * from './tokens/dynamic-form-field-map-fn.token';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLCtDQUErQyxDQUFDO0FBRTlELGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtb3B0aW9uLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtdmFsdWUtbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL2R5bmFtaWMtZm9ybS12YWxpZGF0b3JzJztcblxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtZXZlbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtcmVsYXRpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tdmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvZHluYW1pYy1mb3JtLWNvbmZpZy50eXBlJztcblxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvZHluYW1pYy1mb3JtLWZpZWxkLW1hcC1mbi50b2tlbic7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLWZpZWxkLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRSZWxhdGlvbiB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWZpZWxkLXJlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybVZhbGlkYXRvciB9IGZyb20gJy4vZHluYW1pYy1mb3JtLXZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNGb3JtRmllbGRDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgY29udHJvbCBoYXMgdG8gYmUgZGlzYWJsZWQuXG4gICAqIERlZmF1bHQgdmFsdWUgaXMgZmFsc2UuXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgY29udHJvbCBzaG91bGQgYmUgaGlkZGVuLlxuICAgKiBEZWZhdWx0IHZhbHVlIGlzIGZhbHNlXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFkZHMgYW4gaWQgYXR0cmlidXRlIHRvIHRoZSBGb3JtQ29udHJvbC5cbiAgICogV2hlbiBub3QgcHJvdmlkZWQsIHRoZSByZXF1aXJlZCAnbmFtZScgcHJvcGVydHkgaXMgdXNlZCBhcyBpZFxuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogU2V0cyB0aGUgd2lkdGggb2YgdGhlIGZpZWxkLCBiYXNlZCBvbiBwZXJjZW50YWdlcy4gRGVmYXVsdCB2YWx1ZSBpcyAxMDAuXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgd2lkdGg/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBVc2VkIGFzIG1hdC1sYWJlbCB3aGVuIHByb3ZpZGVkXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmcgfCBudWxsO1xuICAvKipcbiAgICogTmFtZSB1c2VkIGFzIEZvcm1Db250cm9sTmFtZVxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEhpbnQgdGV4dCB1bmRlcm5lYXRoIHRoZSBGb3JtQ29udHJvbFxuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIGhpbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBEeW5hbWljIEZvcm0gVmFsaWRhdG9yc1xuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIHZhbGlkYXRvcnM/OiBEeW5hbWljRm9ybVZhbGlkYXRvcltdO1xuICAvKipcbiAgICogQXJyYXkgb2YgRHluYW1pYyBGb3JtIFJlbGF0aW9uc1xuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIHJlbGF0aW9ucz86IER5bmFtaWNGb3JtRmllbGRSZWxhdGlvbltdO1xuICAvKipcbiAgICogRXZlbnQgbmFtZSBmb3IgdGhlIGNvbnRyb2wgdG8gdXBkYXRlIG9uLlxuICAgKiBQb3NzaWJsZSB2YWx1ZXM6ICdjaGFuZ2UnLCAnYmx1cicgb3IgJ3N1Ym1pdCcuXG4gICAqIERlZmF1bHQgdmFsdWVzIGlzICdibHVyJ1xuICAgKiBAb3B0aW9uYWxcbiAgICovXG4gIHVwZGF0ZU9uPzogJ3N1Ym1pdCcgfCAnYmx1cicgfCAnY2hhbmdlJztcbn1cbiJdfQ==
|