@ng-formworks/core 16.3.0 → 17.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/framework-library/framework-library.service.mjs +174 -174
- package/esm2022/lib/framework-library/framework.mjs +14 -14
- package/esm2022/lib/framework-library/no-framework.component.mjs +17 -17
- package/esm2022/lib/framework-library/no-framework.module.mjs +26 -26
- package/esm2022/lib/framework-library/no.framework.mjs +18 -18
- package/esm2022/lib/json-schema-form.component.mjs +765 -765
- package/esm2022/lib/json-schema-form.module.mjs +25 -25
- package/esm2022/lib/json-schema-form.service.mjs +675 -675
- package/esm2022/lib/locale/de-validation-messages.mjs +59 -59
- package/esm2022/lib/locale/en-validation-messages.mjs +59 -59
- package/esm2022/lib/locale/es-validation-messages.mjs +56 -56
- package/esm2022/lib/locale/fr-validation-messages.mjs +59 -59
- package/esm2022/lib/locale/index.mjs +7 -7
- package/esm2022/lib/locale/it-validation-messages.mjs +59 -59
- package/esm2022/lib/locale/pt-validation-messages.mjs +59 -59
- package/esm2022/lib/locale/zh-validation-messages.mjs +59 -59
- package/esm2022/lib/shared/convert-schema-to-draft6.function.mjs +299 -299
- package/esm2022/lib/shared/form-group.functions.mjs +441 -441
- package/esm2022/lib/shared/format-regex.constants.mjs +53 -53
- package/esm2022/lib/shared/index.mjs +11 -11
- package/esm2022/lib/shared/json-schema.functions.mjs +783 -783
- package/esm2022/lib/shared/json.validators.mjs +883 -883
- package/esm2022/lib/shared/jsonpointer.functions.mjs +1025 -1025
- package/esm2022/lib/shared/layout.functions.mjs +1153 -1153
- package/esm2022/lib/shared/merge-schemas.function.mjs +344 -344
- package/esm2022/lib/shared/utility.functions.mjs +379 -379
- package/esm2022/lib/shared/validator.functions.mjs +583 -583
- package/esm2022/lib/widget-library/add-reference.component.mjs +48 -48
- package/esm2022/lib/widget-library/button.component.mjs +41 -41
- package/esm2022/lib/widget-library/checkbox.component.mjs +46 -46
- package/esm2022/lib/widget-library/checkboxes.component.mjs +52 -52
- package/esm2022/lib/widget-library/file.component.mjs +35 -35
- package/esm2022/lib/widget-library/hidden.component.mjs +33 -33
- package/esm2022/lib/widget-library/index.mjs +54 -54
- package/esm2022/lib/widget-library/input.component.mjs +38 -38
- package/esm2022/lib/widget-library/message.component.mjs +33 -33
- package/esm2022/lib/widget-library/none.component.mjs +20 -20
- package/esm2022/lib/widget-library/number.component.mjs +44 -44
- package/esm2022/lib/widget-library/one-of.component.mjs +35 -35
- package/esm2022/lib/widget-library/orderable.directive.mjs +123 -123
- package/esm2022/lib/widget-library/radios.component.mjs +44 -44
- package/esm2022/lib/widget-library/root.component.mjs +44 -44
- package/esm2022/lib/widget-library/section.component.mjs +78 -78
- package/esm2022/lib/widget-library/select-framework.component.mjs +51 -51
- package/esm2022/lib/widget-library/select-widget.component.mjs +46 -46
- package/esm2022/lib/widget-library/select.component.mjs +41 -41
- package/esm2022/lib/widget-library/submit.component.mjs +55 -55
- package/esm2022/lib/widget-library/tab.component.mjs +30 -30
- package/esm2022/lib/widget-library/tabs.component.mjs +53 -53
- package/esm2022/lib/widget-library/template.component.mjs +46 -46
- package/esm2022/lib/widget-library/textarea.component.mjs +37 -37
- package/esm2022/lib/widget-library/widget-library.module.mjs +41 -41
- package/esm2022/lib/widget-library/widget-library.service.mjs +225 -225
- package/esm2022/ng-formworks-core.mjs +4 -4
- package/esm2022/public_api.mjs +12 -12
- package/fesm2022/ng-formworks-core.mjs +9103 -9103
- package/fesm2022/ng-formworks-core.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/framework-library/framework-library.service.d.ts +55 -55
- package/lib/framework-library/framework.d.ts +13 -13
- package/lib/framework-library/no-framework.component.d.ts +8 -8
- package/lib/framework-library/no-framework.module.d.ts +9 -9
- package/lib/framework-library/no.framework.d.ts +10 -10
- package/lib/json-schema-form.component.d.ts +218 -218
- package/lib/json-schema-form.module.d.ts +11 -11
- package/lib/json-schema-form.service.d.ts +115 -115
- package/lib/locale/de-validation-messages.d.ts +1 -1
- package/lib/locale/en-validation-messages.d.ts +1 -1
- package/lib/locale/es-validation-messages.d.ts +1 -1
- package/lib/locale/fr-validation-messages.d.ts +1 -1
- package/lib/locale/index.d.ts +7 -7
- package/lib/locale/it-validation-messages.d.ts +1 -1
- package/lib/locale/pt-validation-messages.d.ts +1 -1
- package/lib/locale/zh-validation-messages.d.ts +1 -1
- package/lib/shared/convert-schema-to-draft6.function.d.ts +21 -21
- package/lib/shared/form-group.functions.d.ts +100 -100
- package/lib/shared/format-regex.constants.d.ts +19 -19
- package/lib/shared/index.d.ts +9 -9
- package/lib/shared/json-schema.functions.d.ts +193 -193
- package/lib/shared/json.validators.d.ts +441 -441
- package/lib/shared/jsonpointer.functions.d.ts +416 -416
- package/lib/shared/layout.functions.d.ts +83 -83
- package/lib/shared/merge-schemas.function.d.ts +19 -19
- package/lib/shared/utility.functions.d.ts +165 -165
- package/lib/shared/validator.functions.d.ts +364 -364
- package/lib/widget-library/add-reference.component.d.ts +20 -20
- package/lib/widget-library/button.component.d.ts +21 -21
- package/lib/widget-library/checkbox.component.d.ts +24 -24
- package/lib/widget-library/checkboxes.component.d.ts +24 -24
- package/lib/widget-library/file.component.d.ts +21 -21
- package/lib/widget-library/hidden.component.d.ts +19 -19
- package/lib/widget-library/index.d.ts +47 -47
- package/lib/widget-library/input.component.d.ts +22 -22
- package/lib/widget-library/message.component.d.ts +15 -15
- package/lib/widget-library/none.component.d.ts +8 -8
- package/lib/widget-library/number.component.d.ts +25 -25
- package/lib/widget-library/one-of.component.d.ts +21 -21
- package/lib/widget-library/orderable.directive.d.ts +41 -41
- package/lib/widget-library/radios.component.d.ts +23 -23
- package/lib/widget-library/root.component.d.ts +17 -17
- package/lib/widget-library/section.component.d.ts +19 -19
- package/lib/widget-library/select-framework.component.d.ts +18 -18
- package/lib/widget-library/select-widget.component.d.ts +18 -18
- package/lib/widget-library/select.component.d.ts +24 -24
- package/lib/widget-library/submit.component.d.ts +24 -24
- package/lib/widget-library/tab.component.d.ts +14 -14
- package/lib/widget-library/tabs.component.d.ts +20 -20
- package/lib/widget-library/template.component.d.ts +18 -18
- package/lib/widget-library/textarea.component.d.ts +21 -21
- package/lib/widget-library/widget-library.module.d.ts +31 -31
- package/lib/widget-library/widget-library.service.d.ts +22 -22
- package/package.json +5 -5
- package/public_api.d.ts +9 -9
|
@@ -1,226 +1,226 @@
|
|
|
1
|
-
import { AddReferenceComponent } from './add-reference.component';
|
|
2
|
-
import { ButtonComponent } from './button.component';
|
|
3
|
-
import { CheckboxComponent } from './checkbox.component';
|
|
4
|
-
import { CheckboxesComponent } from './checkboxes.component';
|
|
5
|
-
import { FileComponent } from './file.component';
|
|
6
|
-
import { hasOwn } from '../shared/utility.functions';
|
|
7
|
-
import { Injectable } from '@angular/core';
|
|
8
|
-
import { InputComponent } from './input.component';
|
|
9
|
-
import { MessageComponent } from './message.component';
|
|
10
|
-
import { NoneComponent } from './none.component';
|
|
11
|
-
import { NumberComponent } from './number.component';
|
|
12
|
-
import { OneOfComponent } from './one-of.component';
|
|
13
|
-
import { RadiosComponent } from './radios.component';
|
|
14
|
-
import { RootComponent } from './root.component';
|
|
15
|
-
import { SectionComponent } from './section.component';
|
|
16
|
-
import { SelectComponent } from './select.component';
|
|
17
|
-
import { SelectFrameworkComponent } from './select-framework.component';
|
|
18
|
-
import { SelectWidgetComponent } from './select-widget.component';
|
|
19
|
-
import { SubmitComponent } from './submit.component';
|
|
20
|
-
import { TabsComponent } from './tabs.component';
|
|
21
|
-
import { TemplateComponent } from './template.component';
|
|
22
|
-
import { TextareaComponent } from './textarea.component';
|
|
23
|
-
import * as i0 from "@angular/core";
|
|
24
|
-
export class WidgetLibraryService {
|
|
25
|
-
constructor() {
|
|
26
|
-
this.defaultWidget = 'text';
|
|
27
|
-
this.widgetLibrary = {
|
|
28
|
-
// Angular JSON Schema Form administrative widgets
|
|
29
|
-
'none': NoneComponent,
|
|
30
|
-
'root': RootComponent,
|
|
31
|
-
'select-framework': SelectFrameworkComponent,
|
|
32
|
-
'select-widget': SelectWidgetComponent,
|
|
33
|
-
'$ref': AddReferenceComponent,
|
|
34
|
-
// Free-form text HTML 'input' form control widgets <input type="...">
|
|
35
|
-
'email': 'text',
|
|
36
|
-
'integer': 'number',
|
|
37
|
-
'number': NumberComponent,
|
|
38
|
-
'password': 'text',
|
|
39
|
-
'search': 'text',
|
|
40
|
-
'tel': 'text',
|
|
41
|
-
'text': InputComponent,
|
|
42
|
-
'url': 'text',
|
|
43
|
-
// Controlled text HTML 'input' form control widgets <input type="...">
|
|
44
|
-
'color': 'text',
|
|
45
|
-
'date': 'text',
|
|
46
|
-
'datetime': 'text',
|
|
47
|
-
'datetime-local': 'text',
|
|
48
|
-
'month': 'text',
|
|
49
|
-
'range': 'number',
|
|
50
|
-
'time': 'text',
|
|
51
|
-
'week': 'text',
|
|
52
|
-
// Non-text HTML 'input' form control widgets <input type="...">
|
|
53
|
-
// 'button': <input type="button"> not used, use <button> instead
|
|
54
|
-
'checkbox': CheckboxComponent,
|
|
55
|
-
'file': FileComponent,
|
|
56
|
-
'hidden': 'text',
|
|
57
|
-
'image': 'text',
|
|
58
|
-
'radio': 'radios',
|
|
59
|
-
'reset': 'submit',
|
|
60
|
-
'submit': SubmitComponent,
|
|
61
|
-
// Other (non-'input') HTML form control widgets
|
|
62
|
-
'button': ButtonComponent,
|
|
63
|
-
'select': SelectComponent,
|
|
64
|
-
// 'option': automatically generated by select widgets
|
|
65
|
-
// 'optgroup': automatically generated by select widgets
|
|
66
|
-
'textarea': TextareaComponent,
|
|
67
|
-
// HTML form control widget sets
|
|
68
|
-
'checkboxes': CheckboxesComponent,
|
|
69
|
-
'checkboxes-inline': 'checkboxes',
|
|
70
|
-
'checkboxbuttons': 'checkboxes',
|
|
71
|
-
'radios': RadiosComponent,
|
|
72
|
-
'radios-inline': 'radios',
|
|
73
|
-
'radiobuttons': 'radios',
|
|
74
|
-
// HTML Layout widgets
|
|
75
|
-
// 'label': automatically added to data widgets
|
|
76
|
-
// 'legend': automatically added to fieldsets
|
|
77
|
-
'section': SectionComponent,
|
|
78
|
-
'div': 'section',
|
|
79
|
-
'fieldset': 'section',
|
|
80
|
-
'flex': 'section',
|
|
81
|
-
// Non-HTML layout widgets
|
|
82
|
-
'one-of': OneOfComponent,
|
|
83
|
-
// TODO: Finish 'one-of' widget
|
|
84
|
-
'array': 'section',
|
|
85
|
-
'tabarray': 'tabs',
|
|
86
|
-
'tab': 'section',
|
|
87
|
-
'tabs': TabsComponent,
|
|
88
|
-
'message': MessageComponent,
|
|
89
|
-
'help': 'message',
|
|
90
|
-
'msg': 'message',
|
|
91
|
-
'html': 'message',
|
|
92
|
-
'template': TemplateComponent,
|
|
93
|
-
// Widgets included for compatibility with JSON Form API
|
|
94
|
-
'advancedfieldset': 'section',
|
|
95
|
-
'authfieldset': 'section',
|
|
96
|
-
'optionfieldset': 'one-of',
|
|
97
|
-
'selectfieldset': 'one-of',
|
|
98
|
-
'conditional': 'section',
|
|
99
|
-
'actions': 'section',
|
|
100
|
-
'tagsinput': 'section',
|
|
101
|
-
// See: http://ulion.github.io/jsonform/playground/?example=fields-checkboxbuttons
|
|
102
|
-
// Widgets included for compatibility with React JSON Schema Form API
|
|
103
|
-
'updown': 'number',
|
|
104
|
-
'date-time': 'datetime-local',
|
|
105
|
-
'alt-datetime': 'datetime-local',
|
|
106
|
-
'alt-date': 'date',
|
|
107
|
-
// Widgets included for compatibility with Angular Schema Form API
|
|
108
|
-
'wizard': 'section',
|
|
109
|
-
// Widgets included for compatibility with other libraries
|
|
110
|
-
'textline': 'text',
|
|
111
|
-
// Recommended 3rd-party add-on widgets (TODO: create wrappers for these...)
|
|
112
|
-
// 'ng2-select': Select control replacement - http://valor-software.com/ng2-select/
|
|
113
|
-
// 'flatpickr': Flatpickr date picker - https://github.com/chmln/flatpickr
|
|
114
|
-
// 'pikaday': Pikaday date picker - https://github.com/dbushell/Pikaday
|
|
115
|
-
// 'spectrum': Spectrum color picker - http://bgrins.github.io/spectrum
|
|
116
|
-
// 'bootstrap-slider': Bootstrap Slider range control - https://github.com/seiyria/bootstrap-slider
|
|
117
|
-
// 'ace': ACE code editor - https://ace.c9.io
|
|
118
|
-
// 'ckeditor': CKEditor HTML / rich text editor - http://ckeditor.com
|
|
119
|
-
// 'tinymce': TinyMCE HTML / rich text editor - https://www.tinymce.com
|
|
120
|
-
// 'imageselect': Bootstrap drop-down image selector - http://silviomoreto.github.io/bootstrap-select
|
|
121
|
-
// 'wysihtml5': HTML editor - http://jhollingworth.github.io/bootstrap-wysihtml5
|
|
122
|
-
// 'quill': Quill HTML / rich text editor (?) - https://quilljs.com
|
|
123
|
-
};
|
|
124
|
-
this.registeredWidgets = {};
|
|
125
|
-
this.frameworkWidgets = {};
|
|
126
|
-
this.activeWidgets = {};
|
|
127
|
-
this.setActiveWidgets();
|
|
128
|
-
}
|
|
129
|
-
setActiveWidgets() {
|
|
130
|
-
this.activeWidgets = Object.assign({}, this.widgetLibrary, this.frameworkWidgets, this.registeredWidgets);
|
|
131
|
-
for (const widgetName of Object.keys(this.activeWidgets)) {
|
|
132
|
-
let widget = this.activeWidgets[widgetName];
|
|
133
|
-
// Resolve aliases
|
|
134
|
-
if (typeof widget === 'string') {
|
|
135
|
-
const usedAliases = [];
|
|
136
|
-
while (typeof widget === 'string' && !usedAliases.includes(widget)) {
|
|
137
|
-
usedAliases.push(widget);
|
|
138
|
-
widget = this.activeWidgets[widget];
|
|
139
|
-
}
|
|
140
|
-
if (typeof widget !== 'string') {
|
|
141
|
-
this.activeWidgets[widgetName] = widget;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return true;
|
|
146
|
-
}
|
|
147
|
-
setDefaultWidget(type) {
|
|
148
|
-
if (!this.hasWidget(type)) {
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
|
-
this.defaultWidget = type;
|
|
152
|
-
return true;
|
|
153
|
-
}
|
|
154
|
-
hasWidget(type, widgetSet = 'activeWidgets') {
|
|
155
|
-
if (!type || typeof type !== 'string') {
|
|
156
|
-
return false;
|
|
157
|
-
}
|
|
158
|
-
return hasOwn(this[widgetSet], type);
|
|
159
|
-
}
|
|
160
|
-
hasDefaultWidget(type) {
|
|
161
|
-
return this.hasWidget(type, 'widgetLibrary');
|
|
162
|
-
}
|
|
163
|
-
registerWidget(type, widget) {
|
|
164
|
-
if (!type || !widget || typeof type !== 'string') {
|
|
165
|
-
return false;
|
|
166
|
-
}
|
|
167
|
-
this.registeredWidgets[type] = widget;
|
|
168
|
-
return this.setActiveWidgets();
|
|
169
|
-
}
|
|
170
|
-
unRegisterWidget(type) {
|
|
171
|
-
if (!hasOwn(this.registeredWidgets, type)) {
|
|
172
|
-
return false;
|
|
173
|
-
}
|
|
174
|
-
delete this.registeredWidgets[type];
|
|
175
|
-
return this.setActiveWidgets();
|
|
176
|
-
}
|
|
177
|
-
unRegisterAllWidgets(unRegisterFrameworkWidgets = true) {
|
|
178
|
-
this.registeredWidgets = {};
|
|
179
|
-
if (unRegisterFrameworkWidgets) {
|
|
180
|
-
this.frameworkWidgets = {};
|
|
181
|
-
}
|
|
182
|
-
return this.setActiveWidgets();
|
|
183
|
-
}
|
|
184
|
-
registerFrameworkWidgets(widgets) {
|
|
185
|
-
if (widgets === null || typeof widgets !== 'object') {
|
|
186
|
-
widgets = {};
|
|
187
|
-
}
|
|
188
|
-
this.frameworkWidgets = widgets;
|
|
189
|
-
return this.setActiveWidgets();
|
|
190
|
-
}
|
|
191
|
-
unRegisterFrameworkWidgets() {
|
|
192
|
-
if (Object.keys(this.frameworkWidgets).length) {
|
|
193
|
-
this.frameworkWidgets = {};
|
|
194
|
-
return this.setActiveWidgets();
|
|
195
|
-
}
|
|
196
|
-
return false;
|
|
197
|
-
}
|
|
198
|
-
getWidget(type, widgetSet = 'activeWidgets') {
|
|
199
|
-
if (this.hasWidget(type, widgetSet)) {
|
|
200
|
-
return this[widgetSet][type];
|
|
201
|
-
}
|
|
202
|
-
else if (this.hasWidget(this.defaultWidget, widgetSet)) {
|
|
203
|
-
return this[widgetSet][this.defaultWidget];
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
return null;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
getAllWidgets() {
|
|
210
|
-
return {
|
|
211
|
-
widgetLibrary: this.widgetLibrary,
|
|
212
|
-
registeredWidgets: this.registeredWidgets,
|
|
213
|
-
frameworkWidgets: this.frameworkWidgets,
|
|
214
|
-
activeWidgets: this.activeWidgets,
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
218
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
219
|
-
}
|
|
220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
221
|
-
type: Injectable,
|
|
222
|
-
args: [{
|
|
223
|
-
providedIn: 'root',
|
|
224
|
-
}]
|
|
225
|
-
}], ctorParameters:
|
|
1
|
+
import { AddReferenceComponent } from './add-reference.component';
|
|
2
|
+
import { ButtonComponent } from './button.component';
|
|
3
|
+
import { CheckboxComponent } from './checkbox.component';
|
|
4
|
+
import { CheckboxesComponent } from './checkboxes.component';
|
|
5
|
+
import { FileComponent } from './file.component';
|
|
6
|
+
import { hasOwn } from '../shared/utility.functions';
|
|
7
|
+
import { Injectable } from '@angular/core';
|
|
8
|
+
import { InputComponent } from './input.component';
|
|
9
|
+
import { MessageComponent } from './message.component';
|
|
10
|
+
import { NoneComponent } from './none.component';
|
|
11
|
+
import { NumberComponent } from './number.component';
|
|
12
|
+
import { OneOfComponent } from './one-of.component';
|
|
13
|
+
import { RadiosComponent } from './radios.component';
|
|
14
|
+
import { RootComponent } from './root.component';
|
|
15
|
+
import { SectionComponent } from './section.component';
|
|
16
|
+
import { SelectComponent } from './select.component';
|
|
17
|
+
import { SelectFrameworkComponent } from './select-framework.component';
|
|
18
|
+
import { SelectWidgetComponent } from './select-widget.component';
|
|
19
|
+
import { SubmitComponent } from './submit.component';
|
|
20
|
+
import { TabsComponent } from './tabs.component';
|
|
21
|
+
import { TemplateComponent } from './template.component';
|
|
22
|
+
import { TextareaComponent } from './textarea.component';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
export class WidgetLibraryService {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.defaultWidget = 'text';
|
|
27
|
+
this.widgetLibrary = {
|
|
28
|
+
// Angular JSON Schema Form administrative widgets
|
|
29
|
+
'none': NoneComponent,
|
|
30
|
+
'root': RootComponent,
|
|
31
|
+
'select-framework': SelectFrameworkComponent,
|
|
32
|
+
'select-widget': SelectWidgetComponent,
|
|
33
|
+
'$ref': AddReferenceComponent,
|
|
34
|
+
// Free-form text HTML 'input' form control widgets <input type="...">
|
|
35
|
+
'email': 'text',
|
|
36
|
+
'integer': 'number',
|
|
37
|
+
'number': NumberComponent,
|
|
38
|
+
'password': 'text',
|
|
39
|
+
'search': 'text',
|
|
40
|
+
'tel': 'text',
|
|
41
|
+
'text': InputComponent,
|
|
42
|
+
'url': 'text',
|
|
43
|
+
// Controlled text HTML 'input' form control widgets <input type="...">
|
|
44
|
+
'color': 'text',
|
|
45
|
+
'date': 'text',
|
|
46
|
+
'datetime': 'text',
|
|
47
|
+
'datetime-local': 'text',
|
|
48
|
+
'month': 'text',
|
|
49
|
+
'range': 'number',
|
|
50
|
+
'time': 'text',
|
|
51
|
+
'week': 'text',
|
|
52
|
+
// Non-text HTML 'input' form control widgets <input type="...">
|
|
53
|
+
// 'button': <input type="button"> not used, use <button> instead
|
|
54
|
+
'checkbox': CheckboxComponent,
|
|
55
|
+
'file': FileComponent,
|
|
56
|
+
'hidden': 'text',
|
|
57
|
+
'image': 'text',
|
|
58
|
+
'radio': 'radios',
|
|
59
|
+
'reset': 'submit',
|
|
60
|
+
'submit': SubmitComponent,
|
|
61
|
+
// Other (non-'input') HTML form control widgets
|
|
62
|
+
'button': ButtonComponent,
|
|
63
|
+
'select': SelectComponent,
|
|
64
|
+
// 'option': automatically generated by select widgets
|
|
65
|
+
// 'optgroup': automatically generated by select widgets
|
|
66
|
+
'textarea': TextareaComponent,
|
|
67
|
+
// HTML form control widget sets
|
|
68
|
+
'checkboxes': CheckboxesComponent,
|
|
69
|
+
'checkboxes-inline': 'checkboxes',
|
|
70
|
+
'checkboxbuttons': 'checkboxes',
|
|
71
|
+
'radios': RadiosComponent,
|
|
72
|
+
'radios-inline': 'radios',
|
|
73
|
+
'radiobuttons': 'radios',
|
|
74
|
+
// HTML Layout widgets
|
|
75
|
+
// 'label': automatically added to data widgets
|
|
76
|
+
// 'legend': automatically added to fieldsets
|
|
77
|
+
'section': SectionComponent,
|
|
78
|
+
'div': 'section',
|
|
79
|
+
'fieldset': 'section',
|
|
80
|
+
'flex': 'section',
|
|
81
|
+
// Non-HTML layout widgets
|
|
82
|
+
'one-of': OneOfComponent,
|
|
83
|
+
// TODO: Finish 'one-of' widget
|
|
84
|
+
'array': 'section',
|
|
85
|
+
'tabarray': 'tabs',
|
|
86
|
+
'tab': 'section',
|
|
87
|
+
'tabs': TabsComponent,
|
|
88
|
+
'message': MessageComponent,
|
|
89
|
+
'help': 'message',
|
|
90
|
+
'msg': 'message',
|
|
91
|
+
'html': 'message',
|
|
92
|
+
'template': TemplateComponent,
|
|
93
|
+
// Widgets included for compatibility with JSON Form API
|
|
94
|
+
'advancedfieldset': 'section',
|
|
95
|
+
'authfieldset': 'section',
|
|
96
|
+
'optionfieldset': 'one-of',
|
|
97
|
+
'selectfieldset': 'one-of',
|
|
98
|
+
'conditional': 'section',
|
|
99
|
+
'actions': 'section',
|
|
100
|
+
'tagsinput': 'section',
|
|
101
|
+
// See: http://ulion.github.io/jsonform/playground/?example=fields-checkboxbuttons
|
|
102
|
+
// Widgets included for compatibility with React JSON Schema Form API
|
|
103
|
+
'updown': 'number',
|
|
104
|
+
'date-time': 'datetime-local',
|
|
105
|
+
'alt-datetime': 'datetime-local',
|
|
106
|
+
'alt-date': 'date',
|
|
107
|
+
// Widgets included for compatibility with Angular Schema Form API
|
|
108
|
+
'wizard': 'section',
|
|
109
|
+
// Widgets included for compatibility with other libraries
|
|
110
|
+
'textline': 'text',
|
|
111
|
+
// Recommended 3rd-party add-on widgets (TODO: create wrappers for these...)
|
|
112
|
+
// 'ng2-select': Select control replacement - http://valor-software.com/ng2-select/
|
|
113
|
+
// 'flatpickr': Flatpickr date picker - https://github.com/chmln/flatpickr
|
|
114
|
+
// 'pikaday': Pikaday date picker - https://github.com/dbushell/Pikaday
|
|
115
|
+
// 'spectrum': Spectrum color picker - http://bgrins.github.io/spectrum
|
|
116
|
+
// 'bootstrap-slider': Bootstrap Slider range control - https://github.com/seiyria/bootstrap-slider
|
|
117
|
+
// 'ace': ACE code editor - https://ace.c9.io
|
|
118
|
+
// 'ckeditor': CKEditor HTML / rich text editor - http://ckeditor.com
|
|
119
|
+
// 'tinymce': TinyMCE HTML / rich text editor - https://www.tinymce.com
|
|
120
|
+
// 'imageselect': Bootstrap drop-down image selector - http://silviomoreto.github.io/bootstrap-select
|
|
121
|
+
// 'wysihtml5': HTML editor - http://jhollingworth.github.io/bootstrap-wysihtml5
|
|
122
|
+
// 'quill': Quill HTML / rich text editor (?) - https://quilljs.com
|
|
123
|
+
};
|
|
124
|
+
this.registeredWidgets = {};
|
|
125
|
+
this.frameworkWidgets = {};
|
|
126
|
+
this.activeWidgets = {};
|
|
127
|
+
this.setActiveWidgets();
|
|
128
|
+
}
|
|
129
|
+
setActiveWidgets() {
|
|
130
|
+
this.activeWidgets = Object.assign({}, this.widgetLibrary, this.frameworkWidgets, this.registeredWidgets);
|
|
131
|
+
for (const widgetName of Object.keys(this.activeWidgets)) {
|
|
132
|
+
let widget = this.activeWidgets[widgetName];
|
|
133
|
+
// Resolve aliases
|
|
134
|
+
if (typeof widget === 'string') {
|
|
135
|
+
const usedAliases = [];
|
|
136
|
+
while (typeof widget === 'string' && !usedAliases.includes(widget)) {
|
|
137
|
+
usedAliases.push(widget);
|
|
138
|
+
widget = this.activeWidgets[widget];
|
|
139
|
+
}
|
|
140
|
+
if (typeof widget !== 'string') {
|
|
141
|
+
this.activeWidgets[widgetName] = widget;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
setDefaultWidget(type) {
|
|
148
|
+
if (!this.hasWidget(type)) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
this.defaultWidget = type;
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
hasWidget(type, widgetSet = 'activeWidgets') {
|
|
155
|
+
if (!type || typeof type !== 'string') {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
return hasOwn(this[widgetSet], type);
|
|
159
|
+
}
|
|
160
|
+
hasDefaultWidget(type) {
|
|
161
|
+
return this.hasWidget(type, 'widgetLibrary');
|
|
162
|
+
}
|
|
163
|
+
registerWidget(type, widget) {
|
|
164
|
+
if (!type || !widget || typeof type !== 'string') {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
this.registeredWidgets[type] = widget;
|
|
168
|
+
return this.setActiveWidgets();
|
|
169
|
+
}
|
|
170
|
+
unRegisterWidget(type) {
|
|
171
|
+
if (!hasOwn(this.registeredWidgets, type)) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
delete this.registeredWidgets[type];
|
|
175
|
+
return this.setActiveWidgets();
|
|
176
|
+
}
|
|
177
|
+
unRegisterAllWidgets(unRegisterFrameworkWidgets = true) {
|
|
178
|
+
this.registeredWidgets = {};
|
|
179
|
+
if (unRegisterFrameworkWidgets) {
|
|
180
|
+
this.frameworkWidgets = {};
|
|
181
|
+
}
|
|
182
|
+
return this.setActiveWidgets();
|
|
183
|
+
}
|
|
184
|
+
registerFrameworkWidgets(widgets) {
|
|
185
|
+
if (widgets === null || typeof widgets !== 'object') {
|
|
186
|
+
widgets = {};
|
|
187
|
+
}
|
|
188
|
+
this.frameworkWidgets = widgets;
|
|
189
|
+
return this.setActiveWidgets();
|
|
190
|
+
}
|
|
191
|
+
unRegisterFrameworkWidgets() {
|
|
192
|
+
if (Object.keys(this.frameworkWidgets).length) {
|
|
193
|
+
this.frameworkWidgets = {};
|
|
194
|
+
return this.setActiveWidgets();
|
|
195
|
+
}
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
getWidget(type, widgetSet = 'activeWidgets') {
|
|
199
|
+
if (this.hasWidget(type, widgetSet)) {
|
|
200
|
+
return this[widgetSet][type];
|
|
201
|
+
}
|
|
202
|
+
else if (this.hasWidget(this.defaultWidget, widgetSet)) {
|
|
203
|
+
return this[widgetSet][this.defaultWidget];
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
getAllWidgets() {
|
|
210
|
+
return {
|
|
211
|
+
widgetLibrary: this.widgetLibrary,
|
|
212
|
+
registeredWidgets: this.registeredWidgets,
|
|
213
|
+
frameworkWidgets: this.frameworkWidgets,
|
|
214
|
+
activeWidgets: this.activeWidgets,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetLibraryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
218
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetLibraryService, providedIn: 'root' }); }
|
|
219
|
+
}
|
|
220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetLibraryService, decorators: [{
|
|
221
|
+
type: Injectable,
|
|
222
|
+
args: [{
|
|
223
|
+
providedIn: 'root',
|
|
224
|
+
}]
|
|
225
|
+
}], ctorParameters: () => [] });
|
|
226
226
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWxpYnJhcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvd2lkZ2V0LWxpYnJhcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUt6RCxNQUFNLE9BQU8sb0JBQW9CO0lBcUgvQjtRQW5IQSxrQkFBYSxHQUFHLE1BQU0sQ0FBQztRQUN2QixrQkFBYSxHQUFRO1lBRXJCLGtEQUFrRDtZQUNoRCxNQUFNLEVBQUUsYUFBYTtZQUNyQixNQUFNLEVBQUUsYUFBYTtZQUNyQixrQkFBa0IsRUFBRSx3QkFBd0I7WUFDNUMsZUFBZSxFQUFFLHFCQUFxQjtZQUN0QyxNQUFNLEVBQUUscUJBQXFCO1lBRS9CLHNFQUFzRTtZQUNwRSxPQUFPLEVBQUUsTUFBTTtZQUNmLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLEtBQUssRUFBRSxNQUFNO1lBQ2IsTUFBTSxFQUFFLGNBQWM7WUFDdEIsS0FBSyxFQUFFLE1BQU07WUFFZix1RUFBdUU7WUFDckUsT0FBTyxFQUFFLE1BQU07WUFDZixNQUFNLEVBQUUsTUFBTTtZQUNkLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLGdCQUFnQixFQUFFLE1BQU07WUFDeEIsT0FBTyxFQUFFLE1BQU07WUFDZixPQUFPLEVBQUUsUUFBUTtZQUNqQixNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxNQUFNO1lBRWhCLGdFQUFnRTtZQUM5RCxpRUFBaUU7WUFDakUsVUFBVSxFQUFFLGlCQUFpQjtZQUM3QixNQUFNLEVBQUUsYUFBYTtZQUNyQixRQUFRLEVBQUUsTUFBTTtZQUNoQixPQUFPLEVBQUUsTUFBTTtZQUNmLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxlQUFlO1lBRTNCLGdEQUFnRDtZQUM5QyxRQUFRLEVBQUUsZUFBZTtZQUN6QixRQUFRLEVBQUUsZUFBZTtZQUN6QixzREFBc0Q7WUFDdEQsd0RBQXdEO1lBQ3hELFVBQVUsRUFBRSxpQkFBaUI7WUFFL0IsZ0NBQWdDO1lBQzlCLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsbUJBQW1CLEVBQUUsWUFBWTtZQUNqQyxpQkFBaUIsRUFBRSxZQUFZO1lBQy9CLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLGVBQWUsRUFBRSxRQUFRO1lBQ3pCLGNBQWMsRUFBRSxRQUFRO1lBRTFCLHNCQUFzQjtZQUNwQiwrQ0FBK0M7WUFDL0MsNkNBQTZDO1lBQzdDLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLFNBQVM7WUFDckIsTUFBTSxFQUFFLFNBQVM7WUFFbkIsMEJBQTBCO1lBQ3hCLFFBQVEsRUFBRSxjQUFjO1lBQ0UsK0JBQStCO1lBQ3pELE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsTUFBTSxFQUFFLFNBQVM7WUFDakIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFLFNBQVM7WUFDakIsVUFBVSxFQUFFLGlCQUFpQjtZQUUvQix3REFBd0Q7WUFDdEQsa0JBQWtCLEVBQUUsU0FBUztZQUM3QixjQUFjLEVBQUUsU0FBUztZQUN6QixnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLGdCQUFnQixFQUFFLFFBQVE7WUFDMUIsYUFBYSxFQUFFLFNBQVM7WUFDeEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsV0FBVyxFQUFFLFNBQVM7WUFDdEIsa0ZBQWtGO1lBRXBGLHFFQUFxRTtZQUNuRSxRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsZ0JBQWdCO1lBQzdCLGNBQWMsRUFBRSxnQkFBZ0I7WUFDaEMsVUFBVSxFQUFFLE1BQU07WUFFcEIsa0VBQWtFO1lBQ2hFLFFBQVEsRUFBRSxTQUFTO1lBRXJCLDBEQUEwRDtZQUN4RCxVQUFVLEVBQUUsTUFBTTtZQUVwQiw0RUFBNEU7WUFDMUUsbUZBQW1GO1lBQ25GLDBFQUEwRTtZQUMxRSx1RUFBdUU7WUFDdkUsdUVBQXVFO1lBQ3ZFLG1HQUFtRztZQUNuRyw2Q0FBNkM7WUFDN0MscUVBQXFFO1lBQ3JFLHVFQUF1RTtZQUN2RSxxR0FBcUc7WUFDckcsZ0ZBQWdGO1lBQ2hGLG1FQUFtRTtTQUNwRSxDQUFDO1FBQ0Ysc0JBQWlCLEdBQVEsRUFBRyxDQUFDO1FBQzdCLHFCQUFnQixHQUFRLEVBQUcsQ0FBQztRQUM1QixrQkFBYSxHQUFRLEVBQUcsQ0FBQztRQUd2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNoQyxFQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUN2RSxDQUFDO1FBQ0YsS0FBSyxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN4RCxJQUFJLE1BQU0sR0FBUSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pELGtCQUFrQjtZQUNsQixJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtnQkFDOUIsTUFBTSxXQUFXLEdBQWEsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ2xFLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3pCLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUNyQztnQkFDRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7aUJBQ3pDO2FBQ0Y7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVk7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztTQUFFO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsU0FBUyxHQUFHLGVBQWU7UUFDakQsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztTQUFFO1FBQ3hELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWSxFQUFFLE1BQVc7UUFDdEMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztTQUFFO1FBQ25FLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7UUFDNUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsMEJBQTBCLEdBQUcsSUFBSTtRQUNwRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRyxDQUFDO1FBQzdCLElBQUksMEJBQTBCLEVBQUU7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRyxDQUFDO1NBQUU7UUFDaEUsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsT0FBWTtRQUNuQyxJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQUUsT0FBTyxHQUFHLEVBQUcsQ0FBQztTQUFFO1FBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUcsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWEsRUFBRSxTQUFTLEdBQUcsZUFBZTtRQUNsRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDekMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQztJQUNKLENBQUM7K0dBOU1VLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGRSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuL2FkZC1yZWZlcmVuY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrYm94ZXNDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94ZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBoYXNPd24gfSBmcm9tICcuLi9zaGFyZWQvdXRpbGl0eS5mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vbmVDb21wb25lbnQgfSBmcm9tICcuL25vbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT25lT2ZDb21wb25lbnQgfSBmcm9tICcuL29uZS1vZi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSYWRpb3NDb21wb25lbnQgfSBmcm9tICcuL3JhZGlvcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb290Q29tcG9uZW50IH0gZnJvbSAnLi9yb290LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3NlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0RnJhbWV3b3JrQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtZnJhbWV3b3JrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LXdpZGdldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJtaXRDb21wb25lbnQgfSBmcm9tICcuL3N1Ym1pdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi90YWJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi90ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdGV4dGFyZWEuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaWRnZXRMaWJyYXJ5U2VydmljZSB7XHJcblxyXG4gIGRlZmF1bHRXaWRnZXQgPSAndGV4dCc7XHJcbiAgd2lkZ2V0TGlicmFyeTogYW55ID0ge1xyXG5cclxuICAvLyBBbmd1bGFyIEpTT04gU2NoZW1hIEZvcm0gYWRtaW5pc3RyYXRpdmUgd2lkZ2V0c1xyXG4gICAgJ25vbmUnOiBOb25lQ29tcG9uZW50LCAvLyBQbGFjZWhvbGRlciwgZm9yIGRldmVsb3BtZW50IC0gZGlzcGxheXMgbm90aGluZ1xyXG4gICAgJ3Jvb3QnOiBSb290Q29tcG9uZW50LCAvLyBGb3JtIHJvb3QsIHJlbmRlcnMgYSBjb21wbGV0ZSBsYXlvdXRcclxuICAgICdzZWxlY3QtZnJhbWV3b3JrJzogU2VsZWN0RnJhbWV3b3JrQ29tcG9uZW50LCAvLyBBcHBsaWVzIHRoZSBzZWxlY3RlZCBmcmFtZXdvcmsgdG8gYSBzcGVjaWZpZWQgd2lkZ2V0XHJcbiAgICAnc2VsZWN0LXdpZGdldCc6IFNlbGVjdFdpZGdldENvbXBvbmVudCwgLy8gRGlzcGxheXMgYSBzcGVjaWZpZWQgd2lkZ2V0XHJcbiAgICAnJHJlZic6IEFkZFJlZmVyZW5jZUNvbXBvbmVudCwgLy8gQnV0dG9uIHRvIGFkZCBhIG5ldyBhcnJheSBpdGVtIG9yICRyZWYgZWxlbWVudFxyXG5cclxuICAvLyBGcmVlLWZvcm0gdGV4dCBIVE1MICdpbnB1dCcgZm9ybSBjb250cm9sIHdpZGdldHMgPGlucHV0IHR5cGU9XCIuLi5cIj5cclxuICAgICdlbWFpbCc6ICd0ZXh0JyxcclxuICAgICdpbnRlZ2VyJzogJ251bWJlcicsIC8vIE5vdGU6ICdpbnRlZ2VyJyBpcyBub3QgYSByZWNvZ25pemVkIEhUTUwgaW5wdXQgdHlwZVxyXG4gICAgJ251bWJlcic6IE51bWJlckNvbXBvbmVudCxcclxuICAgICdwYXNzd29yZCc6ICd0ZXh0JyxcclxuICAgICdzZWFyY2gnOiAndGV4dCcsXHJcbiAgICAndGVsJzogJ3RleHQnLFxyXG4gICAgJ3RleHQnOiBJbnB1dENvbXBvbmVudCxcclxuICAgICd1cmwnOiAndGV4dCcsXHJcblxyXG4gIC8vIENvbnRyb2xsZWQgdGV4dCBIVE1MICdpbnB1dCcgZm9ybSBjb250cm9sIHdpZGdldHMgPGlucHV0IHR5cGU9XCIuLi5cIj5cclxuICAgICdjb2xvcic6ICd0ZXh0JyxcclxuICAgICdkYXRlJzogJ3RleHQnLFxyXG4gICAgJ2RhdGV0aW1lJzogJ3RleHQnLFxyXG4gICAgJ2RhdGV0aW1lLWxvY2FsJzogJ3RleHQnLFxyXG4gICAgJ21vbnRoJzogJ3RleHQnLFxyXG4gICAgJ3JhbmdlJzogJ251bWJlcicsXHJcbiAgICAndGltZSc6ICd0ZXh0JyxcclxuICAgICd3ZWVrJzogJ3RleHQnLFxyXG5cclxuICAvLyBOb24tdGV4dCBIVE1MICdpbnB1dCcgZm9ybSBjb250cm9sIHdpZGdldHMgPGlucHV0IHR5cGU9XCIuLi5cIj5cclxuICAgIC8vICdidXR0b24nOiA8aW5wdXQgdHlwZT1cImJ1dHRvblwiPiBub3QgdXNlZCwgdXNlIDxidXR0b24+IGluc3RlYWRcclxuICAgICdjaGVja2JveCc6IENoZWNrYm94Q29tcG9uZW50LCAvLyBUT0RPOiBTZXQgdGVybmFyeSA9IHRydWUgZm9yIDMtc3RhdGUgPz9cclxuICAgICdmaWxlJzogRmlsZUNvbXBvbmVudCwgLy8gVE9ETzogRmluaXNoICdmaWxlJyB3aWRnZXRcclxuICAgICdoaWRkZW4nOiAndGV4dCcsXHJcbiAgICAnaW1hZ2UnOiAndGV4dCcsIC8vIFRPRE86IEZpZ3VyZSBvdXQgaG93IHRvIGhhbmRsZSB0aGVzZVxyXG4gICAgJ3JhZGlvJzogJ3JhZGlvcycsXHJcbiAgICAncmVzZXQnOiAnc3VibWl0JywgLy8gVE9ETzogRmlndXJlIG91dCBob3cgdG8gaGFuZGxlIHRoZXNlXHJcbiAgICAnc3VibWl0JzogU3VibWl0Q29tcG9uZW50LFxyXG5cclxuICAvLyBPdGhlciAobm9uLSdpbnB1dCcpIEhUTUwgZm9ybSBjb250cm9sIHdpZGdldHNcclxuICAgICdidXR0b24nOiBCdXR0b25Db21wb25lbnQsXHJcbiAgICAnc2VsZWN0JzogU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgLy8gJ29wdGlvbic6IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHNlbGVjdCB3aWRnZXRzXHJcbiAgICAvLyAnb3B0Z3JvdXAnOiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBzZWxlY3Qgd2lkZ2V0c1xyXG4gICAgJ3RleHRhcmVhJzogVGV4dGFyZWFDb21wb25lbnQsXHJcblxyXG4gIC8vIEhUTUwgZm9ybSBjb250cm9sIHdpZGdldCBzZXRzXHJcbiAgICAnY2hlY2tib3hlcyc6IENoZWNrYm94ZXNDb21wb25lbnQsIC8vIEdyb3VwZWQgbGlzdCBvZiBjaGVja2JveGVzXHJcbiAgICAnY2hlY2tib3hlcy1pbmxpbmUnOiAnY2hlY2tib3hlcycsIC8vIENoZWNrYm94ZXMgaW4gb25lIGxpbmVcclxuICAgICdjaGVja2JveGJ1dHRvbnMnOiAnY2hlY2tib3hlcycsIC8vIENoZWNrYm94ZXMgYXMgaHRtbCBidXR0b25zXHJcbiAgICAncmFkaW9zJzogUmFkaW9zQ29tcG9uZW50LCAvLyBHcm91cGVkIGxpc3Qgb2YgcmFkaW8gYnV0dG9uc1xyXG4gICAgJ3JhZGlvcy1pbmxpbmUnOiAncmFkaW9zJywgLy8gUmFkaW8gY29udHJvbHMgaW4gb25lIGxpbmVcclxuICAgICdyYWRpb2J1dHRvbnMnOiAncmFkaW9zJywgLy8gUmFkaW8gY29udHJvbHMgYXMgaHRtbCBidXR0b25zXHJcblxyXG4gIC8vIEhUTUwgTGF5b3V0IHdpZGdldHNcclxuICAgIC8vICdsYWJlbCc6IGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gZGF0YSB3aWRnZXRzXHJcbiAgICAvLyAnbGVnZW5kJzogYXV0b21hdGljYWxseSBhZGRlZCB0byBmaWVsZHNldHNcclxuICAgICdzZWN0aW9uJzogU2VjdGlvbkNvbXBvbmVudCwgLy8gSnVzdCBhIGRpdiA8ZGl2PlxyXG4gICAgJ2Rpdic6ICdzZWN0aW9uJywgLy8gU3RpbGwganVzdCBhIGRpdiA8ZGl2PlxyXG4gICAgJ2ZpZWxkc2V0JzogJ3NlY3Rpb24nLCAvLyBBIGZpZWxkc2V0LCB3aXRoIGFuIG9wdGlvbmFsIGxlZ2VuZCA8ZmllbGRzZXQ+XHJcbiAgICAnZmxleCc6ICdzZWN0aW9uJywgLy8gQSBmbGV4Ym94IGNvbnRhaW5lciA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleFwiPlxyXG5cclxuICAvLyBOb24tSFRNTCBsYXlvdXQgd2lkZ2V0c1xyXG4gICAgJ29uZS1vZic6IE9uZU9mQ29tcG9uZW50LCAvLyBBIHNlbGVjdCBib3ggdGhhdCBjaGFuZ2VzIGFub3RoZXIgaW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogRmluaXNoICdvbmUtb2YnIHdpZGdldFxyXG4gICAgJ2FycmF5JzogJ3NlY3Rpb24nLCAvLyBBIGxpc3QgeW91IGNhbiBhZGQsIHJlbW92ZSBhbmQgcmVvcmRlciA8ZmllbGRzZXQ+XHJcbiAgICAndGFiYXJyYXknOiAndGFicycsIC8vIEEgdGFiYmVkIHZlcnNpb24gb2YgYXJyYXlcclxuICAgICd0YWInOiAnc2VjdGlvbicsIC8vIEEgdGFiIGdyb3VwLCBzaW1pbGFyIHRvIGEgZmllbGRzZXQgb3Igc2VjdGlvbiA8ZmllbGRzZXQ+XHJcbiAgICAndGFicyc6IFRhYnNDb21wb25lbnQsIC8vIEEgdGFiYmVkIHNldCBvZiBwYW5lbHMgd2l0aCBkaWZmZXJlbnQgY29udHJvbHNcclxuICAgICdtZXNzYWdlJzogTWVzc2FnZUNvbXBvbmVudCwgLy8gSW5zZXJ0IGFyYml0cmFyeSBodG1sXHJcbiAgICAnaGVscCc6ICdtZXNzYWdlJywgLy8gSW5zZXJ0IGFyYml0cmFyeSBodG1sXHJcbiAgICAnbXNnJzogJ21lc3NhZ2UnLCAvLyBJbnNlcnQgYXJiaXRyYXJ5IGh0bWxcclxuICAgICdodG1sJzogJ21lc3NhZ2UnLCAvLyBJbnNlcnQgYXJiaXRyYXJ5IGh0bWxcclxuICAgICd0ZW1wbGF0ZSc6IFRlbXBsYXRlQ29tcG9uZW50LCAvLyBJbnNlcnQgYSBjdXN0b20gQW5ndWxhciBjb21wb25lbnRcclxuXHJcbiAgLy8gV2lkZ2V0cyBpbmNsdWRlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIEpTT04gRm9ybSBBUElcclxuICAgICdhZHZhbmNlZGZpZWxkc2V0JzogJ3NlY3Rpb24nLCAvLyBBZGRzICdBZHZhbmNlZCBzZXR0aW5ncycgdGl0bGUgPGZpZWxkc2V0PlxyXG4gICAgJ2F1dGhmaWVsZHNldCc6ICdzZWN0aW9uJywgLy8gQWRkcyAnQXV0aGVudGljYXRpb24gc2V0dGluZ3MnIHRpdGxlIDxmaWVsZHNldD5cclxuICAgICdvcHRpb25maWVsZHNldCc6ICdvbmUtb2YnLCAvLyBPcHRpb24gY29udHJvbCwgZGlzcGxheXMgc2VsZWN0ZWQgc3ViLWl0ZW0gPGZpZWxkc2V0PlxyXG4gICAgJ3NlbGVjdGZpZWxkc2V0JzogJ29uZS1vZicsIC8vIFNlbGVjdCBjb250cm9sLCBkaXNwbGF5cyBzZWxlY3RlZCBzdWItaXRlbSA8ZmllbGRzZXQ+XHJcbiAgICAnY29uZGl0aW9uYWwnOiAnc2VjdGlvbicsIC8vIElkZW50aWNhbCB0byAnc2VjdGlvbicgKGRlcGVjaWF0ZWQpIDxkaXY+XHJcbiAgICAnYWN0aW9ucyc6ICdzZWN0aW9uJywgLy8gSG9yaXpvbnRhbCBidXR0b24gbGlzdCwgY2FuIG9ubHkgc3VibWl0LCB1c2VzIGJ1dHRvbnMgYXMgaXRlbXMgPGRpdj5cclxuICAgICd0YWdzaW5wdXQnOiAnc2VjdGlvbicsIC8vIEZvciBlbnRlcmluZyBzaG9ydCB0ZXh0IHRhZ3MgPGRpdj5cclxuICAgIC8vIFNlZTogaHR0cDovL3VsaW9uLmdpdGh1Yi5pby9qc29uZm9ybS9wbGF5Z3JvdW5kLz9leGFtcGxlPWZpZWxkcy1jaGVja2JveGJ1dHRvbnNcclxuXHJcbiAgLy8gV2lkZ2V0cyBpbmNsdWRlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFJlYWN0IEpTT04gU2NoZW1hIEZvcm0gQVBJXHJcbiAgICAndXBkb3duJzogJ251bWJlcicsXHJcbiAgICAnZGF0ZS10aW1lJzogJ2RhdGV0aW1lLWxvY2FsJyxcclxuICAgICdhbHQtZGF0ZXRpbWUnOiAnZGF0ZXRpbWUtbG9jYWwnLFxyXG4gICAgJ2FsdC1kYXRlJzogJ2RhdGUnLFxyXG5cclxuICAvLyBXaWRnZXRzIGluY2x1ZGVkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggQW5ndWxhciBTY2hlbWEgRm9ybSBBUElcclxuICAgICd3aXphcmQnOiAnc2VjdGlvbicsIC8vIFRPRE86IFNlcXVlbnRpYWwgcGFuZWxzIHdpdGggXCJOZXh0XCIgYW5kIFwiUHJldmlvdXNcIiBidXR0b25zXHJcblxyXG4gIC8vIFdpZGdldHMgaW5jbHVkZWQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvdGhlciBsaWJyYXJpZXNcclxuICAgICd0ZXh0bGluZSc6ICd0ZXh0JyxcclxuXHJcbiAgLy8gUmVjb21tZW5kZWQgM3JkLXBhcnR5IGFkZC1vbiB3aWRnZXRzIChUT0RPOiBjcmVhdGUgd3JhcHBlcnMgZm9yIHRoZXNlLi4uKVxyXG4gICAgLy8gJ25nMi1zZWxlY3QnOiBTZWxlY3QgY29udHJvbCByZXBsYWNlbWVudCAtIGh0dHA6Ly92YWxvci1zb2Z0d2FyZS5jb20vbmcyLXNlbGVjdC9cclxuICAgIC8vICdmbGF0cGlja3InOiBGbGF0cGlja3IgZGF0ZSBwaWNrZXIgLSBodHRwczovL2dpdGh1Yi5jb20vY2htbG4vZmxhdHBpY2tyXHJcbiAgICAvLyAncGlrYWRheSc6IFBpa2FkYXkgZGF0ZSBwaWNrZXIgLSBodHRwczovL2dpdGh1Yi5jb20vZGJ1c2hlbGwvUGlrYWRheVxyXG4gICAgLy8gJ3NwZWN0cnVtJzogU3BlY3RydW0gY29sb3IgcGlja2VyIC0gaHR0cDovL2Jncmlucy5naXRodWIuaW8vc3BlY3RydW1cclxuICAgIC8vICdib290c3RyYXAtc2xpZGVyJzogQm9vdHN0cmFwIFNsaWRlciByYW5nZSBjb250cm9sIC0gaHR0cHM6Ly9naXRodWIuY29tL3NlaXlyaWEvYm9vdHN0cmFwLXNsaWRlclxyXG4gICAgLy8gJ2FjZSc6IEFDRSBjb2RlIGVkaXRvciAtIGh0dHBzOi8vYWNlLmM5LmlvXHJcbiAgICAvLyAnY2tlZGl0b3InOiBDS0VkaXRvciBIVE1MIC8gcmljaCB0ZXh0IGVkaXRvciAtIGh0dHA6Ly9ja2VkaXRvci5jb21cclxuICAgIC8vICd0aW55bWNlJzogVGlueU1DRSBIVE1MIC8gcmljaCB0ZXh0IGVkaXRvciAtIGh0dHBzOi8vd3d3LnRpbnltY2UuY29tXHJcbiAgICAvLyAnaW1hZ2VzZWxlY3QnOiBCb290c3RyYXAgZHJvcC1kb3duIGltYWdlIHNlbGVjdG9yIC0gaHR0cDovL3NpbHZpb21vcmV0by5naXRodWIuaW8vYm9vdHN0cmFwLXNlbGVjdFxyXG4gICAgLy8gJ3d5c2lodG1sNSc6IEhUTUwgZWRpdG9yIC0gaHR0cDovL2pob2xsaW5nd29ydGguZ2l0aHViLmlvL2Jvb3RzdHJhcC13eXNpaHRtbDVcclxuICAgIC8vICdxdWlsbCc6IFF1aWxsIEhUTUwgLyByaWNoIHRleHQgZWRpdG9yICg/KSAtIGh0dHBzOi8vcXVpbGxqcy5jb21cclxuICB9O1xyXG4gIHJlZ2lzdGVyZWRXaWRnZXRzOiBhbnkgPSB7IH07XHJcbiAgZnJhbWV3b3JrV2lkZ2V0czogYW55ID0geyB9O1xyXG4gIGFjdGl2ZVdpZGdldHM6IGFueSA9IHsgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnNldEFjdGl2ZVdpZGdldHMoKTtcclxuICB9XHJcblxyXG4gIHNldEFjdGl2ZVdpZGdldHMoKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLmFjdGl2ZVdpZGdldHMgPSBPYmplY3QuYXNzaWduKFxyXG4gICAgICB7IH0sIHRoaXMud2lkZ2V0TGlicmFyeSwgdGhpcy5mcmFtZXdvcmtXaWRnZXRzLCB0aGlzLnJlZ2lzdGVyZWRXaWRnZXRzXHJcbiAgICApO1xyXG4gICAgZm9yIChjb25zdCB3aWRnZXROYW1lIG9mIE9iamVjdC5rZXlzKHRoaXMuYWN0aXZlV2lkZ2V0cykpIHtcclxuICAgICAgbGV0IHdpZGdldDogYW55ID0gdGhpcy5hY3RpdmVXaWRnZXRzW3dpZGdldE5hbWVdO1xyXG4gICAgICAvLyBSZXNvbHZlIGFsaWFzZXNcclxuICAgICAgaWYgKHR5cGVvZiB3aWRnZXQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3QgdXNlZEFsaWFzZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgd2hpbGUgKHR5cGVvZiB3aWRnZXQgPT09ICdzdHJpbmcnICYmICF1c2VkQWxpYXNlcy5pbmNsdWRlcyh3aWRnZXQpKSB7XHJcbiAgICAgICAgICB1c2VkQWxpYXNlcy5wdXNoKHdpZGdldCk7XHJcbiAgICAgICAgICB3aWRnZXQgPSB0aGlzLmFjdGl2ZVdpZGdldHNbd2lkZ2V0XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHR5cGVvZiB3aWRnZXQgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZVdpZGdldHNbd2lkZ2V0TmFtZV0gPSB3aWRnZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHNldERlZmF1bHRXaWRnZXQodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuaGFzV2lkZ2V0KHR5cGUpKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgdGhpcy5kZWZhdWx0V2lkZ2V0ID0gdHlwZTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaGFzV2lkZ2V0KHR5cGU6IHN0cmluZywgd2lkZ2V0U2V0ID0gJ2FjdGl2ZVdpZGdldHMnKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXR5cGUgfHwgdHlwZW9mIHR5cGUgIT09ICdzdHJpbmcnKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgcmV0dXJuIGhhc093bih0aGlzW3dpZGdldFNldF0sIHR5cGUpO1xyXG4gIH1cclxuXHJcbiAgaGFzRGVmYXVsdFdpZGdldCh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmhhc1dpZGdldCh0eXBlLCAnd2lkZ2V0TGlicmFyeScpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJXaWRnZXQodHlwZTogc3RyaW5nLCB3aWRnZXQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0eXBlIHx8ICF3aWRnZXQgfHwgdHlwZW9mIHR5cGUgIT09ICdzdHJpbmcnKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgdGhpcy5yZWdpc3RlcmVkV2lkZ2V0c1t0eXBlXSA9IHdpZGdldDtcclxuICAgIHJldHVybiB0aGlzLnNldEFjdGl2ZVdpZGdldHMoKTtcclxuICB9XHJcblxyXG4gIHVuUmVnaXN0ZXJXaWRnZXQodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWhhc093bih0aGlzLnJlZ2lzdGVyZWRXaWRnZXRzLCB0eXBlKSkgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgIGRlbGV0ZSB0aGlzLnJlZ2lzdGVyZWRXaWRnZXRzW3R5cGVdO1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0QWN0aXZlV2lkZ2V0cygpO1xyXG4gIH1cclxuXHJcbiAgdW5SZWdpc3RlckFsbFdpZGdldHModW5SZWdpc3RlckZyYW1ld29ya1dpZGdldHMgPSB0cnVlKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLnJlZ2lzdGVyZWRXaWRnZXRzID0geyB9O1xyXG4gICAgaWYgKHVuUmVnaXN0ZXJGcmFtZXdvcmtXaWRnZXRzKSB7IHRoaXMuZnJhbWV3b3JrV2lkZ2V0cyA9IHsgfTsgfVxyXG4gICAgcmV0dXJuIHRoaXMuc2V0QWN0aXZlV2lkZ2V0cygpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJGcmFtZXdvcmtXaWRnZXRzKHdpZGdldHM6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHdpZGdldHMgPT09IG51bGwgfHwgdHlwZW9mIHdpZGdldHMgIT09ICdvYmplY3QnKSB7IHdpZGdldHMgPSB7IH07IH1cclxuICAgIHRoaXMuZnJhbWV3b3JrV2lkZ2V0cyA9IHdpZGdldHM7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRBY3RpdmVXaWRnZXRzKCk7XHJcbiAgfVxyXG5cclxuICB1blJlZ2lzdGVyRnJhbWV3b3JrV2lkZ2V0cygpOiBib29sZWFuIHtcclxuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmZyYW1ld29ya1dpZGdldHMpLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmZyYW1ld29ya1dpZGdldHMgPSB7IH07XHJcbiAgICAgIHJldHVybiB0aGlzLnNldEFjdGl2ZVdpZGdldHMoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldFdpZGdldCh0eXBlPzogc3RyaW5nLCB3aWRnZXRTZXQgPSAnYWN0aXZlV2lkZ2V0cycpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMuaGFzV2lkZ2V0KHR5cGUsIHdpZGdldFNldCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXNbd2lkZ2V0U2V0XVt0eXBlXTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNXaWRnZXQodGhpcy5kZWZhdWx0V2lkZ2V0LCB3aWRnZXRTZXQpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzW3dpZGdldFNldF1bdGhpcy5kZWZhdWx0V2lkZ2V0XTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsV2lkZ2V0cygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgd2lkZ2V0TGlicmFyeTogdGhpcy53aWRnZXRMaWJyYXJ5LFxyXG4gICAgICByZWdpc3RlcmVkV2lkZ2V0czogdGhpcy5yZWdpc3RlcmVkV2lkZ2V0cyxcclxuICAgICAgZnJhbWV3b3JrV2lkZ2V0czogdGhpcy5mcmFtZXdvcmtXaWRnZXRzLFxyXG4gICAgICBhY3RpdmVXaWRnZXRzOiB0aGlzLmFjdGl2ZVdpZGdldHMsXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZm9ybXdvcmtzLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbmctZm9ybXdvcmtzLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
package/esm2022/public_api.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of json-schema-form
|
|
3
|
-
*/
|
|
4
|
-
export { JsonSchemaFormModule } from './lib/json-schema-form.module';
|
|
5
|
-
export { JsonSchemaFormService } from './lib/json-schema-form.service';
|
|
6
|
-
export { JsonSchemaFormComponent } from './lib/json-schema-form.component';
|
|
7
|
-
export { Framework } from './lib/framework-library/framework';
|
|
8
|
-
export { FrameworkLibraryService } from './lib/framework-library/framework-library.service';
|
|
9
|
-
export { deValidationMessages, enValidationMessages, esValidationMessages, frValidationMessages, itValidationMessages, ptValidationMessages, zhValidationMessages } from './lib/locale';
|
|
10
|
-
export * from './lib/widget-library';
|
|
11
|
-
export * from './lib/widget-library/widget-library.module';
|
|
12
|
-
export * from './lib/shared';
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of json-schema-form
|
|
3
|
+
*/
|
|
4
|
+
export { JsonSchemaFormModule } from './lib/json-schema-form.module';
|
|
5
|
+
export { JsonSchemaFormService } from './lib/json-schema-form.service';
|
|
6
|
+
export { JsonSchemaFormComponent } from './lib/json-schema-form.component';
|
|
7
|
+
export { Framework } from './lib/framework-library/framework';
|
|
8
|
+
export { FrameworkLibraryService } from './lib/framework-library/framework-library.service';
|
|
9
|
+
export { deValidationMessages, enValidationMessages, esValidationMessages, frValidationMessages, itValidationMessages, ptValidationMessages, zhValidationMessages } from './lib/locale';
|
|
10
|
+
export * from './lib/widget-library';
|
|
11
|
+
export * from './lib/widget-library/widget-library.module';
|
|
12
|
+
export * from './lib/shared';
|
|
13
13
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUErQixxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3JCLE1BQU0sY0FBYyxDQUFDO0FBQ3hCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBqc29uLXNjaGVtYS1mb3JtXHJcbiAqL1xyXG5cclxuZXhwb3J0IHsgSnNvblNjaGVtYUZvcm1Nb2R1bGUgfSBmcm9tICcuL2xpYi9qc29uLXNjaGVtYS1mb3JtLm1vZHVsZSc7XHJcbmV4cG9ydCB7IFRpdGxlTWFwSXRlbSwgRXJyb3JNZXNzYWdlcywgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9saWIvanNvbi1zY2hlbWEtZm9ybS5zZXJ2aWNlJztcclxuZXhwb3J0IHsgSnNvblNjaGVtYUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2xpYi9qc29uLXNjaGVtYS1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEZyYW1ld29yayB9IGZyb20gJy4vbGliL2ZyYW1ld29yay1saWJyYXJ5L2ZyYW1ld29yayc7XHJcbmV4cG9ydCB7IEZyYW1ld29ya0xpYnJhcnlTZXJ2aWNlIH0gZnJvbSAnLi9saWIvZnJhbWV3b3JrLWxpYnJhcnkvZnJhbWV3b3JrLWxpYnJhcnkuc2VydmljZSc7XHJcbmV4cG9ydCB7XHJcbiAgICBkZVZhbGlkYXRpb25NZXNzYWdlcyxcclxuICAgIGVuVmFsaWRhdGlvbk1lc3NhZ2VzLFxyXG4gICAgZXNWYWxpZGF0aW9uTWVzc2FnZXMsXHJcbiAgICBmclZhbGlkYXRpb25NZXNzYWdlcyxcclxuICAgIGl0VmFsaWRhdGlvbk1lc3NhZ2VzLFxyXG4gICAgcHRWYWxpZGF0aW9uTWVzc2FnZXMsXHJcbiAgICB6aFZhbGlkYXRpb25NZXNzYWdlc1xyXG4gIH0gZnJvbSAnLi9saWIvbG9jYWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvd2lkZ2V0LWxpYnJhcnknO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXQtbGlicmFyeS93aWRnZXQtbGlicmFyeS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQnO1xyXG4iXX0=
|