@ajsf/material 0.5.1-beta.4 → 0.7.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/ajsf-material.d.ts +1 -0
- package/{esm2015/ajsf-material.js → esm2020/ajsf-material.mjs} +0 -0
- package/{esm2015/lib/angular-flex-monkey-patch.js → esm2020/lib/angular-flex-monkey-patch.mjs} +0 -0
- package/esm2020/lib/material-design-framework.component.mjs +102 -0
- package/esm2020/lib/material-design-framework.module.mjs +123 -0
- package/esm2020/lib/material-design.framework.mjs +57 -0
- package/esm2020/lib/widgets/flex-layout-root.component.mjs +76 -0
- package/esm2020/lib/widgets/flex-layout-section.component.mjs +359 -0
- package/esm2020/lib/widgets/material-add-reference.component.mjs +66 -0
- package/esm2020/lib/widgets/material-button-group.component.mjs +95 -0
- package/esm2020/lib/widgets/material-button.component.mjs +81 -0
- package/esm2020/lib/widgets/material-checkbox.component.mjs +174 -0
- package/esm2020/lib/widgets/material-checkboxes.component.mjs +140 -0
- package/esm2020/lib/widgets/material-chip-list.component.mjs +35 -0
- package/esm2020/lib/widgets/material-datepicker.component.mjs +150 -0
- package/esm2020/lib/widgets/material-file.component.mjs +35 -0
- package/esm2020/lib/widgets/material-input.component.mjs +158 -0
- package/esm2020/lib/widgets/material-number.component.mjs +154 -0
- package/esm2020/lib/widgets/material-one-of.component.mjs +35 -0
- package/esm2020/lib/widgets/material-radios.component.mjs +131 -0
- package/esm2020/lib/widgets/material-select.component.mjs +195 -0
- package/esm2020/lib/widgets/material-slider.component.mjs +88 -0
- package/esm2020/lib/widgets/material-stepper.component.mjs +35 -0
- package/esm2020/lib/widgets/material-tabs.component.mjs +91 -0
- package/esm2020/lib/widgets/material-textarea.component.mjs +143 -0
- package/{esm2015/lib/widgets/public_api.js → esm2020/lib/widgets/public_api.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/fesm2015/ajsf-material.mjs +2427 -0
- package/fesm2015/ajsf-material.mjs.map +1 -0
- package/fesm2020/ajsf-material.mjs +2420 -0
- package/fesm2020/ajsf-material.mjs.map +1 -0
- package/lib/material-design-framework.component.d.ts +3 -0
- package/lib/material-design-framework.module.d.ts +51 -2
- package/lib/material-design.framework.d.ts +3 -0
- package/lib/widgets/flex-layout-root.component.d.ts +3 -0
- package/lib/widgets/flex-layout-section.component.d.ts +3 -0
- package/lib/widgets/material-add-reference.component.d.ts +3 -0
- package/lib/widgets/material-button-group.component.d.ts +3 -0
- package/lib/widgets/material-button.component.d.ts +3 -0
- package/lib/widgets/material-checkbox.component.d.ts +3 -0
- package/lib/widgets/material-checkboxes.component.d.ts +3 -0
- package/lib/widgets/material-chip-list.component.d.ts +3 -0
- package/lib/widgets/material-datepicker.component.d.ts +3 -0
- package/lib/widgets/material-file.component.d.ts +3 -0
- package/lib/widgets/material-input.component.d.ts +3 -0
- package/lib/widgets/material-number.component.d.ts +3 -0
- package/lib/widgets/material-one-of.component.d.ts +3 -0
- package/lib/widgets/material-radios.component.d.ts +3 -0
- package/lib/widgets/material-select.component.d.ts +3 -0
- package/lib/widgets/material-slider.component.d.ts +3 -0
- package/lib/widgets/material-stepper.component.d.ts +3 -0
- package/lib/widgets/material-tabs.component.d.ts +3 -0
- package/lib/widgets/material-textarea.component.d.ts +3 -0
- package/package.json +26 -14
- package/ajsf-material.metadata.json +0 -1
- package/bundles/ajsf-material.umd.js +0 -1422
- package/bundles/ajsf-material.umd.js.map +0 -1
- package/esm2015/lib/material-design-framework.component.js +0 -101
- package/esm2015/lib/material-design-framework.module.js +0 -80
- package/esm2015/lib/material-design.framework.js +0 -54
- package/esm2015/lib/widgets/flex-layout-root.component.js +0 -55
- package/esm2015/lib/widgets/flex-layout-section.component.js +0 -221
- package/esm2015/lib/widgets/material-add-reference.component.js +0 -53
- package/esm2015/lib/widgets/material-button-group.component.js +0 -63
- package/esm2015/lib/widgets/material-button.component.js +0 -60
- package/esm2015/lib/widgets/material-checkbox.component.js +0 -109
- package/esm2015/lib/widgets/material-checkboxes.component.js +0 -101
- package/esm2015/lib/widgets/material-chip-list.component.js +0 -33
- package/esm2015/lib/widgets/material-datepicker.component.js +0 -90
- package/esm2015/lib/widgets/material-file.component.js +0 -33
- package/esm2015/lib/widgets/material-input.component.js +0 -95
- package/esm2015/lib/widgets/material-number.component.js +0 -97
- package/esm2015/lib/widgets/material-one-of.component.js +0 -33
- package/esm2015/lib/widgets/material-radios.component.js +0 -84
- package/esm2015/lib/widgets/material-select.component.js +0 -115
- package/esm2015/lib/widgets/material-slider.component.js +0 -60
- package/esm2015/lib/widgets/material-stepper.component.js +0 -33
- package/esm2015/lib/widgets/material-tabs.component.js +0 -69
- package/esm2015/lib/widgets/material-textarea.component.js +0 -88
- package/fesm2015/ajsf-material.js +0 -1710
- package/fesm2015/ajsf-material.js.map +0 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { Component, Inject, Input, Optional } from '@angular/core';
|
|
2
|
+
import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ajsf/core";
|
|
5
|
+
import * as i2 from "@angular/material/form-field";
|
|
6
|
+
import * as i3 from "@angular/material/datepicker";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "@angular/material/input";
|
|
9
|
+
import * as i6 from "@angular/forms";
|
|
10
|
+
export class MaterialDatepickerComponent {
|
|
11
|
+
constructor(matFormFieldDefaultOptions, jsf) {
|
|
12
|
+
this.matFormFieldDefaultOptions = matFormFieldDefaultOptions;
|
|
13
|
+
this.jsf = jsf;
|
|
14
|
+
this.controlDisabled = false;
|
|
15
|
+
this.boundControl = false;
|
|
16
|
+
this.autoCompleteList = [];
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.options = this.layoutNode.options || {};
|
|
20
|
+
this.jsf.initializeControl(this, !this.options.readonly);
|
|
21
|
+
if (!this.options.notitle && !this.options.description && this.options.placeholder) {
|
|
22
|
+
this.options.description = this.options.placeholder;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
MaterialDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialDatepickerComponent, deps: [{ token: MAT_FORM_FIELD_DEFAULT_OPTIONS, optional: true }, { token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
MaterialDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialDatepickerComponent, selector: "material-datepicker-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
28
|
+
<mat-form-field [appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'standard'"
|
|
29
|
+
[class]="options?.htmlClass || ''"
|
|
30
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
31
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
32
|
+
[style.width]="'100%'">
|
|
33
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
34
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
35
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
36
|
+
<input matInput *ngIf="boundControl"
|
|
37
|
+
[formControl]="formControl"
|
|
38
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
39
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
40
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
41
|
+
[id]="'control' + layoutNode?._id"
|
|
42
|
+
[max]="options?.maximum"
|
|
43
|
+
[matDatepicker]="picker"
|
|
44
|
+
[min]="options?.minimum"
|
|
45
|
+
[name]="controlName"
|
|
46
|
+
[placeholder]="options?.title"
|
|
47
|
+
[readonly]="options?.readonly"
|
|
48
|
+
[required]="options?.required"
|
|
49
|
+
[style.width]="'100%'"
|
|
50
|
+
(blur)="options.showErrors = true"
|
|
51
|
+
>
|
|
52
|
+
<input matInput *ngIf="!boundControl"
|
|
53
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
54
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
55
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
56
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
57
|
+
[id]="'control' + layoutNode?._id"
|
|
58
|
+
[max]="options?.maximum"
|
|
59
|
+
[matDatepicker]="picker"
|
|
60
|
+
[min]="options?.minimum"
|
|
61
|
+
[name]="controlName"
|
|
62
|
+
[placeholder]="options?.title"
|
|
63
|
+
[required]="options?.required"
|
|
64
|
+
[style.width]="'100%'"
|
|
65
|
+
[readonly]="options?.readonly"
|
|
66
|
+
(blur)="options.showErrors = true"
|
|
67
|
+
>
|
|
68
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
69
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
70
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
71
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
72
|
+
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
|
|
73
|
+
</mat-form-field>
|
|
74
|
+
<mat-datepicker #picker ></mat-datepicker>
|
|
75
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
76
|
+
[innerHTML]="options?.errorMessage"></mat-error>`, isInline: true, styles: ["mat-error{font-size:75%;margin-top:-1rem;margin-bottom:.5rem}::ng-deep json-schema-form mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{width:auto;width:initial}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i2.MatPrefix, selector: "[matPrefix]" }, { 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"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2.MatSuffix, selector: "[matSuffix]" }, { type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }] });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialDatepickerComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{
|
|
80
|
+
// tslint:disable-next-line:component-selector
|
|
81
|
+
selector: 'material-datepicker-widget',
|
|
82
|
+
template: `
|
|
83
|
+
<mat-form-field [appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'standard'"
|
|
84
|
+
[class]="options?.htmlClass || ''"
|
|
85
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
86
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
87
|
+
[style.width]="'100%'">
|
|
88
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
89
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
90
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
91
|
+
<input matInput *ngIf="boundControl"
|
|
92
|
+
[formControl]="formControl"
|
|
93
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
94
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
95
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
96
|
+
[id]="'control' + layoutNode?._id"
|
|
97
|
+
[max]="options?.maximum"
|
|
98
|
+
[matDatepicker]="picker"
|
|
99
|
+
[min]="options?.minimum"
|
|
100
|
+
[name]="controlName"
|
|
101
|
+
[placeholder]="options?.title"
|
|
102
|
+
[readonly]="options?.readonly"
|
|
103
|
+
[required]="options?.required"
|
|
104
|
+
[style.width]="'100%'"
|
|
105
|
+
(blur)="options.showErrors = true"
|
|
106
|
+
>
|
|
107
|
+
<input matInput *ngIf="!boundControl"
|
|
108
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
109
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
110
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
111
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
112
|
+
[id]="'control' + layoutNode?._id"
|
|
113
|
+
[max]="options?.maximum"
|
|
114
|
+
[matDatepicker]="picker"
|
|
115
|
+
[min]="options?.minimum"
|
|
116
|
+
[name]="controlName"
|
|
117
|
+
[placeholder]="options?.title"
|
|
118
|
+
[required]="options?.required"
|
|
119
|
+
[style.width]="'100%'"
|
|
120
|
+
[readonly]="options?.readonly"
|
|
121
|
+
(blur)="options.showErrors = true"
|
|
122
|
+
>
|
|
123
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
124
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
125
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
126
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
127
|
+
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
|
|
128
|
+
</mat-form-field>
|
|
129
|
+
<mat-datepicker #picker ></mat-datepicker>
|
|
130
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
131
|
+
[innerHTML]="options?.errorMessage"></mat-error>`,
|
|
132
|
+
styles: [`
|
|
133
|
+
mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }
|
|
134
|
+
::ng-deep json-schema-form mat-form-field .mat-form-field-wrapper .mat-form-field-flex
|
|
135
|
+
.mat-form-field-infix { width: initial; }
|
|
136
|
+
`],
|
|
137
|
+
}]
|
|
138
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
139
|
+
type: Inject,
|
|
140
|
+
args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]
|
|
141
|
+
}, {
|
|
142
|
+
type: Optional
|
|
143
|
+
}] }, { type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], layoutIndex: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], dataIndex: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}] } });
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hanNmLW1hdGVyaWFsL3NyYy9saWIvd2lkZ2V0cy9tYXRlcmlhbC1kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztBQTZEOUUsTUFBTSxPQUFPLDJCQUEyQjtJQVl0QyxZQUM2RCwwQkFBMEIsRUFDN0UsR0FBMEI7UUFEeUIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFBO1FBQzdFLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBVnBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztJQVE1QixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUNsRixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztTQUNyRDtJQUNILENBQUM7O3dIQXZCVSwyQkFBMkIsa0JBYTVCLDhCQUE4Qjs0R0FiN0IsMkJBQTJCLDRKQXhENUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dURBaUQyQzsyRkFPMUMsMkJBQTJCO2tCQTNEdkMsU0FBUzttQkFBQztvQkFDVCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1REFpRDJDO29CQUNyRCxNQUFNLEVBQUUsQ0FBQzs7OztHQUlSLENBQUM7aUJBQ0g7OzBCQWNJLE1BQU07MkJBQUMsOEJBQThCOzswQkFBRyxRQUFRO2dGQUwxQyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnQGFqc2YvY29yZSc7XG5pbXBvcnQgeyBNQVRfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdtYXRlcmlhbC1kYXRlcGlja2VyLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cIm9wdGlvbnM/LmFwcGVhcmFuY2UgfHwgbWF0Rm9ybUZpZWxkRGVmYXVsdE9wdGlvbnM/LmFwcGVhcmFuY2UgfHwgJ3N0YW5kYXJkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5odG1sQ2xhc3MgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICBbZmxvYXRMYWJlbF09XCJvcHRpb25zPy5mbG9hdExhYmVsIHx8IG1hdEZvcm1GaWVsZERlZmF1bHRPcHRpb25zPy5mbG9hdExhYmVsIHx8IChvcHRpb25zPy5ub3RpdGxlID8gJ25ldmVyJyA6ICdhdXRvJylcIlxuICAgICAgICAgICAgICAgICAgICBbaGlkZVJlcXVpcmVkTWFya2VyXT1cIm9wdGlvbnM/LmhpZGVSZXF1aXJlZCA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiJzEwMCUnXCI+XG4gICAgICA8bWF0LWxhYmVsICpuZ0lmPVwiIW9wdGlvbnM/Lm5vdGl0bGVcIj57e29wdGlvbnM/LnRpdGxlfX08L21hdC1sYWJlbD5cbiAgICAgIDxzcGFuIG1hdFByZWZpeCAqbmdJZj1cIm9wdGlvbnM/LnByZWZpeCB8fCBvcHRpb25zPy5maWVsZEFkZG9uTGVmdFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8ucHJlZml4IHx8IG9wdGlvbnM/LmZpZWxkQWRkb25MZWZ0XCI+PC9zcGFuPlxuICAgICAgPGlucHV0IG1hdElucHV0ICpuZ0lmPVwiYm91bmRDb250cm9sXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICAgIFthdHRyLmxpc3RdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ0F1dG9jb21wbGV0ZSdcIlxuICAgICAgICBbYXR0ci5yZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcbiAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICAgIFttYXhdPVwib3B0aW9ucz8ubWF4aW11bVwiXG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgIFttaW5dPVwib3B0aW9ucz8ubWluaW11bVwiXG4gICAgICAgIFtuYW1lXT1cImNvbnRyb2xOYW1lXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIm9wdGlvbnM/LnRpdGxlXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5XCJcbiAgICAgICAgW3JlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cIicxMDAlJ1wiXG4gICAgICAgIChibHVyKT1cIm9wdGlvbnMuc2hvd0Vycm9ycyA9IHRydWVcIlxuICAgICAgICA+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgKm5nSWY9XCIhYm91bmRDb250cm9sXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICAgIFthdHRyLmxpc3RdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ0F1dG9jb21wbGV0ZSdcIlxuICAgICAgICBbYXR0ci5yZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbnRyb2xEaXNhYmxlZCB8fCBvcHRpb25zPy5yZWFkb25seVwiXG4gICAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxuICAgICAgICBbbWF4XT1cIm9wdGlvbnM/Lm1heGltdW1cIlxuICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgICBbbWluXT1cIm9wdGlvbnM/Lm1pbmltdW1cIlxuICAgICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJvcHRpb25zPy50aXRsZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXG4gICAgICAgIFtzdHlsZS53aWR0aF09XCInMTAwJSdcIlxuICAgICAgICBbcmVhZG9ubHldPVwib3B0aW9ucz8ucmVhZG9ubHlcIlxuICAgICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCJcbiAgICAgICAgPlxuICAgICAgPHNwYW4gbWF0U3VmZml4ICpuZ0lmPVwib3B0aW9ucz8uc3VmZml4IHx8IG9wdGlvbnM/LmZpZWxkQWRkb25SaWdodFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uc3VmZml4IHx8IG9wdGlvbnM/LmZpZWxkQWRkb25SaWdodFwiPjwvc3Bhbj5cbiAgICAgIDxtYXQtaGludCAqbmdJZj1cIm9wdGlvbnM/LmRlc2NyaXB0aW9uICYmICghb3B0aW9ucz8uc2hvd0Vycm9ycyB8fCAhb3B0aW9ucz8uZXJyb3JNZXNzYWdlKVwiXG4gICAgICAgIGFsaWduPVwiZW5kXCIgW2lubmVySFRNTF09XCJvcHRpb25zPy5kZXNjcmlwdGlvblwiPjwvbWF0LWhpbnQ+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXIgPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cIm9wdGlvbnM/LnNob3dFcnJvcnMgJiYgb3B0aW9ucz8uZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uZXJyb3JNZXNzYWdlXCI+PC9tYXQtZXJyb3I+YCxcbiAgc3R5bGVzOiBbYFxuICAgIG1hdC1lcnJvciB7IGZvbnQtc2l6ZTogNzUlOyBtYXJnaW4tdG9wOiAtMXJlbTsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgOjpuZy1kZWVwIGpzb24tc2NoZW1hLWZvcm0gbWF0LWZvcm0tZmllbGQgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWZsZXhcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7IHdpZHRoOiBpbml0aWFsOyB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBjb250cm9sTmFtZTogc3RyaW5nO1xuICBkYXRlVmFsdWU6IGFueTtcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlO1xuICBvcHRpb25zOiBhbnk7XG4gIGF1dG9Db21wbGV0ZUxpc3Q6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueTtcbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IG51bWJlcltdO1xuICBASW5wdXQoKSBkYXRhSW5kZXg6IG51bWJlcltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TKSBAT3B0aW9uYWwoKSBwdWJsaWMgbWF0Rm9ybUZpZWxkRGVmYXVsdE9wdGlvbnMsXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9O1xuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMsICF0aGlzLm9wdGlvbnMucmVhZG9ubHkpO1xuICAgIGlmICghdGhpcy5vcHRpb25zLm5vdGl0bGUgJiYgIXRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbiAmJiB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbiA9IHRoaXMub3B0aW9ucy5wbGFjZWhvbGRlcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ajsf/core";
|
|
4
|
+
// TODO: Add this control
|
|
5
|
+
export class MaterialFileComponent {
|
|
6
|
+
constructor(jsf) {
|
|
7
|
+
this.jsf = jsf;
|
|
8
|
+
this.controlDisabled = false;
|
|
9
|
+
this.boundControl = false;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.options = this.layoutNode.options || {};
|
|
13
|
+
this.jsf.initializeControl(this);
|
|
14
|
+
}
|
|
15
|
+
updateValue(event) {
|
|
16
|
+
this.jsf.updateValue(this, event.target.value);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
MaterialFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialFileComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
MaterialFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialFileComponent, selector: "material-file-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: ``, isInline: true });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialFileComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
// tslint:disable-next-line:component-selector
|
|
25
|
+
selector: 'material-file-widget',
|
|
26
|
+
template: ``,
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], layoutIndex: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}], dataIndex: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}] } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hanNmLW1hdGVyaWFsL3NyYy9saWIvd2lkZ2V0cy9tYXRlcmlhbC1maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBR3pELHlCQUF5QjtBQU96QixNQUFNLE9BQU8scUJBQXFCO0lBV2hDLFlBQ1UsR0FBMEI7UUFBMUIsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFScEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFRakIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7O2tIQXRCVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixzSkFGdEIsRUFBRTsyRkFFRCxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsRUFBRTtpQkFDYjs0R0FRVSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnQGFqc2YvY29yZSc7XG5cbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdtYXRlcmlhbC1maWxlLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgYCxcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxGaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgY29udHJvbE5hbWU6IHN0cmluZztcbiAgY29udHJvbFZhbHVlOiBhbnk7XG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlO1xuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcbiAgb3B0aW9uczogYW55O1xuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnk7XG4gIEBJbnB1dCgpIGxheW91dEluZGV4OiBudW1iZXJbXTtcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZShldmVudCkge1xuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { Component, Inject, Input, Optional } from '@angular/core';
|
|
2
|
+
import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ajsf/core";
|
|
5
|
+
import * as i2 from "@angular/material/form-field";
|
|
6
|
+
import * as i3 from "@angular/material/autocomplete";
|
|
7
|
+
import * as i4 from "@angular/material/core";
|
|
8
|
+
import * as i5 from "@angular/common";
|
|
9
|
+
import * as i6 from "@angular/material/input";
|
|
10
|
+
import * as i7 from "@angular/forms";
|
|
11
|
+
export class MaterialInputComponent {
|
|
12
|
+
constructor(matFormFieldDefaultOptions, jsf) {
|
|
13
|
+
this.matFormFieldDefaultOptions = matFormFieldDefaultOptions;
|
|
14
|
+
this.jsf = jsf;
|
|
15
|
+
this.controlDisabled = false;
|
|
16
|
+
this.boundControl = false;
|
|
17
|
+
this.autoCompleteList = [];
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.options = this.layoutNode.options || {};
|
|
21
|
+
this.jsf.initializeControl(this);
|
|
22
|
+
if (!this.options.notitle && !this.options.description && this.options.placeholder) {
|
|
23
|
+
this.options.description = this.options.placeholder;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
updateValue(event) {
|
|
27
|
+
this.jsf.updateValue(this, event.target.value);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
MaterialInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialInputComponent, deps: [{ token: MAT_FORM_FIELD_DEFAULT_OPTIONS, optional: true }, { token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
MaterialInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialInputComponent, selector: "material-input-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
32
|
+
<mat-form-field [appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'standard'"
|
|
33
|
+
[class]="options?.htmlClass || ''"
|
|
34
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
35
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
36
|
+
[style.width]="'100%'">
|
|
37
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
38
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
39
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
40
|
+
<input matInput *ngIf="boundControl"
|
|
41
|
+
[formControl]="formControl"
|
|
42
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
43
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
44
|
+
[attr.maxlength]="options?.maxLength"
|
|
45
|
+
[attr.minlength]="options?.minLength"
|
|
46
|
+
[attr.pattern]="options?.pattern"
|
|
47
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
48
|
+
[id]="'control' + layoutNode?._id"
|
|
49
|
+
[name]="controlName"
|
|
50
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
51
|
+
[required]="options?.required"
|
|
52
|
+
[style.width]="'100%'"
|
|
53
|
+
[type]="layoutNode?.type"
|
|
54
|
+
(blur)="options.showErrors = true">
|
|
55
|
+
<input matInput *ngIf="!boundControl"
|
|
56
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
57
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
58
|
+
[attr.maxlength]="options?.maxLength"
|
|
59
|
+
[attr.minlength]="options?.minLength"
|
|
60
|
+
[attr.pattern]="options?.pattern"
|
|
61
|
+
[disabled]="controlDisabled"
|
|
62
|
+
[id]="'control' + layoutNode?._id"
|
|
63
|
+
[name]="controlName"
|
|
64
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
65
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
66
|
+
[required]="options?.required"
|
|
67
|
+
[style.width]="'100%'"
|
|
68
|
+
[type]="layoutNode?.type"
|
|
69
|
+
[value]="controlValue"
|
|
70
|
+
(input)="updateValue($event)"
|
|
71
|
+
(blur)="options.showErrors = true">
|
|
72
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
73
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
74
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
75
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
76
|
+
<mat-autocomplete *ngIf="options?.typeahead?.source">
|
|
77
|
+
<mat-option *ngFor="let word of options?.typeahead?.source"
|
|
78
|
+
[value]="word">{{word}}</mat-option>
|
|
79
|
+
</mat-autocomplete>
|
|
80
|
+
</mat-form-field>
|
|
81
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
82
|
+
[innerHTML]="options?.errorMessage"></mat-error>`, isInline: true, styles: ["mat-error{font-size:75%;margin-top:-1rem;margin-bottom:.5rem}::ng-deep json-schema-form mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{width:auto;width:initial}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i2.MatPrefix, selector: "[matPrefix]" }, { type: i6.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"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i7.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i7.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2.MatSuffix, selector: "[matSuffix]" }, { type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }] });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialInputComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{
|
|
86
|
+
// tslint:disable-next-line:component-selector
|
|
87
|
+
selector: 'material-input-widget',
|
|
88
|
+
template: `
|
|
89
|
+
<mat-form-field [appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'standard'"
|
|
90
|
+
[class]="options?.htmlClass || ''"
|
|
91
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
92
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
93
|
+
[style.width]="'100%'">
|
|
94
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
95
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
96
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
97
|
+
<input matInput *ngIf="boundControl"
|
|
98
|
+
[formControl]="formControl"
|
|
99
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
100
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
101
|
+
[attr.maxlength]="options?.maxLength"
|
|
102
|
+
[attr.minlength]="options?.minLength"
|
|
103
|
+
[attr.pattern]="options?.pattern"
|
|
104
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
105
|
+
[id]="'control' + layoutNode?._id"
|
|
106
|
+
[name]="controlName"
|
|
107
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
108
|
+
[required]="options?.required"
|
|
109
|
+
[style.width]="'100%'"
|
|
110
|
+
[type]="layoutNode?.type"
|
|
111
|
+
(blur)="options.showErrors = true">
|
|
112
|
+
<input matInput *ngIf="!boundControl"
|
|
113
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
114
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
115
|
+
[attr.maxlength]="options?.maxLength"
|
|
116
|
+
[attr.minlength]="options?.minLength"
|
|
117
|
+
[attr.pattern]="options?.pattern"
|
|
118
|
+
[disabled]="controlDisabled"
|
|
119
|
+
[id]="'control' + layoutNode?._id"
|
|
120
|
+
[name]="controlName"
|
|
121
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
122
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
123
|
+
[required]="options?.required"
|
|
124
|
+
[style.width]="'100%'"
|
|
125
|
+
[type]="layoutNode?.type"
|
|
126
|
+
[value]="controlValue"
|
|
127
|
+
(input)="updateValue($event)"
|
|
128
|
+
(blur)="options.showErrors = true">
|
|
129
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
130
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
131
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
132
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
133
|
+
<mat-autocomplete *ngIf="options?.typeahead?.source">
|
|
134
|
+
<mat-option *ngFor="let word of options?.typeahead?.source"
|
|
135
|
+
[value]="word">{{word}}</mat-option>
|
|
136
|
+
</mat-autocomplete>
|
|
137
|
+
</mat-form-field>
|
|
138
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
139
|
+
[innerHTML]="options?.errorMessage"></mat-error>`,
|
|
140
|
+
styles: [`
|
|
141
|
+
mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }
|
|
142
|
+
::ng-deep json-schema-form mat-form-field .mat-form-field-wrapper .mat-form-field-flex
|
|
143
|
+
.mat-form-field-infix { width: initial; }
|
|
144
|
+
`],
|
|
145
|
+
}]
|
|
146
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
147
|
+
type: Inject,
|
|
148
|
+
args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]
|
|
149
|
+
}, {
|
|
150
|
+
type: Optional
|
|
151
|
+
}] }, { type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], layoutIndex: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], dataIndex: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}] } });
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWpzZi1tYXRlcmlhbC9zcmMvbGliL3dpZGdldHMvbWF0ZXJpYWwtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7OztBQStEOUUsTUFBTSxPQUFPLHNCQUFzQjtJQWFqQyxZQUM2RCwwQkFBMEIsRUFDN0UsR0FBMEI7UUFEeUIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFBO1FBQzdFLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBWHBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztJQVVoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDbEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOzttSEE3QlUsc0JBQXNCLGtCQWN2Qiw4QkFBOEI7dUdBZDdCLHNCQUFzQix1SkExRHZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dURBbUQyQzsyRkFPMUMsc0JBQXNCO2tCQTdEbEMsU0FBUzttQkFBQztvQkFDVCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VEQW1EMkM7b0JBQ3JELE1BQU0sRUFBRSxDQUFDOzs7O0dBSVIsQ0FBQztpQkFDSDs7MEJBZUksTUFBTTsyQkFBQyw4QkFBOEI7OzBCQUFHLFFBQVE7Z0ZBTjFDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnQGFqc2YvY29yZSc7XG5pbXBvcnQgeyBNQVRfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdtYXRlcmlhbC1pbnB1dC13aWRnZXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJvcHRpb25zPy5hcHBlYXJhbmNlIHx8IG1hdEZvcm1GaWVsZERlZmF1bHRPcHRpb25zPy5hcHBlYXJhbmNlIHx8ICdzdGFuZGFyZCdcIlxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiXG4gICAgICBbZmxvYXRMYWJlbF09XCJvcHRpb25zPy5mbG9hdExhYmVsIHx8IG1hdEZvcm1GaWVsZERlZmF1bHRPcHRpb25zPy5mbG9hdExhYmVsIHx8IChvcHRpb25zPy5ub3RpdGxlID8gJ25ldmVyJyA6ICdhdXRvJylcIlxuICAgICAgW2hpZGVSZXF1aXJlZE1hcmtlcl09XCJvcHRpb25zPy5oaWRlUmVxdWlyZWQgPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICAgIFtzdHlsZS53aWR0aF09XCInMTAwJSdcIj5cbiAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCIhb3B0aW9ucz8ubm90aXRsZVwiPnt7b3B0aW9ucz8udGl0bGV9fTwvbWF0LWxhYmVsPlxuICAgICAgPHNwYW4gbWF0UHJlZml4ICpuZ0lmPVwib3B0aW9ucz8ucHJlZml4IHx8IG9wdGlvbnM/LmZpZWxkQWRkb25MZWZ0XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5wcmVmaXggfHwgb3B0aW9ucz8uZmllbGRBZGRvbkxlZnRcIj48L3NwYW4+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgKm5nSWY9XCJib3VuZENvbnRyb2xcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZCArICdTdGF0dXMnXCJcbiAgICAgICAgW2F0dHIubGlzdF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnQXV0b2NvbXBsZXRlJ1wiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJvcHRpb25zPy5tYXhMZW5ndGhcIlxuICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwib3B0aW9ucz8ubWluTGVuZ3RoXCJcbiAgICAgICAgW2F0dHIucGF0dGVybl09XCJvcHRpb25zPy5wYXR0ZXJuXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxuICAgICAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkXCJcbiAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwib3B0aW9ucz8ubm90aXRsZSA/IG9wdGlvbnM/LnBsYWNlaG9sZGVyIDogb3B0aW9ucz8udGl0bGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwib3B0aW9ucz8ucmVxdWlyZWRcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwiJzEwMCUnXCJcbiAgICAgICAgW3R5cGVdPVwibGF5b3V0Tm9kZT8udHlwZVwiXG4gICAgICAgIChibHVyKT1cIm9wdGlvbnMuc2hvd0Vycm9ycyA9IHRydWVcIj5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCAqbmdJZj1cIiFib3VuZENvbnRyb2xcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZCArICdTdGF0dXMnXCJcbiAgICAgICAgW2F0dHIubGlzdF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnQXV0b2NvbXBsZXRlJ1wiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJvcHRpb25zPy5tYXhMZW5ndGhcIlxuICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwib3B0aW9ucz8ubWluTGVuZ3RoXCJcbiAgICAgICAgW2F0dHIucGF0dGVybl09XCJvcHRpb25zPy5wYXR0ZXJuXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbnRyb2xEaXNhYmxlZFwiXG4gICAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxuICAgICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJvcHRpb25zPy5ub3RpdGxlID8gb3B0aW9ucz8ucGxhY2Vob2xkZXIgOiBvcHRpb25zPy50aXRsZVwiXG4gICAgICAgIFtyZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cIicxMDAlJ1wiXG4gICAgICAgIFt0eXBlXT1cImxheW91dE5vZGU/LnR5cGVcIlxuICAgICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcbiAgICAgICAgKGlucHV0KT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCI+XG4gICAgICA8c3BhbiBtYXRTdWZmaXggKm5nSWY9XCJvcHRpb25zPy5zdWZmaXggfHwgb3B0aW9ucz8uZmllbGRBZGRvblJpZ2h0XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5zdWZmaXggfHwgb3B0aW9ucz8uZmllbGRBZGRvblJpZ2h0XCI+PC9zcGFuPlxuICAgICAgPG1hdC1oaW50ICpuZ0lmPVwib3B0aW9ucz8uZGVzY3JpcHRpb24gJiYgKCFvcHRpb25zPy5zaG93RXJyb3JzIHx8ICFvcHRpb25zPy5lcnJvck1lc3NhZ2UpXCJcbiAgICAgICAgYWxpZ249XCJlbmRcIiBbaW5uZXJIVE1MXT1cIm9wdGlvbnM/LmRlc2NyaXB0aW9uXCI+PC9tYXQtaGludD5cbiAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICpuZ0lmPVwib3B0aW9ucz8udHlwZWFoZWFkPy5zb3VyY2VcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHdvcmQgb2Ygb3B0aW9ucz8udHlwZWFoZWFkPy5zb3VyY2VcIlxuICAgICAgICAgIFt2YWx1ZV09XCJ3b3JkXCI+e3t3b3JkfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwib3B0aW9ucz8uc2hvd0Vycm9ycyAmJiBvcHRpb25zPy5lcnJvck1lc3NhZ2VcIlxuICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5lcnJvck1lc3NhZ2VcIj48L21hdC1lcnJvcj5gLFxuICBzdHlsZXM6IFtgXG4gICAgbWF0LWVycm9yIHsgZm9udC1zaXplOiA3NSU7IG1hcmdpbi10b3A6IC0xcmVtOyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICA6Om5nLWRlZXAganNvbi1zY2hlbWEtZm9ybSBtYXQtZm9ybS1maWVsZCAubWF0LWZvcm0tZmllbGQtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtZmxleFxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHsgd2lkdGg6IGluaXRpYWw7IH1cbiAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBjb250cm9sTmFtZTogc3RyaW5nO1xuICBjb250cm9sVmFsdWU6IHN0cmluZztcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlO1xuICBvcHRpb25zOiBhbnk7XG4gIGF1dG9Db21wbGV0ZUxpc3Q6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueTtcbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IG51bWJlcltdO1xuICBASW5wdXQoKSBkYXRhSW5kZXg6IG51bWJlcltdO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMpIEBPcHRpb25hbCgpIHB1YmxpYyBtYXRGb3JtRmllbGREZWZhdWx0T3B0aW9ucyxcbiAgICBwcml2YXRlIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMubm90aXRsZSAmJiAhdGhpcy5vcHRpb25zLmRlc2NyaXB0aW9uICYmIHRoaXMub3B0aW9ucy5wbGFjZWhvbGRlcikge1xuICAgICAgdGhpcy5vcHRpb25zLmRlc2NyaXB0aW9uID0gdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKGV2ZW50KSB7XG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { Component, Inject, Input, Optional } from '@angular/core';
|
|
2
|
+
import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ajsf/core";
|
|
5
|
+
import * as i2 from "@angular/material/form-field";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/input";
|
|
8
|
+
import * as i5 from "@angular/forms";
|
|
9
|
+
export class MaterialNumberComponent {
|
|
10
|
+
constructor(matFormFieldDefaultOptions, jsf) {
|
|
11
|
+
this.matFormFieldDefaultOptions = matFormFieldDefaultOptions;
|
|
12
|
+
this.jsf = jsf;
|
|
13
|
+
this.controlDisabled = false;
|
|
14
|
+
this.boundControl = false;
|
|
15
|
+
this.allowNegative = true;
|
|
16
|
+
this.allowDecimal = true;
|
|
17
|
+
this.allowExponents = false;
|
|
18
|
+
this.lastValidNumber = '';
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.options = this.layoutNode.options || {};
|
|
22
|
+
this.jsf.initializeControl(this);
|
|
23
|
+
if (this.layoutNode.dataType === 'integer') {
|
|
24
|
+
this.allowDecimal = false;
|
|
25
|
+
}
|
|
26
|
+
if (!this.options.notitle && !this.options.description && this.options.placeholder) {
|
|
27
|
+
this.options.description = this.options.placeholder;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
updateValue(event) {
|
|
31
|
+
this.jsf.updateValue(this, event.target.value);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
MaterialNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialNumberComponent, deps: [{ token: MAT_FORM_FIELD_DEFAULT_OPTIONS, optional: true }, { token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
+
MaterialNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialNumberComponent, selector: "material-number-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
36
|
+
<mat-form-field [appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'standard'"
|
|
37
|
+
[class]="options?.htmlClass || ''"
|
|
38
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
39
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
40
|
+
[style.width]="'100%'">
|
|
41
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
42
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
43
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
44
|
+
<input matInput *ngIf="boundControl"
|
|
45
|
+
[formControl]="formControl"
|
|
46
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
47
|
+
[attr.max]="options?.maximum"
|
|
48
|
+
[attr.min]="options?.minimum"
|
|
49
|
+
[attr.step]="options?.multipleOf || options?.step || 'any'"
|
|
50
|
+
[id]="'control' + layoutNode?._id"
|
|
51
|
+
[name]="controlName"
|
|
52
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
53
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
54
|
+
[required]="options?.required"
|
|
55
|
+
[style.width]="'100%'"
|
|
56
|
+
[type]="'number'"
|
|
57
|
+
(blur)="options.showErrors = true">
|
|
58
|
+
<input matInput *ngIf="!boundControl"
|
|
59
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
60
|
+
[attr.max]="options?.maximum"
|
|
61
|
+
[attr.min]="options?.minimum"
|
|
62
|
+
[attr.step]="options?.multipleOf || options?.step || 'any'"
|
|
63
|
+
[disabled]="controlDisabled"
|
|
64
|
+
[id]="'control' + layoutNode?._id"
|
|
65
|
+
[name]="controlName"
|
|
66
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
67
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
68
|
+
[required]="options?.required"
|
|
69
|
+
[style.width]="'100%'"
|
|
70
|
+
[type]="'number'"
|
|
71
|
+
[value]="controlValue"
|
|
72
|
+
(input)="updateValue($event)"
|
|
73
|
+
(blur)="options.showErrors = true">
|
|
74
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
75
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
76
|
+
<mat-hint *ngIf="layoutNode?.type === 'range'" align="start"
|
|
77
|
+
[innerHTML]="controlValue"></mat-hint>
|
|
78
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
79
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
80
|
+
</mat-form-field>
|
|
81
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
82
|
+
[innerHTML]="options?.errorMessage"></mat-error>`, isInline: true, styles: ["mat-error{font-size:75%;margin-top:-1rem;margin-bottom:.5rem}::ng-deep json-schema-form mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{width:auto;width:initial}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i2.MatPrefix, selector: "[matPrefix]" }, { type: i4.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"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2.MatSuffix, selector: "[matSuffix]" }, { type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }] });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialNumberComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{
|
|
86
|
+
// tslint:disable-next-line:component-selector
|
|
87
|
+
selector: 'material-number-widget',
|
|
88
|
+
template: `
|
|
89
|
+
<mat-form-field [appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'standard'"
|
|
90
|
+
[class]="options?.htmlClass || ''"
|
|
91
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
92
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
93
|
+
[style.width]="'100%'">
|
|
94
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
95
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
96
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
97
|
+
<input matInput *ngIf="boundControl"
|
|
98
|
+
[formControl]="formControl"
|
|
99
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
100
|
+
[attr.max]="options?.maximum"
|
|
101
|
+
[attr.min]="options?.minimum"
|
|
102
|
+
[attr.step]="options?.multipleOf || options?.step || 'any'"
|
|
103
|
+
[id]="'control' + layoutNode?._id"
|
|
104
|
+
[name]="controlName"
|
|
105
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
106
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
107
|
+
[required]="options?.required"
|
|
108
|
+
[style.width]="'100%'"
|
|
109
|
+
[type]="'number'"
|
|
110
|
+
(blur)="options.showErrors = true">
|
|
111
|
+
<input matInput *ngIf="!boundControl"
|
|
112
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
113
|
+
[attr.max]="options?.maximum"
|
|
114
|
+
[attr.min]="options?.minimum"
|
|
115
|
+
[attr.step]="options?.multipleOf || options?.step || 'any'"
|
|
116
|
+
[disabled]="controlDisabled"
|
|
117
|
+
[id]="'control' + layoutNode?._id"
|
|
118
|
+
[name]="controlName"
|
|
119
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
120
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
121
|
+
[required]="options?.required"
|
|
122
|
+
[style.width]="'100%'"
|
|
123
|
+
[type]="'number'"
|
|
124
|
+
[value]="controlValue"
|
|
125
|
+
(input)="updateValue($event)"
|
|
126
|
+
(blur)="options.showErrors = true">
|
|
127
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
128
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
129
|
+
<mat-hint *ngIf="layoutNode?.type === 'range'" align="start"
|
|
130
|
+
[innerHTML]="controlValue"></mat-hint>
|
|
131
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
132
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
133
|
+
</mat-form-field>
|
|
134
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
135
|
+
[innerHTML]="options?.errorMessage"></mat-error>`,
|
|
136
|
+
styles: [`
|
|
137
|
+
mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }
|
|
138
|
+
::ng-deep json-schema-form mat-form-field .mat-form-field-wrapper .mat-form-field-flex
|
|
139
|
+
.mat-form-field-infix { width: initial; }
|
|
140
|
+
`],
|
|
141
|
+
}]
|
|
142
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
143
|
+
type: Inject,
|
|
144
|
+
args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]
|
|
145
|
+
}, {
|
|
146
|
+
type: Optional
|
|
147
|
+
}] }, { type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], layoutIndex: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], dataIndex: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}] } });
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fqc2YtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL21hdGVyaWFsLW51bWJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztBQTJEOUUsTUFBTSxPQUFPLHVCQUF1QjtJQWVsQyxZQUM2RCwwQkFBMEIsRUFDN0UsR0FBMEI7UUFEeUIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFBO1FBQzdFLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBYnBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO0lBUWpCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQUU7UUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDbEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOztvSEEvQlUsdUJBQXVCLGtCQWdCeEIsOEJBQThCO3dHQWhCN0IsdUJBQXVCLHdKQXREeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VEQStDMkM7MkZBTzFDLHVCQUF1QjtrQkF6RG5DLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VEQStDMkM7b0JBQ3JELE1BQU0sRUFBRSxDQUFDOzs7O0dBSVIsQ0FBQztpQkFDSDs7MEJBaUJJLE1BQU07MkJBQUMsOEJBQThCOzswQkFBRyxRQUFRO2dGQUwxQyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BhanNmL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbWF0ZXJpYWwtbnVtYmVyLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cIm9wdGlvbnM/LmFwcGVhcmFuY2UgfHwgbWF0Rm9ybUZpZWxkRGVmYXVsdE9wdGlvbnM/LmFwcGVhcmFuY2UgfHwgJ3N0YW5kYXJkJ1wiXG4gICAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiXG4gICAgW2Zsb2F0TGFiZWxdPVwib3B0aW9ucz8uZmxvYXRMYWJlbCB8fCBtYXRGb3JtRmllbGREZWZhdWx0T3B0aW9ucz8uZmxvYXRMYWJlbCB8fCAob3B0aW9ucz8ubm90aXRsZSA/ICduZXZlcicgOiAnYXV0bycpXCJcbiAgICBbaGlkZVJlcXVpcmVkTWFya2VyXT1cIm9wdGlvbnM/LmhpZGVSZXF1aXJlZCA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgIFtzdHlsZS53aWR0aF09XCInMTAwJSdcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwiIW9wdGlvbnM/Lm5vdGl0bGVcIj57e29wdGlvbnM/LnRpdGxlfX08L21hdC1sYWJlbD5cbiAgICAgIDxzcGFuIG1hdFByZWZpeCAqbmdJZj1cIm9wdGlvbnM/LnByZWZpeCB8fCBvcHRpb25zPy5maWVsZEFkZG9uTGVmdFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8ucHJlZml4IHx8IG9wdGlvbnM/LmZpZWxkQWRkb25MZWZ0XCI+PC9zcGFuPlxuICAgICAgPGlucHV0IG1hdElucHV0ICpuZ0lmPVwiYm91bmRDb250cm9sXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICAgIFthdHRyLm1heF09XCJvcHRpb25zPy5tYXhpbXVtXCJcbiAgICAgICAgW2F0dHIubWluXT1cIm9wdGlvbnM/Lm1pbmltdW1cIlxuICAgICAgICBbYXR0ci5zdGVwXT1cIm9wdGlvbnM/Lm11bHRpcGxlT2YgfHwgb3B0aW9ucz8uc3RlcCB8fCAnYW55J1wiXG4gICAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxuICAgICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJvcHRpb25zPy5ub3RpdGxlID8gb3B0aW9ucz8ucGxhY2Vob2xkZXIgOiBvcHRpb25zPy50aXRsZVwiXG4gICAgICAgIFtyZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cIicxMDAlJ1wiXG4gICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgKGJsdXIpPVwib3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZVwiPlxuICAgICAgPGlucHV0IG1hdElucHV0ICpuZ0lmPVwiIWJvdW5kQ29udHJvbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ1N0YXR1cydcIlxuICAgICAgICBbYXR0ci5tYXhdPVwib3B0aW9ucz8ubWF4aW11bVwiXG4gICAgICAgIFthdHRyLm1pbl09XCJvcHRpb25zPy5taW5pbXVtXCJcbiAgICAgICAgW2F0dHIuc3RlcF09XCJvcHRpb25zPy5tdWx0aXBsZU9mIHx8IG9wdGlvbnM/LnN0ZXAgfHwgJ2FueSdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29udHJvbERpc2FibGVkXCJcbiAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICAgIFtuYW1lXT1cImNvbnRyb2xOYW1lXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIm9wdGlvbnM/Lm5vdGl0bGUgPyBvcHRpb25zPy5wbGFjZWhvbGRlciA6IG9wdGlvbnM/LnRpdGxlXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxuICAgICAgICBbcmVxdWlyZWRdPVwib3B0aW9ucz8ucmVxdWlyZWRcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwiJzEwMCUnXCJcbiAgICAgICAgW3R5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcbiAgICAgICAgKGlucHV0KT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCI+XG4gICAgICA8c3BhbiBtYXRTdWZmaXggKm5nSWY9XCJvcHRpb25zPy5zdWZmaXggfHwgb3B0aW9ucz8uZmllbGRBZGRvblJpZ2h0XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5zdWZmaXggfHwgb3B0aW9ucz8uZmllbGRBZGRvblJpZ2h0XCI+PC9zcGFuPlxuICAgICAgPG1hdC1oaW50ICpuZ0lmPVwibGF5b3V0Tm9kZT8udHlwZSA9PT0gJ3JhbmdlJ1wiIGFsaWduPVwic3RhcnRcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImNvbnRyb2xWYWx1ZVwiPjwvbWF0LWhpbnQ+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJvcHRpb25zPy5kZXNjcmlwdGlvbiAmJiAoIW9wdGlvbnM/LnNob3dFcnJvcnMgfHwgIW9wdGlvbnM/LmVycm9yTWVzc2FnZSlcIlxuICAgICAgICBhbGlnbj1cImVuZFwiIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uZGVzY3JpcHRpb25cIj48L21hdC1oaW50PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cIm9wdGlvbnM/LnNob3dFcnJvcnMgJiYgb3B0aW9ucz8uZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uZXJyb3JNZXNzYWdlXCI+PC9tYXQtZXJyb3I+YCxcbiAgc3R5bGVzOiBbYFxuICAgIG1hdC1lcnJvciB7IGZvbnQtc2l6ZTogNzUlOyBtYXJnaW4tdG9wOiAtMXJlbTsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgOjpuZy1kZWVwIGpzb24tc2NoZW1hLWZvcm0gbWF0LWZvcm0tZmllbGQgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWZsZXhcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7IHdpZHRoOiBpbml0aWFsOyB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbE51bWJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGNvbnRyb2xWYWx1ZTogYW55O1xuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XG4gIG9wdGlvbnM6IGFueTtcbiAgYWxsb3dOZWdhdGl2ZSA9IHRydWU7XG4gIGFsbG93RGVjaW1hbCA9IHRydWU7XG4gIGFsbG93RXhwb25lbnRzID0gZmFsc2U7XG4gIGxhc3RWYWxpZE51bWJlciA9ICcnO1xuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnk7XG4gIEBJbnB1dCgpIGxheW91dEluZGV4OiBudW1iZXJbXTtcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9GT1JNX0ZJRUxEX0RFRkFVTFRfT1BUSU9OUykgQE9wdGlvbmFsKCkgcHVibGljIG1hdEZvcm1GaWVsZERlZmF1bHRPcHRpb25zLFxuICAgIHByaXZhdGUganNmOiBKc29uU2NoZW1hRm9ybVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUub3B0aW9ucyB8fCB7fTtcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKTtcbiAgICBpZiAodGhpcy5sYXlvdXROb2RlLmRhdGFUeXBlID09PSAnaW50ZWdlcicpIHsgdGhpcy5hbGxvd0RlY2ltYWwgPSBmYWxzZTsgfVxuICAgIGlmICghdGhpcy5vcHRpb25zLm5vdGl0bGUgJiYgIXRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbiAmJiB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbiA9IHRoaXMub3B0aW9ucy5wbGFjZWhvbGRlcjtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWx1ZShldmVudCkge1xuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ajsf/core";
|
|
4
|
+
// TODO: Add this control
|
|
5
|
+
export class MaterialOneOfComponent {
|
|
6
|
+
constructor(jsf) {
|
|
7
|
+
this.jsf = jsf;
|
|
8
|
+
this.controlDisabled = false;
|
|
9
|
+
this.boundControl = false;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.options = this.layoutNode.options || {};
|
|
13
|
+
this.jsf.initializeControl(this);
|
|
14
|
+
}
|
|
15
|
+
updateValue(event) {
|
|
16
|
+
this.jsf.updateValue(this, event.target.value);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
MaterialOneOfComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialOneOfComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
MaterialOneOfComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialOneOfComponent, selector: "material-one-of-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: ``, isInline: true });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialOneOfComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
// tslint:disable-next-line:component-selector
|
|
25
|
+
selector: 'material-one-of-widget',
|
|
26
|
+
template: ``,
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], layoutIndex: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}], dataIndex: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}] } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtb25lLW9mLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fqc2YtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL21hdGVyaWFsLW9uZS1vZi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7OztBQUl6RCx5QkFBeUI7QUFPekIsTUFBTSxPQUFPLHNCQUFzQjtJQVdqQyxZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBUnBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBUWpCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOzttSEF0QlUsc0JBQXNCO3VHQUF0QixzQkFBc0Isd0pBRnZCLEVBQUU7MkZBRUQsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7NEdBUVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BhanNmL2NvcmUnO1xuXG4vLyBUT0RPOiBBZGQgdGhpcyBjb250cm9sXG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbWF0ZXJpYWwtb25lLW9mLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgYCxcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGNvbnRyb2xWYWx1ZTogYW55O1xuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XG4gIG9wdGlvbnM6IGFueTtcbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogYW55O1xuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9O1xuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMpO1xuICB9XG5cbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG59XG4iXX0=
|