@stemy/ngx-dynamic-form 13.1.2 → 13.1.6
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/esm2020/ngx-dynamic-form/common-types.mjs +1 -1
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form-array.component.mjs +28 -12
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form-control-container.component.mjs +37 -18
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form-control.component.mjs +5 -4
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form.component.mjs +21 -11
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-select.component.mjs +8 -5
- package/esm2020/ngx-dynamic-form/services/dynamic-form.service.mjs +97 -67
- package/esm2020/ngx-dynamic-form/utils/dynamic-form-array.model.mjs +114 -5
- package/esm2020/ngx-dynamic-form/utils/form-select-subject.mjs +10 -7
- package/esm2020/ngx-dynamic-form/utils/misc.mjs +5 -4
- package/esm2020/public_api.mjs +4 -4
- package/fesm2015/stemy-ngx-dynamic-form.mjs +402 -212
- package/fesm2015/stemy-ngx-dynamic-form.mjs.map +1 -1
- package/fesm2020/stemy-ngx-dynamic-form.mjs +394 -206
- package/fesm2020/stemy-ngx-dynamic-form.mjs.map +1 -1
- package/ngx-dynamic-form/common-types.d.ts +3 -33
- package/ngx-dynamic-form/components/base/dynamic-base-form-array.component.d.ts +18 -10
- package/ngx-dynamic-form/components/base/dynamic-base-form-control-container.component.d.ts +10 -12
- package/ngx-dynamic-form/components/base/dynamic-base-form-control.component.d.ts +3 -2
- package/ngx-dynamic-form/components/base/dynamic-base-form.component.d.ts +3 -1
- package/ngx-dynamic-form/components/base/dynamic-base-select.component.d.ts +1 -0
- package/ngx-dynamic-form/ngx-dynamic-form.imports.d.ts +1 -1
- package/ngx-dynamic-form/services/dynamic-form.service.d.ts +11 -10
- package/ngx-dynamic-form/utils/dynamic-form-array.model.d.ts +47 -4
- package/ngx-dynamic-form/utils/misc.d.ts +3 -2
- package/package.json +1 -1
- package/public_api.d.ts +4 -4
|
@@ -1,11 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { BehaviorSubject } from "rxjs";
|
|
2
|
+
import { DynamicFormArrayGroupModel as GroupBase, DynamicFormArrayModel as Base } from "@ng-dynamic-forms/core";
|
|
3
|
+
import { ObjectUtils, TimerUtils } from "@stemy/ngx-utils";
|
|
4
|
+
export class DynamicFormArrayGroupModel extends GroupBase {
|
|
5
|
+
constructor(context, group, index = -1) {
|
|
6
|
+
super(context, group, index);
|
|
7
|
+
this.context = context;
|
|
8
|
+
this.isHidden = false;
|
|
9
|
+
}
|
|
10
|
+
get hidden() {
|
|
11
|
+
return this.isHidden;
|
|
12
|
+
}
|
|
13
|
+
set hidden(value) {
|
|
14
|
+
if (this.isHidden == value)
|
|
15
|
+
return;
|
|
16
|
+
this.isHidden = value || false;
|
|
17
|
+
this.context?.filterGroups();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
3
20
|
export class DynamicFormArrayModel extends Base {
|
|
4
21
|
constructor(config, layout) {
|
|
5
22
|
super(config, layout);
|
|
23
|
+
this.config = config;
|
|
24
|
+
this.filteredGroups = new BehaviorSubject([]);
|
|
25
|
+
this.sortable = config.sortable || false;
|
|
6
26
|
this.useTabs = config.useTabs || false;
|
|
7
|
-
this.saveTab = ObjectUtils.isFunction(config.saveTab) ? config.saveTab : ((index, model) => {
|
|
8
|
-
|
|
27
|
+
this.saveTab = ObjectUtils.isFunction(config.saveTab) ? config.saveTab : ((index, model, arrayModel) => {
|
|
28
|
+
arrayModel.tabIndex = index;
|
|
9
29
|
});
|
|
10
30
|
this.restoreTab = ObjectUtils.isFunction(config.restoreTab) ? config.restoreTab : ((model) => {
|
|
11
31
|
return model.tabIndex;
|
|
@@ -14,6 +34,95 @@ export class DynamicFormArrayModel extends Base {
|
|
|
14
34
|
return `${index + 1}`;
|
|
15
35
|
});
|
|
16
36
|
this.additional = config.additional || {};
|
|
37
|
+
this.tabIndex = 0;
|
|
38
|
+
this._sortBy = null;
|
|
39
|
+
this._sortDescending = false;
|
|
40
|
+
this._formArray = null;
|
|
41
|
+
}
|
|
42
|
+
get addItem() {
|
|
43
|
+
return this.config.addItem !== false;
|
|
44
|
+
}
|
|
45
|
+
get insertItem() {
|
|
46
|
+
return !this._sortBy && this.config.insertItem !== false;
|
|
47
|
+
}
|
|
48
|
+
get cloneItem() {
|
|
49
|
+
return this.config.cloneItem !== false;
|
|
50
|
+
}
|
|
51
|
+
get moveItem() {
|
|
52
|
+
return !this._sortBy && this.config.moveItem !== false;
|
|
53
|
+
}
|
|
54
|
+
get removeItem() {
|
|
55
|
+
return this.config.removeItem !== false;
|
|
56
|
+
}
|
|
57
|
+
get clearItems() {
|
|
58
|
+
return this.config.clearItems !== false;
|
|
59
|
+
}
|
|
60
|
+
get sortBy() {
|
|
61
|
+
return this._sortBy;
|
|
62
|
+
}
|
|
63
|
+
set sortBy(value) {
|
|
64
|
+
if (!this.sortable)
|
|
65
|
+
return;
|
|
66
|
+
value = value || null;
|
|
67
|
+
if (this._sortBy !== value) {
|
|
68
|
+
this._sortBy = value;
|
|
69
|
+
this._sortDescending = false;
|
|
70
|
+
}
|
|
71
|
+
else if (this._sortDescending) {
|
|
72
|
+
this._sortBy = null;
|
|
73
|
+
this._sortDescending = false;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this._sortDescending = true;
|
|
77
|
+
}
|
|
78
|
+
this.filterGroups();
|
|
79
|
+
}
|
|
80
|
+
get sortDescending() {
|
|
81
|
+
return this._sortDescending;
|
|
82
|
+
}
|
|
83
|
+
get sortOrder() {
|
|
84
|
+
return this.sortDescending ? "desc" : "asc";
|
|
85
|
+
}
|
|
86
|
+
initialize(array) {
|
|
87
|
+
this._formArray = array || this._formArray;
|
|
88
|
+
this.filterGroups();
|
|
89
|
+
}
|
|
90
|
+
filterGroups() {
|
|
91
|
+
this._filterTimer = this._filterTimer || TimerUtils.createTimeout();
|
|
92
|
+
this._filterTimer.set(() => {
|
|
93
|
+
const filtered = this.groups.filter(g => !g.hidden);
|
|
94
|
+
if (this._sortBy && this._formArray) {
|
|
95
|
+
const compare = this._sortDescending
|
|
96
|
+
? (a, b) => this.compareModels(b, a)
|
|
97
|
+
: (a, b) => this.compareModels(a, b);
|
|
98
|
+
filtered.sort(compare);
|
|
99
|
+
}
|
|
100
|
+
this._filteredGroups = filtered;
|
|
101
|
+
this.filteredGroups.next(filtered);
|
|
102
|
+
}, 100);
|
|
103
|
+
}
|
|
104
|
+
getFiltered(index) {
|
|
105
|
+
return !this._filteredGroups ? null : this._filteredGroups[index];
|
|
106
|
+
}
|
|
107
|
+
insertGroup(index) {
|
|
108
|
+
const group = new DynamicFormArrayGroupModel(this, this.groupFactory());
|
|
109
|
+
this.groups.splice(index, 0, group);
|
|
110
|
+
this.groups.forEach((g, index) => g.index = index);
|
|
111
|
+
this.filterGroups();
|
|
112
|
+
return group;
|
|
113
|
+
}
|
|
114
|
+
moveGroup(index, step) {
|
|
115
|
+
super.moveGroup(index, step);
|
|
116
|
+
this.filterGroups();
|
|
117
|
+
}
|
|
118
|
+
removeGroup(index) {
|
|
119
|
+
super.removeGroup(index);
|
|
120
|
+
this.filterGroups();
|
|
121
|
+
}
|
|
122
|
+
compareModels(a, b) {
|
|
123
|
+
const aGroup = this._formArray.at(a.index).get(this._sortBy)?.value || null;
|
|
124
|
+
const bGroup = this._formArray.at(b.index).get(this._sortBy)?.value || null;
|
|
125
|
+
return ObjectUtils.compare(aGroup, bGroup);
|
|
17
126
|
}
|
|
18
127
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWFycmF5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC1keW5hbWljLWZvcm0vdXRpbHMvZHluYW1pYy1mb3JtLWFycmF5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDSCxxQkFBcUIsSUFBSSxJQUFJLEVBR2hDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBYzdDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxJQUFJO0lBVTNDLFlBQVksTUFBbUMsRUFBRSxNQUFpQztRQUM5RSxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN2RixLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN6RixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDNUYsT0FBTyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rvcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtGb3JtQXJyYXl9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1xyXG4gICAgRHluYW1pY0Zvcm1BcnJheU1vZGVsIGFzIEJhc2UsXHJcbiAgICBEeW5hbWljRm9ybUFycmF5TW9kZWxDb25maWcgYXMgQ29uZmlnQmFzZSxcclxuICAgIER5bmFtaWNGb3JtQ29udHJvbExheW91dFxyXG59IGZyb20gXCJAbmctZHluYW1pYy1mb3Jtcy9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCJAc3RlbXkvbmd4LXV0aWxzXCI7XHJcblxyXG5leHBvcnQgdHlwZSBTYXZlVGFiRnVuYyA9IChpbmRleDogbnVtYmVyLCBtb2RlbDogRHluYW1pY0Zvcm1BcnJheU1vZGVsLCBpbmplY3RvcjogSW5qZWN0b3IpID0+IHZvaWQ7XHJcbmV4cG9ydCB0eXBlIFJlc3RvcmVUYWJGdW5jID0gKG1vZGVsOiBEeW5hbWljRm9ybUFycmF5TW9kZWwsIGluamVjdG9yOiBJbmplY3RvcikgPT4gbnVtYmVyO1xyXG5leHBvcnQgdHlwZSBUYWJMYWJlbEZ1bmMgPSAoaW5kZXg6IG51bWJlciwgbW9kZWw6IER5bmFtaWNGb3JtQXJyYXlNb2RlbCwgYXJyYXk6IEZvcm1BcnJheSwgaW5qZWN0b3I6IEluamVjdG9yKSA9PiBzdHJpbmc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNGb3JtQXJyYXlNb2RlbENvbmZpZyBleHRlbmRzIENvbmZpZ0Jhc2Uge1xyXG4gICAgdXNlVGFicz86IGJvb2xlYW47XHJcbiAgICBzYXZlVGFiPzogU2F2ZVRhYkZ1bmM7XHJcbiAgICByZXN0b3JlVGFiPzogUmVzdG9yZVRhYkZ1bmM7XHJcbiAgICBnZXRUYWJMYWJlbD86IFRhYkxhYmVsRnVuYztcclxuICAgIGFkZGl0aW9uYWw/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1BcnJheU1vZGVsIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgcmVhZG9ubHkgdXNlVGFiczogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5IHNhdmVUYWI6IFNhdmVUYWJGdW5jO1xyXG4gICAgcmVhZG9ubHkgcmVzdG9yZVRhYjogUmVzdG9yZVRhYkZ1bmM7XHJcbiAgICByZWFkb25seSBnZXRUYWJMYWJlbDogVGFiTGFiZWxGdW5jO1xyXG4gICAgcmVhZG9ubHkgYWRkaXRpb25hbDogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxuXHJcbiAgICB0YWJJbmRleDogbnVtYmVyXHJcblxyXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBEeW5hbWljRm9ybUFycmF5TW9kZWxDb25maWcsIGxheW91dD86IER5bmFtaWNGb3JtQ29udHJvbExheW91dCkge1xyXG4gICAgICAgIHN1cGVyKGNvbmZpZywgbGF5b3V0KTtcclxuICAgICAgICB0aGlzLnVzZVRhYnMgPSBjb25maWcudXNlVGFicyB8fCBmYWxzZTtcclxuICAgICAgICB0aGlzLnNhdmVUYWIgPSBPYmplY3RVdGlscy5pc0Z1bmN0aW9uKGNvbmZpZy5zYXZlVGFiKSA/IGNvbmZpZy5zYXZlVGFiIDogKChpbmRleCwgbW9kZWwpID0+IHtcclxuICAgICAgICAgICAgbW9kZWwudGFiSW5kZXggPSBpbmRleDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnJlc3RvcmVUYWIgPSBPYmplY3RVdGlscy5pc0Z1bmN0aW9uKGNvbmZpZy5yZXN0b3JlVGFiKSA/IGNvbmZpZy5yZXN0b3JlVGFiIDogKChtb2RlbCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbW9kZWwudGFiSW5kZXg7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5nZXRUYWJMYWJlbCA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oY29uZmlnLmdldFRhYkxhYmVsKSA/IGNvbmZpZy5nZXRUYWJMYWJlbCA6ICgoaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke2luZGV4ICsgMX1gO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYWRkaXRpb25hbCA9IGNvbmZpZy5hZGRpdGlvbmFsIHx8IHt9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWFycmF5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC1keW5hbWljLWZvcm0vdXRpbHMvZHluYW1pYy1mb3JtLWFycmF5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUNILDBCQUEwQixJQUFJLFNBQVMsRUFDdkMscUJBQXFCLElBQUksSUFBSSxFQUloQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBUyxXQUFXLEVBQUUsVUFBVSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFNakUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFNBQVM7SUFjckQsWUFBcUIsT0FBOEIsRUFBRSxLQUF1QixFQUFFLFFBQWdCLENBQUMsQ0FBQztRQUM1RixLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQURaLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBRS9DLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFmRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEtBQWM7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUs7WUFBRSxPQUFPO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FRSjtBQW9CRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsSUFBSTtJQXNFM0MsWUFBc0IsTUFBbUMsRUFBRSxNQUFpQztRQUN4RixLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBREosV0FBTSxHQUFOLE1B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O0lBQ3hCLENBQUM7SUFFUyxhQUFhLENBQUMsQ0FBNkIsRUFBRSxDQUE2QjtRQUNoRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDO1FBQzVFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDNUUsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBJbmplY3Rvcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtGb3JtQXJyYXl9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtcclxuICAgIER5bmFtaWNGb3JtQXJyYXlHcm91cE1vZGVsIGFzIEdyb3VwQmFzZSxcclxuICAgIER5bmFtaWNGb3JtQXJyYXlNb2RlbCBhcyBCYXNlLFxyXG4gICAgRHluYW1pY0Zvcm1BcnJheU1vZGVsQ29uZmlnIGFzIENvbmZpZ0Jhc2UsXHJcbiAgICBEeW5hbWljRm9ybUNvbnRyb2xMYXlvdXQsXHJcbiAgICBEeW5hbWljRm9ybU1vZGVsXHJcbn0gZnJvbSBcIkBuZy1keW5hbWljLWZvcm1zL2NvcmVcIjtcclxuaW1wb3J0IHtJVGltZXIsIE9iamVjdFV0aWxzLCBUaW1lclV0aWxzfSBmcm9tIFwiQHN0ZW15L25neC11dGlsc1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgU2F2ZVRhYkZ1bmMgPSAoaW5kZXg6IG51bWJlciwgbW9kZWw6IER5bmFtaWNGb3JtQXJyYXlHcm91cE1vZGVsLCBhcnJheU1vZGVsOiBEeW5hbWljRm9ybUFycmF5TW9kZWwsIGluamVjdG9yOiBJbmplY3RvcikgPT4gdm9pZDtcclxuZXhwb3J0IHR5cGUgUmVzdG9yZVRhYkZ1bmMgPSAoYXJyYXlNb2RlbDogRHluYW1pY0Zvcm1BcnJheU1vZGVsLCBpbmplY3RvcjogSW5qZWN0b3IpID0+IG51bWJlcjtcclxuZXhwb3J0IHR5cGUgVGFiTGFiZWxGdW5jID0gKGluZGV4OiBudW1iZXIsIG1vZGVsOiBEeW5hbWljRm9ybUFycmF5R3JvdXBNb2RlbCwgYXJyYXlNb2RlbDogRHluYW1pY0Zvcm1BcnJheU1vZGVsLCBhcnJheTogRm9ybUFycmF5LCBpbmplY3RvcjogSW5qZWN0b3IpID0+IHN0cmluZztcclxuXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUFycmF5R3JvdXBNb2RlbCBleHRlbmRzIEdyb3VwQmFzZSB7XHJcblxyXG4gICAgZ2V0IGhpZGRlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0hpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgaGlkZGVuKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNIaWRkZW4gPT0gdmFsdWUpIHJldHVybjtcclxuICAgICAgICB0aGlzLmlzSGlkZGVuID0gdmFsdWUgfHwgZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0Py5maWx0ZXJHcm91cHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaXNIaWRkZW46IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29udGV4dDogRHluYW1pY0Zvcm1BcnJheU1vZGVsLCBncm91cDogRHluYW1pY0Zvcm1Nb2RlbCwgaW5kZXg6IG51bWJlciA9IC0xKSB7XHJcbiAgICAgICAgc3VwZXIoY29udGV4dCwgZ3JvdXAsIGluZGV4KTtcclxuICAgICAgICB0aGlzLmlzSGlkZGVuID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1BcnJheU1vZGVsQ29uZmlnIGV4dGVuZHMgQ29uZmlnQmFzZSB7XHJcblxyXG4gICAgZ3JvdXBzPzogRHluYW1pY0Zvcm1BcnJheUdyb3VwTW9kZWxbXSB8IG51bGw7XHJcbiAgICBzb3J0YWJsZT86IGJvb2xlYW47XHJcbiAgICB1c2VUYWJzPzogYm9vbGVhbjtcclxuICAgIHNhdmVUYWI/OiBTYXZlVGFiRnVuYztcclxuICAgIHJlc3RvcmVUYWI/OiBSZXN0b3JlVGFiRnVuYztcclxuICAgIGdldFRhYkxhYmVsPzogVGFiTGFiZWxGdW5jO1xyXG4gICAgYWRkaXRpb25hbD86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcblxyXG4gICAgYWRkSXRlbT86IGJvb2xlYW47XHJcbiAgICBpbnNlcnRJdGVtPzogYm9vbGVhbjtcclxuICAgIGNsb25lSXRlbT86IGJvb2xlYW47XHJcbiAgICBtb3ZlSXRlbT86IGJvb2xlYW47XHJcbiAgICByZW1vdmVJdGVtPzogYm9vbGVhbjtcclxuICAgIGNsZWFySXRlbXM/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1BcnJheU1vZGVsIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgcmVhZG9ubHkgZmlsdGVyZWRHcm91cHM6IEJlaGF2aW9yU3ViamVjdDxSZWFkb25seUFycmF5PER5bmFtaWNGb3JtQXJyYXlHcm91cE1vZGVsPj47XHJcbiAgICByZWFkb25seSBzb3J0YWJsZTogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5IHVzZVRhYnM6IGJvb2xlYW47XHJcbiAgICByZWFkb25seSBzYXZlVGFiOiBTYXZlVGFiRnVuYztcclxuICAgIHJlYWRvbmx5IHJlc3RvcmVUYWI6IFJlc3RvcmVUYWJGdW5jO1xyXG4gICAgcmVhZG9ubHkgZ2V0VGFiTGFiZWw6IFRhYkxhYmVsRnVuYztcclxuICAgIHJlYWRvbmx5IGFkZGl0aW9uYWw6IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcblxyXG4gICAgZ3JvdXBzOiBEeW5hbWljRm9ybUFycmF5R3JvdXBNb2RlbFtdO1xyXG4gICAgdGFiSW5kZXg6IG51bWJlclxyXG5cclxuICAgIHByb3RlY3RlZCBfc29ydEJ5OiBzdHJpbmc7XHJcbiAgICBwcm90ZWN0ZWQgX3NvcnREZXNjZW5kaW5nOiBib29sZWFuO1xyXG4gICAgcHJvdGVjdGVkIF9mb3JtQXJyYXk6IEZvcm1BcnJheTtcclxuICAgIHByb3RlY3RlZCBfZmlsdGVyZWRHcm91cHM6IFJlYWRvbmx5QXJyYXk8RHluYW1pY0Zvcm1BcnJheUdyb3VwTW9kZWw+O1xyXG4gICAgcHJvdGVjdGVkIF9maWx0ZXJUaW1lcjogSVRpbWVyO1xyXG5cclxuICAgIGdldCBhZGRJdGVtKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5hZGRJdGVtICE9PSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaW5zZXJ0SXRlbSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuX3NvcnRCeSAmJiB0aGlzLmNvbmZpZy5pbnNlcnRJdGVtICE9PSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY2xvbmVJdGVtKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5jbG9uZUl0ZW0gIT09IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBtb3ZlSXRlbSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuX3NvcnRCeSAmJiB0aGlzLmNvbmZpZy5tb3ZlSXRlbSAhPT0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHJlbW92ZUl0ZW0oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlbW92ZUl0ZW0gIT09IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjbGVhckl0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5jbGVhckl0ZW1zICE9PSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc29ydEJ5KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NvcnRCeTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc29ydEJ5KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc29ydGFibGUpIHJldHVybjtcclxuICAgICAgICB2YWx1ZSA9IHZhbHVlIHx8IG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvcnRCeSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fc29ydEJ5ID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvcnREZXNjZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9zb3J0RGVzY2VuZGluZykge1xyXG4gICAgICAgICAgICB0aGlzLl9zb3J0QnkgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLl9zb3J0RGVzY2VuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvcnREZXNjZW5kaW5nID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWx0ZXJHcm91cHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc29ydERlc2NlbmRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NvcnREZXNjZW5kaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzb3J0T3JkZXIoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zb3J0RGVzY2VuZGluZyA/IFwiZGVzY1wiIDogXCJhc2NcIjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29uZmlnOiBEeW5hbWljRm9ybUFycmF5TW9kZWxDb25maWcsIGxheW91dD86IER5bmFtaWNGb3JtQ29udHJvbExheW91dCkge1xyXG4gICAgICAgIHN1cGVyKGNvbmZpZywgbGF5b3V0KTtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZWFkb25seUFycmF5PER5bmFtaWNGb3JtQXJyYXlHcm91cE1vZGVsPj4oW10pO1xyXG4gICAgICAgIHRoaXMuc29ydGFibGUgPSBjb25maWcuc29ydGFibGUgfHwgZmFsc2U7XHJcbiAgICAgICAgdGhpcy51c2VUYWJzID0gY29uZmlnLnVzZVRhYnMgfHwgZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zYXZlVGFiID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihjb25maWcuc2F2ZVRhYikgPyBjb25maWcuc2F2ZVRhYiA6ICgoaW5kZXgsIG1vZGVsLCBhcnJheU1vZGVsKSA9PiB7XHJcbiAgICAgICAgICAgIGFycmF5TW9kZWwudGFiSW5kZXggPSBpbmRleDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnJlc3RvcmVUYWIgPSBPYmplY3RVdGlscy5pc0Z1bmN0aW9uKGNvbmZpZy5yZXN0b3JlVGFiKSA/IGNvbmZpZy5yZXN0b3JlVGFiIDogKChtb2RlbCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbW9kZWwudGFiSW5kZXg7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5nZXRUYWJMYWJlbCA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oY29uZmlnLmdldFRhYkxhYmVsKSA/IGNvbmZpZy5nZXRUYWJMYWJlbCA6ICgoaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke2luZGV4ICsgMX1gO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYWRkaXRpb25hbCA9IGNvbmZpZy5hZGRpdGlvbmFsIHx8IHt9O1xyXG4gICAgICAgIHRoaXMudGFiSW5kZXggPSAwO1xyXG4gICAgICAgIHRoaXMuX3NvcnRCeSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5fc29ydERlc2NlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9mb3JtQXJyYXkgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemUoYXJyYXk/OiBGb3JtQXJyYXkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9mb3JtQXJyYXkgPSBhcnJheSB8fCB0aGlzLl9mb3JtQXJyYXk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJHcm91cHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBmaWx0ZXJHcm91cHMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZmlsdGVyVGltZXIgPSB0aGlzLl9maWx0ZXJUaW1lciB8fCBUaW1lclV0aWxzLmNyZWF0ZVRpbWVvdXQoKTtcclxuICAgICAgICB0aGlzLl9maWx0ZXJUaW1lci5zZXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IHRoaXMuZ3JvdXBzLmZpbHRlcihnID0+ICFnLmhpZGRlbik7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9zb3J0QnkgJiYgdGhpcy5fZm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wYXJlOiAoYTogYW55LCBiOiBhbnkpID0+IG51bWJlciA9IHRoaXMuX3NvcnREZXNjZW5kaW5nXHJcbiAgICAgICAgICAgICAgICAgICAgPyAoYSwgYikgPT4gdGhpcy5jb21wYXJlTW9kZWxzKGIsIGEpXHJcbiAgICAgICAgICAgICAgICAgICAgOiAoYSwgYikgPT4gdGhpcy5jb21wYXJlTW9kZWxzKGEsIGIpO1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyZWQuc29ydChjb21wYXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl9maWx0ZXJlZEdyb3VwcyA9IGZpbHRlcmVkO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkR3JvdXBzLm5leHQoZmlsdGVyZWQpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RmlsdGVyZWQoaW5kZXg6IG51bWJlcik6IER5bmFtaWNGb3JtQXJyYXlHcm91cE1vZGVsIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuX2ZpbHRlcmVkR3JvdXBzID8gbnVsbCA6IHRoaXMuX2ZpbHRlcmVkR3JvdXBzW2luZGV4XTtcclxuICAgIH1cclxuXHJcbiAgICBpbnNlcnRHcm91cChpbmRleDogbnVtYmVyKTogRHluYW1pY0Zvcm1BcnJheUdyb3VwTW9kZWwge1xyXG4gICAgICAgIGNvbnN0IGdyb3VwID0gbmV3IER5bmFtaWNGb3JtQXJyYXlHcm91cE1vZGVsKHRoaXMsIHRoaXMuZ3JvdXBGYWN0b3J5KCkpO1xyXG4gICAgICAgIHRoaXMuZ3JvdXBzLnNwbGljZShpbmRleCwgMCwgZ3JvdXApO1xyXG4gICAgICAgIHRoaXMuZ3JvdXBzLmZvckVhY2goKGcsIGluZGV4KSA9PiBnLmluZGV4ID0gaW5kZXgpO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyR3JvdXBzKCk7XHJcbiAgICAgICAgcmV0dXJuIGdyb3VwO1xyXG4gICAgfVxyXG5cclxuICAgIG1vdmVHcm91cChpbmRleDogbnVtYmVyLCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5tb3ZlR3JvdXAoaW5kZXgsIHN0ZXApO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyR3JvdXBzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlR3JvdXAoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnJlbW92ZUdyb3VwKGluZGV4KTtcclxuICAgICAgICB0aGlzLmZpbHRlckdyb3VwcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjb21wYXJlTW9kZWxzKGE6IER5bmFtaWNGb3JtQXJyYXlHcm91cE1vZGVsLCBiOiBEeW5hbWljRm9ybUFycmF5R3JvdXBNb2RlbCk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgYUdyb3VwID0gdGhpcy5fZm9ybUFycmF5LmF0KGEuaW5kZXgpLmdldCh0aGlzLl9zb3J0QnkpPy52YWx1ZSB8fCBudWxsO1xyXG4gICAgICAgIGNvbnN0IGJHcm91cCA9IHRoaXMuX2Zvcm1BcnJheS5hdChiLmluZGV4KS5nZXQodGhpcy5fc29ydEJ5KT8udmFsdWUgfHwgbnVsbDtcclxuICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuY29tcGFyZShhR3JvdXAsIGJHcm91cCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -2,22 +2,25 @@ import { FormSubject } from "./form-subject";
|
|
|
2
2
|
export class FormSelectSubject extends FormSubject {
|
|
3
3
|
handleNotifiedValue(controlModel, control, val) {
|
|
4
4
|
val.then(options => {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
if (options.length == 0) {
|
|
6
|
+
this.next(options);
|
|
7
7
|
return;
|
|
8
|
+
}
|
|
8
9
|
const currentVal = control.value;
|
|
9
10
|
if (controlModel.multiple) {
|
|
10
11
|
const correctVal = (currentVal || []).filter(t => options.findIndex(o => o.value == t) >= 0);
|
|
11
12
|
if (correctVal.length !== currentVal?.length) {
|
|
12
13
|
control.setValue(correctVal, { onlySelf: true, emitEvent: false });
|
|
13
14
|
}
|
|
14
|
-
return;
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
else {
|
|
17
|
+
const option = options.find(t => t.value == currentVal);
|
|
18
|
+
if (!option) {
|
|
19
|
+
control.setValue(options[0]?.value ?? null, { onlySelf: true, emitEvent: false });
|
|
20
|
+
}
|
|
19
21
|
}
|
|
22
|
+
this.next(options);
|
|
20
23
|
});
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3Qtc3ViamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtZHluYW1pYy1mb3JtL3V0aWxzL2Zvcm0tc2VsZWN0LXN1YmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxpQkFBNEQsU0FBUSxXQUF1QztJQUUxRyxtQkFBbUIsQ0FBQyxZQUFxQyxFQUFFLE9BQXdCLEVBQUUsR0FBZTtRQUMxRyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2YsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbkIsT0FBTzthQUNWO1lBQ0QsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNqQyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZCLE1BQU0sVUFBVSxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUM3RixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFLE1BQU0sRUFBRTtvQkFDMUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO2lCQUNwRTthQUNKO2lCQUFNO2dCQUNILE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNULE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO2lCQUNuRjthQUNKO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWJzdHJhY3RDb250cm9sfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtEeW5hbWljRm9ybU9wdGlvbkNvbmZpZywgRHluYW1pY1NlbGVjdE1vZGVsfSBmcm9tIFwiLi9keW5hbWljLXNlbGVjdC5tb2RlbFwiO1xyXG5pbXBvcnQge0Zvcm1TdWJqZWN0fSBmcm9tIFwiLi9mb3JtLXN1YmplY3RcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtU2VsZWN0U3ViamVjdDxUIGV4dGVuZHMgRHluYW1pY0Zvcm1PcHRpb25Db25maWc8YW55PltdPiBleHRlbmRzIEZvcm1TdWJqZWN0PER5bmFtaWNTZWxlY3RNb2RlbDxhbnk+LCBUPiB7XHJcblxyXG4gICAgcHJvdGVjdGVkIGhhbmRsZU5vdGlmaWVkVmFsdWUoY29udHJvbE1vZGVsOiBEeW5hbWljU2VsZWN0TW9kZWw8YW55PiwgY29udHJvbDogQWJzdHJhY3RDb250cm9sLCB2YWw6IFByb21pc2U8VD4pIHtcclxuICAgICAgICB2YWwudGhlbihvcHRpb25zID0+IHtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubmV4dChvcHRpb25zKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgICAgICAgaWYgKGNvbnRyb2xNb2RlbC5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29ycmVjdFZhbCA9IChjdXJyZW50VmFsIHx8IFtdKS5maWx0ZXIodCA9PiBvcHRpb25zLmZpbmRJbmRleChvID0+IG8udmFsdWUgPT0gdCkgPj0gMCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29ycmVjdFZhbC5sZW5ndGggIT09IGN1cnJlbnRWYWw/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoY29ycmVjdFZhbCwge29ubHlTZWxmOiB0cnVlLCBlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zLmZpbmQodCA9PiB0LnZhbHVlID09IGN1cnJlbnRWYWwpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFvcHRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250cm9sLnNldFZhbHVlKG9wdGlvbnNbMF0/LnZhbHVlID8/IG51bGwsIHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubmV4dChvcHRpb25zKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -8,7 +8,7 @@ export function findRefs(property) {
|
|
|
8
8
|
return refs.map(t => t.split("/").pop());
|
|
9
9
|
}
|
|
10
10
|
export function replaceSpecialChars(str, to = "-") {
|
|
11
|
-
return
|
|
11
|
+
return `${str}`.replace(/[&\/\\#, +()$~%.@'":*?<>{}]/g, to);
|
|
12
12
|
}
|
|
13
13
|
export function mergeFormModels(formModels) {
|
|
14
14
|
const res = [];
|
|
@@ -38,6 +38,7 @@ export function collectPathAble(start, getter) {
|
|
|
38
38
|
}
|
|
39
39
|
return parts;
|
|
40
40
|
}
|
|
41
|
-
export const MIN_INPUT_NUM = -
|
|
42
|
-
export const MAX_INPUT_NUM =
|
|
43
|
-
|
|
41
|
+
export const MIN_INPUT_NUM = -999999999;
|
|
42
|
+
export const MAX_INPUT_NUM = 999999999;
|
|
43
|
+
export const EDITOR_FORMATS = ["php", "json", "html", "css", "scss"];
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtZHluYW1pYy1mb3JtL3V0aWxzL21pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFRO0lBQ3BDLE9BQU8sT0FBTyxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLFFBQWdDO0lBQ3JELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUN0QyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEdBQVcsRUFBRSxLQUFhLEdBQUc7SUFDN0QsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxVQUE4QjtJQUMxRCxNQUFNLEdBQUcsR0FBcUIsRUFBRSxDQUFDO0lBQ2pDLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFO1FBQ2hDLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO1lBQzlCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0RCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ1osR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQztnQkFDdEIsU0FBUzthQUNaO1lBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN0QjtLQUNKO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBNEIsS0FBUSxFQUFFLE1BQTRDO0lBQzdHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDeEMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztJQUN4QixPQUFPLFdBQVcsRUFBRTtRQUNoQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEMsSUFBSSxHQUFHLEVBQUU7WUFDTCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFXLENBQUM7S0FDekM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsU0FBUyxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEeW5hbWljRm9ybU1vZGVsLCBEeW5hbWljUGF0aGFibGV9IGZyb20gXCJAbmctZHluYW1pYy1mb3Jtcy9jb3JlXCI7XHJcbmltcG9ydCB7SU9wZW5BcGlTY2hlbWFQcm9wZXJ0eX0gZnJvbSBcIkBzdGVteS9uZ3gtdXRpbHNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZ1dpdGhWYWwodmFsOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsID09IFwic3RyaW5nXCIgJiYgdmFsLmxlbmd0aCA+IDA7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmaW5kUmVmcyhwcm9wZXJ0eTogSU9wZW5BcGlTY2hlbWFQcm9wZXJ0eSk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IHJlZnMgPSBBcnJheS5pc0FycmF5KHByb3BlcnR5LmFsbE9mKVxyXG4gICAgICAgID8gcHJvcGVydHkuYWxsT2YubWFwKG8gPT4gby4kcmVmKS5maWx0ZXIoaXNTdHJpbmdXaXRoVmFsKVxyXG4gICAgICAgIDogW3Byb3BlcnR5Lml0ZW1zPy4kcmVmLCBwcm9wZXJ0eS4kcmVmXS5maWx0ZXIoaXNTdHJpbmdXaXRoVmFsKTtcclxuICAgIHJldHVybiByZWZzLm1hcCh0ID0+IHQuc3BsaXQoXCIvXCIpLnBvcCgpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VTcGVjaWFsQ2hhcnMoc3RyOiBzdHJpbmcsIHRvOiBzdHJpbmcgPSBcIi1cIik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7c3RyfWAucmVwbGFjZSgvWyZcXC9cXFxcIywgKygpJH4lLkAnXCI6Kj88Pnt9XS9nLCB0byk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUZvcm1Nb2RlbHMoZm9ybU1vZGVsczogRHluYW1pY0Zvcm1Nb2RlbFtdKTogRHluYW1pY0Zvcm1Nb2RlbCB7XHJcbiAgICBjb25zdCByZXM6IER5bmFtaWNGb3JtTW9kZWwgPSBbXTtcclxuICAgIGZvciAoY29uc3QgZm9ybU1vZGVsIG9mIGZvcm1Nb2RlbHMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHN1Yk1vZGVsIG9mIGZvcm1Nb2RlbCkge1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHJlcy5maW5kSW5kZXgodCA9PiB0LmlkID09IHN1Yk1vZGVsLmlkKTtcclxuICAgICAgICAgICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgICAgIHJlc1tpbmRleF0gPSBzdWJNb2RlbDtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlcy5wdXNoKHN1Yk1vZGVsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29sbGVjdFBhdGhBYmxlPFQgZXh0ZW5kcyBEeW5hbWljUGF0aGFibGU+KHN0YXJ0OiBULCBnZXR0ZXI6IChjdXI6IFQgJiBEeW5hbWljUGF0aGFibGUpID0+IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgIGlmICghc3RhcnQgfHwgIWdldHRlcihzdGFydCkpIHJldHVybiBbXTtcclxuICAgIGNvbnN0IHBhcnRzID0gW107XHJcbiAgICBsZXQgY3VycmVudFBhdGggPSBzdGFydDtcclxuICAgIHdoaWxlIChjdXJyZW50UGF0aCkge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGdldHRlcihjdXJyZW50UGF0aCk7XHJcbiAgICAgICAgaWYgKHZhbCkge1xyXG4gICAgICAgICAgICBwYXJ0cy51bnNoaWZ0KHZhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGN1cnJlbnRQYXRoID0gY3VycmVudFBhdGgucGFyZW50IGFzIFQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFydHM7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBNSU5fSU5QVVRfTlVNID0gLTk5OTk5OTk5OTtcclxuXHJcbmV4cG9ydCBjb25zdCBNQVhfSU5QVVRfTlVNID0gOTk5OTk5OTk5O1xyXG5cclxuZXhwb3J0IGNvbnN0IEVESVRPUl9GT1JNQVRTID0gW1wicGhwXCIsIFwianNvblwiLCBcImh0bWxcIiwgXCJjc3NcIiwgXCJzY3NzXCJdO1xyXG4iXX0=
|
package/esm2020/public_api.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { defaultSerializer, FormSerializable, FormInput, FormSelect, FormStatic, FormModel, FormFile, defineFormControl, getFormControl, getFormSerializer, createFormInput, createFormSelect, createFormStatic, createFormModel, createFormControl } from "./ngx-dynamic-form/common-types";
|
|
2
|
-
export { replaceSpecialChars, mergeFormModels, MIN_INPUT_NUM, MAX_INPUT_NUM } from "./ngx-dynamic-form/utils/misc";
|
|
2
|
+
export { replaceSpecialChars, mergeFormModels, MIN_INPUT_NUM, MAX_INPUT_NUM, EDITOR_FORMATS } from "./ngx-dynamic-form/utils/misc";
|
|
3
3
|
export { validateJSON, validateRequiredTranslation, validatePhone, validateItemsMinLength, validateItemsMaxLength, validateItemsMinValue, validateItemsMaxValue } from "./ngx-dynamic-form/utils/validators";
|
|
4
|
-
export { DynamicFormArrayModel } from "./ngx-dynamic-form/utils/dynamic-form-array.model";
|
|
4
|
+
export { DynamicFormArrayGroupModel, DynamicFormArrayModel } from "./ngx-dynamic-form/utils/dynamic-form-array.model";
|
|
5
5
|
export { DynamicFormOption, DynamicSelectModel } from "./ngx-dynamic-form/utils/dynamic-select.model";
|
|
6
6
|
export { FormSelectSubject } from "./ngx-dynamic-form/utils/form-select-subject";
|
|
7
7
|
export { FormSubject } from "./ngx-dynamic-form/utils/form-subject";
|
|
@@ -14,5 +14,5 @@ export { DynamicBaseFormControlContainerComponent } from "./ngx-dynamic-form/com
|
|
|
14
14
|
export { DynamicBaseFormGroupComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form-group.component";
|
|
15
15
|
export { DynamicBaseSelectComponent } from "./ngx-dynamic-form/components/base/dynamic-base-select.component";
|
|
16
16
|
export { NgxDynamicFormModule } from "./ngx-dynamic-form/ngx-dynamic-form.module";
|
|
17
|
-
export { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP, DYNAMIC_FORM_CONTROL_TYPE_FILE_UPLOAD, DYNAMIC_FORM_CONTROL_TYPE_GROUP, DYNAMIC_FORM_CONTROL_TYPE_INPUT, DYNAMIC_FORM_CONTROL_TYPE_RADIO_GROUP, DYNAMIC_FORM_CONTROL_TYPE_SELECT, DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA, DynamicTemplateDirective, DynamicListDirective, DynamicFormsCoreModule, DynamicCheckboxModel, DynamicCheckboxGroupModel, DynamicFileUploadModel, DynamicFormGroupModel, DynamicInputModel, DynamicRadioGroupModel, DynamicTextAreaModel } from "@ng-dynamic-forms/core";
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
export { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP, DYNAMIC_FORM_CONTROL_TYPE_FILE_UPLOAD, DYNAMIC_FORM_CONTROL_TYPE_GROUP, DYNAMIC_FORM_CONTROL_TYPE_INPUT, DYNAMIC_FORM_CONTROL_TYPE_RADIO_GROUP, DYNAMIC_FORM_CONTROL_TYPE_SELECT, DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA, DYNAMIC_FORM_CONTROL_TYPE_EDITOR, DynamicTemplateDirective, DynamicListDirective, DynamicFormsCoreModule, DynamicCheckboxModel, DynamicCheckboxGroupModel, DynamicFileUploadModel, DynamicFormGroupModel, DynamicInputModel, DynamicRadioGroupModel, DynamicTextAreaModel, DynamicEditorModel } from "@ng-dynamic-forms/core";
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFVSCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGlCQUFpQixFQUVwQixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUNqQixNQUFNLCtCQUErQixDQUFDO0FBRXZDLE9BQU8sRUFDSCxZQUFZLEVBQ1osMkJBQTJCLEVBQzNCLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDeEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3QyxPQUFPLEVBSUgsMEJBQTBCLEVBRTFCLHFCQUFxQixFQUN4QixNQUFNLG1EQUFtRCxDQUFDO0FBQzNELE9BQU8sRUFFSCxpQkFBaUIsRUFJakIsa0JBQWtCLEVBQ3JCLE1BQU0sK0NBQStDLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRWxFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBRXBGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFDSCwrQkFBK0IsRUFDbEMsTUFBTSx3RUFBd0UsQ0FBQztBQUNoRixPQUFPLEVBQ0gsd0NBQXdDLEVBQzNDLE1BQU0sa0ZBQWtGLENBQUM7QUFDMUYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDbkgsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFFNUcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsT0FBTyxFQUNILCtCQUErQixFQUMvQixrQ0FBa0MsRUFDbEMsd0NBQXdDLEVBQ3hDLHFDQUFxQyxFQUNyQywrQkFBK0IsRUFDL0IsK0JBQStCLEVBQy9CLHFDQUFxQyxFQUNyQyxnQ0FBZ0MsRUFDaEMsa0NBQWtDLEVBQ2xDLGdDQUFnQyxFQUNoQyx3QkFBd0IsRUFDeEIsb0JBQW9CLEVBR3BCLHNCQUFzQixFQUV0QixvQkFBb0IsRUFDcEIseUJBQXlCLEVBRXpCLHNCQUFzQixFQUV0QixxQkFBcUIsRUFFckIsaUJBQWlCLEVBRWpCLHNCQUFzQixFQUV0QixvQkFBb0IsRUFFcEIsa0JBQWtCLEVBQ3JCLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xyXG4gICAgSUR5bmFtaWNGb3JtRXZlbnQsXHJcbiAgICBJRHluYW1pY0Zvcm0sXHJcbiAgICBGb3JtQ29udHJvbFNlcmlhbGl6ZXIsXHJcbiAgICBGb3JtTW9kZWxDdXN0b21pemVyLFxyXG4gICAgRHluYW1pY0Zvcm1TdGF0ZSxcclxuICAgIER5bmFtaWNGb3JtVXBkYXRlT24sXHJcbiAgICBJRm9ybUNvbnRyb2wsXHJcbiAgICBEeW5hbWljRm9ybUluaXRDb250cm9sLFxyXG4gICAgQXN5bmNTdWJtaXRNZXRob2QsXHJcbiAgICBkZWZhdWx0U2VyaWFsaXplcixcclxuICAgIEZvcm1TZXJpYWxpemFibGUsXHJcbiAgICBGb3JtSW5wdXQsXHJcbiAgICBGb3JtU2VsZWN0LFxyXG4gICAgRm9ybVN0YXRpYyxcclxuICAgIEZvcm1Nb2RlbCxcclxuICAgIEZvcm1GaWxlLFxyXG4gICAgZGVmaW5lRm9ybUNvbnRyb2wsXHJcbiAgICBnZXRGb3JtQ29udHJvbCxcclxuICAgIGdldEZvcm1TZXJpYWxpemVyLFxyXG4gICAgY3JlYXRlRm9ybUlucHV0LFxyXG4gICAgY3JlYXRlRm9ybVNlbGVjdCxcclxuICAgIGNyZWF0ZUZvcm1TdGF0aWMsXHJcbiAgICBjcmVhdGVGb3JtTW9kZWwsXHJcbiAgICBjcmVhdGVGb3JtQ29udHJvbCxcclxuICAgIElEeW5hbWljRm9ybU1vZHVsZUNvbmZpZ1xyXG59IGZyb20gXCIuL25neC1keW5hbWljLWZvcm0vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5leHBvcnQge1xyXG4gICAgcmVwbGFjZVNwZWNpYWxDaGFycyxcclxuICAgIG1lcmdlRm9ybU1vZGVscyxcclxuICAgIE1JTl9JTlBVVF9OVU0sXHJcbiAgICBNQVhfSU5QVVRfTlVNLFxyXG4gICAgRURJVE9SX0ZPUk1BVFNcclxufSBmcm9tIFwiLi9uZ3gtZHluYW1pYy1mb3JtL3V0aWxzL21pc2NcIjtcclxuXHJcbmV4cG9ydCB7XHJcbiAgICB2YWxpZGF0ZUpTT04sXHJcbiAgICB2YWxpZGF0ZVJlcXVpcmVkVHJhbnNsYXRpb24sXHJcbiAgICB2YWxpZGF0ZVBob25lLFxyXG4gICAgdmFsaWRhdGVJdGVtc01pbkxlbmd0aCxcclxuICAgIHZhbGlkYXRlSXRlbXNNYXhMZW5ndGgsXHJcbiAgICB2YWxpZGF0ZUl0ZW1zTWluVmFsdWUsXHJcbiAgICB2YWxpZGF0ZUl0ZW1zTWF4VmFsdWVcclxufSBmcm9tIFwiLi9uZ3gtZHluYW1pYy1mb3JtL3V0aWxzL3ZhbGlkYXRvcnNcIjtcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBTYXZlVGFiRnVuYyxcclxuICAgIFJlc3RvcmVUYWJGdW5jLFxyXG4gICAgVGFiTGFiZWxGdW5jLFxyXG4gICAgRHluYW1pY0Zvcm1BcnJheUdyb3VwTW9kZWwsXHJcbiAgICBEeW5hbWljRm9ybUFycmF5TW9kZWxDb25maWcsXHJcbiAgICBEeW5hbWljRm9ybUFycmF5TW9kZWxcclxufSBmcm9tIFwiLi9uZ3gtZHluYW1pYy1mb3JtL3V0aWxzL2R5bmFtaWMtZm9ybS1hcnJheS5tb2RlbFwiO1xyXG5leHBvcnQge1xyXG4gICAgRHluYW1pY0Zvcm1PcHRpb25Db25maWcsXHJcbiAgICBEeW5hbWljRm9ybU9wdGlvbixcclxuICAgIER5bmFtaWNGb3JtT3B0aW9uR3JvdXAsXHJcbiAgICBPcHRpb25DbGFzc2VzRnVuYyxcclxuICAgIER5bmFtaWNTZWxlY3RNb2RlbENvbmZpZyxcclxuICAgIER5bmFtaWNTZWxlY3RNb2RlbFxyXG59IGZyb20gXCIuL25neC1keW5hbWljLWZvcm0vdXRpbHMvZHluYW1pYy1zZWxlY3QubW9kZWxcIjtcclxuZXhwb3J0IHtGb3JtU2VsZWN0U3ViamVjdH0gZnJvbSBcIi4vbmd4LWR5bmFtaWMtZm9ybS91dGlscy9mb3JtLXNlbGVjdC1zdWJqZWN0XCI7XHJcbmV4cG9ydCB7Rm9ybVN1YmplY3R9IGZyb20gXCIuL25neC1keW5hbWljLWZvcm0vdXRpbHMvZm9ybS1zdWJqZWN0XCI7XHJcblxyXG5leHBvcnQge0R5bmFtaWNGb3JtU2VydmljZX0gZnJvbSBcIi4vbmd4LWR5bmFtaWMtZm9ybS9zZXJ2aWNlcy9keW5hbWljLWZvcm0uc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IHtBc3luY1N1Ym1pdERpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LWR5bmFtaWMtZm9ybS9kaXJlY3RpdmVzL2FzeW5jLXN1Ym1pdC5kaXJlY3RpdmVcIjtcclxuXHJcbmV4cG9ydCB7RHluYW1pY0Jhc2VGb3JtQ29tcG9uZW50fSBmcm9tIFwiLi9uZ3gtZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvYmFzZS9keW5hbWljLWJhc2UtZm9ybS5jb21wb25lbnRcIjtcclxuZXhwb3J0IHtEeW5hbWljQmFzZUZvcm1BcnJheUNvbXBvbmVudH0gZnJvbSBcIi4vbmd4LWR5bmFtaWMtZm9ybS9jb21wb25lbnRzL2Jhc2UvZHluYW1pYy1iYXNlLWZvcm0tYXJyYXkuY29tcG9uZW50XCI7XHJcbmV4cG9ydCB7XHJcbiAgICBEeW5hbWljQmFzZUZvcm1Db250cm9sQ29tcG9uZW50XHJcbn0gZnJvbSBcIi4vbmd4LWR5bmFtaWMtZm9ybS9jb21wb25lbnRzL2Jhc2UvZHluYW1pYy1iYXNlLWZvcm0tY29udHJvbC5jb21wb25lbnRcIjtcclxuZXhwb3J0IHtcclxuICAgIER5bmFtaWNCYXNlRm9ybUNvbnRyb2xDb250YWluZXJDb21wb25lbnRcclxufSBmcm9tIFwiLi9uZ3gtZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvYmFzZS9keW5hbWljLWJhc2UtZm9ybS1jb250cm9sLWNvbnRhaW5lci5jb21wb25lbnRcIjtcclxuZXhwb3J0IHtEeW5hbWljQmFzZUZvcm1Hcm91cENvbXBvbmVudH0gZnJvbSBcIi4vbmd4LWR5bmFtaWMtZm9ybS9jb21wb25lbnRzL2Jhc2UvZHluYW1pYy1iYXNlLWZvcm0tZ3JvdXAuY29tcG9uZW50XCI7XHJcbmV4cG9ydCB7RHluYW1pY0Jhc2VTZWxlY3RDb21wb25lbnR9IGZyb20gXCIuL25neC1keW5hbWljLWZvcm0vY29tcG9uZW50cy9iYXNlL2R5bmFtaWMtYmFzZS1zZWxlY3QuY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQge05neER5bmFtaWNGb3JtTW9kdWxlfSBmcm9tIFwiLi9uZ3gtZHluYW1pYy1mb3JtL25neC1keW5hbWljLWZvcm0ubW9kdWxlXCI7XHJcblxyXG5leHBvcnQge1xyXG4gICAgRFlOQU1JQ19GT1JNX0NPTlRST0xfVFlQRV9BUlJBWSxcclxuICAgIERZTkFNSUNfRk9STV9DT05UUk9MX1RZUEVfQ0hFQ0tCT1gsXHJcbiAgICBEWU5BTUlDX0ZPUk1fQ09OVFJPTF9UWVBFX0NIRUNLQk9YX0dST1VQLFxyXG4gICAgRFlOQU1JQ19GT1JNX0NPTlRST0xfVFlQRV9GSUxFX1VQTE9BRCxcclxuICAgIERZTkFNSUNfRk9STV9DT05UUk9MX1RZUEVfR1JPVVAsXHJcbiAgICBEWU5BTUlDX0ZPUk1fQ09OVFJPTF9UWVBFX0lOUFVULFxyXG4gICAgRFlOQU1JQ19GT1JNX0NPTlRST0xfVFlQRV9SQURJT19HUk9VUCxcclxuICAgIERZTkFNSUNfRk9STV9DT05UUk9MX1RZUEVfU0VMRUNULFxyXG4gICAgRFlOQU1JQ19GT1JNX0NPTlRST0xfVFlQRV9URVhUQVJFQSxcclxuICAgIERZTkFNSUNfRk9STV9DT05UUk9MX1RZUEVfRURJVE9SLFxyXG4gICAgRHluYW1pY1RlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgRHluYW1pY0xpc3REaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljRm9ybU1vZGVsLFxyXG4gICAgRHluYW1pY0Zvcm1Db250cm9sTWFwRm4sXHJcbiAgICBEeW5hbWljRm9ybXNDb3JlTW9kdWxlLFxyXG4gICAgRHluYW1pY0NoZWNrYm94TW9kZWxDb25maWcsXHJcbiAgICBEeW5hbWljQ2hlY2tib3hNb2RlbCxcclxuICAgIER5bmFtaWNDaGVja2JveEdyb3VwTW9kZWwsXHJcbiAgICBEeW5hbWljRmlsZVVwbG9hZE1vZGVsQ29uZmlnLFxyXG4gICAgRHluYW1pY0ZpbGVVcGxvYWRNb2RlbCxcclxuICAgIER5bmFtaWNGb3JtR3JvdXBNb2RlbENvbmZpZyxcclxuICAgIER5bmFtaWNGb3JtR3JvdXBNb2RlbCxcclxuICAgIER5bmFtaWNJbnB1dE1vZGVsQ29uZmlnLFxyXG4gICAgRHluYW1pY0lucHV0TW9kZWwsXHJcbiAgICBEeW5hbWljUmFkaW9Hcm91cE1vZGVsQ29uZmlnLFxyXG4gICAgRHluYW1pY1JhZGlvR3JvdXBNb2RlbCxcclxuICAgIER5bmFtaWNUZXh0QXJlYU1vZGVsQ29uZmlnLFxyXG4gICAgRHluYW1pY1RleHRBcmVhTW9kZWwsXHJcbiAgICBEeW5hbWljRWRpdG9yTW9kZWxDb25maWcsXHJcbiAgICBEeW5hbWljRWRpdG9yTW9kZWxcclxufSBmcm9tIFwiQG5nLWR5bmFtaWMtZm9ybXMvY29yZVwiO1xyXG4iXX0=
|