ngx-render-material-forms 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- 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 +19 -0
- package/esm2020/lib/components/button/button.component.mjs +91 -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/container/container.component.mjs +25 -0
- package/esm2020/lib/components/content/content.component.mjs +18 -0
- package/esm2020/lib/components/currency/currency.component.mjs +35 -0
- package/esm2020/lib/components/datagrid/datagrid.component.mjs +244 -0
- package/esm2020/lib/components/date/date.component.mjs +325 -0
- package/esm2020/lib/components/day/day.component.mjs +154 -0
- package/esm2020/lib/components/editgrid/editgrid.component.mjs +243 -0
- package/esm2020/lib/components/email/email.component.mjs +29 -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/esm2020/lib/components/hidden/hidden.component.mjs +20 -0
- package/esm2020/lib/components/html/html.component.mjs +29 -0
- package/esm2020/lib/components/index.mjs +125 -0
- package/esm2020/lib/components/label/label.component.mjs +17 -0
- package/esm2020/lib/components/number/number.component.mjs +66 -0
- package/esm2020/lib/components/panel/panel.component.mjs +57 -0
- package/esm2020/lib/components/password/password.component.mjs +29 -0
- package/esm2020/lib/components/phonenumber/phonenumber.component.mjs +29 -0
- package/esm2020/lib/components/radio/radio.component.mjs +96 -0
- package/esm2020/lib/components/select/select.component.mjs +186 -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 +82 -0
- package/esm2020/lib/components/textfield/textfield.component.mjs +108 -0
- package/esm2020/lib/components/time/time.component.mjs +206 -0
- package/esm2020/lib/components/url/url.component.mjs +29 -0
- package/esm2020/lib/components/well/well.component.mjs +43 -0
- package/esm2020/lib/const/ButtonsThemes.mjs +17 -0
- package/esm2020/lib/const/LabelPositions.mjs +10 -0
- package/esm2020/lib/directives/mask.directive.mjs +65 -0
- package/esm2020/lib/formio.component.mjs +80 -0
- package/esm2020/lib/ngx-render-material-forms.component.mjs +22 -0
- package/esm2020/lib/ngx-render-material-forms.module.mjs +344 -0
- package/esm2020/lib/ngx-render-material-forms.service.mjs +14 -0
- package/esm2020/lib/renderer.mjs +13 -0
- package/esm2020/ngx-render-material-forms.mjs +5 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/ngx-render-material-forms - Copy.mjs +3787 -0
- package/fesm2015/ngx-render-material-forms.js +3787 -0
- package/fesm2015/ngx-render-material-forms.mjs.map +1 -0
- package/fesm2020/ngx-render-material-forms.mjs +3788 -0
- package/fesm2020/ngx-render-material-forms.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/FormioControl.d.ts +7 -0
- package/lib/components/Base.d.ts +2 -0
- package/lib/components/MaterialComponent.d.ts +30 -0
- package/lib/components/MaterialNestedComponent.d.ts +13 -0
- package/lib/components/Webform.d.ts +1 -0
- package/lib/components/button/button.component.d.ts +23 -0
- package/lib/components/calendar/calendar.component.d.ts +34 -0
- package/lib/components/checkbox/checkbox.component.d.ts +9 -0
- package/lib/components/columns/columns.component.d.ts +12 -0
- package/lib/components/container/container.component.d.ts +8 -0
- package/lib/components/content/content.component.d.ts +8 -0
- package/lib/components/currency/currency.component.d.ts +10 -0
- package/lib/components/datagrid/datagrid.component.d.ts +22 -0
- package/lib/components/date/date.component.d.ts +40 -0
- package/lib/components/day/day.component.d.ts +16 -0
- package/lib/components/editgrid/editgrid.component.d.ts +50 -0
- package/lib/components/email/email.component.d.ts +9 -0
- package/lib/components/fieldset/fieldset.component.d.ts +8 -0
- package/lib/components/formio-form-field/formio-form-field.component.d.ts +18 -0
- package/lib/components/formio.wizard.d.ts +19 -0
- package/lib/components/hidden/hidden.component.d.ts +8 -0
- package/lib/components/html/html.component.d.ts +11 -0
- package/lib/components/index.d.ts +2 -0
- package/lib/components/label/label.component.d.ts +6 -0
- package/lib/components/number/number.component.d.ts +18 -0
- package/lib/components/panel/panel.component.d.ts +8 -0
- package/lib/components/password/password.component.d.ts +9 -0
- package/lib/components/phonenumber/phonenumber.component.d.ts +9 -0
- package/lib/components/radio/radio.component.d.ts +12 -0
- package/lib/components/select/select.component.d.ts +25 -0
- package/lib/components/selectboxes/selectboxes.component.d.ts +15 -0
- package/lib/components/signature/signature.component.d.ts +12 -0
- package/lib/components/survey/survey.component.d.ts +14 -0
- package/lib/components/table/table.component.d.ts +12 -0
- package/lib/components/tabs/tabs.component.d.ts +9 -0
- package/lib/components/tags/tags.component.d.ts +15 -0
- package/lib/components/textarea/textarea.component.d.ts +12 -0
- package/lib/components/textfield/textfield.component.d.ts +17 -0
- package/lib/components/time/time.component.d.ts +27 -0
- package/lib/components/url/url.component.d.ts +9 -0
- package/lib/components/well/well.component.d.ts +8 -0
- package/lib/const/ButtonsThemes.d.ts +14 -0
- package/lib/const/LabelPositions.d.ts +8 -0
- package/lib/directives/mask.directive.d.ts +17 -0
- package/lib/formio.component.d.ts +15 -0
- package/lib/ngx-render-material-forms.component.d.ts +8 -0
- package/lib/ngx-render-material-forms.module.d.ts +106 -0
- package/lib/ngx-render-material-forms.service.d.ts +6 -0
- package/lib/renderer.d.ts +8 -0
- package/package.json +38 -0
- package/public-api.d.ts +3 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MaterialComponent } from '../MaterialComponent';
|
|
3
|
+
// import CheckboxComponent from 'formiojs/components/checkbox/Checkbox.js';
|
|
4
|
+
import CheckboxComponent from 'formiojs/components/checkbox/Checkbox.js';
|
|
5
|
+
import _ from 'lodash';
|
|
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 "@angular/material/checkbox";
|
|
11
|
+
import * as i5 from "@angular/material/tooltip";
|
|
12
|
+
import * as i6 from "@angular/material/icon";
|
|
13
|
+
import * as i7 from "@angular/flex-layout/extended";
|
|
14
|
+
import * as i8 from "../label/label.component";
|
|
15
|
+
export class MaterialCheckboxComponent extends MaterialComponent {
|
|
16
|
+
getValue() {
|
|
17
|
+
return _.isNil(this.control.value) ? '' : this.control.value;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
MaterialCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
MaterialCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialCheckboxComponent, selector: "mat-formio-checkbox", usesInheritance: true, ngImport: i0, template: `
|
|
22
|
+
<mat-checkbox (change)="onChange()" [ngClass]="{'validation-error' : !!instance.error}"
|
|
23
|
+
[formControl]="control"
|
|
24
|
+
>
|
|
25
|
+
<span matFormioLabel [instance]="instance"></span>
|
|
26
|
+
<mat-icon *ngIf="instance.component.tooltip" matSuffix
|
|
27
|
+
matTooltip="{{ instance.component.tooltip }}" style="font-size: 1rem;">info
|
|
28
|
+
</mat-icon>
|
|
29
|
+
</mat-checkbox>
|
|
30
|
+
<mat-hint>
|
|
31
|
+
{{ instance.component.description }}
|
|
32
|
+
</mat-hint>
|
|
33
|
+
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
34
|
+
`, isInline: true, styles: ["::ng-deep .mat-checkbox.validation-error .mat-checkbox-frame{border-color:red}\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.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: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.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"] }, { kind: "component", type: i8.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialCheckboxComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'mat-formio-checkbox', template: `
|
|
38
|
+
<mat-checkbox (change)="onChange()" [ngClass]="{'validation-error' : !!instance.error}"
|
|
39
|
+
[formControl]="control"
|
|
40
|
+
>
|
|
41
|
+
<span matFormioLabel [instance]="instance"></span>
|
|
42
|
+
<mat-icon *ngIf="instance.component.tooltip" matSuffix
|
|
43
|
+
matTooltip="{{ instance.component.tooltip }}" style="font-size: 1rem;">info
|
|
44
|
+
</mat-icon>
|
|
45
|
+
</mat-checkbox>
|
|
46
|
+
<mat-hint>
|
|
47
|
+
{{ instance.component.description }}
|
|
48
|
+
</mat-hint>
|
|
49
|
+
<mat-error *ngIf="instance.error">{{ instance.error.message }}</mat-error>
|
|
50
|
+
`, styles: ["::ng-deep .mat-checkbox.validation-error .mat-checkbox-frame{border-color:red}\n"] }]
|
|
51
|
+
}] });
|
|
52
|
+
CheckboxComponent.MaterialComponent = MaterialCheckboxComponent;
|
|
53
|
+
export { CheckboxComponent };
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsNEVBQTRFO0FBQzVFLE9BQU8saUJBQWlCLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7O0FBb0J2QixNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCO0lBQzlELFFBQVE7UUFDTixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUMvRCxDQUFDOztzSEFIVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixrRkFoQjFCOzs7Ozs7Ozs7Ozs7O0dBYVQ7MkZBR1UseUJBQXlCO2tCQWxCckMsU0FBUzsrQkFDRSxxQkFBcUIsWUFDckI7Ozs7Ozs7Ozs7Ozs7R0FhVDs7QUFRSCxpQkFBaUIsQ0FBQyxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxDb21wb25lbnQgfSBmcm9tICcuLi9NYXRlcmlhbENvbXBvbmVudCc7XG4vLyBpbXBvcnQgQ2hlY2tib3hDb21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9jaGVja2JveC9DaGVja2JveC5qcyc7XG5pbXBvcnQgQ2hlY2tib3hDb21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9jaGVja2JveC9DaGVja2JveC5qcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtZm9ybWlvLWNoZWNrYm94JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwib25DaGFuZ2UoKVwiIFtuZ0NsYXNzXT1cInsndmFsaWRhdGlvbi1lcnJvcicgOiAhIWluc3RhbmNlLmVycm9yfVwiXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgPlxuICAgICAgPHNwYW4gbWF0Rm9ybWlvTGFiZWwgW2luc3RhbmNlXT1cImluc3RhbmNlXCI+PC9zcGFuPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LnRvb2x0aXBcIiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgaW5zdGFuY2UuY29tcG9uZW50LnRvb2x0aXAgfX1cIiBzdHlsZT1cImZvbnQtc2l6ZTogMXJlbTtcIj5pbmZvXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDxtYXQtaGludD5cbiAgICAgIHt7IGluc3RhbmNlLmNvbXBvbmVudC5kZXNjcmlwdGlvbiAgfX1cbiAgICA8L21hdC1oaW50PlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpbnN0YW5jZS5lcnJvclwiPnt7IGluc3RhbmNlLmVycm9yLm1lc3NhZ2UgfX08L21hdC1lcnJvcj5cbiAgYCxcbiAgc3R5bGVzOlsnOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gudmFsaWRhdGlvbi1lcnJvciAubWF0LWNoZWNrYm94LWZyYW1lIHtib3JkZXItY29sb3I6IHJlZDsgfSddXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbENvbXBvbmVudCB7XG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiBfLmlzTmlsKHRoaXMuY29udHJvbC52YWx1ZSkgPyAnJyA6IHRoaXMuY29udHJvbC52YWx1ZTtcbiAgfVxufVxuQ2hlY2tib3hDb21wb25lbnQuTWF0ZXJpYWxDb21wb25lbnQgPSBNYXRlcmlhbENoZWNrYm94Q29tcG9uZW50O1xuZXhwb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfTtcbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MaterialNestedComponent } from '../MaterialNestedComponent';
|
|
3
|
+
import ColumnsComponent from 'formiojs/components/columns/Columns.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/flex-layout/flex";
|
|
7
|
+
export class MaterialColumnsComponent extends MaterialNestedComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.flexGap = 0.5;
|
|
11
|
+
this.totalSpace = 0;
|
|
12
|
+
}
|
|
13
|
+
setInstance(instance) {
|
|
14
|
+
this.totalSpace = 100 - ((instance.component.columns.length - 1) * this.flexGap);
|
|
15
|
+
super.setInstance(instance);
|
|
16
|
+
instance.viewContainer = (component) => {
|
|
17
|
+
return this.viewContainers ? this.viewContainers[component.column] : null;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
flexWidth(column, index) {
|
|
21
|
+
if (index >= (this.instance.component.columns.length - 1)) {
|
|
22
|
+
return Math.ceil(((parseFloat(column.width) / 12) * this.totalSpace)) + '%';
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return Math.floor(((parseFloat(column.width) / 12) * this.totalSpace)) + '%';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
MaterialColumnsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialColumnsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
MaterialColumnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialColumnsComponent, selector: "mat-formio-columns", usesInheritance: true, ngImport: i0, template: `
|
|
31
|
+
<div class="container"
|
|
32
|
+
fxLayout="row"
|
|
33
|
+
fxLayout.xs="column"
|
|
34
|
+
fxLayoutWrap
|
|
35
|
+
fxLayoutGap="{{ flexGap }}%"
|
|
36
|
+
fxLayoutAlign="center"
|
|
37
|
+
>
|
|
38
|
+
<div
|
|
39
|
+
*ngFor="let column of instance.component.columns; let i = index"
|
|
40
|
+
[fxFlex]="flexWidth(column, i)"
|
|
41
|
+
fxLayout="column"
|
|
42
|
+
fxLayoutGap="1em">
|
|
43
|
+
<ng-template #components></ng-template>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: i2.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: i2.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: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialColumnsComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'mat-formio-columns', template: `
|
|
50
|
+
<div class="container"
|
|
51
|
+
fxLayout="row"
|
|
52
|
+
fxLayout.xs="column"
|
|
53
|
+
fxLayoutWrap
|
|
54
|
+
fxLayoutGap="{{ flexGap }}%"
|
|
55
|
+
fxLayoutAlign="center"
|
|
56
|
+
>
|
|
57
|
+
<div
|
|
58
|
+
*ngFor="let column of instance.component.columns; let i = index"
|
|
59
|
+
[fxFlex]="flexWidth(column, i)"
|
|
60
|
+
fxLayout="column"
|
|
61
|
+
fxLayoutGap="1em">
|
|
62
|
+
<ng-template #components></ng-template>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
` }]
|
|
66
|
+
}] });
|
|
67
|
+
ColumnsComponent.MaterialComponent = MaterialColumnsComponent;
|
|
68
|
+
export { ColumnsComponent };
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW5zL2NvbHVtbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxnQkFBZ0IsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQXVCdEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQXJCckU7O1FBc0JTLFlBQU8sR0FBRyxHQUFHLENBQUM7UUFDZCxlQUFVLEdBQUcsQ0FBQyxDQUFDO0tBZ0J2QjtJQWZDLFdBQVcsQ0FBQyxRQUFhO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pGLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsUUFBUSxDQUFDLGFBQWEsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1RSxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLO1FBQ3JCLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRTtZQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQzdFO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQzlFO0lBQ0gsQ0FBQzs7cUhBakJVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGlGQW5CekI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7MkZBR1Usd0JBQXdCO2tCQXJCcEMsU0FBUzsrQkFDRSxvQkFBb0IsWUFDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7O0FBc0JILGdCQUFnQixDQUFDLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRlcmlhbE5lc3RlZENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsTmVzdGVkQ29tcG9uZW50JztcbmltcG9ydCBDb2x1bW5zQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvY29sdW1ucy9Db2x1bW5zLmpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1jb2x1bW5zJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCJcbiAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcbiAgICAgICAgIGZ4TGF5b3V0LnhzPVwiY29sdW1uXCJcbiAgICAgICAgIGZ4TGF5b3V0V3JhcFxuICAgICAgICAgZnhMYXlvdXRHYXA9XCJ7eyBmbGV4R2FwIH19JVwiXG4gICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgaW5zdGFuY2UuY29tcG9uZW50LmNvbHVtbnM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBbZnhGbGV4XT1cImZsZXhXaWR0aChjb2x1bW4sIGkpXCJcbiAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxuICAgICAgICBmeExheW91dEdhcD1cIjFlbVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2NvbXBvbmVudHM+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQ29sdW1uc0NvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsTmVzdGVkQ29tcG9uZW50IHtcbiAgcHVibGljIGZsZXhHYXAgPSAwLjU7XG4gIHB1YmxpYyB0b3RhbFNwYWNlID0gMDtcbiAgc2V0SW5zdGFuY2UoaW5zdGFuY2U6IGFueSkge1xuICAgIHRoaXMudG90YWxTcGFjZSA9IDEwMCAtICgoaW5zdGFuY2UuY29tcG9uZW50LmNvbHVtbnMubGVuZ3RoIC0gMSkgKiB0aGlzLmZsZXhHYXApO1xuICAgIHN1cGVyLnNldEluc3RhbmNlKGluc3RhbmNlKTtcbiAgICBpbnN0YW5jZS52aWV3Q29udGFpbmVyID0gKGNvbXBvbmVudCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRhaW5lcnMgPyB0aGlzLnZpZXdDb250YWluZXJzW2NvbXBvbmVudC5jb2x1bW5dIDogbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgZmxleFdpZHRoKGNvbHVtbiwgaW5kZXgpIHtcbiAgICBpZiAoaW5kZXggPj0gKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmNvbHVtbnMubGVuZ3RoIC0gMSkpIHtcbiAgICAgIHJldHVybiBNYXRoLmNlaWwoKChwYXJzZUZsb2F0KGNvbHVtbi53aWR0aCkgLyAxMikgKiB0aGlzLnRvdGFsU3BhY2UpKSArICclJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKChwYXJzZUZsb2F0KGNvbHVtbi53aWR0aCkgLyAxMikgKiB0aGlzLnRvdGFsU3BhY2UpKSArICclJztcbiAgICB9XG4gIH1cbn1cbkNvbHVtbnNDb21wb25lbnQuTWF0ZXJpYWxDb21wb25lbnQgPSBNYXRlcmlhbENvbHVtbnNDb21wb25lbnQ7XG5leHBvcnQgeyBDb2x1bW5zQ29tcG9uZW50IH07XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MaterialNestedComponent } from '../MaterialNestedComponent';
|
|
3
|
+
import ContainerComponent from 'formiojs/components/container/Container.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/flex-layout/flex";
|
|
6
|
+
export class MaterialContainerComponent extends MaterialNestedComponent {
|
|
7
|
+
}
|
|
8
|
+
MaterialContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
MaterialContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialContainerComponent, selector: "mat-formio-container", usesInheritance: true, ngImport: i0, template: `
|
|
10
|
+
<div fxLayout="column" fxLayoutGap="1em">
|
|
11
|
+
<ng-template #components></ng-template>
|
|
12
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.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: i1.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"] }] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialContainerComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: 'mat-formio-container',
|
|
17
|
+
template: `
|
|
18
|
+
<div fxLayout="column" fxLayoutGap="1em">
|
|
19
|
+
<ng-template #components></ng-template>
|
|
20
|
+
</div>`
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
ContainerComponent.MaterialComponent = MaterialContainerComponent;
|
|
24
|
+
export { ContainerComponent };
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lci9jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxrQkFBa0IsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBUTVFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSx1QkFBdUI7O3VIQUExRCwwQkFBMEI7MkdBQTFCLDBCQUEwQixtRkFMM0I7OztXQUdEOzJGQUVFLDBCQUEwQjtrQkFQdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7OztXQUdEO2lCQUNWOztBQUVELGtCQUFrQixDQUFDLGlCQUFpQixHQUFHLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRlcmlhbE5lc3RlZENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsTmVzdGVkQ29tcG9uZW50JztcbmltcG9ydCBDb250YWluZXJDb21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9jb250YWluZXIvQ29udGFpbmVyLmpzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tY29udGFpbmVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxZW1cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50cz48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PmBcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbE5lc3RlZENvbXBvbmVudCB7IH1cbkNvbnRhaW5lckNvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsQ29udGFpbmVyQ29tcG9uZW50O1xuZXhwb3J0IHsgQ29udGFpbmVyQ29tcG9uZW50IH07XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MaterialComponent } from '../MaterialComponent';
|
|
3
|
+
import ContentComponent from 'formiojs/components/content/Content.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MaterialContentComponent extends MaterialComponent {
|
|
6
|
+
}
|
|
7
|
+
MaterialContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
MaterialContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialContentComponent, selector: "mat-formio-content", usesInheritance: true, ngImport: i0, template: `<div [innerHTML]="instance.content"></div>`, isInline: true });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialContentComponent, decorators: [{
|
|
10
|
+
type: Component,
|
|
11
|
+
args: [{
|
|
12
|
+
selector: 'mat-formio-content',
|
|
13
|
+
template: `<div [innerHTML]="instance.content"></div>`
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
ContentComponent.MaterialComponent = MaterialContentComponent;
|
|
17
|
+
export { ContentComponent };
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxnQkFBZ0IsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFLdEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGlCQUFpQjs7cUhBQWxELHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGlGQUZ6Qiw0Q0FBNEM7MkZBRTNDLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsNENBQTRDO2lCQUN2RDs7QUFFRCxnQkFBZ0IsQ0FBQyxpQkFBaUIsR0FBRyx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxDb21wb25lbnQgfSBmcm9tICcuLi9NYXRlcmlhbENvbXBvbmVudCc7XG5pbXBvcnQgQ29udGVudENvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL2NvbnRlbnQvQ29udGVudC5qcyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtZm9ybWlvLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZTogYDxkaXYgW2lubmVySFRNTF09XCJpbnN0YW5jZS5jb250ZW50XCI+PC9kaXY+YFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbENvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBNYXRlcmlhbENvbXBvbmVudCB7fVxuQ29udGVudENvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsQ29udGVudENvbXBvbmVudDtcbmV4cG9ydCB7IENvbnRlbnRDb21wb25lbnQgfTtcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { TEXTFIELD_TEMPLATE } from '../textfield/textfield.component';
|
|
3
|
+
import { MaterialNumberComponent } from '../number/number.component';
|
|
4
|
+
import CurrencyComponent from 'formiojs/components/currency/Currency.js';
|
|
5
|
+
import _ from 'lodash';
|
|
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 "@angular/material/input";
|
|
11
|
+
import * as i5 from "@angular/flex-layout/flex";
|
|
12
|
+
import * as i6 from "../formio-form-field/formio-form-field.component";
|
|
13
|
+
import * as i7 from "../label/label.component";
|
|
14
|
+
export class MaterialCurrencyComponent extends MaterialNumberComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.inputType = 'text';
|
|
18
|
+
}
|
|
19
|
+
onChange() {
|
|
20
|
+
const newValue = _.isNil(this.getValue()) ? '' : this.getValue();
|
|
21
|
+
this.instance.updateValue(newValue, { modified: true });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
MaterialCurrencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialCurrencyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
MaterialCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialCurrencyComponent, selector: "mat-formio-currency", 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 >\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.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.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { 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"] }] });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialCurrencyComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: 'mat-formio-currency',
|
|
30
|
+
template: TEXTFIELD_TEMPLATE
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
CurrencyComponent.MaterialComponent = MaterialCurrencyComponent;
|
|
34
|
+
export { CurrencyComponent };
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvY3VycmVuY3kvY3VycmVuY3kuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxpQkFBaUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7OztBQU12QixNQUFNLE9BQU8seUJBQTBCLFNBQVEsdUJBQXVCO0lBSnRFOztRQUtTLGNBQVMsR0FBRyxNQUFNLENBQUM7S0FNM0I7SUFKQyxRQUFRO1FBQ04sTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7c0hBTlUseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7QUFTRCxpQkFBaUIsQ0FBQyxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVEVYVEZJRUxEX1RFTVBMQVRFIH0gZnJvbSAnLi4vdGV4dGZpZWxkL3RleHRmaWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuLi9udW1iZXIvbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgQ3VycmVuY3lDb21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9jdXJyZW5jeS9DdXJyZW5jeS5qcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtZm9ybWlvLWN1cnJlbmN5JyxcbiAgdGVtcGxhdGU6IFRFWFRGSUVMRF9URU1QTEFURVxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbEN1cnJlbmN5Q29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxOdW1iZXJDb21wb25lbnQge1xuICBwdWJsaWMgaW5wdXRUeXBlID0gJ3RleHQnO1xuXG4gIG9uQ2hhbmdlKCkge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gXy5pc05pbCh0aGlzLmdldFZhbHVlKCkpID8gJycgOiB0aGlzLmdldFZhbHVlKCk7XG4gICAgdGhpcy5pbnN0YW5jZS51cGRhdGVWYWx1ZShuZXdWYWx1ZSwge21vZGlmaWVkOiB0cnVlfSk7XG4gIH1cbn1cbkN1cnJlbmN5Q29tcG9uZW50Lk1hdGVyaWFsQ29tcG9uZW50ID0gTWF0ZXJpYWxDdXJyZW5jeUNvbXBvbmVudDtcbmV4cG9ydCB7IEN1cnJlbmN5Q29tcG9uZW50IH07XG4iXX0=
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
3
|
+
import { MaterialNestedComponent } from '../MaterialNestedComponent';
|
|
4
|
+
import DataGridComponent from 'formiojs/components/datagrid/DataGrid.js';
|
|
5
|
+
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/material/button";
|
|
9
|
+
import * as i3 from "@angular/material/table";
|
|
10
|
+
import * as i4 from "@angular/material/icon";
|
|
11
|
+
import * as i5 from "@angular/flex-layout/flex";
|
|
12
|
+
import * as i6 from "@angular/material/card";
|
|
13
|
+
import * as i7 from "@angular/cdk/drag-drop";
|
|
14
|
+
import * as i8 from "../formio-form-field/formio-form-field.component";
|
|
15
|
+
import * as i9 from "../label/label.component";
|
|
16
|
+
export class MaterialDataGridComponent extends MaterialNestedComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.dataSource = new MatTableDataSource();
|
|
20
|
+
}
|
|
21
|
+
getColumnLabel(column) {
|
|
22
|
+
return column.label || column.key;
|
|
23
|
+
}
|
|
24
|
+
setInstance(instance) {
|
|
25
|
+
super.setInstance(instance);
|
|
26
|
+
this.dataSource.data = instance.dataValue;
|
|
27
|
+
this.columns = {};
|
|
28
|
+
this.displayedColumns = [];
|
|
29
|
+
this.formColumns = [];
|
|
30
|
+
instance.getColumns().map((column) => {
|
|
31
|
+
this.formColumns.push(column.key);
|
|
32
|
+
this.displayedColumns.push(column.key);
|
|
33
|
+
this.columns[column.key] = column;
|
|
34
|
+
});
|
|
35
|
+
this.displayedColumns.push('__removeRow');
|
|
36
|
+
if (this.instance.component.reorder) {
|
|
37
|
+
this.displayedColumns.push('position');
|
|
38
|
+
}
|
|
39
|
+
instance.viewContainer = (component) => {
|
|
40
|
+
let viewContainer;
|
|
41
|
+
if (this.instance.component.disabled) {
|
|
42
|
+
component.component.disabled = true;
|
|
43
|
+
}
|
|
44
|
+
this.viewContainers.forEach((container) => {
|
|
45
|
+
const td = container.element.nativeElement.parentNode;
|
|
46
|
+
if (component.rowIndex === parseInt(td.getAttribute('rowIndex'), 10) &&
|
|
47
|
+
component.component.key === td.getAttribute('component')) {
|
|
48
|
+
viewContainer = container;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return viewContainer ? viewContainer : null;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
addAnother() {
|
|
55
|
+
this.checkRowsNumber();
|
|
56
|
+
this.instance.addRow();
|
|
57
|
+
if (this.dataSource.data.length < this.instance.rows.length) {
|
|
58
|
+
this.dataSource.data.push({});
|
|
59
|
+
}
|
|
60
|
+
this.dataSource.data = [...this.dataSource.data];
|
|
61
|
+
}
|
|
62
|
+
checkRowsNumber() {
|
|
63
|
+
while (this.instance.rows.length < this.dataSource.data.length) {
|
|
64
|
+
this.instance.addRow();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
removeRow(index) {
|
|
68
|
+
this.instance.removeRow(index);
|
|
69
|
+
this.dataSource.data.splice(index, 1);
|
|
70
|
+
this.dataSource.data = [...this.dataSource.data];
|
|
71
|
+
}
|
|
72
|
+
dropTable(event) {
|
|
73
|
+
const prevIndex = this.dataSource.data.findIndex((d) => d === event.item.data);
|
|
74
|
+
moveItemInArray(this.control.value, prevIndex, event.currentIndex);
|
|
75
|
+
this.renderComponents();
|
|
76
|
+
}
|
|
77
|
+
renderComponents() {
|
|
78
|
+
this.instance.getRows();
|
|
79
|
+
this.instance.setValue(this.control.value || []);
|
|
80
|
+
}
|
|
81
|
+
setValue(value) {
|
|
82
|
+
const gridLength = value ? value.length : 0;
|
|
83
|
+
while (this.instance.rows.length < gridLength) {
|
|
84
|
+
this.addAnother();
|
|
85
|
+
this.instance.dataValue = value;
|
|
86
|
+
this.instance.setValue(value);
|
|
87
|
+
}
|
|
88
|
+
if (!value && this.instance.component.clearOnHide) {
|
|
89
|
+
this.dataSource = new MatTableDataSource(this.instance.defaultValue);
|
|
90
|
+
}
|
|
91
|
+
super.setValue(value);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
MaterialDataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialDataGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
+
MaterialDataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialDataGridComponent, selector: "mat-formio-datagrid", usesInheritance: true, ngImport: i0, template: `
|
|
96
|
+
<mat-formio-form-field [instance]="instance"
|
|
97
|
+
[componentTemplate]="componentTemplate"
|
|
98
|
+
[labelTemplate]="labelTemplate"
|
|
99
|
+
></mat-formio-form-field>
|
|
100
|
+
<ng-template #componentTemplate let-hasLabel>
|
|
101
|
+
<mat-card fxFill>
|
|
102
|
+
<ng-container *ngIf="hasLabel">
|
|
103
|
+
<ng-container *ngTemplateOutlet="labelTemplate"></ng-container>
|
|
104
|
+
</ng-container>
|
|
105
|
+
<mat-card-content>
|
|
106
|
+
<mat-card-actions
|
|
107
|
+
*ngIf="instance.hasAddButton() && (instance.component.addAnotherPosition === 'both' || instance.component.addAnotherPosition === 'top')">
|
|
108
|
+
<button mat-raised-button color="primary" (click)="addAnother()">
|
|
109
|
+
<mat-icon>add</mat-icon>
|
|
110
|
+
{{instance.component.addAnother || 'Add Another'}}
|
|
111
|
+
</button>
|
|
112
|
+
</mat-card-actions>
|
|
113
|
+
<table
|
|
114
|
+
mat-table
|
|
115
|
+
[dataSource]="dataSource"
|
|
116
|
+
class="mat-elevation-z8"
|
|
117
|
+
fxFill
|
|
118
|
+
cdkDropList
|
|
119
|
+
[cdkDropListData]="dataSource"
|
|
120
|
+
(cdkDropListDropped)="dropTable($event)">
|
|
121
|
+
>
|
|
122
|
+
<ng-container *ngFor="let column of formColumns" [matColumnDef]="column">
|
|
123
|
+
<th mat-header-cell *matHeaderCellDef>{{ getColumnLabel(columns[column]) }}</th>
|
|
124
|
+
<td mat-cell *matCellDef="let i = index;" [attr.rowIndex]="i" [attr.component]="column">
|
|
125
|
+
<ng-template #components></ng-template>
|
|
126
|
+
</td>
|
|
127
|
+
</ng-container>
|
|
128
|
+
<ng-container matColumnDef="__removeRow">
|
|
129
|
+
<th mat-header-cell *matHeaderCellDef></th>
|
|
130
|
+
<td mat-cell *matCellDef="let i = index;">
|
|
131
|
+
<button mat-button *ngIf="instance.hasRemoveButtons()" (click)="removeRow(i)">
|
|
132
|
+
<mat-icon aria-hidden="false" aria-label="Remove row">delete</mat-icon>
|
|
133
|
+
</button>
|
|
134
|
+
</td>
|
|
135
|
+
</ng-container>
|
|
136
|
+
<ng-container matColumnDef="position" *ngIf="instance.component.reorder">
|
|
137
|
+
<th mat-header-cell *matHeaderCellDef> No.</th>
|
|
138
|
+
<td mat-cell *matCellDef="let element">
|
|
139
|
+
<mat-icon cdkDragHandle>reorder</mat-icon>
|
|
140
|
+
</td>
|
|
141
|
+
</ng-container>
|
|
142
|
+
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
|
|
143
|
+
<div *ngIf="instance?.component?.reorder">
|
|
144
|
+
<tr class="datagrid-row" mat-row *matRowDef="let row; columns: displayedColumns;" cdkDrag
|
|
145
|
+
[cdkDragData]="row"></tr>
|
|
146
|
+
</div>
|
|
147
|
+
<div *ngIf="!instance?.component?.reorder">
|
|
148
|
+
<tr class="datagrid-row" mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
|
|
149
|
+
</div>
|
|
150
|
+
</table>
|
|
151
|
+
</mat-card-content>
|
|
152
|
+
<mat-card-actions *ngIf="instance.hasAddButton() && instance.component.addAnotherPosition !== 'top'">
|
|
153
|
+
<button mat-raised-button color="primary" (click)="addAnother()">
|
|
154
|
+
<mat-icon>add</mat-icon>
|
|
155
|
+
{{instance.component.addAnother || 'Add Another'}}
|
|
156
|
+
</button>
|
|
157
|
+
</mat-card-actions>
|
|
158
|
+
</mat-card>
|
|
159
|
+
</ng-template>
|
|
160
|
+
|
|
161
|
+
<ng-template #labelTemplate>
|
|
162
|
+
<mat-card-title>
|
|
163
|
+
<span [instance]="instance" matFormioLabel></span>
|
|
164
|
+
</mat-card-title>
|
|
165
|
+
</ng-template>
|
|
166
|
+
`, isInline: true, styles: [".datagrid-row{height:auto}\n"], 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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.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: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: i6.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i6.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i6.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i6.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i7.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i8.FormioFormFieldComponent, selector: "mat-formio-form-field", inputs: ["labelTemplate", "renderTopLabel", "showDescription", "renderElementOnly", "instance", "componentTemplate"] }, { kind: "component", type: i9.LabelComponent, selector: "span[matFormioLabel]", inputs: ["instance"] }] });
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialDataGridComponent, decorators: [{
|
|
168
|
+
type: Component,
|
|
169
|
+
args: [{ selector: 'mat-formio-datagrid', template: `
|
|
170
|
+
<mat-formio-form-field [instance]="instance"
|
|
171
|
+
[componentTemplate]="componentTemplate"
|
|
172
|
+
[labelTemplate]="labelTemplate"
|
|
173
|
+
></mat-formio-form-field>
|
|
174
|
+
<ng-template #componentTemplate let-hasLabel>
|
|
175
|
+
<mat-card fxFill>
|
|
176
|
+
<ng-container *ngIf="hasLabel">
|
|
177
|
+
<ng-container *ngTemplateOutlet="labelTemplate"></ng-container>
|
|
178
|
+
</ng-container>
|
|
179
|
+
<mat-card-content>
|
|
180
|
+
<mat-card-actions
|
|
181
|
+
*ngIf="instance.hasAddButton() && (instance.component.addAnotherPosition === 'both' || instance.component.addAnotherPosition === 'top')">
|
|
182
|
+
<button mat-raised-button color="primary" (click)="addAnother()">
|
|
183
|
+
<mat-icon>add</mat-icon>
|
|
184
|
+
{{instance.component.addAnother || 'Add Another'}}
|
|
185
|
+
</button>
|
|
186
|
+
</mat-card-actions>
|
|
187
|
+
<table
|
|
188
|
+
mat-table
|
|
189
|
+
[dataSource]="dataSource"
|
|
190
|
+
class="mat-elevation-z8"
|
|
191
|
+
fxFill
|
|
192
|
+
cdkDropList
|
|
193
|
+
[cdkDropListData]="dataSource"
|
|
194
|
+
(cdkDropListDropped)="dropTable($event)">
|
|
195
|
+
>
|
|
196
|
+
<ng-container *ngFor="let column of formColumns" [matColumnDef]="column">
|
|
197
|
+
<th mat-header-cell *matHeaderCellDef>{{ getColumnLabel(columns[column]) }}</th>
|
|
198
|
+
<td mat-cell *matCellDef="let i = index;" [attr.rowIndex]="i" [attr.component]="column">
|
|
199
|
+
<ng-template #components></ng-template>
|
|
200
|
+
</td>
|
|
201
|
+
</ng-container>
|
|
202
|
+
<ng-container matColumnDef="__removeRow">
|
|
203
|
+
<th mat-header-cell *matHeaderCellDef></th>
|
|
204
|
+
<td mat-cell *matCellDef="let i = index;">
|
|
205
|
+
<button mat-button *ngIf="instance.hasRemoveButtons()" (click)="removeRow(i)">
|
|
206
|
+
<mat-icon aria-hidden="false" aria-label="Remove row">delete</mat-icon>
|
|
207
|
+
</button>
|
|
208
|
+
</td>
|
|
209
|
+
</ng-container>
|
|
210
|
+
<ng-container matColumnDef="position" *ngIf="instance.component.reorder">
|
|
211
|
+
<th mat-header-cell *matHeaderCellDef> No.</th>
|
|
212
|
+
<td mat-cell *matCellDef="let element">
|
|
213
|
+
<mat-icon cdkDragHandle>reorder</mat-icon>
|
|
214
|
+
</td>
|
|
215
|
+
</ng-container>
|
|
216
|
+
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
|
|
217
|
+
<div *ngIf="instance?.component?.reorder">
|
|
218
|
+
<tr class="datagrid-row" mat-row *matRowDef="let row; columns: displayedColumns;" cdkDrag
|
|
219
|
+
[cdkDragData]="row"></tr>
|
|
220
|
+
</div>
|
|
221
|
+
<div *ngIf="!instance?.component?.reorder">
|
|
222
|
+
<tr class="datagrid-row" mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
|
|
223
|
+
</div>
|
|
224
|
+
</table>
|
|
225
|
+
</mat-card-content>
|
|
226
|
+
<mat-card-actions *ngIf="instance.hasAddButton() && instance.component.addAnotherPosition !== 'top'">
|
|
227
|
+
<button mat-raised-button color="primary" (click)="addAnother()">
|
|
228
|
+
<mat-icon>add</mat-icon>
|
|
229
|
+
{{instance.component.addAnother || 'Add Another'}}
|
|
230
|
+
</button>
|
|
231
|
+
</mat-card-actions>
|
|
232
|
+
</mat-card>
|
|
233
|
+
</ng-template>
|
|
234
|
+
|
|
235
|
+
<ng-template #labelTemplate>
|
|
236
|
+
<mat-card-title>
|
|
237
|
+
<span [instance]="instance" matFormioLabel></span>
|
|
238
|
+
</mat-card-title>
|
|
239
|
+
</ng-template>
|
|
240
|
+
`, styles: [".datagrid-row{height:auto}\n"] }]
|
|
241
|
+
}] });
|
|
242
|
+
DataGridComponent.MaterialComponent = MaterialDataGridComponent;
|
|
243
|
+
export { DataGridComponent };
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZGF0YWdyaWQvZGF0YWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxpQkFBaUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RSxPQUFPLEVBQWMsZUFBZSxFQUFpQixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7OztBQWdGcEYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHVCQUF1QjtJQTlFdEU7O1FBa0ZFLGVBQVUsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7S0FzRnZDO0lBcEZDLGNBQWMsQ0FBQyxNQUFNO1FBQ25CLE9BQU8sTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBYTtRQUN2QixLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FB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QyxTQUFTOytCQUNFLHFCQUFxQixZQUNyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1RVQ7O0FBZ0dILGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdGVyaWFsTmVzdGVkQ29tcG9uZW50IH0gZnJvbSAnLi4vTWF0ZXJpYWxOZXN0ZWRDb21wb25lbnQnO1xuaW1wb3J0IERhdGFHcmlkQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvZGF0YWdyaWQvRGF0YUdyaWQuanMnO1xuaW1wb3J0IHtDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCBEcmFnRHJvcE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge01hdFRhYmxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtZm9ybWlvLWRhdGFncmlkJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWZvcm1pby1mb3JtLWZpZWxkIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50VGVtcGxhdGVdPVwiY29tcG9uZW50VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsVGVtcGxhdGVdPVwibGFiZWxUZW1wbGF0ZVwiXG4gICAgPjwvbWF0LWZvcm1pby1mb3JtLWZpZWxkPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50VGVtcGxhdGUgbGV0LWhhc0xhYmVsPlxuICAgICAgPG1hdC1jYXJkIGZ4RmlsbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0xhYmVsXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImluc3RhbmNlLmhhc0FkZEJ1dHRvbigpICYmIChpbnN0YW5jZS5jb21wb25lbnQuYWRkQW5vdGhlclBvc2l0aW9uID09PSAnYm90aCcgfHwgaW5zdGFuY2UuY29tcG9uZW50LmFkZEFub3RoZXJQb3NpdGlvbiA9PT0gJ3RvcCcpXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJhZGRBbm90aGVyKClcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIHt7aW5zdGFuY2UuY29tcG9uZW50LmFkZEFub3RoZXIgfHwgJ0FkZCBBbm90aGVyJ319XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICAgICAgPHRhYmxlXG4gICAgICAgICAgICAgICAgICBtYXQtdGFibGVcbiAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCJcbiAgICAgICAgICAgICAgICAgIGZ4RmlsbFxuICAgICAgICAgICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiZGF0YVNvdXJjZVwiXG4gICAgICAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BUYWJsZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgZm9ybUNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtblwiPlxuICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPnt7IGdldENvbHVtbkxhYmVsKGNvbHVtbnNbY29sdW1uXSkgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaSA9IGluZGV4O1wiIFthdHRyLnJvd0luZGV4XT1cImlcIiBbYXR0ci5jb21wb25lbnRdPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRzPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiX19yZW1vdmVSb3dcIj5cbiAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxuICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImluc3RhbmNlLmhhc1JlbW92ZUJ1dHRvbnMoKVwiIChjbGljayk9XCJyZW1vdmVSb3coaSlcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgYXJpYS1sYWJlbD1cIlJlbW92ZSByb3dcIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInBvc2l0aW9uXCIgKm5nSWY9XCJpbnN0YW5jZS5jb21wb25lbnQucmVvcmRlclwiPlxuICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBOby48L3RoPlxuICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjZGtEcmFnSGFuZGxlPnJlb3JkZXI8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImluc3RhbmNlPy5jb21wb25lbnQ/LnJlb3JkZXJcIj5cbiAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiZGF0YWdyaWQtcm93XCIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiBjZGtEcmFnXG4gICAgICAgICAgICAgICAgICBbY2RrRHJhZ0RhdGFdPVwicm93XCI+PC90cj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpbnN0YW5jZT8uY29tcG9uZW50Py5yZW9yZGVyXCI+XG4gICAgICAgICAgICAgIDx0ciBjbGFzcz1cImRhdGFncmlkLXJvd1wiIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPG1hdC1jYXJkLWFjdGlvbnMgKm5nSWY9XCJpbnN0YW5jZS5oYXNBZGRCdXR0b24oKSAmJiBpbnN0YW5jZS5jb21wb25lbnQuYWRkQW5vdGhlclBvc2l0aW9uICE9PSAndG9wJ1wiPlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImFkZEFub3RoZXIoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgICB7e2luc3RhbmNlLmNvbXBvbmVudC5hZGRBbm90aGVyIHx8ICdBZGQgQW5vdGhlcid9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICA8L21hdC1jYXJkPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2xhYmVsVGVtcGxhdGU+XG4gICAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICAgIDxzcGFuIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiIG1hdEZvcm1pb0xhYmVsPjwvc3Bhbj5cbiAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgJy5kYXRhZ3JpZC1yb3cgeyBoZWlnaHQ6IGF1dG87IH0nXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxEYXRhR3JpZENvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsTmVzdGVkQ29tcG9uZW50IHtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW107XG4gIGZvcm1Db2x1bW5zOiBzdHJpbmdbXTtcbiAgY29sdW1uczogYW55O1xuICBkYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSgpO1xuXG4gIGdldENvbHVtbkxhYmVsKGNvbHVtbikge1xuICAgIHJldHVybiBjb2x1bW4ubGFiZWwgfHwgY29sdW1uLmtleTtcbiAgfVxuXG4gIHNldEluc3RhbmNlKGluc3RhbmNlOiBhbnkpIHtcbiAgICBzdXBlci5zZXRJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBpbnN0YW5jZS5kYXRhVmFsdWU7XG4gICAgdGhpcy5jb2x1bW5zID0ge307XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gW107XG4gICAgdGhpcy5mb3JtQ29sdW1ucyA9IFtdO1xuICAgIGluc3RhbmNlLmdldENvbHVtbnMoKS5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgdGhpcy5mb3JtQ29sdW1ucy5wdXNoKGNvbHVtbi5rZXkpO1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY29sdW1uLmtleSk7XG4gICAgICB0aGlzLmNvbHVtbnNbY29sdW1uLmtleV0gPSBjb2x1bW47XG4gICAgfSk7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ19fcmVtb3ZlUm93Jyk7XG4gICAgaWYgKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LnJlb3JkZXIpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKCdwb3NpdGlvbicpO1xuICAgIH1cbiAgICBpbnN0YW5jZS52aWV3Q29udGFpbmVyID0gKGNvbXBvbmVudCkgPT4ge1xuICAgICAgbGV0IHZpZXdDb250YWluZXI7XG4gICAgICBpZiAodGhpcy5pbnN0YW5jZS5jb21wb25lbnQuZGlzYWJsZWQpIHtcbiAgICAgICAgY29tcG9uZW50LmNvbXBvbmVudC5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgICB0aGlzLnZpZXdDb250YWluZXJzLmZvckVhY2goKGNvbnRhaW5lcikgPT4ge1xuICAgICAgICBjb25zdCB0ZCA9IGNvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNvbXBvbmVudC5yb3dJbmRleCA9PT0gcGFyc2VJbnQodGQuZ2V0QXR0cmlidXRlKCdyb3dJbmRleCcpLCAxMCkgJiZcbiAgICAgICAgICBjb21wb25lbnQuY29tcG9uZW50LmtleSA9PT0gdGQuZ2V0QXR0cmlidXRlKCdjb21wb25lbnQnKVxuICAgICAgICApIHtcbiAgICAgICAgICB2aWV3Q29udGFpbmVyID0gY29udGFpbmVyO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHZpZXdDb250YWluZXIgPyB2aWV3Q29udGFpbmVyIDogbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgYWRkQW5vdGhlcigpIHtcbiAgICB0aGlzLmNoZWNrUm93c051bWJlcigpO1xuICAgIHRoaXMuaW5zdGFuY2UuYWRkUm93KCk7XG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA8IHRoaXMuaW5zdGFuY2Uucm93cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnB1c2goe30pO1xuICAgIH1cbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IFsuLi50aGlzLmRhdGFTb3VyY2UuZGF0YV07XG4gIH1cblxuICBjaGVja1Jvd3NOdW1iZXIoKSB7XG4gICAgd2hpbGUgKHRoaXMuaW5zdGFuY2Uucm93cy5sZW5ndGggPCB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaW5zdGFuY2UuYWRkUm93KCk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlUm93KGluZGV4KSB7XG4gICAgdGhpcy5pbnN0YW5jZS5yZW1vdmVSb3coaW5kZXgpO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBbLi4udGhpcy5kYXRhU291cmNlLmRhdGFdO1xuICB9XG5cbiAgZHJvcFRhYmxlKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnk+KSB7XG4gICAgY29uc3QgcHJldkluZGV4ID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZEluZGV4KChkKSA9PiBkID09PSBldmVudC5pdGVtLmRhdGEpO1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNvbnRyb2wudmFsdWUsIHByZXZJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLnJlbmRlckNvbXBvbmVudHMoKTtcbiAgfVxuXG4gIHJlbmRlckNvbXBvbmVudHMoKSB7XG4gICAgdGhpcy5pbnN0YW5jZS5nZXRSb3dzKCk7XG4gICAgdGhpcy5pbnN0YW5jZS5zZXRWYWx1ZSh0aGlzLmNvbnRyb2wudmFsdWUgfHwgW10pO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IFtdIHwgbnVsbCkge1xuICAgIGNvbnN0IGdyaWRMZW5ndGggPSB2YWx1ZSA/IHZhbHVlLmxlbmd0aCA6IDA7XG5cbiAgICB3aGlsZSAodGhpcy5pbnN0YW5jZS5yb3dzLmxlbmd0aCA8IGdyaWRMZW5ndGgpIHtcbiAgICAgIHRoaXMuYWRkQW5vdGhlcigpO1xuICAgICAgdGhpcy5pbnN0YW5jZS5kYXRhVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuaW5zdGFuY2Uuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIGlmICghdmFsdWUgJiYgdGhpcy5pbnN0YW5jZS5jb21wb25lbnQuY2xlYXJPbkhpZGUpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5pbnN0YW5jZS5kZWZhdWx0VmFsdWUpO1xuICAgIH1cbiAgICBzdXBlci5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cbn1cbkRhdGFHcmlkQ29tcG9uZW50Lk1hdGVyaWFsQ29tcG9uZW50ID0gTWF0ZXJpYWxEYXRhR3JpZENvbXBvbmVudDtcbmV4cG9ydCB7IERhdGFHcmlkQ29tcG9uZW50IH07XG4iXX0=
|