@ajsf/material 0.5.1-beta.4 → 0.7.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.
Files changed (81) hide show
  1. package/ajsf-material.d.ts +1 -0
  2. package/{esm2015/ajsf-material.js → esm2020/ajsf-material.mjs} +0 -0
  3. package/{esm2015/lib/angular-flex-monkey-patch.js → esm2020/lib/angular-flex-monkey-patch.mjs} +0 -0
  4. package/esm2020/lib/material-design-framework.component.mjs +102 -0
  5. package/esm2020/lib/material-design-framework.module.mjs +123 -0
  6. package/esm2020/lib/material-design.framework.mjs +57 -0
  7. package/esm2020/lib/widgets/flex-layout-root.component.mjs +76 -0
  8. package/esm2020/lib/widgets/flex-layout-section.component.mjs +359 -0
  9. package/esm2020/lib/widgets/material-add-reference.component.mjs +66 -0
  10. package/esm2020/lib/widgets/material-button-group.component.mjs +95 -0
  11. package/esm2020/lib/widgets/material-button.component.mjs +81 -0
  12. package/esm2020/lib/widgets/material-checkbox.component.mjs +174 -0
  13. package/esm2020/lib/widgets/material-checkboxes.component.mjs +140 -0
  14. package/esm2020/lib/widgets/material-chip-list.component.mjs +35 -0
  15. package/esm2020/lib/widgets/material-datepicker.component.mjs +150 -0
  16. package/esm2020/lib/widgets/material-file.component.mjs +35 -0
  17. package/esm2020/lib/widgets/material-input.component.mjs +158 -0
  18. package/esm2020/lib/widgets/material-number.component.mjs +154 -0
  19. package/esm2020/lib/widgets/material-one-of.component.mjs +35 -0
  20. package/esm2020/lib/widgets/material-radios.component.mjs +131 -0
  21. package/esm2020/lib/widgets/material-select.component.mjs +195 -0
  22. package/esm2020/lib/widgets/material-slider.component.mjs +88 -0
  23. package/esm2020/lib/widgets/material-stepper.component.mjs +35 -0
  24. package/esm2020/lib/widgets/material-tabs.component.mjs +91 -0
  25. package/esm2020/lib/widgets/material-textarea.component.mjs +143 -0
  26. package/{esm2015/lib/widgets/public_api.js → esm2020/lib/widgets/public_api.mjs} +0 -0
  27. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  28. package/fesm2015/ajsf-material.mjs +2427 -0
  29. package/fesm2015/ajsf-material.mjs.map +1 -0
  30. package/fesm2020/ajsf-material.mjs +2420 -0
  31. package/fesm2020/ajsf-material.mjs.map +1 -0
  32. package/lib/material-design-framework.component.d.ts +3 -0
  33. package/lib/material-design-framework.module.d.ts +51 -2
  34. package/lib/material-design.framework.d.ts +3 -0
  35. package/lib/widgets/flex-layout-root.component.d.ts +3 -0
  36. package/lib/widgets/flex-layout-section.component.d.ts +3 -0
  37. package/lib/widgets/material-add-reference.component.d.ts +3 -0
  38. package/lib/widgets/material-button-group.component.d.ts +3 -0
  39. package/lib/widgets/material-button.component.d.ts +3 -0
  40. package/lib/widgets/material-checkbox.component.d.ts +3 -0
  41. package/lib/widgets/material-checkboxes.component.d.ts +3 -0
  42. package/lib/widgets/material-chip-list.component.d.ts +3 -0
  43. package/lib/widgets/material-datepicker.component.d.ts +3 -0
  44. package/lib/widgets/material-file.component.d.ts +3 -0
  45. package/lib/widgets/material-input.component.d.ts +3 -0
  46. package/lib/widgets/material-number.component.d.ts +3 -0
  47. package/lib/widgets/material-one-of.component.d.ts +3 -0
  48. package/lib/widgets/material-radios.component.d.ts +3 -0
  49. package/lib/widgets/material-select.component.d.ts +3 -0
  50. package/lib/widgets/material-slider.component.d.ts +3 -0
  51. package/lib/widgets/material-stepper.component.d.ts +3 -0
  52. package/lib/widgets/material-tabs.component.d.ts +3 -0
  53. package/lib/widgets/material-textarea.component.d.ts +3 -0
  54. package/package.json +26 -14
  55. package/ajsf-material.metadata.json +0 -1
  56. package/bundles/ajsf-material.umd.js +0 -1422
  57. package/bundles/ajsf-material.umd.js.map +0 -1
  58. package/esm2015/lib/material-design-framework.component.js +0 -101
  59. package/esm2015/lib/material-design-framework.module.js +0 -80
  60. package/esm2015/lib/material-design.framework.js +0 -54
  61. package/esm2015/lib/widgets/flex-layout-root.component.js +0 -55
  62. package/esm2015/lib/widgets/flex-layout-section.component.js +0 -221
  63. package/esm2015/lib/widgets/material-add-reference.component.js +0 -53
  64. package/esm2015/lib/widgets/material-button-group.component.js +0 -63
  65. package/esm2015/lib/widgets/material-button.component.js +0 -60
  66. package/esm2015/lib/widgets/material-checkbox.component.js +0 -109
  67. package/esm2015/lib/widgets/material-checkboxes.component.js +0 -101
  68. package/esm2015/lib/widgets/material-chip-list.component.js +0 -33
  69. package/esm2015/lib/widgets/material-datepicker.component.js +0 -90
  70. package/esm2015/lib/widgets/material-file.component.js +0 -33
  71. package/esm2015/lib/widgets/material-input.component.js +0 -95
  72. package/esm2015/lib/widgets/material-number.component.js +0 -97
  73. package/esm2015/lib/widgets/material-one-of.component.js +0 -33
  74. package/esm2015/lib/widgets/material-radios.component.js +0 -84
  75. package/esm2015/lib/widgets/material-select.component.js +0 -115
  76. package/esm2015/lib/widgets/material-slider.component.js +0 -60
  77. package/esm2015/lib/widgets/material-stepper.component.js +0 -33
  78. package/esm2015/lib/widgets/material-tabs.component.js +0 -69
  79. package/esm2015/lib/widgets/material-textarea.component.js +0 -88
  80. package/fesm2015/ajsf-material.js +0 -1710
  81. package/fesm2015/ajsf-material.js.map +0 -1
