ngx-render-material-forms 2.5.18 → 2.5.20
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/esm2020/lib/FormioControl.mjs +36 -0
- package/esm2020/lib/components/Base.mjs +32 -0
- package/esm2020/lib/components/MaterialComponent.mjs +145 -0
- package/esm2020/lib/components/MaterialNestedComponent.mjs +38 -0
- package/esm2020/lib/components/Webform.mjs +18 -0
- package/esm2020/lib/components/add-on-products/add-on-products.component.mjs +842 -0
- package/esm2020/lib/components/button/button.component.mjs +102 -0
- package/esm2020/lib/components/calendar/calendar.component.mjs +129 -0
- package/esm2020/lib/components/checkbox/checkbox.component.mjs +54 -0
- package/esm2020/lib/components/columns/columns.component.mjs +69 -0
- package/esm2020/lib/components/common.service.mjs +256 -0
- package/esm2020/lib/components/confirmation-dialog/confirmation-dialog.component.mjs +25 -0
- package/esm2020/lib/components/container/container.component.mjs +25 -0
- package/{esm2022 → esm2020}/lib/components/content/content.component.mjs +18 -18
- package/esm2020/lib/components/currency/currency.component.mjs +43 -0
- package/esm2020/lib/components/datagrid/datagrid.component.mjs +694 -0
- package/esm2020/lib/components/date/date.component.mjs +363 -0
- package/{esm2022 → esm2020}/lib/components/day/day.component.mjs +75 -75
- package/esm2020/lib/components/editgrid/editgrid.component.mjs +243 -0
- package/esm2020/lib/components/email/email.component.mjs +30 -0
- package/esm2020/lib/components/fieldset/fieldset.component.mjs +50 -0
- package/esm2020/lib/components/formio-form-field/formio-form-field.component.mjs +57 -0
- package/esm2020/lib/components/formio.wizard.mjs +88 -0
- package/{esm2022 → esm2020}/lib/components/hidden/hidden.component.mjs +20 -20
- package/esm2020/lib/components/html/html.component.mjs +29 -0
- package/esm2020/lib/components/index.mjs +125 -0
- package/{esm2022 → esm2020}/lib/components/label/label.component.mjs +17 -17
- package/esm2020/lib/components/number/number.component.mjs +67 -0
- package/esm2020/lib/components/panel/panel.component.mjs +57 -0
- package/esm2020/lib/components/password/password.component.mjs +30 -0
- package/esm2020/lib/components/phonenumber/phonenumber.component.mjs +30 -0
- package/esm2020/lib/components/radio/radio.component.mjs +96 -0
- package/esm2020/lib/components/select/select.component.mjs +593 -0
- package/esm2020/lib/components/selectboxes/selectboxes.component.mjs +102 -0
- package/esm2020/lib/components/signature/signature.component.mjs +103 -0
- package/esm2020/lib/components/survey/survey.component.mjs +167 -0
- package/esm2020/lib/components/table/table.component.mjs +97 -0
- package/esm2020/lib/components/tabs/tabs.component.mjs +43 -0
- package/esm2020/lib/components/tags/tags.component.mjs +117 -0
- package/esm2020/lib/components/textarea/textarea.component.mjs +98 -0
- package/esm2020/lib/components/textfield/textfield.component.mjs +124 -0
- package/esm2020/lib/components/time/time.component.mjs +206 -0
- package/esm2020/lib/components/url/url.component.mjs +30 -0
- package/esm2020/lib/components/well/well.component.mjs +43 -0
- package/{esm2022 → esm2020}/lib/const/ButtonsThemes.mjs +16 -16
- package/{esm2022 → esm2020}/lib/const/LabelPositions.mjs +9 -9
- package/esm2020/lib/directives/mask.directive.mjs +65 -0
- package/esm2020/lib/formio.component.mjs +80 -0
- package/{esm2022 → esm2020}/lib/ngx-render-material-forms.component.mjs +15 -15
- package/esm2020/lib/ngx-render-material-forms.module.mjs +378 -0
- package/{esm2022 → esm2020}/lib/ngx-render-material-forms.service.mjs +14 -14
- package/{esm2022 → esm2020}/lib/renderer.mjs +12 -12
- package/{esm2022 → esm2020}/ngx-render-material-forms.js +4 -4
- package/{esm2022 → esm2020}/public-api.mjs +6 -6
- package/fesm2015/ngx-render-material-forms.js +5874 -0
- package/fesm2015/ngx-render-material-forms.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/ngx-render-material-forms.js +4316 -4222
- package/fesm2020/ngx-render-material-forms.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/FormioControl.d.ts +7 -7
- package/lib/components/Base.d.ts +2 -2
- package/lib/components/MaterialComponent.d.ts +30 -30
- package/lib/components/MaterialNestedComponent.d.ts +13 -13
- package/lib/components/Webform.d.ts +1 -1
- package/lib/components/add-on-products/add-on-products.component.d.ts +142 -142
- package/lib/components/button/button.component.d.ts +30 -30
- package/lib/components/calendar/calendar.component.d.ts +34 -34
- package/lib/components/checkbox/checkbox.component.d.ts +9 -9
- package/lib/components/columns/columns.component.d.ts +12 -12
- package/lib/components/common.service.d.ts +86 -86
- package/lib/components/confirmation-dialog/confirmation-dialog.component.d.ts +11 -11
- package/lib/components/container/container.component.d.ts +8 -8
- package/lib/components/content/content.component.d.ts +8 -8
- package/lib/components/currency/currency.component.d.ts +10 -10
- package/lib/components/datagrid/datagrid.component.d.ts +81 -81
- package/lib/components/date/date.component.d.ts +45 -40
- package/lib/components/day/day.component.d.ts +16 -16
- package/lib/components/editgrid/editgrid.component.d.ts +50 -50
- package/lib/components/email/email.component.d.ts +9 -9
- package/lib/components/fieldset/fieldset.component.d.ts +8 -8
- package/lib/components/formio-form-field/formio-form-field.component.d.ts +18 -18
- package/lib/components/formio.wizard.d.ts +19 -19
- package/lib/components/hidden/hidden.component.d.ts +8 -8
- package/lib/components/html/html.component.d.ts +11 -11
- package/lib/components/index.d.ts +2 -2
- package/lib/components/label/label.component.d.ts +6 -6
- package/lib/components/number/number.component.d.ts +18 -18
- package/lib/components/panel/panel.component.d.ts +8 -8
- package/lib/components/password/password.component.d.ts +9 -9
- package/lib/components/phonenumber/phonenumber.component.d.ts +9 -9
- package/lib/components/radio/radio.component.d.ts +12 -12
- package/lib/components/select/select.component.d.ts +77 -77
- package/lib/components/selectboxes/selectboxes.component.d.ts +15 -15
- package/lib/components/signature/signature.component.d.ts +12 -12
- package/lib/components/survey/survey.component.d.ts +14 -14
- package/lib/components/table/table.component.d.ts +12 -12
- package/lib/components/tabs/tabs.component.d.ts +9 -9
- package/lib/components/tags/tags.component.d.ts +15 -15
- package/lib/components/textarea/textarea.component.d.ts +13 -13
- package/lib/components/textfield/textfield.component.d.ts +18 -18
- package/lib/components/time/time.component.d.ts +27 -27
- package/lib/components/url/url.component.d.ts +9 -9
- package/lib/components/well/well.component.d.ts +8 -8
- package/lib/const/ButtonsThemes.d.ts +14 -14
- package/lib/const/LabelPositions.d.ts +8 -8
- package/lib/directives/mask.directive.d.ts +17 -17
- package/lib/formio.component.d.ts +15 -15
- package/lib/ngx-render-material-forms.component.d.ts +8 -8
- package/lib/ngx-render-material-forms.module.d.ts +112 -110
- package/lib/ngx-render-material-forms.service.d.ts +6 -6
- package/lib/renderer.d.ts +8 -8
- package/package.json +11 -5
- package/public-api.d.ts +3 -3
- package/esm2022/lib/FormioControl.mjs +0 -36
- package/esm2022/lib/components/Base.mjs +0 -32
- package/esm2022/lib/components/MaterialComponent.mjs +0 -148
- package/esm2022/lib/components/MaterialNestedComponent.mjs +0 -38
- package/esm2022/lib/components/Webform.mjs +0 -18
- package/esm2022/lib/components/add-on-products/add-on-products.component.mjs +0 -841
- package/esm2022/lib/components/button/button.component.mjs +0 -101
- package/esm2022/lib/components/calendar/calendar.component.mjs +0 -127
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -53
- package/esm2022/lib/components/columns/columns.component.mjs +0 -58
- package/esm2022/lib/components/common.service.mjs +0 -255
- package/esm2022/lib/components/confirmation-dialog/confirmation-dialog.component.mjs +0 -24
- package/esm2022/lib/components/container/container.component.mjs +0 -24
- package/esm2022/lib/components/currency/currency.component.mjs +0 -41
- package/esm2022/lib/components/datagrid/datagrid.component.mjs +0 -693
- package/esm2022/lib/components/date/date.component.mjs +0 -336
- package/esm2022/lib/components/editgrid/editgrid.component.mjs +0 -243
- package/esm2022/lib/components/email/email.component.mjs +0 -28
- package/esm2022/lib/components/fieldset/fieldset.component.mjs +0 -49
- package/esm2022/lib/components/formio-form-field/formio-form-field.component.mjs +0 -56
- package/esm2022/lib/components/formio.wizard.mjs +0 -88
- package/esm2022/lib/components/html/html.component.mjs +0 -29
- package/esm2022/lib/components/index.mjs +0 -125
- package/esm2022/lib/components/number/number.component.mjs +0 -65
- package/esm2022/lib/components/panel/panel.component.mjs +0 -56
- package/esm2022/lib/components/password/password.component.mjs +0 -28
- package/esm2022/lib/components/phonenumber/phonenumber.component.mjs +0 -28
- package/esm2022/lib/components/radio/radio.component.mjs +0 -93
- package/esm2022/lib/components/select/select.component.mjs +0 -592
- package/esm2022/lib/components/selectboxes/selectboxes.component.mjs +0 -99
- package/esm2022/lib/components/signature/signature.component.mjs +0 -99
- package/esm2022/lib/components/survey/survey.component.mjs +0 -166
- package/esm2022/lib/components/table/table.component.mjs +0 -96
- package/esm2022/lib/components/tabs/tabs.component.mjs +0 -42
- package/esm2022/lib/components/tags/tags.component.mjs +0 -114
- package/esm2022/lib/components/textarea/textarea.component.mjs +0 -94
- package/esm2022/lib/components/textfield/textfield.component.mjs +0 -122
- package/esm2022/lib/components/time/time.component.mjs +0 -205
- package/esm2022/lib/components/url/url.component.mjs +0 -28
- package/esm2022/lib/components/well/well.component.mjs +0 -41
- package/esm2022/lib/directives/mask.directive.mjs +0 -65
- package/esm2022/lib/formio.component.mjs +0 -77
- package/esm2022/lib/ngx-render-material-forms.module.mjs +0 -332
- package/fesm2022/ngx-render-material-forms.mjs.map +0 -1
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
|
3
|
-
import TagsComponent from 'formiojs/components/tags/Tags.js';
|
|
4
|
-
import { MaterialComponent } from '../MaterialComponent';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@angular/forms";
|
|
8
|
-
import * as i3 from "@angular/material/form-field";
|
|
9
|
-
import * as i4 from "@angular/material/chips";
|
|
10
|
-
import * as i5 from "@angular/material/icon";
|
|
11
|
-
import * as i6 from "../formio-form-field/formio-form-field.component";
|
|
12
|
-
import * as i7 from "../label/label.component";
|
|
13
|
-
export class MaterialTagsComponent extends MaterialComponent {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this.separatorKeysCodes = [ENTER, COMMA];
|
|
17
|
-
this.tags = [];
|
|
18
|
-
}
|
|
19
|
-
add(event) {
|
|
20
|
-
const input = event.input;
|
|
21
|
-
const value = event.value;
|
|
22
|
-
if ((value || '').trim()) {
|
|
23
|
-
this.tags.push(value.trim());
|
|
24
|
-
}
|
|
25
|
-
if (input) {
|
|
26
|
-
input.value = '';
|
|
27
|
-
}
|
|
28
|
-
this.onChange();
|
|
29
|
-
}
|
|
30
|
-
remove(index) {
|
|
31
|
-
if (index >= 0 && index < this.tags.length) {
|
|
32
|
-
this.tags.splice(index, 1);
|
|
33
|
-
}
|
|
34
|
-
this.onChange();
|
|
35
|
-
}
|
|
36
|
-
getValue() {
|
|
37
|
-
return (this.instance.component.storeas === 'string') ? this.tags.join(this.instance.delimiter) : this.tags;
|
|
38
|
-
}
|
|
39
|
-
setValue(value) {
|
|
40
|
-
if (typeof value === 'string') {
|
|
41
|
-
value = value.split(this.instance.delimiter);
|
|
42
|
-
}
|
|
43
|
-
if (value && !Array.isArray(value)) {
|
|
44
|
-
value = [value];
|
|
45
|
-
}
|
|
46
|
-
this.tags = value;
|
|
47
|
-
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTagsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MaterialTagsComponent, selector: "mat-formio-tags", usesInheritance: true, ngImport: i0, template: `
|
|
50
|
-
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
51
|
-
<ng-template #componentTemplate let-hasLabel>
|
|
52
|
-
<mat-form-field class="example-chip-list" fxFill>
|
|
53
|
-
|
|
54
|
-
<mat-label *ngIf="hasLabel">
|
|
55
|
-
<span [instance]="instance" matFormioLabel></span>
|
|
56
|
-
</mat-label>
|
|
57
|
-
|
|
58
|
-
<mat-chip-grid #chipList [attr.aria-label]="instance.component.label">
|
|
59
|
-
<mat-chip-row *ngFor="let tag of tags; index as i;"
|
|
60
|
-
[removable]="true"
|
|
61
|
-
(removed)="remove(i)"
|
|
62
|
-
>
|
|
63
|
-
{{tag}}
|
|
64
|
-
<mat-icon matChipRemove>cancel</mat-icon>
|
|
65
|
-
</mat-chip-row>
|
|
66
|
-
|
|
67
|
-
<input [formControl]="control"
|
|
68
|
-
[matChipInputFor]="chipList"
|
|
69
|
-
[matChipInputSeparatorKeyCodes]="separatorKeysCodes"
|
|
70
|
-
[matChipInputAddOnBlur]="true"
|
|
71
|
-
(matChipInputTokenEnd)="add($event)"
|
|
72
|
-
>
|
|
73
|
-
</mat-chip-grid>
|
|
74
|
-
</mat-form-field>
|
|
75
|
-
</ng-template>
|
|
76
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i7.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] }); }
|
|
77
|
-
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTagsComponent, decorators: [{
|
|
79
|
-
type: Component,
|
|
80
|
-
args: [{
|
|
81
|
-
selector: 'mat-formio-tags',
|
|
82
|
-
template: `
|
|
83
|
-
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
84
|
-
<ng-template #componentTemplate let-hasLabel>
|
|
85
|
-
<mat-form-field class="example-chip-list" fxFill>
|
|
86
|
-
|
|
87
|
-
<mat-label *ngIf="hasLabel">
|
|
88
|
-
<span [instance]="instance" matFormioLabel></span>
|
|
89
|
-
</mat-label>
|
|
90
|
-
|
|
91
|
-
<mat-chip-grid #chipList [attr.aria-label]="instance.component.label">
|
|
92
|
-
<mat-chip-row *ngFor="let tag of tags; index as i;"
|
|
93
|
-
[removable]="true"
|
|
94
|
-
(removed)="remove(i)"
|
|
95
|
-
>
|
|
96
|
-
{{tag}}
|
|
97
|
-
<mat-icon matChipRemove>cancel</mat-icon>
|
|
98
|
-
</mat-chip-row>
|
|
99
|
-
|
|
100
|
-
<input [formControl]="control"
|
|
101
|
-
[matChipInputFor]="chipList"
|
|
102
|
-
[matChipInputSeparatorKeyCodes]="separatorKeysCodes"
|
|
103
|
-
[matChipInputAddOnBlur]="true"
|
|
104
|
-
(matChipInputTokenEnd)="add($event)"
|
|
105
|
-
>
|
|
106
|
-
</mat-chip-grid>
|
|
107
|
-
</mat-form-field>
|
|
108
|
-
</ng-template>
|
|
109
|
-
`
|
|
110
|
-
}]
|
|
111
|
-
}] });
|
|
112
|
-
TagsComponent.MaterialComponent = MaterialTagsComponent;
|
|
113
|
-
export { TagsComponent };
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy90YWdzL3RhZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLGFBQWEsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBa0N6RCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsaUJBQWlCO0lBL0I1RDs7UUFnQ1csdUJBQWtCLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsU0FBSSxHQUFhLEVBQUUsQ0FBQztLQWlDckI7SUFoQ0MsR0FBRyxDQUFDLEtBQXdCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNuQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDOUcsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQzsrR0FsQ1UscUJBQXFCO21HQUFyQixxQkFBcUIsOEVBN0J0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJUOzs0RkFFVSxxQkFBcUI7a0JBL0JqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJUO2lCQUNGOztBQXFDQSxhQUFxQixDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDT01NQSwgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgVGFnc0NvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL3RhZ3MvVGFncy5qcyc7XHJcbmltcG9ydCB7IE1hdGVyaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vTWF0ZXJpYWxDb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby10YWdzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1hdC1mb3JtaW8tZm9ybS1maWVsZCBbaW5zdGFuY2VdPVwiaW5zdGFuY2VcIiBbY29tcG9uZW50VGVtcGxhdGVdPVwiY29tcG9uZW50VGVtcGxhdGVcIj48L21hdC1mb3JtaW8tZm9ybS1maWVsZD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50VGVtcGxhdGUgbGV0LWhhc0xhYmVsPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJleGFtcGxlLWNoaXAtbGlzdFwiIGZ4RmlsbD5cclxuXHJcbiAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cImhhc0xhYmVsXCI+XHJcbiAgICAgICAgICA8c3BhbiBbaW5zdGFuY2VdPVwiaW5zdGFuY2VcIiBtYXRGb3JtaW9MYWJlbD48L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGFiZWw+XHJcblxyXG4gICAgICAgIDxtYXQtY2hpcC1ncmlkICNjaGlwTGlzdCBbYXR0ci5hcmlhLWxhYmVsXT1cImluc3RhbmNlLmNvbXBvbmVudC5sYWJlbFwiPlxyXG4gICAgICAgICAgPG1hdC1jaGlwLXJvdyAqbmdGb3I9XCJsZXQgdGFnIG9mIHRhZ3M7IGluZGV4IGFzIGk7XCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVtb3ZhYmxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZShpKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7dGFnfX1cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvbWF0LWNoaXAtcm93PlxyXG5cclxuICAgICAgICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiXHJcbiAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiYWRkKCRldmVudClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvbWF0LWNoaXAtZ3JpZD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxUYWdzQ29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxDb21wb25lbnQge1xyXG4gIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlczogbnVtYmVyW10gPSBbRU5URVIsIENPTU1BXTtcclxuICB0YWdzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGFkZChldmVudDogTWF0Q2hpcElucHV0RXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQuaW5wdXQ7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgaWYgKCh2YWx1ZSB8fCAnJykudHJpbSgpKSB7XHJcbiAgICAgIHRoaXMudGFncy5wdXNoKHZhbHVlLnRyaW0oKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXQpIHtcclxuICAgICAgaW5wdXQudmFsdWUgPSAnJztcclxuICAgIH1cclxuICAgIHRoaXMub25DaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShpbmRleCk6IHZvaWQge1xyXG4gICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLnRhZ3MubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMudGFncy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LnN0b3JlYXMgPT09ICdzdHJpbmcnKSA/IHRoaXMudGFncy5qb2luKHRoaXMuaW5zdGFuY2UuZGVsaW1pdGVyKSA6IHRoaXMudGFncztcclxuICB9XHJcblxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICB2YWx1ZSA9IHZhbHVlLnNwbGl0KHRoaXMuaW5zdGFuY2UuZGVsaW1pdGVyKTtcclxuICAgIH1cclxuICAgIGlmICh2YWx1ZSAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgdmFsdWUgPSBbdmFsdWVdO1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWdzID0gdmFsdWU7XHJcbiAgfVxyXG59XHJcbihUYWdzQ29tcG9uZW50IGFzIGFueSkuTWF0ZXJpYWxDb21wb25lbnQgPSBNYXRlcmlhbFRhZ3NDb21wb25lbnQ7XHJcbmV4cG9ydCB7IFRhZ3NDb21wb25lbnQgfTtcclxuIl19
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { MaterialComponent } from '../MaterialComponent';
|
|
3
|
-
import TextAreaComponent from 'formiojs/components/textarea/TextArea.js';
|
|
4
|
-
import isNil from 'lodash/isNil';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@angular/forms";
|
|
8
|
-
import * as i3 from "@angular/material/input";
|
|
9
|
-
import * as i4 from "@angular/material/form-field";
|
|
10
|
-
import * as i5 from "../formio-form-field/formio-form-field.component";
|
|
11
|
-
import * as i6 from "../label/label.component";
|
|
12
|
-
export class MaterialTextareaComponent extends MaterialComponent {
|
|
13
|
-
ngAfterViewInit() {
|
|
14
|
-
if (this.element && this.element.nativeElement && this.instance) {
|
|
15
|
-
// Add custom classes to elements.
|
|
16
|
-
if (this.instance.component.customClass) {
|
|
17
|
-
this.element.nativeElement.classList.add(this.instance.component.customClass);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
// Attach the element so the wysiwyg will work.
|
|
21
|
-
this.instance.attachElement(this.textarea.nativeElement);
|
|
22
|
-
}
|
|
23
|
-
getErrorMessage() {
|
|
24
|
-
// Check if instance and necessary properties exist
|
|
25
|
-
if (this.instance && this.instance.parent && this.instance.parent._data) {
|
|
26
|
-
if (this.instance.parent._data.submit) {
|
|
27
|
-
this.control.markAllAsTouched();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// Return the error message if it exists
|
|
31
|
-
return this.instance.error ? this.instance.error.message : '';
|
|
32
|
-
}
|
|
33
|
-
getValue() {
|
|
34
|
-
return isNil(this.control.value) ? '' : this.control.value;
|
|
35
|
-
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MaterialTextareaComponent, selector: "mat-formio-textarea", viewQueries: [{ propertyName: "textarea", first: true, predicate: ["textarea"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
38
|
-
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
39
|
-
<ng-template #componentTemplate let-hasLabel>
|
|
40
|
-
<mat-form-field class="mat-formio-textarea"
|
|
41
|
-
[ngClass]="{'editor-enabled': !!instance.component.editor}"
|
|
42
|
-
style="width:100%; align-self:center;"
|
|
43
|
-
>
|
|
44
|
-
<mat-label style="width:100%;" *ngIf="hasLabel">
|
|
45
|
-
<span [instance]="instance" matFormioLabel></span>
|
|
46
|
-
</mat-label>
|
|
47
|
-
<span *ngIf="instance.component.prefix" matPrefix>{{ instance.component.prefix }} </span>
|
|
48
|
-
<textarea matInput
|
|
49
|
-
[placeholder]="instance.component.placeholder"
|
|
50
|
-
[formControl]="control"
|
|
51
|
-
[rows]="(instance.component.rows || 3)"
|
|
52
|
-
(input)="onChange()"
|
|
53
|
-
#textarea
|
|
54
|
-
>
|
|
55
|
-
</textarea>
|
|
56
|
-
<span *ngIf="instance.component.suffix" matSuffix>{{ instance.component.suffix }}</span>
|
|
57
|
-
<mat-error *ngIf="instance.error">{{ getErrorMessage() }}</mat-error>
|
|
58
|
-
</mat-form-field>
|
|
59
|
-
</ng-template>
|
|
60
|
-
`, isInline: true, styles: [".mat-mdc-input-element{min-height:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { 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: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i6.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] }); }
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTextareaComponent, decorators: [{
|
|
63
|
-
type: Component,
|
|
64
|
-
args: [{ selector: 'mat-formio-textarea', template: `
|
|
65
|
-
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
66
|
-
<ng-template #componentTemplate let-hasLabel>
|
|
67
|
-
<mat-form-field class="mat-formio-textarea"
|
|
68
|
-
[ngClass]="{'editor-enabled': !!instance.component.editor}"
|
|
69
|
-
style="width:100%; align-self:center;"
|
|
70
|
-
>
|
|
71
|
-
<mat-label style="width:100%;" *ngIf="hasLabel">
|
|
72
|
-
<span [instance]="instance" matFormioLabel></span>
|
|
73
|
-
</mat-label>
|
|
74
|
-
<span *ngIf="instance.component.prefix" matPrefix>{{ instance.component.prefix }} </span>
|
|
75
|
-
<textarea matInput
|
|
76
|
-
[placeholder]="instance.component.placeholder"
|
|
77
|
-
[formControl]="control"
|
|
78
|
-
[rows]="(instance.component.rows || 3)"
|
|
79
|
-
(input)="onChange()"
|
|
80
|
-
#textarea
|
|
81
|
-
>
|
|
82
|
-
</textarea>
|
|
83
|
-
<span *ngIf="instance.component.suffix" matSuffix>{{ instance.component.suffix }}</span>
|
|
84
|
-
<mat-error *ngIf="instance.error">{{ getErrorMessage() }}</mat-error>
|
|
85
|
-
</mat-form-field>
|
|
86
|
-
</ng-template>
|
|
87
|
-
`, styles: [".mat-mdc-input-element{min-height:16px}\n"] }]
|
|
88
|
-
}], propDecorators: { textarea: [{
|
|
89
|
-
type: ViewChild,
|
|
90
|
-
args: ['textarea']
|
|
91
|
-
}] } });
|
|
92
|
-
TextAreaComponent.MaterialComponent = MaterialTextareaComponent;
|
|
93
|
-
export { TextAreaComponent };
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLGlCQUFpQixNQUFNLDBDQUEwQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUE4QmpDLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQkFBaUI7SUFHOUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEUsa0NBQWtDO1lBQ2xDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEYsQ0FBQztRQUNILENBQUM7UUFDRCwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsZUFBZTtRQUNiLG1EQUFtRDtRQUNuRCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUVELHdDQUF3QztRQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBR0QsUUFBUTtRQUNOLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDN0QsQ0FBQzsrR0E3QlUseUJBQXlCO21HQUF6Qix5QkFBeUIsd0xBekIxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7OzRGQUVVLHlCQUF5QjtrQkE1QnJDLFNBQVM7K0JBQ0UscUJBQXFCLFlBRXJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDs4QkFHc0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVOztBQThCdkIsaUJBQWlCLENBQUMsaUJBQWlCLEdBQUcseUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsQ29tcG9uZW50JztcclxuaW1wb3J0IFRleHRBcmVhQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvdGV4dGFyZWEvVGV4dEFyZWEuanMnO1xyXG5pbXBvcnQgaXNOaWwgZnJvbSAnbG9kYXNoL2lzTmlsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby10ZXh0YXJlYScsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dGFyZWEuY29tcG9uZW50LmNzcyddLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWZvcm1pby1mb3JtLWZpZWxkIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiIFtjb21wb25lbnRUZW1wbGF0ZV09XCJjb21wb25lbnRUZW1wbGF0ZVwiPjwvbWF0LWZvcm1pby1mb3JtLWZpZWxkPlxyXG4gICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRUZW1wbGF0ZSBsZXQtaGFzTGFiZWw+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mb3JtaW8tdGV4dGFyZWFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydlZGl0b3ItZW5hYmxlZCc6ICEhaW5zdGFuY2UuY29tcG9uZW50LmVkaXRvcn1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDoxMDAlOyBhbGlnbi1zZWxmOmNlbnRlcjtcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1sYWJlbCBzdHlsZT1cIndpZHRoOjEwMCU7XCIgKm5nSWY9XCJoYXNMYWJlbFwiPlxyXG4gICAgICAgICAgPHNwYW4gW2luc3RhbmNlXT1cImluc3RhbmNlXCIgbWF0Rm9ybWlvTGFiZWw+PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LnByZWZpeFwiIG1hdFByZWZpeD57eyBpbnN0YW5jZS5jb21wb25lbnQucHJlZml4IH19Jm5ic3A7PC9zcGFuPlxyXG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaW5zdGFuY2UuY29tcG9uZW50LnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICBbcm93c109XCIoaW5zdGFuY2UuY29tcG9uZW50LnJvd3MgfHwgMylcIlxyXG4gICAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAjdGV4dGFyZWFcclxuICAgICAgICA+XHJcbiAgICAgICAgPC90ZXh0YXJlYT5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImluc3RhbmNlLmNvbXBvbmVudC5zdWZmaXhcIiBtYXRTdWZmaXg+e3sgaW5zdGFuY2UuY29tcG9uZW50LnN1ZmZpeCB9fTwvc3Bhbj5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaW5zdGFuY2UuZXJyb3JcIj57eyBnZXRFcnJvck1lc3NhZ2UoKSB9fTwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFRleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKCd0ZXh0YXJlYScpIHRleHRhcmVhOiBFbGVtZW50UmVmO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50ICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50ICYmIHRoaXMuaW5zdGFuY2UpIHtcclxuICAgICAgLy8gQWRkIGN1c3RvbSBjbGFzc2VzIHRvIGVsZW1lbnRzLlxyXG4gICAgICBpZiAodGhpcy5pbnN0YW5jZS5jb21wb25lbnQuY3VzdG9tQ2xhc3MpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmN1c3RvbUNsYXNzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQXR0YWNoIHRoZSBlbGVtZW50IHNvIHRoZSB3eXNpd3lnIHdpbGwgd29yay5cclxuICAgIHRoaXMuaW5zdGFuY2UuYXR0YWNoRWxlbWVudCh0aGlzLnRleHRhcmVhLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3JNZXNzYWdlKCkge1xyXG4gICAgLy8gQ2hlY2sgaWYgaW5zdGFuY2UgYW5kIG5lY2Vzc2FyeSBwcm9wZXJ0aWVzIGV4aXN0XHJcbiAgICBpZiAodGhpcy5pbnN0YW5jZSAmJiB0aGlzLmluc3RhbmNlLnBhcmVudCAmJiB0aGlzLmluc3RhbmNlLnBhcmVudC5fZGF0YSkge1xyXG4gICAgICBpZiAodGhpcy5pbnN0YW5jZS5wYXJlbnQuX2RhdGEuc3VibWl0KSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybiB0aGUgZXJyb3IgbWVzc2FnZSBpZiBpdCBleGlzdHNcclxuICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmVycm9yID8gdGhpcy5pbnN0YW5jZS5lcnJvci5tZXNzYWdlIDogJyc7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gaXNOaWwodGhpcy5jb250cm9sLnZhbHVlKSA/ICcnIDogdGhpcy5jb250cm9sLnZhbHVlO1xyXG4gIH1cclxufVxyXG5UZXh0QXJlYUNvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsVGV4dGFyZWFDb21wb25lbnQ7XHJcbmV4cG9ydCB7IFRleHRBcmVhQ29tcG9uZW50IH07XHJcbiJdfQ==
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import TextFieldComponent from 'formiojs/components/textfield/TextField.js';
|
|
3
|
-
import { MaterialComponent } from '../MaterialComponent';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@angular/forms";
|
|
7
|
-
import * as i3 from "@angular/material/input";
|
|
8
|
-
import * as i4 from "@angular/material/form-field";
|
|
9
|
-
import * as i5 from "../formio-form-field/formio-form-field.component";
|
|
10
|
-
import * as i6 from "../label/label.component";
|
|
11
|
-
export const TEXTFIELD_TEMPLATE = `
|
|
12
|
-
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
13
|
-
<ng-template #componentTemplate let-hasLabel>
|
|
14
|
-
<mat-form-field [appearance]="getFormFieldAppearance()" fxFill>
|
|
15
|
-
|
|
16
|
-
<mat-label *ngIf="hasLabel">
|
|
17
|
-
<span [instance]="instance" matFormioLabel></span>
|
|
18
|
-
</mat-label>
|
|
19
|
-
|
|
20
|
-
<span *ngIf="instance.component.prefix && instance.type !== 'currency'"
|
|
21
|
-
matPrefix
|
|
22
|
-
>
|
|
23
|
-
{{ instance.component.prefix }}
|
|
24
|
-
</span>
|
|
25
|
-
<input matInput
|
|
26
|
-
type="{{ inputType }}"
|
|
27
|
-
[formControl]="control"
|
|
28
|
-
[placeholder]="instance.component.placeholder"
|
|
29
|
-
(input)="onChange()" #input
|
|
30
|
-
[ngClass]="{ 'show-invalid': inputType=='email' }"
|
|
31
|
-
>
|
|
32
|
-
<span *ngIf="instance.component.suffix" matSuffix>{{ instance.component.suffix }}</span>
|
|
33
|
-
|
|
34
|
-
<mat-hint *ngIf="instance.component.showWordCount || instance.component.showCharCount">
|
|
35
|
-
{{ getHint() }}
|
|
36
|
-
</mat-hint>
|
|
37
|
-
|
|
38
|
-
<br/>
|
|
39
|
-
<mat-error *ngIf="isError()" >{{ getErrorMessage() }}</mat-error>
|
|
40
|
-
</mat-form-field>
|
|
41
|
-
</ng-template>
|
|
42
|
-
`;
|
|
43
|
-
export class MaterialTextfieldComponent extends MaterialComponent {
|
|
44
|
-
constructor() {
|
|
45
|
-
super(...arguments);
|
|
46
|
-
this.inputType = 'text';
|
|
47
|
-
}
|
|
48
|
-
ngAfterContentInit() {
|
|
49
|
-
if (this.instance && this.control && this.instance.component.disabled) {
|
|
50
|
-
this.control.disable();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
getHint() {
|
|
54
|
-
if (!this.instance || !this.control || !this.control.value) {
|
|
55
|
-
return '';
|
|
56
|
-
}
|
|
57
|
-
const { showWordCount, showCharCount } = this.instance.component;
|
|
58
|
-
if (showWordCount && showCharCount) {
|
|
59
|
-
return `${this.getWordsCount()} words, ${this.control.value.length} characters`;
|
|
60
|
-
}
|
|
61
|
-
else if (showWordCount) {
|
|
62
|
-
return `${this.getWordsCount()} words`;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
return `${this.control.value.length} characters`;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
getWordsCount() {
|
|
69
|
-
const matches = this.control.value ? this.control.value.match(/[\w\d’'-]+/gi) : [];
|
|
70
|
-
return matches ? matches.length : 0;
|
|
71
|
-
}
|
|
72
|
-
getFormFieldAppearance() {
|
|
73
|
-
const appearances = ['legacy', 'standard', 'fill', 'outline'];
|
|
74
|
-
const appearance = this.instance.component.appearance ? this.instance.component.appearance.toLowerCase() : '';
|
|
75
|
-
return appearances.includes(appearance) ? appearance : 'outline';
|
|
76
|
-
}
|
|
77
|
-
isError() {
|
|
78
|
-
if (this.instance.error) {
|
|
79
|
-
this.control.setErrors(this.instance.component.validate);
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
getErrorMessage() {
|
|
87
|
-
if (this.instance.error && this.instance.error.messages) {
|
|
88
|
-
const { messages } = this.instance.error;
|
|
89
|
-
if (messages.length) {
|
|
90
|
-
for (const msg of messages) {
|
|
91
|
-
//this.control.hasError(msg.context.validator)
|
|
92
|
-
if (this.instance.type == 'phoneNumber' || this.instance.type == 'email') {
|
|
93
|
-
this.controlHasError = true;
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
this.controlHasError = this.control.hasError(msg.context.validator);
|
|
97
|
-
}
|
|
98
|
-
if (msg.context && this.controlHasError) {
|
|
99
|
-
if (this.instance && this.instance.parent && this.instance.parent._data) {
|
|
100
|
-
if (this.instance.parent._data.submit) {
|
|
101
|
-
this.control.markAllAsTouched();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return this.instance.error ? this.instance.error.message : '';
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTextfieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MaterialTextfieldComponent, selector: "mat-formio-textfield", usesInheritance: true, ngImport: i0, template: "\n <mat-formio-form-field [instance]=\"instance\" [componentTemplate]=\"componentTemplate\"></mat-formio-form-field>\n <ng-template #componentTemplate let-hasLabel>\n <mat-form-field [appearance]=\"getFormFieldAppearance()\" fxFill>\n\n <mat-label *ngIf=\"hasLabel\">\n <span [instance]=\"instance\" matFormioLabel></span>\n </mat-label>\n\n <span *ngIf=\"instance.component.prefix && instance.type !== 'currency'\"\n matPrefix\n >\n {{ instance.component.prefix }} \n </span>\n <input matInput\n type=\"{{ inputType }}\"\n [formControl]=\"control\"\n [placeholder]=\"instance.component.placeholder\"\n (input)=\"onChange()\" #input\n [ngClass]=\"{ 'show-invalid': inputType=='email' }\"\n >\n <span *ngIf=\"instance.component.suffix\" matSuffix>{{ instance.component.suffix }}</span>\n\n <mat-hint *ngIf=\"instance.component.showWordCount || instance.component.showCharCount\">\n {{ getHint() }}\n </mat-hint>\n\n <br/>\n <mat-error *ngIf=\"isError()\" >{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </ng-template>\n", isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { 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: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i6.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] }); }
|
|
112
|
-
}
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTextfieldComponent, decorators: [{
|
|
114
|
-
type: Component,
|
|
115
|
-
args: [{
|
|
116
|
-
selector: 'mat-formio-textfield',
|
|
117
|
-
template: TEXTFIELD_TEMPLATE
|
|
118
|
-
}]
|
|
119
|
-
}] });
|
|
120
|
-
TextFieldComponent.MaterialComponent = MaterialTextfieldComponent;
|
|
121
|
-
export { TextFieldComponent };
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sa0JBQWtCLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBRXpELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0JqQyxDQUFDO0FBTUYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQUpqRTs7UUFLUyxjQUFTLEdBQUcsTUFBTSxDQUFDO0tBc0UzQjtJQW5FQyxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE1BQU0sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFFakUsSUFBSSxhQUFhLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbkMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLGFBQWEsQ0FBQztRQUNsRixDQUFDO2FBQU0sSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUN6QixPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUM7UUFDekMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxhQUFhLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25GLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUcsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFDSSxDQUFDO1lBQ0osT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hELE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUV6QyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDM0IsOENBQThDO29CQUM5QyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDekUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7b0JBQzlCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7b0JBQ3JFLENBQUM7b0JBQ0QsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzt3QkFDeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDOzRCQUN4RSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQ0FDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDOzRCQUNsQyxDQUFDO3dCQUNILENBQUM7d0JBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2hFLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0F0RVUsMEJBQTBCO21HQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7O0FBeUVELGtCQUFrQixDQUFDLGlCQUFpQixHQUFHLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEFmdGVyQ29udGVudEluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IFRleHRGaWVsZENvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL3RleHRmaWVsZC9UZXh0RmllbGQuanMnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsQ29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjb25zdCBURVhURklFTERfVEVNUExBVEUgPSBgXHJcbiAgPG1hdC1mb3JtaW8tZm9ybS1maWVsZCBbaW5zdGFuY2VdPVwiaW5zdGFuY2VcIiBbY29tcG9uZW50VGVtcGxhdGVdPVwiY29tcG9uZW50VGVtcGxhdGVcIj48L21hdC1mb3JtaW8tZm9ybS1maWVsZD5cclxuICA8bmctdGVtcGxhdGUgI2NvbXBvbmVudFRlbXBsYXRlIGxldC1oYXNMYWJlbD5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJnZXRGb3JtRmllbGRBcHBlYXJhbmNlKClcIiBmeEZpbGw+XHJcblxyXG4gICAgICA8bWF0LWxhYmVsICpuZ0lmPVwiaGFzTGFiZWxcIj5cclxuICAgICAgICAgIDxzcGFuIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiIG1hdEZvcm1pb0xhYmVsPjwvc3Bhbj5cclxuICAgICAgPC9tYXQtbGFiZWw+XHJcblxyXG4gICAgICA8c3BhbiAqbmdJZj1cImluc3RhbmNlLmNvbXBvbmVudC5wcmVmaXggJiYgaW5zdGFuY2UudHlwZSAhPT0gJ2N1cnJlbmN5J1wiXHJcbiAgICAgICAgICAgIG1hdFByZWZpeFxyXG4gICAgICA+XHJcbiAgICAgICAge3sgaW5zdGFuY2UuY29tcG9uZW50LnByZWZpeCB9fSZuYnNwO1xyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwie3sgaW5wdXRUeXBlIH19XCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaW5zdGFuY2UuY29tcG9uZW50LnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlKClcIiAjaW5wdXRcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc2hvdy1pbnZhbGlkJzogaW5wdXRUeXBlPT0nZW1haWwnIH1cIlxyXG4gICAgICA+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LnN1ZmZpeFwiIG1hdFN1ZmZpeD57eyBpbnN0YW5jZS5jb21wb25lbnQuc3VmZml4IH19PC9zcGFuPlxyXG5cclxuICAgICAgPG1hdC1oaW50ICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LnNob3dXb3JkQ291bnQgfHwgaW5zdGFuY2UuY29tcG9uZW50LnNob3dDaGFyQ291bnRcIj5cclxuICAgICAgICB7eyBnZXRIaW50KCkgfX1cclxuICAgICAgPC9tYXQtaGludD5cclxuXHJcbiAgICAgIDxici8+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0Vycm9yKClcIiA+e3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX08L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuYDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby10ZXh0ZmllbGQnLFxyXG4gIHRlbXBsYXRlOiBURVhURklFTERfVEVNUExBVEVcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsVGV4dGZpZWxkQ29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcclxuICBwdWJsaWMgaW5wdXRUeXBlID0gJ3RleHQnO1xyXG4gIGNvbnRyb2xIYXNFcnJvcjogYm9vbGVhbjtcclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2UgJiYgdGhpcy5jb250cm9sICYmIHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRIaW50KCkge1xyXG4gICAgaWYgKCF0aGlzLmluc3RhbmNlIHx8ICF0aGlzLmNvbnRyb2wgfHwgIXRoaXMuY29udHJvbC52YWx1ZSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBzaG93V29yZENvdW50LCBzaG93Q2hhckNvdW50IH0gPSB0aGlzLmluc3RhbmNlLmNvbXBvbmVudDtcclxuXHJcbiAgICBpZiAoc2hvd1dvcmRDb3VudCAmJiBzaG93Q2hhckNvdW50KSB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLmdldFdvcmRzQ291bnQoKX0gd29yZHMsICR7dGhpcy5jb250cm9sLnZhbHVlLmxlbmd0aH0gY2hhcmFjdGVyc2A7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dXb3JkQ291bnQpIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0V29yZHNDb3VudCgpfSB3b3Jkc2A7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYCR7dGhpcy5jb250cm9sLnZhbHVlLmxlbmd0aH0gY2hhcmFjdGVyc2A7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRXb3Jkc0NvdW50KCkge1xyXG4gICAgY29uc3QgbWF0Y2hlcyA9IHRoaXMuY29udHJvbC52YWx1ZSA/IHRoaXMuY29udHJvbC52YWx1ZS5tYXRjaCgvW1xcd1xcZOKAmSctXSsvZ2kpIDogW107XHJcbiAgICByZXR1cm4gbWF0Y2hlcyA/IG1hdGNoZXMubGVuZ3RoIDogMDtcclxuICB9XHJcblxyXG4gIGdldEZvcm1GaWVsZEFwcGVhcmFuY2UoKSB7XHJcbiAgICBjb25zdCBhcHBlYXJhbmNlcyA9IFsnbGVnYWN5JywgJ3N0YW5kYXJkJywgJ2ZpbGwnLCAnb3V0bGluZSddO1xyXG4gICAgY29uc3QgYXBwZWFyYW5jZSA9IHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmFwcGVhcmFuY2UgPyB0aGlzLmluc3RhbmNlLmNvbXBvbmVudC5hcHBlYXJhbmNlLnRvTG93ZXJDYXNlKCkgOiAnJztcclxuICAgIHJldHVybiBhcHBlYXJhbmNlcy5pbmNsdWRlcyhhcHBlYXJhbmNlKSA/IGFwcGVhcmFuY2UgOiAnb3V0bGluZSc7XHJcbiAgfVxyXG5cclxuICBpc0Vycm9yKCkge1xyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2UuZXJyb3IpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldEVycm9ycyh0aGlzLmluc3RhbmNlLmNvbXBvbmVudC52YWxpZGF0ZSk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEVycm9yTWVzc2FnZSgpIHtcclxuICAgIGlmICh0aGlzLmluc3RhbmNlLmVycm9yICYmIHRoaXMuaW5zdGFuY2UuZXJyb3IubWVzc2FnZXMpIHtcclxuICAgICAgY29uc3QgeyBtZXNzYWdlcyB9ID0gdGhpcy5pbnN0YW5jZS5lcnJvcjtcclxuXHJcbiAgICAgIGlmIChtZXNzYWdlcy5sZW5ndGgpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IG1zZyBvZiBtZXNzYWdlcykge1xyXG4gICAgICAgICAgLy90aGlzLmNvbnRyb2wuaGFzRXJyb3IobXNnLmNvbnRleHQudmFsaWRhdG9yKVxyXG4gICAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2UudHlwZSA9PSAncGhvbmVOdW1iZXInIHx8IHRoaXMuaW5zdGFuY2UudHlwZSA9PSAnZW1haWwnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEhhc0Vycm9yID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEhhc0Vycm9yID0gdGhpcy5jb250cm9sLmhhc0Vycm9yKG1zZy5jb250ZXh0LnZhbGlkYXRvcilcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChtc2cuY29udGV4dCAmJiB0aGlzLmNvbnRyb2xIYXNFcnJvcikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pbnN0YW5jZSAmJiB0aGlzLmluc3RhbmNlLnBhcmVudCAmJiB0aGlzLmluc3RhbmNlLnBhcmVudC5fZGF0YSkge1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmluc3RhbmNlLnBhcmVudC5fZGF0YS5zdWJtaXQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmVycm9yID8gdGhpcy5pbnN0YW5jZS5lcnJvci5tZXNzYWdlIDogJyc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblRleHRGaWVsZENvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsVGV4dGZpZWxkQ29tcG9uZW50O1xyXG5leHBvcnQgeyBUZXh0RmllbGRDb21wb25lbnQgfTtcclxuIl19
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormControl } from '@angular/forms';
|
|
3
|
-
import { MaterialComponent } from '../MaterialComponent';
|
|
4
|
-
import TimeComponent from 'formiojs/components/time/Time.js';
|
|
5
|
-
import * as moment_ from 'moment';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "@angular/forms";
|
|
9
|
-
import * as i3 from "@angular/material/form-field";
|
|
10
|
-
import * as i4 from "../formio-form-field/formio-form-field.component";
|
|
11
|
-
import * as i5 from "../label/label.component";
|
|
12
|
-
export class MaterialTimeComponent extends MaterialComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this.disabled = false;
|
|
16
|
-
this.period = 'AM';
|
|
17
|
-
this.hourControl = new FormControl();
|
|
18
|
-
this.minuteControl = new FormControl();
|
|
19
|
-
this.secondControl = new FormControl();
|
|
20
|
-
this.selectedEvent = new EventEmitter();
|
|
21
|
-
this.hourStep = 1;
|
|
22
|
-
this.minuteStep = 1;
|
|
23
|
-
this.secondStep = 1;
|
|
24
|
-
this.renderElementOnly = false;
|
|
25
|
-
}
|
|
26
|
-
setDisabled(disabled) {
|
|
27
|
-
if (disabled) {
|
|
28
|
-
this.hourControl.disable();
|
|
29
|
-
this.minuteControl.disable();
|
|
30
|
-
this.secondControl.disable();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
get dataFormat() {
|
|
34
|
-
let format = this.instance.component.dataFormat;
|
|
35
|
-
format = format ? format : 'HH:mm';
|
|
36
|
-
return format;
|
|
37
|
-
}
|
|
38
|
-
setInstance(instance) {
|
|
39
|
-
super.setInstance(instance);
|
|
40
|
-
// this.control.setValue('00:00:00');
|
|
41
|
-
this.onChange();
|
|
42
|
-
}
|
|
43
|
-
onChange() {
|
|
44
|
-
const hours = this.hourControl.value;
|
|
45
|
-
const minutes = this.minuteControl.value || '00';
|
|
46
|
-
const seconds = this.secondControl.value || '';
|
|
47
|
-
const rawValue = `${hours || '00'}:${minutes}${seconds ? ':' + seconds : ''} ${this.period}`;
|
|
48
|
-
let value = this.getTwentyFourHourTime(rawValue);
|
|
49
|
-
if (!hours) {
|
|
50
|
-
value = this.instance.emptyValue;
|
|
51
|
-
}
|
|
52
|
-
this.control.setValue(value);
|
|
53
|
-
if (this.instance) {
|
|
54
|
-
super.onChange();
|
|
55
|
-
}
|
|
56
|
-
this.selectedEvent.emit(this.control);
|
|
57
|
-
}
|
|
58
|
-
setValue(value) {
|
|
59
|
-
if (!value) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
super.setValue(value);
|
|
63
|
-
const [hourValue, minuteValue, period] = value.split(':');
|
|
64
|
-
this.hourControl.setValue(hourValue);
|
|
65
|
-
this.minuteControl.setValue(minuteValue);
|
|
66
|
-
// fix for default value with seconds instead of period
|
|
67
|
-
this.period = period === ('AM' || 'PM') ? period : this.period;
|
|
68
|
-
}
|
|
69
|
-
getTwentyFourHourTime(amPmString) {
|
|
70
|
-
const moment = moment_;
|
|
71
|
-
return moment(amPmString, ['h:mm:ss A']).format(this.dataFormat);
|
|
72
|
-
}
|
|
73
|
-
changePeriod() {
|
|
74
|
-
this.period = this.period === 'AM' ? 'PM' : 'AM';
|
|
75
|
-
this.onChange();
|
|
76
|
-
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MaterialTimeComponent, selector: "mat-formio-time", inputs: { hourStep: "hourStep", minuteStep: "minuteStep", secondStep: "secondStep", renderElementOnly: "renderElementOnly" }, outputs: { selectedEvent: "selectedEvent" }, usesInheritance: true, ngImport: i0, template: `
|
|
79
|
-
<mat-formio-form-field
|
|
80
|
-
[instance]="instance"
|
|
81
|
-
[componentTemplate]="componentTemplate"
|
|
82
|
-
[renderElementOnly]="renderElementOnly"
|
|
83
|
-
></mat-formio-form-field>
|
|
84
|
-
<ng-template #componentTemplate let-hasLabel>
|
|
85
|
-
<mat-label style="width:100%;" *ngIf="hasLabel">
|
|
86
|
-
<span [instance]="instance" matFormioLabel></span>
|
|
87
|
-
</mat-label>
|
|
88
|
-
|
|
89
|
-
<div style="display: block">
|
|
90
|
-
<div style="display:flex; flex-direction:row; gap:5%;">
|
|
91
|
-
<input
|
|
92
|
-
[formControl]="hourControl"
|
|
93
|
-
[step]="hourStep"
|
|
94
|
-
[min]="0"
|
|
95
|
-
[max]="12"
|
|
96
|
-
type="number"
|
|
97
|
-
style="flex: 0 1 25%;"
|
|
98
|
-
(input)="onChange()"
|
|
99
|
-
>
|
|
100
|
-
<input
|
|
101
|
-
[formControl]="minuteControl"
|
|
102
|
-
[step]="minuteStep"
|
|
103
|
-
[min]="0"
|
|
104
|
-
[max]="59"
|
|
105
|
-
type="number"
|
|
106
|
-
style="flex: 0 1 25%;"
|
|
107
|
-
(input)="onChange()"
|
|
108
|
-
>
|
|
109
|
-
<input
|
|
110
|
-
[formControl]="secondControl"
|
|
111
|
-
[step]="secondStep"
|
|
112
|
-
[min]="0"
|
|
113
|
-
[max]="59"
|
|
114
|
-
type="number"
|
|
115
|
-
style="flex: 0 1 25%;"
|
|
116
|
-
(input)="onChange()"
|
|
117
|
-
*ngIf="instance?.component?.dataFormat === 'HH:mm:ss' ||
|
|
118
|
-
instance?.component?.dataFormat === 'HH:mm:ss.SSS'"
|
|
119
|
-
>
|
|
120
|
-
<button
|
|
121
|
-
[disabled]="instance?.component?.disabled"
|
|
122
|
-
style="flex: 0 1 25%;"
|
|
123
|
-
(click)="changePeriod()"
|
|
124
|
-
>
|
|
125
|
-
{{period}}
|
|
126
|
-
</button>
|
|
127
|
-
</div>
|
|
128
|
-
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
129
|
-
</div>
|
|
130
|
-
</ng-template>
|
|
131
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i5.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] }); }
|
|
132
|
-
}
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialTimeComponent, decorators: [{
|
|
134
|
-
type: Component,
|
|
135
|
-
args: [{
|
|
136
|
-
selector: 'mat-formio-time',
|
|
137
|
-
template: `
|
|
138
|
-
<mat-formio-form-field
|
|
139
|
-
[instance]="instance"
|
|
140
|
-
[componentTemplate]="componentTemplate"
|
|
141
|
-
[renderElementOnly]="renderElementOnly"
|
|
142
|
-
></mat-formio-form-field>
|
|
143
|
-
<ng-template #componentTemplate let-hasLabel>
|
|
144
|
-
<mat-label style="width:100%;" *ngIf="hasLabel">
|
|
145
|
-
<span [instance]="instance" matFormioLabel></span>
|
|
146
|
-
</mat-label>
|
|
147
|
-
|
|
148
|
-
<div style="display: block">
|
|
149
|
-
<div style="display:flex; flex-direction:row; gap:5%;">
|
|
150
|
-
<input
|
|
151
|
-
[formControl]="hourControl"
|
|
152
|
-
[step]="hourStep"
|
|
153
|
-
[min]="0"
|
|
154
|
-
[max]="12"
|
|
155
|
-
type="number"
|
|
156
|
-
style="flex: 0 1 25%;"
|
|
157
|
-
(input)="onChange()"
|
|
158
|
-
>
|
|
159
|
-
<input
|
|
160
|
-
[formControl]="minuteControl"
|
|
161
|
-
[step]="minuteStep"
|
|
162
|
-
[min]="0"
|
|
163
|
-
[max]="59"
|
|
164
|
-
type="number"
|
|
165
|
-
style="flex: 0 1 25%;"
|
|
166
|
-
(input)="onChange()"
|
|
167
|
-
>
|
|
168
|
-
<input
|
|
169
|
-
[formControl]="secondControl"
|
|
170
|
-
[step]="secondStep"
|
|
171
|
-
[min]="0"
|
|
172
|
-
[max]="59"
|
|
173
|
-
type="number"
|
|
174
|
-
style="flex: 0 1 25%;"
|
|
175
|
-
(input)="onChange()"
|
|
176
|
-
*ngIf="instance?.component?.dataFormat === 'HH:mm:ss' ||
|
|
177
|
-
instance?.component?.dataFormat === 'HH:mm:ss.SSS'"
|
|
178
|
-
>
|
|
179
|
-
<button
|
|
180
|
-
[disabled]="instance?.component?.disabled"
|
|
181
|
-
style="flex: 0 1 25%;"
|
|
182
|
-
(click)="changePeriod()"
|
|
183
|
-
>
|
|
184
|
-
{{period}}
|
|
185
|
-
</button>
|
|
186
|
-
</div>
|
|
187
|
-
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
188
|
-
</div>
|
|
189
|
-
</ng-template>
|
|
190
|
-
`
|
|
191
|
-
}]
|
|
192
|
-
}], propDecorators: { selectedEvent: [{
|
|
193
|
-
type: Output
|
|
194
|
-
}], hourStep: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], minuteStep: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], secondStep: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], renderElementOnly: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}] } });
|
|
203
|
-
TimeComponent.MaterialComponent = MaterialTimeComponent;
|
|
204
|
-
export { TimeComponent };
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy90aW1lL3RpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sYUFBYSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdELE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBMkRsQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsaUJBQWlCO0lBMUQ1RDs7UUEyRFMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM3QyxrQkFBYSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQy9DLGtCQUFhLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDNUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLHNCQUFpQixHQUFHLEtBQUssQ0FBQztLQTZEcEM7SUEzREMsV0FBVyxDQUFDLFFBQVE7UUFDbEIsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxRFQ7OzRGQUdVLHFCQUFxQjtrQkExRGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFEVDtpQkFDRjs4QkFRVyxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSzs7QUErRFIsYUFBYSxDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxDb21wb25lbnQgfSBmcm9tICcuLi9NYXRlcmlhbENvbXBvbmVudCc7XHJcbmltcG9ydCBUaW1lQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvdGltZS9UaW1lLmpzJztcclxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tdGltZScsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxtYXQtZm9ybWlvLWZvcm0tZmllbGRcclxuICAgICAgW2luc3RhbmNlXT1cImluc3RhbmNlXCJcclxuICAgICAgW2NvbXBvbmVudFRlbXBsYXRlXT1cImNvbXBvbmVudFRlbXBsYXRlXCJcclxuICAgICAgW3JlbmRlckVsZW1lbnRPbmx5XT1cInJlbmRlckVsZW1lbnRPbmx5XCJcclxuICAgID48L21hdC1mb3JtaW8tZm9ybS1maWVsZD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50VGVtcGxhdGUgbGV0LWhhc0xhYmVsPlxyXG4gICAgICA8bWF0LWxhYmVsIHN0eWxlPVwid2lkdGg6MTAwJTtcIiAqbmdJZj1cImhhc0xhYmVsXCI+XHJcbiAgICAgICAgPHNwYW4gW2luc3RhbmNlXT1cImluc3RhbmNlXCIgbWF0Rm9ybWlvTGFiZWw+PC9zcGFuPlxyXG4gICAgICA8L21hdC1sYWJlbD5cclxuXHJcbiAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBibG9ja1wiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOnJvdzsgZ2FwOjUlO1wiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJob3VyQ29udHJvbFwiXHJcbiAgICAgICAgICAgIFtzdGVwXT1cImhvdXJTdGVwXCJcclxuICAgICAgICAgICAgW21pbl09XCIwXCJcclxuICAgICAgICAgICAgW21heF09XCIxMlwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImZsZXg6IDAgMSAyNSU7XCJcclxuICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlKClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJtaW51dGVDb250cm9sXCJcclxuICAgICAgICAgICAgW3N0ZXBdPVwibWludXRlU3RlcFwiXHJcbiAgICAgICAgICAgIFttaW5dPVwiMFwiXHJcbiAgICAgICAgICAgIFttYXhdPVwiNTlcIlxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJmbGV4OiAwIDEgMjUlO1wiXHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZSgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2Vjb25kQ29udHJvbFwiXHJcbiAgICAgICAgICAgIFtzdGVwXT1cInNlY29uZFN0ZXBcIlxyXG4gICAgICAgICAgICBbbWluXT1cIjBcIlxyXG4gICAgICAgICAgICBbbWF4XT1cIjU5XCJcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwiZmxleDogMCAxIDI1JTtcIlxyXG4gICAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaW5zdGFuY2U/LmNvbXBvbmVudD8uZGF0YUZvcm1hdCA9PT0gJ0hIOm1tOnNzJyB8fFxyXG4gICAgICAgICAgICAgaW5zdGFuY2U/LmNvbXBvbmVudD8uZGF0YUZvcm1hdCA9PT0gJ0hIOm1tOnNzLlNTUydcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaW5zdGFuY2U/LmNvbXBvbmVudD8uZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImZsZXg6IDAgMSAyNSU7XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVBlcmlvZCgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3twZXJpb2R9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImluc3RhbmNlLmVycm9yXCI+e3sgaW5zdGFuY2UuZXJyb3IubWVzc2FnZSB9fTwvbWF0LWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsVGltZUNvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsQ29tcG9uZW50IHtcclxuICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgcGVyaW9kID0gJ0FNJztcclxuICBwdWJsaWMgaG91ckNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgcHVibGljIG1pbnV0ZUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgcHVibGljIHNlY29uZENvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKSBob3VyU3RlcCA9IDE7XHJcbiAgQElucHV0KCkgbWludXRlU3RlcCA9IDE7XHJcbiAgQElucHV0KCkgc2Vjb25kU3RlcCA9IDE7XHJcbiAgQElucHV0KCkgcmVuZGVyRWxlbWVudE9ubHkgPSBmYWxzZTtcclxuXHJcbiAgc2V0RGlzYWJsZWQoZGlzYWJsZWQpIHtcclxuICAgIGlmIChkaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmhvdXJDb250cm9sLmRpc2FibGUoKTtcclxuICAgICAgdGhpcy5taW51dGVDb250cm9sLmRpc2FibGUoKTtcclxuICAgICAgdGhpcy5zZWNvbmRDb250cm9sLmRpc2FibGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBkYXRhRm9ybWF0KCkge1xyXG4gICAgbGV0IGZvcm1hdCA9IHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmRhdGFGb3JtYXQ7XHJcbiAgICBmb3JtYXQgPSBmb3JtYXQgPyBmb3JtYXQgOiAnSEg6bW0nO1xyXG4gICAgcmV0dXJuIGZvcm1hdDtcclxuICB9XHJcblxyXG4gIHNldEluc3RhbmNlKGluc3RhbmNlKSB7XHJcbiAgICBzdXBlci5zZXRJbnN0YW5jZShpbnN0YW5jZSk7XHJcbiAgICAvLyB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoJzAwOjAwOjAwJyk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZSgpIHtcclxuICAgIGNvbnN0IGhvdXJzID0gdGhpcy5ob3VyQ29udHJvbC52YWx1ZTtcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSB0aGlzLm1pbnV0ZUNvbnRyb2wudmFsdWUgfHwgJzAwJztcclxuICAgIGNvbnN0IHNlY29uZHMgPSB0aGlzLnNlY29uZENvbnRyb2wudmFsdWUgfHwgJyc7XHJcbiAgICBjb25zdCByYXdWYWx1ZSA9IGAke2hvdXJzIHx8ICcwMCd9OiR7bWludXRlc30ke3NlY29uZHMgPyAnOicgKyBzZWNvbmRzIDogJyd9ICR7dGhpcy5wZXJpb2R9YDtcclxuICAgIGxldCB2YWx1ZSA9IHRoaXMuZ2V0VHdlbnR5Rm91ckhvdXJUaW1lKHJhd1ZhbHVlKTtcclxuXHJcbiAgICBpZiAoIWhvdXJzKSB7XHJcbiAgICAgIHZhbHVlID0gdGhpcy5pbnN0YW5jZS5lbXB0eVZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICBpZiAodGhpcy5pbnN0YW5jZSkge1xyXG4gICAgICBzdXBlci5vbkNoYW5nZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZEV2ZW50LmVtaXQodGhpcy5jb250cm9sKTtcclxuICB9XHJcblxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHN1cGVyLnNldFZhbHVlKHZhbHVlKTtcclxuICAgIGNvbnN0IFtob3VyVmFsdWUsIG1pbnV0ZVZhbHVlLCBwZXJpb2RdID0gdmFsdWUuc3BsaXQoJzonKTtcclxuICAgIHRoaXMuaG91ckNvbnRyb2wuc2V0VmFsdWUoaG91clZhbHVlKTtcclxuICAgIHRoaXMubWludXRlQ29udHJvbC5zZXRWYWx1ZShtaW51dGVWYWx1ZSk7XHJcbiAgICAvLyBmaXggZm9yIGRlZmF1bHQgdmFsdWUgd2l0aCBzZWNvbmRzIGluc3RlYWQgb2YgcGVyaW9kXHJcbiAgICB0aGlzLnBlcmlvZCA9IHBlcmlvZCA9PT0gKCdBTScgfHwgJ1BNJykgPyBwZXJpb2QgOiB0aGlzLnBlcmlvZDtcclxuICB9XHJcblxyXG4gIGdldFR3ZW50eUZvdXJIb3VyVGltZShhbVBtU3RyaW5nKSB7XHJcbiAgICBjb25zdCBtb21lbnQgPSBtb21lbnRfO1xyXG4gICAgcmV0dXJuIG1vbWVudChhbVBtU3RyaW5nLCBbJ2g6bW06c3MgQSddKS5mb3JtYXQodGhpcy5kYXRhRm9ybWF0KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBlcmlvZCgpIHtcclxuICAgIHRoaXMucGVyaW9kID0gdGhpcy5wZXJpb2QgPT09ICdBTScgPyAnUE0nIDogJ0FNJztcclxuICAgIHRoaXMub25DaGFuZ2UoKTtcclxuICB9XHJcbn1cclxuXHJcblRpbWVDb21wb25lbnQuTWF0ZXJpYWxDb21wb25lbnQgPSBNYXRlcmlhbFRpbWVDb21wb25lbnQ7XHJcbmV4cG9ydCB7IFRpbWVDb21wb25lbnQgfTtcclxuIl19
|