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
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# NgxRenderMaterialForms
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.13.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project NgxRenderMaterialForms` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project NgxRenderMaterialForms`.
|
|
8
|
+
> Note: Don't forget to add `--project NgxRenderMaterialForms` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build NgxRenderMaterialForms` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build NgxRenderMaterialForms`, go to the dist folder `cd dist/ngx-render-material-forms` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test NgxRenderMaterialForms` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { FormControl } from '@angular/forms';
|
|
2
|
+
import unescape from 'lodash/unescape';
|
|
3
|
+
// @dynamic
|
|
4
|
+
export class FormioControl extends FormControl {
|
|
5
|
+
constructor(...args) {
|
|
6
|
+
super(args[0], [], [FormioControl.customValidator.bind(FormioControl)]);
|
|
7
|
+
}
|
|
8
|
+
static customValidator(control) {
|
|
9
|
+
return new Promise((resolve) => {
|
|
10
|
+
if (control.instance) {
|
|
11
|
+
control.instance.validateResolve = resolve;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
resolve(null);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
setInstance(instance) {
|
|
19
|
+
this.instance = instance;
|
|
20
|
+
const setCustomValidity = instance.setCustomValidity;
|
|
21
|
+
instance.setCustomValidity = (message, dirty, external, isWarning = false) => {
|
|
22
|
+
let decodedMessage = message;
|
|
23
|
+
if (Array.isArray(message)) {
|
|
24
|
+
decodedMessage = message.map(msg => Object.assign(msg, { message: unescape(msg.message) }));
|
|
25
|
+
}
|
|
26
|
+
else if (message) {
|
|
27
|
+
decodedMessage = unescape(message);
|
|
28
|
+
}
|
|
29
|
+
setCustomValidity.call(instance, decodedMessage, dirty, external, isWarning);
|
|
30
|
+
if (instance.validateResolve) {
|
|
31
|
+
instance.validateResolve(decodedMessage ? { custom: true } : null);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybWlvQ29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9Gb3JtaW9Db250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxRQUFRLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsV0FBVztBQUNYLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBVztJQWE1QyxZQUFZLEdBQUcsSUFBSTtRQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBWkQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFzQjtRQUMzQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUNwQixPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7YUFDNUM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFNRCxXQUFXLENBQUMsUUFBYTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztRQUNyRCxRQUFRLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxPQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEdBQUcsS0FBSyxFQUFFLEVBQUU7WUFDaEYsSUFBSSxjQUFjLEdBQUcsT0FBTyxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDMUIsY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdGO2lCQUNJLElBQUksT0FBTyxFQUFFO2dCQUNoQixjQUFjLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3BDO1lBRUQsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3RSxJQUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUU7Z0JBQzVCLFFBQVEsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEU7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB1bmVzY2FwZSBmcm9tICdsb2Rhc2gvdW5lc2NhcGUnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEZvcm1pb0NvbnRyb2wgZXh0ZW5kcyBGb3JtQ29udHJvbCB7XG4gIHB1YmxpYyBpbnN0YW5jZTogYW55O1xuXG4gIHN0YXRpYyBjdXN0b21WYWxpZGF0b3IoY29udHJvbDogRm9ybWlvQ29udHJvbCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKGNvbnRyb2wuaW5zdGFuY2UpIHtcbiAgICAgICAgY29udHJvbC5pbnN0YW5jZS52YWxpZGF0ZVJlc29sdmUgPSByZXNvbHZlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcbiAgICBzdXBlcihhcmdzWzBdLCBbXSwgW0Zvcm1pb0NvbnRyb2wuY3VzdG9tVmFsaWRhdG9yLmJpbmQoRm9ybWlvQ29udHJvbCldKTtcbiAgfVxuXG4gIHNldEluc3RhbmNlKGluc3RhbmNlOiBhbnkpIHtcbiAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgY29uc3Qgc2V0Q3VzdG9tVmFsaWRpdHkgPSBpbnN0YW5jZS5zZXRDdXN0b21WYWxpZGl0eTtcbiAgICBpbnN0YW5jZS5zZXRDdXN0b21WYWxpZGl0eSA9IChtZXNzYWdlOiBhbnksIGRpcnR5LCBleHRlcm5hbCwgaXNXYXJuaW5nID0gZmFsc2UpID0+IHtcbiAgICAgIGxldCBkZWNvZGVkTWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXNzYWdlKSkge1xuICAgICAgICBkZWNvZGVkTWVzc2FnZSA9IG1lc3NhZ2UubWFwKG1zZyA9PiBPYmplY3QuYXNzaWduKG1zZywgeyBtZXNzYWdlOiB1bmVzY2FwZShtc2cubWVzc2FnZSkgfSkpO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAobWVzc2FnZSkge1xuICAgICAgICBkZWNvZGVkTWVzc2FnZSA9IHVuZXNjYXBlKG1lc3NhZ2UpO1xuICAgICAgfVxuXG4gICAgICBzZXRDdXN0b21WYWxpZGl0eS5jYWxsKGluc3RhbmNlLCBkZWNvZGVkTWVzc2FnZSwgZGlydHksIGV4dGVybmFsLCBpc1dhcm5pbmcpO1xuICAgICAgaWYgKGluc3RhbmNlLnZhbGlkYXRlUmVzb2x2ZSkge1xuICAgICAgICBpbnN0YW5jZS52YWxpZGF0ZVJlc29sdmUoZGVjb2RlZE1lc3NhZ2UgPyB7Y3VzdG9tOiB0cnVlfSA6IG51bGwpO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import FormioComponent from 'formiojs/components/_classes/component/Component.js';
|
|
2
|
+
export default (() => {
|
|
3
|
+
const beforeSubmit = FormioComponent.prototype.beforeSubmit;
|
|
4
|
+
FormioComponent.prototype.beforeSubmit = function (...args) {
|
|
5
|
+
if (this.materialComponent) {
|
|
6
|
+
this.materialComponent.beforeSubmit();
|
|
7
|
+
}
|
|
8
|
+
return beforeSubmit.call(this, ...args);
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(FormioComponent.prototype, 'disabled', {
|
|
11
|
+
set(disabled) {
|
|
12
|
+
this._disabled = disabled;
|
|
13
|
+
if (this.materialComponent) {
|
|
14
|
+
this.materialComponent.setDisabled(disabled);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(FormioComponent.prototype, 'visible', {
|
|
19
|
+
set(visible) {
|
|
20
|
+
if (this._visible !== visible) {
|
|
21
|
+
this._visible = visible;
|
|
22
|
+
this.clearOnHide();
|
|
23
|
+
this.redraw();
|
|
24
|
+
}
|
|
25
|
+
if (this.materialComponent) {
|
|
26
|
+
this.materialComponent.setVisible(visible);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return FormioComponent;
|
|
31
|
+
})();
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL0Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxlQUFlLE1BQU0scURBQXFELENBQUM7QUFFbEYsZUFBZSxDQUFDLEdBQUcsRUFBRTtJQUNuQixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztJQUM1RCxlQUFlLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxVQUFTLEdBQUcsSUFBSTtRQUN2RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdkM7UUFDRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRTtRQUMzRCxHQUFHLENBQUMsUUFBUTtZQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlDO1FBQ0gsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUU7UUFDMUQsR0FBRyxDQUFDLE9BQU87WUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFO2dCQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDZjtZQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzVDO1FBQ0gsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUNILE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRm9ybWlvQ29tcG9uZW50IGZyb20gJ2Zvcm1pb2pzL2NvbXBvbmVudHMvX2NsYXNzZXMvY29tcG9uZW50L0NvbXBvbmVudC5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0ICgoKSA9PiB7XG4gIGNvbnN0IGJlZm9yZVN1Ym1pdCA9IEZvcm1pb0NvbXBvbmVudC5wcm90b3R5cGUuYmVmb3JlU3VibWl0O1xuICBGb3JtaW9Db21wb25lbnQucHJvdG90eXBlLmJlZm9yZVN1Ym1pdCA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICBpZiAodGhpcy5tYXRlcmlhbENvbXBvbmVudCkge1xuICAgICAgdGhpcy5tYXRlcmlhbENvbXBvbmVudC5iZWZvcmVTdWJtaXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGJlZm9yZVN1Ym1pdC5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xuICB9O1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGb3JtaW9Db21wb25lbnQucHJvdG90eXBlLCAnZGlzYWJsZWQnLCB7XG4gICAgc2V0KGRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgaWYgKHRoaXMubWF0ZXJpYWxDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5tYXRlcmlhbENvbXBvbmVudC5zZXREaXNhYmxlZChkaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRm9ybWlvQ29tcG9uZW50LnByb3RvdHlwZSwgJ3Zpc2libGUnLCB7XG4gICAgc2V0KHZpc2libGUpIHtcbiAgICAgIGlmICh0aGlzLl92aXNpYmxlICE9PSB2aXNpYmxlKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICB0aGlzLmNsZWFyT25IaWRlKCk7XG4gICAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5tYXRlcmlhbENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLm1hdGVyaWFsQ29tcG9uZW50LnNldFZpc2libGUodmlzaWJsZSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIEZvcm1pb0NvbXBvbmVudDtcbn0pKCk7XG5cbiJdfQ==
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import FormioComponent from './Base';
|
|
3
|
+
import Validator from 'formiojs/validator/Validator.js';
|
|
4
|
+
import { FormioControl } from '../FormioControl';
|
|
5
|
+
import get from 'lodash/get';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/material/card";
|
|
8
|
+
export class MaterialComponent {
|
|
9
|
+
constructor(element, ref) {
|
|
10
|
+
this.element = element;
|
|
11
|
+
this.ref = ref;
|
|
12
|
+
this.control = new FormioControl();
|
|
13
|
+
}
|
|
14
|
+
setInstance(instance) {
|
|
15
|
+
this.control.setInstance(instance);
|
|
16
|
+
instance.materialComponent = this;
|
|
17
|
+
this.instance = instance;
|
|
18
|
+
this.instance.disabled = this.instance.shouldDisabled;
|
|
19
|
+
this.setVisible(this.instance.visible);
|
|
20
|
+
this.renderComponents();
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
if (this.instance) {
|
|
24
|
+
if (this.shouldValidateOnInit()) {
|
|
25
|
+
this.storeFormData();
|
|
26
|
+
this.validateOnInit();
|
|
27
|
+
}
|
|
28
|
+
this.instance.component.defaultValue ? this.setValue(this.instance.component.defaultValue) : '';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
validateOnInit() {
|
|
32
|
+
const { key } = this.instance.component;
|
|
33
|
+
const validationValue = this.getFormValue(this.instance.path);
|
|
34
|
+
if (validationValue === null) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.instance.setPristine(false);
|
|
38
|
+
const validationResult = Validator.checkComponent(this.instance, { [key]: validationValue }, { [key]: validationValue });
|
|
39
|
+
if (validationResult.length) {
|
|
40
|
+
this.instance.setCustomValidity(validationResult, false);
|
|
41
|
+
if (!!validationValue) {
|
|
42
|
+
this.control.markAsTouched();
|
|
43
|
+
}
|
|
44
|
+
this.ref.detectChanges();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
storeFormData() {
|
|
48
|
+
if (this.instance.parent && this.instance.parent.submission && this.instance.parent.submission.data) {
|
|
49
|
+
sessionStorage.setItem('formData', JSON.stringify(this.instance.parent.submission.data));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
getFormValue(path) {
|
|
53
|
+
const formData = JSON.parse(sessionStorage.getItem('formData'));
|
|
54
|
+
if (!formData) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return get(formData, path);
|
|
58
|
+
}
|
|
59
|
+
renderComponents() { }
|
|
60
|
+
onChange(keepInputRaw) {
|
|
61
|
+
let value = this.getValue();
|
|
62
|
+
if (value === undefined || value === null) {
|
|
63
|
+
value = this.instance.emptyValue;
|
|
64
|
+
}
|
|
65
|
+
if (this.input && this.input.nativeElement.mask && value && !keepInputRaw) {
|
|
66
|
+
this.input.nativeElement.mask.textMaskInputElement.update(value);
|
|
67
|
+
this.control.setValue(this.input.nativeElement.value);
|
|
68
|
+
value = this.getValue();
|
|
69
|
+
}
|
|
70
|
+
this.instance.updateValue(value, { modified: true });
|
|
71
|
+
}
|
|
72
|
+
getValue() {
|
|
73
|
+
return this.control.value;
|
|
74
|
+
}
|
|
75
|
+
setValue(value) {
|
|
76
|
+
this.control.setValue(value);
|
|
77
|
+
}
|
|
78
|
+
beforeSubmit() {
|
|
79
|
+
this.control.markAsTouched();
|
|
80
|
+
}
|
|
81
|
+
hasError() {
|
|
82
|
+
return !!this.instance && !!this.instance.error;
|
|
83
|
+
}
|
|
84
|
+
shouldValidateOnInit() {
|
|
85
|
+
if (!this.instance) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
return this.instance.options.validateOnInit
|
|
89
|
+
|| this.instance.parent.options.validateOnInit;
|
|
90
|
+
}
|
|
91
|
+
setDisabled(disabled) {
|
|
92
|
+
if (disabled) {
|
|
93
|
+
this.control.disable();
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
this.control.enable();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
setVisible(visible) {
|
|
100
|
+
if (this.element && this.element.nativeElement) {
|
|
101
|
+
if (visible) {
|
|
102
|
+
this.element.nativeElement.removeAttribute('hidden');
|
|
103
|
+
this.element.nativeElement.style.visibility = 'visible';
|
|
104
|
+
this.element.nativeElement.style.position = 'relative';
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.element.nativeElement.setAttribute('hidden', true);
|
|
108
|
+
this.element.nativeElement.style.visibility = 'hidden';
|
|
109
|
+
this.element.nativeElement.style.position = 'absolute';
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
ngAfterViewInit() {
|
|
114
|
+
if (this.element && this.element.nativeElement && this.instance) {
|
|
115
|
+
// Add custom classes to elements.
|
|
116
|
+
if (this.instance.component.customClass) {
|
|
117
|
+
this.element.nativeElement.classList.add(this.instance.component.customClass);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (this.input) {
|
|
121
|
+
// Set the input masks.
|
|
122
|
+
this.instance.setInputMask(this.input.nativeElement);
|
|
123
|
+
this.instance.addFocusBlurEvents(this.input.nativeElement);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
MaterialComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
128
|
+
MaterialComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialComponent, selector: "mat-formio-comp", inputs: { instance: "instance", control: "control" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: '<mat-card>Unknown Component: {{ instance.component.type }}</mat-card>', isInline: true, dependencies: [{ kind: "component", type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }] });
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialComponent, decorators: [{
|
|
130
|
+
type: Component,
|
|
131
|
+
args: [{
|
|
132
|
+
selector: 'mat-formio-comp',
|
|
133
|
+
template: '<mat-card>Unknown Component: {{ instance.component.type }}</mat-card>'
|
|
134
|
+
}]
|
|
135
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { instance: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], input: [{
|
|
138
|
+
type: ViewChild,
|
|
139
|
+
args: ['input']
|
|
140
|
+
}], control: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}] } });
|
|
143
|
+
FormioComponent.MaterialComponent = MaterialComponent;
|
|
144
|
+
export { FormioComponent };
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9NYXRlcmlhbENvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQXVELE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sZUFBZSxNQUFNLFFBQVEsQ0FBQztBQUNyQyxPQUFPLFNBQVMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDOzs7QUFNN0IsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUFtQixPQUFtQixFQUFTLEdBQXNCO1FBQWxELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUQ1RCxZQUFPLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7SUFDa0IsQ0FBQztJQUV6RSxXQUFXLENBQUMsUUFBYTtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1FBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJ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R0FBakIsaUJBQWlCLDZNQUZsQix1RUFBdUU7MkZBRXRFLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsdUVBQXVFO2lCQUNsRjtpSUFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNjLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDVCxPQUFPO3NCQUFmLEtBQUs7O0FBK0lSLGVBQWUsQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEFmdGVyVmlld0luaXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgRm9ybWlvQ29tcG9uZW50IGZyb20gJy4vQmFzZSc7XG5pbXBvcnQgVmFsaWRhdG9yIGZyb20gJ2Zvcm1pb2pzL3ZhbGlkYXRvci9WYWxpZGF0b3IuanMnO1xuaW1wb3J0IHsgRm9ybWlvQ29udHJvbCB9IGZyb20gJy4uL0Zvcm1pb0NvbnRyb2wnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1jb21wJyxcbiAgdGVtcGxhdGU6ICc8bWF0LWNhcmQ+VW5rbm93biBDb21wb25lbnQ6IHt7IGluc3RhbmNlLmNvbXBvbmVudC50eXBlIH19PC9tYXQtY2FyZD4nXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcbiAgQElucHV0KCkgaW5zdGFuY2U6IGFueTtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgQElucHV0KCkgY29udHJvbDogRm9ybWlvQ29udHJvbCA9IG5ldyBGb3JtaW9Db250cm9sKCk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmLCBwdWJsaWMgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBzZXRJbnN0YW5jZShpbnN0YW5jZTogYW55KSB7XG4gICAgdGhpcy5jb250cm9sLnNldEluc3RhbmNlKGluc3RhbmNlKTtcbiAgICBpbnN0YW5jZS5tYXRlcmlhbENvbXBvbmVudCA9IHRoaXM7XG4gICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIHRoaXMuaW5zdGFuY2UuZGlzYWJsZWQgPSB0aGlzLmluc3RhbmNlLnNob3VsZERpc2FibGVkO1xuICAgIHRoaXMuc2V0VmlzaWJsZSh0aGlzLmluc3RhbmNlLnZpc2libGUpO1xuICAgIHRoaXMucmVuZGVyQ29tcG9uZW50cygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuaW5zdGFuY2UpIHtcbiAgICAgIGlmICh0aGlzLnNob3VsZFZhbGlkYXRlT25Jbml0KCkpIHtcbiAgICAgICAgdGhpcy5zdG9yZUZvcm1EYXRhKCk7XG4gICAgICAgIHRoaXMudmFsaWRhdGVPbkluaXQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmRlZmF1bHRWYWx1ZSA/IHRoaXMuc2V0VmFsdWUodGhpcy5pbnN0YW5jZS5jb21wb25lbnQuZGVmYXVsdFZhbHVlKSA6ICcnO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlT25Jbml0KCkge1xuICAgIGNvbnN0IHtrZXl9ID0gdGhpcy5pbnN0YW5jZS5jb21wb25lbnQ7XG4gICAgY29uc3QgdmFsaWRhdGlvblZhbHVlID0gdGhpcy5nZXRGb3JtVmFsdWUodGhpcy5pbnN0YW5jZS5wYXRoKTtcblxuICAgIGlmICh2YWxpZGF0aW9uVmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmluc3RhbmNlLnNldFByaXN0aW5lKGZhbHNlKTtcblxuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBWYWxpZGF0b3IuY2hlY2tDb21wb25lbnQoXG4gICAgICB0aGlzLmluc3RhbmNlLFxuICAgICAge1trZXldOiB2YWxpZGF0aW9uVmFsdWV9LFxuICAgICAge1trZXldOiB2YWxpZGF0aW9uVmFsdWV9XG4gICAgKTtcblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0Lmxlbmd0aCkge1xuICAgICAgdGhpcy5pbnN0YW5jZS5zZXRDdXN0b21WYWxpZGl0eSh2YWxpZGF0aW9uUmVzdWx0LCBmYWxzZSk7XG4gICAgICBpZiAoISF2YWxpZGF0aW9uVmFsdWUpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBzdG9yZUZvcm1EYXRhKCkge1xuICAgIGlmICh0aGlzLmluc3RhbmNlLnBhcmVudCAmJiB0aGlzLmluc3RhbmNlLnBhcmVudC5zdWJtaXNzaW9uICYmIHRoaXMuaW5zdGFuY2UucGFyZW50LnN1Ym1pc3Npb24uZGF0YSkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnZm9ybURhdGEnLCBKU09OLnN0cmluZ2lmeSh0aGlzLmluc3RhbmNlLnBhcmVudC5zdWJtaXNzaW9uLmRhdGEpKTtcbiAgICB9XG4gIH1cblxuICBnZXRGb3JtVmFsdWUocGF0aCkge1xuICAgIGNvbnN0IGZvcm1EYXRhID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdmb3JtRGF0YScpKTtcblxuICAgIGlmICghZm9ybURhdGEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBnZXQoZm9ybURhdGEsIHBhdGgpO1xuICB9XG5cbiAgcmVuZGVyQ29tcG9uZW50cygpIHt9XG5cbiAgb25DaGFuZ2Uoa2VlcElucHV0UmF3PzogYm9vbGVhbikge1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuaW5zdGFuY2UuZW1wdHlWYWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQubWFzayAmJiB2YWx1ZSAmJiAha2VlcElucHV0UmF3KSB7XG4gICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQubWFzay50ZXh0TWFza0lucHV0RWxlbWVudC51cGRhdGUodmFsdWUpO1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSk7XG4gICAgICB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICB9XG4gICAgdGhpcy5pbnN0YW5jZS51cGRhdGVWYWx1ZSh2YWx1ZSwge21vZGlmaWVkOiB0cnVlfSk7XG4gIH1cblxuICBnZXRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLnZhbHVlO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgYmVmb3JlU3VibWl0KCkge1xuICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cblxuICBoYXNFcnJvcigpIHtcbiAgICByZXR1cm4gISF0aGlzLmluc3RhbmNlICYmICEhdGhpcy5pbnN0YW5jZS5lcnJvcjtcbiAgfVxuXG4gIHNob3VsZFZhbGlkYXRlT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5pbnN0YW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmluc3RhbmNlLm9wdGlvbnMudmFsaWRhdGVPbkluaXRcbiAgICAgIHx8IHRoaXMuaW5zdGFuY2UucGFyZW50Lm9wdGlvbnMudmFsaWRhdGVPbkluaXQ7XG4gIH1cblxuICBzZXREaXNhYmxlZChkaXNhYmxlZCkge1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgdGhpcy5jb250cm9sLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb250cm9sLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHNldFZpc2libGUodmlzaWJsZSkge1xuICAgIGlmICh0aGlzLmVsZW1lbnQgJiYgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnaGlkZGVuJyk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaGlkZGVuJywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5lbGVtZW50ICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50ICYmIHRoaXMuaW5zdGFuY2UpIHtcbiAgICAgIC8vIEFkZCBjdXN0b20gY2xhc3NlcyB0byBlbGVtZW50cy5cbiAgICAgIGlmICh0aGlzLmluc3RhbmNlLmNvbXBvbmVudC5jdXN0b21DbGFzcykge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmN1c3RvbUNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbnB1dCkge1xuICAgICAgLy8gU2V0IHRoZSBpbnB1dCBtYXNrcy5cbiAgICAgIHRoaXMuaW5zdGFuY2Uuc2V0SW5wdXRNYXNrKHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCk7XG4gICAgICB0aGlzLmluc3RhbmNlLmFkZEZvY3VzQmx1ckV2ZW50cyh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxufVxuXG5Gb3JtaW9Db21wb25lbnQuTWF0ZXJpYWxDb21wb25lbnQgPSBNYXRlcmlhbENvbXBvbmVudDtcbmV4cG9ydCB7IEZvcm1pb0NvbXBvbmVudCB9O1xuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component, ViewChildren, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { MaterialComponent } from './MaterialComponent';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MaterialNestedComponent extends MaterialComponent {
|
|
5
|
+
setInstance(instance) {
|
|
6
|
+
instance.viewContainer = () => {
|
|
7
|
+
return this.viewContainers ? this.viewContainers[0] : null;
|
|
8
|
+
};
|
|
9
|
+
super.setInstance(instance);
|
|
10
|
+
}
|
|
11
|
+
renderComponents() {
|
|
12
|
+
if (this.instance.renderComponents) {
|
|
13
|
+
this.instance.renderComponents();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
render() {
|
|
17
|
+
this.viewContainers = this.components.toArray();
|
|
18
|
+
this.renderComponents();
|
|
19
|
+
this.ref.detectChanges();
|
|
20
|
+
}
|
|
21
|
+
ngAfterViewInit() {
|
|
22
|
+
this.components.changes.subscribe(() => this.render());
|
|
23
|
+
this.render();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
MaterialNestedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialNestedComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
MaterialNestedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialNestedComponent, selector: "mat-formio-nested", viewQueries: [{ propertyName: "components", predicate: ["components"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: '<ng-template #components></ng-template>', isInline: true });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialNestedComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{
|
|
31
|
+
selector: 'mat-formio-nested',
|
|
32
|
+
template: '<ng-template #components></ng-template>'
|
|
33
|
+
}]
|
|
34
|
+
}], propDecorators: { components: [{
|
|
35
|
+
type: ViewChildren,
|
|
36
|
+
args: ['components', { read: ViewContainerRef }]
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxOZXN0ZWRDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVuZGVyLW1hdGVyaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9NYXRlcmlhbE5lc3RlZENvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTXhELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxpQkFBaUI7SUFHNUQsV0FBVyxDQUFDLFFBQWE7UUFDdkIsUUFBUSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0QsQ0FBQyxDQUFDO1FBQ0YsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7O29IQXpCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixpSUFFQyxnQkFBZ0Isb0RBSnpDLHlDQUF5QzsyRkFFeEMsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSx5Q0FBeUM7aUJBQ3BEOzhCQUd1RCxVQUFVO3NCQUEvRCxZQUFZO3VCQUFDLFlBQVksRUFBRSxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4sIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdGVyaWFsQ29tcG9uZW50IH0gZnJvbSAnLi9NYXRlcmlhbENvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tbmVzdGVkJyxcbiAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgI2NvbXBvbmVudHM+PC9uZy10ZW1wbGF0ZT4nXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTmVzdGVkQ29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIHZpZXdDb250YWluZXJzO1xuICBAVmlld0NoaWxkcmVuKCdjb21wb25lbnRzJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWZ9KSBjb21wb25lbnRzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj47XG4gIHNldEluc3RhbmNlKGluc3RhbmNlOiBhbnkpIHtcbiAgICBpbnN0YW5jZS52aWV3Q29udGFpbmVyID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRhaW5lcnMgPyB0aGlzLnZpZXdDb250YWluZXJzWzBdIDogbnVsbDtcbiAgICB9O1xuICAgIHN1cGVyLnNldEluc3RhbmNlKGluc3RhbmNlKTtcbiAgfVxuXG4gIHJlbmRlckNvbXBvbmVudHMoKSB7XG4gICAgaWYgKHRoaXMuaW5zdGFuY2UucmVuZGVyQ29tcG9uZW50cykge1xuICAgICAgdGhpcy5pbnN0YW5jZS5yZW5kZXJDb21wb25lbnRzKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHRoaXMudmlld0NvbnRhaW5lcnMgPSB0aGlzLmNvbXBvbmVudHMudG9BcnJheSgpO1xuICAgIHRoaXMucmVuZGVyQ29tcG9uZW50cygpO1xuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNvbXBvbmVudHMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZW5kZXIoKSk7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Webform from 'formiojs/Webform.js';
|
|
2
|
+
console.log('Webform=>', Webform);
|
|
3
|
+
Webform.prototype.redraw = function () {
|
|
4
|
+
return this.render();
|
|
5
|
+
};
|
|
6
|
+
Webform.prototype.clear = function () {
|
|
7
|
+
const viewContainer = this.viewContainer ? this.viewContainer() : null;
|
|
8
|
+
if (viewContainer) {
|
|
9
|
+
viewContainer.clear();
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
Webform.prototype.render = function () {
|
|
13
|
+
if (this.viewContainer && this.viewContainer()) {
|
|
14
|
+
this.clear();
|
|
15
|
+
this.renderComponents();
|
|
16
|
+
this.setValue(this._submission);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL1dlYmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0scUJBQXFCLENBQUM7QUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDakMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUc7SUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBQ0YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUc7SUFDeEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkUsSUFBSSxhQUFhLEVBQUU7UUFDakIsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ3ZCO0FBQ0gsQ0FBQyxDQUFDO0FBQ0YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUc7SUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUNqQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXZWJmb3JtIGZyb20gJ2Zvcm1pb2pzL1dlYmZvcm0uanMnO1xuY29uc29sZS5sb2coJ1dlYmZvcm09PicsIFdlYmZvcm0pXG5XZWJmb3JtLnByb3RvdHlwZS5yZWRyYXcgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIHRoaXMucmVuZGVyKCk7XG59O1xuV2ViZm9ybS5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbigpIHtcbiAgY29uc3Qgdmlld0NvbnRhaW5lciA9IHRoaXMudmlld0NvbnRhaW5lciA/IHRoaXMudmlld0NvbnRhaW5lcigpIDogbnVsbDtcbiAgaWYgKHZpZXdDb250YWluZXIpIHtcbiAgICB2aWV3Q29udGFpbmVyLmNsZWFyKCk7IFxuICB9XG59O1xuV2ViZm9ybS5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIGlmICh0aGlzLnZpZXdDb250YWluZXIgJiYgdGhpcy52aWV3Q29udGFpbmVyKCkpIHtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5yZW5kZXJDb21wb25lbnRzKCk7XG4gICAgdGhpcy5zZXRWYWx1ZSh0aGlzLl9zdWJtaXNzaW9uKTtcbiAgfVxufTtcbiJdfQ==
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import ButtonComponent from 'formiojs/components/button/Button.js';
|
|
3
|
+
import { MaterialComponent } from '../MaterialComponent';
|
|
4
|
+
import { AngularButtonsThemes, ButtonsThemes } from '../../const/ButtonsThemes';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/material/button";
|
|
8
|
+
import * as i3 from "@angular/material/icon";
|
|
9
|
+
import * as i4 from "@angular/flex-layout/extended";
|
|
10
|
+
export class MaterialButtonComponent extends MaterialComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.loading = false;
|
|
14
|
+
this.done = false;
|
|
15
|
+
this.error = false;
|
|
16
|
+
this.disabled = false;
|
|
17
|
+
this.clicked = false;
|
|
18
|
+
}
|
|
19
|
+
get color() {
|
|
20
|
+
if (this.error) {
|
|
21
|
+
return AngularButtonsThemes.WARN;
|
|
22
|
+
}
|
|
23
|
+
const theme = this.angularButtonTheme;
|
|
24
|
+
return theme || AngularButtonsThemes.PRIMARY;
|
|
25
|
+
}
|
|
26
|
+
get angularButtonTheme() {
|
|
27
|
+
switch (this.instance.component.theme) {
|
|
28
|
+
case ButtonsThemes.PRIMARY:
|
|
29
|
+
return AngularButtonsThemes.PRIMARY;
|
|
30
|
+
case ButtonsThemes.WARNING:
|
|
31
|
+
return AngularButtonsThemes.ACCENT;
|
|
32
|
+
case ButtonsThemes.DANGER:
|
|
33
|
+
return AngularButtonsThemes.WARN;
|
|
34
|
+
case ButtonsThemes.SECONDARY:
|
|
35
|
+
return AngularButtonsThemes.BASIC;
|
|
36
|
+
default:
|
|
37
|
+
return '';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
get buttonClass() {
|
|
41
|
+
let className = this.instance.component.block ? 'mat-formio-button-block' : '';
|
|
42
|
+
className += this.instance.component.size ? ` mat-formio-button-${this.instance.component.size}` : '';
|
|
43
|
+
className += !this.angularButtonTheme ? ` mat-formio-theme-${this.instance.component.theme}` : '';
|
|
44
|
+
return className;
|
|
45
|
+
}
|
|
46
|
+
onClick(event) {
|
|
47
|
+
this.clicked = true;
|
|
48
|
+
this.instance.onClick(event);
|
|
49
|
+
}
|
|
50
|
+
getValue() {
|
|
51
|
+
return this.clicked;
|
|
52
|
+
}
|
|
53
|
+
setState(loading, error, done) {
|
|
54
|
+
this.loading = loading;
|
|
55
|
+
this.done = done;
|
|
56
|
+
this.error = error;
|
|
57
|
+
}
|
|
58
|
+
getIconFontSet(icon) {
|
|
59
|
+
const fontSet = icon.split(' ')[0];
|
|
60
|
+
return fontSet;
|
|
61
|
+
}
|
|
62
|
+
getIconName(icon) {
|
|
63
|
+
return icon.replace(this.getIconFontSet(icon), '');
|
|
64
|
+
}
|
|
65
|
+
setInstance(instance) {
|
|
66
|
+
const retVal = super.setInstance(instance);
|
|
67
|
+
this.disabled = instance.shouldDisabled;
|
|
68
|
+
instance.on('submitButton', () => this.setState(true, false, false));
|
|
69
|
+
instance.on('submitDone', () => this.setState(false, false, true));
|
|
70
|
+
instance.on('submitError', () => this.setState(false, true, false));
|
|
71
|
+
instance.on('requestButton', () => this.setState(true, false, false));
|
|
72
|
+
instance.on('requestDone', () => this.setState(false, false, true));
|
|
73
|
+
instance.on('change', (event) => {
|
|
74
|
+
this.disabled = this.instance.shouldDisabled || (this.instance.component.disableOnInvalid && !event.isValid);
|
|
75
|
+
if (event.isValid) {
|
|
76
|
+
this.loading = false;
|
|
77
|
+
this.error = false;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return retVal;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
MaterialButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
MaterialButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialButtonComponent, selector: "mat-formio-button", usesInheritance: true, ngImport: i0, template: "<button *ngIf=\"instance\"\n [ngClass]=\"buttonClass\"\n type=\"{{ instance.component.action }}\"\n mat-raised-button [color]=\"color\"\n [disabled]=\"disabled\"\n (click)=\"instance.onClick($event)\"\n>\n <mat-icon *ngIf=\"instance.component.leftIcon\">{{instance.component.leftIcon}}</mat-icon>\n <mat-icon *ngIf=\"done\">done</mat-icon>\n <mat-icon *ngIf=\"error\">close</mat-icon>\n <mat-icon class=\"mat-icon-spin\" *ngIf=\"loading\">autorenew</mat-icon>\n {{ instance.component.label }}\n <mat-icon *ngIf=\"instance.component.rightIcon\">{{instance.component.rightIcon}}</mat-icon>\n</button>\n", styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host .mat-icon-spin{-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mat-formio-theme-success{background-color:#63d644!important}.mat-formio-theme-info{background-color:#49d9f4!important}.mat-formio-button-sm{font-size:14px;padding:8px 12px}.mat-formio-button-xs{font-size:14px;padding:4px 6px}.mat-formio-button-md{font-size:15px;padding:8px 12px}.mat-formio-button-lg{font-size:19px;padding:16px 20px}.mat-formio-button-block{display:block;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.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"] }] });
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialButtonComponent, decorators: [{
|
|
86
|
+
type: Component,
|
|
87
|
+
args: [{ selector: 'mat-formio-button', template: "<button *ngIf=\"instance\"\n [ngClass]=\"buttonClass\"\n type=\"{{ instance.component.action }}\"\n mat-raised-button [color]=\"color\"\n [disabled]=\"disabled\"\n (click)=\"instance.onClick($event)\"\n>\n <mat-icon *ngIf=\"instance.component.leftIcon\">{{instance.component.leftIcon}}</mat-icon>\n <mat-icon *ngIf=\"done\">done</mat-icon>\n <mat-icon *ngIf=\"error\">close</mat-icon>\n <mat-icon class=\"mat-icon-spin\" *ngIf=\"loading\">autorenew</mat-icon>\n {{ instance.component.label }}\n <mat-icon *ngIf=\"instance.component.rightIcon\">{{instance.component.rightIcon}}</mat-icon>\n</button>\n", styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host .mat-icon-spin{-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.mat-formio-theme-success{background-color:#63d644!important}.mat-formio-theme-info{background-color:#49d9f4!important}.mat-formio-button-sm{font-size:14px;padding:8px 12px}.mat-formio-button-xs{font-size:14px;padding:4px 6px}.mat-formio-button-md{font-size:15px;padding:8px 12px}.mat-formio-button-lg{font-size:19px;padding:16px 20px}.mat-formio-button-block{display:block;width:100%}\n"] }]
|
|
88
|
+
}] });
|
|
89
|
+
ButtonComponent.MaterialComponent = MaterialButtonComponent;
|
|
90
|
+
export { ButtonComponent };
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sZUFBZSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBT2hGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxpQkFBaUI7SUFMOUQ7O1FBTVMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztLQTZFeEI7SUEzRUMsSUFBSSxLQUFLO1FBQ1AsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7U0FDbEM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDdEMsT0FBTyxLQUFLLElBQUksb0JBQW9CLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUNyQyxLQUFLLGFBQWEsQ0FBQyxPQUFPO2dCQUN4QixPQUFPLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztZQUV0QyxLQUFLLGFBQWEsQ0FBQyxPQUFPO2dCQUN4QixPQUFPLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztZQUVyQyxLQUFLLGFBQWEsQ0FBQyxNQUFNO2dCQUN2QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQztZQUVuQyxLQUFLLGFBQWEsQ0FBQyxTQUFTO2dCQUMxQixPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQztZQUVwQztnQkFDRSxPQUFPLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvRSxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2xHLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWTtRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQVE7UUFDbEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDeEMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDckUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0csSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O29IQWpGVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixnRkNWcEMsbW9CQWNBOzJGREphLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxtQkFBbUI7O0FBdUYvQixlQUFlLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4gaW1wb3J0IEJ1dHRvbkNvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL2J1dHRvbi9CdXR0b24uanMnO1xuaW1wb3J0IHsgTWF0ZXJpYWxDb21wb25lbnQgfSBmcm9tICcuLi9NYXRlcmlhbENvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmd1bGFyQnV0dG9uc1RoZW1lcywgQnV0dG9uc1RoZW1lcyB9IGZyb20gJy4uLy4uL2NvbnN0L0J1dHRvbnNUaGVtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtZm9ybWlvLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxDb21wb25lbnQge1xuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICBwdWJsaWMgZG9uZSA9IGZhbHNlO1xuICBwdWJsaWMgZXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBjbGlja2VkID0gZmFsc2U7XG5cbiAgZ2V0IGNvbG9yKCkge1xuICAgIGlmICh0aGlzLmVycm9yKSB7XG4gICAgICByZXR1cm4gQW5ndWxhckJ1dHRvbnNUaGVtZXMuV0FSTjtcbiAgICB9XG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLmFuZ3VsYXJCdXR0b25UaGVtZTtcbiAgICByZXR1cm4gdGhlbWUgfHwgQW5ndWxhckJ1dHRvbnNUaGVtZXMuUFJJTUFSWTtcbiAgfVxuXG4gIGdldCBhbmd1bGFyQnV0dG9uVGhlbWUoKSB7XG4gICAgc3dpdGNoICh0aGlzLmluc3RhbmNlLmNvbXBvbmVudC50aGVtZSkge1xuICAgICAgY2FzZSBCdXR0b25zVGhlbWVzLlBSSU1BUlk6XG4gICAgICAgIHJldHVybiBBbmd1bGFyQnV0dG9uc1RoZW1lcy5QUklNQVJZO1xuXG4gICAgICBjYXNlIEJ1dHRvbnNUaGVtZXMuV0FSTklORzpcbiAgICAgICAgcmV0dXJuIEFuZ3VsYXJCdXR0b25zVGhlbWVzLkFDQ0VOVDtcblxuICAgICAgY2FzZSBCdXR0b25zVGhlbWVzLkRBTkdFUjpcbiAgICAgICAgcmV0dXJuIEFuZ3VsYXJCdXR0b25zVGhlbWVzLldBUk47XG5cbiAgICAgIGNhc2UgQnV0dG9uc1RoZW1lcy5TRUNPTkRBUlk6XG4gICAgICAgIHJldHVybiBBbmd1bGFyQnV0dG9uc1RoZW1lcy5CQVNJQztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIGdldCBidXR0b25DbGFzcygpIHtcbiAgICBsZXQgY2xhc3NOYW1lID0gdGhpcy5pbnN0YW5jZS5jb21wb25lbnQuYmxvY2sgPyAnbWF0LWZvcm1pby1idXR0b24tYmxvY2snIDogJyc7XG4gICAgY2xhc3NOYW1lICs9IHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LnNpemUgPyBgIG1hdC1mb3JtaW8tYnV0dG9uLSR7dGhpcy5pbnN0YW5jZS5jb21wb25lbnQuc2l6ZX1gIDogJyc7XG4gICAgY2xhc3NOYW1lICs9ICF0aGlzLmFuZ3VsYXJCdXR0b25UaGVtZSA/IGAgbWF0LWZvcm1pby10aGVtZS0ke3RoaXMuaW5zdGFuY2UuY29tcG9uZW50LnRoZW1lfWAgOiAnJztcbiAgICByZXR1cm4gY2xhc3NOYW1lO1xuICB9XG5cbiAgb25DbGljayhldmVudCkge1xuICAgIHRoaXMuY2xpY2tlZCA9IHRydWU7XG4gICAgdGhpcy5pbnN0YW5jZS5vbkNsaWNrKGV2ZW50KTtcbiAgfVxuXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmNsaWNrZWQ7XG4gIH1cblxuICBzZXRTdGF0ZShsb2FkaW5nLCBlcnJvciwgZG9uZSkge1xuICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XG4gICAgdGhpcy5kb25lID0gZG9uZTtcbiAgICB0aGlzLmVycm9yID0gZXJyb3I7XG4gIH1cblxuICBnZXRJY29uRm9udFNldChpY29uOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmb250U2V0ID0gaWNvbi5zcGxpdCgnICcpWzBdO1xuICAgIHJldHVybiBmb250U2V0O1xuICB9XG5cbiAgZ2V0SWNvbk5hbWUoaWNvbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGljb24ucmVwbGFjZSh0aGlzLmdldEljb25Gb250U2V0KGljb24pLCAnJyk7XG4gIH1cblxuICBzZXRJbnN0YW5jZShpbnN0YW5jZSkge1xuICAgIGNvbnN0IHJldFZhbCA9IHN1cGVyLnNldEluc3RhbmNlKGluc3RhbmNlKTtcbiAgICB0aGlzLmRpc2FibGVkID0gaW5zdGFuY2Uuc2hvdWxkRGlzYWJsZWQ7XG4gICAgaW5zdGFuY2Uub24oJ3N1Ym1pdEJ1dHRvbicsICgpID0+IHRoaXMuc2V0U3RhdGUodHJ1ZSwgZmFsc2UsIGZhbHNlKSk7XG4gICAgaW5zdGFuY2Uub24oJ3N1Ym1pdERvbmUnLCAoKSA9PiB0aGlzLnNldFN0YXRlKGZhbHNlLCBmYWxzZSwgdHJ1ZSkpO1xuICAgIGluc3RhbmNlLm9uKCdzdWJtaXRFcnJvcicsICgpID0+IHRoaXMuc2V0U3RhdGUoZmFsc2UsIHRydWUsIGZhbHNlKSk7XG4gICAgaW5zdGFuY2Uub24oJ3JlcXVlc3RCdXR0b24nLCAoKSA9PiB0aGlzLnNldFN0YXRlKHRydWUsIGZhbHNlLCBmYWxzZSkpO1xuICAgIGluc3RhbmNlLm9uKCdyZXF1ZXN0RG9uZScsICgpID0+IHRoaXMuc2V0U3RhdGUoZmFsc2UsIGZhbHNlLCB0cnVlKSk7XG4gICAgaW5zdGFuY2Uub24oJ2NoYW5nZScsIChldmVudCkgPT4ge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuaW5zdGFuY2Uuc2hvdWxkRGlzYWJsZWQgfHwgKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmRpc2FibGVPbkludmFsaWQgJiYgIWV2ZW50LmlzVmFsaWQpO1xuICAgICAgaWYgKGV2ZW50LmlzVmFsaWQpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmV0VmFsO1xuICB9XG59XG5CdXR0b25Db21wb25lbnQuTWF0ZXJpYWxDb21wb25lbnQgPSBNYXRlcmlhbEJ1dHRvbkNvbXBvbmVudDtcbmV4cG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9O1xuIiwiPGJ1dHRvbiAqbmdJZj1cImluc3RhbmNlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIlxuICAgICAgICB0eXBlPVwie3sgaW5zdGFuY2UuY29tcG9uZW50LmFjdGlvbiB9fVwiXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJpbnN0YW5jZS5vbkNsaWNrKCRldmVudClcIlxuPlxuICA8bWF0LWljb24gKm5nSWY9XCJpbnN0YW5jZS5jb21wb25lbnQubGVmdEljb25cIj57e2luc3RhbmNlLmNvbXBvbmVudC5sZWZ0SWNvbn19PC9tYXQtaWNvbj5cbiAgPG1hdC1pY29uICpuZ0lmPVwiZG9uZVwiPmRvbmU8L21hdC1pY29uPlxuICA8bWF0LWljb24gKm5nSWY9XCJlcnJvclwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tc3BpblwiICpuZ0lmPVwibG9hZGluZ1wiPmF1dG9yZW5ldzwvbWF0LWljb24+XG4gIHt7IGluc3RhbmNlLmNvbXBvbmVudC5sYWJlbCB9fVxuICA8bWF0LWljb24gKm5nSWY9XCJpbnN0YW5jZS5jb21wb25lbnQucmlnaHRJY29uXCI+e3tpbnN0YW5jZS5jb21wb25lbnQucmlnaHRJY29ufX08L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { MaterialComponent } from '../MaterialComponent';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/datepicker";
|
|
6
|
+
import * as i3 from "@angular/flex-layout/flex";
|
|
7
|
+
import * as i4 from "@angular/flex-layout/extended";
|
|
8
|
+
import * as i5 from "@angular/material/card";
|
|
9
|
+
import * as i6 from "../time/time.component";
|
|
10
|
+
export class MaterialCalendarComponent extends MaterialComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.timeSelectEvent = new EventEmitter();
|
|
14
|
+
this.dateSelectEvent = new EventEmitter();
|
|
15
|
+
}
|
|
16
|
+
setInstance(instance) {
|
|
17
|
+
super.setInstance(instance);
|
|
18
|
+
}
|
|
19
|
+
setExistedDate(value) {
|
|
20
|
+
this.selectedDate = value;
|
|
21
|
+
}
|
|
22
|
+
setExistedTime(value, forTime) {
|
|
23
|
+
this.selectedTime = value;
|
|
24
|
+
this.time.setValue(forTime);
|
|
25
|
+
}
|
|
26
|
+
onDate(event) {
|
|
27
|
+
this.selectedDate = event;
|
|
28
|
+
this.dateSelectEvent.emit(this.selectedDate);
|
|
29
|
+
}
|
|
30
|
+
onTime(event) {
|
|
31
|
+
this.selectedTime = event.value;
|
|
32
|
+
this.timeSelectEvent.emit(this.selectedTime);
|
|
33
|
+
}
|
|
34
|
+
getPopupStyles() {
|
|
35
|
+
return {
|
|
36
|
+
position: 'absolute',
|
|
37
|
+
zIndex: '1000',
|
|
38
|
+
display: 'flex',
|
|
39
|
+
maxWidth: '100%',
|
|
40
|
+
maxHeight: '100%',
|
|
41
|
+
top: '90px',
|
|
42
|
+
left: '30px'
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
MaterialCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialCalendarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
MaterialCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: MaterialCalendarComponent, selector: "mat-formio-calendar", inputs: { enableDate: "enableDate", enableTime: "enableTime", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", hourStep: "hourStep", minuteStep: "minuteStep" }, outputs: { timeSelectEvent: "timeSelectEvent", dateSelectEvent: "dateSelectEvent" }, viewQueries: [{ propertyName: "time", first: true, predicate: ["time"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
48
|
+
<div class="container" fxLayout="row" fxLayout.xs="column" fxLayoutGap="0.5%">
|
|
49
|
+
<div [ngStyle]="getPopupStyles()">
|
|
50
|
+
<mat-card style="padding: 0;">
|
|
51
|
+
<mat-calendar
|
|
52
|
+
[dateFilter]="dateFilter"
|
|
53
|
+
[maxDate]="maxDate"
|
|
54
|
+
[minDate]="minDate"
|
|
55
|
+
[selected]="selectedDate"
|
|
56
|
+
(selectedChange)="onDate($event)"
|
|
57
|
+
class="calendar"
|
|
58
|
+
*ngIf="enableDate !== false"
|
|
59
|
+
>
|
|
60
|
+
</mat-calendar>
|
|
61
|
+
<mat-formio-time
|
|
62
|
+
#time
|
|
63
|
+
[hourStep]="hourStep"
|
|
64
|
+
[instance]="instance"
|
|
65
|
+
[renderElementOnly]="true"
|
|
66
|
+
[minuteStep]="minuteStep"
|
|
67
|
+
(selectedEvent)="onTime($event)"
|
|
68
|
+
class="ml-3 formio-time"
|
|
69
|
+
*ngIf="enableTime"
|
|
70
|
+
>
|
|
71
|
+
</mat-formio-time>
|
|
72
|
+
</mat-card>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
`, isInline: true, styles: [".calendar,.formio-time{padding:16px;background-color:#fff;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.formio-time{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection"], exportAs: ["matCalendar"] }, { 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"] }, { kind: "directive", type: i4.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: i5.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i6.MaterialTimeComponent, selector: "mat-formio-time", inputs: ["hourStep", "minuteStep", "secondStep", "renderElementOnly"], outputs: ["selectedEvent"] }] });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: MaterialCalendarComponent, decorators: [{
|
|
77
|
+
type: Component,
|
|
78
|
+
args: [{ selector: 'mat-formio-calendar', template: `
|
|
79
|
+
<div class="container" fxLayout="row" fxLayout.xs="column" fxLayoutGap="0.5%">
|
|
80
|
+
<div [ngStyle]="getPopupStyles()">
|
|
81
|
+
<mat-card style="padding: 0;">
|
|
82
|
+
<mat-calendar
|
|
83
|
+
[dateFilter]="dateFilter"
|
|
84
|
+
[maxDate]="maxDate"
|
|
85
|
+
[minDate]="minDate"
|
|
86
|
+
[selected]="selectedDate"
|
|
87
|
+
(selectedChange)="onDate($event)"
|
|
88
|
+
class="calendar"
|
|
89
|
+
*ngIf="enableDate !== false"
|
|
90
|
+
>
|
|
91
|
+
</mat-calendar>
|
|
92
|
+
<mat-formio-time
|
|
93
|
+
#time
|
|
94
|
+
[hourStep]="hourStep"
|
|
95
|
+
[instance]="instance"
|
|
96
|
+
[renderElementOnly]="true"
|
|
97
|
+
[minuteStep]="minuteStep"
|
|
98
|
+
(selectedEvent)="onTime($event)"
|
|
99
|
+
class="ml-3 formio-time"
|
|
100
|
+
*ngIf="enableTime"
|
|
101
|
+
>
|
|
102
|
+
</mat-formio-time>
|
|
103
|
+
</mat-card>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
`, styles: [".calendar,.formio-time{padding:16px;background-color:#fff;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.formio-time{display:flex}\n"] }]
|
|
107
|
+
}], propDecorators: { time: [{
|
|
108
|
+
type: ViewChild,
|
|
109
|
+
args: ['time']
|
|
110
|
+
}], enableDate: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], enableTime: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], minDate: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], maxDate: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], dateFilter: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], hourStep: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], minuteStep: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], timeSelectEvent: [{
|
|
125
|
+
type: Output
|
|
126
|
+
}], dateSelectEvent: [{
|
|
127
|
+
type: Output
|
|
128
|
+
}] } });
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlbmRlci1tYXRlcmlhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBWSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQTZDekQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGlCQUFpQjtJQTVDaEU7O1FBMERZLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FvQ3JEO0lBbENDLFdBQVcsQ0FBQyxRQUFhO1FBQ3ZCLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU87UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFVBQVU7WUFDcEIsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsTUFBTTtZQUNmLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLEdBQUcsRUFBRSxNQUFNO1lBQ1gsSUFBSSxFQUFFLE1BQU07U0FDYixDQUFBO0lBQ0gsQ0FBQzs7c0hBbERVLHlCQUF5QjswR0FBekIseUJBQXlCLHViQS9CMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0QlQ7MkZBR1UseUJBQXlCO2tCQTVDckMsU0FBUzsrQkFDRSxxQkFBcUIsWUFZckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0QlQ7OEJBUWtCLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTTtnQkFFUixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdNb2R1bGUsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdGVyaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vTWF0ZXJpYWxDb21wb25lbnQnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1jYWxlbmRhcicsXG4gIHN0eWxlczogW1xuICAgIGAuY2FsZW5kYXIsIC5mb3JtaW8tdGltZSB7XG4gICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAxcHggLTFweCByZ2JhKDAsMCwwLC4yKSwgMCAxcHggMXB4IDAgcmdiYSgwLDAsMCwuMTQpLCAwIDFweCAzcHggMCByZ2JhKDAsMCwwLC4xMik7XG4gICAgfVxuICAgIC5mb3JtaW8tdGltZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICBgXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXQueHM9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjAuNSVcIj5cbiAgICAgIDxkaXYgW25nU3R5bGVdPVwiZ2V0UG9wdXBTdHlsZXMoKVwiPlxuICAgICAgICA8bWF0LWNhcmQgc3R5bGU9XCJwYWRkaW5nOiAwO1wiPlxuICAgICAgICAgIDxtYXQtY2FsZW5kYXJcbiAgICAgICAgICAgICAgICAgIFtkYXRlRmlsdGVyXT1cImRhdGVGaWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FsZW5kYXJcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJlbmFibGVEYXRlICE9PSBmYWxzZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbWF0LWNhbGVuZGFyPlxuICAgICAgICAgIDxtYXQtZm9ybWlvLXRpbWVcbiAgICAgICAgICAgICAgICAgICN0aW1lXG4gICAgICAgICAgICAgICAgICBbaG91clN0ZXBdPVwiaG91clN0ZXBcIlxuICAgICAgICAgICAgICAgICAgW2luc3RhbmNlXT1cImluc3RhbmNlXCJcbiAgICAgICAgICAgICAgICAgIFtyZW5kZXJFbGVtZW50T25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFttaW51dGVTdGVwXT1cIm1pbnV0ZVN0ZXBcIlxuICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkRXZlbnQpPVwib25UaW1lKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0zIGZvcm1pby10aW1lXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZW5hYmxlVGltZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbWF0LWZvcm1pby10aW1lPlxuICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5cbmV4cG9ydCBjbGFzcyBNYXRlcmlhbENhbGVuZGFyQ29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxDb21wb25lbnQge1xuICBwdWJsaWMgc2VsZWN0ZWREYXRlOiBhbnk7XG4gIHB1YmxpYyBzZWxlY3RlZFRpbWU6IGFueTtcbiAgcHVibGljIHNlbGVjdGVkVGltZUNvbXBvbmVudDogYW55O1xuXG4gIEBWaWV3Q2hpbGQoJ3RpbWUnKSB0aW1lO1xuXG4gIEBJbnB1dCgpIGVuYWJsZURhdGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZVRpbWU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG1pbkRhdGU6IGFueTtcbiAgQElucHV0KCkgbWF4RGF0ZTogYW55O1xuICBASW5wdXQoKSBkYXRlRmlsdGVyOiBhbnk7XG4gIEBJbnB1dCgpIGhvdXJTdGVwOiBhbnk7XG4gIEBJbnB1dCgpIG1pbnV0ZVN0ZXA6IGFueTtcbiAgQE91dHB1dCgpIHRpbWVTZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZVNlbGVjdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgc2V0SW5zdGFuY2UoaW5zdGFuY2U6IGFueSkge1xuICAgIHN1cGVyLnNldEluc3RhbmNlKGluc3RhbmNlKTtcbiAgfVxuXG4gIHNldEV4aXN0ZWREYXRlKHZhbHVlKSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHNldEV4aXN0ZWRUaW1lKHZhbHVlLCBmb3JUaW1lKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWUgPSB2YWx1ZTtcbiAgICB0aGlzLnRpbWUuc2V0VmFsdWUoZm9yVGltZSk7XG4gIH1cblxuICBvbkRhdGUoZXZlbnQpe1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZXZlbnQ7XG4gICAgdGhpcy5kYXRlU2VsZWN0RXZlbnQuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XG4gIH1cblxuICBvblRpbWUoZXZlbnQpIHtcbiAgICB0aGlzLnNlbGVjdGVkVGltZSA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMudGltZVNlbGVjdEV2ZW50LmVtaXQodGhpcy5zZWxlY3RlZFRpbWUpO1xuICB9XG5cbiAgZ2V0UG9wdXBTdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgekluZGV4OiAnMTAwMCcsXG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgbWF4SGVpZ2h0OiAnMTAwJScsXG4gICAgICB0b3A6ICc5MHB4JyxcbiAgICAgIGxlZnQ6ICczMHB4J1xuICAgIH1cbiAgfVxufVxuIl19
|