@ng-formworks/core 18.5.1 → 19.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/fesm2022/ng-formworks-core.mjs +130 -110
- package/fesm2022/ng-formworks-core.mjs.map +1 -1
- package/package.json +3 -3
- package/esm2022/lib/framework-library/framework-library.service.mjs +0 -172
- package/esm2022/lib/framework-library/framework.mjs +0 -15
- package/esm2022/lib/framework-library/no-framework.component.mjs +0 -17
- package/esm2022/lib/framework-library/no-framework.module.mjs +0 -27
- package/esm2022/lib/framework-library/no.framework.mjs +0 -19
- package/esm2022/lib/json-schema-form.component.mjs +0 -759
- package/esm2022/lib/json-schema-form.module.mjs +0 -26
- package/esm2022/lib/json-schema-form.service.mjs +0 -695
- package/esm2022/lib/locale/de-validation-messages.mjs +0 -60
- package/esm2022/lib/locale/en-validation-messages.mjs +0 -60
- package/esm2022/lib/locale/es-validation-messages.mjs +0 -57
- package/esm2022/lib/locale/fr-validation-messages.mjs +0 -60
- package/esm2022/lib/locale/index.mjs +0 -8
- package/esm2022/lib/locale/it-validation-messages.mjs +0 -60
- package/esm2022/lib/locale/pt-validation-messages.mjs +0 -60
- package/esm2022/lib/locale/zh-validation-messages.mjs +0 -60
- package/esm2022/lib/shared/convert-schema-to-draft6.function.mjs +0 -300
- package/esm2022/lib/shared/form-group.functions.mjs +0 -444
- package/esm2022/lib/shared/format-regex.constants.mjs +0 -54
- package/esm2022/lib/shared/index.mjs +0 -12
- package/esm2022/lib/shared/json-schema.functions.mjs +0 -784
- package/esm2022/lib/shared/json.validators.mjs +0 -884
- package/esm2022/lib/shared/jsonpointer.functions.mjs +0 -1026
- package/esm2022/lib/shared/layout.functions.mjs +0 -1158
- package/esm2022/lib/shared/merge-schemas.function.mjs +0 -345
- package/esm2022/lib/shared/utility.functions.mjs +0 -380
- package/esm2022/lib/shared/validator.functions.mjs +0 -584
- package/esm2022/lib/widget-library/add-reference.component.mjs +0 -58
- package/esm2022/lib/widget-library/button.component.mjs +0 -69
- package/esm2022/lib/widget-library/checkbox.component.mjs +0 -102
- package/esm2022/lib/widget-library/checkboxes.component.mjs +0 -145
- package/esm2022/lib/widget-library/file.component.mjs +0 -32
- package/esm2022/lib/widget-library/hidden.component.mjs +0 -51
- package/esm2022/lib/widget-library/index.mjs +0 -55
- package/esm2022/lib/widget-library/input.component.mjs +0 -116
- package/esm2022/lib/widget-library/message.component.mjs +0 -35
- package/esm2022/lib/widget-library/none.component.mjs +0 -20
- package/esm2022/lib/widget-library/number.component.mjs +0 -120
- package/esm2022/lib/widget-library/one-of.component.mjs +0 -32
- package/esm2022/lib/widget-library/orderable.directive.mjs +0 -120
- package/esm2022/lib/widget-library/radios.component.mjs +0 -151
- package/esm2022/lib/widget-library/root.component.mjs +0 -73
- package/esm2022/lib/widget-library/section.component.mjs +0 -196
- package/esm2022/lib/widget-library/select-framework.component.mjs +0 -44
- package/esm2022/lib/widget-library/select-widget.component.mjs +0 -42
- package/esm2022/lib/widget-library/select.component.mjs +0 -147
- package/esm2022/lib/widget-library/submit.component.mjs +0 -79
- package/esm2022/lib/widget-library/tab.component.mjs +0 -38
- package/esm2022/lib/widget-library/tabs.component.mjs +0 -106
- package/esm2022/lib/widget-library/template.component.mjs +0 -43
- package/esm2022/lib/widget-library/textarea.component.mjs +0 -101
- package/esm2022/lib/widget-library/widget-library.module.mjs +0 -42
- package/esm2022/lib/widget-library/widget-library.service.mjs +0 -226
- package/esm2022/ng-formworks-core.mjs +0 -5
- package/esm2022/public_api.mjs +0 -13
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { buildTitleMap } from '../shared';
|
|
2
|
-
import { Component, input, inject } from '@angular/core';
|
|
3
|
-
import { JsonSchemaFormService } from '../json-schema-form.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
export class RadiosComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.jsf = inject(JsonSchemaFormService);
|
|
9
|
-
this.controlDisabled = false;
|
|
10
|
-
this.boundControl = false;
|
|
11
|
-
this.layoutOrientation = 'vertical';
|
|
12
|
-
this.radiosList = [];
|
|
13
|
-
this.layoutNode = input(undefined);
|
|
14
|
-
this.layoutIndex = input(undefined);
|
|
15
|
-
this.dataIndex = input(undefined);
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
this.options = this.layoutNode().options || {};
|
|
19
|
-
const layoutNode = this.layoutNode();
|
|
20
|
-
if (layoutNode.type === 'radios-inline' ||
|
|
21
|
-
layoutNode.type === 'radiobuttons') {
|
|
22
|
-
this.layoutOrientation = 'horizontal';
|
|
23
|
-
}
|
|
24
|
-
this.radiosList = buildTitleMap(this.options.titleMap || this.options.enumNames, this.options.enum, true);
|
|
25
|
-
this.jsf.initializeControl(this);
|
|
26
|
-
}
|
|
27
|
-
updateValue(event) {
|
|
28
|
-
this.jsf.updateValue(this, event.target.value);
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadiosComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: RadiosComponent, selector: "radios-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
32
|
-
<label *ngIf="options?.title"
|
|
33
|
-
[attr.for]="'control' + layoutNode()?._id"
|
|
34
|
-
[class]="options?.labelHtmlClass || ''"
|
|
35
|
-
[style.display]="options?.notitle ? 'none' : ''"
|
|
36
|
-
[innerHTML]="options?.title"></label>
|
|
37
|
-
|
|
38
|
-
<!-- 'horizontal' = radios-inline or radiobuttons -->
|
|
39
|
-
<div *ngIf="layoutOrientation === 'horizontal'"
|
|
40
|
-
[class]="options?.htmlClass || ''">
|
|
41
|
-
<label *ngFor="let radioItem of radiosList"
|
|
42
|
-
[attr.for]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
43
|
-
[class]="(options?.itemLabelHtmlClass || '') +
|
|
44
|
-
((controlValue + '' === radioItem?.value + '') ?
|
|
45
|
-
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
46
|
-
(' ' + (options?.style?.unselected || '')))">
|
|
47
|
-
<input type="radio"
|
|
48
|
-
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
49
|
-
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
50
|
-
[attr.required]="options?.required"
|
|
51
|
-
[checked]="radioItem?.value === controlValue"
|
|
52
|
-
[class]="options?.fieldHtmlClass || ''"
|
|
53
|
-
[disabled]="controlDisabled"
|
|
54
|
-
[id]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
55
|
-
[name]="controlName"
|
|
56
|
-
[value]="radioItem?.value"
|
|
57
|
-
(change)="updateValue($event)">
|
|
58
|
-
<span [innerHTML]="radioItem?.name"></span>
|
|
59
|
-
</label>
|
|
60
|
-
</div>
|
|
61
|
-
|
|
62
|
-
<!-- 'vertical' = regular radios -->
|
|
63
|
-
<div *ngIf="layoutOrientation !== 'horizontal'">
|
|
64
|
-
<div *ngFor="let radioItem of radiosList"
|
|
65
|
-
[class]="options?.htmlClass || ''">
|
|
66
|
-
<label
|
|
67
|
-
[attr.for]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
68
|
-
[class]="(options?.itemLabelHtmlClass || '') +
|
|
69
|
-
((controlValue + '' === radioItem?.value + '') ?
|
|
70
|
-
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
71
|
-
(' ' + (options?.style?.unselected || '')))">
|
|
72
|
-
<input type="radio"
|
|
73
|
-
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
74
|
-
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
75
|
-
[attr.required]="options?.required"
|
|
76
|
-
[checked]="radioItem?.value === controlValue"
|
|
77
|
-
[class]="options?.fieldHtmlClass || ''"
|
|
78
|
-
[disabled]="controlDisabled"
|
|
79
|
-
[id]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
80
|
-
[name]="controlName"
|
|
81
|
-
[value]="radioItem?.value"
|
|
82
|
-
(change)="updateValue($event)">
|
|
83
|
-
<span [innerHTML]="radioItem?.name"></span>
|
|
84
|
-
</label>
|
|
85
|
-
</div>
|
|
86
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
87
|
-
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadiosComponent, decorators: [{
|
|
89
|
-
type: Component,
|
|
90
|
-
args: [{
|
|
91
|
-
// tslint:disable-next-line:component-selector
|
|
92
|
-
selector: 'radios-widget',
|
|
93
|
-
template: `
|
|
94
|
-
<label *ngIf="options?.title"
|
|
95
|
-
[attr.for]="'control' + layoutNode()?._id"
|
|
96
|
-
[class]="options?.labelHtmlClass || ''"
|
|
97
|
-
[style.display]="options?.notitle ? 'none' : ''"
|
|
98
|
-
[innerHTML]="options?.title"></label>
|
|
99
|
-
|
|
100
|
-
<!-- 'horizontal' = radios-inline or radiobuttons -->
|
|
101
|
-
<div *ngIf="layoutOrientation === 'horizontal'"
|
|
102
|
-
[class]="options?.htmlClass || ''">
|
|
103
|
-
<label *ngFor="let radioItem of radiosList"
|
|
104
|
-
[attr.for]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
105
|
-
[class]="(options?.itemLabelHtmlClass || '') +
|
|
106
|
-
((controlValue + '' === radioItem?.value + '') ?
|
|
107
|
-
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
108
|
-
(' ' + (options?.style?.unselected || '')))">
|
|
109
|
-
<input type="radio"
|
|
110
|
-
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
111
|
-
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
112
|
-
[attr.required]="options?.required"
|
|
113
|
-
[checked]="radioItem?.value === controlValue"
|
|
114
|
-
[class]="options?.fieldHtmlClass || ''"
|
|
115
|
-
[disabled]="controlDisabled"
|
|
116
|
-
[id]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
117
|
-
[name]="controlName"
|
|
118
|
-
[value]="radioItem?.value"
|
|
119
|
-
(change)="updateValue($event)">
|
|
120
|
-
<span [innerHTML]="radioItem?.name"></span>
|
|
121
|
-
</label>
|
|
122
|
-
</div>
|
|
123
|
-
|
|
124
|
-
<!-- 'vertical' = regular radios -->
|
|
125
|
-
<div *ngIf="layoutOrientation !== 'horizontal'">
|
|
126
|
-
<div *ngFor="let radioItem of radiosList"
|
|
127
|
-
[class]="options?.htmlClass || ''">
|
|
128
|
-
<label
|
|
129
|
-
[attr.for]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
130
|
-
[class]="(options?.itemLabelHtmlClass || '') +
|
|
131
|
-
((controlValue + '' === radioItem?.value + '') ?
|
|
132
|
-
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
133
|
-
(' ' + (options?.style?.unselected || '')))">
|
|
134
|
-
<input type="radio"
|
|
135
|
-
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
136
|
-
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
137
|
-
[attr.required]="options?.required"
|
|
138
|
-
[checked]="radioItem?.value === controlValue"
|
|
139
|
-
[class]="options?.fieldHtmlClass || ''"
|
|
140
|
-
[disabled]="controlDisabled"
|
|
141
|
-
[id]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
142
|
-
[name]="controlName"
|
|
143
|
-
[value]="radioItem?.value"
|
|
144
|
-
(change)="updateValue($event)">
|
|
145
|
-
<span [innerHTML]="radioItem?.name"></span>
|
|
146
|
-
</label>
|
|
147
|
-
</div>
|
|
148
|
-
</div>`,
|
|
149
|
-
}]
|
|
150
|
-
}] });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvcmFkaW9zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBK0RwRSxNQUFNLE9BQU8sZUFBZTtJQTVENUI7UUE2RFUsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSzVDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLHNCQUFpQixHQUFHLFVBQVUsQ0FBQztRQUMvQixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ2QsZUFBVSxHQUFHLEtBQUssQ0FBTSxTQUFTLENBQUMsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO0tBb0JqRDtJQWxCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGVBQWU7WUFDckMsVUFBVSxDQUFDLElBQUksS0FBSyxjQUFjLEVBQ2xDLENBQUM7WUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FDeEIsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0FoQ1UsZUFBZTttR0FBZixlQUFlLHNkQXpEaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0F1REQ7OzRGQUVFLGVBQWU7a0JBNUQzQixTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQXVERDtpQkFDViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgYnVpbGRUaXRsZU1hcCB9IGZyb20gJy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBpbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJy4uL2pzb24tc2NoZW1hLWZvcm0uc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAncmFkaW9zLXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxsYWJlbCAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcclxuICAgICAgW2F0dHIuZm9yXT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkXCJcclxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/LmxhYmVsSHRtbENsYXNzIHx8ICcnXCJcclxuICAgICAgW3N0eWxlLmRpc3BsYXldPVwib3B0aW9ucz8ubm90aXRsZSA/ICdub25lJyA6ICcnXCJcclxuICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy50aXRsZVwiPjwvbGFiZWw+XHJcblxyXG4gICAgPCEtLSAnaG9yaXpvbnRhbCcgPSByYWRpb3MtaW5saW5lIG9yIHJhZGlvYnV0dG9ucyAtLT5cclxuICAgIDxkaXYgKm5nSWY9XCJsYXlvdXRPcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnXCJcclxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiPlxyXG4gICAgICA8bGFiZWwgKm5nRm9yPVwibGV0IHJhZGlvSXRlbSBvZiByYWRpb3NMaXN0XCJcclxuICAgICAgICBbYXR0ci5mb3JdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWQgKyAnLycgKyByYWRpb0l0ZW0/LnZhbHVlXCJcclxuICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/Lml0ZW1MYWJlbEh0bWxDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgKChjb250cm9sVmFsdWUgKyAnJyA9PT0gcmFkaW9JdGVtPy52YWx1ZSArICcnKSA/XHJcbiAgICAgICAgICAoJyAnICsgKG9wdGlvbnM/LmFjdGl2ZUNsYXNzIHx8ICcnKSArICcgJyArIChvcHRpb25zPy5zdHlsZT8uc2VsZWN0ZWQgfHwgJycpKSA6XHJcbiAgICAgICAgICAoJyAnICsgKG9wdGlvbnM/LnN0eWxlPy51bnNlbGVjdGVkIHx8ICcnKSkpXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkICsgJ1N0YXR1cydcIlxyXG4gICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwib3B0aW9ucz8ucmVhZG9ubHkgPyAncmVhZG9ubHknIDogbnVsbFwiXHJcbiAgICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJyYWRpb0l0ZW0/LnZhbHVlID09PSBjb250cm9sVmFsdWVcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxyXG4gICAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkICsgJy8nICsgcmFkaW9JdGVtPy52YWx1ZVwiXHJcbiAgICAgICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwicmFkaW9JdGVtPy52YWx1ZVwiXHJcbiAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInJhZGlvSXRlbT8ubmFtZVwiPjwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gJ3ZlcnRpY2FsJyA9IHJlZ3VsYXIgcmFkaW9zIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cImxheW91dE9yaWVudGF0aW9uICE9PSAnaG9yaXpvbnRhbCdcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcmFkaW9JdGVtIG9mIHJhZGlvc0xpc3RcIlxyXG4gICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5odG1sQ2xhc3MgfHwgJydcIj5cclxuICAgICAgICA8bGFiZWxcclxuICAgICAgICAgIFthdHRyLmZvcl09XCInY29udHJvbCcgKyBsYXlvdXROb2RlKCk/Ll9pZCArICcvJyArIHJhZGlvSXRlbT8udmFsdWVcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5pdGVtTGFiZWxIdG1sQ2xhc3MgfHwgJycpICtcclxuICAgICAgICAgICAgKChjb250cm9sVmFsdWUgKyAnJyA9PT0gcmFkaW9JdGVtPy52YWx1ZSArICcnKSA/XHJcbiAgICAgICAgICAgICgnICcgKyAob3B0aW9ucz8uYWN0aXZlQ2xhc3MgfHwgJycpICsgJyAnICsgKG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCB8fCAnJykpIDpcclxuICAgICAgICAgICAgKCcgJyArIChvcHRpb25zPy5zdHlsZT8udW5zZWxlY3RlZCB8fCAnJykpKVwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWQgKyAnU3RhdHVzJ1wiXHJcbiAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxyXG4gICAgICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXHJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cInJhZGlvSXRlbT8udmFsdWUgPT09IGNvbnRyb2xWYWx1ZVwiXHJcbiAgICAgICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJ1wiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWQgKyAnLycgKyByYWRpb0l0ZW0/LnZhbHVlXCJcclxuICAgICAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwicmFkaW9JdGVtPy52YWx1ZVwiXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJyYWRpb0l0ZW0/Lm5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5gLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGpzZiA9IGluamVjdChKc29uU2NoZW1hRm9ybVNlcnZpY2UpO1xyXG5cclxuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgY29udHJvbFZhbHVlOiBhbnk7XHJcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XHJcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XHJcbiAgb3B0aW9uczogYW55O1xyXG4gIGxheW91dE9yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJztcclxuICByYWRpb3NMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHJlYWRvbmx5IGxheW91dE5vZGUgPSBpbnB1dDxhbnk+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUoKS5vcHRpb25zIHx8IHt9O1xyXG4gICAgY29uc3QgbGF5b3V0Tm9kZSA9IHRoaXMubGF5b3V0Tm9kZSgpO1xyXG4gICAgaWYgKGxheW91dE5vZGUudHlwZSA9PT0gJ3JhZGlvcy1pbmxpbmUnIHx8XHJcbiAgICAgIGxheW91dE5vZGUudHlwZSA9PT0gJ3JhZGlvYnV0dG9ucydcclxuICAgICkge1xyXG4gICAgICB0aGlzLmxheW91dE9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yYWRpb3NMaXN0ID0gYnVpbGRUaXRsZU1hcChcclxuICAgICAgdGhpcy5vcHRpb25zLnRpdGxlTWFwIHx8IHRoaXMub3B0aW9ucy5lbnVtTmFtZXMsXHJcbiAgICAgIHRoaXMub3B0aW9ucy5lbnVtLCB0cnVlXHJcbiAgICApO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZShldmVudCkge1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Component, input, inject } from '@angular/core';
|
|
2
|
-
import { JsonSchemaFormService } from '../json-schema-form.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "./select-framework.component";
|
|
6
|
-
import * as i3 from "./orderable.directive";
|
|
7
|
-
export class RootComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.jsf = inject(JsonSchemaFormService);
|
|
10
|
-
this.dataIndex = input(undefined);
|
|
11
|
-
this.layoutIndex = input(undefined);
|
|
12
|
-
this.layout = input(undefined);
|
|
13
|
-
this.isOrderable = input(undefined);
|
|
14
|
-
this.isFlexItem = input(false);
|
|
15
|
-
}
|
|
16
|
-
isDraggable(node) {
|
|
17
|
-
return node.arrayItem && node.type !== '$ref' &&
|
|
18
|
-
node.arrayItemType === 'list' && this.isOrderable() !== false;
|
|
19
|
-
}
|
|
20
|
-
// Set attributes for flexbox child
|
|
21
|
-
// (container attributes are set in section.component)
|
|
22
|
-
getFlexAttribute(node, attribute) {
|
|
23
|
-
const index = ['flex-grow', 'flex-shrink', 'flex-basis'].indexOf(attribute);
|
|
24
|
-
return ((node.options || {}).flex || '').split(/\s+/)[index] ||
|
|
25
|
-
(node.options || {})[attribute] || ['1', '1', 'auto'][index];
|
|
26
|
-
}
|
|
27
|
-
showWidget(layoutNode) {
|
|
28
|
-
return this.jsf.evaluateCondition(layoutNode, this.dataIndex());
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RootComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: RootComponent, selector: "root-widget", inputs: { dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, isOrderable: { classPropertyName: "isOrderable", publicName: "isOrderable", isSignal: true, isRequired: false, transformFunction: null }, isFlexItem: { classPropertyName: "isFlexItem", publicName: "isFlexItem", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
32
|
-
<div *ngFor="let layoutItem of layout(); let i = index"
|
|
33
|
-
[class.form-flex-item]="isFlexItem()"
|
|
34
|
-
[style.align-self]="(layoutItem.options || {})['align-self']"
|
|
35
|
-
[style.flex-basis]="getFlexAttribute(layoutItem, 'flex-basis')"
|
|
36
|
-
[style.flex-grow]="getFlexAttribute(layoutItem, 'flex-grow')"
|
|
37
|
-
[style.flex-shrink]="getFlexAttribute(layoutItem, 'flex-shrink')"
|
|
38
|
-
[style.order]="(layoutItem.options || {}).order">
|
|
39
|
-
<div
|
|
40
|
-
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
41
|
-
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
42
|
-
[layoutNode]="layoutItem"
|
|
43
|
-
[orderable]="isDraggable(layoutItem)">
|
|
44
|
-
<select-framework-widget *ngIf="showWidget(layoutItem)"
|
|
45
|
-
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
46
|
-
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
47
|
-
[layoutNode]="layoutItem"></select-framework-widget>
|
|
48
|
-
</div>
|
|
49
|
-
</div>`, isInline: true, styles: ["[draggable=true]{transition:all .15s cubic-bezier(.4,0,.2,1)}[draggable=true]:hover{cursor:move;box-shadow:2px 2px 4px #0003;position:relative;z-index:10;margin:-1px 1px 1px -1px}[draggable=true].drag-target-top{box-shadow:0 -2px #000;position:relative;z-index:20}[draggable=true].drag-target-bottom{box-shadow:0 2px #000;position:relative;z-index:20}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }, { kind: "directive", type: i3.OrderableDirective, selector: "[orderable]", inputs: ["orderable", "layoutNode", "layoutIndex", "dataIndex"] }] }); }
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RootComponent, decorators: [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{ selector: 'root-widget', template: `
|
|
54
|
-
<div *ngFor="let layoutItem of layout(); let i = index"
|
|
55
|
-
[class.form-flex-item]="isFlexItem()"
|
|
56
|
-
[style.align-self]="(layoutItem.options || {})['align-self']"
|
|
57
|
-
[style.flex-basis]="getFlexAttribute(layoutItem, 'flex-basis')"
|
|
58
|
-
[style.flex-grow]="getFlexAttribute(layoutItem, 'flex-grow')"
|
|
59
|
-
[style.flex-shrink]="getFlexAttribute(layoutItem, 'flex-shrink')"
|
|
60
|
-
[style.order]="(layoutItem.options || {}).order">
|
|
61
|
-
<div
|
|
62
|
-
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
63
|
-
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
64
|
-
[layoutNode]="layoutItem"
|
|
65
|
-
[orderable]="isDraggable(layoutItem)">
|
|
66
|
-
<select-framework-widget *ngIf="showWidget(layoutItem)"
|
|
67
|
-
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
68
|
-
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
69
|
-
[layoutNode]="layoutItem"></select-framework-widget>
|
|
70
|
-
</div>
|
|
71
|
-
</div>`, styles: ["[draggable=true]{transition:all .15s cubic-bezier(.4,0,.2,1)}[draggable=true]:hover{cursor:move;box-shadow:2px 2px 4px #0003;position:relative;z-index:10;margin:-1px 1px 1px -1px}[draggable=true].drag-target-top{box-shadow:0 -2px #000;position:relative;z-index:20}[draggable=true].drag-target-bottom{box-shadow:0 2px #000;position:relative;z-index:20}\n"] }]
|
|
72
|
-
}] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3Jvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFnRHBFLE1BQU0sT0FBTyxhQUFhO0lBN0MxQjtRQThDVSxRQUFHLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFHbkMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN6QyxXQUFNLEdBQUcsS0FBSyxDQUFRLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsS0FBSyxDQUFVLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7S0FrQnBDO0lBaEJDLFdBQVcsQ0FBQyxJQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07WUFDM0MsSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQztJQUNsRSxDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLHNEQUFzRDtJQUN0RCxnQkFBZ0IsQ0FBQyxJQUFTLEVBQUUsU0FBaUI7UUFDM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzFELENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQzsrR0F6QlUsYUFBYTttR0FBYixhQUFhLHl0QkExQ1o7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQWtCSDs7NEZBd0JFLGFBQWE7a0JBN0N6QixTQUFTOytCQUVJLGFBQWEsWUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBa0JIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJy4uL2pzb24tc2NoZW1hLWZvcm0uc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgICBzZWxlY3RvcjogJ3Jvb3Qtd2lkZ2V0JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsYXlvdXRJdGVtIG9mIGxheW91dCgpOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgW2NsYXNzLmZvcm0tZmxleC1pdGVtXT1cImlzRmxleEl0ZW0oKVwiXHJcbiAgICAgIFtzdHlsZS5hbGlnbi1zZWxmXT1cIihsYXlvdXRJdGVtLm9wdGlvbnMgfHwge30pWydhbGlnbi1zZWxmJ11cIlxyXG4gICAgICBbc3R5bGUuZmxleC1iYXNpc109XCJnZXRGbGV4QXR0cmlidXRlKGxheW91dEl0ZW0sICdmbGV4LWJhc2lzJylcIlxyXG4gICAgICBbc3R5bGUuZmxleC1ncm93XT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtZ3JvdycpXCJcclxuICAgICAgW3N0eWxlLmZsZXgtc2hyaW5rXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtc2hyaW5rJylcIlxyXG4gICAgICBbc3R5bGUub3JkZXJdPVwiKGxheW91dEl0ZW0ub3B0aW9ucyB8fCB7fSkub3JkZXJcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIFtkYXRhSW5kZXhdPVwibGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gKGRhdGFJbmRleCgpIHx8IFtdKS5jb25jYXQoaSkgOiAoZGF0YUluZGV4KCkgfHwgW10pXCJcclxuICAgICAgICBbbGF5b3V0SW5kZXhdPVwiKGxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdChpKVwiXHJcbiAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiXHJcbiAgICAgICAgW29yZGVyYWJsZV09XCJpc0RyYWdnYWJsZShsYXlvdXRJdGVtKVwiPlxyXG4gICAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNob3dXaWRnZXQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXgoKSB8fCBbXSlcIlxyXG4gICAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiPjwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+YCxcclxuICBzdHlsZXM6IFtgXHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdIHtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpO1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXTpob3ZlciB7XHJcbiAgICAgIGN1cnNvcjogbW92ZTtcclxuICAgICAgYm94LXNoYWRvdzogMnB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDEwO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcclxuICAgIH1cclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV0uZHJhZy10YXJnZXQtdG9wIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDAgIzAwMDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyMDtcclxuICAgIH1cclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV0uZHJhZy10YXJnZXQtYm90dG9tIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAycHggMCAjMDAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDIwO1xyXG4gICAgfVxyXG4gIGBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9vdENvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBqc2YgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcclxuXHJcbiAgb3B0aW9uczogYW55O1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0ID0gaW5wdXQ8YW55W10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgaXNPcmRlcmFibGUgPSBpbnB1dDxib29sZWFuPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGlzRmxleEl0ZW0gPSBpbnB1dChmYWxzZSk7XHJcblxyXG4gIGlzRHJhZ2dhYmxlKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG5vZGUuYXJyYXlJdGVtICYmIG5vZGUudHlwZSAhPT0gJyRyZWYnICYmXHJcbiAgICAgIG5vZGUuYXJyYXlJdGVtVHlwZSA9PT0gJ2xpc3QnICYmIHRoaXMuaXNPcmRlcmFibGUoKSAhPT0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgZmxleGJveCBjaGlsZFxyXG4gIC8vIChjb250YWluZXIgYXR0cmlidXRlcyBhcmUgc2V0IGluIHNlY3Rpb24uY29tcG9uZW50KVxyXG4gIGdldEZsZXhBdHRyaWJ1dGUobm9kZTogYW55LCBhdHRyaWJ1dGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaW5kZXggPSBbJ2ZsZXgtZ3JvdycsICdmbGV4LXNocmluaycsICdmbGV4LWJhc2lzJ10uaW5kZXhPZihhdHRyaWJ1dGUpO1xyXG4gICAgcmV0dXJuICgobm9kZS5vcHRpb25zIHx8IHt9KS5mbGV4IHx8ICcnKS5zcGxpdCgvXFxzKy8pW2luZGV4XSB8fFxyXG4gICAgICAobm9kZS5vcHRpb25zIHx8IHt9KVthdHRyaWJ1dGVdIHx8IFsnMScsICcxJywgJ2F1dG8nXVtpbmRleF07XHJcbiAgfVxyXG5cclxuICBzaG93V2lkZ2V0KGxheW91dE5vZGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLmV2YWx1YXRlQ29uZGl0aW9uKGxheW91dE5vZGUsIHRoaXMuZGF0YUluZGV4KCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import { Component, inject, input } from '@angular/core';
|
|
2
|
-
import { JsonSchemaFormService } from '../json-schema-form.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "./root.component";
|
|
6
|
-
export class SectionComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.jsf = inject(JsonSchemaFormService);
|
|
9
|
-
this.expanded = true;
|
|
10
|
-
this.layoutNode = input(undefined);
|
|
11
|
-
this.layoutIndex = input(undefined);
|
|
12
|
-
this.dataIndex = input(undefined);
|
|
13
|
-
}
|
|
14
|
-
get sectionTitle() {
|
|
15
|
-
return this.options.notitle ? null : this.jsf.setItemTitle(this);
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
this.jsf.initializeControl(this);
|
|
19
|
-
this.options = this.layoutNode().options || {};
|
|
20
|
-
this.expanded = typeof this.options.expanded === 'boolean' ?
|
|
21
|
-
this.options.expanded : !this.options.expandable;
|
|
22
|
-
switch (this.layoutNode().type) {
|
|
23
|
-
case 'fieldset':
|
|
24
|
-
case 'array':
|
|
25
|
-
case 'tab':
|
|
26
|
-
case 'advancedfieldset':
|
|
27
|
-
case 'authfieldset':
|
|
28
|
-
case 'optionfieldset':
|
|
29
|
-
case 'selectfieldset':
|
|
30
|
-
this.containerType = 'fieldset';
|
|
31
|
-
break;
|
|
32
|
-
default: // 'div', 'flex', 'section', 'conditional', 'actions', 'tagsinput'
|
|
33
|
-
this.containerType = 'div';
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
toggleExpanded() {
|
|
38
|
-
if (this.options.expandable) {
|
|
39
|
-
this.expanded = !this.expanded;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
// Set attributes for flexbox container
|
|
43
|
-
// (child attributes are set in root.component)
|
|
44
|
-
getFlexAttribute(attribute) {
|
|
45
|
-
const flexActive = this.layoutNode().type === 'flex' ||
|
|
46
|
-
!!this.options.displayFlex ||
|
|
47
|
-
this.options.display === 'flex';
|
|
48
|
-
if (attribute !== 'flex' && !flexActive) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
switch (attribute) {
|
|
52
|
-
case 'is-flex':
|
|
53
|
-
return flexActive;
|
|
54
|
-
case 'display':
|
|
55
|
-
return flexActive ? 'flex' : 'initial';
|
|
56
|
-
case 'flex-direction':
|
|
57
|
-
case 'flex-wrap':
|
|
58
|
-
const index = ['flex-direction', 'flex-wrap'].indexOf(attribute);
|
|
59
|
-
return (this.options['flex-flow'] || '').split(/\s+/)[index] ||
|
|
60
|
-
this.options[attribute] || ['column', 'nowrap'][index];
|
|
61
|
-
case 'justify-content':
|
|
62
|
-
case 'align-items':
|
|
63
|
-
case 'align-content':
|
|
64
|
-
return this.options[attribute];
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: SectionComponent, selector: "section-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
69
|
-
<div *ngIf="containerType === 'div'"
|
|
70
|
-
[class]="options?.htmlClass || ''"
|
|
71
|
-
[class.expandable]="options?.expandable && !expanded"
|
|
72
|
-
[class.expanded]="options?.expandable && expanded">
|
|
73
|
-
<label *ngIf="sectionTitle"
|
|
74
|
-
class="legend"
|
|
75
|
-
[class]="options?.labelHtmlClass || ''"
|
|
76
|
-
[innerHTML]="sectionTitle"
|
|
77
|
-
(click)="toggleExpanded()"></label>
|
|
78
|
-
<root-widget *ngIf="expanded"
|
|
79
|
-
[dataIndex]="dataIndex()"
|
|
80
|
-
[layout]="layoutNode().items"
|
|
81
|
-
[layoutIndex]="layoutIndex()"
|
|
82
|
-
[isFlexItem]="getFlexAttribute('is-flex')"
|
|
83
|
-
[isOrderable]="options?.orderable"
|
|
84
|
-
[class.form-flex-column]="getFlexAttribute('flex-direction') === 'column'"
|
|
85
|
-
[class.form-flex-row]="getFlexAttribute('flex-direction') === 'row'"
|
|
86
|
-
[style.align-content]="getFlexAttribute('align-content')"
|
|
87
|
-
[style.align-items]="getFlexAttribute('align-items')"
|
|
88
|
-
[style.display]="getFlexAttribute('display')"
|
|
89
|
-
[style.flex-direction]="getFlexAttribute('flex-direction')"
|
|
90
|
-
[style.flex-wrap]="getFlexAttribute('flex-wrap')"
|
|
91
|
-
[style.justify-content]="getFlexAttribute('justify-content')"></root-widget>
|
|
92
|
-
</div>
|
|
93
|
-
<fieldset *ngIf="containerType === 'fieldset'"
|
|
94
|
-
[class]="options?.htmlClass || ''"
|
|
95
|
-
[class.expandable]="options?.expandable && !expanded"
|
|
96
|
-
[class.expanded]="options?.expandable && expanded"
|
|
97
|
-
[disabled]="options?.readonly">
|
|
98
|
-
<legend *ngIf="sectionTitle"
|
|
99
|
-
class="legend"
|
|
100
|
-
[class]="options?.labelHtmlClass || ''"
|
|
101
|
-
[innerHTML]="sectionTitle"
|
|
102
|
-
(click)="toggleExpanded()"></legend>
|
|
103
|
-
<div *ngIf="options?.messageLocation !== 'bottom'">
|
|
104
|
-
<p *ngIf="options?.description"
|
|
105
|
-
class="help-block"
|
|
106
|
-
[class]="options?.labelHelpBlockClass || ''"
|
|
107
|
-
[innerHTML]="options?.description"></p>
|
|
108
|
-
</div>
|
|
109
|
-
<root-widget *ngIf="expanded"
|
|
110
|
-
[dataIndex]="dataIndex()"
|
|
111
|
-
[layout]="layoutNode().items"
|
|
112
|
-
[layoutIndex]="layoutIndex()"
|
|
113
|
-
[isFlexItem]="getFlexAttribute('is-flex')"
|
|
114
|
-
[isOrderable]="options?.orderable"
|
|
115
|
-
[class.form-flex-column]="getFlexAttribute('flex-direction') === 'column'"
|
|
116
|
-
[class.form-flex-row]="getFlexAttribute('flex-direction') === 'row'"
|
|
117
|
-
[style.align-content]="getFlexAttribute('align-content')"
|
|
118
|
-
[style.align-items]="getFlexAttribute('align-items')"
|
|
119
|
-
[style.display]="getFlexAttribute('display')"
|
|
120
|
-
[style.flex-direction]="getFlexAttribute('flex-direction')"
|
|
121
|
-
[style.flex-wrap]="getFlexAttribute('flex-wrap')"
|
|
122
|
-
[style.justify-content]="getFlexAttribute('justify-content')"></root-widget>
|
|
123
|
-
<div *ngIf="options?.messageLocation === 'bottom'">
|
|
124
|
-
<p *ngIf="options?.description"
|
|
125
|
-
class="help-block"
|
|
126
|
-
[class]="options?.labelHelpBlockClass || ''"
|
|
127
|
-
[innerHTML]="options?.description"></p>
|
|
128
|
-
</div>
|
|
129
|
-
</fieldset>`, isInline: true, styles: [".legend{font-weight:700}.expandable>legend:before,.expandable>label:before{content:\"\\25b6\";padding-right:.3em;font-family:auto}.expanded>legend:before,.expanded>label:before{content:\"\\25bc\";padding-right:.2em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.RootComponent, selector: "root-widget", inputs: ["dataIndex", "layoutIndex", "layout", "isOrderable", "isFlexItem"] }] }); }
|
|
130
|
-
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SectionComponent, decorators: [{
|
|
132
|
-
type: Component,
|
|
133
|
-
args: [{ selector: 'section-widget', template: `
|
|
134
|
-
<div *ngIf="containerType === 'div'"
|
|
135
|
-
[class]="options?.htmlClass || ''"
|
|
136
|
-
[class.expandable]="options?.expandable && !expanded"
|
|
137
|
-
[class.expanded]="options?.expandable && expanded">
|
|
138
|
-
<label *ngIf="sectionTitle"
|
|
139
|
-
class="legend"
|
|
140
|
-
[class]="options?.labelHtmlClass || ''"
|
|
141
|
-
[innerHTML]="sectionTitle"
|
|
142
|
-
(click)="toggleExpanded()"></label>
|
|
143
|
-
<root-widget *ngIf="expanded"
|
|
144
|
-
[dataIndex]="dataIndex()"
|
|
145
|
-
[layout]="layoutNode().items"
|
|
146
|
-
[layoutIndex]="layoutIndex()"
|
|
147
|
-
[isFlexItem]="getFlexAttribute('is-flex')"
|
|
148
|
-
[isOrderable]="options?.orderable"
|
|
149
|
-
[class.form-flex-column]="getFlexAttribute('flex-direction') === 'column'"
|
|
150
|
-
[class.form-flex-row]="getFlexAttribute('flex-direction') === 'row'"
|
|
151
|
-
[style.align-content]="getFlexAttribute('align-content')"
|
|
152
|
-
[style.align-items]="getFlexAttribute('align-items')"
|
|
153
|
-
[style.display]="getFlexAttribute('display')"
|
|
154
|
-
[style.flex-direction]="getFlexAttribute('flex-direction')"
|
|
155
|
-
[style.flex-wrap]="getFlexAttribute('flex-wrap')"
|
|
156
|
-
[style.justify-content]="getFlexAttribute('justify-content')"></root-widget>
|
|
157
|
-
</div>
|
|
158
|
-
<fieldset *ngIf="containerType === 'fieldset'"
|
|
159
|
-
[class]="options?.htmlClass || ''"
|
|
160
|
-
[class.expandable]="options?.expandable && !expanded"
|
|
161
|
-
[class.expanded]="options?.expandable && expanded"
|
|
162
|
-
[disabled]="options?.readonly">
|
|
163
|
-
<legend *ngIf="sectionTitle"
|
|
164
|
-
class="legend"
|
|
165
|
-
[class]="options?.labelHtmlClass || ''"
|
|
166
|
-
[innerHTML]="sectionTitle"
|
|
167
|
-
(click)="toggleExpanded()"></legend>
|
|
168
|
-
<div *ngIf="options?.messageLocation !== 'bottom'">
|
|
169
|
-
<p *ngIf="options?.description"
|
|
170
|
-
class="help-block"
|
|
171
|
-
[class]="options?.labelHelpBlockClass || ''"
|
|
172
|
-
[innerHTML]="options?.description"></p>
|
|
173
|
-
</div>
|
|
174
|
-
<root-widget *ngIf="expanded"
|
|
175
|
-
[dataIndex]="dataIndex()"
|
|
176
|
-
[layout]="layoutNode().items"
|
|
177
|
-
[layoutIndex]="layoutIndex()"
|
|
178
|
-
[isFlexItem]="getFlexAttribute('is-flex')"
|
|
179
|
-
[isOrderable]="options?.orderable"
|
|
180
|
-
[class.form-flex-column]="getFlexAttribute('flex-direction') === 'column'"
|
|
181
|
-
[class.form-flex-row]="getFlexAttribute('flex-direction') === 'row'"
|
|
182
|
-
[style.align-content]="getFlexAttribute('align-content')"
|
|
183
|
-
[style.align-items]="getFlexAttribute('align-items')"
|
|
184
|
-
[style.display]="getFlexAttribute('display')"
|
|
185
|
-
[style.flex-direction]="getFlexAttribute('flex-direction')"
|
|
186
|
-
[style.flex-wrap]="getFlexAttribute('flex-wrap')"
|
|
187
|
-
[style.justify-content]="getFlexAttribute('justify-content')"></root-widget>
|
|
188
|
-
<div *ngIf="options?.messageLocation === 'bottom'">
|
|
189
|
-
<p *ngIf="options?.description"
|
|
190
|
-
class="help-block"
|
|
191
|
-
[class]="options?.labelHelpBlockClass || ''"
|
|
192
|
-
[innerHTML]="options?.description"></p>
|
|
193
|
-
</div>
|
|
194
|
-
</fieldset>`, styles: [".legend{font-weight:700}.expandable>legend:before,.expandable>label:before{content:\"\\25b6\";padding-right:.3em;font-family:auto}.expanded>legend:before,.expanded>label:before{content:\"\\25bc\";padding-right:.2em}\n"] }]
|
|
195
|
-
}] });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3NlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQTBFcEUsTUFBTSxPQUFPLGdCQUFnQjtJQXZFN0I7UUF3RVUsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRzVDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFUCxlQUFVLEdBQUcsS0FBSyxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7S0ErQ2pEO0lBN0NDLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ25ELFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9CLEtBQUssVUFBVSxDQUFDO1lBQUMsS0FBSyxPQUFPLENBQUM7WUFBQyxLQUFLLEtBQUssQ0FBQztZQUFDLEtBQUssa0JBQWtCLENBQUM7WUFDbkUsS0FBSyxjQUFjLENBQUM7WUFBQyxLQUFLLGdCQUFnQixDQUFDO1lBQUMsS0FBSyxnQkFBZ0I7Z0JBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDO2dCQUNsQyxNQUFNO1lBQ04sU0FBUyxrRUFBa0U7Z0JBQ3pFLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixNQUFNO1FBQ1IsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsK0NBQStDO0lBQy9DLGdCQUFnQixDQUFDLFNBQWlCO1FBQ2hDLE1BQU0sVUFBVSxHQUNkLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEtBQUssTUFBTTtZQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQztRQUNsQyxJQUFJLFNBQVMsS0FBSyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDO1FBQUMsQ0FBQztRQUN6RCxRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLEtBQUssU0FBUztnQkFDWixPQUFPLFVBQVUsQ0FBQztZQUNwQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pDLEtBQUssZ0JBQWdCLENBQUM7WUFBQyxLQUFLLFdBQVc7Z0JBQ3JDLE1BQU0sS0FBSyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNqRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO29CQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNELEtBQUssaUJBQWlCLENBQUM7WUFBQyxLQUFLLGFBQWEsQ0FBQztZQUFDLEtBQUssZUFBZTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDOytHQXREVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQix1ZEFwRWpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dCQTZESTs7NEZBT0gsZ0JBQWdCO2tCQXZFNUIsU0FBUzsrQkFFRSxnQkFBZ0IsWUFDaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0JBNkRJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vanNvbi1zY2hlbWEtZm9ybS5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdzZWN0aW9uLXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgKm5nSWY9XCJjb250YWluZXJUeXBlID09PSAnZGl2J1wiXHJcbiAgICAgIFtjbGFzc109XCJvcHRpb25zPy5odG1sQ2xhc3MgfHwgJydcIlxyXG4gICAgICBbY2xhc3MuZXhwYW5kYWJsZV09XCJvcHRpb25zPy5leHBhbmRhYmxlICYmICFleHBhbmRlZFwiXHJcbiAgICAgIFtjbGFzcy5leHBhbmRlZF09XCJvcHRpb25zPy5leHBhbmRhYmxlICYmIGV4cGFuZGVkXCI+XHJcbiAgICAgIDxsYWJlbCAqbmdJZj1cInNlY3Rpb25UaXRsZVwiXHJcbiAgICAgICAgY2xhc3M9XCJsZWdlbmRcIlxyXG4gICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5sYWJlbEh0bWxDbGFzcyB8fCAnJ1wiXHJcbiAgICAgICAgW2lubmVySFRNTF09XCJzZWN0aW9uVGl0bGVcIlxyXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZCgpXCI+PC9sYWJlbD5cclxuICAgICAgPHJvb3Qtd2lkZ2V0ICpuZ0lmPVwiZXhwYW5kZWRcIlxyXG4gICAgICAgIFtkYXRhSW5kZXhdPVwiZGF0YUluZGV4KClcIlxyXG4gICAgICAgIFtsYXlvdXRdPVwibGF5b3V0Tm9kZSgpLml0ZW1zXCJcclxuICAgICAgICBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXgoKVwiXHJcbiAgICAgICAgW2lzRmxleEl0ZW1dPVwiZ2V0RmxleEF0dHJpYnV0ZSgnaXMtZmxleCcpXCJcclxuICAgICAgICBbaXNPcmRlcmFibGVdPVwib3B0aW9ucz8ub3JkZXJhYmxlXCJcclxuICAgICAgICBbY2xhc3MuZm9ybS1mbGV4LWNvbHVtbl09XCJnZXRGbGV4QXR0cmlidXRlKCdmbGV4LWRpcmVjdGlvbicpID09PSAnY29sdW1uJ1wiXHJcbiAgICAgICAgW2NsYXNzLmZvcm0tZmxleC1yb3ddPVwiZ2V0RmxleEF0dHJpYnV0ZSgnZmxleC1kaXJlY3Rpb24nKSA9PT0gJ3JvdydcIlxyXG4gICAgICAgIFtzdHlsZS5hbGlnbi1jb250ZW50XT1cImdldEZsZXhBdHRyaWJ1dGUoJ2FsaWduLWNvbnRlbnQnKVwiXHJcbiAgICAgICAgW3N0eWxlLmFsaWduLWl0ZW1zXT1cImdldEZsZXhBdHRyaWJ1dGUoJ2FsaWduLWl0ZW1zJylcIlxyXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImdldEZsZXhBdHRyaWJ1dGUoJ2Rpc3BsYXknKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtZGlyZWN0aW9uXT1cImdldEZsZXhBdHRyaWJ1dGUoJ2ZsZXgtZGlyZWN0aW9uJylcIlxyXG4gICAgICAgIFtzdHlsZS5mbGV4LXdyYXBdPVwiZ2V0RmxleEF0dHJpYnV0ZSgnZmxleC13cmFwJylcIlxyXG4gICAgICAgIFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiZ2V0RmxleEF0dHJpYnV0ZSgnanVzdGlmeS1jb250ZW50JylcIj48L3Jvb3Qtd2lkZ2V0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZmllbGRzZXQgKm5nSWY9XCJjb250YWluZXJUeXBlID09PSAnZmllbGRzZXQnXCJcclxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiXHJcbiAgICAgIFtjbGFzcy5leHBhbmRhYmxlXT1cIm9wdGlvbnM/LmV4cGFuZGFibGUgJiYgIWV4cGFuZGVkXCJcclxuICAgICAgW2NsYXNzLmV4cGFuZGVkXT1cIm9wdGlvbnM/LmV4cGFuZGFibGUgJiYgZXhwYW5kZWRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwib3B0aW9ucz8ucmVhZG9ubHlcIj5cclxuICAgICAgPGxlZ2VuZCAqbmdJZj1cInNlY3Rpb25UaXRsZVwiXHJcbiAgICAgICAgY2xhc3M9XCJsZWdlbmRcIlxyXG4gICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5sYWJlbEh0bWxDbGFzcyB8fCAnJ1wiXHJcbiAgICAgICAgW2lubmVySFRNTF09XCJzZWN0aW9uVGl0bGVcIlxyXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZCgpXCI+PC9sZWdlbmQ+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJvcHRpb25zPy5tZXNzYWdlTG9jYXRpb24gIT09ICdib3R0b20nXCI+XHJcbiAgICAgICAgPHAgKm5nSWY9XCJvcHRpb25zPy5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgY2xhc3M9XCJoZWxwLWJsb2NrXCJcclxuICAgICAgICBbY2xhc3NdPVwib3B0aW9ucz8ubGFiZWxIZWxwQmxvY2tDbGFzcyB8fCAnJ1wiXHJcbiAgICAgICAgW2lubmVySFRNTF09XCJvcHRpb25zPy5kZXNjcmlwdGlvblwiPjwvcD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxyb290LXdpZGdldCAqbmdJZj1cImV4cGFuZGVkXCJcclxuICAgICAgICBbZGF0YUluZGV4XT1cImRhdGFJbmRleCgpXCJcclxuICAgICAgICBbbGF5b3V0XT1cImxheW91dE5vZGUoKS5pdGVtc1wiXHJcbiAgICAgICAgW2xheW91dEluZGV4XT1cImxheW91dEluZGV4KClcIlxyXG4gICAgICAgIFtpc0ZsZXhJdGVtXT1cImdldEZsZXhBdHRyaWJ1dGUoJ2lzLWZsZXgnKVwiXHJcbiAgICAgICAgW2lzT3JkZXJhYmxlXT1cIm9wdGlvbnM/Lm9yZGVyYWJsZVwiXHJcbiAgICAgICAgW2NsYXNzLmZvcm0tZmxleC1jb2x1bW5dPVwiZ2V0RmxleEF0dHJpYnV0ZSgnZmxleC1kaXJlY3Rpb24nKSA9PT0gJ2NvbHVtbidcIlxyXG4gICAgICAgIFtjbGFzcy5mb3JtLWZsZXgtcm93XT1cImdldEZsZXhBdHRyaWJ1dGUoJ2ZsZXgtZGlyZWN0aW9uJykgPT09ICdyb3cnXCJcclxuICAgICAgICBbc3R5bGUuYWxpZ24tY29udGVudF09XCJnZXRGbGV4QXR0cmlidXRlKCdhbGlnbi1jb250ZW50JylcIlxyXG4gICAgICAgIFtzdHlsZS5hbGlnbi1pdGVtc109XCJnZXRGbGV4QXR0cmlidXRlKCdhbGlnbi1pdGVtcycpXCJcclxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJnZXRGbGV4QXR0cmlidXRlKCdkaXNwbGF5JylcIlxyXG4gICAgICAgIFtzdHlsZS5mbGV4LWRpcmVjdGlvbl09XCJnZXRGbGV4QXR0cmlidXRlKCdmbGV4LWRpcmVjdGlvbicpXCJcclxuICAgICAgICBbc3R5bGUuZmxleC13cmFwXT1cImdldEZsZXhBdHRyaWJ1dGUoJ2ZsZXgtd3JhcCcpXCJcclxuICAgICAgICBbc3R5bGUuanVzdGlmeS1jb250ZW50XT1cImdldEZsZXhBdHRyaWJ1dGUoJ2p1c3RpZnktY29udGVudCcpXCI+PC9yb290LXdpZGdldD5cclxuICAgICAgPGRpdiAqbmdJZj1cIm9wdGlvbnM/Lm1lc3NhZ2VMb2NhdGlvbiA9PT0gJ2JvdHRvbSdcIj5cclxuICAgICAgICA8cCAqbmdJZj1cIm9wdGlvbnM/LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIlxyXG4gICAgICAgIFtjbGFzc109XCJvcHRpb25zPy5sYWJlbEhlbHBCbG9ja0NsYXNzIHx8ICcnXCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbnM/LmRlc2NyaXB0aW9uXCI+PC9wPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZmllbGRzZXQ+YCxcclxuICBzdHlsZXM6IFtgXHJcbiAgICAubGVnZW5kIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuICAgIC5leHBhbmRhYmxlID4gbGVnZW5kOmJlZm9yZSwgLmV4cGFuZGFibGUgPiBsYWJlbDpiZWZvcmUgIHsgY29udGVudDogJ+KWtic7IHBhZGRpbmctcmlnaHQ6IC4zZW07IGZvbnQtZmFtaWx5OmF1dG8gfVxyXG4gICAgLmV4cGFuZGVkID4gbGVnZW5kOmJlZm9yZSwgLmV4cGFuZGVkID4gbGFiZWw6YmVmb3JlICB7IGNvbnRlbnQ6ICfilrwnOyBwYWRkaW5nLXJpZ2h0OiAuMmVtOyB9XHJcbiAgYF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGpzZiA9IGluamVjdChKc29uU2NoZW1hRm9ybVNlcnZpY2UpO1xyXG5cclxuICBvcHRpb25zOiBhbnk7XHJcbiAgZXhwYW5kZWQgPSB0cnVlO1xyXG4gIGNvbnRhaW5lclR5cGU6IHN0cmluZztcclxuICByZWFkb25seSBsYXlvdXROb2RlID0gaW5wdXQ8YW55Pih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgZGF0YUluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcblxyXG4gIGdldCBzZWN0aW9uVGl0bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLm5vdGl0bGUgPyBudWxsIDogdGhpcy5qc2Yuc2V0SXRlbVRpdGxlKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKTtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLmV4cGFuZGVkID0gdHlwZW9mIHRoaXMub3B0aW9ucy5leHBhbmRlZCA9PT0gJ2Jvb2xlYW4nID9cclxuICAgICAgdGhpcy5vcHRpb25zLmV4cGFuZGVkIDogIXRoaXMub3B0aW9ucy5leHBhbmRhYmxlO1xyXG4gICAgc3dpdGNoICh0aGlzLmxheW91dE5vZGUoKS50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2ZpZWxkc2V0JzogY2FzZSAnYXJyYXknOiBjYXNlICd0YWInOiBjYXNlICdhZHZhbmNlZGZpZWxkc2V0JzpcclxuICAgICAgY2FzZSAnYXV0aGZpZWxkc2V0JzogY2FzZSAnb3B0aW9uZmllbGRzZXQnOiBjYXNlICdzZWxlY3RmaWVsZHNldCc6XHJcbiAgICAgICAgdGhpcy5jb250YWluZXJUeXBlID0gJ2ZpZWxkc2V0JztcclxuICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6IC8vICdkaXYnLCAnZmxleCcsICdzZWN0aW9uJywgJ2NvbmRpdGlvbmFsJywgJ2FjdGlvbnMnLCAndGFnc2lucHV0J1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyVHlwZSA9ICdkaXYnO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZUV4cGFuZGVkKCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5leHBhbmRhYmxlKSB7IHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDsgfVxyXG4gIH1cclxuXHJcbiAgLy8gU2V0IGF0dHJpYnV0ZXMgZm9yIGZsZXhib3ggY29udGFpbmVyXHJcbiAgLy8gKGNoaWxkIGF0dHJpYnV0ZXMgYXJlIHNldCBpbiByb290LmNvbXBvbmVudClcclxuICBnZXRGbGV4QXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBmbGV4QWN0aXZlOiBib29sZWFuID1cclxuICAgICAgdGhpcy5sYXlvdXROb2RlKCkudHlwZSA9PT0gJ2ZsZXgnIHx8XHJcbiAgICAgICEhdGhpcy5vcHRpb25zLmRpc3BsYXlGbGV4IHx8XHJcbiAgICAgIHRoaXMub3B0aW9ucy5kaXNwbGF5ID09PSAnZmxleCc7XHJcbiAgICBpZiAoYXR0cmlidXRlICE9PSAnZmxleCcgJiYgIWZsZXhBY3RpdmUpIHsgcmV0dXJuIG51bGw7IH1cclxuICAgIHN3aXRjaCAoYXR0cmlidXRlKSB7XHJcbiAgICAgIGNhc2UgJ2lzLWZsZXgnOlxyXG4gICAgICAgIHJldHVybiBmbGV4QWN0aXZlO1xyXG4gICAgICBjYXNlICdkaXNwbGF5JzpcclxuICAgICAgICByZXR1cm4gZmxleEFjdGl2ZSA/ICdmbGV4JyA6ICdpbml0aWFsJztcclxuICAgICAgY2FzZSAnZmxleC1kaXJlY3Rpb24nOiBjYXNlICdmbGV4LXdyYXAnOlxyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gWydmbGV4LWRpcmVjdGlvbicsICdmbGV4LXdyYXAnXS5pbmRleE9mKGF0dHJpYnV0ZSk7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLm9wdGlvbnNbJ2ZsZXgtZmxvdyddIHx8ICcnKS5zcGxpdCgvXFxzKy8pW2luZGV4XSB8fFxyXG4gICAgICAgICAgdGhpcy5vcHRpb25zW2F0dHJpYnV0ZV0gfHwgWydjb2x1bW4nLCAnbm93cmFwJ11baW5kZXhdO1xyXG4gICAgICBjYXNlICdqdXN0aWZ5LWNvbnRlbnQnOiBjYXNlICdhbGlnbi1pdGVtcyc6IGNhc2UgJ2FsaWduLWNvbnRlbnQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbYXR0cmlidXRlXTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Component, ComponentFactoryResolver, ViewContainerRef, input, inject, viewChild } from '@angular/core';
|
|
2
|
-
import { JsonSchemaFormService } from '../json-schema-form.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SelectFrameworkComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.componentFactory = inject(ComponentFactoryResolver);
|
|
7
|
-
this.jsf = inject(JsonSchemaFormService);
|
|
8
|
-
this.newComponent = null;
|
|
9
|
-
this.layoutNode = input(undefined);
|
|
10
|
-
this.layoutIndex = input(undefined);
|
|
11
|
-
this.dataIndex = input(undefined);
|
|
12
|
-
this.widgetContainer = viewChild('widgetContainer', { read: ViewContainerRef });
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.updateComponent();
|
|
16
|
-
}
|
|
17
|
-
ngOnChanges() {
|
|
18
|
-
this.updateComponent();
|
|
19
|
-
}
|
|
20
|
-
updateComponent() {
|
|
21
|
-
const widgetContainer = this.widgetContainer();
|
|
22
|
-
if (widgetContainer && !this.newComponent && this.jsf.framework) {
|
|
23
|
-
this.newComponent = widgetContainer.createComponent(this.componentFactory.resolveComponentFactory(this.jsf.framework));
|
|
24
|
-
//TODO fix all deprecated calls and test
|
|
25
|
-
//this.widgetContainer.createComponent<any>(this.jsf.framework)
|
|
26
|
-
}
|
|
27
|
-
if (this.newComponent) {
|
|
28
|
-
for (const input of ['layoutNode', 'layoutIndex', 'dataIndex']) {
|
|
29
|
-
this.newComponent.instance[input] = this[input];
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFrameworkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: SelectFrameworkComponent, selector: "select-framework-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: ["widgetContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `<div #widgetContainer></div>`, isInline: true }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFrameworkComponent, decorators: [{
|
|
37
|
-
type: Component,
|
|
38
|
-
args: [{
|
|
39
|
-
// tslint:disable-next-line:component-selector
|
|
40
|
-
selector: 'select-framework-widget',
|
|
41
|
-
template: `<div #widgetContainer></div>`,
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZyYW1ld29yay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3NlbGVjdC1mcmFtZXdvcmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQW1DLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpKLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQU9wRSxNQUFNLE9BQU8sd0JBQXdCO0lBTHJDO1FBTVUscUJBQWdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDcEQsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRTVDLGlCQUFZLEdBQXNCLElBQUksQ0FBQztRQUM5QixlQUFVLEdBQUcsS0FBSyxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0tBeUJyRjtJQXZCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9DLElBQUksZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FDakQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQ2xFLENBQUM7WUFDRix5Q0FBeUM7WUFDekMsK0RBQStEO1FBQ2pFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOytHQWhDVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrakJBUTZCLGdCQUFnQixrRUFWdEUsOEJBQThCOzs0RkFFN0Isd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLDhCQUE4QjtpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBPbkNoYW5nZXMsIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiwgaW5wdXQsIGluamVjdCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnc2VsZWN0LWZyYW1ld29yay13aWRnZXQnLFxyXG4gIHRlbXBsYXRlOiBgPGRpdiAjd2lkZ2V0Q29udGFpbmVyPjwvZGl2PmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RGcmFtZXdvcmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5ID0gaW5qZWN0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7XHJcbiAgcHJpdmF0ZSBqc2YgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcclxuXHJcbiAgbmV3Q29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55PiA9IG51bGw7XHJcbiAgcmVhZG9ubHkgbGF5b3V0Tm9kZSA9IGlucHV0PGFueT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IHdpZGdldENvbnRhaW5lciA9IHZpZXdDaGlsZCgnd2lkZ2V0Q29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudXBkYXRlQ29tcG9uZW50KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMudXBkYXRlQ29tcG9uZW50KCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDb21wb25lbnQoKSB7XHJcbiAgICBjb25zdCB3aWRnZXRDb250YWluZXIgPSB0aGlzLndpZGdldENvbnRhaW5lcigpO1xyXG4gICAgaWYgKHdpZGdldENvbnRhaW5lciAmJiAhdGhpcy5uZXdDb21wb25lbnQgJiYgdGhpcy5qc2YuZnJhbWV3b3JrKSB7XHJcbiAgICAgIHRoaXMubmV3Q29tcG9uZW50ID0gd2lkZ2V0Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnkucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5qc2YuZnJhbWV3b3JrKVxyXG4gICAgICApO1xyXG4gICAgICAvL1RPRE8gZml4IGFsbCBkZXByZWNhdGVkIGNhbGxzIGFuZCB0ZXN0IFxyXG4gICAgICAvL3RoaXMud2lkZ2V0Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudDxhbnk+KHRoaXMuanNmLmZyYW1ld29yaylcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm5ld0NvbXBvbmVudCkge1xyXG4gICAgICBmb3IgKGNvbnN0IGlucHV0IG9mIFsnbGF5b3V0Tm9kZScsICdsYXlvdXRJbmRleCcsICdkYXRhSW5kZXgnXSkge1xyXG4gICAgICAgIHRoaXMubmV3Q29tcG9uZW50Lmluc3RhbmNlW2lucHV0XSA9IHRoaXNbaW5wdXRdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Component, ComponentFactoryResolver, ViewContainerRef, input, inject, viewChild } from '@angular/core';
|
|
2
|
-
import { JsonSchemaFormService } from '../json-schema-form.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SelectWidgetComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.componentFactory = inject(ComponentFactoryResolver);
|
|
7
|
-
this.jsf = inject(JsonSchemaFormService);
|
|
8
|
-
this.newComponent = null;
|
|
9
|
-
this.layoutNode = input(undefined);
|
|
10
|
-
this.layoutIndex = input(undefined);
|
|
11
|
-
this.dataIndex = input(undefined);
|
|
12
|
-
this.widgetContainer = viewChild('widgetContainer', { read: ViewContainerRef });
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.updateComponent();
|
|
16
|
-
}
|
|
17
|
-
ngOnChanges() {
|
|
18
|
-
this.updateComponent();
|
|
19
|
-
}
|
|
20
|
-
updateComponent() {
|
|
21
|
-
const widgetContainer = this.widgetContainer();
|
|
22
|
-
if (widgetContainer && !this.newComponent && (this.layoutNode() || {}).widget) {
|
|
23
|
-
this.newComponent = widgetContainer.createComponent(this.componentFactory.resolveComponentFactory(this.layoutNode().widget));
|
|
24
|
-
}
|
|
25
|
-
if (this.newComponent) {
|
|
26
|
-
for (const input of ['layoutNode', 'layoutIndex', 'dataIndex']) {
|
|
27
|
-
this.newComponent.instance[input] = this[input];
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: SelectWidgetComponent, selector: "select-widget-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: ["widgetContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `<div #widgetContainer></div>`, isInline: true }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectWidgetComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{
|
|
37
|
-
// tslint:disable-next-line:component-selector
|
|
38
|
-
selector: 'select-widget-widget',
|
|
39
|
-
template: `<div #widgetContainer></div>`,
|
|
40
|
-
}]
|
|
41
|
-
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3NlbGVjdC13aWRnZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQW1DLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpKLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQU9wRSxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBTVUscUJBQWdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDcEQsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRTVDLGlCQUFZLEdBQXNCLElBQUksQ0FBQztRQUM5QixlQUFVLEdBQUcsS0FBSyxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0tBdUJyRjtJQXJCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9DLElBQUksZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQ2pELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQ3hFLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0E5QlUscUJBQXFCO21HQUFyQixxQkFBcUIsNGpCQVFnQyxnQkFBZ0Isa0VBVnRFLDhCQUE4Qjs7NEZBRTdCLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSw4QkFBOEI7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgT25DaGFuZ2VzLCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYsIGlucHV0LCBpbmplY3QsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vanNvbi1zY2hlbWEtZm9ybS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3NlbGVjdC13aWRnZXQtd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZTogYDxkaXYgI3dpZGdldENvbnRhaW5lcj48L2Rpdj5gLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0V2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xyXG4gIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeSA9IGluamVjdChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIG5ld0NvbXBvbmVudDogQ29tcG9uZW50UmVmPGFueT4gPSBudWxsO1xyXG4gIHJlYWRvbmx5IGxheW91dE5vZGUgPSBpbnB1dDxhbnk+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSB3aWRnZXRDb250YWluZXIgPSB2aWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29tcG9uZW50KCkge1xyXG4gICAgY29uc3Qgd2lkZ2V0Q29udGFpbmVyID0gdGhpcy53aWRnZXRDb250YWluZXIoKTtcclxuICAgIGlmICh3aWRnZXRDb250YWluZXIgJiYgIXRoaXMubmV3Q29tcG9uZW50ICYmICh0aGlzLmxheW91dE5vZGUoKSB8fCB7fSkud2lkZ2V0KSB7XHJcbiAgICAgIHRoaXMubmV3Q29tcG9uZW50ID0gd2lkZ2V0Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnkucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5sYXlvdXROb2RlKCkud2lkZ2V0KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV3Q29tcG9uZW50KSB7XHJcbiAgICAgIGZvciAoY29uc3QgaW5wdXQgb2YgWydsYXlvdXROb2RlJywgJ2xheW91dEluZGV4JywgJ2RhdGFJbmRleCddKSB7XHJcbiAgICAgICAgdGhpcy5uZXdDb21wb25lbnQuaW5zdGFuY2VbaW5wdXRdID0gdGhpc1tpbnB1dF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|