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
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MaterialRadioComponent } from '../radio/radio.component';
|
|
3
|
+
import SelectBoxesComponent from 'formiojs/components/selectboxes/SelectBoxes.js';
|
|
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/form-field";
|
|
8
|
+
import * as i4 from "@angular/material/checkbox";
|
|
9
|
+
import * as i5 from "@angular/flex-layout/flex";
|
|
10
|
+
import * as i6 from "../formio-form-field/formio-form-field.component";
|
|
11
|
+
import * as i7 from "../label/label.component";
|
|
12
|
+
export class MaterialSelectBoxesComponent extends MaterialRadioComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.value = {};
|
|
16
|
+
this.disabled = false;
|
|
17
|
+
}
|
|
18
|
+
setInstance(instance) {
|
|
19
|
+
instance.component.values.forEach((option) => {
|
|
20
|
+
this.value[option.value] = false;
|
|
21
|
+
});
|
|
22
|
+
super.setInstance(instance);
|
|
23
|
+
}
|
|
24
|
+
getValue() {
|
|
25
|
+
return this.value;
|
|
26
|
+
}
|
|
27
|
+
setValue(value) {
|
|
28
|
+
const normalizedValue = this.instance.normalizeValue(value);
|
|
29
|
+
for (const prop in normalizedValue) {
|
|
30
|
+
if (normalizedValue.hasOwnProperty(prop)) {
|
|
31
|
+
this.value[prop] = normalizedValue[prop];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
setDisabled(disabled) {
|
|
36
|
+
this.disabled = !!disabled;
|
|
37
|
+
}
|
|
38
|
+
onChange() {
|
|
39
|
+
this.instance.updateValue(this.getValue(), { modified: true });
|
|
40
|
+
this.instance.triggerChange({ modified: true });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
MaterialSelectBoxesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialSelectBoxesComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
MaterialSelectBoxesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialSelectBoxesComponent, selector: "mat-formio-selectboxes", usesInheritance: true, ngImport: i0, template: `
|
|
45
|
+
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
46
|
+
<ng-template #componentTemplate let-hasLabel>
|
|
47
|
+
<div fxLayout="column">
|
|
48
|
+
<mat-label *ngIf="hasLabel">
|
|
49
|
+
<span [instance]="instance" matFormioLabel></span>
|
|
50
|
+
</mat-label>
|
|
51
|
+
<div
|
|
52
|
+
fxFlexOffset="10px"
|
|
53
|
+
fxLayout="{{ getLayout() }}"
|
|
54
|
+
fxLayoutGap="10px"
|
|
55
|
+
>
|
|
56
|
+
<mat-checkbox
|
|
57
|
+
*ngFor="let option of instance.component.values"
|
|
58
|
+
(change)="onChange()"
|
|
59
|
+
[(ngModel)]="value[option.value]"
|
|
60
|
+
[disabled]="disabled"
|
|
61
|
+
>
|
|
62
|
+
{{ option.label }}
|
|
63
|
+
</mat-checkbox>
|
|
64
|
+
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</ng-template>
|
|
68
|
+
`, 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }, { 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"] }] });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialSelectBoxesComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{
|
|
72
|
+
selector: 'mat-formio-selectboxes',
|
|
73
|
+
template: `
|
|
74
|
+
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
75
|
+
<ng-template #componentTemplate let-hasLabel>
|
|
76
|
+
<div fxLayout="column">
|
|
77
|
+
<mat-label *ngIf="hasLabel">
|
|
78
|
+
<span [instance]="instance" matFormioLabel></span>
|
|
79
|
+
</mat-label>
|
|
80
|
+
<div
|
|
81
|
+
fxFlexOffset="10px"
|
|
82
|
+
fxLayout="{{ getLayout() }}"
|
|
83
|
+
fxLayoutGap="10px"
|
|
84
|
+
>
|
|
85
|
+
<mat-checkbox
|
|
86
|
+
*ngFor="let option of instance.component.values"
|
|
87
|
+
(change)="onChange()"
|
|
88
|
+
[(ngModel)]="value[option.value]"
|
|
89
|
+
[disabled]="disabled"
|
|
90
|
+
>
|
|
91
|
+
{{ option.label }}
|
|
92
|
+
</mat-checkbox>
|
|
93
|
+
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</ng-template>
|
|
97
|
+
`
|
|
98
|
+
}]
|
|
99
|
+
}] });
|
|
100
|
+
SelectBoxesComponent.MaterialComponent = MaterialSelectBoxesComponent;
|
|
101
|
+
export { SelectBoxesComponent };
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0Ym94ZXMvc2VsZWN0Ym94ZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxvQkFBb0IsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7Ozs7O0FBNkJsRixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsc0JBQXNCO0lBNUJ4RTs7UUE2QlMsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO0tBOEJ6QjtJQTVCQyxXQUFXLENBQUMsUUFBUTtRQUNsQixRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNaLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELEtBQUssTUFBTSxJQUFJLElBQUksZUFBZSxFQUFFO1lBQ2xDLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUM7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsUUFBUTtRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O3lIQS9CVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixxRkExQjdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7MkZBRVUsNEJBQTRCO2tCQTVCeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVDtpQkFDRjs7QUFrQ0Qsb0JBQW9CLENBQUMsaUJBQWlCLEdBQUcsNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4uL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCBTZWxlY3RCb3hlc0NvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL3NlbGVjdGJveGVzL1NlbGVjdEJveGVzLmpzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtYXQtZm9ybWlvLXNlbGVjdGJveGVzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1hdC1mb3JtaW8tZm9ybS1maWVsZCBbaW5zdGFuY2VdPVwiaW5zdGFuY2VcIiBbY29tcG9uZW50VGVtcGxhdGVdPVwiY29tcG9uZW50VGVtcGxhdGVcIj48L21hdC1mb3JtaW8tZm9ybS1maWVsZD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50VGVtcGxhdGUgbGV0LWhhc0xhYmVsPlxyXG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cImhhc0xhYmVsXCI+XHJcbiAgICAgICAgICA8c3BhbiBbaW5zdGFuY2VdPVwiaW5zdGFuY2VcIiBtYXRGb3JtaW9MYWJlbD48L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgZnhGbGV4T2Zmc2V0PVwiMTBweFwiXHJcbiAgICAgICAgICAgICAgICBmeExheW91dD1cInt7IGdldExheW91dCgpIH19XCJcclxuICAgICAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMTBweFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGluc3RhbmNlLmNvbXBvbmVudC52YWx1ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlW29wdGlvbi52YWx1ZV1cIlxyXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cclxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImluc3RhbmNlLmVycm9yXCI+e3sgaW5zdGFuY2UuZXJyb3IubWVzc2FnZSB9fTwvbWF0LWVycm9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxTZWxlY3RCb3hlc0NvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsUmFkaW9Db21wb25lbnQge1xyXG4gIHB1YmxpYyB2YWx1ZTogYW55ID0ge307XHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIHNldEluc3RhbmNlKGluc3RhbmNlKSB7XHJcbiAgICBpbnN0YW5jZS5jb21wb25lbnQudmFsdWVzLmZvckVhY2goKG9wdGlvbikgPT4ge1xyXG4gICAgICB0aGlzLnZhbHVlW29wdGlvbi52YWx1ZV0gPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgc3VwZXIuc2V0SW5zdGFuY2UoaW5zdGFuY2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB0aGlzLmluc3RhbmNlLm5vcm1hbGl6ZVZhbHVlKHZhbHVlKTtcclxuICAgIGZvciAoY29uc3QgcHJvcCBpbiBub3JtYWxpemVkVmFsdWUpIHtcclxuICAgICAgaWYgKG5vcm1hbGl6ZWRWYWx1ZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xyXG4gICAgICAgIHRoaXMudmFsdWVbcHJvcF0gPSBub3JtYWxpemVkVmFsdWVbcHJvcF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkKGRpc2FibGVkKSB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gISFkaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5pbnN0YW5jZS51cGRhdGVWYWx1ZSh0aGlzLmdldFZhbHVlKCksIHttb2RpZmllZDogdHJ1ZX0pO1xyXG4gICAgdGhpcy5pbnN0YW5jZS50cmlnZ2VyQ2hhbmdlKHttb2RpZmllZDogdHJ1ZX0pO1xyXG4gIH1cclxufVxyXG5TZWxlY3RCb3hlc0NvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsU2VsZWN0Qm94ZXNDb21wb25lbnQ7XHJcbmV4cG9ydCB7IFNlbGVjdEJveGVzQ29tcG9uZW50IH07XHJcbiJdfQ==
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { MaterialComponent } from '../MaterialComponent';
|
|
3
|
+
import SignatureComponent from 'formiojs/components/signature/Signature.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/form-field";
|
|
7
|
+
import * as i3 from "@angular/material/button";
|
|
8
|
+
import * as i4 from "@angular/material/icon";
|
|
9
|
+
import * as i5 from "@angular/flex-layout/flex";
|
|
10
|
+
import * as i6 from "@angular/flex-layout/extended";
|
|
11
|
+
import * as i7 from "../formio-form-field/formio-form-field.component";
|
|
12
|
+
import * as i8 from "../label/label.component";
|
|
13
|
+
export class MaterialSignatureComponent extends MaterialComponent {
|
|
14
|
+
renderComponents() {
|
|
15
|
+
if (this.signatureElement) {
|
|
16
|
+
this.instance.attach(this.signatureElement.nativeElement);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
ngAfterViewInit() {
|
|
20
|
+
this.renderComponents();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
MaterialSignatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialSignatureComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
MaterialSignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialSignatureComponent, selector: "mat-formio-signature", viewQueries: [{ propertyName: "signatureElement", first: true, predicate: ["signature"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
25
|
+
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
26
|
+
<ng-template #componentTemplate let-hasLabel>
|
|
27
|
+
<div #signature>
|
|
28
|
+
|
|
29
|
+
<mat-label *ngIf="hasLabel">
|
|
30
|
+
<span [instance]="instance" matFormioLabel></span>
|
|
31
|
+
</mat-label>
|
|
32
|
+
|
|
33
|
+
<button mat-icon-button [ngStyle]="{position: 'absolute'}" ref="refresh">
|
|
34
|
+
<mat-icon>refresh</mat-icon>
|
|
35
|
+
</button>
|
|
36
|
+
|
|
37
|
+
<div class="signature-pad-body"
|
|
38
|
+
[ngStyle]="{width: instance.component.width, height: instance.component.height, padding: 0, margin: 0}"
|
|
39
|
+
[attr.tabindex]="instance.component.tabindex || 0"
|
|
40
|
+
ref="padBody"
|
|
41
|
+
>
|
|
42
|
+
<canvas class="signature-pad-canvas"
|
|
43
|
+
[attr.height]="instance.component.height"
|
|
44
|
+
ref="canvas"
|
|
45
|
+
></canvas>
|
|
46
|
+
<img fxFlexFill [ngStyle]="{display: 'none' }" ref="signatureImage">
|
|
47
|
+
</div>
|
|
48
|
+
<div *ngIf="instance.component.footer"
|
|
49
|
+
class="signature-pad-footer"
|
|
50
|
+
fxLayout="row"
|
|
51
|
+
fxLayoutAlign="center center"
|
|
52
|
+
>
|
|
53
|
+
<mat-hint>{{ instance.t(instance.component.footer) }}</mat-hint>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</ng-template>
|
|
57
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i6.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i7.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i8.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialSignatureComponent, decorators: [{
|
|
59
|
+
type: Component,
|
|
60
|
+
args: [{
|
|
61
|
+
selector: 'mat-formio-signature',
|
|
62
|
+
template: `
|
|
63
|
+
<mat-formio-form-field [instance]="instance" [componentTemplate]="componentTemplate"></mat-formio-form-field>
|
|
64
|
+
<ng-template #componentTemplate let-hasLabel>
|
|
65
|
+
<div #signature>
|
|
66
|
+
|
|
67
|
+
<mat-label *ngIf="hasLabel">
|
|
68
|
+
<span [instance]="instance" matFormioLabel></span>
|
|
69
|
+
</mat-label>
|
|
70
|
+
|
|
71
|
+
<button mat-icon-button [ngStyle]="{position: 'absolute'}" ref="refresh">
|
|
72
|
+
<mat-icon>refresh</mat-icon>
|
|
73
|
+
</button>
|
|
74
|
+
|
|
75
|
+
<div class="signature-pad-body"
|
|
76
|
+
[ngStyle]="{width: instance.component.width, height: instance.component.height, padding: 0, margin: 0}"
|
|
77
|
+
[attr.tabindex]="instance.component.tabindex || 0"
|
|
78
|
+
ref="padBody"
|
|
79
|
+
>
|
|
80
|
+
<canvas class="signature-pad-canvas"
|
|
81
|
+
[attr.height]="instance.component.height"
|
|
82
|
+
ref="canvas"
|
|
83
|
+
></canvas>
|
|
84
|
+
<img fxFlexFill [ngStyle]="{display: 'none' }" ref="signatureImage">
|
|
85
|
+
</div>
|
|
86
|
+
<div *ngIf="instance.component.footer"
|
|
87
|
+
class="signature-pad-footer"
|
|
88
|
+
fxLayout="row"
|
|
89
|
+
fxLayoutAlign="center center"
|
|
90
|
+
>
|
|
91
|
+
<mat-hint>{{ instance.t(instance.component.footer) }}</mat-hint>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</ng-template>
|
|
95
|
+
`
|
|
96
|
+
}]
|
|
97
|
+
}], propDecorators: { signatureElement: [{
|
|
98
|
+
type: ViewChild,
|
|
99
|
+
args: ['signature']
|
|
100
|
+
}] } });
|
|
101
|
+
SignatureComponent.MaterialComponent = MaterialSignatureComponent;
|
|
102
|
+
export { SignatureComponent };
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLGtCQUFrQixNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7O0FBc0M1RSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsaUJBQWlCO0lBRy9ELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7dUhBWFUsMEJBQTBCOzJHQUExQiwwQkFBMEIsa01BbkMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNUOzJGQUVVLDBCQUEwQjtrQkFyQ3RDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ1Q7aUJBQ0Y7OEJBRXlCLGdCQUFnQjtzQkFBdkMsU0FBUzt1QkFBQyxXQUFXOztBQVl4QixrQkFBa0IsQ0FBQyxpQkFBaUIsR0FBRywwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdGVyaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vTWF0ZXJpYWxDb21wb25lbnQnO1xyXG5pbXBvcnQgU2lnbmF0dXJlQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvc2lnbmF0dXJlL1NpZ25hdHVyZS5qcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1zaWduYXR1cmUnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWZvcm1pby1mb3JtLWZpZWxkIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiIFtjb21wb25lbnRUZW1wbGF0ZV09XCJjb21wb25lbnRUZW1wbGF0ZVwiPjwvbWF0LWZvcm1pby1mb3JtLWZpZWxkPlxyXG4gICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRUZW1wbGF0ZSBsZXQtaGFzTGFiZWw+XHJcbiAgICAgIDxkaXYgI3NpZ25hdHVyZT5cclxuXHJcbiAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cImhhc0xhYmVsXCI+XHJcbiAgICAgICAgICA8c3BhbiBbaW5zdGFuY2VdPVwiaW5zdGFuY2VcIiBtYXRGb3JtaW9MYWJlbD48L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGFiZWw+XHJcblxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFtuZ1N0eWxlXT1cIntwb3NpdGlvbjogJ2Fic29sdXRlJ31cIiByZWY9XCJyZWZyZXNoXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+cmVmcmVzaDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWduYXR1cmUtcGFkLWJvZHlcIlxyXG4gICAgICAgICAgICAgW25nU3R5bGVdPVwie3dpZHRoOiBpbnN0YW5jZS5jb21wb25lbnQud2lkdGgsIGhlaWdodDogaW5zdGFuY2UuY29tcG9uZW50LmhlaWdodCwgcGFkZGluZzogMCwgbWFyZ2luOiAwfVwiXHJcbiAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpbnN0YW5jZS5jb21wb25lbnQudGFiaW5kZXggfHwgMFwiXHJcbiAgICAgICAgICAgICByZWY9XCJwYWRCb2R5XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Y2FudmFzIGNsYXNzPVwic2lnbmF0dXJlLXBhZC1jYW52YXNcIlxyXG4gICAgICAgICAgICAgICAgICBbYXR0ci5oZWlnaHRdPVwiaW5zdGFuY2UuY29tcG9uZW50LmhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgIHJlZj1cImNhbnZhc1wiXHJcbiAgICAgICAgICA+PC9jYW52YXM+XHJcbiAgICAgICAgICA8aW1nIGZ4RmxleEZpbGwgW25nU3R5bGVdPVwie2Rpc3BsYXk6ICdub25lJyB9XCIgcmVmPVwic2lnbmF0dXJlSW1hZ2VcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LmZvb3RlclwiXHJcbiAgICAgICAgICAgICBjbGFzcz1cInNpZ25hdHVyZS1wYWQtZm9vdGVyXCJcclxuICAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWhpbnQ+e3sgaW5zdGFuY2UudChpbnN0YW5jZS5jb21wb25lbnQuZm9vdGVyKSB9fTwvbWF0LWhpbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFNpZ25hdHVyZUNvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnc2lnbmF0dXJlJykgc2lnbmF0dXJlRWxlbWVudDogRWxlbWVudFJlZjtcclxuXHJcbiAgcmVuZGVyQ29tcG9uZW50cygpIHtcclxuICAgIGlmICh0aGlzLnNpZ25hdHVyZUVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5pbnN0YW5jZS5hdHRhY2godGhpcy5zaWduYXR1cmVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5yZW5kZXJDb21wb25lbnRzKCk7XHJcbiAgfVxyXG59XHJcblNpZ25hdHVyZUNvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsU2lnbmF0dXJlQ29tcG9uZW50O1xyXG5leHBvcnQgeyBTaWduYXR1cmVDb21wb25lbnQgfTtcclxuIl19
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MaterialComponent } from '../MaterialComponent';
|
|
3
|
+
import SurveyComponent from 'formiojs/components/survey/Survey.js';
|
|
4
|
+
import { FormControl } from '@angular/forms';
|
|
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/radio";
|
|
10
|
+
import * as i5 from "@angular/flex-layout/flex";
|
|
11
|
+
import * as i6 from "../formio-form-field/formio-form-field.component";
|
|
12
|
+
import * as i7 from "../label/label.component";
|
|
13
|
+
export class MaterialSurveyComponent extends MaterialComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.controls = {};
|
|
17
|
+
}
|
|
18
|
+
getFormControl(question) {
|
|
19
|
+
if (!this.controls[question]) {
|
|
20
|
+
this.controls[question] = new FormControl();
|
|
21
|
+
if (this.instance.shouldDisabled) {
|
|
22
|
+
this.controls[question].disable();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return this.controls[question];
|
|
26
|
+
}
|
|
27
|
+
setDisabled(disabled) {
|
|
28
|
+
const method = disabled ? 'disable' : 'enable';
|
|
29
|
+
for (const question in this.controls) {
|
|
30
|
+
if (this.controls.hasOwnProperty(question)) {
|
|
31
|
+
this.controls[question][method]();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
getValue() {
|
|
36
|
+
const values = {};
|
|
37
|
+
for (const question in this.controls) {
|
|
38
|
+
if (this.controls.hasOwnProperty(question)) {
|
|
39
|
+
values[question] = this.controls[question].value || false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return values;
|
|
43
|
+
}
|
|
44
|
+
setValue(value) {
|
|
45
|
+
for (const question in value) {
|
|
46
|
+
if (value.hasOwnProperty(question)) {
|
|
47
|
+
const control = this.getFormControl(question);
|
|
48
|
+
if (control) {
|
|
49
|
+
control.setValue(value[question] || false);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
getUniqueName(question) {
|
|
55
|
+
return `${this.instance.id}-${question}`;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
MaterialSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialSurveyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
MaterialSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialSurveyComponent, selector: "mat-formio-survey", usesInheritance: true, ngImport: i0, template: `
|
|
60
|
+
|
|
61
|
+
<mat-formio-form-field
|
|
62
|
+
[instance]="instance"
|
|
63
|
+
[componentTemplate]="componentTemplate"
|
|
64
|
+
[showDescription]="false"
|
|
65
|
+
></mat-formio-form-field>
|
|
66
|
+
<ng-template #componentTemplate let-hasLabel>
|
|
67
|
+
|
|
68
|
+
<table class="mat-elevation-z8 mat-table" fxFill>
|
|
69
|
+
<thead>
|
|
70
|
+
<tr class="mat-header-row">
|
|
71
|
+
<th class="mat-header-cell">
|
|
72
|
+
<h2 *ngIf="hasLabel">
|
|
73
|
+
<span [instance]="instance" matFormioLabel></span>
|
|
74
|
+
</h2>
|
|
75
|
+
</th>
|
|
76
|
+
<th class="mat-header-cell"
|
|
77
|
+
*ngFor="let value of instance.component.values"
|
|
78
|
+
style="text-align: center;"
|
|
79
|
+
>
|
|
80
|
+
{{ value.label }}
|
|
81
|
+
</th>
|
|
82
|
+
</tr>
|
|
83
|
+
</thead>
|
|
84
|
+
|
|
85
|
+
<tbody>
|
|
86
|
+
<tr class="mat-row" *ngFor="let question of instance.component.questions; index as i;">
|
|
87
|
+
<td class="mat-cell">{{ question.label }}</td>
|
|
88
|
+
<td class="mat-cell"
|
|
89
|
+
*ngFor="let value of instance.component.values; index as j;"
|
|
90
|
+
style="text-align: center;"
|
|
91
|
+
>
|
|
92
|
+
<mat-radio-group (change)="onChange()"
|
|
93
|
+
[formControl]="getFormControl(question.value)"
|
|
94
|
+
[name]="getUniqueName(question.value)"
|
|
95
|
+
>
|
|
96
|
+
<mat-radio-button [value]="value.value"></mat-radio-button>
|
|
97
|
+
</mat-radio-group>
|
|
98
|
+
</td>
|
|
99
|
+
</tr>
|
|
100
|
+
<mat-hint *ngIf="instance.component.description" class="mat-formio-component-description">
|
|
101
|
+
{{ instance.component.description }}
|
|
102
|
+
</mat-hint>
|
|
103
|
+
</tbody>
|
|
104
|
+
|
|
105
|
+
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
106
|
+
</table>
|
|
107
|
+
</ng-template>
|
|
108
|
+
`, 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { 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"] }] });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialSurveyComponent, decorators: [{
|
|
110
|
+
type: Component,
|
|
111
|
+
args: [{
|
|
112
|
+
selector: 'mat-formio-survey',
|
|
113
|
+
template: `
|
|
114
|
+
|
|
115
|
+
<mat-formio-form-field
|
|
116
|
+
[instance]="instance"
|
|
117
|
+
[componentTemplate]="componentTemplate"
|
|
118
|
+
[showDescription]="false"
|
|
119
|
+
></mat-formio-form-field>
|
|
120
|
+
<ng-template #componentTemplate let-hasLabel>
|
|
121
|
+
|
|
122
|
+
<table class="mat-elevation-z8 mat-table" fxFill>
|
|
123
|
+
<thead>
|
|
124
|
+
<tr class="mat-header-row">
|
|
125
|
+
<th class="mat-header-cell">
|
|
126
|
+
<h2 *ngIf="hasLabel">
|
|
127
|
+
<span [instance]="instance" matFormioLabel></span>
|
|
128
|
+
</h2>
|
|
129
|
+
</th>
|
|
130
|
+
<th class="mat-header-cell"
|
|
131
|
+
*ngFor="let value of instance.component.values"
|
|
132
|
+
style="text-align: center;"
|
|
133
|
+
>
|
|
134
|
+
{{ value.label }}
|
|
135
|
+
</th>
|
|
136
|
+
</tr>
|
|
137
|
+
</thead>
|
|
138
|
+
|
|
139
|
+
<tbody>
|
|
140
|
+
<tr class="mat-row" *ngFor="let question of instance.component.questions; index as i;">
|
|
141
|
+
<td class="mat-cell">{{ question.label }}</td>
|
|
142
|
+
<td class="mat-cell"
|
|
143
|
+
*ngFor="let value of instance.component.values; index as j;"
|
|
144
|
+
style="text-align: center;"
|
|
145
|
+
>
|
|
146
|
+
<mat-radio-group (change)="onChange()"
|
|
147
|
+
[formControl]="getFormControl(question.value)"
|
|
148
|
+
[name]="getUniqueName(question.value)"
|
|
149
|
+
>
|
|
150
|
+
<mat-radio-button [value]="value.value"></mat-radio-button>
|
|
151
|
+
</mat-radio-group>
|
|
152
|
+
</td>
|
|
153
|
+
</tr>
|
|
154
|
+
<mat-hint *ngIf="instance.component.description" class="mat-formio-component-description">
|
|
155
|
+
{{ instance.component.description }}
|
|
156
|
+
</mat-hint>
|
|
157
|
+
</tbody>
|
|
158
|
+
|
|
159
|
+
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
160
|
+
</table>
|
|
161
|
+
</ng-template>
|
|
162
|
+
`
|
|
163
|
+
}]
|
|
164
|
+
}] });
|
|
165
|
+
SurveyComponent.MaterialComponent = MaterialSurveyComponent;
|
|
166
|
+
export { SurveyComponent };
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL3N1cnZleS9zdXJ2ZXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxlQUFlLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUF1RDdDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxpQkFBaUI7SUFyRDlEOztRQXNEUyxhQUFRLEdBQVEsRUFBRSxDQUFDO0tBNEMzQjtJQTNDQyxjQUFjLENBQUMsUUFBUTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7WUFDNUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNuQztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQy9DLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7YUFDbkM7U0FDRjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUMxQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO2FBQzNEO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQUs7UUFDWixLQUFLLE1BQU0sUUFBUSxJQUFJLEtBQUssRUFBRTtZQUM1QixJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzlDLElBQUksT0FBTyxFQUFFO29CQUNYLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDO2lCQUM1QzthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQVE7UUFDcEIsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQzNDLENBQUM7O29IQTVDVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixnRkFuRHRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaURUOzJGQUVRLHVCQUF1QjtrQkFyRG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaURUO2lCQUNKOztBQStDRCxlQUFlLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdGVyaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vTWF0ZXJpYWxDb21wb25lbnQnO1xyXG5pbXBvcnQgU3VydmV5Q29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvc3VydmV5L1N1cnZleS5qcyc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tc3VydmV5JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcblxyXG4gICAgICA8bWF0LWZvcm1pby1mb3JtLWZpZWxkXHJcbiAgICAgICAgICAgICAgW2luc3RhbmNlXT1cImluc3RhbmNlXCJcclxuICAgICAgICAgICAgICBbY29tcG9uZW50VGVtcGxhdGVdPVwiY29tcG9uZW50VGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgIFtzaG93RGVzY3JpcHRpb25dPVwiZmFsc2VcIlxyXG4gICAgICA+PC9tYXQtZm9ybWlvLWZvcm0tZmllbGQ+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50VGVtcGxhdGUgbGV0LWhhc0xhYmVsPlxyXG5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4IG1hdC10YWJsZVwiIGZ4RmlsbD5cclxuICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgIDx0ciBjbGFzcz1cIm1hdC1oZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1hdC1oZWFkZXItY2VsbFwiPlxyXG4gICAgICAgICAgICAgIDxoMiAqbmdJZj1cImhhc0xhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5zdGFuY2VdPVwiaW5zdGFuY2VcIiBtYXRGb3JtaW9MYWJlbD48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRoIGNsYXNzPVwibWF0LWhlYWRlci1jZWxsXCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBpbnN0YW5jZS5jb21wb25lbnQudmFsdWVzXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyB2YWx1ZS5sYWJlbCB9fVxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvdGhlYWQ+XHJcblxyXG4gICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgPHRyIGNsYXNzPVwibWF0LXJvd1wiICpuZ0Zvcj1cImxldCBxdWVzdGlvbiBvZiBpbnN0YW5jZS5jb21wb25lbnQucXVlc3Rpb25zOyBpbmRleCBhcyBpO1wiPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPnt7IHF1ZXN0aW9uLmxhYmVsIH19PC90ZD5cclxuICAgICAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZhbHVlIG9mIGluc3RhbmNlLmNvbXBvbmVudC52YWx1ZXM7IGluZGV4IGFzIGo7XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8bWF0LXJhZGlvLWdyb3VwIChjaGFuZ2UpPVwib25DaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2wocXVlc3Rpb24udmFsdWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImdldFVuaXF1ZU5hbWUocXVlc3Rpb24udmFsdWUpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwidmFsdWUudmFsdWVcIj48L21hdC1yYWRpby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPG1hdC1oaW50ICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJtYXQtZm9ybWlvLWNvbXBvbmVudC1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICB7eyBpbnN0YW5jZS5jb21wb25lbnQuZGVzY3JpcHRpb24gfX1cclxuICAgICAgICAgIDwvbWF0LWhpbnQ+XHJcbiAgICAgICAgICA8L3Rib2R5PlxyXG5cclxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpbnN0YW5jZS5lcnJvclwiPnt7IGluc3RhbmNlLmVycm9yLm1lc3NhZ2UgfX08L21hdC1lcnJvcj5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxTdXJ2ZXlDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbENvbXBvbmVudCB7XHJcbiAgcHVibGljIGNvbnRyb2xzOiBhbnkgPSB7fTtcclxuICBnZXRGb3JtQ29udHJvbChxdWVzdGlvbikge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2xzW3F1ZXN0aW9uXSkge1xyXG4gICAgICB0aGlzLmNvbnRyb2xzW3F1ZXN0aW9uXSA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gICAgICBpZiAodGhpcy5pbnN0YW5jZS5zaG91bGREaXNhYmxlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbHNbcXVlc3Rpb25dLmRpc2FibGUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbHNbcXVlc3Rpb25dO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWQoZGlzYWJsZWQpIHtcclxuICAgIGNvbnN0IG1ldGhvZCA9IGRpc2FibGVkID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSc7XHJcbiAgICBmb3IgKGNvbnN0IHF1ZXN0aW9uIGluIHRoaXMuY29udHJvbHMpIHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbHMuaGFzT3duUHJvcGVydHkocXVlc3Rpb24pKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sc1txdWVzdGlvbl1bbWV0aG9kXSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIGNvbnN0IHZhbHVlcyA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBxdWVzdGlvbiBpbiB0aGlzLmNvbnRyb2xzKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2xzLmhhc093blByb3BlcnR5KHF1ZXN0aW9uKSkge1xyXG4gICAgICAgIHZhbHVlc1txdWVzdGlvbl0gPSB0aGlzLmNvbnRyb2xzW3F1ZXN0aW9uXS52YWx1ZSB8fCBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlcztcclxuICB9XHJcblxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICBmb3IgKGNvbnN0IHF1ZXN0aW9uIGluIHZhbHVlKSB7XHJcbiAgICAgIGlmICh2YWx1ZS5oYXNPd25Qcm9wZXJ0eShxdWVzdGlvbikpIHtcclxuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5nZXRGb3JtQ29udHJvbChxdWVzdGlvbik7XHJcbiAgICAgICAgaWYgKGNvbnRyb2wpIHtcclxuICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWVbcXVlc3Rpb25dIHx8IGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFVuaXF1ZU5hbWUocXVlc3Rpb24pIHtcclxuICAgIHJldHVybiBgJHt0aGlzLmluc3RhbmNlLmlkfS0ke3F1ZXN0aW9ufWA7XHJcbiAgfVxyXG59XHJcblN1cnZleUNvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsU3VydmV5Q29tcG9uZW50O1xyXG5leHBvcnQgeyBTdXJ2ZXlDb21wb25lbnQgfTtcclxuIl19
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MaterialNestedComponent } from '../MaterialNestedComponent';
|
|
3
|
+
import TableComponent from 'formiojs/components/table/Table.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/flex-layout/extended";
|
|
7
|
+
export class MaterialTableComponent extends MaterialNestedComponent {
|
|
8
|
+
setInstance(instance) {
|
|
9
|
+
super.setInstance(instance);
|
|
10
|
+
instance.viewContainer = (component) => {
|
|
11
|
+
return this.viewContainers ?
|
|
12
|
+
this.viewContainers[(component.tableRow * this.instance.component.numCols) + component.tableColumn] :
|
|
13
|
+
null;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
getTableColClasses() {
|
|
17
|
+
if (!this.instance) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const { condensed, cellAlignment } = this.instance.component;
|
|
21
|
+
return {
|
|
22
|
+
'is-condensed': condensed,
|
|
23
|
+
...(cellAlignment && { [cellAlignment]: true })
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
MaterialTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
MaterialTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialTableComponent, selector: "mat-formio-table", usesInheritance: true, ngImport: i0, template: `
|
|
29
|
+
<table class="mat-table" style="width: 100%;" [ngClass]="{'is-bordered' : instance.component.bordered}">
|
|
30
|
+
<thead>
|
|
31
|
+
<tr class="mat-header-row">
|
|
32
|
+
<th *ngFor="let header of instance.component.header"
|
|
33
|
+
class="mat-header-cell"
|
|
34
|
+
>
|
|
35
|
+
{{ instance.t(header) }}
|
|
36
|
+
</th>
|
|
37
|
+
</tr>
|
|
38
|
+
</thead>
|
|
39
|
+
|
|
40
|
+
<tbody>
|
|
41
|
+
<tr *ngFor="let row of instance.table; let i = index"
|
|
42
|
+
role="row"
|
|
43
|
+
class="mat-row"
|
|
44
|
+
[ngClass]="{
|
|
45
|
+
'is-hover': instance.component.hover,
|
|
46
|
+
'is-striped': instance.component.striped && i % 2 === 0
|
|
47
|
+
}"
|
|
48
|
+
>
|
|
49
|
+
<td *ngFor="let col of row"
|
|
50
|
+
role="gridcell"
|
|
51
|
+
class="mat-cell"
|
|
52
|
+
[ngClass]="getTableColClasses()"
|
|
53
|
+
>
|
|
54
|
+
<ng-template #components></ng-template>
|
|
55
|
+
</td>
|
|
56
|
+
</tr>
|
|
57
|
+
</tbody>
|
|
58
|
+
</table>
|
|
59
|
+
`, isInline: true, styles: [".mat-table.is-bordered{border:1px solid #ddd}.mat-row.is-hover:hover{background-color:#f5f5f5}.mat-cell{padding:8px}.mat-cell.is-condensed{padding:3px}.mat-row.is-striped{background-color:#eee}.mat-cell.center{text-align:center}.mat-cell.right{text-align:right}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialTableComponent, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{ selector: 'mat-formio-table', template: `
|
|
63
|
+
<table class="mat-table" style="width: 100%;" [ngClass]="{'is-bordered' : instance.component.bordered}">
|
|
64
|
+
<thead>
|
|
65
|
+
<tr class="mat-header-row">
|
|
66
|
+
<th *ngFor="let header of instance.component.header"
|
|
67
|
+
class="mat-header-cell"
|
|
68
|
+
>
|
|
69
|
+
{{ instance.t(header) }}
|
|
70
|
+
</th>
|
|
71
|
+
</tr>
|
|
72
|
+
</thead>
|
|
73
|
+
|
|
74
|
+
<tbody>
|
|
75
|
+
<tr *ngFor="let row of instance.table; let i = index"
|
|
76
|
+
role="row"
|
|
77
|
+
class="mat-row"
|
|
78
|
+
[ngClass]="{
|
|
79
|
+
'is-hover': instance.component.hover,
|
|
80
|
+
'is-striped': instance.component.striped && i % 2 === 0
|
|
81
|
+
}"
|
|
82
|
+
>
|
|
83
|
+
<td *ngFor="let col of row"
|
|
84
|
+
role="gridcell"
|
|
85
|
+
class="mat-cell"
|
|
86
|
+
[ngClass]="getTableColClasses()"
|
|
87
|
+
>
|
|
88
|
+
<ng-template #components></ng-template>
|
|
89
|
+
</td>
|
|
90
|
+
</tr>
|
|
91
|
+
</tbody>
|
|
92
|
+
</table>
|
|
93
|
+
`, styles: [".mat-table.is-bordered{border:1px solid #ddd}.mat-row.is-hover:hover{background-color:#f5f5f5}.mat-cell{padding:8px}.mat-cell.is-condensed{padding:3px}.mat-row.is-striped{background-color:#eee}.mat-cell.center{text-align:center}.mat-cell.right{text-align:right}\n"] }]
|
|
94
|
+
}] });
|
|
95
|
+
TableComponent.MaterialComponent = MaterialTableComponent;
|
|
96
|
+
export { TableComponent };
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxjQUFjLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFzQ2hFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7SUFFakUsV0FBVyxDQUFDLFFBQWE7UUFDdkIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixRQUFRLENBQUMsYUFBYSxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNyRyxJQUFJLENBQUM7UUFDVCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU87U0FDUjtRQUNELE1BQU0sRUFBQyxTQUFTLEVBQUUsYUFBYSxFQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDM0QsT0FBTztZQUNMLGNBQWMsRUFBRSxTQUFTO1lBQ3pCLEdBQUcsQ0FBQyxhQUFhLElBQUksRUFBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksRUFBQyxDQUFDO1NBQzlDLENBQUE7SUFDSCxDQUFDOzttSEFwQlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsK0VBakN2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVDsyRkFFVSxzQkFBc0I7a0JBcENsQyxTQUFTOytCQUNFLGtCQUFrQixZQUVsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVDs7QUF3QkgsY0FBYyxDQUFDLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE5lc3RlZENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsTmVzdGVkQ29tcG9uZW50JztcclxuaW1wb3J0IFRhYmxlQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvdGFibGUvVGFibGUuanMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtYXQtZm9ybWlvLXRhYmxlJyxcclxuICBzdHlsZVVybHM6IFsgJy4vdGFibGUuY29tcG9uZW50LmNzcycgXSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8dGFibGUgY2xhc3M9XCJtYXQtdGFibGVcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtuZ0NsYXNzXT1cInsnaXMtYm9yZGVyZWQnIDogaW5zdGFuY2UuY29tcG9uZW50LmJvcmRlcmVkfVwiPlxyXG4gICAgICAgIDx0aGVhZD5cclxuICAgICAgICA8dHIgY2xhc3M9XCJtYXQtaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgaW5zdGFuY2UuY29tcG9uZW50LmhlYWRlclwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtaGVhZGVyLWNlbGxcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBpbnN0YW5jZS50KGhlYWRlcikgfX1cclxuICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgICA8L3RoZWFkPlxyXG5cclxuICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgaW5zdGFuY2UudGFibGU7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICByb2xlPVwicm93XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtcm93XCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgJ2lzLWhvdmVyJzogaW5zdGFuY2UuY29tcG9uZW50LmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJ2lzLXN0cmlwZWQnOiBpbnN0YW5jZS5jb21wb25lbnQuc3RyaXBlZCAmJiBpICUgMiA9PT0gMFxyXG4gICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sIG9mIHJvd1wiXHJcbiAgICAgICAgICAgICAgcm9sZT1cImdyaWRjZWxsXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1jZWxsXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJnZXRUYWJsZUNvbENsYXNzZXMoKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50cz48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGJvZHk+XHJcbiAgICAgIDwvdGFibGU+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxUYWJsZUNvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsTmVzdGVkQ29tcG9uZW50IHtcclxuXHJcbiAgc2V0SW5zdGFuY2UoaW5zdGFuY2U6IGFueSkge1xyXG4gICAgc3VwZXIuc2V0SW5zdGFuY2UoaW5zdGFuY2UpO1xyXG4gICAgaW5zdGFuY2Uudmlld0NvbnRhaW5lciA9IChjb21wb25lbnQpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRhaW5lcnMgP1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lcnNbKGNvbXBvbmVudC50YWJsZVJvdyAqIHRoaXMuaW5zdGFuY2UuY29tcG9uZW50Lm51bUNvbHMpICsgY29tcG9uZW50LnRhYmxlQ29sdW1uXSA6XHJcbiAgICAgICAgbnVsbDtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXRUYWJsZUNvbENsYXNzZXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuaW5zdGFuY2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qge2NvbmRlbnNlZCwgY2VsbEFsaWdubWVudH0gPSB0aGlzLmluc3RhbmNlLmNvbXBvbmVudDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICdpcy1jb25kZW5zZWQnOiBjb25kZW5zZWQsXHJcbiAgICAgIC4uLihjZWxsQWxpZ25tZW50ICYmIHtbY2VsbEFsaWdubWVudF06IHRydWV9KVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5UYWJsZUNvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsVGFibGVDb21wb25lbnQ7XHJcbmV4cG9ydCB7IFRhYmxlQ29tcG9uZW50IH07XHJcbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MaterialNestedComponent } from '../MaterialNestedComponent';
|
|
3
|
+
import TabsComponent from 'formiojs/components/tabs/Tabs.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/tabs";
|
|
7
|
+
import * as i3 from "@angular/flex-layout/flex";
|
|
8
|
+
export class MaterialTabsComponent extends MaterialNestedComponent {
|
|
9
|
+
setInstance(instance) {
|
|
10
|
+
super.setInstance(instance);
|
|
11
|
+
instance.viewContainer = (component) => {
|
|
12
|
+
return this.viewContainers ? this.viewContainers[component.tab] : null;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
MaterialTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
MaterialTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MaterialTabsComponent, selector: "mat-formio-tabs", usesInheritance: true, ngImport: i0, template: `
|
|
18
|
+
<mat-tab-group>
|
|
19
|
+
<mat-tab *ngFor="let tab of instance.component.components" [label]="tab.label">
|
|
20
|
+
<div fxLayout="column" fxLayoutGap="1em" style="border: 1px dotted rgba(0, 0, 0, 0.125)">
|
|
21
|
+
<ng-template #components></ng-template>
|
|
22
|
+
</div>
|
|
23
|
+
</mat-tab>
|
|
24
|
+
</mat-tab-group>
|
|
25
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }] });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MaterialTabsComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: 'mat-formio-tabs',
|
|
30
|
+
template: `
|
|
31
|
+
<mat-tab-group>
|
|
32
|
+
<mat-tab *ngFor="let tab of instance.component.components" [label]="tab.label">
|
|
33
|
+
<div fxLayout="column" fxLayoutGap="1em" style="border: 1px dotted rgba(0, 0, 0, 0.125)">
|
|
34
|
+
<ng-template #components></ng-template>
|
|
35
|
+
</div>
|
|
36
|
+
</mat-tab>
|
|
37
|
+
</mat-tab-group>
|
|
38
|
+
`
|
|
39
|
+
}]
|
|
40
|
+
}] });
|
|
41
|
+
TabsComponent.MaterialComponent = MaterialTabsComponent;
|
|
42
|
+
export { TabsComponent };
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxhQUFhLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBYzdELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7SUFDaEUsV0FBVyxDQUFDLFFBQWE7UUFDdkIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixRQUFRLENBQUMsYUFBYSxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3pFLENBQUMsQ0FBQztJQUNKLENBQUM7O2tIQU5VLHFCQUFxQjtzR0FBckIscUJBQXFCLDhFQVZ0Qjs7Ozs7Ozs7R0FRVDsyRkFFVSxxQkFBcUI7a0JBWmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7OztHQVFUO2lCQUNGOztBQVNELGFBQWEsQ0FBQyxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxOZXN0ZWRDb21wb25lbnQgfSBmcm9tICcuLi9NYXRlcmlhbE5lc3RlZENvbXBvbmVudCc7XHJcbmltcG9ydCBUYWJzQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvdGFicy9UYWJzLmpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby10YWJzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1hdC10YWItZ3JvdXA+XHJcbiAgICAgIDxtYXQtdGFiICpuZ0Zvcj1cImxldCB0YWIgb2YgaW5zdGFuY2UuY29tcG9uZW50LmNvbXBvbmVudHNcIiBbbGFiZWxdPVwidGFiLmxhYmVsXCI+XHJcbiAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMWVtXCIgc3R5bGU9XCJib3JkZXI6IDFweCBkb3R0ZWQgcmdiYSgwLCAwLCAwLCAwLjEyNSlcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50cz48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC10YWI+XHJcbiAgICA8L21hdC10YWItZ3JvdXA+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxUYWJzQ29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxOZXN0ZWRDb21wb25lbnQge1xyXG4gIHNldEluc3RhbmNlKGluc3RhbmNlOiBhbnkpIHtcclxuICAgIHN1cGVyLnNldEluc3RhbmNlKGluc3RhbmNlKTtcclxuICAgIGluc3RhbmNlLnZpZXdDb250YWluZXIgPSAoY29tcG9uZW50KSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnZpZXdDb250YWluZXJzID8gdGhpcy52aWV3Q29udGFpbmVyc1tjb21wb25lbnQudGFiXSA6IG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG5UYWJzQ29tcG9uZW50Lk1hdGVyaWFsQ29tcG9uZW50ID0gTWF0ZXJpYWxUYWJzQ29tcG9uZW50O1xyXG5leHBvcnQgeyBUYWJzQ29tcG9uZW50IH07XHJcbiJdfQ==
|