@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.
- package/ajsf-material.d.ts +1 -0
- package/{esm2015/ajsf-material.js → esm2020/ajsf-material.mjs} +0 -0
- package/{esm2015/lib/angular-flex-monkey-patch.js → esm2020/lib/angular-flex-monkey-patch.mjs} +0 -0
- package/esm2020/lib/material-design-framework.component.mjs +102 -0
- package/esm2020/lib/material-design-framework.module.mjs +123 -0
- package/esm2020/lib/material-design.framework.mjs +57 -0
- package/esm2020/lib/widgets/flex-layout-root.component.mjs +76 -0
- package/esm2020/lib/widgets/flex-layout-section.component.mjs +359 -0
- package/esm2020/lib/widgets/material-add-reference.component.mjs +66 -0
- package/esm2020/lib/widgets/material-button-group.component.mjs +95 -0
- package/esm2020/lib/widgets/material-button.component.mjs +81 -0
- package/esm2020/lib/widgets/material-checkbox.component.mjs +174 -0
- package/esm2020/lib/widgets/material-checkboxes.component.mjs +140 -0
- package/esm2020/lib/widgets/material-chip-list.component.mjs +35 -0
- package/esm2020/lib/widgets/material-datepicker.component.mjs +150 -0
- package/esm2020/lib/widgets/material-file.component.mjs +35 -0
- package/esm2020/lib/widgets/material-input.component.mjs +158 -0
- package/esm2020/lib/widgets/material-number.component.mjs +154 -0
- package/esm2020/lib/widgets/material-one-of.component.mjs +35 -0
- package/esm2020/lib/widgets/material-radios.component.mjs +131 -0
- package/esm2020/lib/widgets/material-select.component.mjs +195 -0
- package/esm2020/lib/widgets/material-slider.component.mjs +88 -0
- package/esm2020/lib/widgets/material-stepper.component.mjs +35 -0
- package/esm2020/lib/widgets/material-tabs.component.mjs +91 -0
- package/esm2020/lib/widgets/material-textarea.component.mjs +143 -0
- package/{esm2015/lib/widgets/public_api.js → esm2020/lib/widgets/public_api.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/fesm2015/ajsf-material.mjs +2427 -0
- package/fesm2015/ajsf-material.mjs.map +1 -0
- package/fesm2020/ajsf-material.mjs +2420 -0
- package/fesm2020/ajsf-material.mjs.map +1 -0
- package/lib/material-design-framework.component.d.ts +3 -0
- package/lib/material-design-framework.module.d.ts +51 -2
- package/lib/material-design.framework.d.ts +3 -0
- package/lib/widgets/flex-layout-root.component.d.ts +3 -0
- package/lib/widgets/flex-layout-section.component.d.ts +3 -0
- package/lib/widgets/material-add-reference.component.d.ts +3 -0
- package/lib/widgets/material-button-group.component.d.ts +3 -0
- package/lib/widgets/material-button.component.d.ts +3 -0
- package/lib/widgets/material-checkbox.component.d.ts +3 -0
- package/lib/widgets/material-checkboxes.component.d.ts +3 -0
- package/lib/widgets/material-chip-list.component.d.ts +3 -0
- package/lib/widgets/material-datepicker.component.d.ts +3 -0
- package/lib/widgets/material-file.component.d.ts +3 -0
- package/lib/widgets/material-input.component.d.ts +3 -0
- package/lib/widgets/material-number.component.d.ts +3 -0
- package/lib/widgets/material-one-of.component.d.ts +3 -0
- package/lib/widgets/material-radios.component.d.ts +3 -0
- package/lib/widgets/material-select.component.d.ts +3 -0
- package/lib/widgets/material-slider.component.d.ts +3 -0
- package/lib/widgets/material-stepper.component.d.ts +3 -0
- package/lib/widgets/material-tabs.component.d.ts +3 -0
- package/lib/widgets/material-textarea.component.d.ts +3 -0
- package/package.json +26 -14
- package/ajsf-material.metadata.json +0 -1
- package/bundles/ajsf-material.umd.js +0 -1422
- package/bundles/ajsf-material.umd.js.map +0 -1
- package/esm2015/lib/material-design-framework.component.js +0 -101
- package/esm2015/lib/material-design-framework.module.js +0 -80
- package/esm2015/lib/material-design.framework.js +0 -54
- package/esm2015/lib/widgets/flex-layout-root.component.js +0 -55
- package/esm2015/lib/widgets/flex-layout-section.component.js +0 -221
- package/esm2015/lib/widgets/material-add-reference.component.js +0 -53
- package/esm2015/lib/widgets/material-button-group.component.js +0 -63
- package/esm2015/lib/widgets/material-button.component.js +0 -60
- package/esm2015/lib/widgets/material-checkbox.component.js +0 -109
- package/esm2015/lib/widgets/material-checkboxes.component.js +0 -101
- package/esm2015/lib/widgets/material-chip-list.component.js +0 -33
- package/esm2015/lib/widgets/material-datepicker.component.js +0 -90
- package/esm2015/lib/widgets/material-file.component.js +0 -33
- package/esm2015/lib/widgets/material-input.component.js +0 -95
- package/esm2015/lib/widgets/material-number.component.js +0 -97
- package/esm2015/lib/widgets/material-one-of.component.js +0 -33
- package/esm2015/lib/widgets/material-radios.component.js +0 -84
- package/esm2015/lib/widgets/material-select.component.js +0 -115
- package/esm2015/lib/widgets/material-slider.component.js +0 -60
- package/esm2015/lib/widgets/material-stepper.component.js +0 -33
- package/esm2015/lib/widgets/material-tabs.component.js +0 -69
- package/esm2015/lib/widgets/material-textarea.component.js +0 -88
- package/fesm2015/ajsf-material.js +0 -1710
- package/fesm2015/ajsf-material.js.map +0 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { buildTitleMap } from '@ajsf/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ajsf/core";
|
|
5
|
+
import * as i2 from "@angular/material/radio";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/forms";
|
|
8
|
+
import * as i5 from "@angular/material/form-field";
|
|
9
|
+
export class MaterialRadiosComponent {
|
|
10
|
+
constructor(jsf) {
|
|
11
|
+
this.jsf = jsf;
|
|
12
|
+
this.controlDisabled = false;
|
|
13
|
+
this.boundControl = false;
|
|
14
|
+
this.flexDirection = 'column';
|
|
15
|
+
this.radiosList = [];
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.options = this.layoutNode.options || {};
|
|
19
|
+
if (this.layoutNode.type === 'radios-inline') {
|
|
20
|
+
this.flexDirection = 'row';
|
|
21
|
+
}
|
|
22
|
+
this.radiosList = buildTitleMap(this.options.titleMap || this.options.enumNames, this.options.enum, true);
|
|
23
|
+
this.jsf.initializeControl(this, !this.options.readonly);
|
|
24
|
+
}
|
|
25
|
+
updateValue(value) {
|
|
26
|
+
this.options.showErrors = true;
|
|
27
|
+
this.jsf.updateValue(this, value);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
MaterialRadiosComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialRadiosComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
MaterialRadiosComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialRadiosComponent, selector: "material-radios-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
32
|
+
<div>
|
|
33
|
+
<div *ngIf="options?.title">
|
|
34
|
+
<label
|
|
35
|
+
[attr.for]="'control' + layoutNode?._id"
|
|
36
|
+
[class]="options?.labelHtmlClass || ''"
|
|
37
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
38
|
+
[innerHTML]="options?.title"></label>
|
|
39
|
+
</div>
|
|
40
|
+
<mat-radio-group *ngIf="boundControl"
|
|
41
|
+
[formControl]="formControl"
|
|
42
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
43
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
44
|
+
[attr.required]="options?.required"
|
|
45
|
+
[style.flex-direction]="flexDirection"
|
|
46
|
+
[name]="controlName"
|
|
47
|
+
(blur)="options.showErrors = true">
|
|
48
|
+
<mat-radio-button *ngFor="let radioItem of radiosList"
|
|
49
|
+
[id]="'control' + layoutNode?._id + '/' + radioItem?.name"
|
|
50
|
+
[value]="radioItem?.value">
|
|
51
|
+
<span [innerHTML]="radioItem?.name"></span>
|
|
52
|
+
</mat-radio-button>
|
|
53
|
+
</mat-radio-group>
|
|
54
|
+
<mat-radio-group *ngIf="!boundControl"
|
|
55
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
56
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
57
|
+
[attr.required]="options?.required"
|
|
58
|
+
[style.flex-direction]="flexDirection"
|
|
59
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
60
|
+
[name]="controlName"
|
|
61
|
+
[value]="controlValue">
|
|
62
|
+
<mat-radio-button *ngFor="let radioItem of radiosList"
|
|
63
|
+
[id]="'control' + layoutNode?._id + '/' + radioItem?.name"
|
|
64
|
+
[value]="radioItem?.value"
|
|
65
|
+
(click)="updateValue(radioItem?.value)">
|
|
66
|
+
<span [innerHTML]="radioItem?.name"></span>
|
|
67
|
+
</mat-radio-button>
|
|
68
|
+
</mat-radio-group>
|
|
69
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
70
|
+
[innerHTML]="options?.errorMessage"></mat-error>
|
|
71
|
+
</div>`, isInline: true, styles: ["mat-radio-group{display:inline-flex}mat-radio-button{margin:2px}mat-error{font-size:75%}\n"], components: [{ type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }] });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialRadiosComponent, decorators: [{
|
|
73
|
+
type: Component,
|
|
74
|
+
args: [{
|
|
75
|
+
// tslint:disable-next-line:component-selector
|
|
76
|
+
selector: 'material-radios-widget',
|
|
77
|
+
template: `
|
|
78
|
+
<div>
|
|
79
|
+
<div *ngIf="options?.title">
|
|
80
|
+
<label
|
|
81
|
+
[attr.for]="'control' + layoutNode?._id"
|
|
82
|
+
[class]="options?.labelHtmlClass || ''"
|
|
83
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
84
|
+
[innerHTML]="options?.title"></label>
|
|
85
|
+
</div>
|
|
86
|
+
<mat-radio-group *ngIf="boundControl"
|
|
87
|
+
[formControl]="formControl"
|
|
88
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
89
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
90
|
+
[attr.required]="options?.required"
|
|
91
|
+
[style.flex-direction]="flexDirection"
|
|
92
|
+
[name]="controlName"
|
|
93
|
+
(blur)="options.showErrors = true">
|
|
94
|
+
<mat-radio-button *ngFor="let radioItem of radiosList"
|
|
95
|
+
[id]="'control' + layoutNode?._id + '/' + radioItem?.name"
|
|
96
|
+
[value]="radioItem?.value">
|
|
97
|
+
<span [innerHTML]="radioItem?.name"></span>
|
|
98
|
+
</mat-radio-button>
|
|
99
|
+
</mat-radio-group>
|
|
100
|
+
<mat-radio-group *ngIf="!boundControl"
|
|
101
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
102
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
103
|
+
[attr.required]="options?.required"
|
|
104
|
+
[style.flex-direction]="flexDirection"
|
|
105
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
106
|
+
[name]="controlName"
|
|
107
|
+
[value]="controlValue">
|
|
108
|
+
<mat-radio-button *ngFor="let radioItem of radiosList"
|
|
109
|
+
[id]="'control' + layoutNode?._id + '/' + radioItem?.name"
|
|
110
|
+
[value]="radioItem?.value"
|
|
111
|
+
(click)="updateValue(radioItem?.value)">
|
|
112
|
+
<span [innerHTML]="radioItem?.name"></span>
|
|
113
|
+
</mat-radio-button>
|
|
114
|
+
</mat-radio-group>
|
|
115
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
116
|
+
[innerHTML]="options?.errorMessage"></mat-error>
|
|
117
|
+
</div>`,
|
|
118
|
+
styles: [`
|
|
119
|
+
mat-radio-group { display: inline-flex; }
|
|
120
|
+
mat-radio-button { margin: 2px; }
|
|
121
|
+
mat-error { font-size: 75%; }
|
|
122
|
+
`]
|
|
123
|
+
}]
|
|
124
|
+
}], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], layoutIndex: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], dataIndex: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}] } });
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtcmFkaW9zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fqc2YtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL21hdGVyaWFsLXJhZGlvcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUF5QixhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFxRGxFLE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFDVSxHQUEwQjtRQUExQixRQUFHLEdBQUgsR0FBRyxDQUF1QjtRQVZwQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQUN6QixlQUFVLEdBQVUsRUFBRSxDQUFDO0lBT25CLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FDeEIsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O29IQWhDVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix3SkEvQ3hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBd0NEOzJGQU9FLHVCQUF1QjtrQkFsRG5DLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0F3Q0Q7b0JBQ1QsTUFBTSxFQUFFLENBQUM7Ozs7R0FJUixDQUFDO2lCQUNIOzRHQVVVLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UsIGJ1aWxkVGl0bGVNYXAgfSBmcm9tICdAYWpzZi9jb3JlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ21hdGVyaWFsLXJhZGlvcy13aWRnZXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwib3B0aW9ucz8udGl0bGVcIj5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgW2F0dHIuZm9yXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/LmxhYmVsSHRtbENsYXNzIHx8ICcnXCJcbiAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJvcHRpb25zPy5ub3RpdGxlID8gJ25vbmUnIDogJydcIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8udGl0bGVcIj48L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8bWF0LXJhZGlvLWdyb3VwICpuZ0lmPVwiYm91bmRDb250cm9sXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXG4gICAgICAgIFtzdHlsZS5mbGV4LWRpcmVjdGlvbl09XCJmbGV4RGlyZWN0aW9uXCJcbiAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxuICAgICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCI+XG4gICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uICpuZ0Zvcj1cImxldCByYWRpb0l0ZW0gb2YgcmFkaW9zTGlzdFwiXG4gICAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZCArICcvJyArIHJhZGlvSXRlbT8ubmFtZVwiXG4gICAgICAgICAgW3ZhbHVlXT1cInJhZGlvSXRlbT8udmFsdWVcIj5cbiAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInJhZGlvSXRlbT8ubmFtZVwiPjwvc3Bhbj5cbiAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgICA8bWF0LXJhZGlvLWdyb3VwICpuZ0lmPVwiIWJvdW5kQ29udHJvbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ1N0YXR1cydcIlxuICAgICAgICBbYXR0ci5yZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcbiAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwib3B0aW9ucz8ucmVxdWlyZWRcIlxuICAgICAgICBbc3R5bGUuZmxleC1kaXJlY3Rpb25dPVwiZmxleERpcmVjdGlvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWQgfHwgb3B0aW9ucz8ucmVhZG9ubHlcIlxuICAgICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICAgIFt2YWx1ZV09XCJjb250cm9sVmFsdWVcIj5cbiAgICAgICAgPG1hdC1yYWRpby1idXR0b24gKm5nRm9yPVwibGV0IHJhZGlvSXRlbSBvZiByYWRpb3NMaXN0XCJcbiAgICAgICAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJy8nICsgcmFkaW9JdGVtPy5uYW1lXCJcbiAgICAgICAgICBbdmFsdWVdPVwicmFkaW9JdGVtPy52YWx1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZVZhbHVlKHJhZGlvSXRlbT8udmFsdWUpXCI+XG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJyYWRpb0l0ZW0/Lm5hbWVcIj48L3NwYW4+XG4gICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIm9wdGlvbnM/LnNob3dFcnJvcnMgJiYgb3B0aW9ucz8uZXJyb3JNZXNzYWdlXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5lcnJvck1lc3NhZ2VcIj48L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5gLFxuICBzdHlsZXM6IFtgXG4gICAgbWF0LXJhZGlvLWdyb3VwIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICBtYXQtcmFkaW8tYnV0dG9uIHsgbWFyZ2luOiAycHg7IH1cbiAgICBtYXQtZXJyb3IgeyBmb250LXNpemU6IDc1JTsgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFJhZGlvc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGNvbnRyb2xWYWx1ZTogYW55O1xuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XG4gIG9wdGlvbnM6IGFueTtcbiAgZmxleERpcmVjdGlvbiA9ICdjb2x1bW4nO1xuICByYWRpb3NMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnk7XG4gIEBJbnB1dCgpIGxheW91dEluZGV4OiBudW1iZXJbXTtcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XG4gICAgaWYgKHRoaXMubGF5b3V0Tm9kZS50eXBlID09PSAncmFkaW9zLWlubGluZScpIHtcbiAgICAgIHRoaXMuZmxleERpcmVjdGlvbiA9ICdyb3cnO1xuICAgIH1cbiAgICB0aGlzLnJhZGlvc0xpc3QgPSBidWlsZFRpdGxlTWFwKFxuICAgICAgdGhpcy5vcHRpb25zLnRpdGxlTWFwIHx8IHRoaXMub3B0aW9ucy5lbnVtTmFtZXMsXG4gICAgICB0aGlzLm9wdGlvbnMuZW51bSwgdHJ1ZVxuICAgICk7XG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcywgIXRoaXMub3B0aW9ucy5yZWFkb25seSk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZSh2YWx1ZSkge1xuICAgIHRoaXMub3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZTtcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCB2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { Component, Inject, Input, Optional } from '@angular/core';
|
|
2
|
+
import { buildTitleMap, isArray } from '@ajsf/core';
|
|
3
|
+
import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ajsf/core";
|
|
6
|
+
import * as i2 from "@angular/material/form-field";
|
|
7
|
+
import * as i3 from "@angular/material/select";
|
|
8
|
+
import * as i4 from "@angular/material/core";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@angular/forms";
|
|
11
|
+
export class MaterialSelectComponent {
|
|
12
|
+
constructor(matFormFieldDefaultOptions, jsf) {
|
|
13
|
+
this.matFormFieldDefaultOptions = matFormFieldDefaultOptions;
|
|
14
|
+
this.jsf = jsf;
|
|
15
|
+
this.controlDisabled = false;
|
|
16
|
+
this.boundControl = false;
|
|
17
|
+
this.selectList = [];
|
|
18
|
+
this.isArray = isArray;
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.options = this.layoutNode.options || {};
|
|
22
|
+
this.selectList = buildTitleMap(this.options.titleMap || this.options.enumNames, this.options.enum, !!this.options.required, !!this.options.flatList);
|
|
23
|
+
this.jsf.initializeControl(this, !this.options.readonly);
|
|
24
|
+
if (!this.options.notitle && !this.options.description && this.options.placeholder) {
|
|
25
|
+
this.options.description = this.options.placeholder;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
updateValue(event) {
|
|
29
|
+
this.options.showErrors = true;
|
|
30
|
+
this.jsf.updateValue(this, event.value);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
MaterialSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialSelectComponent, deps: [{ token: MAT_FORM_FIELD_DEFAULT_OPTIONS, optional: true }, { token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
MaterialSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialSelectComponent, selector: "material-select-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
35
|
+
<mat-form-field
|
|
36
|
+
[appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'standard'"
|
|
37
|
+
[class]="options?.htmlClass || ''"
|
|
38
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
39
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
40
|
+
[style.width]="'100%'">
|
|
41
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
42
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
43
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
44
|
+
<mat-select *ngIf="boundControl"
|
|
45
|
+
[formControl]="formControl"
|
|
46
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
47
|
+
[attr.name]="controlName"
|
|
48
|
+
[id]="'control' + layoutNode?._id"
|
|
49
|
+
[multiple]="options?.multiple"
|
|
50
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
51
|
+
[required]="options?.required"
|
|
52
|
+
[style.width]="'100%'"
|
|
53
|
+
(blur)="options.showErrors = true">
|
|
54
|
+
<ng-template ngFor let-selectItem [ngForOf]="selectList">
|
|
55
|
+
<mat-option *ngIf="!isArray(selectItem?.items)"
|
|
56
|
+
[value]="selectItem?.value">
|
|
57
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
58
|
+
</mat-option>
|
|
59
|
+
<mat-optgroup *ngIf="isArray(selectItem?.items)"
|
|
60
|
+
[label]="selectItem?.group">
|
|
61
|
+
<mat-option *ngFor="let subItem of selectItem.items"
|
|
62
|
+
[value]="subItem?.value">
|
|
63
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
64
|
+
</mat-option>
|
|
65
|
+
</mat-optgroup>
|
|
66
|
+
</ng-template>
|
|
67
|
+
</mat-select>
|
|
68
|
+
<mat-select *ngIf="!boundControl"
|
|
69
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
70
|
+
[attr.name]="controlName"
|
|
71
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
72
|
+
[id]="'control' + layoutNode?._id"
|
|
73
|
+
[multiple]="options?.multiple"
|
|
74
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
75
|
+
[required]="options?.required"
|
|
76
|
+
[style.width]="'100%'"
|
|
77
|
+
[value]="controlValue"
|
|
78
|
+
(blur)="options.showErrors = true"
|
|
79
|
+
(change)="updateValue($event)">
|
|
80
|
+
<ng-template ngFor let-selectItem [ngForOf]="selectList">
|
|
81
|
+
<mat-option *ngIf="!isArray(selectItem?.items)"
|
|
82
|
+
[attr.selected]="selectItem?.value === controlValue"
|
|
83
|
+
[value]="selectItem?.value">
|
|
84
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
85
|
+
</mat-option>
|
|
86
|
+
<mat-optgroup *ngIf="isArray(selectItem?.items)"
|
|
87
|
+
[label]="selectItem?.group">
|
|
88
|
+
<mat-option *ngFor="let subItem of selectItem.items"
|
|
89
|
+
[attr.selected]="subItem?.value === controlValue"
|
|
90
|
+
[value]="subItem?.value">
|
|
91
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
92
|
+
</mat-option>
|
|
93
|
+
</mat-optgroup>
|
|
94
|
+
</ng-template>
|
|
95
|
+
</mat-select>
|
|
96
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
97
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
98
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
99
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
100
|
+
</mat-form-field>
|
|
101
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
102
|
+
[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-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{width:auto;width:initial}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i4.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i2.MatPrefix, selector: "[matPrefix]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatSuffix, selector: "[matSuffix]" }, { type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }] });
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialSelectComponent, decorators: [{
|
|
104
|
+
type: Component,
|
|
105
|
+
args: [{
|
|
106
|
+
// tslint:disable-next-line:component-selector
|
|
107
|
+
selector: 'material-select-widget',
|
|
108
|
+
template: `
|
|
109
|
+
<mat-form-field
|
|
110
|
+
[appearance]="options?.appearance || matFormFieldDefaultOptions?.appearance || 'standard'"
|
|
111
|
+
[class]="options?.htmlClass || ''"
|
|
112
|
+
[floatLabel]="options?.floatLabel || matFormFieldDefaultOptions?.floatLabel || (options?.notitle ? 'never' : 'auto')"
|
|
113
|
+
[hideRequiredMarker]="options?.hideRequired ? 'true' : 'false'"
|
|
114
|
+
[style.width]="'100%'">
|
|
115
|
+
<mat-label *ngIf="!options?.notitle">{{options?.title}}</mat-label>
|
|
116
|
+
<span matPrefix *ngIf="options?.prefix || options?.fieldAddonLeft"
|
|
117
|
+
[innerHTML]="options?.prefix || options?.fieldAddonLeft"></span>
|
|
118
|
+
<mat-select *ngIf="boundControl"
|
|
119
|
+
[formControl]="formControl"
|
|
120
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
121
|
+
[attr.name]="controlName"
|
|
122
|
+
[id]="'control' + layoutNode?._id"
|
|
123
|
+
[multiple]="options?.multiple"
|
|
124
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
125
|
+
[required]="options?.required"
|
|
126
|
+
[style.width]="'100%'"
|
|
127
|
+
(blur)="options.showErrors = true">
|
|
128
|
+
<ng-template ngFor let-selectItem [ngForOf]="selectList">
|
|
129
|
+
<mat-option *ngIf="!isArray(selectItem?.items)"
|
|
130
|
+
[value]="selectItem?.value">
|
|
131
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
132
|
+
</mat-option>
|
|
133
|
+
<mat-optgroup *ngIf="isArray(selectItem?.items)"
|
|
134
|
+
[label]="selectItem?.group">
|
|
135
|
+
<mat-option *ngFor="let subItem of selectItem.items"
|
|
136
|
+
[value]="subItem?.value">
|
|
137
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
138
|
+
</mat-option>
|
|
139
|
+
</mat-optgroup>
|
|
140
|
+
</ng-template>
|
|
141
|
+
</mat-select>
|
|
142
|
+
<mat-select *ngIf="!boundControl"
|
|
143
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
144
|
+
[attr.name]="controlName"
|
|
145
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
146
|
+
[id]="'control' + layoutNode?._id"
|
|
147
|
+
[multiple]="options?.multiple"
|
|
148
|
+
[placeholder]="options?.notitle ? options?.placeholder : options?.title"
|
|
149
|
+
[required]="options?.required"
|
|
150
|
+
[style.width]="'100%'"
|
|
151
|
+
[value]="controlValue"
|
|
152
|
+
(blur)="options.showErrors = true"
|
|
153
|
+
(change)="updateValue($event)">
|
|
154
|
+
<ng-template ngFor let-selectItem [ngForOf]="selectList">
|
|
155
|
+
<mat-option *ngIf="!isArray(selectItem?.items)"
|
|
156
|
+
[attr.selected]="selectItem?.value === controlValue"
|
|
157
|
+
[value]="selectItem?.value">
|
|
158
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
159
|
+
</mat-option>
|
|
160
|
+
<mat-optgroup *ngIf="isArray(selectItem?.items)"
|
|
161
|
+
[label]="selectItem?.group">
|
|
162
|
+
<mat-option *ngFor="let subItem of selectItem.items"
|
|
163
|
+
[attr.selected]="subItem?.value === controlValue"
|
|
164
|
+
[value]="subItem?.value">
|
|
165
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
166
|
+
</mat-option>
|
|
167
|
+
</mat-optgroup>
|
|
168
|
+
</ng-template>
|
|
169
|
+
</mat-select>
|
|
170
|
+
<span matSuffix *ngIf="options?.suffix || options?.fieldAddonRight"
|
|
171
|
+
[innerHTML]="options?.suffix || options?.fieldAddonRight"></span>
|
|
172
|
+
<mat-hint *ngIf="options?.description && (!options?.showErrors || !options?.errorMessage)"
|
|
173
|
+
align="end" [innerHTML]="options?.description"></mat-hint>
|
|
174
|
+
</mat-form-field>
|
|
175
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
176
|
+
[innerHTML]="options?.errorMessage"></mat-error>`,
|
|
177
|
+
styles: [`
|
|
178
|
+
mat-error { font-size: 75%; margin-top: -1rem; margin-bottom: 0.5rem; }
|
|
179
|
+
::ng-deep json-schema-form mat-form-field .mat-form-field-wrapper .mat-form-field-flex
|
|
180
|
+
.mat-form-field-infix { width: initial; }
|
|
181
|
+
`],
|
|
182
|
+
}]
|
|
183
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
184
|
+
type: Inject,
|
|
185
|
+
args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]
|
|
186
|
+
}, {
|
|
187
|
+
type: Optional
|
|
188
|
+
}] }, { type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], layoutIndex: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], dataIndex: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}] } });
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fqc2YtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL21hdGVyaWFsLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQXlCLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBZ0Y5RSxNQUFNLE9BQU8sdUJBQXVCO0lBYWxDLFlBQzZELDBCQUEwQixFQUM3RSxHQUEwQjtRQUR5QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQUE7UUFDN0UsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFYcEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUN2QixZQUFPLEdBQUcsT0FBTyxDQUFDO0lBUWQsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ3BFLENBQUM7UUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDbEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDOztvSEFqQ1UsdUJBQXVCLGtCQWN4Qiw4QkFBOEI7d0dBZDdCLHVCQUF1Qix3SkEzRXhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1REFvRTJDOzJGQU8xQyx1QkFBdUI7a0JBOUVuQyxTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1REFvRTJDO29CQUNyRCxNQUFNLEVBQUUsQ0FBQzs7OztHQUlSLENBQUM7aUJBQ0g7OzBCQWVJLE1BQU07MkJBQUMsOEJBQThCOzswQkFBRyxRQUFRO2dGQUwxQyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSwgYnVpbGRUaXRsZU1hcCwgaXNBcnJheSB9IGZyb20gJ0BhanNmL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbWF0ZXJpYWwtc2VsZWN0LXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICBbYXBwZWFyYW5jZV09XCJvcHRpb25zPy5hcHBlYXJhbmNlIHx8IG1hdEZvcm1GaWVsZERlZmF1bHRPcHRpb25zPy5hcHBlYXJhbmNlIHx8ICdzdGFuZGFyZCdcIlxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiXG4gICAgICBbZmxvYXRMYWJlbF09XCJvcHRpb25zPy5mbG9hdExhYmVsIHx8IG1hdEZvcm1GaWVsZERlZmF1bHRPcHRpb25zPy5mbG9hdExhYmVsIHx8IChvcHRpb25zPy5ub3RpdGxlID8gJ25ldmVyJyA6ICdhdXRvJylcIlxuICAgICAgW2hpZGVSZXF1aXJlZE1hcmtlcl09XCJvcHRpb25zPy5oaWRlUmVxdWlyZWQgPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICAgIFtzdHlsZS53aWR0aF09XCInMTAwJSdcIj5cbiAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCIhb3B0aW9ucz8ubm90aXRsZVwiPnt7b3B0aW9ucz8udGl0bGV9fTwvbWF0LWxhYmVsPlxuICAgICAgPHNwYW4gbWF0UHJlZml4ICpuZ0lmPVwib3B0aW9ucz8ucHJlZml4IHx8IG9wdGlvbnM/LmZpZWxkQWRkb25MZWZ0XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5wcmVmaXggfHwgb3B0aW9ucz8uZmllbGRBZGRvbkxlZnRcIj48L3NwYW4+XG4gICAgICA8bWF0LXNlbGVjdCAqbmdJZj1cImJvdW5kQ29udHJvbFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ1N0YXR1cydcIlxuICAgICAgICBbYXR0ci5uYW1lXT1cImNvbnRyb2xOYW1lXCJcbiAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICAgIFttdWx0aXBsZV09XCJvcHRpb25zPy5tdWx0aXBsZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJvcHRpb25zPy5ub3RpdGxlID8gb3B0aW9ucz8ucGxhY2Vob2xkZXIgOiBvcHRpb25zPy50aXRsZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXG4gICAgICAgIFtzdHlsZS53aWR0aF09XCInMTAwJSdcIlxuICAgICAgICAoYmx1cik9XCJvcHRpb25zLnNob3dFcnJvcnMgPSB0cnVlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtc2VsZWN0SXRlbSBbbmdGb3JPZl09XCJzZWxlY3RMaXN0XCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCIhaXNBcnJheShzZWxlY3RJdGVtPy5pdGVtcylcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdEl0ZW0/LnZhbHVlXCI+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInNlbGVjdEl0ZW0/Lm5hbWVcIj48L3NwYW4+XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXAgKm5nSWY9XCJpc0FycmF5KHNlbGVjdEl0ZW0/Lml0ZW1zKVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwic2VsZWN0SXRlbT8uZ3JvdXBcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdWJJdGVtIG9mIHNlbGVjdEl0ZW0uaXRlbXNcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwic3ViSXRlbT8udmFsdWVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJzdWJJdGVtPy5uYW1lXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPG1hdC1zZWxlY3QgKm5nSWY9XCIhYm91bmRDb250cm9sXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICAgIFthdHRyLm5hbWVdPVwiY29udHJvbE5hbWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29udHJvbERpc2FibGVkIHx8IG9wdGlvbnM/LnJlYWRvbmx5XCJcbiAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICAgIFttdWx0aXBsZV09XCJvcHRpb25zPy5tdWx0aXBsZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJvcHRpb25zPy5ub3RpdGxlID8gb3B0aW9ucz8ucGxhY2Vob2xkZXIgOiBvcHRpb25zPy50aXRsZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXG4gICAgICAgIFtzdHlsZS53aWR0aF09XCInMTAwJSdcIlxuICAgICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcbiAgICAgICAgKGJsdXIpPVwib3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZVwiXG4gICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXNlbGVjdEl0ZW0gW25nRm9yT2ZdPVwic2VsZWN0TGlzdFwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiIWlzQXJyYXkoc2VsZWN0SXRlbT8uaXRlbXMpXCJcbiAgICAgICAgICAgIFthdHRyLnNlbGVjdGVkXT1cInNlbGVjdEl0ZW0/LnZhbHVlID09PSBjb250cm9sVmFsdWVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdEl0ZW0/LnZhbHVlXCI+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInNlbGVjdEl0ZW0/Lm5hbWVcIj48L3NwYW4+XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXAgKm5nSWY9XCJpc0FycmF5KHNlbGVjdEl0ZW0/Lml0ZW1zKVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwic2VsZWN0SXRlbT8uZ3JvdXBcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdWJJdGVtIG9mIHNlbGVjdEl0ZW0uaXRlbXNcIlxuICAgICAgICAgICAgICBbYXR0ci5zZWxlY3RlZF09XCJzdWJJdGVtPy52YWx1ZSA9PT0gY29udHJvbFZhbHVlXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInN1Ykl0ZW0/LnZhbHVlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwic3ViSXRlbT8ubmFtZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1vcHRncm91cD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDxzcGFuIG1hdFN1ZmZpeCAqbmdJZj1cIm9wdGlvbnM/LnN1ZmZpeCB8fCBvcHRpb25zPy5maWVsZEFkZG9uUmlnaHRcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbnM/LnN1ZmZpeCB8fCBvcHRpb25zPy5maWVsZEFkZG9uUmlnaHRcIj48L3NwYW4+XG4gICAgICA8bWF0LWhpbnQgKm5nSWY9XCJvcHRpb25zPy5kZXNjcmlwdGlvbiAmJiAoIW9wdGlvbnM/LnNob3dFcnJvcnMgfHwgIW9wdGlvbnM/LmVycm9yTWVzc2FnZSlcIlxuICAgICAgICBhbGlnbj1cImVuZFwiIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uZGVzY3JpcHRpb25cIj48L21hdC1oaW50PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cIm9wdGlvbnM/LnNob3dFcnJvcnMgJiYgb3B0aW9ucz8uZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uZXJyb3JNZXNzYWdlXCI+PC9tYXQtZXJyb3I+YCxcbiAgc3R5bGVzOiBbYFxuICAgIG1hdC1lcnJvciB7IGZvbnQtc2l6ZTogNzUlOyBtYXJnaW4tdG9wOiAtMXJlbTsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgOjpuZy1kZWVwIGpzb24tc2NoZW1hLWZvcm0gbWF0LWZvcm0tZmllbGQgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWZsZXhcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7IHdpZHRoOiBpbml0aWFsOyB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGNvbnRyb2xWYWx1ZTogYW55O1xuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XG4gIG9wdGlvbnM6IGFueTtcbiAgc2VsZWN0TGlzdDogYW55W10gPSBbXTtcbiAgaXNBcnJheSA9IGlzQXJyYXk7XG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueTtcbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IG51bWJlcltdO1xuICBASW5wdXQoKSBkYXRhSW5kZXg6IG51bWJlcltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TKSBAT3B0aW9uYWwoKSBwdWJsaWMgbWF0Rm9ybUZpZWxkRGVmYXVsdE9wdGlvbnMsXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9O1xuICAgIHRoaXMuc2VsZWN0TGlzdCA9IGJ1aWxkVGl0bGVNYXAoXG4gICAgICB0aGlzLm9wdGlvbnMudGl0bGVNYXAgfHwgdGhpcy5vcHRpb25zLmVudW1OYW1lcyxcbiAgICAgIHRoaXMub3B0aW9ucy5lbnVtLCAhIXRoaXMub3B0aW9ucy5yZXF1aXJlZCwgISF0aGlzLm9wdGlvbnMuZmxhdExpc3RcbiAgICApO1xuICAgIHRoaXMuanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMsICF0aGlzLm9wdGlvbnMucmVhZG9ubHkpO1xuICAgIGlmICghdGhpcy5vcHRpb25zLm5vdGl0bGUgJiYgIXRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbiAmJiB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbiA9IHRoaXMub3B0aW9ucy5wbGFjZWhvbGRlcjtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWx1ZShldmVudCkge1xuICAgIHRoaXMub3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZTtcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,88 @@
|
|
|
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/slider";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
import * as i4 from "@angular/forms";
|
|
7
|
+
import * as i5 from "@angular/material/form-field";
|
|
8
|
+
export class MaterialSliderComponent {
|
|
9
|
+
constructor(jsf) {
|
|
10
|
+
this.jsf = jsf;
|
|
11
|
+
this.controlDisabled = false;
|
|
12
|
+
this.boundControl = false;
|
|
13
|
+
this.allowNegative = true;
|
|
14
|
+
this.allowDecimal = true;
|
|
15
|
+
this.allowExponents = false;
|
|
16
|
+
this.lastValidNumber = '';
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.options = this.layoutNode.options || {};
|
|
20
|
+
this.jsf.initializeControl(this, !this.options.readonly);
|
|
21
|
+
}
|
|
22
|
+
updateValue(event) {
|
|
23
|
+
this.options.showErrors = true;
|
|
24
|
+
this.jsf.updateValue(this, event.value);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
MaterialSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialSliderComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
MaterialSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialSliderComponent, selector: "material-slider-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
29
|
+
<mat-slider thumbLabel *ngIf="boundControl"
|
|
30
|
+
[formControl]="formControl"
|
|
31
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
32
|
+
[id]="'control' + layoutNode?._id"
|
|
33
|
+
[max]="options?.maximum"
|
|
34
|
+
[min]="options?.minimum"
|
|
35
|
+
[step]="options?.multipleOf || options?.step || 'any'"
|
|
36
|
+
[style.width]="'100%'"
|
|
37
|
+
(blur)="options.showErrors = true"></mat-slider>
|
|
38
|
+
<mat-slider thumbLabel *ngIf="!boundControl"
|
|
39
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
40
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
41
|
+
[id]="'control' + layoutNode?._id"
|
|
42
|
+
[max]="options?.maximum"
|
|
43
|
+
[min]="options?.minimum"
|
|
44
|
+
[step]="options?.multipleOf || options?.step || 'any'"
|
|
45
|
+
[style.width]="'100%'"
|
|
46
|
+
[value]="controlValue"
|
|
47
|
+
(blur)="options.showErrors = true"
|
|
48
|
+
(change)="updateValue($event)"></mat-slider>
|
|
49
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
50
|
+
[innerHTML]="options?.errorMessage"></mat-error>`, isInline: true, styles: ["mat-error{font-size:75%}\n"], components: [{ type: i2.MatSlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "displayWith", "valueText", "vertical"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }] });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialSliderComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{
|
|
54
|
+
// tslint:disable-next-line:component-selector
|
|
55
|
+
selector: 'material-slider-widget',
|
|
56
|
+
template: `
|
|
57
|
+
<mat-slider thumbLabel *ngIf="boundControl"
|
|
58
|
+
[formControl]="formControl"
|
|
59
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
60
|
+
[id]="'control' + layoutNode?._id"
|
|
61
|
+
[max]="options?.maximum"
|
|
62
|
+
[min]="options?.minimum"
|
|
63
|
+
[step]="options?.multipleOf || options?.step || 'any'"
|
|
64
|
+
[style.width]="'100%'"
|
|
65
|
+
(blur)="options.showErrors = true"></mat-slider>
|
|
66
|
+
<mat-slider thumbLabel *ngIf="!boundControl"
|
|
67
|
+
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
68
|
+
[disabled]="controlDisabled || options?.readonly"
|
|
69
|
+
[id]="'control' + layoutNode?._id"
|
|
70
|
+
[max]="options?.maximum"
|
|
71
|
+
[min]="options?.minimum"
|
|
72
|
+
[step]="options?.multipleOf || options?.step || 'any'"
|
|
73
|
+
[style.width]="'100%'"
|
|
74
|
+
[value]="controlValue"
|
|
75
|
+
(blur)="options.showErrors = true"
|
|
76
|
+
(change)="updateValue($event)"></mat-slider>
|
|
77
|
+
<mat-error *ngIf="options?.showErrors && options?.errorMessage"
|
|
78
|
+
[innerHTML]="options?.errorMessage"></mat-error>`,
|
|
79
|
+
styles: [` mat-error { font-size: 75%; } `],
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], layoutIndex: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], dataIndex: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}] } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fqc2YtbWF0ZXJpYWwvc3JjL2xpYi93aWRnZXRzL21hdGVyaWFsLXNsaWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUErQnpELE1BQU0sT0FBTyx1QkFBdUI7SUFlbEMsWUFDVSxHQUEwQjtRQUExQixRQUFHLEdBQUgsR0FBRyxDQUF1QjtRQVpwQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixvQkFBZSxHQUFHLEVBQUUsQ0FBQztJQU9qQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDOztvSEEzQlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsd0pBekJ4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1REFzQjJDOzJGQUcxQyx1QkFBdUI7a0JBNUJuQyxTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VEQXNCMkM7b0JBQ25ELE1BQU0sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2lCQUM5Qzs0R0FZVSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnQGFqc2YvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbWF0ZXJpYWwtc2xpZGVyLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1zbGlkZXIgdGh1bWJMYWJlbCAqbmdJZj1cImJvdW5kQ29udHJvbFwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkXCJcbiAgICAgIFttYXhdPVwib3B0aW9ucz8ubWF4aW11bVwiXG4gICAgICBbbWluXT1cIm9wdGlvbnM/Lm1pbmltdW1cIlxuICAgICAgW3N0ZXBdPVwib3B0aW9ucz8ubXVsdGlwbGVPZiB8fCBvcHRpb25zPy5zdGVwIHx8ICdhbnknXCJcbiAgICAgIFtzdHlsZS53aWR0aF09XCInMTAwJSdcIlxuICAgICAgKGJsdXIpPVwib3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZVwiPjwvbWF0LXNsaWRlcj5cbiAgICA8bWF0LXNsaWRlciB0aHVtYkxhYmVsICpuZ0lmPVwiIWJvdW5kQ29udHJvbFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZCArICdTdGF0dXMnXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWQgfHwgb3B0aW9ucz8ucmVhZG9ubHlcIlxuICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICBbbWF4XT1cIm9wdGlvbnM/Lm1heGltdW1cIlxuICAgICAgW21pbl09XCJvcHRpb25zPy5taW5pbXVtXCJcbiAgICAgIFtzdGVwXT1cIm9wdGlvbnM/Lm11bHRpcGxlT2YgfHwgb3B0aW9ucz8uc3RlcCB8fCAnYW55J1wiXG4gICAgICBbc3R5bGUud2lkdGhdPVwiJzEwMCUnXCJcbiAgICAgIFt2YWx1ZV09XCJjb250cm9sVmFsdWVcIlxuICAgICAgKGJsdXIpPVwib3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZVwiXG4gICAgICAoY2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIj48L21hdC1zbGlkZXI+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cIm9wdGlvbnM/LnNob3dFcnJvcnMgJiYgb3B0aW9ucz8uZXJyb3JNZXNzYWdlXCJcbiAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8uZXJyb3JNZXNzYWdlXCI+PC9tYXQtZXJyb3I+YCxcbiAgICBzdHlsZXM6IFtgIG1hdC1lcnJvciB7IGZvbnQtc2l6ZTogNzUlOyB9IGBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFNsaWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGNvbnRyb2xWYWx1ZTogYW55O1xuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XG4gIG9wdGlvbnM6IGFueTtcbiAgYWxsb3dOZWdhdGl2ZSA9IHRydWU7XG4gIGFsbG93RGVjaW1hbCA9IHRydWU7XG4gIGFsbG93RXhwb25lbnRzID0gZmFsc2U7XG4gIGxhc3RWYWxpZE51bWJlciA9ICcnO1xuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnk7XG4gIEBJbnB1dCgpIGxheW91dEluZGV4OiBudW1iZXJbXTtcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcywgIXRoaXMub3B0aW9ucy5yZWFkb25seSk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZShldmVudCkge1xuICAgIHRoaXMub3B0aW9ucy5zaG93RXJyb3JzID0gdHJ1ZTtcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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 MaterialStepperComponent {
|
|
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
|
+
MaterialStepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialStepperComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
MaterialStepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialStepperComponent, selector: "material-stepper-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: MaterialStepperComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
// tslint:disable-next-line:component-selector
|
|
25
|
+
selector: 'material-stepper-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtc3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hanNmLW1hdGVyaWFsL3NyYy9saWIvd2lkZ2V0cy9tYXRlcmlhbC1zdGVwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBR3pELHlCQUF5QjtBQU96QixNQUFNLE9BQU8sd0JBQXdCO0lBV25DLFlBQ1UsR0FBMEI7UUFBMUIsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFScEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFRakIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3FIQXRCVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix5SkFGekIsRUFBRTsyRkFFRCx3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUUsRUFBRTtpQkFDYjs0R0FRVSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnQGFqc2YvY29yZSc7XG5cbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdtYXRlcmlhbC1zdGVwcGVyLXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgYCxcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxTdGVwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgY29udHJvbE5hbWU6IHN0cmluZztcbiAgY29udHJvbFZhbHVlOiBhbnk7XG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlO1xuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcbiAgb3B0aW9uczogYW55O1xuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnk7XG4gIEBJbnB1dCgpIGxheW91dEluZGV4OiBudW1iZXJbXTtcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZShldmVudCkge1xuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,91 @@
|
|
|
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/tabs";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
export class MaterialTabsComponent {
|
|
7
|
+
constructor(jsf) {
|
|
8
|
+
this.jsf = jsf;
|
|
9
|
+
this.selectedItem = 0;
|
|
10
|
+
this.showAddTab = true;
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
this.options = this.layoutNode.options || {};
|
|
14
|
+
this.itemCount = this.layoutNode.items.length - 1;
|
|
15
|
+
this.updateControl();
|
|
16
|
+
}
|
|
17
|
+
select(index) {
|
|
18
|
+
if (this.layoutNode.items[index].type === '$ref') {
|
|
19
|
+
this.jsf.addItem({
|
|
20
|
+
layoutNode: this.layoutNode.items[index],
|
|
21
|
+
layoutIndex: this.layoutIndex.concat(index),
|
|
22
|
+
dataIndex: this.dataIndex.concat(index)
|
|
23
|
+
});
|
|
24
|
+
this.updateControl();
|
|
25
|
+
}
|
|
26
|
+
this.selectedItem = index;
|
|
27
|
+
}
|
|
28
|
+
updateControl() {
|
|
29
|
+
this.itemCount = this.layoutNode.items.length - 1;
|
|
30
|
+
const lastItem = this.layoutNode.items[this.layoutNode.items.length - 1];
|
|
31
|
+
this.showAddTab = lastItem.type === '$ref' &&
|
|
32
|
+
this.itemCount < (lastItem.options.maxItems || 1000);
|
|
33
|
+
}
|
|
34
|
+
setTabTitle(item, index) {
|
|
35
|
+
return this.jsf.setArrayItemTitle(this, item, index);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
MaterialTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialTabsComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
MaterialTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: MaterialTabsComponent, selector: "material-tabs-widget", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: `
|
|
40
|
+
<nav mat-tab-nav-bar
|
|
41
|
+
[attr.aria-label]="options?.label || options?.title || ''"
|
|
42
|
+
[style.width]="'100%'">
|
|
43
|
+
<a mat-tab-link *ngFor="let item of layoutNode?.items; let i = index"
|
|
44
|
+
[active]="selectedItem === i"
|
|
45
|
+
(click)="select(i)">
|
|
46
|
+
<span *ngIf="showAddTab || item.type !== '$ref'"
|
|
47
|
+
[innerHTML]="setTabTitle(item, i)"></span>
|
|
48
|
+
</a>
|
|
49
|
+
</nav>
|
|
50
|
+
<div *ngFor="let layoutItem of layoutNode?.items; let i = index"
|
|
51
|
+
[class]="options?.htmlClass || ''">
|
|
52
|
+
<select-framework-widget *ngIf="selectedItem === i"
|
|
53
|
+
[class]="(options?.fieldHtmlClass || '') + ' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')"
|
|
54
|
+
[dataIndex]="layoutNode?.dataType === 'array' ? (dataIndex || []).concat(i) : dataIndex"
|
|
55
|
+
[layoutIndex]="(layoutIndex || []).concat(i)"
|
|
56
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
57
|
+
</div>`, isInline: true, styles: ["a{cursor:pointer}\n"], components: [{ type: i2.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }, { type: i1.SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaterialTabsComponent, decorators: [{
|
|
59
|
+
type: Component,
|
|
60
|
+
args: [{
|
|
61
|
+
// tslint:disable-next-line:component-selector
|
|
62
|
+
selector: 'material-tabs-widget',
|
|
63
|
+
template: `
|
|
64
|
+
<nav mat-tab-nav-bar
|
|
65
|
+
[attr.aria-label]="options?.label || options?.title || ''"
|
|
66
|
+
[style.width]="'100%'">
|
|
67
|
+
<a mat-tab-link *ngFor="let item of layoutNode?.items; let i = index"
|
|
68
|
+
[active]="selectedItem === i"
|
|
69
|
+
(click)="select(i)">
|
|
70
|
+
<span *ngIf="showAddTab || item.type !== '$ref'"
|
|
71
|
+
[innerHTML]="setTabTitle(item, i)"></span>
|
|
72
|
+
</a>
|
|
73
|
+
</nav>
|
|
74
|
+
<div *ngFor="let layoutItem of layoutNode?.items; let i = index"
|
|
75
|
+
[class]="options?.htmlClass || ''">
|
|
76
|
+
<select-framework-widget *ngIf="selectedItem === i"
|
|
77
|
+
[class]="(options?.fieldHtmlClass || '') + ' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')"
|
|
78
|
+
[dataIndex]="layoutNode?.dataType === 'array' ? (dataIndex || []).concat(i) : dataIndex"
|
|
79
|
+
[layoutIndex]="(layoutIndex || []).concat(i)"
|
|
80
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
81
|
+
</div>`,
|
|
82
|
+
styles: [` a { cursor: pointer; } `],
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], layoutIndex: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], dataIndex: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}] } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hanNmLW1hdGVyaWFsL3NyYy9saWIvd2lkZ2V0cy9tYXRlcmlhbC10YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUEyQnpELE1BQU0sT0FBTyxxQkFBcUI7SUFTaEMsWUFDVSxHQUEwQjtRQUExQixRQUFHLEdBQUgsR0FBRyxDQUF1QjtRQVBwQyxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixlQUFVLEdBQUcsSUFBSSxDQUFDO0lBT2QsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztnQkFDZixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUN4QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ3hDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEtBQUssTUFBTTtZQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFTLEVBQUUsS0FBYTtRQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDOztrSEF4Q1UscUJBQXFCO3NHQUFyQixxQkFBcUIsc0pBckJ0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBa0JEOzJGQUdFLHFCQUFxQjtrQkF4QmpDLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQWtCRDtvQkFDVCxNQUFNLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDckM7NEdBTVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BhanNmL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ21hdGVyaWFsLXRhYnMtd2lkZ2V0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmF2IG1hdC10YWItbmF2LWJhclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb25zPy5sYWJlbCB8fCBvcHRpb25zPy50aXRsZSB8fCAnJ1wiXG4gICAgICBbc3R5bGUud2lkdGhdPVwiJzEwMCUnXCI+XG4gICAgICAgIDxhIG1hdC10YWItbGluayAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYXlvdXROb2RlPy5pdGVtczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgW2FjdGl2ZV09XCJzZWxlY3RlZEl0ZW0gPT09IGlcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoaSlcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dBZGRUYWIgfHwgaXRlbS50eXBlICE9PSAnJHJlZidcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJzZXRUYWJUaXRsZShpdGVtLCBpKVwiPjwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmF2PlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dEl0ZW0gb2YgbGF5b3V0Tm9kZT8uaXRlbXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiPlxuICAgICAgPHNlbGVjdC1mcmFtZXdvcmstd2lkZ2V0ICpuZ0lmPVwic2VsZWN0ZWRJdGVtID09PSBpXCJcbiAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJykgKyAnICcgKyAob3B0aW9ucz8uYWN0aXZlQ2xhc3MgfHwgJycpICsgJyAnICsgKG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCB8fCAnJylcIlxuICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dE5vZGU/LmRhdGFUeXBlID09PSAnYXJyYXknID8gKGRhdGFJbmRleCB8fCBbXSkuY29uY2F0KGkpIDogZGF0YUluZGV4XCJcbiAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCB8fCBbXSkuY29uY2F0KGkpXCJcbiAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiPjwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XG4gICAgPC9kaXY+YCxcbiAgc3R5bGVzOiBbYCBhIHsgY3Vyc29yOiBwb2ludGVyOyB9IGBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBvcHRpb25zOiBhbnk7XG4gIGl0ZW1Db3VudDogbnVtYmVyO1xuICBzZWxlY3RlZEl0ZW0gPSAwO1xuICBzaG93QWRkVGFiID0gdHJ1ZTtcbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogYW55O1xuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9O1xuICAgIHRoaXMuaXRlbUNvdW50ID0gdGhpcy5sYXlvdXROb2RlLml0ZW1zLmxlbmd0aCAtIDE7XG4gICAgdGhpcy51cGRhdGVDb250cm9sKCk7XG4gIH1cblxuICBzZWxlY3QoaW5kZXgpIHtcbiAgICBpZiAodGhpcy5sYXlvdXROb2RlLml0ZW1zW2luZGV4XS50eXBlID09PSAnJHJlZicpIHtcbiAgICAgIHRoaXMuanNmLmFkZEl0ZW0oe1xuICAgICAgICBsYXlvdXROb2RlOiB0aGlzLmxheW91dE5vZGUuaXRlbXNbaW5kZXhdLFxuICAgICAgICBsYXlvdXRJbmRleDogdGhpcy5sYXlvdXRJbmRleC5jb25jYXQoaW5kZXgpLFxuICAgICAgICBkYXRhSW5kZXg6IHRoaXMuZGF0YUluZGV4LmNvbmNhdChpbmRleClcbiAgICAgIH0pO1xuICAgICAgdGhpcy51cGRhdGVDb250cm9sKCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaW5kZXg7XG4gIH1cblxuICB1cGRhdGVDb250cm9sKCkge1xuICAgIHRoaXMuaXRlbUNvdW50ID0gdGhpcy5sYXlvdXROb2RlLml0ZW1zLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgbGFzdEl0ZW0gPSB0aGlzLmxheW91dE5vZGUuaXRlbXNbdGhpcy5sYXlvdXROb2RlLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgIHRoaXMuc2hvd0FkZFRhYiA9IGxhc3RJdGVtLnR5cGUgPT09ICckcmVmJyAmJlxuICAgICAgdGhpcy5pdGVtQ291bnQgPCAobGFzdEl0ZW0ub3B0aW9ucy5tYXhJdGVtcyB8fCAxMDAwKTtcbiAgfVxuXG4gIHNldFRhYlRpdGxlKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuanNmLnNldEFycmF5SXRlbVRpdGxlKHRoaXMsIGl0ZW0sIGluZGV4KTtcbiAgfVxufVxuIl19
|