@ng-formworks/material 17.2.7 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/assets/material-design-themes.scss +34 -16
- package/esm2022/lib/material-design-cssframework.mjs +23 -0
- package/esm2022/lib/material-design-framework.component.mjs +119 -0
- package/esm2022/lib/material-design-framework.module.mjs +117 -0
- package/esm2022/lib/material-design.framework.mjs +61 -0
- package/esm2022/lib/widgets/flex-layout-root.component.mjs +75 -0
- package/esm2022/lib/widgets/flex-layout-section.component.mjs +347 -0
- package/esm2022/lib/widgets/material-add-reference.component.mjs +66 -0
- package/esm2022/lib/widgets/material-button-group.component.mjs +90 -0
- package/esm2022/lib/widgets/material-button.component.mjs +80 -0
- package/esm2022/lib/widgets/material-checkbox.component.mjs +166 -0
- package/esm2022/lib/widgets/material-checkboxes.component.mjs +129 -0
- package/esm2022/lib/widgets/material-chip-list.component.mjs +35 -0
- package/esm2022/lib/widgets/material-datepicker.component.mjs +141 -0
- package/esm2022/lib/widgets/material-file.component.mjs +35 -0
- package/esm2022/lib/widgets/material-input.component.mjs +149 -0
- package/esm2022/lib/widgets/material-number.component.mjs +145 -0
- package/esm2022/lib/widgets/material-one-of.component.mjs +35 -0
- package/esm2022/lib/widgets/material-radios.component.mjs +122 -0
- package/esm2022/lib/widgets/material-select.component.mjs +186 -0
- package/esm2022/lib/widgets/material-slider.component.mjs +91 -0
- package/esm2022/lib/widgets/material-stepper.component.mjs +35 -0
- package/esm2022/lib/widgets/material-tabs.component.mjs +92 -0
- package/esm2022/lib/widgets/material-textarea.component.mjs +134 -0
- package/esm2022/lib/widgets/public_api.mjs +52 -0
- package/esm2022/ng-formworks-material.mjs +5 -0
- package/esm2022/public_api.mjs +8 -0
- package/fesm2022/ng-formworks-material.mjs +2357 -0
- package/fesm2022/ng-formworks-material.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/material-design-cssframework.d.ts +1 -0
- package/lib/material-design-framework.component.d.ts +35 -0
- package/lib/material-design-framework.module.d.ts +61 -0
- package/lib/material-design.framework.d.ts +46 -0
- package/lib/widgets/flex-layout-root.component.d.ts +15 -0
- package/lib/widgets/flex-layout-section.component.d.ts +25 -0
- package/lib/widgets/material-add-reference.component.d.ts +20 -0
- package/lib/widgets/material-button-group.component.d.ts +23 -0
- package/lib/widgets/material-button.component.d.ts +24 -0
- package/lib/widgets/material-checkbox.component.d.ts +25 -0
- package/lib/widgets/material-checkboxes.component.d.ts +27 -0
- package/lib/widgets/material-chip-list.component.d.ts +21 -0
- package/lib/widgets/material-datepicker.component.d.ts +22 -0
- package/lib/widgets/material-file.component.d.ts +21 -0
- package/lib/widgets/material-input.component.d.ts +23 -0
- package/lib/widgets/material-number.component.d.ts +26 -0
- package/lib/widgets/material-one-of.component.d.ts +21 -0
- package/lib/widgets/material-radios.component.d.ts +23 -0
- package/lib/widgets/material-select.component.d.ts +24 -0
- package/lib/widgets/material-slider.component.d.ts +25 -0
- package/lib/widgets/material-stepper.component.d.ts +21 -0
- package/lib/widgets/material-tabs.component.d.ts +20 -0
- package/lib/widgets/material-textarea.component.d.ts +22 -0
- package/{src/lib/widgets/public_api.ts → lib/widgets/public_api.d.ts} +41 -54
- package/package.json +64 -48
- package/{src/public_api.ts → public_api.d.ts} +4 -9
- package/karma.conf.js +0 -46
- package/ng-package.json +0 -13
- package/src/lib/flexlayout-replacement-styles.scss +0 -95
- package/src/lib/material-design-cssframework.ts +0 -20
- package/src/lib/material-design-framework.component.html +0 -13
- package/src/lib/material-design-framework.component.scss +0 -58
- package/src/lib/material-design-framework.component.spec.ts +0 -39
- package/src/lib/material-design-framework.component.ts +0 -143
- package/src/lib/material-design-framework.module.ts +0 -81
- package/src/lib/material-design-themes.scss +0 -71
- package/src/lib/material-design.framework.ts +0 -83
- package/src/lib/tailwind-output.scss +0 -622
- package/src/lib/widgets/flex-layout-root.component.html +0 -4
- package/src/lib/widgets/flex-layout-root.component.ts +0 -52
- package/src/lib/widgets/flex-layout-section.component.ts +0 -216
- package/src/lib/widgets/material-add-reference.component.ts +0 -56
- package/src/lib/widgets/material-button-group.component.ts +0 -68
- package/src/lib/widgets/material-button.component.ts +0 -66
- package/src/lib/widgets/material-checkbox.component.ts +0 -112
- package/src/lib/widgets/material-checkboxes.component.ts +0 -108
- package/src/lib/widgets/material-chip-list.component.ts +0 -35
- package/src/lib/widgets/material-datepicker.component.ts +0 -89
- package/src/lib/widgets/material-file.component.ts +0 -35
- package/src/lib/widgets/material-input.component.ts +0 -97
- package/src/lib/widgets/material-number.component.ts +0 -95
- package/src/lib/widgets/material-one-of.component.ts +0 -35
- package/src/lib/widgets/material-radios.component.ts +0 -91
- package/src/lib/widgets/material-select.component.ts +0 -118
- package/src/lib/widgets/material-slider.component.ts +0 -65
- package/src/lib/widgets/material-stepper.component.ts +0 -35
- package/src/lib/widgets/material-tabs.component.ts +0 -72
- package/src/lib/widgets/material-textarea.component.ts +0 -88
- package/src/test.ts +0 -17
- package/tailwind-input.css +0 -3
- package/tailwind.config.js +0 -12
- package/tsconfig.lib.json +0 -25
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -11
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { hasOwn } from '@ng-formworks/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ng-formworks/core";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/material/button";
|
|
7
|
+
import * as i4 from "@angular/material/icon";
|
|
8
|
+
export class MaterialButtonComponent {
|
|
9
|
+
constructor(jsf) {
|
|
10
|
+
this.jsf = jsf;
|
|
11
|
+
this.controlDisabled = false;
|
|
12
|
+
this.boundControl = false;
|
|
13
|
+
}
|
|
14
|
+
ngOnDestroy() {
|
|
15
|
+
this.isValidChangesSubs?.unsubscribe();
|
|
16
|
+
this.isValidChangesSubs = null;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.options = this.layoutNode.options || {};
|
|
20
|
+
this.jsf.initializeControl(this);
|
|
21
|
+
if (hasOwn(this.options, 'disabled')) {
|
|
22
|
+
this.controlDisabled = this.options.disabled;
|
|
23
|
+
}
|
|
24
|
+
else if (this.jsf.formOptions.disableInvalidSubmit) {
|
|
25
|
+
this.controlDisabled = !this.jsf.isValid;
|
|
26
|
+
this.jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
updateValue(event) {
|
|
30
|
+
if (typeof this.options.onClick === 'function') {
|
|
31
|
+
this.options.onClick(event);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.jsf.updateValue(this, event.target.value);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialButtonComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MaterialButtonComponent, selector: "material-button-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
39
|
+
<div class="button-row" [class]="options?.htmlClass || ''">
|
|
40
|
+
<button mat-raised-button
|
|
41
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
42
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
43
|
+
[color]="options?.color || 'primary'"
|
|
44
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
45
|
+
[id]="'control' + layoutNode?._id"
|
|
46
|
+
[name]="controlName"
|
|
47
|
+
[type]="layoutNode?.type"
|
|
48
|
+
[value]="controlValue"
|
|
49
|
+
(click)="updateValue($event)">
|
|
50
|
+
<mat-icon *ngIf="options?.icon" class="mat-24">{{options?.icon}}</mat-icon>
|
|
51
|
+
<span *ngIf="options?.title" [innerHTML]="options?.title"></span>
|
|
52
|
+
</button>
|
|
53
|
+
</div>`, isInline: true, styles: ["button{margin-top:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialButtonComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'material-button-widget', template: `
|
|
58
|
+
<div class="button-row" [class]="options?.htmlClass || ''">
|
|
59
|
+
<button mat-raised-button
|
|
60
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
61
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
62
|
+
[color]="options?.color || 'primary'"
|
|
63
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
64
|
+
[id]="'control' + layoutNode?._id"
|
|
65
|
+
[name]="controlName"
|
|
66
|
+
[type]="layoutNode?.type"
|
|
67
|
+
[value]="controlValue"
|
|
68
|
+
(click)="updateValue($event)">
|
|
69
|
+
<mat-icon *ngIf="options?.icon" class="mat-24">{{options?.icon}}</mat-icon>
|
|
70
|
+
<span *ngIf="options?.title" [innerHTML]="options?.title"></span>
|
|
71
|
+
</button>
|
|
72
|
+
</div>`, styles: ["button{margin-top:10px}\n"] }]
|
|
73
|
+
}], ctorParameters: () => [{ type: i1.JsonSchemaFormService }], propDecorators: { layoutNode: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], layoutIndex: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], dataIndex: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1tYXRlcmlhbC9zcmMvbGliL3dpZGdldHMvbWF0ZXJpYWwtYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUF5QixNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBd0JuRSxNQUFNLE9BQU8sdUJBQXVCO0lBWWxDLFlBQ1UsR0FBMEI7UUFBMUIsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFUcEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFTakIsQ0FBQztJQUVMLFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDL0MsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hGLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQzs4R0F0Q1UsdUJBQXVCO2tHQUF2Qix1QkFBdUIsd0pBbEJ4Qjs7Ozs7Ozs7Ozs7Ozs7O1dBZUQ7OzJGQUdFLHVCQUF1QjtrQkFyQm5DLFNBQVM7K0JBRUUsd0JBQXdCLFlBQ3hCOzs7Ozs7Ozs7Ozs7Ozs7V0FlRDswRkFVQSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBoYXNPd24gfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ21hdGVyaWFsLWJ1dHRvbi13aWRnZXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXJvd1wiIFtjbGFzc109XCJvcHRpb25zPy5odG1sQ2xhc3MgfHwgJydcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ1N0YXR1cydcIlxyXG4gICAgICAgIFtjb2xvcl09XCJvcHRpb25zPy5jb2xvciB8fCAncHJpbWFyeSdcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWQgfHwgb3B0aW9ucz8ucmVhZG9ubHlcIlxyXG4gICAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxyXG4gICAgICAgIFtuYW1lXT1cImNvbnRyb2xOYW1lXCJcclxuICAgICAgICBbdHlwZV09XCJsYXlvdXROb2RlPy50eXBlXCJcclxuICAgICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcclxuICAgICAgICAoY2xpY2spPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbnM/Lmljb25cIiBjbGFzcz1cIm1hdC0yNFwiPnt7b3B0aW9ucz8uaWNvbn19PC9tYXQtaWNvbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCIgW2lubmVySFRNTF09XCJvcHRpb25zPy50aXRsZVwiPjwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5gLFxyXG4gICAgc3R5bGVzOiBbYCBidXR0b24geyBtYXJnaW4tdG9wOiAxMHB4OyB9IGBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgY29udHJvbFZhbHVlOiBhbnk7XHJcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XHJcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XHJcbiAgb3B0aW9uczogYW55O1xyXG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueTtcclxuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XHJcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcclxuXHJcbiAgaXNWYWxpZENoYW5nZXNTdWJzOlN1YnNjcmlwdGlvbjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUganNmOiBKc29uU2NoZW1hRm9ybVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNWYWxpZENoYW5nZXNTdWJzPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5pc1ZhbGlkQ2hhbmdlc1N1YnM9bnVsbDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKTtcclxuICAgIGlmIChoYXNPd24odGhpcy5vcHRpb25zLCAnZGlzYWJsZWQnKSkge1xyXG4gICAgICB0aGlzLmNvbnRyb2xEaXNhYmxlZCA9IHRoaXMub3B0aW9ucy5kaXNhYmxlZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5qc2YuZm9ybU9wdGlvbnMuZGlzYWJsZUludmFsaWRTdWJtaXQpIHtcclxuICAgICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSAhdGhpcy5qc2YuaXNWYWxpZDtcclxuICAgICAgdGhpcy5qc2YuaXNWYWxpZENoYW5nZXMuc3Vic2NyaWJlKGlzVmFsaWQgPT4gdGhpcy5jb250cm9sRGlzYWJsZWQgPSAhaXNWYWxpZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZShldmVudCkge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLm9wdGlvbnMub25DbGljayhldmVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ng-formworks/core";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@angular/forms";
|
|
6
|
+
import * as i4 from "@angular/material/checkbox";
|
|
7
|
+
import * as i5 from "@angular/material/form-field";
|
|
8
|
+
import * as i6 from "@angular/material/slide-toggle";
|
|
9
|
+
export class MaterialCheckboxComponent {
|
|
10
|
+
constructor(jsf) {
|
|
11
|
+
this.jsf = jsf;
|
|
12
|
+
this.controlDisabled = false;
|
|
13
|
+
this.boundControl = false;
|
|
14
|
+
this.trueValue = true;
|
|
15
|
+
this.falseValue = false;
|
|
16
|
+
this.showSlideToggle = false;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.options = this.layoutNode.options || {};
|
|
20
|
+
this.jsf.initializeControl(this, !this.options.readonly);
|
|
21
|
+
if (this.controlValue === null || this.controlValue === undefined) {
|
|
22
|
+
this.controlValue = false;
|
|
23
|
+
this.jsf.updateValue(this, this.falseValue);
|
|
24
|
+
}
|
|
25
|
+
if (this.layoutNode.type === 'slide-toggle' ||
|
|
26
|
+
this.layoutNode.format === 'slide-toggle') {
|
|
27
|
+
this.showSlideToggle = true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
updateValue(event) {
|
|
31
|
+
this.options.showErrors = true;
|
|
32
|
+
this.jsf.updateValue(this, event.checked ? this.trueValue : this.falseValue);
|
|
33
|
+
}
|
|
34
|
+
get isChecked() {
|
|
35
|
+
return this.jsf.getFormControlValue(this) === this.trueValue;
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialCheckboxComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MaterialCheckboxComponent, selector: "material-checkbox-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
39
|
+
<mat-checkbox *ngIf="boundControl && !showSlideToggle"
|
|
40
|
+
[formControl]="formControl"
|
|
41
|
+
align="left"
|
|
42
|
+
[color]="options?.color || 'primary'"
|
|
43
|
+
[id]="'control' + layoutNode?._id"
|
|
44
|
+
labelPosition="after"
|
|
45
|
+
[name]="controlName"
|
|
46
|
+
(blur)="options.showErrors = true">
|
|
47
|
+
<span *ngIf="options?.title"
|
|
48
|
+
class="checkbox-name"
|
|
49
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
50
|
+
[innerHTML]="options?.title"></span>
|
|
51
|
+
</mat-checkbox>
|
|
52
|
+
<mat-checkbox *ngIf="!boundControl && !showSlideToggle"
|
|
53
|
+
align="left"
|
|
54
|
+
[color]="options?.color || 'primary'"
|
|
55
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
56
|
+
[id]="'control' + layoutNode?._id"
|
|
57
|
+
labelPosition="after"
|
|
58
|
+
[name]="controlName"
|
|
59
|
+
[checked]="isChecked"
|
|
60
|
+
(blur)="options.showErrors = true"
|
|
61
|
+
(change)="updateValue($event)">
|
|
62
|
+
<span *ngIf="options?.title"
|
|
63
|
+
class="checkbox-name"
|
|
64
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
65
|
+
[innerHTML]="options?.title"></span>
|
|
66
|
+
</mat-checkbox>
|
|
67
|
+
<mat-slide-toggle *ngIf="boundControl && showSlideToggle"
|
|
68
|
+
[formControl]="formControl"
|
|
69
|
+
align="left"
|
|
70
|
+
[color]="options?.color || 'primary'"
|
|
71
|
+
[id]="'control' + layoutNode?._id"
|
|
72
|
+
labelPosition="after"
|
|
73
|
+
[name]="controlName"
|
|
74
|
+
(blur)="options.showErrors = true">
|
|
75
|
+
<span *ngIf="options?.title"
|
|
76
|
+
class="checkbox-name"
|
|
77
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
78
|
+
[innerHTML]="options?.title"></span>
|
|
79
|
+
</mat-slide-toggle>
|
|
80
|
+
<mat-slide-toggle *ngIf="!boundControl && showSlideToggle"
|
|
81
|
+
align="left"
|
|
82
|
+
[color]="options?.color || 'primary'"
|
|
83
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
84
|
+
[id]="'control' + layoutNode?._id"
|
|
85
|
+
labelPosition="after"
|
|
86
|
+
[name]="controlName"
|
|
87
|
+
[checked]="isChecked"
|
|
88
|
+
(blur)="options.showErrors = true"
|
|
89
|
+
(change)="updateValue($event)">
|
|
90
|
+
<span *ngIf="options?.title"
|
|
91
|
+
class="checkbox-name"
|
|
92
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
93
|
+
[innerHTML]="options?.title"></span>
|
|
94
|
+
</mat-slide-toggle>
|
|
95
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
96
|
+
[innerHTML]="options?.errorMessage"></mat-error>`, isInline: true, styles: [".checkbox-name{white-space:nowrap}mat-error{font-size:75%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }] }); }
|
|
97
|
+
}
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialCheckboxComponent, decorators: [{
|
|
99
|
+
type: Component,
|
|
100
|
+
args: [{ selector: 'material-checkbox-widget', template: `
|
|
101
|
+
<mat-checkbox *ngIf="boundControl && !showSlideToggle"
|
|
102
|
+
[formControl]="formControl"
|
|
103
|
+
align="left"
|
|
104
|
+
[color]="options?.color || 'primary'"
|
|
105
|
+
[id]="'control' + layoutNode?._id"
|
|
106
|
+
labelPosition="after"
|
|
107
|
+
[name]="controlName"
|
|
108
|
+
(blur)="options.showErrors = true">
|
|
109
|
+
<span *ngIf="options?.title"
|
|
110
|
+
class="checkbox-name"
|
|
111
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
112
|
+
[innerHTML]="options?.title"></span>
|
|
113
|
+
</mat-checkbox>
|
|
114
|
+
<mat-checkbox *ngIf="!boundControl && !showSlideToggle"
|
|
115
|
+
align="left"
|
|
116
|
+
[color]="options?.color || 'primary'"
|
|
117
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
118
|
+
[id]="'control' + layoutNode?._id"
|
|
119
|
+
labelPosition="after"
|
|
120
|
+
[name]="controlName"
|
|
121
|
+
[checked]="isChecked"
|
|
122
|
+
(blur)="options.showErrors = true"
|
|
123
|
+
(change)="updateValue($event)">
|
|
124
|
+
<span *ngIf="options?.title"
|
|
125
|
+
class="checkbox-name"
|
|
126
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
127
|
+
[innerHTML]="options?.title"></span>
|
|
128
|
+
</mat-checkbox>
|
|
129
|
+
<mat-slide-toggle *ngIf="boundControl && showSlideToggle"
|
|
130
|
+
[formControl]="formControl"
|
|
131
|
+
align="left"
|
|
132
|
+
[color]="options?.color || 'primary'"
|
|
133
|
+
[id]="'control' + layoutNode?._id"
|
|
134
|
+
labelPosition="after"
|
|
135
|
+
[name]="controlName"
|
|
136
|
+
(blur)="options.showErrors = true">
|
|
137
|
+
<span *ngIf="options?.title"
|
|
138
|
+
class="checkbox-name"
|
|
139
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
140
|
+
[innerHTML]="options?.title"></span>
|
|
141
|
+
</mat-slide-toggle>
|
|
142
|
+
<mat-slide-toggle *ngIf="!boundControl && showSlideToggle"
|
|
143
|
+
align="left"
|
|
144
|
+
[color]="options?.color || 'primary'"
|
|
145
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
146
|
+
[id]="'control' + layoutNode?._id"
|
|
147
|
+
labelPosition="after"
|
|
148
|
+
[name]="controlName"
|
|
149
|
+
[checked]="isChecked"
|
|
150
|
+
(blur)="options.showErrors = true"
|
|
151
|
+
(change)="updateValue($event)">
|
|
152
|
+
<span *ngIf="options?.title"
|
|
153
|
+
class="checkbox-name"
|
|
154
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
155
|
+
[innerHTML]="options?.title"></span>
|
|
156
|
+
</mat-slide-toggle>
|
|
157
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
158
|
+
[innerHTML]="options?.errorMessage"></mat-error>`, styles: [".checkbox-name{white-space:nowrap}mat-error{font-size:75%}\n"] }]
|
|
159
|
+
}], ctorParameters: () => [{ type: i1.JsonSchemaFormService }], propDecorators: { layoutNode: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], layoutIndex: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], dataIndex: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}] } });
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLW1hdGVyaWFsL3NyYy9saWIvd2lkZ2V0cy9tYXRlcmlhbC1jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBdUV6RCxNQUFNLE9BQU8seUJBQXlCO0lBY3BDLFlBQ1UsR0FBMEI7UUFBMUIsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFYcEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsY0FBUyxHQUFRLElBQUksQ0FBQztRQUN0QixlQUFVLEdBQVEsS0FBSyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBT3BCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLGNBQWM7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssY0FBYyxFQUN6QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMvRCxDQUFDOzhHQXZDVSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwwSkFoRTFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VEQTBEMkM7OzJGQU0xQyx5QkFBeUI7a0JBbkVyQyxTQUFTOytCQUVFLDBCQUEwQixZQUMxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1REEwRDJDOzBGQWdCNUMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnbWF0ZXJpYWwtY2hlY2tib3gtd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1hdC1jaGVja2JveCAqbmdJZj1cImJvdW5kQ29udHJvbCAmJiAhc2hvd1NsaWRlVG9nZ2xlXCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgYWxpZ249XCJsZWZ0XCJcclxuICAgICAgW2NvbG9yXT1cIm9wdGlvbnM/LmNvbG9yIHx8ICdwcmltYXJ5J1wiXHJcbiAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxyXG4gICAgICBsYWJlbFBvc2l0aW9uPVwiYWZ0ZXJcIlxyXG4gICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXHJcbiAgICAgIChibHVyKT1cIm9wdGlvbnMuc2hvd0Vycm9ycyA9IHRydWVcIj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJvcHRpb25zPy50aXRsZVwiXHJcbiAgICAgICAgY2xhc3M9XCJjaGVja2JveC1uYW1lXCJcclxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJvcHRpb25zPy5ub3RpdGxlID8gJ25vbmUnIDogJydcIlxyXG4gICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8udGl0bGVcIj48L3NwYW4+XHJcbiAgICA8L21hdC1jaGVja2JveD5cclxuICAgIDxtYXQtY2hlY2tib3ggKm5nSWY9XCIhYm91bmRDb250cm9sICYmICFzaG93U2xpZGVUb2dnbGVcIlxyXG4gICAgICBhbGlnbj1cImxlZnRcIlxyXG4gICAgICBbY29sb3JdPVwib3B0aW9ucz8uY29sb3IgfHwgJ3ByaW1hcnknXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImNvbnRyb2xEaXNhYmxlZCB8fCBvcHRpb25zPy5yZWFkb25seVwiXHJcbiAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxyXG4gICAgICBsYWJlbFBvc2l0aW9uPVwiYWZ0ZXJcIlxyXG4gICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXHJcbiAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXHJcbiAgICAgIChibHVyKT1cIm9wdGlvbnMuc2hvd0Vycm9ycyA9IHRydWVcIlxyXG4gICAgICAoY2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJvcHRpb25zPy50aXRsZVwiXHJcbiAgICAgICAgY2xhc3M9XCJjaGVja2JveC1uYW1lXCJcclxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJvcHRpb25zPy5ub3RpdGxlID8gJ25vbmUnIDogJydcIlxyXG4gICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8udGl0bGVcIj48L3NwYW4+XHJcbiAgICA8L21hdC1jaGVja2JveD5cclxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlICpuZ0lmPVwiYm91bmRDb250cm9sICYmIHNob3dTbGlkZVRvZ2dsZVwiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgIGFsaWduPVwibGVmdFwiXHJcbiAgICAgIFtjb2xvcl09XCJvcHRpb25zPy5jb2xvciB8fCAncHJpbWFyeSdcIlxyXG4gICAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkXCJcclxuICAgICAgbGFiZWxQb3NpdGlvbj1cImFmdGVyXCJcclxuICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxyXG4gICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwib3B0aW9ucz8udGl0bGVcIlxyXG4gICAgICAgIGNsYXNzPVwiY2hlY2tib3gtbmFtZVwiXHJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwib3B0aW9ucz8ubm90aXRsZSA/ICdub25lJyA6ICcnXCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbnM/LnRpdGxlXCI+PC9zcGFuPlxyXG4gICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPG1hdC1zbGlkZS10b2dnbGUgKm5nSWY9XCIhYm91bmRDb250cm9sICYmIHNob3dTbGlkZVRvZ2dsZVwiXHJcbiAgICAgIGFsaWduPVwibGVmdFwiXHJcbiAgICAgIFtjb2xvcl09XCJvcHRpb25zPy5jb2xvciB8fCAncHJpbWFyeSdcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiY29udHJvbERpc2FibGVkIHx8IG9wdGlvbnM/LnJlYWRvbmx5XCJcclxuICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXHJcbiAgICAgIGxhYmVsUG9zaXRpb249XCJhZnRlclwiXHJcbiAgICAgIFtuYW1lXT1cImNvbnRyb2xOYW1lXCJcclxuICAgICAgW2NoZWNrZWRdPVwiaXNDaGVja2VkXCJcclxuICAgICAgKGJsdXIpPVwib3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZVwiXHJcbiAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcclxuICAgICAgICBjbGFzcz1cImNoZWNrYm94LW5hbWVcIlxyXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIm9wdGlvbnM/Lm5vdGl0bGUgPyAnbm9uZScgOiAnJ1wiXHJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy50aXRsZVwiPjwvc3Bhbj5cclxuICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJvcHRpb25zPy5zaG93RXJyb3JzICYmIG9wdGlvbnM/LmVycm9yTWVzc2FnZVwiXHJcbiAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uZXJyb3JNZXNzYWdlXCI+PC9tYXQtZXJyb3I+YCxcclxuICBzdHlsZXM6IFtgXHJcbiAgICAuY2hlY2tib3gtbmFtZSB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cclxuICAgIG1hdC1lcnJvciB7IGZvbnQtc2l6ZTogNzUlOyB9XHJcbiAgYF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgY29udHJvbFZhbHVlOiBhbnk7XHJcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XHJcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XHJcbiAgb3B0aW9uczogYW55O1xyXG4gIHRydWVWYWx1ZTogYW55ID0gdHJ1ZTtcclxuICBmYWxzZVZhbHVlOiBhbnkgPSBmYWxzZTtcclxuICBzaG93U2xpZGVUb2dnbGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnk7XHJcbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzLCAhdGhpcy5vcHRpb25zLnJlYWRvbmx5KTtcclxuICAgIGlmICh0aGlzLmNvbnRyb2xWYWx1ZSA9PT0gbnVsbCB8fCB0aGlzLmNvbnRyb2xWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbFZhbHVlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIHRoaXMuZmFsc2VWYWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5sYXlvdXROb2RlLnR5cGUgPT09ICdzbGlkZS10b2dnbGUnIHx8XHJcbiAgICAgIHRoaXMubGF5b3V0Tm9kZS5mb3JtYXQgPT09ICdzbGlkZS10b2dnbGUnXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zaG93U2xpZGVUb2dnbGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcclxuICAgIHRoaXMub3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZTtcclxuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LmNoZWNrZWQgPyB0aGlzLnRydWVWYWx1ZSA6IHRoaXMuZmFsc2VWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDaGVja2VkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLmdldEZvcm1Db250cm9sVmFsdWUodGhpcykgPT09IHRoaXMudHJ1ZVZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { buildTitleMap } from '@ng-formworks/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ng-formworks/core";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "@angular/material/checkbox";
|
|
8
|
+
import * as i5 from "@angular/material/form-field";
|
|
9
|
+
// TODO: Change this to use a Selection List instead?
|
|
10
|
+
// https://material.angular.io/components/list/overview
|
|
11
|
+
export class MaterialCheckboxesComponent {
|
|
12
|
+
constructor(jsf) {
|
|
13
|
+
this.jsf = jsf;
|
|
14
|
+
this.controlDisabled = false;
|
|
15
|
+
this.boundControl = false;
|
|
16
|
+
this.horizontalList = false;
|
|
17
|
+
this.checkboxList = [];
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.options = this.layoutNode.options || {};
|
|
21
|
+
this.horizontalList = this.layoutNode.type === 'checkboxes-inline' ||
|
|
22
|
+
this.layoutNode.type === 'checkboxbuttons';
|
|
23
|
+
this.jsf.initializeControl(this);
|
|
24
|
+
this.checkboxList = buildTitleMap(this.options.titleMap || this.options.enumNames, this.options.enum, true);
|
|
25
|
+
if (this.boundControl) {
|
|
26
|
+
const formArray = this.jsf.getFormControl(this);
|
|
27
|
+
for (const checkboxItem of this.checkboxList) {
|
|
28
|
+
checkboxItem.checked = formArray.value.includes(checkboxItem.value);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
get allChecked() {
|
|
33
|
+
return this.checkboxList.filter(t => t.checked).length === this.checkboxList.length;
|
|
34
|
+
}
|
|
35
|
+
get someChecked() {
|
|
36
|
+
const checkedItems = this.checkboxList.filter(t => t.checked).length;
|
|
37
|
+
return checkedItems > 0 && checkedItems < this.checkboxList.length;
|
|
38
|
+
}
|
|
39
|
+
updateValue() {
|
|
40
|
+
this.options.showErrors = true;
|
|
41
|
+
if (this.boundControl) {
|
|
42
|
+
this.jsf.updateArrayCheckboxList(this, this.checkboxList);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
updateAllValues(event) {
|
|
46
|
+
this.options.showErrors = true;
|
|
47
|
+
this.checkboxList.forEach(t => t.checked = event.checked);
|
|
48
|
+
this.updateValue();
|
|
49
|
+
}
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialCheckboxesComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MaterialCheckboxesComponent, selector: "material-checkboxes-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
52
|
+
<div>
|
|
53
|
+
<mat-checkbox type="checkbox"
|
|
54
|
+
[checked]="allChecked"
|
|
55
|
+
[color]="options?.color || 'primary'"
|
|
56
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
57
|
+
[indeterminate]="someChecked"
|
|
58
|
+
[name]="options?.name"
|
|
59
|
+
(blur)="options.showErrors = true"
|
|
60
|
+
(change)="updateAllValues($event)">
|
|
61
|
+
<span class="checkbox-name" [innerHTML]="options?.name"></span>
|
|
62
|
+
</mat-checkbox>
|
|
63
|
+
<label *ngIf="options?.title"
|
|
64
|
+
class="title"
|
|
65
|
+
[class]="options?.labelHtmlClass || ''"
|
|
66
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
67
|
+
[innerHTML]="options?.title"></label>
|
|
68
|
+
<ul class="checkbox-list" [class.horizontal-list]="horizontalList">
|
|
69
|
+
<li *ngFor="let checkboxItem of checkboxList"
|
|
70
|
+
[class]="options?.htmlClass || ''">
|
|
71
|
+
<mat-checkbox type="checkbox"
|
|
72
|
+
[(ngModel)]="checkboxItem.checked"
|
|
73
|
+
[color]="options?.color || 'primary'"
|
|
74
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
75
|
+
[name]="checkboxItem?.name"
|
|
76
|
+
(blur)="options.showErrors = true"
|
|
77
|
+
(change)="updateValue()">
|
|
78
|
+
<span class="checkbox-name" [innerHTML]="checkboxItem?.name"></span>
|
|
79
|
+
</mat-checkbox>
|
|
80
|
+
</li>
|
|
81
|
+
</ul>
|
|
82
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
83
|
+
[innerHTML]="options?.errorMessage"></mat-error>
|
|
84
|
+
</div>`, isInline: true, styles: [".title{font-weight:700}.checkbox-list{list-style-type:none}.horizontal-list>li{display:inline-block;margin-right:10px;zoom:1}.checkbox-name{white-space:nowrap}mat-error{font-size:75%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }] }); }
|
|
85
|
+
}
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialCheckboxesComponent, decorators: [{
|
|
87
|
+
type: Component,
|
|
88
|
+
args: [{ selector: 'material-checkboxes-widget', template: `
|
|
89
|
+
<div>
|
|
90
|
+
<mat-checkbox type="checkbox"
|
|
91
|
+
[checked]="allChecked"
|
|
92
|
+
[color]="options?.color || 'primary'"
|
|
93
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
94
|
+
[indeterminate]="someChecked"
|
|
95
|
+
[name]="options?.name"
|
|
96
|
+
(blur)="options.showErrors = true"
|
|
97
|
+
(change)="updateAllValues($event)">
|
|
98
|
+
<span class="checkbox-name" [innerHTML]="options?.name"></span>
|
|
99
|
+
</mat-checkbox>
|
|
100
|
+
<label *ngIf="options?.title"
|
|
101
|
+
class="title"
|
|
102
|
+
[class]="options?.labelHtmlClass || ''"
|
|
103
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
104
|
+
[innerHTML]="options?.title"></label>
|
|
105
|
+
<ul class="checkbox-list" [class.horizontal-list]="horizontalList">
|
|
106
|
+
<li *ngFor="let checkboxItem of checkboxList"
|
|
107
|
+
[class]="options?.htmlClass || ''">
|
|
108
|
+
<mat-checkbox type="checkbox"
|
|
109
|
+
[(ngModel)]="checkboxItem.checked"
|
|
110
|
+
[color]="options?.color || 'primary'"
|
|
111
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
112
|
+
[name]="checkboxItem?.name"
|
|
113
|
+
(blur)="options.showErrors = true"
|
|
114
|
+
(change)="updateValue()">
|
|
115
|
+
<span class="checkbox-name" [innerHTML]="checkboxItem?.name"></span>
|
|
116
|
+
</mat-checkbox>
|
|
117
|
+
</li>
|
|
118
|
+
</ul>
|
|
119
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
120
|
+
[innerHTML]="options?.errorMessage"></mat-error>
|
|
121
|
+
</div>`, styles: [".title{font-weight:700}.checkbox-list{list-style-type:none}.horizontal-list>li{display:inline-block;margin-right:10px;zoom:1}.checkbox-name{white-space:nowrap}mat-error{font-size:75%}\n"] }]
|
|
122
|
+
}], ctorParameters: () => [{ type: i1.JsonSchemaFormService }], propDecorators: { layoutNode: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], layoutIndex: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], dataIndex: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}] } });
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtY2hlY2tib3hlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL21hdGVyaWFsLWNoZWNrYm94ZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBdUMsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFFeEYscURBQXFEO0FBQ3JELHVEQUF1RDtBQStDdkQsTUFBTSxPQUFPLDJCQUEyQjtJQWN0QyxZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBWHBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztJQU85QixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssbUJBQW1CO1lBQ2hFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FDekUsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hELEtBQUssTUFBTSxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM3QyxZQUFZLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3JFLE9BQU8sWUFBWSxHQUFHLENBQUMsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDckUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBdERVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDRKQTFDNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQWlDRDs7MkZBU0UsMkJBQTJCO2tCQTdDdkMsU0FBUzsrQkFFRSw0QkFBNEIsWUFDNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQWlDRDswRkFtQkEsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UsIFRpdGxlTWFwSXRlbSwgYnVpbGRUaXRsZU1hcCB9IGZyb20gJ0BuZy1mb3Jtd29ya3MvY29yZSc7XHJcblxyXG4vLyBUT0RPOiBDaGFuZ2UgdGhpcyB0byB1c2UgYSBTZWxlY3Rpb24gTGlzdCBpbnN0ZWFkP1xyXG4vLyBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50cy9saXN0L292ZXJ2aWV3XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdtYXRlcmlhbC1jaGVja2JveGVzLXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXY+XHJcbiAgICAgIDxtYXQtY2hlY2tib3ggdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICBbY2hlY2tlZF09XCJhbGxDaGVja2VkXCJcclxuICAgICAgICBbY29sb3JdPVwib3B0aW9ucz8uY29sb3IgfHwgJ3ByaW1hcnknXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiY29udHJvbERpc2FibGVkIHx8IG9wdGlvbnM/LnJlYWRvbmx5XCJcclxuICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzb21lQ2hlY2tlZFwiXHJcbiAgICAgICAgW25hbWVdPVwib3B0aW9ucz8ubmFtZVwiXHJcbiAgICAgICAgKGJsdXIpPVwib3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZVwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVBbGxWYWx1ZXMoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tib3gtbmFtZVwiIFtpbm5lckhUTUxdPVwib3B0aW9ucz8ubmFtZVwiPjwvc3Bhbj5cclxuICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDxsYWJlbCAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcclxuICAgICAgICBjbGFzcz1cInRpdGxlXCJcclxuICAgICAgICBbY2xhc3NdPVwib3B0aW9ucz8ubGFiZWxIdG1sQ2xhc3MgfHwgJydcIlxyXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIm9wdGlvbnM/Lm5vdGl0bGUgPyAnbm9uZScgOiAnJ1wiXHJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy50aXRsZVwiPjwvbGFiZWw+XHJcbiAgICAgIDx1bCBjbGFzcz1cImNoZWNrYm94LWxpc3RcIiBbY2xhc3MuaG9yaXpvbnRhbC1saXN0XT1cImhvcml6b250YWxMaXN0XCI+XHJcbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBjaGVja2JveEl0ZW0gb2YgY2hlY2tib3hMaXN0XCJcclxuICAgICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5odG1sQ2xhc3MgfHwgJydcIj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjaGVja2JveEl0ZW0uY2hlY2tlZFwiXHJcbiAgICAgICAgICAgIFtjb2xvcl09XCJvcHRpb25zPy5jb2xvciB8fCAncHJpbWFyeSdcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiY29udHJvbERpc2FibGVkIHx8IG9wdGlvbnM/LnJlYWRvbmx5XCJcclxuICAgICAgICAgICAgW25hbWVdPVwiY2hlY2tib3hJdGVtPy5uYW1lXCJcclxuICAgICAgICAgICAgKGJsdXIpPVwib3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZVwiXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrYm94LW5hbWVcIiBbaW5uZXJIVE1MXT1cImNoZWNrYm94SXRlbT8ubmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJvcHRpb25zPy5zaG93RXJyb3JzICYmIG9wdGlvbnM/LmVycm9yTWVzc2FnZVwiXHJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5lcnJvck1lc3NhZ2VcIj48L21hdC1lcnJvcj5cclxuICAgIDwvZGl2PmAsXHJcbiAgc3R5bGVzOiBbYFxyXG4gICAgLnRpdGxlIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuICAgIC5jaGVja2JveC1saXN0IHsgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XHJcbiAgICAuaG9yaXpvbnRhbC1saXN0ID4gbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogMTBweDsgem9vbTogMTsgfVxyXG4gICAgLmNoZWNrYm94LW5hbWUgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcbiAgICBtYXQtZXJyb3IgeyBmb250LXNpemU6IDc1JTsgfVxyXG4gIGBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxDaGVja2JveGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgY29udHJvbFZhbHVlOiBhbnk7XHJcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XHJcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XHJcbiAgb3B0aW9uczogYW55O1xyXG4gIGhvcml6b250YWxMaXN0ID0gZmFsc2U7XHJcbiAgZm9ybUFycmF5OiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY2hlY2tib3hMaXN0OiBUaXRsZU1hcEl0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueTtcclxuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XHJcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUub3B0aW9ucyB8fCB7fTtcclxuICAgIHRoaXMuaG9yaXpvbnRhbExpc3QgPSB0aGlzLmxheW91dE5vZGUudHlwZSA9PT0gJ2NoZWNrYm94ZXMtaW5saW5lJyB8fFxyXG4gICAgICB0aGlzLmxheW91dE5vZGUudHlwZSA9PT0gJ2NoZWNrYm94YnV0dG9ucyc7XHJcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKTtcclxuICAgIHRoaXMuY2hlY2tib3hMaXN0ID0gYnVpbGRUaXRsZU1hcChcclxuICAgICAgdGhpcy5vcHRpb25zLnRpdGxlTWFwIHx8IHRoaXMub3B0aW9ucy5lbnVtTmFtZXMsIHRoaXMub3B0aW9ucy5lbnVtLCB0cnVlXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuYm91bmRDb250cm9sKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuanNmLmdldEZvcm1Db250cm9sKHRoaXMpO1xyXG4gICAgICBmb3IgKGNvbnN0IGNoZWNrYm94SXRlbSBvZiB0aGlzLmNoZWNrYm94TGlzdCkge1xyXG4gICAgICAgIGNoZWNrYm94SXRlbS5jaGVja2VkID0gZm9ybUFycmF5LnZhbHVlLmluY2x1ZGVzKGNoZWNrYm94SXRlbS52YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBhbGxDaGVja2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tib3hMaXN0LmZpbHRlcih0ID0+IHQuY2hlY2tlZCkubGVuZ3RoID09PSB0aGlzLmNoZWNrYm94TGlzdC5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBnZXQgc29tZUNoZWNrZWQoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBjaGVja2VkSXRlbXMgPSB0aGlzLmNoZWNrYm94TGlzdC5maWx0ZXIodCA9PiB0LmNoZWNrZWQpLmxlbmd0aDtcclxuICAgIHJldHVybiBjaGVja2VkSXRlbXMgPiAwICYmIGNoZWNrZWRJdGVtcyA8IHRoaXMuY2hlY2tib3hMaXN0Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVZhbHVlKCkge1xyXG4gICAgdGhpcy5vcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuYm91bmRDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuanNmLnVwZGF0ZUFycmF5Q2hlY2tib3hMaXN0KHRoaXMsIHRoaXMuY2hlY2tib3hMaXN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZUFsbFZhbHVlcyhldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9wdGlvbnMuc2hvd0Vycm9ycyA9IHRydWU7XHJcbiAgICB0aGlzLmNoZWNrYm94TGlzdC5mb3JFYWNoKHQgPT4gdC5jaGVja2VkID0gZXZlbnQuY2hlY2tlZCk7XHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ng-formworks/core";
|
|
4
|
+
// TODO: Add this control
|
|
5
|
+
export class MaterialChipListComponent {
|
|
6
|
+
constructor(jsf) {
|
|
7
|
+
this.jsf = jsf;
|
|
8
|
+
this.controlDisabled = false;
|
|
9
|
+
this.boundControl = false;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.options = this.layoutNode.options || {};
|
|
13
|
+
this.jsf.initializeControl(this);
|
|
14
|
+
}
|
|
15
|
+
updateValue(event) {
|
|
16
|
+
this.jsf.updateValue(this, event.target.value);
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialChipListComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MaterialChipListComponent, selector: "material-chip-list-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: ``, isInline: true }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialChipListComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
// tslint:disable-next-line:component-selector
|
|
25
|
+
selector: 'material-chip-list-widget',
|
|
26
|
+
template: ``,
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: () => [{ type: i1.JsonSchemaFormService }], propDecorators: { layoutNode: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], layoutIndex: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}], dataIndex: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}] } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtY2hpcC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1tYXRlcmlhbC9zcmMvbGliL3dpZGdldHMvbWF0ZXJpYWwtY2hpcC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBSXpELHlCQUF5QjtBQU96QixNQUFNLE9BQU8seUJBQXlCO0lBV3BDLFlBQ1UsR0FBMEI7UUFBMUIsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFScEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFRakIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7OEdBdEJVLHlCQUF5QjtrR0FBekIseUJBQXlCLDJKQUYxQixFQUFFOzsyRkFFRCx5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRkFRVSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BuZy1mb3Jtd29ya3MvY29yZSc7XHJcblxyXG4vLyBUT0RPOiBBZGQgdGhpcyBjb250cm9sXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdtYXRlcmlhbC1jaGlwLWxpc3Qtd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbENoaXBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgY29udHJvbFZhbHVlOiBhbnk7XHJcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XHJcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XHJcbiAgb3B0aW9uczogYW55O1xyXG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueTtcclxuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XHJcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUub3B0aW9ucyB8fCB7fTtcclxuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcclxuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Component, Inject, Input, Optional } from '@angular/core';
|
|
2
|
+
import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ng-formworks/core";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "@angular/material/datepicker";
|
|
8
|
+
import * as i5 from "@angular/material/form-field";
|
|
9
|
+
import * as i6 from "@angular/material/input";
|
|
10
|
+
export class MaterialDatepickerComponent {
|
|
11
|
+
constructor(matFormFieldDefaultOptions, jsf) {
|
|
12
|
+
this.matFormFieldDefaultOptions = matFormFieldDefaultOptions;
|
|
13
|
+
this.jsf = jsf;
|
|
14
|
+
this.controlDisabled = false;
|
|
15
|
+
this.boundControl = false;
|
|
16
|
+
this.autoCompleteList = [];
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.options = this.layoutNode.options || {};
|
|
20
|
+
this.jsf.initializeControl(this, !this.options.readonly);
|
|
21
|
+
if (!this.options.notitle && !this.options.description && this.options.placeholder) {
|
|
22
|
+
this.options.description = this.options.placeholder;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialDatepickerComponent, deps: [{ token: MAT_FORM_FIELD_DEFAULT_OPTIONS, optional: true }, { token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MaterialDatepickerComponent, selector: "material-datepicker-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
27
|
+
<mat-form-field [appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'"
|
|
28
|
+
[class]="options?.htmlClass || ''"
|
|
29
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
30
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
31
|
+
[style.width]="'100%'">
|
|
32
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
33
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
34
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
35
|
+
<input matInput *ngIf="boundControl"
|
|
36
|
+
[formControl]="formControl"
|
|
37
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
38
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
39
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
40
|
+
[id]="'control' + layoutNode?._id"
|
|
41
|
+
[max]="options?.maximum"
|
|
42
|
+
[matDatepicker]="picker"
|
|
43
|
+
[min]="options?.minimum"
|
|
44
|
+
[name]="controlName"
|
|
45
|
+
[placeholder]="options?.title"
|
|
46
|
+
[readonly]="options?.readonly"
|
|
47
|
+
[required]="options?.required"
|
|
48
|
+
[style.width]="'100%'"
|
|
49
|
+
(blur)="options.showErrors = true"
|
|
50
|
+
>
|
|
51
|
+
<input matInput *ngIf="!boundControl"
|
|
52
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
53
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
54
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
55
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
56
|
+
[id]="'control' + layoutNode?._id"
|
|
57
|
+
[max]="options?.maximum"
|
|
58
|
+
[matDatepicker]="picker"
|
|
59
|
+
[min]="options?.minimum"
|
|
60
|
+
[name]="controlName"
|
|
61
|
+
[placeholder]="options?.title"
|
|
62
|
+
[required]="options?.required"
|
|
63
|
+
[style.width]="'100%'"
|
|
64
|
+
[readonly]="options?.readonly"
|
|
65
|
+
(blur)="options.showErrors = true"
|
|
66
|
+
>
|
|
67
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
68
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
69
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
70
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
71
|
+
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
|
|
72
|
+
</mat-form-field>
|
|
73
|
+
<mat-datepicker #picker ></mat-datepicker>
|
|
74
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
75
|
+
[innerHTML]="options?.errorMessage"></mat-error>`, isInline: true, styles: ["mat-error{font-size:75%;margin-top:-1rem;margin-bottom:.5rem}::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{width:initial}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
|
|
76
|
+
}
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MaterialDatepickerComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'material-datepicker-widget', template: `
|
|
80
|
+
<mat-form-field [appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'fill'"
|
|
81
|
+
[class]="options?.htmlClass || ''"
|
|
82
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
83
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
84
|
+
[style.width]="'100%'">
|
|
85
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
86
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
87
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
88
|
+
<input matInput *ngIf="boundControl"
|
|
89
|
+
[formControl]="formControl"
|
|
90
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
91
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
92
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
93
|
+
[id]="'control' + layoutNode?._id"
|
|
94
|
+
[max]="options?.maximum"
|
|
95
|
+
[matDatepicker]="picker"
|
|
96
|
+
[min]="options?.minimum"
|
|
97
|
+
[name]="controlName"
|
|
98
|
+
[placeholder]="options?.title"
|
|
99
|
+
[readonly]="options?.readonly"
|
|
100
|
+
[required]="options?.required"
|
|
101
|
+
[style.width]="'100%'"
|
|
102
|
+
(blur)="options.showErrors = true"
|
|
103
|
+
>
|
|
104
|
+
<input matInput *ngIf="!boundControl"
|
|
105
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
106
|
+
[attr.list]="'control' + layoutNode?._id + 'Autocomplete'"
|
|
107
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
108
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
109
|
+
[id]="'control' + layoutNode?._id"
|
|
110
|
+
[max]="options?.maximum"
|
|
111
|
+
[matDatepicker]="picker"
|
|
112
|
+
[min]="options?.minimum"
|
|
113
|
+
[name]="controlName"
|
|
114
|
+
[placeholder]="options?.title"
|
|
115
|
+
[required]="options?.required"
|
|
116
|
+
[style.width]="'100%'"
|
|
117
|
+
[readonly]="options?.readonly"
|
|
118
|
+
(blur)="options.showErrors = true"
|
|
119
|
+
>
|
|
120
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
121
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
122
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
123
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
124
|
+
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
|
|
125
|
+
</mat-form-field>
|
|
126
|
+
<mat-datepicker #picker ></mat-datepicker>
|
|
127
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
128
|
+
[innerHTML]="options?.errorMessage"></mat-error>`, styles: ["mat-error{font-size:75%;margin-top:-1rem;margin-bottom:.5rem}::ng-deep json-schema-form mat-form-field .mat-mdc-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{width:initial}\n"] }]
|
|
129
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
130
|
+
type: Inject,
|
|
131
|
+
args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]
|
|
132
|
+
}, {
|
|
133
|
+
type: Optional
|
|
134
|
+
}] }, { type: i1.JsonSchemaFormService }], propDecorators: { layoutNode: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], layoutIndex: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], dataIndex: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}] } });
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL21hdGVyaWFsLWRhdGVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBOEQ5RSxNQUFNLE9BQU8sMkJBQTJCO0lBWXRDLFlBQzZELDBCQUEwQixFQUM3RSxHQUEwQjtRQUR5QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQUE7UUFDN0UsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFWcEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIscUJBQWdCLEdBQWEsRUFBRSxDQUFDO0lBUTVCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7OEdBdkJVLDJCQUEyQixrQkFhNUIsOEJBQThCO2tHQWI3QiwyQkFBMkIsNEpBeEQ1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1REFpRDJDOzsyRkFPMUMsMkJBQTJCO2tCQTNEdkMsU0FBUzsrQkFFRSw0QkFBNEIsWUFDNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dURBaUQyQzs7MEJBb0JsRCxNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBQUcsUUFBUTs2RUFMMUMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNQVRfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnQG5nLWZvcm13b3Jrcy9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ21hdGVyaWFsLWRhdGVwaWNrZXItd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cIm9wdGlvbnM/LmFwcGVhcmFuY2UgfHwgbWF0Rm9ybUZpZWxkRGVmYXVsdE9wdGlvbnM/LmFwcGVhcmFuY2UgfHwgJ2ZpbGwnXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwib3B0aW9ucz8uaHRtbENsYXNzIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmxvYXRMYWJlbF09XCJvcHRpb25zPy5mbG9hdExhYmVsIHx8IG1hdEZvcm1GaWVsZERlZmF1bHRPcHRpb25zPy5mbG9hdExhYmVsIHx8IChvcHRpb25zPy5ub3RpdGxlID8gJ25ldmVyJyA6ICdhdXRvJylcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtoaWRlUmVxdWlyZWRNYXJrZXJdPVwib3B0aW9ucz8uaGlkZVJlcXVpcmVkID8gJ3RydWUnIDogJ2ZhbHNlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cIicxMDAlJ1wiPlxyXG4gICAgICA8bWF0LWxhYmVsICpuZ0lmPVwiIW9wdGlvbnM/Lm5vdGl0bGVcIj57e29wdGlvbnM/LnRpdGxlfX08L21hdC1sYWJlbD5cclxuICAgICAgPHNwYW4gbWF0UHJlZml4ICpuZ0lmPVwib3B0aW9ucz8ucHJlZml4IHx8IG9wdGlvbnM/LmZpZWxkQWRkb25MZWZ0XCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbnM/LnByZWZpeCB8fCBvcHRpb25zPy5maWVsZEFkZG9uTGVmdFwiPjwvc3Bhbj5cclxuICAgICAgPGlucHV0IG1hdElucHV0ICpuZ0lmPVwiYm91bmRDb250cm9sXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ1N0YXR1cydcIlxyXG4gICAgICAgIFthdHRyLmxpc3RdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ0F1dG9jb21wbGV0ZSdcIlxyXG4gICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxyXG4gICAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxyXG4gICAgICAgIFttYXhdPVwib3B0aW9ucz8ubWF4aW11bVwiXHJcbiAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgICBbbWluXT1cIm9wdGlvbnM/Lm1pbmltdW1cIlxyXG4gICAgICAgIFtuYW1lXT1cImNvbnRyb2xOYW1lXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwib3B0aW9ucz8udGl0bGVcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCJcclxuICAgICAgICBbc3R5bGUud2lkdGhdPVwiJzEwMCUnXCJcclxuICAgICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCJcclxuICAgICAgICA+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCAqbmdJZj1cIiFib3VuZENvbnRyb2xcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ1N0YXR1cydcIlxyXG4gICAgICAgIFthdHRyLmxpc3RdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ0F1dG9jb21wbGV0ZSdcIlxyXG4gICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWQgfHwgb3B0aW9ucz8ucmVhZG9ubHlcIlxyXG4gICAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxyXG4gICAgICAgIFttYXhdPVwib3B0aW9ucz8ubWF4aW11bVwiXHJcbiAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgICBbbWluXT1cIm9wdGlvbnM/Lm1pbmltdW1cIlxyXG4gICAgICAgIFtuYW1lXT1cImNvbnRyb2xOYW1lXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwib3B0aW9ucz8udGl0bGVcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXHJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cIicxMDAlJ1wiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5XCJcclxuICAgICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCJcclxuICAgICAgICA+XHJcbiAgICAgIDxzcGFuIG1hdFN1ZmZpeCAqbmdJZj1cIm9wdGlvbnM/LnN1ZmZpeCB8fCBvcHRpb25zPy5maWVsZEFkZG9uUmlnaHRcIlxyXG4gICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uc3VmZml4IHx8IG9wdGlvbnM/LmZpZWxkQWRkb25SaWdodFwiPjwvc3Bhbj5cclxuICAgICAgPG1hdC1oaW50ICpuZ0lmPVwib3B0aW9ucz8uZGVzY3JpcHRpb24gJiYgKCFvcHRpb25zPy5zaG93RXJyb3JzIHx8ICFvcHRpb25zPy5lcnJvck1lc3NhZ2UpXCJcclxuICAgICAgICBhbGlnbj1cImVuZFwiIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uZGVzY3JpcHRpb25cIj48L21hdC1oaW50PlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyID48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cIm9wdGlvbnM/LnNob3dFcnJvcnMgJiYgb3B0aW9ucz8uZXJyb3JNZXNzYWdlXCJcclxuICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5lcnJvck1lc3NhZ2VcIj48L21hdC1lcnJvcj5gLFxyXG4gIHN0eWxlczogW2BcclxuICAgIG1hdC1lcnJvciB7IGZvbnQtc2l6ZTogNzUlOyBtYXJnaW4tdG9wOiAtMXJlbTsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XHJcbiAgICA6Om5nLWRlZXAganNvbi1zY2hlbWEtZm9ybSBtYXQtZm9ybS1maWVsZCAubWF0LW1kYy1mb3JtLWZpZWxkLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWZsZXhcclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHsgd2lkdGg6IGluaXRpYWw7IH1cclxuICBgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcclxuICBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIGRhdGVWYWx1ZTogYW55O1xyXG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlO1xyXG4gIG9wdGlvbnM6IGFueTtcclxuICBhdXRvQ29tcGxldGVMaXN0OiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueTtcclxuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XHJcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE1BVF9GT1JNX0ZJRUxEX0RFRkFVTFRfT1BUSU9OUykgQE9wdGlvbmFsKCkgcHVibGljIG1hdEZvcm1GaWVsZERlZmF1bHRPcHRpb25zLFxyXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzLCAhdGhpcy5vcHRpb25zLnJlYWRvbmx5KTtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLm5vdGl0bGUgJiYgIXRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbiAmJiB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIpIHtcclxuICAgICAgdGhpcy5vcHRpb25zLmRlc2NyaXB0aW9uID0gdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|