@@ -0,0 +1,81 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { hasOwn } from '@ajsf/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ajsf/core";
5
+ import * as i2 from "@angular/material/button";
6
+ import * as i3 from "@angular/material/icon";
7
+ import * as i4 from "@angular/common";
8
+ export class MaterialButtonComponent {
9
+ constructor(jsf) {
10
+ this.jsf = jsf;
11
+ this.controlDisabled = false;
12
+ this.boundControl = false;
13
+ }
14
+ ngOnInit() {
15
+ this.options = this.layoutNode.options || {};
16
+ this.jsf.initializeControl(this);
17
+ if (hasOwn(this.options, 'disabled')) {
18
+ this.controlDisabled = this.options.disabled;
19
+ }
20
+ else if (this.jsf.formOptions.disableInvalidSubmit) {
21
+ this.controlDisabled = !this.jsf.isValid;
22
+ this.jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid);
23
+ }
24
+ }
25
+ updateValue(event) {
26
+ if (typeof this.options.onClick === 'function') {
27
+ this.options.onClick(event);
28
+ }
29
+ else {
30
+ this.jsf.updateValue(this, event.target.value);
31
+ }
32
+ }
33
+ }
34
+ MaterialButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialButtonComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
35
+ MaterialButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialButtonComponent, selector: "material-button-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
36
+ <div class="button-row" [class]="options?.htmlClass || ''">
37
+ <button mat-raised-button
38
+ [attr.readonly]="options?.readonly ? 'readonly' : null"
39
+ [attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
40
+ [color]="options?.color || 'primary'"
41
+ [disabled]="controlDisabled || options?.readonly"
42
+ [id]="'control' + layoutNode?._id"
43
+ [name]="controlName"
44
+ [type]="layoutNode?.type"
45
+ [value]="controlValue"
46
+ (click)="updateValue($event)">
47
+ <mat-icon *ngIf="options?.icon" class="mat-24">{{options?.icon}}</mat-icon>
48
+ <span *ngIf="options?.title" [innerHTML]="options?.title"></span>
49
+ </button>
50
+ </div>`, isInline: true, styles: ["button{margin-top:10px}\n"], components: [{ 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"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialButtonComponent, decorators: [{
52
+ type: Component,
53
+ args: [{
54
+ // tslint:disable-next-line:component-selector
55
+ selector: 'material-button-widget',
56
+ template: `
57
+ <div class="button-row" [class]="options?.htmlClass || ''">
58
+ <button mat-raised-button
59
+ [attr.readonly]="options?.readonly ? 'readonly' : null"
60
+ [attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
61
+ [color]="options?.color || 'primary'"
62
+ [disabled]="controlDisabled || options?.readonly"
63
+ [id]="'control' + layoutNode?._id"
64
+ [name]="controlName"
65
+ [type]="layoutNode?.type"
66
+ [value]="controlValue"
67
+ (click)="updateValue($event)">
68
+ <mat-icon *ngIf="options?.icon" class="mat-24">{{options?.icon}}</mat-icon>
69
+ <span *ngIf="options?.title" [innerHTML]="options?.title"></span>
70
+ </button>
71
+ </div>`,
72
+ styles: [` button { margin-top: 10px; } `],
73
+ }]
74
+ }], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
75
+ type: Input
76
+ }], layoutIndex: [{
77
+ type: Input
78
+ }], dataIndex: [{
79
+ type: Input
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fqc2YtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL21hdGVyaWFsLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUF5QixNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7OztBQXVCM0QsTUFBTSxPQUFPLHVCQUF1QjtJQVdsQyxZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBUnBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBUWpCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDOUM7YUFBTSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFO1lBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0U7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7O29IQWhDVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix3SkFsQnhCOzs7Ozs7Ozs7Ozs7Ozs7V0FlRDsyRkFHRSx1QkFBdUI7a0JBckJuQyxTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7V0FlRDtvQkFDUCxNQUFNLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztpQkFDN0M7NEdBUVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSwgaGFzT3duIH0gZnJvbSAnQGFqc2YvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbWF0ZXJpYWwtYnV0dG9uLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1yb3dcIiBbY2xhc3NdPVwib3B0aW9ucz8uaHRtbENsYXNzIHx8ICcnXCI+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZCArICdTdGF0dXMnXCJcbiAgICAgICAgW2NvbG9yXT1cIm9wdGlvbnM/LmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWQgfHwgb3B0aW9ucz8ucmVhZG9ubHlcIlxuICAgICAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkXCJcbiAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxuICAgICAgICBbdHlwZV09XCJsYXlvdXROb2RlPy50eXBlXCJcbiAgICAgICAgW3ZhbHVlXT1cImNvbnRyb2xWYWx1ZVwiXG4gICAgICAgIChjbGljayk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbnM/Lmljb25cIiBjbGFzcz1cIm1hdC0yNFwiPnt7b3B0aW9ucz8uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJvcHRpb25zPy50aXRsZVwiIFtpbm5lckhUTUxdPVwib3B0aW9ucz8udGl0bGVcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5gLFxuICAgIHN0eWxlczogW2AgYnV0dG9uIHsgbWFyZ2luLXRvcDogMTBweDsgfSBgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBjb250cm9sTmFtZTogc3RyaW5nO1xuICBjb250cm9sVmFsdWU6IGFueTtcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlO1xuICBvcHRpb25zOiBhbnk7XG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueTtcbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IG51bWJlcltdO1xuICBASW5wdXQoKSBkYXRhSW5kZXg6IG51bWJlcltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUganNmOiBKc29uU2NoZW1hRm9ybVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUub3B0aW9ucyB8fCB7fTtcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKTtcbiAgICBpZiAoaGFzT3duKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVkJykpIHtcbiAgICAgIHRoaXMuY29udHJvbERpc2FibGVkID0gdGhpcy5vcHRpb25zLmRpc2FibGVkO1xuICAgIH0gZWxzZSBpZiAodGhpcy5qc2YuZm9ybU9wdGlvbnMuZGlzYWJsZUludmFsaWRTdWJtaXQpIHtcbiAgICAgIHRoaXMuY29udHJvbERpc2FibGVkID0gIXRoaXMuanNmLmlzVmFsaWQ7XG4gICAgICB0aGlzLmpzZi5pc1ZhbGlkQ2hhbmdlcy5zdWJzY3JpYmUoaXNWYWxpZCA9PiB0aGlzLmNvbnRyb2xEaXNhYmxlZCA9ICFpc1ZhbGlkKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWx1ZShldmVudCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5vbkNsaWNrKGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,174 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ajsf/core";
4
+ import * as i2 from "@angular/material/checkbox";
5
+ import * as i3 from "@angular/material/slide-toggle";
6
+ import * as i4 from "@angular/common";
7
+ import * as i5 from "@angular/forms";
8
+ import * as i6 from "@angular/material/form-field";
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
+ }
38
+ MaterialCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialCheckboxComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
39
+ MaterialCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialCheckboxComponent, selector: "material-checkbox-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
40
+ <mat-checkbox *ngIf="boundControl && !showSlideToggle"
41
+ [formControl]="formControl"
42
+ align="left"
43
+ [color]="options?.color || 'primary'"
44
+ [id]="'control' + layoutNode?._id"
45
+ labelPosition="after"
46
+ [name]="controlName"
47
+ (blur)="options.showErrors = true">
48
+ <span *ngIf="options?.title"
49
+ class="checkbox-name"
50
+ [style.display]="options?.notitle ? 'none' : ''"
51
+ [innerHTML]="options?.title"></span>
52
+ </mat-checkbox>
53
+ <mat-checkbox *ngIf="!boundControl && !showSlideToggle"
54
+ align="left"
55
+ [color]="options?.color || 'primary'"
56
+ [disabled]="controlDisabled || options?.readonly"
57
+ [id]="'control' + layoutNode?._id"
58
+ labelPosition="after"
59
+ [name]="controlName"
60
+ [checked]="isChecked"
61
+ (blur)="options.showErrors = true"
62
+ (change)="updateValue($event)">
63
+ <span *ngIf="options?.title"
64
+ class="checkbox-name"
65
+ [style.display]="options?.notitle ? 'none' : ''"
66
+ [innerHTML]="options?.title"></span>
67
+ </mat-checkbox>
68
+ <mat-slide-toggle *ngIf="boundControl && showSlideToggle"
69
+ [formControl]="formControl"
70
+ align="left"
71
+ [color]="options?.color || 'primary'"
72
+ [id]="'control' + layoutNode?._id"
73
+ labelPosition="after"
74
+ [name]="controlName"
75
+ (blur)="options.showErrors = true">
76
+ <span *ngIf="options?.title"
77
+ class="checkbox-name"
78
+ [style.display]="options?.notitle ? 'none' : ''"
79
+ [innerHTML]="options?.title"></span>
80
+ </mat-slide-toggle>
81
+ <mat-slide-toggle *ngIf="!boundControl && showSlideToggle"
82
+ align="left"
83
+ [color]="options?.color || 'primary'"
84
+ [disabled]="controlDisabled || options?.readonly"
85
+ [id]="'control' + layoutNode?._id"
86
+ labelPosition="after"
87
+ [name]="controlName"
88
+ [checked]="isChecked"
89
+ (blur)="options.showErrors = true"
90
+ (change)="updateValue($event)">
91
+ <span *ngIf="options?.title"
92
+ class="checkbox-name"
93
+ [style.display]="options?.notitle ? 'none' : ''"
94
+ [innerHTML]="options?.title"></span>
95
+ </mat-slide-toggle>
96
+ <mat-error *ngIf="options?.showErrors && options?.errorMessage"
97
+ [innerHTML]="options?.errorMessage"></mat-error>`, isInline: true, styles: [".checkbox-name{white-space:nowrap}mat-error{font-size:75%}\n"], components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }] });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialCheckboxComponent, decorators: [{
99
+ type: Component,
100
+ args: [{
101
+ // tslint:disable-next-line:component-selector
102
+ selector: 'material-checkbox-widget',
103
+ template: `
104
+ <mat-checkbox *ngIf="boundControl && !showSlideToggle"
105
+ [formControl]="formControl"
106
+ align="left"
107
+ [color]="options?.color || 'primary'"
108
+ [id]="'control' + layoutNode?._id"
109
+ labelPosition="after"
110
+ [name]="controlName"
111
+ (blur)="options.showErrors = true">
112
+ <span *ngIf="options?.title"
113
+ class="checkbox-name"
114
+ [style.display]="options?.notitle ? 'none' : ''"
115
+ [innerHTML]="options?.title"></span>
116
+ </mat-checkbox>
117
+ <mat-checkbox *ngIf="!boundControl && !showSlideToggle"
118
+ align="left"
119
+ [color]="options?.color || 'primary'"
120
+ [disabled]="controlDisabled || options?.readonly"
121
+ [id]="'control' + layoutNode?._id"
122
+ labelPosition="after"
123
+ [name]="controlName"
124
+ [checked]="isChecked"
125
+ (blur)="options.showErrors = true"
126
+ (change)="updateValue($event)">
127
+ <span *ngIf="options?.title"
128
+ class="checkbox-name"
129
+ [style.display]="options?.notitle ? 'none' : ''"
130
+ [innerHTML]="options?.title"></span>
131
+ </mat-checkbox>
132
+ <mat-slide-toggle *ngIf="boundControl && showSlideToggle"
133
+ [formControl]="formControl"
134
+ align="left"
135
+ [color]="options?.color || 'primary'"
136
+ [id]="'control' + layoutNode?._id"
137
+ labelPosition="after"
138
+ [name]="controlName"
139
+ (blur)="options.showErrors = true">
140
+ <span *ngIf="options?.title"
141
+ class="checkbox-name"
142
+ [style.display]="options?.notitle ? 'none' : ''"
143
+ [innerHTML]="options?.title"></span>
144
+ </mat-slide-toggle>
145
+ <mat-slide-toggle *ngIf="!boundControl && showSlideToggle"
146
+ align="left"
147
+ [color]="options?.color || 'primary'"
148
+ [disabled]="controlDisabled || options?.readonly"
149
+ [id]="'control' + layoutNode?._id"
150
+ labelPosition="after"
151
+ [name]="controlName"
152
+ [checked]="isChecked"
153
+ (blur)="options.showErrors = true"
154
+ (change)="updateValue($event)">
155
+ <span *ngIf="options?.title"
156
+ class="checkbox-name"
157
+ [style.display]="options?.notitle ? 'none' : ''"
158
+ [innerHTML]="options?.title"></span>
159
+ </mat-slide-toggle>
160
+ <mat-error *ngIf="options?.showErrors && options?.errorMessage"
161
+ [innerHTML]="options?.errorMessage"></mat-error>`,
162
+ styles: [`
163
+ .checkbox-name { white-space: nowrap; }
164
+ mat-error { font-size: 75%; }
165
+ `],
166
+ }]
167
+ }], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
168
+ type: Input
169
+ }], layoutIndex: [{
170
+ type: Input
171
+ }], dataIndex: [{
172
+ type: Input
173
+ }] } });
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWpzZi1tYXRlcmlhbC9zcmMvbGliL3dpZGdldHMvbWF0ZXJpYWwtY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQXVFekQsTUFBTSxPQUFPLHlCQUF5QjtJQWNwQyxZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBWHBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGNBQVMsR0FBUSxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFRLEtBQUssQ0FBQztRQUN4QixvQkFBZSxHQUFHLEtBQUssQ0FBQztJQU9wQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0M7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLGNBQWM7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssY0FBYyxFQUN6QztZQUNBLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQy9ELENBQUM7O3NIQXZDVSx5QkFBeUI7MEdBQXpCLHlCQUF5QiwwSkFoRTFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VEQTBEMkM7MkZBTTFDLHlCQUF5QjtrQkFuRXJDLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dURBMEQyQztvQkFDckQsTUFBTSxFQUFFLENBQUM7OztHQUdSLENBQUM7aUJBQ0g7NEdBV1UsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BhanNmL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ21hdGVyaWFsLWNoZWNrYm94LXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1jaGVja2JveCAqbmdJZj1cImJvdW5kQ29udHJvbCAmJiAhc2hvd1NsaWRlVG9nZ2xlXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBhbGlnbj1cImxlZnRcIlxuICAgICAgW2NvbG9yXT1cIm9wdGlvbnM/LmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkXCJcbiAgICAgIGxhYmVsUG9zaXRpb249XCJhZnRlclwiXG4gICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcbiAgICAgICAgY2xhc3M9XCJjaGVja2JveC1uYW1lXCJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwib3B0aW9ucz8ubm90aXRsZSA/ICdub25lJyA6ICcnXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy50aXRsZVwiPjwvc3Bhbj5cbiAgICA8L21hdC1jaGVja2JveD5cbiAgICA8bWF0LWNoZWNrYm94ICpuZ0lmPVwiIWJvdW5kQ29udHJvbCAmJiAhc2hvd1NsaWRlVG9nZ2xlXCJcbiAgICAgIGFsaWduPVwibGVmdFwiXG4gICAgICBbY29sb3JdPVwib3B0aW9ucz8uY29sb3IgfHwgJ3ByaW1hcnknXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWQgfHwgb3B0aW9ucz8ucmVhZG9ubHlcIlxuICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICBsYWJlbFBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxuICAgICAgW2NoZWNrZWRdPVwiaXNDaGVja2VkXCJcbiAgICAgIChibHVyKT1cIm9wdGlvbnMuc2hvd0Vycm9ycyA9IHRydWVcIlxuICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcbiAgICAgICAgY2xhc3M9XCJjaGVja2JveC1uYW1lXCJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwib3B0aW9ucz8ubm90aXRsZSA/ICdub25lJyA6ICcnXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy50aXRsZVwiPjwvc3Bhbj5cbiAgICA8L21hdC1jaGVja2JveD5cbiAgICA8bWF0LXNsaWRlLXRvZ2dsZSAqbmdJZj1cImJvdW5kQ29udHJvbCAmJiBzaG93U2xpZGVUb2dnbGVcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIGFsaWduPVwibGVmdFwiXG4gICAgICBbY29sb3JdPVwib3B0aW9ucz8uY29sb3IgfHwgJ3ByaW1hcnknXCJcbiAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxuICAgICAgbGFiZWxQb3NpdGlvbj1cImFmdGVyXCJcbiAgICAgIFtuYW1lXT1cImNvbnRyb2xOYW1lXCJcbiAgICAgIChibHVyKT1cIm9wdGlvbnMuc2hvd0Vycm9ycyA9IHRydWVcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwib3B0aW9ucz8udGl0bGVcIlxuICAgICAgICBjbGFzcz1cImNoZWNrYm94LW5hbWVcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJvcHRpb25zPy5ub3RpdGxlID8gJ25vbmUnIDogJydcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbnM/LnRpdGxlXCI+PC9zcGFuPlxuICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8bWF0LXNsaWRlLXRvZ2dsZSAqbmdJZj1cIiFib3VuZENvbnRyb2wgJiYgc2hvd1NsaWRlVG9nZ2xlXCJcbiAgICAgIGFsaWduPVwibGVmdFwiXG4gICAgICBbY29sb3JdPVwib3B0aW9ucz8uY29sb3IgfHwgJ3ByaW1hcnknXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWQgfHwgb3B0aW9ucz8ucmVhZG9ubHlcIlxuICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICBsYWJlbFBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxuICAgICAgW2NoZWNrZWRdPVwiaXNDaGVja2VkXCJcbiAgICAgIChibHVyKT1cIm9wdGlvbnMuc2hvd0Vycm9ycyA9IHRydWVcIlxuICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcbiAgICAgICAgY2xhc3M9XCJjaGVja2JveC1uYW1lXCJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwib3B0aW9ucz8ubm90aXRsZSA/ICdub25lJyA6ICcnXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy50aXRsZVwiPjwvc3Bhbj5cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cIm9wdGlvbnM/LnNob3dFcnJvcnMgJiYgb3B0aW9ucz8uZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uZXJyb3JNZXNzYWdlXCI+PC9tYXQtZXJyb3I+YCxcbiAgc3R5bGVzOiBbYFxuICAgIC5jaGVja2JveC1uYW1lIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIG1hdC1lcnJvciB7IGZvbnQtc2l6ZTogNzUlOyB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgY29udHJvbE5hbWU6IHN0cmluZztcbiAgY29udHJvbFZhbHVlOiBhbnk7XG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlO1xuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcbiAgb3B0aW9uczogYW55O1xuICB0cnVlVmFsdWU6IGFueSA9IHRydWU7XG4gIGZhbHNlVmFsdWU6IGFueSA9IGZhbHNlO1xuICBzaG93U2xpZGVUb2dnbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogYW55O1xuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9O1xuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMsICF0aGlzLm9wdGlvbnMucmVhZG9ubHkpO1xuICAgIGlmICh0aGlzLmNvbnRyb2xWYWx1ZSA9PT0gbnVsbCB8fCB0aGlzLmNvbnRyb2xWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvbnRyb2xWYWx1ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgdGhpcy5mYWxzZVZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGF5b3V0Tm9kZS50eXBlID09PSAnc2xpZGUtdG9nZ2xlJyB8fFxuICAgICAgdGhpcy5sYXlvdXROb2RlLmZvcm1hdCA9PT0gJ3NsaWRlLXRvZ2dsZSdcbiAgICApIHtcbiAgICAgIHRoaXMuc2hvd1NsaWRlVG9nZ2xlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWx1ZShldmVudCkge1xuICAgIHRoaXMub3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZTtcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC5jaGVja2VkID8gdGhpcy50cnVlVmFsdWUgOiB0aGlzLmZhbHNlVmFsdWUpO1xuICB9XG5cbiAgZ2V0IGlzQ2hlY2tlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKSA9PT0gdGhpcy50cnVlVmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,140 @@
1
+ import { buildTitleMap } from '@ajsf/core';
2
+ import { Component, Input } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ajsf/core";
5
+ import * as i2 from "@angular/material/checkbox";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/forms";
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
+ }
51
+ MaterialCheckboxesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialCheckboxesComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
52
+ MaterialCheckboxesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialCheckboxesComponent, selector: "material-checkboxes-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
53
+ <div>
54
+ <mat-checkbox type="checkbox"
55
+ [checked]="allChecked"
56
+ [color]="options?.color || 'primary'"
57
+ [disabled]="controlDisabled || options?.readonly"
58
+ [indeterminate]="someChecked"
59
+ [name]="options?.name"
60
+ (blur)="options.showErrors = true"
61
+ (change)="updateAllValues($event)">
62
+ <span class="checkbox-name" [innerHTML]="options?.name"></span>
63
+ </mat-checkbox>
64
+ <label *ngIf="options?.title"
65
+ class="title"
66
+ [class]="options?.labelHtmlClass || ''"
67
+ [style.display]="options?.notitle ? 'none' : ''"
68
+ [innerHTML]="options?.title"></label>
69
+ <ul class="checkbox-list" [class.horizontal-list]="horizontalList">
70
+ <li *ngFor="let checkboxItem of checkboxList"
71
+ [class]="options?.htmlClass || ''">
72
+ <mat-checkbox type="checkbox"
73
+ [(ngModel)]="checkboxItem.checked"
74
+ [color]="options?.color || 'primary'"
75
+ [disabled]="controlDisabled || options?.readonly"
76
+ [name]="checkboxItem?.name"
77
+ (blur)="options.showErrors = true"
78
+ (change)="updateValue()">
79
+ <span class="checkbox-name" [innerHTML]="checkboxItem?.name"></span>
80
+ </mat-checkbox>
81
+ </li>
82
+ </ul>
83
+ <mat-error *ngIf="options?.showErrors && options?.errorMessage"
84
+ [innerHTML]="options?.errorMessage"></mat-error>
85
+ </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"], components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }] });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialCheckboxesComponent, decorators: [{
87
+ type: Component,
88
+ args: [{
89
+ // tslint:disable-next-line:component-selector
90
+ selector: 'material-checkboxes-widget',
91
+ template: `
92
+ <div>
93
+ <mat-checkbox type="checkbox"
94
+ [checked]="allChecked"
95
+ [color]="options?.color || 'primary'"
96
+ [disabled]="controlDisabled || options?.readonly"
97
+ [indeterminate]="someChecked"
98
+ [name]="options?.name"
99
+ (blur)="options.showErrors = true"
100
+ (change)="updateAllValues($event)">
101
+ <span class="checkbox-name" [innerHTML]="options?.name"></span>
102
+ </mat-checkbox>
103
+ <label *ngIf="options?.title"
104
+ class="title"
105
+ [class]="options?.labelHtmlClass || ''"
106
+ [style.display]="options?.notitle ? 'none' : ''"
107
+ [innerHTML]="options?.title"></label>
108
+ <ul class="checkbox-list" [class.horizontal-list]="horizontalList">
109
+ <li *ngFor="let checkboxItem of checkboxList"
110
+ [class]="options?.htmlClass || ''">
111
+ <mat-checkbox type="checkbox"
112
+ [(ngModel)]="checkboxItem.checked"
113
+ [color]="options?.color || 'primary'"
114
+ [disabled]="controlDisabled || options?.readonly"
115
+ [name]="checkboxItem?.name"
116
+ (blur)="options.showErrors = true"
117
+ (change)="updateValue()">
118
+ <span class="checkbox-name" [innerHTML]="checkboxItem?.name"></span>
119
+ </mat-checkbox>
120
+ </li>
121
+ </ul>
122
+ <mat-error *ngIf="options?.showErrors && options?.errorMessage"
123
+ [innerHTML]="options?.errorMessage"></mat-error>
124
+ </div>`,
125
+ styles: [`
126
+ .title { font-weight: bold; }
127
+ .checkbox-list { list-style-type: none; }
128
+ .horizontal-list > li { display: inline-block; margin-right: 10px; zoom: 1; }
129
+ .checkbox-name { white-space: nowrap; }
130
+ mat-error { font-size: 75%; }
131
+ `],
132
+ }]
133
+ }], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
134
+ type: Input
135
+ }], layoutIndex: [{
136
+ type: Input
137
+ }], dataIndex: [{
138
+ type: Input
139
+ }] } });
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtY2hlY2tib3hlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hanNmLW1hdGVyaWFsL3NyYy9saWIvd2lkZ2V0cy9tYXRlcmlhbC1jaGVja2JveGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBR3pELHFEQUFxRDtBQUNyRCx1REFBdUQ7QUErQ3ZELE1BQU0sT0FBTywyQkFBMkI7SUFjdEMsWUFDVSxHQUEwQjtRQUExQixRQUFHLEdBQUgsR0FBRyxDQUF1QjtRQVhwQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV2QixpQkFBWSxHQUFtQixFQUFFLENBQUM7SUFPOUIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLG1CQUFtQjtZQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQztRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQ3pFLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEQsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUM1QyxZQUFZLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNyRTtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDckUsT0FBTyxZQUFZLEdBQUcsQ0FBQyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNyRSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDOzt3SEF0RFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsNEpBMUM1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBaUNEOzJGQVNFLDJCQUEyQjtrQkE3Q3ZDLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQWlDRDtvQkFDVCxNQUFNLEVBQUUsQ0FBQzs7Ozs7O0dBTVIsQ0FBQztpQkFDSDs0R0FXVSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGJ1aWxkVGl0bGVNYXAgfSBmcm9tICdAYWpzZi9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBUaXRsZU1hcEl0ZW0gfSBmcm9tICdAYWpzZi9jb3JlJztcblxuLy8gVE9ETzogQ2hhbmdlIHRoaXMgdG8gdXNlIGEgU2VsZWN0aW9uIExpc3QgaW5zdGVhZD9cbi8vIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jb21wb25lbnRzL2xpc3Qvb3ZlcnZpZXdcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdtYXRlcmlhbC1jaGVja2JveGVzLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdj5cbiAgICAgIDxtYXQtY2hlY2tib3ggdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2NoZWNrZWRdPVwiYWxsQ2hlY2tlZFwiXG4gICAgICAgIFtjb2xvcl09XCJvcHRpb25zPy5jb2xvciB8fCAncHJpbWFyeSdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29udHJvbERpc2FibGVkIHx8IG9wdGlvbnM/LnJlYWRvbmx5XCJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwic29tZUNoZWNrZWRcIlxuICAgICAgICBbbmFtZV09XCJvcHRpb25zPy5uYW1lXCJcbiAgICAgICAgKGJsdXIpPVwib3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZVwiXG4gICAgICAgIChjaGFuZ2UpPVwidXBkYXRlQWxsVmFsdWVzKCRldmVudClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja2JveC1uYW1lXCIgW2lubmVySFRNTF09XCJvcHRpb25zPy5uYW1lXCI+PC9zcGFuPlxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICA8bGFiZWwgKm5nSWY9XCJvcHRpb25zPy50aXRsZVwiXG4gICAgICAgIGNsYXNzPVwidGl0bGVcIlxuICAgICAgICBbY2xhc3NdPVwib3B0aW9ucz8ubGFiZWxIdG1sQ2xhc3MgfHwgJydcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJvcHRpb25zPy5ub3RpdGxlID8gJ25vbmUnIDogJydcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbnM/LnRpdGxlXCI+PC9sYWJlbD5cbiAgICAgIDx1bCBjbGFzcz1cImNoZWNrYm94LWxpc3RcIiBbY2xhc3MuaG9yaXpvbnRhbC1saXN0XT1cImhvcml6b250YWxMaXN0XCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2hlY2tib3hJdGVtIG9mIGNoZWNrYm94TGlzdFwiXG4gICAgICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY2hlY2tib3hJdGVtLmNoZWNrZWRcIlxuICAgICAgICAgICAgW2NvbG9yXT1cIm9wdGlvbnM/LmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiY29udHJvbERpc2FibGVkIHx8IG9wdGlvbnM/LnJlYWRvbmx5XCJcbiAgICAgICAgICAgIFtuYW1lXT1cImNoZWNrYm94SXRlbT8ubmFtZVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoKVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja2JveC1uYW1lXCIgW2lubmVySFRNTF09XCJjaGVja2JveEl0ZW0/Lm5hbWVcIj48L3NwYW4+XG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIm9wdGlvbnM/LnNob3dFcnJvcnMgJiYgb3B0aW9ucz8uZXJyb3JNZXNzYWdlXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5lcnJvck1lc3NhZ2VcIj48L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5gLFxuICBzdHlsZXM6IFtgXG4gICAgLnRpdGxlIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuY2hlY2tib3gtbGlzdCB7IGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIC5ob3Jpem9udGFsLWxpc3QgPiBsaSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB6b29tOiAxOyB9XG4gICAgLmNoZWNrYm94LW5hbWUgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgbWF0LWVycm9yIHsgZm9udC1zaXplOiA3NSU7IH1cbiAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQ2hlY2tib3hlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGNvbnRyb2xWYWx1ZTogYW55O1xuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XG4gIG9wdGlvbnM6IGFueTtcbiAgaG9yaXpvbnRhbExpc3QgPSBmYWxzZTtcbiAgZm9ybUFycmF5OiBBYnN0cmFjdENvbnRyb2w7XG4gIGNoZWNrYm94TGlzdDogVGl0bGVNYXBJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogYW55O1xuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9O1xuICAgIHRoaXMuaG9yaXpvbnRhbExpc3QgPSB0aGlzLmxheW91dE5vZGUudHlwZSA9PT0gJ2NoZWNrYm94ZXMtaW5saW5lJyB8fFxuICAgICAgdGhpcy5sYXlvdXROb2RlLnR5cGUgPT09ICdjaGVja2JveGJ1dHRvbnMnO1xuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMpO1xuICAgIHRoaXMuY2hlY2tib3hMaXN0ID0gYnVpbGRUaXRsZU1hcChcbiAgICAgIHRoaXMub3B0aW9ucy50aXRsZU1hcCB8fCB0aGlzLm9wdGlvbnMuZW51bU5hbWVzLCB0aGlzLm9wdGlvbnMuZW51bSwgdHJ1ZVxuICAgICk7XG4gICAgaWYgKHRoaXMuYm91bmRDb250cm9sKSB7XG4gICAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmpzZi5nZXRGb3JtQ29udHJvbCh0aGlzKTtcbiAgICAgIGZvciAoY29uc3QgY2hlY2tib3hJdGVtIG9mIHRoaXMuY2hlY2tib3hMaXN0KSB7XG4gICAgICAgIGNoZWNrYm94SXRlbS5jaGVja2VkID0gZm9ybUFycmF5LnZhbHVlLmluY2x1ZGVzKGNoZWNrYm94SXRlbS52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGFsbENoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tib3hMaXN0LmZpbHRlcih0ID0+IHQuY2hlY2tlZCkubGVuZ3RoID09PSB0aGlzLmNoZWNrYm94TGlzdC5sZW5ndGg7XG4gIH1cblxuICBnZXQgc29tZUNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hlY2tlZEl0ZW1zID0gdGhpcy5jaGVja2JveExpc3QuZmlsdGVyKHQgPT4gdC5jaGVja2VkKS5sZW5ndGg7XG4gICAgcmV0dXJuIGNoZWNrZWRJdGVtcyA+IDAgJiYgY2hlY2tlZEl0ZW1zIDwgdGhpcy5jaGVja2JveExpc3QubGVuZ3RoO1xuICB9XG5cbiAgdXBkYXRlVmFsdWUoKSB7XG4gICAgdGhpcy5vcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlO1xuICAgIGlmICh0aGlzLmJvdW5kQ29udHJvbCkge1xuICAgICAgdGhpcy5qc2YudXBkYXRlQXJyYXlDaGVja2JveExpc3QodGhpcywgdGhpcy5jaGVja2JveExpc3QpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUFsbFZhbHVlcyhldmVudDogYW55KSB7XG4gICAgdGhpcy5vcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlO1xuICAgIHRoaXMuY2hlY2tib3hMaXN0LmZvckVhY2godCA9PiB0LmNoZWNrZWQgPSBldmVudC5jaGVja2VkKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ajsf/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
+ }
19
+ MaterialChipListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialChipListComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
20
+ MaterialChipListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialChipListComponent, selector: "material-chip-list-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: ``, isInline: true });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", 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: function () { return [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtY2hpcC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fqc2YtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL21hdGVyaWFsLWNoaXAtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7OztBQUl6RCx5QkFBeUI7QUFPekIsTUFBTSxPQUFPLHlCQUF5QjtJQVdwQyxZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBUnBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBUWpCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOztzSEF0QlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsMkpBRjFCLEVBQUU7MkZBRUQseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7NEdBUVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BhanNmL2NvcmUnO1xuXG4vLyBUT0RPOiBBZGQgdGhpcyBjb250cm9sXG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbWF0ZXJpYWwtY2hpcC1saXN0LXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgYCxcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxDaGlwTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGNvbnRyb2xWYWx1ZTogYW55O1xuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XG4gIG9wdGlvbnM6IGFueTtcbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogYW55O1xuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9O1xuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMpO1xuICB9XG5cbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG59XG4iXX0=