@gravitee/ui-particles-angular 12.11.4 → 12.12.0-conditional-json-schema-245b66c
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/gio-form-json-schema/gio-form-json-schema.component.mjs +8 -7
- package/esm2022/lib/gio-form-json-schema/gio-formly-json-schema.service.mjs +47 -5
- package/esm2022/lib/gio-form-json-schema/model/GioJsonSchema.mjs +1 -1
- package/esm2022/lib/gio-form-json-schema/model/GioJsonSchemaContext.mjs +2 -0
- package/esm2022/lib/gio-form-json-schema/type-component/code-editor-type.component.mjs +2 -12
- package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +1 -1
- package/fesm2022/gravitee-ui-particles-angular.mjs +54 -21
- package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
- package/lib/gio-form-json-schema/gio-form-json-schema.component.d.ts +4 -2
- package/lib/gio-form-json-schema/gio-formly-json-schema.service.d.ts +3 -1
- package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +5 -2
- package/lib/gio-form-json-schema/model/GioJsonSchemaContext.d.ts +1 -0
- package/lib/gio-form-json-schema/type-component/code-editor-type.component.d.ts +1 -3
- package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +3 -1
- package/package.json +1 -1
|
@@ -30,11 +30,6 @@ export class GioFormJsonSchemaComponent {
|
|
|
30
30
|
const properties = ['properties', 'oneOf', 'anyOf', 'allOf', '$ref', 'items'];
|
|
31
31
|
return isObject(jsonSchema) && properties.some(property => !isEmpty(jsonSchema[property]));
|
|
32
32
|
}
|
|
33
|
-
set jsonSchema(jsonSchema) {
|
|
34
|
-
if (isObject(jsonSchema)) {
|
|
35
|
-
this.fields = [this.gioFormlyJsonSchema.toFormlyFieldConfig(jsonSchema)];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
33
|
constructor(gioFormlyJsonSchema, elRef, fm, changeDetectorRef, ngControl) {
|
|
39
34
|
this.gioFormlyJsonSchema = gioFormlyJsonSchema;
|
|
40
35
|
this.elRef = elRef;
|
|
@@ -78,6 +73,9 @@ export class GioFormJsonSchemaComponent {
|
|
|
78
73
|
this.isReady = false;
|
|
79
74
|
this.ready.next(false);
|
|
80
75
|
}
|
|
76
|
+
if (changes.jsonSchema || changes.context) {
|
|
77
|
+
this.fields = [this.gioFormlyJsonSchema.toFormlyFieldConfig(this.jsonSchema, this.context)];
|
|
78
|
+
}
|
|
81
79
|
}
|
|
82
80
|
ngOnInit() {
|
|
83
81
|
// When the parent form is touched, mark all the sub formGroup as touched if not already touched
|
|
@@ -183,7 +181,7 @@ export class GioFormJsonSchemaComponent {
|
|
|
183
181
|
this.stateChanges$.next();
|
|
184
182
|
}
|
|
185
183
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormJsonSchemaComponent, deps: [{ token: i1.GioFormlyJsonSchemaService }, { token: i0.ElementRef }, { token: i2.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: i3.NgControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: { jsonSchema: "jsonSchema", options: "options" }, outputs: { ready: "ready" }, host: { properties: { "attr.gioFormFocusInvalidIgnore": "this.gioFormFocusInvalidIgnore" } }, usesOnChanges: true, ngImport: i0, template: `<formly-form *ngIf="formGroup" [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>`, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
184
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: { jsonSchema: "jsonSchema", context: "context", options: "options" }, outputs: { ready: "ready" }, host: { properties: { "attr.gioFormFocusInvalidIgnore": "this.gioFormFocusInvalidIgnore" } }, usesOnChanges: true, ngImport: i0, template: `<formly-form *ngIf="formGroup" [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>`, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
187
185
|
}
|
|
188
186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormJsonSchemaComponent, decorators: [{
|
|
189
187
|
type: Component,
|
|
@@ -196,10 +194,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
196
194
|
type: HostBinding,
|
|
197
195
|
args: [`attr.${GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR}`]
|
|
198
196
|
}], jsonSchema: [{
|
|
197
|
+
type: Input,
|
|
198
|
+
args: [{ required: true }]
|
|
199
|
+
}], context: [{
|
|
199
200
|
type: Input
|
|
200
201
|
}], options: [{
|
|
201
202
|
type: Input
|
|
202
203
|
}], ready: [{
|
|
203
204
|
type: Output
|
|
204
205
|
}] } });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tanNvbi1zY2hlbWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1qc29uLXNjaGVtYS9naW8tZm9ybS1qc29uLXNjaGVtYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGdCQUFnQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pILE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdyRCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQzs7Ozs7OztBQVd2SSxNQUFNLE9BQU8sMEJBQTBCO0lBQzlCLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBeUI7UUFDbkQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBVSxDQUFDO1FBRXZGLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJ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QU1DLEtBQUs7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFVudHlwZWRGb3JtR3JvdXAsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnLCBGb3JtbHlGb3JtT3B0aW9ucyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VtcHR5LCBpc0VxdWFsLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRlbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgdGFrZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBtZXJnZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5pbXBvcnQgeyBHSU9fRk9STV9GT0NVU19JTlZBTElEX0lHTk9SRV9TRUxFQ1RPUiB9IGZyb20gJy4uL2dpby1mb3JtLWZvY3VzLWZpcnN0LWludmFsaWQvZ2lvLWZvcm0tZm9jdXMtZmlyc3QtaW52YWxpZC1pZ25vcmUuZGlyZWN0aXZlJztcblxuaW1wb3J0IHsgR2lvSnNvblNjaGVtYSB9IGZyb20gJy4vbW9kZWwvR2lvSnNvblNjaGVtYSc7XG5pbXBvcnQgeyBHaW9Gb3JtbHlKc29uU2NoZW1hU2VydmljZSB9IGZyb20gJy4vZ2lvLWZvcm1seS1qc29uLXNjaGVtYS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLWZvcm0tanNvbi1zY2hlbWEnLFxuICB0ZW1wbGF0ZTogYDxmb3JtbHktZm9ybSAqbmdJZj1cImZvcm1Hcm91cFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiIFtmb3JtXT1cImZvcm1Hcm91cFwiIFttb2RlbF09XCJtb2RlbFwiPjwvZm9ybWx5LWZvcm0+YCxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLWZvcm0tanNvbi1zY2hlbWEuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdpb0Zvcm1Kc29uU2NoZW1hQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIGlzRGlzcGxheWFibGUoanNvblNjaGVtYTogR2lvSnNvblNjaGVtYSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBbJ3Byb3BlcnRpZXMnLCAnb25lT2YnLCAnYW55T2YnLCAnYWxsT2YnLCAnJHJlZicsICdpdGVtcyddIGFzIGNvbnN0O1xuXG4gICAgcmV0dXJuIGlzT2JqZWN0KGpzb25TY2hlbWEpICYmIHByb3BlcnRpZXMuc29tZShwcm9wZXJ0eSA9PiAhaXNFbXB0eShqc29uU2NoZW1hW3Byb3BlcnR5XSkpO1xuICB9XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASG9zdEJpbmRpbmcoYGF0dHIuJHtHSU9fRk9STV9GT0NVU19JTlZBTElEX0lHTk9SRV9TRUxFQ1RPUn1gKVxuICBwcml2YXRlIGdpb0Zvcm1Gb2N1c0ludmFsaWRJZ25vcmUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQganNvblNjaGVtYShqc29uU2NoZW1hOiBHaW9Kc29uU2NoZW1hKSB7XG4gICAgaWYgKGlzT2JqZWN0KGpzb25TY2hlbWEpKSB7XG4gICAgICB0aGlzLmZpZWxkcyA9IFt0aGlzLmdpb0Zvcm1seUpzb25TY2hlbWEudG9Gb3JtbHlGaWVsZENvbmZpZyhqc29uU2NoZW1hKV07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3B0aW9uczogRm9ybWx5Rm9ybU9wdGlvbnMgPSB7fTtcblxuICAvLyBXaGVuIHRydWUgdGhlIGZvcm0gaXMgcmVhZHkgYW5kIGNvbnRyb2wgc3RhdHVzIGFyZSB1cC10by1kYXRlXG4gIC8vIFVzZWZ1bCB0byBrbm93IHdoZW4gaW5pdGlhbCBjb250cm9sIHN0YXR1cyBjYW4gYmUgdXNlZFxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgaXNSZWFkeSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBtb2RlbDogdW5rbm93biA9IHt9O1xuXG4gIHB1YmxpYyBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10gPSBbXTtcblxuICBwdWJsaWMgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBfb25DaGFuZ2U6ICh2YWx1ZTogdW5rbm93biB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuXG4gIHB1YmxpYyBfb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcblxuICBwcml2YXRlIHRvdWNoZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGlzVmFsaWQkID0gbmV3IFJlcGxheVN1YmplY3QoMSk7IC8vIFdhaXQgSnNvblNjaGVtYSB0byBiZSBsb2FkZWQgdG8gY2hlY2sgaWYgaXQncyB2YWxpZFxuXG4gIHByaXZhdGUgc3RhdGVDaGFuZ2VzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBnaW9Gb3JtbHlKc29uU2NoZW1hOiBHaW9Gb3JtbHlKc29uU2NoZW1hU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm06IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIHB1YmxpYyByZWFkb25seSBuZ0NvbnRyb2w/OiBOZ0NvbnRyb2wsXG4gICkge1xuICAgIGlmIChuZ0NvbnRyb2wpIHtcbiAgICAgIC8vIFNldHRpbmcgdGhlIHZhbHVlIGFjY2Vzc29yIGRpcmVjdGx5IChpbnN0ZWFkIG9mIHVzaW5nXG4gICAgICAvLyB0aGUgcHJvdmlkZXJzIGBOR19WQUxVRV9BQ0NFU1NPUmApIHRvIGF2b2lkIHJ1bm5pbmcgaW50byBhIGNpcmN1bGFyIGltcG9ydC5cbiAgICAgIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICAvLyBXaGVuIHRoZSB1c2VyIGludGVyYWN0IHdpdGggdGhlIGZvcm0sIG1hcmsgaXQgYXMgdG91Y2hlZFxuICAgIGZtLm1vbml0b3IoZWxSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5qc29uU2NoZW1hKSB7XG4gICAgICB0aGlzLmlzUmVhZHkgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVhZHkubmV4dChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFdoZW4gdGhlIHBhcmVudCBmb3JtIGlzIHRvdWNoZWQsIG1hcmsgYWxsIHRoZSBzdWIgZm9ybUdyb3VwIGFzIHRvdWNoZWQgaWYgbm90IGFscmVhZHkgdG91Y2hlZFxuICAgIGNvbnN0IHBhcmVudENvbnRyb2wgPSB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8ucGFyZW50O1xuICAgIHBhcmVudENvbnRyb2w/LnN0YXR1c0NoYW5nZXNcbiAgICAgID8ucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHBhcmVudENvbnRyb2w/LnRvdWNoZWQpLFxuICAgICAgICBmaWx0ZXIodG91Y2hlZCA9PiB0b3VjaGVkID09PSB0cnVlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMkLm5leHQoKTtcbiAgICAgIH0pO1xuICAgIC8vIEFkZCBhc3luYyB2YWxpZGF0b3IgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5hZGRBc3luY1ZhbGlkYXRvcnMoKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCQucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKGlzVmFsaWQgPT4gKGlzVmFsaWQgPyBudWxsIDogeyBpbnZhbGlkOiB0cnVlIH0pKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBTeW5jIGNvbnRyb2wgdmFsdWUgd2l0aCBkZWZhdWx0IHZhbHVlICh3aXRob3V0IGVtaXQgZXZlbnQpIGFzIGxvbmcgYXMgdGhlIGNvbXBvbmVudCBpcyBub3QgcmVhZHlcbiAgICAvLyBXaGVuIGZvcm1seSBpcyBpbml0aWFsaXNlZCwgaXQgZW1pdHMgc2V2ZXJhbCB2YWx1ZXMgYXMgaXQgYnVpbGRzIHVwIHN0ZXAgYnkgc3RlcC5cbiAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChpc0VxdWFsKSxcbiAgICAgICAgdGFwKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8ucmVzZXQodmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnJlYWR5KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIC8vIEF2b2lkIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3Igb24gcHJvamVjdFxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gc3RhdGUgY2hhbmdlcyB0byBtYW5hZ2UgdG91Y2hlcywgc3RhdHVzIGFuZCB2YWx1ZVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzdGF0dXMsIHZhbHVlLCB0b3VjaGVkIH0gPSB0aGlzLmZvcm1Hcm91cDtcbiAgICAgICAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ1ZBTElEJykge1xuICAgICAgICAgICAgdGhpcy5pc1ZhbGlkJC5uZXh0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3RhdHVzID09PSAnSU5WQUxJRCcpIHtcbiAgICAgICAgICAgIHRoaXMuaXNWYWxpZCQubmV4dChmYWxzZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRvdWNoZWQgJiYgIXRoaXMudG91Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICAgICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLnRvdWNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgLy8gS2VlcCBhdCB0aGUgZW5kXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtcbiAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBZnRlciB0aGUgZmlyc3Qgc3RhdGUgY2hhbmdlLCB0aGUgZm9ybSBpcyByZWFkeVxuICAgICAgICBpZiAoIXRoaXMuaXNSZWFkeSkge1xuICAgICAgICAgIHRoaXMuaXNSZWFkeSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gR3JvdXAgYWxsIHZhbHVlQ2hhbmdlcyBldmVudHMgZW1pdCBieSBmb3JtbHkgaW4gYSBzaW5nbGUgb25lXG4gICAgbWVyZ2UodGhpcy5mb3JtR3JvdXAuc3RhdHVzQ2hhbmdlcywgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIEZvcmNlIGZpc3Qgc3RhdGVDaGFuZ2VzJFxuICAgICAgICBzdGFydFdpdGgoe30pLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcyQubmV4dCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5mbS5zdG9wTW9uaXRvcmluZyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMubW9kZWwgPSBjbG9uZURlZXAodmFsdWUpID8/IHt9O1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiB1bmtub3duIHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBGcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvclxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQgPT09IGlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpc0Rpc2FibGVkID8gdGhpcy5mb3JtR3JvdXAuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSkgOiB0aGlzLmZvcm1Hcm91cC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMkLm5leHQoKTtcbiAgICB9LCAwKTtcblxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzJC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tanNvbi1zY2hlbWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1qc29uLXNjaGVtYS9naW8tZm9ybS1qc29uLXNjaGVtYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGdCQUFnQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pILE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdyRCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQzs7Ozs7OztBQVl2SSxNQUFNLE9BQU8sMEJBQTBCO0lBQzlCLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBeUI7UUFDbkQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBVSxDQUFDO1FBRXZGLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJ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RUFBRSxJQUFJLEVBQUU7Z0JBSWxCLE9BQU87c0JBRGIsS0FBSztnQkFNQyxPQUFPO3NCQURiLEtBQUs7Z0JBTUMsS0FBSztzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1Hcm91cCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcsIEZvcm1seUZvcm1PcHRpb25zIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRW1wdHksIGlzRXF1YWwsIGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG1lcmdlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5cbmltcG9ydCB7IEdJT19GT1JNX0ZPQ1VTX0lOVkFMSURfSUdOT1JFX1NFTEVDVE9SIH0gZnJvbSAnLi4vZ2lvLWZvcm0tZm9jdXMtZmlyc3QtaW52YWxpZC9naW8tZm9ybS1mb2N1cy1maXJzdC1pbnZhbGlkLWlnbm9yZS5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBHaW9Kc29uU2NoZW1hIH0gZnJvbSAnLi9tb2RlbC9HaW9Kc29uU2NoZW1hJztcbmltcG9ydCB7IEdpb0Zvcm1seUpzb25TY2hlbWFTZXJ2aWNlIH0gZnJvbSAnLi9naW8tZm9ybWx5LWpzb24tc2NoZW1hLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2lvSnNvblNjaGVtYUNvbnRleHQgfSBmcm9tICcuL21vZGVsL0dpb0pzb25TY2hlbWFDb250ZXh0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLWZvcm0tanNvbi1zY2hlbWEnLFxuICB0ZW1wbGF0ZTogYDxmb3JtbHktZm9ybSAqbmdJZj1cImZvcm1Hcm91cFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiIFtmb3JtXT1cImZvcm1Hcm91cFwiIFttb2RlbF09XCJtb2RlbFwiPjwvZm9ybWx5LWZvcm0+YCxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLWZvcm0tanNvbi1zY2hlbWEuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdpb0Zvcm1Kc29uU2NoZW1hQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIGlzRGlzcGxheWFibGUoanNvblNjaGVtYTogR2lvSnNvblNjaGVtYSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBbJ3Byb3BlcnRpZXMnLCAnb25lT2YnLCAnYW55T2YnLCAnYWxsT2YnLCAnJHJlZicsICdpdGVtcyddIGFzIGNvbnN0O1xuXG4gICAgcmV0dXJuIGlzT2JqZWN0KGpzb25TY2hlbWEpICYmIHByb3BlcnRpZXMuc29tZShwcm9wZXJ0eSA9PiAhaXNFbXB0eShqc29uU2NoZW1hW3Byb3BlcnR5XSkpO1xuICB9XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASG9zdEJpbmRpbmcoYGF0dHIuJHtHSU9fRk9STV9GT0NVU19JTlZBTElEX0lHTk9SRV9TRUxFQ1RPUn1gKVxuICBwcml2YXRlIGdpb0Zvcm1Gb2N1c0ludmFsaWRJZ25vcmUgPSB0cnVlO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBqc29uU2NoZW1hITogR2lvSnNvblNjaGVtYTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29udGV4dD86IEdpb0pzb25TY2hlbWFDb250ZXh0O1xuXG4gIHB1YmxpYyBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG9wdGlvbnM6IEZvcm1seUZvcm1PcHRpb25zID0ge307XG5cbiAgLy8gV2hlbiB0cnVlIHRoZSBmb3JtIGlzIHJlYWR5IGFuZCBjb250cm9sIHN0YXR1cyBhcmUgdXAtdG8tZGF0ZVxuICAvLyBVc2VmdWwgdG8ga25vdyB3aGVuIGluaXRpYWwgY29udHJvbCBzdGF0dXMgY2FuIGJlIHVzZWRcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIGlzUmVhZHkgPSBmYWxzZTtcblxuICBwdWJsaWMgbW9kZWw6IHVua25vd24gPSB7fTtcblxuICBwdWJsaWMgZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdID0gW107XG5cbiAgcHVibGljIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgX29uQ2hhbmdlOiAodmFsdWU6IHVua25vd24gfCBudWxsKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcblxuICBwdWJsaWMgX29uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG5cbiAgcHJpdmF0ZSB0b3VjaGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkJCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpOyAvLyBXYWl0IEpzb25TY2hlbWEgdG8gYmUgbG9hZGVkIHRvIGNoZWNrIGlmIGl0J3MgdmFsaWRcblxuICBwcml2YXRlIHN0YXRlQ2hhbmdlcyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2lvRm9ybWx5SnNvblNjaGVtYTogR2lvRm9ybWx5SnNvblNjaGVtYVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZtOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBwdWJsaWMgcmVhZG9ubHkgbmdDb250cm9sPzogTmdDb250cm9sLFxuICApIHtcbiAgICBpZiAobmdDb250cm9sKSB7XG4gICAgICAvLyBTZXR0aW5nIHRoZSB2YWx1ZSBhY2Nlc3NvciBkaXJlY3RseSAoaW5zdGVhZCBvZiB1c2luZ1xuICAgICAgLy8gdGhlIHByb3ZpZGVycyBgTkdfVkFMVUVfQUNDRVNTT1JgKSB0byBhdm9pZCBydW5uaW5nIGludG8gYSBjaXJjdWxhciBpbXBvcnQuXG4gICAgICBuZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgLy8gV2hlbiB0aGUgdXNlciBpbnRlcmFjdCB3aXRoIHRoZSBmb3JtLCBtYXJrIGl0IGFzIHRvdWNoZWRcbiAgICBmbS5tb25pdG9yKGVsUmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuanNvblNjaGVtYSkge1xuICAgICAgdGhpcy5pc1JlYWR5ID0gZmFsc2U7XG4gICAgICB0aGlzLnJlYWR5Lm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmpzb25TY2hlbWEgfHwgY2hhbmdlcy5jb250ZXh0KSB7XG4gICAgICB0aGlzLmZpZWxkcyA9IFt0aGlzLmdpb0Zvcm1seUpzb25TY2hlbWEudG9Gb3JtbHlGaWVsZENvbmZpZyh0aGlzLmpzb25TY2hlbWEsIHRoaXMuY29udGV4dCldO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBXaGVuIHRoZSBwYXJlbnQgZm9ybSBpcyB0b3VjaGVkLCBtYXJrIGFsbCB0aGUgc3ViIGZvcm1Hcm91cCBhcyB0b3VjaGVkIGlmIG5vdCBhbHJlYWR5IHRvdWNoZWRcbiAgICBjb25zdCBwYXJlbnRDb250cm9sID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnBhcmVudDtcbiAgICBwYXJlbnRDb250cm9sPy5zdGF0dXNDaGFuZ2VzXG4gICAgICA/LnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiBwYXJlbnRDb250cm9sPy50b3VjaGVkKSxcbiAgICAgICAgZmlsdGVyKHRvdWNoZWQgPT4gdG91Y2hlZCA9PT0gdHJ1ZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzJC5uZXh0KCk7XG4gICAgICB9KTtcbiAgICAvLyBBZGQgYXN5bmMgdmFsaWRhdG9yIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uYWRkQXN5bmNWYWxpZGF0b3JzKCgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQkLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIG1hcChpc1ZhbGlkID0+IChpc1ZhbGlkID8gbnVsbCA6IHsgaW52YWxpZDogdHJ1ZSB9KSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8gU3luYyBjb250cm9sIHZhbHVlIHdpdGggZGVmYXVsdCB2YWx1ZSAod2l0aG91dCBlbWl0IGV2ZW50KSBhcyBsb25nIGFzIHRoZSBjb21wb25lbnQgaXMgbm90IHJlYWR5XG4gICAgLy8gV2hlbiBmb3JtbHkgaXMgaW5pdGlhbGlzZWQsIGl0IGVtaXRzIHNldmVyYWwgdmFsdWVzIGFzIGl0IGJ1aWxkcyB1cCBzdGVwIGJ5IHN0ZXAuXG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCksXG4gICAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnJlc2V0KHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5yZWFkeSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAvLyBBdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yIG9uIHByb2plY3RcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHN0YXRlIGNoYW5nZXMgdG8gbWFuYWdlIHRvdWNoZXMsIHN0YXR1cyBhbmQgdmFsdWVcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc3RhdHVzLCB2YWx1ZSwgdG91Y2hlZCB9ID0gdGhpcy5mb3JtR3JvdXA7XG4gICAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdWQUxJRCcpIHtcbiAgICAgICAgICAgIHRoaXMuaXNWYWxpZCQubmV4dCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ0lOVkFMSUQnKSB7XG4gICAgICAgICAgICB0aGlzLmlzVmFsaWQkLm5leHQoZmFsc2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0b3VjaGVkICYmICF0aGlzLnRvdWNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy50b3VjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZGVsYXkoMCksXG4gICAgICAgIC8vIEtlZXAgYXQgdGhlIGVuZFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7XG4gICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlIGZpcnN0IHN0YXRlIGNoYW5nZSwgdGhlIGZvcm0gaXMgcmVhZHlcbiAgICAgICAgaWYgKCF0aGlzLmlzUmVhZHkpIHtcbiAgICAgICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIEdyb3VwIGFsbCB2YWx1ZUNoYW5nZXMgZXZlbnRzIGVtaXQgYnkgZm9ybWx5IGluIGEgc2luZ2xlIG9uZVxuICAgIG1lcmdlKHRoaXMuZm9ybUdyb3VwLnN0YXR1c0NoYW5nZXMsIHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcylcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBGb3JjZSBmaXN0IHN0YXRlQ2hhbmdlcyRcbiAgICAgICAgc3RhcnRXaXRoKHt9KSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMkLm5leHQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZm0uc3RvcE1vbml0b3JpbmcodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsID0gY2xvbmVEZWVwKHZhbHVlKSA/PyB7fTtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogdW5rbm93biB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkID09PSBpc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaXNEaXNhYmxlZCA/IHRoaXMuZm9ybUdyb3VwLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pIDogdGhpcy5mb3JtR3JvdXAuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzJC5uZXh0KCk7XG4gICAgfSwgMCk7XG5cbiAgICB0aGlzLnN0YXRlQ2hhbmdlcyQubmV4dCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { Injectable } from '@angular/core';
|
|
17
|
-
import { isArray, isEmpty } from 'lodash';
|
|
17
|
+
import { castArray, get, isArray, isEmpty, isNil, isObject } from 'lodash';
|
|
18
18
|
import * as i0 from "@angular/core";
|
|
19
19
|
import * as i1 from "@ngx-formly/core/json-schema";
|
|
20
20
|
import * as i2 from "@ngx-formly/core";
|
|
@@ -23,9 +23,10 @@ export class GioFormlyJsonSchemaService {
|
|
|
23
23
|
this.formlyJsonschema = formlyJsonschema;
|
|
24
24
|
this.builder = builder;
|
|
25
25
|
}
|
|
26
|
-
toFormlyFieldConfig(jsonSchema) {
|
|
26
|
+
toFormlyFieldConfig(jsonSchema, context) {
|
|
27
27
|
return this.formlyJsonschema.toFieldConfig(jsonSchema, {
|
|
28
28
|
map: (mappedField, mapSource) => {
|
|
29
|
+
mappedField = this.displayOnlyIfMap(mappedField, mapSource, context);
|
|
29
30
|
mappedField = this.uiTypeMap(mappedField, mapSource);
|
|
30
31
|
mappedField = this.formatMap(mappedField, mapSource);
|
|
31
32
|
mappedField = this.bannerMap(mappedField, mapSource);
|
|
@@ -37,6 +38,37 @@ export class GioFormlyJsonSchemaService {
|
|
|
37
38
|
},
|
|
38
39
|
});
|
|
39
40
|
}
|
|
41
|
+
displayOnlyIfMap(mappedField, mapSource, context) {
|
|
42
|
+
const $eq = mapSource.gioConfig?.displayOnlyIf?.$eq;
|
|
43
|
+
if (!isNil($eq) && isObject($eq)) {
|
|
44
|
+
const isDisplay = (objectToCheck) => Object.entries($eq)
|
|
45
|
+
.map(([k, v]) => ({ path: k, eqValue: castArray(v) }))
|
|
46
|
+
.every(({ path, eqValue }) => {
|
|
47
|
+
const value = get(objectToCheck, path);
|
|
48
|
+
return eqValue.includes(value);
|
|
49
|
+
});
|
|
50
|
+
mappedField.expressions = {
|
|
51
|
+
...mappedField.expressions,
|
|
52
|
+
hide: field => {
|
|
53
|
+
let parentField = field;
|
|
54
|
+
while (parentField.parent) {
|
|
55
|
+
parentField = parentField.parent;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
return !isDisplay({
|
|
59
|
+
value: parentField.model,
|
|
60
|
+
context,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
// Ignore the error and display the field
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return mappedField;
|
|
71
|
+
}
|
|
40
72
|
uiTypeMap(mappedField, mapSource) {
|
|
41
73
|
if (mapSource.gioConfig?.uiType) {
|
|
42
74
|
// Clean the field to avoid conflict and init simple one with given type
|
|
@@ -101,12 +133,22 @@ export class GioFormlyJsonSchemaService {
|
|
|
101
133
|
return mappedField;
|
|
102
134
|
}
|
|
103
135
|
enumLabelMap(mappedField, mapSource) {
|
|
104
|
-
if (
|
|
136
|
+
if (!isArray(mappedField.props?.options)) {
|
|
137
|
+
return mappedField;
|
|
138
|
+
}
|
|
139
|
+
const enumLabelMapInObject = mapSource.enum && !isEmpty(mapSource.enum) && mapSource.gioConfig?.enumLabelMap ? mapSource.gioConfig?.enumLabelMap : null;
|
|
140
|
+
const enumLabelMapInArrayItem = mapSource.items &&
|
|
141
|
+
mapSource.type === 'array' &&
|
|
142
|
+
!isEmpty(mapSource.items.enum) &&
|
|
143
|
+
mapSource.items?.gioConfig?.enumLabelMap
|
|
144
|
+
? mapSource.items?.gioConfig?.enumLabelMap
|
|
145
|
+
: null;
|
|
146
|
+
if (enumLabelMapInObject || enumLabelMapInArrayItem) {
|
|
105
147
|
mappedField.props = {
|
|
106
148
|
...mappedField.props,
|
|
107
149
|
options: mappedField.props?.options?.map(({ value }) => {
|
|
108
150
|
return {
|
|
109
|
-
label:
|
|
151
|
+
label: (enumLabelMapInObject || enumLabelMapInArrayItem)?.[value] ?? value,
|
|
110
152
|
value: value,
|
|
111
153
|
};
|
|
112
154
|
}),
|
|
@@ -132,4 +174,4 @@ const getBannerProperties = (banner) => {
|
|
|
132
174
|
bannerTitle: 'title' in banner ? banner.title : undefined,
|
|
133
175
|
};
|
|
134
176
|
};
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm1seS1qc29uLXNjaGVtYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1qc29uLXNjaGVtYS9naW8tZm9ybWx5LWpzb24tc2NoZW1hLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7O0FBSzFDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFDbUIsZ0JBQWtDLEVBQ2xDLE9BQTBCO1FBRDFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFDMUMsQ0FBQztJQUVHLG1CQUFtQixDQUFDLFVBQXlCO1FBQ2xELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUU7WUFDckQsR0FBRyxFQUFFLENBQUMsV0FBOEIsRUFBRSxTQUFzQixFQUFFLEVBQUU7Z0JBQzlELFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDckQsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNyRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3JELFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDckQsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN2RCxX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OzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOztBQXFIWCxNQUFNLG1CQUFtQixHQUFHLENBQUMsTUFBMEQsRUFBRSxFQUFFO0lBQ3pGLE9BQU87UUFDTCxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7UUFDdkIsV0FBVyxFQUFFLE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7S0FDMUQsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5Rm9ybUJ1aWxkZXIgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1seUpzb25zY2hlbWEgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlL2pzb24tc2NoZW1hJztcbmltcG9ydCB7IEpTT05TY2hlbWE3IH0gZnJvbSAnanNvbi1zY2hlbWEnO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEdpb0pzb25TY2hlbWEgfSBmcm9tICcuL21vZGVsL0dpb0pzb25TY2hlbWEnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR2lvRm9ybWx5SnNvblNjaGVtYVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1seUpzb25zY2hlbWE6IEZvcm1seUpzb25zY2hlbWEsXG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZGVyOiBGb3JtbHlGb3JtQnVpbGRlcixcbiAgKSB7fVxuXG4gIHB1YmxpYyB0b0Zvcm1seUZpZWxkQ29uZmlnKGpzb25TY2hlbWE6IEdpb0pzb25TY2hlbWEpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWx5SnNvbnNjaGVtYS50b0ZpZWxkQ29uZmlnKGpzb25TY2hlbWEsIHtcbiAgICAgIG1hcDogKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNykgPT4ge1xuICAgICAgICBtYXBwZWRGaWVsZCA9IHRoaXMudWlUeXBlTWFwKG1hcHBlZEZpZWxkLCBtYXBTb3VyY2UpO1xuICAgICAgICBtYXBwZWRGaWVsZCA9IHRoaXMuZm9ybWF0TWFwKG1hcHBlZEZpZWxkLCBtYXBTb3VyY2UpO1xuICAgICAgICBtYXBwZWRGaWVsZCA9IHRoaXMuYmFubmVyTWFwKG1hcHBlZEZpZWxkLCBtYXBTb3VyY2UpO1xuICAgICAgICBtYXBwZWRGaWVsZCA9IHRoaXMudG9nZ2xlTWFwKG1hcHBlZEZpZWxkLCBtYXBTb3VyY2UpO1xuICAgICAgICBtYXBwZWRGaWVsZCA9IHRoaXMuZGlzYWJsZWRNYXAobWFwcGVkRmllbGQsIG1hcFNvdXJjZSk7XG4gICAgICAgIG1hcHBlZEZpZWxkID0gdGhpcy5lbnVtTGFiZWxNYXAobWFwcGVkRmllbGQsIG1hcFNvdXJjZSk7XG4gICAgICAgIG1hcHBlZEZpZWxkID0gdGhpcy5kZXByZWNhdGVkTWFwKG1hcHBlZEZpZWxkLCBtYXBTb3VyY2UpO1xuXG4gICAgICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVpVHlwZU1hcChtYXBwZWRGaWVsZDogRm9ybWx5RmllbGRDb25maWcsIG1hcFNvdXJjZTogSlNPTlNjaGVtYTcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gICAgaWYgKG1hcFNvdXJjZS5naW9Db25maWc/LnVpVHlwZSkge1xuICAgICAgLy8gQ2xlYW4gdGhlIGZpZWxkIHRvIGF2b2lkIGNvbmZsaWN0IGFuZCBpbml0IHNpbXBsZSBvbmUgd2l0aCBnaXZlbiB0eXBlXG4gICAgICBtYXBwZWRGaWVsZCA9IHtcbiAgICAgICAga2V5OiBtYXBwZWRGaWVsZC5rZXksXG4gICAgICAgIHR5cGU6IG1hcFNvdXJjZS5naW9Db25maWc/LnVpVHlwZSxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAuLi5tYXBwZWRGaWVsZC5wcm9wcyxcbiAgICAgICAgICAuLi5tYXBTb3VyY2UuZ2lvQ29uZmlnPy51aVR5cGVQcm9wcyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRNYXAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBtYXBTb3VyY2U6IEpTT05TY2hlbWE3KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGlmIChtYXBTb3VyY2UudHlwZSA9PT0gJ3N0cmluZycgJiYgbWFwU291cmNlLmZvcm1hdCA9PT0gJ3RleHQnKSB7XG4gICAgICBtYXBwZWRGaWVsZC50eXBlID0gJ3RleHRhcmVhJztcbiAgICAgIG1hcHBlZEZpZWxkLnByb3BzID0ge1xuICAgICAgICAuLi5tYXBwZWRGaWVsZC5wcm9wcyxcbiAgICAgICAgYXV0b3NpemU6IHRydWUsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAobWFwU291cmNlLnR5cGUgPT09ICdzdHJpbmcnICYmIG1hcFNvdXJjZS5mb3JtYXQgPT09ICdwYXNzd29yZCcpIHtcbiAgICAgIG1hcHBlZEZpZWxkLnByb3BzID0ge1xuICAgICAgICAuLi5tYXBwZWRGaWVsZC5wcm9wcyxcbiAgICAgICAgdHlwZTogJ3Bhc3N3b3JkJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChtYXBTb3VyY2UudHlwZSA9PT0gJ3N0cmluZycgJiYgbWFwU291cmNlLmZvcm1hdCA9PT0gJ2dpby1jb2RlLWVkaXRvcicpIHtcbiAgICAgIG1hcHBlZEZpZWxkLnR5cGUgPSAnZ2lvLWNvZGUtZWRpdG9yJztcbiAgICAgIG1hcHBlZEZpZWxkLnByb3BzID0ge1xuICAgICAgICAuLi5tYXBwZWRGaWVsZC5wcm9wcyxcbiAgICAgICAgbW9uYWNvRWRpdG9yQ29uZmlnOiBtYXBTb3VyY2UuZ2lvQ29uZmlnPy5tb25hY29FZGl0b3JDb25maWcsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAobWFwU291cmNlLnR5cGUgPT09ICdzdHJpbmcnICYmIG1hcFNvdXJjZS5mb3JtYXQgPT09ICdnaW8tY3JvbicpIHtcbiAgICAgIG1hcHBlZEZpZWxkLnR5cGUgPSAnZ2lvLWNyb24nO1xuICAgICAgbWFwcGVkRmllbGQucHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcHBlZEZpZWxkLnByb3BzLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGVkRmllbGQ7XG4gIH1cblxuICBwcml2YXRlIGJhbm5lck1hcChtYXBwZWRGaWVsZDogRm9ybWx5RmllbGRDb25maWcsIG1hcFNvdXJjZTogSlNPTlNjaGVtYTcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gICAgbWFwcGVkRmllbGQucHJvcHMgPSB7XG4gICAgICAuLi5tYXBwZWRGaWVsZC5wcm9wcyxcbiAgICAgIC4uLihtYXBTb3VyY2UuZ2lvQ29uZmlnPy5iYW5uZXIgPyBnZXRCYW5uZXJQcm9wZXJ0aWVzKG1hcFNvdXJjZS5naW9Db25maWcuYmFubmVyKSA6IHt9KSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVNYXAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBtYXBTb3VyY2U6IEpTT05TY2hlbWE3KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGlmIChtYXBTb3VyY2UudHlwZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICBtYXBwZWRGaWVsZC50eXBlID0gJ3RvZ2dsZSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlZE1hcChtYXBwZWRGaWVsZDogRm9ybWx5RmllbGRDb25maWcsIF9tYXBTb3VyY2U6IEpTT05TY2hlbWE3KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIG1hcHBlZEZpZWxkLmV4cHJlc3Npb25zID0ge1xuICAgICAgLi4ubWFwcGVkRmllbGQuZXhwcmVzc2lvbnMsXG4gICAgICAncHJvcHMuZGlzYWJsZWQnOiBmaWVsZCA9PiBmaWVsZC5vcHRpb25zPy5mb3JtU3RhdGUuZGlzYWJsZWQgPT09IHRydWUgfHwgZmllbGQucHJvcHM/LmRpc2FibGVkID09PSB0cnVlLFxuICAgIH07XG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnVtTGFiZWxNYXAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBtYXBTb3VyY2U6IEpTT05TY2hlbWE3KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGlmIChtYXBTb3VyY2UuZW51bSAmJiAhaXNFbXB0eShtYXBTb3VyY2UuZW51bSkgJiYgbWFwU291cmNlLmdpb0NvbmZpZz8uZW51bUxhYmVsTWFwICYmIGlzQXJyYXkobWFwcGVkRmllbGQucHJvcHM/Lm9wdGlvbnMpKSB7XG4gICAgICBtYXBwZWRGaWVsZC5wcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICAgIG9wdGlvbnM6IG1hcHBlZEZpZWxkLnByb3BzPy5vcHRpb25zPy5tYXAoKHsgdmFsdWUgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsYWJlbDogdmFsdWUgPyBtYXBTb3VyY2UuZ2lvQ29uZmlnPy5lbnVtTGFiZWxNYXA/Llt2YWx1ZV0gOiB2YWx1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXByZWNhdGVkTWFwKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBpZiAobWFwU291cmNlLmRlcHJlY2F0ZWQpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGVkRmllbGQ7XG4gIH1cbn1cblxuY29uc3QgZ2V0QmFubmVyUHJvcGVydGllcyA9IChiYW5uZXI6IHsgdGl0bGU6IHN0cmluZzsgdGV4dDogc3RyaW5nIH0gfCB7IHRleHQ6IHN0cmluZyB9KSA9PiB7XG4gIHJldHVybiB7XG4gICAgYmFubmVyVGV4dDogYmFubmVyLnRleHQsXG4gICAgYmFubmVyVGl0bGU6ICd0aXRsZScgaW4gYmFubmVyID8gYmFubmVyLnRpdGxlIDogdW5kZWZpbmVkLFxuICB9O1xufTtcbiJdfQ==
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm1seS1qc29uLXNjaGVtYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1qc29uLXNjaGVtYS9naW8tZm9ybWx5LWpzb24tc2NoZW1hLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQU0zRSxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQ21CLGdCQUFrQyxFQUNsQyxPQUEwQjtRQUQxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQzFDLENBQUM7SUFFRyxtQkFBbUIsQ0FBQyxVQUF5QixFQUFFLE9BQThCO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUU7WUFDckQsR0FBRyxFQUFFLENBQUMsV0FBOEIsRUFBRSxTQUFzQixFQUFFLEVBQUU7Z0JBQzlELFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDckUsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNyRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3JELFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDckQs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IHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5Rm9ybUJ1aWxkZXIgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1seUpzb25zY2hlbWEgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlL2pzb24tc2NoZW1hJztcbmltcG9ydCB7IEpTT05TY2hlbWE3IH0gZnJvbSAnanNvbi1zY2hlbWEnO1xuaW1wb3J0IHsgY2FzdEFycmF5LCBnZXQsIGlzQXJyYXksIGlzRW1wdHksIGlzTmlsLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEdpb0pzb25TY2hlbWEgfSBmcm9tICcuL21vZGVsL0dpb0pzb25TY2hlbWEnO1xuaW1wb3J0IHsgR2lvSnNvblNjaGVtYUNvbnRleHQgfSBmcm9tICcuL21vZGVsL0dpb0pzb25TY2hlbWFDb250ZXh0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdpb0Zvcm1seUpzb25TY2hlbWFTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtbHlKc29uc2NoZW1hOiBGb3JtbHlKc29uc2NoZW1hLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnVpbGRlcjogRm9ybWx5Rm9ybUJ1aWxkZXIsXG4gICkge31cblxuICBwdWJsaWMgdG9Gb3JtbHlGaWVsZENvbmZpZyhqc29uU2NoZW1hOiBHaW9Kc29uU2NoZW1hLCBjb250ZXh0PzogR2lvSnNvblNjaGVtYUNvbnRleHQpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWx5SnNvbnNjaGVtYS50b0ZpZWxkQ29uZmlnKGpzb25TY2hlbWEsIHtcbiAgICAgIG1hcDogKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNykgPT4ge1xuICAgICAgICBtYXBwZWRGaWVsZCA9IHRoaXMuZGlzcGxheU9ubHlJZk1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlLCBjb250ZXh0KTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLnVpVHlwZU1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLmZvcm1hdE1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLmJhbm5lck1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLnRvZ2dsZU1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLmRpc2FibGVkTWFwKG1hcHBlZEZpZWxkLCBtYXBTb3VyY2UpO1xuICAgICAgICBtYXBwZWRGaWVsZCA9IHRoaXMuZW51bUxhYmVsTWFwKG1hcHBlZEZpZWxkLCBtYXBTb3VyY2UpO1xuICAgICAgICBtYXBwZWRGaWVsZCA9IHRoaXMuZGVwcmVjYXRlZE1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcblxuICAgICAgICByZXR1cm4gbWFwcGVkRmllbGQ7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5T25seUlmTWFwKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNywgY29udGV4dD86IEdpb0pzb25TY2hlbWFDb250ZXh0KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGNvbnN0ICRlcSA9IG1hcFNvdXJjZS5naW9Db25maWc/LmRpc3BsYXlPbmx5SWY/LiRlcTtcbiAgICBpZiAoIWlzTmlsKCRlcSkgJiYgaXNPYmplY3QoJGVxKSkge1xuICAgICAgY29uc3QgaXNEaXNwbGF5ID0gKG9iamVjdFRvQ2hlY2s6IHsgdmFsdWU/OiBGb3JtbHlGaWVsZENvbmZpZ1snbW9kZWwnXTsgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0pID0+XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKCRlcSlcbiAgICAgICAgICAubWFwKChbaywgdl0pID0+ICh7IHBhdGg6IGssIGVxVmFsdWU6IGNhc3RBcnJheSh2KSB9KSlcbiAgICAgICAgICAuZXZlcnkoKHsgcGF0aCwgZXFWYWx1ZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldChvYmplY3RUb0NoZWNrLCBwYXRoKTtcblxuICAgICAgICAgICAgcmV0dXJuIGVxVmFsdWUuaW5jbHVkZXModmFsdWUpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICBtYXBwZWRGaWVsZC5leHByZXNzaW9ucyA9IHtcbiAgICAgICAgLi4ubWFwcGVkRmllbGQuZXhwcmVzc2lvbnMsXG4gICAgICAgIGhpZGU6IGZpZWxkID0+IHtcbiAgICAgICAgICBsZXQgcGFyZW50RmllbGQgPSBmaWVsZDtcbiAgICAgICAgICB3aGlsZSAocGFyZW50RmllbGQucGFyZW50KSB7XG4gICAgICAgICAgICBwYXJlbnRGaWVsZCA9IHBhcmVudEZpZWxkLnBhcmVudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuICFpc0Rpc3BsYXkoe1xuICAgICAgICAgICAgICB2YWx1ZTogcGFyZW50RmllbGQubW9kZWwsXG4gICAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAvLyBJZ25vcmUgdGhlIGVycm9yIGFuZCBkaXNwbGF5IHRoZSBmaWVsZFxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSB1aVR5cGVNYXAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBtYXBTb3VyY2U6IEpTT05TY2hlbWE3KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGlmIChtYXBTb3VyY2UuZ2lvQ29uZmlnPy51aVR5cGUpIHtcbiAgICAgIC8vIENsZWFuIHRoZSBmaWVsZCB0byBhdm9pZCBjb25mbGljdCBhbmQgaW5pdCBzaW1wbGUgb25lIHdpdGggZ2l2ZW4gdHlwZVxuICAgICAgbWFwcGVkRmllbGQgPSB7XG4gICAgICAgIGtleTogbWFwcGVkRmllbGQua2V5LFxuICAgICAgICB0eXBlOiBtYXBTb3VyY2UuZ2lvQ29uZmlnPy51aVR5cGUsXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICAgICAgLi4ubWFwU291cmNlLmdpb0NvbmZpZz8udWlUeXBlUHJvcHMsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0TWFwKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBpZiAobWFwU291cmNlLnR5cGUgPT09ICdzdHJpbmcnICYmIG1hcFNvdXJjZS5mb3JtYXQgPT09ICd0ZXh0Jykge1xuICAgICAgbWFwcGVkRmllbGQudHlwZSA9ICd0ZXh0YXJlYSc7XG4gICAgICBtYXBwZWRGaWVsZC5wcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICAgIGF1dG9zaXplOiB0cnVlLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKG1hcFNvdXJjZS50eXBlID09PSAnc3RyaW5nJyAmJiBtYXBTb3VyY2UuZm9ybWF0ID09PSAncGFzc3dvcmQnKSB7XG4gICAgICBtYXBwZWRGaWVsZC5wcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICAgIHR5cGU6ICdwYXNzd29yZCcsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAobWFwU291cmNlLnR5cGUgPT09ICdzdHJpbmcnICYmIG1hcFNvdXJjZS5mb3JtYXQgPT09ICdnaW8tY29kZS1lZGl0b3InKSB7XG4gICAgICBtYXBwZWRGaWVsZC50eXBlID0gJ2dpby1jb2RlLWVkaXRvcic7XG4gICAgICBtYXBwZWRGaWVsZC5wcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICAgIG1vbmFjb0VkaXRvckNvbmZpZzogbWFwU291cmNlLmdpb0NvbmZpZz8ubW9uYWNvRWRpdG9yQ29uZmlnLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKG1hcFNvdXJjZS50eXBlID09PSAnc3RyaW5nJyAmJiBtYXBTb3VyY2UuZm9ybWF0ID09PSAnZ2lvLWNyb24nKSB7XG4gICAgICBtYXBwZWRGaWVsZC50eXBlID0gJ2dpby1jcm9uJztcbiAgICAgIG1hcHBlZEZpZWxkLnByb3BzID0ge1xuICAgICAgICAuLi5tYXBwZWRGaWVsZC5wcm9wcyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSBiYW5uZXJNYXAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBtYXBTb3VyY2U6IEpTT05TY2hlbWE3KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIG1hcHBlZEZpZWxkLnByb3BzID0ge1xuICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICAuLi4obWFwU291cmNlLmdpb0NvbmZpZz8uYmFubmVyID8gZ2V0QmFubmVyUHJvcGVydGllcyhtYXBTb3VyY2UuZ2lvQ29uZmlnLmJhbm5lcikgOiB7fSksXG4gICAgfTtcblxuICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlTWFwKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBpZiAobWFwU291cmNlLnR5cGUgPT09ICdib29sZWFuJykge1xuICAgICAgbWFwcGVkRmllbGQudHlwZSA9ICd0b2dnbGUnO1xuICAgIH1cblxuICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZWRNYXAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBfbWFwU291cmNlOiBKU09OU2NoZW1hNyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBtYXBwZWRGaWVsZC5leHByZXNzaW9ucyA9IHtcbiAgICAgIC4uLm1hcHBlZEZpZWxkLmV4cHJlc3Npb25zLFxuICAgICAgJ3Byb3BzLmRpc2FibGVkJzogZmllbGQgPT4gZmllbGQub3B0aW9ucz8uZm9ybVN0YXRlLmRpc2FibGVkID09PSB0cnVlIHx8IGZpZWxkLnByb3BzPy5kaXNhYmxlZCA9PT0gdHJ1ZSxcbiAgICB9O1xuICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgfVxuXG4gIHByaXZhdGUgZW51bUxhYmVsTWFwKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBpZiAoIWlzQXJyYXkobWFwcGVkRmllbGQucHJvcHM/Lm9wdGlvbnMpKSB7XG4gICAgICByZXR1cm4gbWFwcGVkRmllbGQ7XG4gICAgfVxuXG4gICAgY29uc3QgZW51bUxhYmVsTWFwSW5PYmplY3QgPVxuICAgICAgbWFwU291cmNlLmVudW0gJiYgIWlzRW1wdHkobWFwU291cmNlLmVudW0pICYmIG1hcFNvdXJjZS5naW9Db25maWc/LmVudW1MYWJlbE1hcCA/IG1hcFNvdXJjZS5naW9Db25maWc/LmVudW1MYWJlbE1hcCA6IG51bGw7XG4gICAgY29uc3QgZW51bUxhYmVsTWFwSW5BcnJheUl0ZW0gPVxuICAgICAgbWFwU291cmNlLml0ZW1zICYmXG4gICAgICBtYXBTb3VyY2UudHlwZSA9PT0gJ2FycmF5JyAmJlxuICAgICAgIWlzRW1wdHkoKG1hcFNvdXJjZS5pdGVtcyBhcyBKU09OU2NoZW1hNykuZW51bSkgJiZcbiAgICAgIChtYXBTb3VyY2UuaXRlbXMgYXMgSlNPTlNjaGVtYTcpPy5naW9Db25maWc/LmVudW1MYWJlbE1hcFxuICAgICAgICA/IChtYXBTb3VyY2UuaXRlbXMgYXMgSlNPTlNjaGVtYTcpPy5naW9Db25maWc/LmVudW1MYWJlbE1hcFxuICAgICAgICA6IG51bGw7XG5cbiAgICBpZiAoZW51bUxhYmVsTWFwSW5PYmplY3QgfHwgZW51bUxhYmVsTWFwSW5BcnJheUl0ZW0pIHtcbiAgICAgIG1hcHBlZEZpZWxkLnByb3BzID0ge1xuICAgICAgICAuLi5tYXBwZWRGaWVsZC5wcm9wcyxcbiAgICAgICAgb3B0aW9uczogbWFwcGVkRmllbGQucHJvcHM/Lm9wdGlvbnM/Lm1hcCgoeyB2YWx1ZSB9KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsOiAoZW51bUxhYmVsTWFwSW5PYmplY3QgfHwgZW51bUxhYmVsTWFwSW5BcnJheUl0ZW0pPy5bdmFsdWVdID8/IHZhbHVlLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGVkRmllbGQ7XG4gIH1cblxuICBwcml2YXRlIGRlcHJlY2F0ZWRNYXAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBtYXBTb3VyY2U6IEpTT05TY2hlbWE3KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGlmIChtYXBTb3VyY2UuZGVwcmVjYXRlZCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgfVxufVxuXG5jb25zdCBnZXRCYW5uZXJQcm9wZXJ0aWVzID0gKGJhbm5lcjogeyB0aXRsZTogc3RyaW5nOyB0ZXh0OiBzdHJpbmcgfSB8IHsgdGV4dDogc3RyaW5nIH0pID0+IHtcbiAgcmV0dXJuIHtcbiAgICBiYW5uZXJUZXh0OiBiYW5uZXIudGV4dCxcbiAgICBiYW5uZXJUaXRsZTogJ3RpdGxlJyBpbiBiYW5uZXIgPyBiYW5uZXIudGl0bGUgOiB1bmRlZmluZWQsXG4gIH07XG59O1xuIl19
|
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
export {};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2lvSnNvblNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWZvcm0tanNvbi1zY2hlbWEvbW9kZWwvR2lvSnNvblNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEpTT05TY2hlbWE3IH0gZnJvbSAnanNvbi1zY2hlbWEnO1xuXG5pbXBvcnQgeyBHaW9Nb25hY29FZGl0b3JDb25maWcgfSBmcm9tICcuLi90eXBlLWNvbXBvbmVudC9jb2RlLWVkaXRvci10eXBlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogR2lvQ29uZmlnIGlzIHVzZWQgdG8gYWRkIHNvbWUgY3VzdG9tIGNvbmZpZ3VyYXRpb24gdG8gdGhlIEpTT05TY2hlbWE3XG4gKiDimqDvuI8gS2VlcCB1cGRhdGVkIHdpdGggdGhlIEdpb0pzb25TY2hlbWEuanNvbiB0byBoYXZlIHRoZSBzYW1lIGludGVyZmFjZSDimqDvuI9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaW9Db25maWcgZXh0ZW5kcyBHaW9VaVR5cGVDb25maWcge1xuICAvKlxuICAgKiBEaXNwbGF5IHRoZSBmaWVsZCBvbmx5IGlmIHRoZSBjb25kaXRpb24gaXMgdHJ1ZS5cbiAgICogVGhlIGNvbmRpdGlvbiBpcyBhIEpTT04gb2JqZWN0IHdpdGggdGhlIGNvbnRleHQga2V5IGFuZCB0aGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICogRXhhbXBsZTogeyAkZXE6IHsgJ2ZpZWxkJzogJ3ZhbHVlJyB9IH1cbiAgICovXG4gIGRpc3BsYXlPbmx5SWY/OiB7XG4gICAgJGVxOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+O1xuICB9O1xuICBiYW5uZXI/OiBHaW9CYW5uZXJDb25maWc7XG4gIG1vbmFjb0VkaXRvckNvbmZpZz86IEdpb01vbmFjb0VkaXRvckNvbmZpZztcbiAgZW51bUxhYmVsTWFwPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxudHlwZSBHaW9CYW5uZXJDb25maWcgPVxuICB8IHtcbiAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHRleHQ6IHN0cmluZztcbiAgICB9O1xuLyoqXG4gKiBVc2VkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGZvcm1seSB0eXBlLiBJdCdzIHVzZWZ1bCB3aGVuIHdlIHdhbnQgdG8gdXNlIGEgY3VzdG9tIGNvbXBvbmVudC5cbiAqL1xudHlwZSBHaW9VaVR5cGVDb25maWcgPSB7XG4gIHVpVHlwZT86ICdnaW8taGVhZGVycy1hcnJheScgfCBzdHJpbmc7XG4gIHVpVHlwZVByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG4vKipcbiAqIE92ZXJyaWRlIHRoZSBKU09OU2NoZW1hNyBpbnRlcmZhY2UgdG8gYWRkIGdpb0NvbmZpZ1xuICogVXNlIHRoaXMgd2F5IGJlY2F1c2UgdGhlIEpTT05TY2hlbWE3IGludGVyZmFjZSBpcyByZWN1cnNpdmVcbiAqIEFuZCBleHBvcnQgd2l0aCBuZXcgbmFtZSBgR2lvSnNvblNjaGVtYWAgdG8gbWFrZSBpdCBtb3JlIGNsZWFyXG4gKi9cbmRlY2xhcmUgbW9kdWxlICdqc29uLXNjaGVtYScge1xuICBleHBvcnQgaW50ZXJmYWNlIEpTT05TY2hlbWE3IHtcbiAgICBnaW9Db25maWc/OiBHaW9Db25maWc7XG4gICAgZGVwcmVjYXRlZD86IGJvb2xlYW47XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgR2lvSnNvblNjaGVtYSA9IEpTT05TY2hlbWE3O1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2lvSnNvblNjaGVtYUNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLWpzb24tc2NoZW1hL21vZGVsL0dpb0pzb25TY2hlbWFDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDI0IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IHR5cGUgR2lvSnNvblNjaGVtYUNvbnRleHQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiJdfQ==
|
|
@@ -21,17 +21,7 @@ import * as i2 from "../../gio-monaco-editor/gio-monaco-editor.component";
|
|
|
21
21
|
import * as i3 from "../../gio-monaco-editor/gio-monaco-editor-form-field.directive";
|
|
22
22
|
export class GioFjsCodeEditorTypeComponent extends FieldType {
|
|
23
23
|
ngOnInit() {
|
|
24
|
-
|
|
25
|
-
switch (language) {
|
|
26
|
-
case 'json':
|
|
27
|
-
this.languageConfig = {
|
|
28
|
-
language: 'json',
|
|
29
|
-
schemas: [],
|
|
30
|
-
};
|
|
31
|
-
break;
|
|
32
|
-
default:
|
|
33
|
-
this.languageConfig = undefined;
|
|
34
|
-
}
|
|
24
|
+
this.languageConfig = this.props.monacoEditorConfig;
|
|
35
25
|
}
|
|
36
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFjsCodeEditorTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
27
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFjsCodeEditorTypeComponent, selector: "gio-fjs-code-editor-type", usesInheritance: true, ngImport: i0, template: `
|
|
@@ -54,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
54
44
|
></gio-monaco-editor>
|
|
55
45
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["gio-monaco-editor{min-height:38px}\n"] }]
|
|
56
46
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3ItdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLWpzb24tc2NoZW1hL3R5cGUtY29tcG9uZW50L2NvZGUtZWRpdG9yLXR5cGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBNkJqRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsU0FBMkM7SUFHckYsUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztJQUN0RCxDQUFDOzhHQUxVLDZCQUE2QjtrR0FBN0IsNkJBQTZCLHVGQWpCOUI7Ozs7Ozs7R0FPVDs7MkZBVVUsNkJBQTZCO2tCQW5CekMsU0FBUzsrQkFDRSwwQkFBMEIsWUFDMUI7Ozs7Ozs7R0FPVCxtQkFRZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZUNvbmZpZywgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuXG5pbXBvcnQgeyBNb25hY29FZGl0b3JMYW5ndWFnZUNvbmZpZyB9IGZyb20gJy4uLy4uL2dpby1tb25hY28tZWRpdG9yL2dpby1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIEdpb01vbmFjb0VkaXRvckNvbmZpZyA9IE1vbmFjb0VkaXRvckxhbmd1YWdlQ29uZmlnO1xuXG50eXBlIENvZGVFZGl0b3JQcm9wcyA9IEZvcm1seUZpZWxkUHJvcHMgJiB7XG4gIG1vbmFjb0VkaXRvckNvbmZpZz86IEdpb01vbmFjb0VkaXRvckNvbmZpZztcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1manMtY29kZS1lZGl0b3ItdHlwZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGdpby1tb25hY28tZWRpdG9yXG4gICAgICBnaW9Nb25hY29FZGl0b3JGb3JtRmllbGRcbiAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbbGFuZ3VhZ2VDb25maWddPVwibGFuZ3VhZ2VDb25maWdcIlxuICAgID48L2dpby1tb25hY28tZWRpdG9yPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICBnaW8tbW9uYWNvLWVkaXRvciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM4cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdpb0Zqc0NvZGVFZGl0b3JUeXBlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxDb2RlRWRpdG9yUHJvcHM+PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBsYW5ndWFnZUNvbmZpZz86IE1vbmFjb0VkaXRvckxhbmd1YWdlQ29uZmlnO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxhbmd1YWdlQ29uZmlnID0gdGhpcy5wcm9wcy5tb25hY29FZGl0b3JDb25maWc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
189
189
|
}], disableMiniMap: [{
|
|
190
190
|
type: Input
|
|
191
191
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbW9uYWNvLWVkaXRvci9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBeUIsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7OztBQTRCakcsTUFBTSxPQUFPLHdCQUF3QjtJQWdDbkMsWUFDa0IsV0FBdUIsRUFDWSxNQUE2QixFQUMvRCxtQkFBMkMsRUFDM0MsbUJBQTJDLEVBQzNDLG1CQUF5QyxFQUN6QyxpQkFBb0MsRUFDcEMsTUFBYyxFQUNLLFNBQW9CO1FBUHhDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ1ksV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDL0Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMzQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBc0I7UUFDekMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0ssY0FBUyxHQUFULFNBQVMsQ0FBVztRQW5DbkQsWUFBTyxHQUFnRCxF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cEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc1N0cmluZywgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IE1vbmFjbywgeyBlZGl0b3IgfSBmcm9tICdtb25hY28tZWRpdG9yJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgR2lvTW9uYWNvRWRpdG9yQ29uZmlnLCBHSU9fTU9OQUNPX0VESVRPUl9DT05GSUcgfSBmcm9tICcuL21vZGVscy9HaW9Nb25hY29FZGl0b3JDb25maWcnO1xuaW1wb3J0IHsgR2lvTGFuZ3VhZ2VKc29uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ2lvLWxhbmd1YWdlLWpzb24uc2VydmljZSc7XG5pbXBvcnQgeyBHaW9Nb25hY29FZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9naW8tbW9uYWNvLWVkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEdpb0xhbmd1YWdlRWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9naW8tbGFuZ3VhZ2UtZWwuc2VydmljZSc7XG5pbXBvcnQgeyBKU09OU2NoZW1hIH0gZnJvbSAnLi9tb2RlbHMvSlNPTlNjaGVtYUF1dG9Db21wbGV0ZSc7XG5cbmV4cG9ydCB0eXBlIE1vbmFjb0VkaXRvckxhbmd1YWdlQ29uZmlnID1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ2pzb24nO1xuICAgICAgc2NoZW1hczogeyB1cmk6IHN0cmluZzsgc2NoZW1hOiB1bmtub3duIH1bXTtcbiAgICB9XG4gIHwge1xuICAgICAgbGFuZ3VhZ2U6ICdtYXJrZG93bic7XG4gICAgfVxuICB8IHtcbiAgICAgIGxhbmd1YWdlOiAnaHRtbCc7XG4gICAgfVxuICB8IHtcbiAgICAgIGxhbmd1YWdlOiAnc3BlbCc7XG4gICAgICBzY2hlbWE/OiBKU09OU2NoZW1hO1xuICAgIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1tb25hY28tZWRpdG9yJyxcbiAgdGVtcGxhdGU6IGAgPGRpdiAqbmdJZj1cImxvYWRlZCQgfCBhc3luY1wiPkxvYWRpbmcuLi48L2Rpdj5gLFxuICBzdHlsZVVybHM6IFsnLi9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTW9uYWNvRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYW5ndWFnZUNvbmZpZz86IE1vbmFjb0VkaXRvckxhbmd1YWdlQ29uZmlnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25zOiBlZGl0b3IuSVN0YW5kYWxvbmVFZGl0b3JDb25zdHJ1Y3Rpb25PcHRpb25zID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVNaW5pTWFwID0gZmFsc2U7XG5cbiAgcHVibGljIGxvYWRlZCQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBlZGl0b3IuSVN0YW5kYWxvbmVFZGl0b3JDb25zdHJ1Y3Rpb25PcHRpb25zID0ge1xuICAgIGNvbnRleHRtZW51OiBmYWxzZSxcbiAgICBtaW5pbWFwOiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgIH0sXG4gICAgYXV0b21hdGljTGF5b3V0OiB0cnVlLFxuICAgIHNjcm9sbEJleW9uZExhc3RMaW5lOiBmYWxzZSxcbiAgfTtcblxuICBwdWJsaWMgdmFsdWUgPSAnJztcbiAgcHVibGljIHJlYWRPbmx5ID0gZmFsc2U7XG4gIHB1YmxpYyBzdGFuZGFsb25lQ29kZUVkaXRvcj86IGVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3I7XG4gIHByaXZhdGUgdGV4dE1vZGVsPzogZWRpdG9yLklUZXh0TW9kZWw7XG4gIHByaXZhdGUgdG9EaXNwb3NlczogTW9uYWNvLklEaXNwb3NhYmxlW10gPSBbXTtcblxuICBwcm90ZWN0ZWQgX29uQ2hhbmdlOiAoX3ZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcblxuICBwcm90ZWN0ZWQgX29uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChHSU9fTU9OQUNPX0VESVRPUl9DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBHaW9Nb25hY29FZGl0b3JDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb25hY29FZGl0b3JTZXJ2aWNlOiBHaW9Nb25hY29FZGl0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VKc29uU2VydmljZTogR2lvTGFuZ3VhZ2VKc29uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlU3BlbFNlcnZpY2U6IEdpb0xhbmd1YWdlRWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgLy8gU2V0IHRoZSB2YWx1ZSBhY2Nlc3NvciBkaXJlY3RseSAoaW5zdGVhZCBvZiBwcm92aWRpbmdcbiAgICAgIC8vIE5HX1ZBTFVFX0FDQ0VTU09SKSB0byBhdm9pZCBydW5uaW5nIGludG8gYSBjaXJjdWxhciBpbXBvcnRcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgICB0aGlzLm1vbmFjb0VkaXRvclNlcnZpY2UubG9hZEVkaXRvcigpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBXYWl0IHVudGlsIG1vbmFjbyBlZGl0b3IgaXMgYXZhaWxhYmxlXG4gICAgdGhpcy5tb25hY29FZGl0b3JTZXJ2aWNlLmxvYWRlZCQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKHsgbW9uYWNvIH0pID0+IHtcbiAgICAgIHRoaXMuc2V0dXBFZGl0b3IobW9uYWNvKTtcblxuICAgICAgdGhpcy5sb2FkZWQkLm5leHQoZmFsc2UpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy50b0Rpc3Bvc2VzLmZvckVhY2goZCA9PiBkLmRpc3Bvc2UoKSk7XG5cbiAgICBpZiAodGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvcikge1xuICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRleHRNb2RlbCkge1xuICAgICAgdGhpcy50ZXh0TW9kZWwuZGlzcG9zZSgpO1xuICAgICAgdGhpcy50ZXh0TW9kZWwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHdyaXRlVmFsdWUoX3ZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoX3ZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gaXNTdHJpbmcoX3ZhbHVlKSA/IF92YWx1ZSA6IEpTT04uc3RyaW5naWZ5KF92YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRleHRNb2RlbCkge1xuICAgICAgdGhpcy50ZXh0TW9kZWwuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfdmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvLyBGcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5yZWFkT25seSA9IGlzRGlzYWJsZWQ7XG5cbiAgICBpZiAodGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvcikge1xuICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvci51cGRhdGVPcHRpb25zKHtcbiAgICAgICAgcmVhZE9ubHk6IGlzRGlzYWJsZWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwRWRpdG9yKG1vbmFjbzogdHlwZW9mIE1vbmFjbykge1xuICAgIGlmICghdGhpcy5ob3N0RWxlbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBlZGl0b3IgcmVmIGZvdW5kLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCBzZXR0aW5ncyA9IHtcbiAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2VDb25maWc/Lmxhbmd1YWdlID8/ICd0ZXh0JyxcbiAgICAgIHVyaTogYGNvZGUtJHt1bmlxdWVJZCgpfWAsXG4gICAgfTtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnRleHRNb2RlbCA9IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwoc2V0dGluZ3MudmFsdWUsIHNldHRpbmdzLmxhbmd1YWdlLCBtb25hY28uVXJpLnBhcnNlKHNldHRpbmdzLnVyaSkpO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZGVmYXVsdE9wdGlvbnMsIHRoaXMub3B0aW9ucywge1xuICAgICAgcmVhZE9ubHk6IHRoaXMucmVhZE9ubHksXG4gICAgICB0aGVtZTogdGhpcy5jb25maWcudGhlbWUgPz8gJ3ZzJyxcbiAgICAgIG1vZGVsOiB0aGlzLnRleHRNb2RlbCxcbiAgICAgIG1pbmltYXA6IHtcbiAgICAgICAgZW5hYmxlZDogIXRoaXMuZGlzYWJsZU1pbmlNYXAsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlKGRvbUVsZW1lbnQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBvbkRpZENoYW5nZUNvbnRlbnQgPSB0aGlzLnRleHRNb2RlbD8ub25EaWRDaGFuZ2VDb250ZW50KCgpID0+IHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy50ZXh0TW9kZWw/LmdldFZhbHVlKCk7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKG5ld1ZhbHVlID8/ICcnKTtcbiAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG9uRGlkQmx1ckVkaXRvcldpZGdldCA9IHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3I/Lm9uRGlkQmx1ckVkaXRvcldpZGdldCgoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnRvRGlzcG9zZXMgPSBbb25EaWRDaGFuZ2VDb250ZW50LCBvbkRpZEJsdXJFZGl0b3JXaWRnZXRdLmZpbHRlcihkID0+ICEhZCkgYXMgTW9uYWNvLklEaXNwb3NhYmxlW107XG5cbiAgICB0aGlzLnNldHVwTGFuZ3VhZ2Uoc2V0dGluZ3MudXJpLCB0aGlzLmxhbmd1YWdlQ29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBMYW5ndWFnZSh1cmk6IHN0cmluZywgbGFuZ3VhZ2VDb25maWc/OiBNb25hY29FZGl0b3JMYW5ndWFnZUNvbmZpZykge1xuICAgIGlmICghbGFuZ3VhZ2VDb25maWcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGxhbmd1YWdlQ29uZmlnLmxhbmd1YWdlKSB7XG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgaWYgKGxhbmd1YWdlQ29uZmlnLnNjaGVtYXMpIHtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlSnNvblNlcnZpY2UuYWRkU2NoZW1hcyh1cmksIGxhbmd1YWdlQ29uZmlnLnNjaGVtYXMpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3BlbCc6XG4gICAgICAgIGlmIChsYW5ndWFnZUNvbmZpZy5zY2hlbWEpIHtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlU3BlbFNlcnZpY2Uuc2V0U2NoZW1hKGxhbmd1YWdlQ29uZmlnLnNjaGVtYSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbW9uYWNvLWVkaXRvci9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBeUIsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7OztBQStCakcsTUFBTSxPQUFPLHdCQUF3QjtJQWdDbkMsWUFDa0IsV0FBdUIsRUFDWSxNQUE2QixFQUMvRCxtQkFBMkMsRUFDM0MsbUJBQTJDLEVBQzNDLG1CQUF5QyxFQUN6QyxpQkFBb0MsRUFDcEMsTUFBYyxFQUNLLFNBQW9CO1FBUHhDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ1ksV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDL0Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMzQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBc0I7UUFDekMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0ssY0FBUyxHQUFULFNBQVMsQ0FBVztRQW5DbkQsWUFBTyxHQUFnRCxF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cEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc1N0cmluZywgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IE1vbmFjbywgeyBlZGl0b3IgfSBmcm9tICdtb25hY28tZWRpdG9yJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgR2lvTW9uYWNvRWRpdG9yQ29uZmlnLCBHSU9fTU9OQUNPX0VESVRPUl9DT05GSUcgfSBmcm9tICcuL21vZGVscy9HaW9Nb25hY29FZGl0b3JDb25maWcnO1xuaW1wb3J0IHsgR2lvTGFuZ3VhZ2VKc29uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ2lvLWxhbmd1YWdlLWpzb24uc2VydmljZSc7XG5pbXBvcnQgeyBHaW9Nb25hY29FZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9naW8tbW9uYWNvLWVkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEdpb0xhbmd1YWdlRWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9naW8tbGFuZ3VhZ2UtZWwuc2VydmljZSc7XG5pbXBvcnQgeyBKU09OU2NoZW1hIH0gZnJvbSAnLi9tb2RlbHMvSlNPTlNjaGVtYUF1dG9Db21wbGV0ZSc7XG5cbmV4cG9ydCB0eXBlIE1vbmFjb0VkaXRvckxhbmd1YWdlQ29uZmlnID1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ2pzb24nO1xuICAgICAgc2NoZW1hcz86IHsgdXJpOiBzdHJpbmc7IHNjaGVtYTogdW5rbm93biB9W107XG4gICAgfVxuICB8IHtcbiAgICAgIGxhbmd1YWdlOiAnbWFya2Rvd24nO1xuICAgIH1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ2h0bWwnO1xuICAgIH1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ3lhbWwnO1xuICAgIH1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ3NwZWwnO1xuICAgICAgc2NoZW1hPzogSlNPTlNjaGVtYTtcbiAgICB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnaW8tbW9uYWNvLWVkaXRvcicsXG4gIHRlbXBsYXRlOiBgIDxkaXYgKm5nSWY9XCJsb2FkZWQkIHwgYXN5bmNcIj5Mb2FkaW5nLi4uPC9kaXY+YCxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdpb01vbmFjb0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFuZ3VhZ2VDb25maWc/OiBNb25hY29FZGl0b3JMYW5ndWFnZUNvbmZpZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3B0aW9uczogZWRpdG9yLklTdGFuZGFsb25lRWRpdG9yQ29uc3RydWN0aW9uT3B0aW9ucyA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlTWluaU1hcCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBsb2FkZWQkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG5cbiAgcHJpdmF0ZSBkZWZhdWx0T3B0aW9uczogZWRpdG9yLklTdGFuZGFsb25lRWRpdG9yQ29uc3RydWN0aW9uT3B0aW9ucyA9IHtcbiAgICBjb250ZXh0bWVudTogZmFsc2UsXG4gICAgbWluaW1hcDoge1xuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICB9LFxuICAgIGF1dG9tYXRpY0xheW91dDogdHJ1ZSxcbiAgICBzY3JvbGxCZXlvbmRMYXN0TGluZTogZmFsc2UsXG4gIH07XG5cbiAgcHVibGljIHZhbHVlID0gJyc7XG4gIHB1YmxpYyByZWFkT25seSA9IGZhbHNlO1xuICBwdWJsaWMgc3RhbmRhbG9uZUNvZGVFZGl0b3I/OiBlZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xuICBwcml2YXRlIHRleHRNb2RlbD86IGVkaXRvci5JVGV4dE1vZGVsO1xuICBwcml2YXRlIHRvRGlzcG9zZXM6IE1vbmFjby5JRGlzcG9zYWJsZVtdID0gW107XG5cbiAgcHJvdGVjdGVkIF9vbkNoYW5nZTogKF92YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG5cbiAgcHJvdGVjdGVkIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoR0lPX01PTkFDT19FRElUT1JfQ09ORklHKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogR2lvTW9uYWNvRWRpdG9yQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9uYWNvRWRpdG9yU2VydmljZTogR2lvTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlSnNvblNlcnZpY2U6IEdpb0xhbmd1YWdlSnNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZVNwZWxTZXJ2aWNlOiBHaW9MYW5ndWFnZUVsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sLFxuICApIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIC8vIFNldCB0aGUgdmFsdWUgYWNjZXNzb3IgZGlyZWN0bHkgKGluc3RlYWQgb2YgcHJvdmlkaW5nXG4gICAgICAvLyBOR19WQUxVRV9BQ0NFU1NPUikgdG8gYXZvaWQgcnVubmluZyBpbnRvIGEgY2lyY3VsYXIgaW1wb3J0XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gICAgdGhpcy5tb25hY29FZGl0b3JTZXJ2aWNlLmxvYWRFZGl0b3IoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgLy8gV2FpdCB1bnRpbCBtb25hY28gZWRpdG9yIGlzIGF2YWlsYWJsZVxuICAgIHRoaXMubW9uYWNvRWRpdG9yU2VydmljZS5sb2FkZWQkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCh7IG1vbmFjbyB9KSA9PiB7XG4gICAgICB0aGlzLnNldHVwRWRpdG9yKG1vbmFjbyk7XG5cbiAgICAgIHRoaXMubG9hZGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudG9EaXNwb3Nlcy5mb3JFYWNoKGQgPT4gZC5kaXNwb3NlKCkpO1xuXG4gICAgaWYgKHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IpIHtcbiAgICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvciA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50ZXh0TW9kZWwpIHtcbiAgICAgIHRoaXMudGV4dE1vZGVsLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMudGV4dE1vZGVsID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyB3cml0ZVZhbHVlKF92YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKF92YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IGlzU3RyaW5nKF92YWx1ZSkgPyBfdmFsdWUgOiBKU09OLnN0cmluZ2lmeShfdmFsdWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy50ZXh0TW9kZWwpIHtcbiAgICAgIHRoaXMudGV4dE1vZGVsLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoX3ZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucmVhZE9ubHkgPSBpc0Rpc2FibGVkO1xuXG4gICAgaWYgKHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IpIHtcbiAgICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IudXBkYXRlT3B0aW9ucyh7XG4gICAgICAgIHJlYWRPbmx5OiBpc0Rpc2FibGVkLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEVkaXRvcihtb25hY286IHR5cGVvZiBNb25hY28pIHtcbiAgICBpZiAoIXRoaXMuaG9zdEVsZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gZWRpdG9yIHJlZiBmb3VuZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3Qgc2V0dGluZ3MgPSB7XG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlQ29uZmlnPy5sYW5ndWFnZSA/PyAndGV4dCcsXG4gICAgICB1cmk6IGBjb2RlLSR7dW5pcXVlSWQoKX1gLFxuICAgIH07XG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy50ZXh0TW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHNldHRpbmdzLnZhbHVlLCBzZXR0aW5ncy5sYW5ndWFnZSwgbW9uYWNvLlVyaS5wYXJzZShzZXR0aW5ncy51cmkpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRPcHRpb25zLCB0aGlzLm9wdGlvbnMsIHtcbiAgICAgIHJlYWRPbmx5OiB0aGlzLnJlYWRPbmx5LFxuICAgICAgdGhlbWU6IHRoaXMuY29uZmlnLnRoZW1lID8/ICd2cycsXG4gICAgICBtb2RlbDogdGhpcy50ZXh0TW9kZWwsXG4gICAgICBtaW5pbWFwOiB7XG4gICAgICAgIGVuYWJsZWQ6ICF0aGlzLmRpc2FibGVNaW5pTWFwLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZShkb21FbGVtZW50LCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgb25EaWRDaGFuZ2VDb250ZW50ID0gdGhpcy50ZXh0TW9kZWw/Lm9uRGlkQ2hhbmdlQ29udGVudCgoKSA9PiB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudGV4dE1vZGVsPy5nZXRWYWx1ZSgpO1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZShuZXdWYWx1ZSA/PyAnJyk7XG4gICAgICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBvbkRpZEJsdXJFZGl0b3JXaWRnZXQgPSB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yPy5vbkRpZEJsdXJFZGl0b3JXaWRnZXQoKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnJlYWRPbmx5KSB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy50b0Rpc3Bvc2VzID0gW29uRGlkQ2hhbmdlQ29udGVudCwgb25EaWRCbHVyRWRpdG9yV2lkZ2V0XS5maWx0ZXIoZCA9PiAhIWQpIGFzIE1vbmFjby5JRGlzcG9zYWJsZVtdO1xuXG4gICAgdGhpcy5zZXR1cExhbmd1YWdlKHNldHRpbmdzLnVyaSwgdGhpcy5sYW5ndWFnZUNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTGFuZ3VhZ2UodXJpOiBzdHJpbmcsIGxhbmd1YWdlQ29uZmlnPzogTW9uYWNvRWRpdG9yTGFuZ3VhZ2VDb25maWcpIHtcbiAgICBpZiAoIWxhbmd1YWdlQ29uZmlnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChsYW5ndWFnZUNvbmZpZy5sYW5ndWFnZSkge1xuICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgIGlmIChsYW5ndWFnZUNvbmZpZy5zY2hlbWFzKSB7XG4gICAgICAgICAgdGhpcy5sYW5ndWFnZUpzb25TZXJ2aWNlLmFkZFNjaGVtYXModXJpLCBsYW5ndWFnZUNvbmZpZy5zY2hlbWFzKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NwZWwnOlxuICAgICAgICBpZiAobGFuZ3VhZ2VDb25maWcuc2NoZW1hKSB7XG4gICAgICAgICAgdGhpcy5sYW5ndWFnZVNwZWxTZXJ2aWNlLnNldFNjaGVtYShsYW5ndWFnZUNvbmZpZy5zY2hlbWEpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -12,7 +12,7 @@ import { ComponentHarness, HarnessPredicate, parallel, TestKey } from '@angular/
|
|
|
12
12
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
13
13
|
import * as i6$1 from '@angular/material/form-field';
|
|
14
14
|
import { MatFormFieldControl, MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
15
|
-
import { isEmpty, isString, isObject, toLower, dropRight, isNil, isArray, remove, isEqual, cloneDeep, uniqueId, range, set, has, some, filter as filter$1, intersection } from 'lodash';
|
|
15
|
+
import { isEmpty, isString, isObject, toLower, dropRight, isNil, isArray, remove, castArray, get, isEqual, cloneDeep, uniqueId, range, set, has, some, filter as filter$1, intersection } from 'lodash';
|
|
16
16
|
import { tap, startWith, switchMap, map, distinctUntilChanged, takeUntil, filter, take, delay, debounceTime, shareReplay, catchError, debounce } from 'rxjs/operators';
|
|
17
17
|
import * as i1$1 from '@angular/forms';
|
|
18
18
|
import { FormsModule, UntypedFormArray, UntypedFormGroup, UntypedFormControl, Validators, NG_VALUE_ACCESSOR, NG_VALIDATORS, ReactiveFormsModule, NgControl, FormControl } from '@angular/forms';
|
|
@@ -2287,9 +2287,10 @@ class GioFormlyJsonSchemaService {
|
|
|
2287
2287
|
this.formlyJsonschema = formlyJsonschema;
|
|
2288
2288
|
this.builder = builder;
|
|
2289
2289
|
}
|
|
2290
|
-
toFormlyFieldConfig(jsonSchema) {
|
|
2290
|
+
toFormlyFieldConfig(jsonSchema, context) {
|
|
2291
2291
|
return this.formlyJsonschema.toFieldConfig(jsonSchema, {
|
|
2292
2292
|
map: (mappedField, mapSource) => {
|
|
2293
|
+
mappedField = this.displayOnlyIfMap(mappedField, mapSource, context);
|
|
2293
2294
|
mappedField = this.uiTypeMap(mappedField, mapSource);
|
|
2294
2295
|
mappedField = this.formatMap(mappedField, mapSource);
|
|
2295
2296
|
mappedField = this.bannerMap(mappedField, mapSource);
|
|
@@ -2301,6 +2302,37 @@ class GioFormlyJsonSchemaService {
|
|
|
2301
2302
|
},
|
|
2302
2303
|
});
|
|
2303
2304
|
}
|
|
2305
|
+
displayOnlyIfMap(mappedField, mapSource, context) {
|
|
2306
|
+
const $eq = mapSource.gioConfig?.displayOnlyIf?.$eq;
|
|
2307
|
+
if (!isNil($eq) && isObject($eq)) {
|
|
2308
|
+
const isDisplay = (objectToCheck) => Object.entries($eq)
|
|
2309
|
+
.map(([k, v]) => ({ path: k, eqValue: castArray(v) }))
|
|
2310
|
+
.every(({ path, eqValue }) => {
|
|
2311
|
+
const value = get(objectToCheck, path);
|
|
2312
|
+
return eqValue.includes(value);
|
|
2313
|
+
});
|
|
2314
|
+
mappedField.expressions = {
|
|
2315
|
+
...mappedField.expressions,
|
|
2316
|
+
hide: field => {
|
|
2317
|
+
let parentField = field;
|
|
2318
|
+
while (parentField.parent) {
|
|
2319
|
+
parentField = parentField.parent;
|
|
2320
|
+
}
|
|
2321
|
+
try {
|
|
2322
|
+
return !isDisplay({
|
|
2323
|
+
value: parentField.model,
|
|
2324
|
+
context,
|
|
2325
|
+
});
|
|
2326
|
+
}
|
|
2327
|
+
catch (e) {
|
|
2328
|
+
// Ignore the error and display the field
|
|
2329
|
+
return false;
|
|
2330
|
+
}
|
|
2331
|
+
},
|
|
2332
|
+
};
|
|
2333
|
+
}
|
|
2334
|
+
return mappedField;
|
|
2335
|
+
}
|
|
2304
2336
|
uiTypeMap(mappedField, mapSource) {
|
|
2305
2337
|
if (mapSource.gioConfig?.uiType) {
|
|
2306
2338
|
// Clean the field to avoid conflict and init simple one with given type
|
|
@@ -2365,12 +2397,22 @@ class GioFormlyJsonSchemaService {
|
|
|
2365
2397
|
return mappedField;
|
|
2366
2398
|
}
|
|
2367
2399
|
enumLabelMap(mappedField, mapSource) {
|
|
2368
|
-
if (
|
|
2400
|
+
if (!isArray(mappedField.props?.options)) {
|
|
2401
|
+
return mappedField;
|
|
2402
|
+
}
|
|
2403
|
+
const enumLabelMapInObject = mapSource.enum && !isEmpty(mapSource.enum) && mapSource.gioConfig?.enumLabelMap ? mapSource.gioConfig?.enumLabelMap : null;
|
|
2404
|
+
const enumLabelMapInArrayItem = mapSource.items &&
|
|
2405
|
+
mapSource.type === 'array' &&
|
|
2406
|
+
!isEmpty(mapSource.items.enum) &&
|
|
2407
|
+
mapSource.items?.gioConfig?.enumLabelMap
|
|
2408
|
+
? mapSource.items?.gioConfig?.enumLabelMap
|
|
2409
|
+
: null;
|
|
2410
|
+
if (enumLabelMapInObject || enumLabelMapInArrayItem) {
|
|
2369
2411
|
mappedField.props = {
|
|
2370
2412
|
...mappedField.props,
|
|
2371
2413
|
options: mappedField.props?.options?.map(({ value }) => {
|
|
2372
2414
|
return {
|
|
2373
|
-
label:
|
|
2415
|
+
label: (enumLabelMapInObject || enumLabelMapInArrayItem)?.[value] ?? value,
|
|
2374
2416
|
value: value,
|
|
2375
2417
|
};
|
|
2376
2418
|
}),
|
|
@@ -2417,11 +2459,6 @@ class GioFormJsonSchemaComponent {
|
|
|
2417
2459
|
const properties = ['properties', 'oneOf', 'anyOf', 'allOf', '$ref', 'items'];
|
|
2418
2460
|
return isObject(jsonSchema) && properties.some(property => !isEmpty(jsonSchema[property]));
|
|
2419
2461
|
}
|
|
2420
|
-
set jsonSchema(jsonSchema) {
|
|
2421
|
-
if (isObject(jsonSchema)) {
|
|
2422
|
-
this.fields = [this.gioFormlyJsonSchema.toFormlyFieldConfig(jsonSchema)];
|
|
2423
|
-
}
|
|
2424
|
-
}
|
|
2425
2462
|
constructor(gioFormlyJsonSchema, elRef, fm, changeDetectorRef, ngControl) {
|
|
2426
2463
|
this.gioFormlyJsonSchema = gioFormlyJsonSchema;
|
|
2427
2464
|
this.elRef = elRef;
|
|
@@ -2465,6 +2502,9 @@ class GioFormJsonSchemaComponent {
|
|
|
2465
2502
|
this.isReady = false;
|
|
2466
2503
|
this.ready.next(false);
|
|
2467
2504
|
}
|
|
2505
|
+
if (changes.jsonSchema || changes.context) {
|
|
2506
|
+
this.fields = [this.gioFormlyJsonSchema.toFormlyFieldConfig(this.jsonSchema, this.context)];
|
|
2507
|
+
}
|
|
2468
2508
|
}
|
|
2469
2509
|
ngOnInit() {
|
|
2470
2510
|
// When the parent form is touched, mark all the sub formGroup as touched if not already touched
|
|
@@ -2570,7 +2610,7 @@ class GioFormJsonSchemaComponent {
|
|
|
2570
2610
|
this.stateChanges$.next();
|
|
2571
2611
|
}
|
|
2572
2612
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormJsonSchemaComponent, deps: [{ token: GioFormlyJsonSchemaService }, { token: i0.ElementRef }, { token: i1$2.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: i1$1.NgControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2573
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: { jsonSchema: "jsonSchema", options: "options" }, outputs: { ready: "ready" }, host: { properties: { "attr.gioFormFocusInvalidIgnore": "this.gioFormFocusInvalidIgnore" } }, usesOnChanges: true, ngImport: i0, template: `<formly-form *ngIf="formGroup" [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>`, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2613
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: { jsonSchema: "jsonSchema", context: "context", options: "options" }, outputs: { ready: "ready" }, host: { properties: { "attr.gioFormFocusInvalidIgnore": "this.gioFormFocusInvalidIgnore" } }, usesOnChanges: true, ngImport: i0, template: `<formly-form *ngIf="formGroup" [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>`, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2574
2614
|
}
|
|
2575
2615
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormJsonSchemaComponent, decorators: [{
|
|
2576
2616
|
type: Component,
|
|
@@ -2583,6 +2623,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
2583
2623
|
type: HostBinding,
|
|
2584
2624
|
args: [`attr.${GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR}`]
|
|
2585
2625
|
}], jsonSchema: [{
|
|
2626
|
+
type: Input,
|
|
2627
|
+
args: [{ required: true }]
|
|
2628
|
+
}], context: [{
|
|
2586
2629
|
type: Input
|
|
2587
2630
|
}], options: [{
|
|
2588
2631
|
type: Input
|
|
@@ -4625,17 +4668,7 @@ function passwordEyeExtension(field) {
|
|
|
4625
4668
|
*/
|
|
4626
4669
|
class GioFjsCodeEditorTypeComponent extends FieldType$1 {
|
|
4627
4670
|
ngOnInit() {
|
|
4628
|
-
|
|
4629
|
-
switch (language) {
|
|
4630
|
-
case 'json':
|
|
4631
|
-
this.languageConfig = {
|
|
4632
|
-
language: 'json',
|
|
4633
|
-
schemas: [],
|
|
4634
|
-
};
|
|
4635
|
-
break;
|
|
4636
|
-
default:
|
|
4637
|
-
this.languageConfig = undefined;
|
|
4638
|
-
}
|
|
4671
|
+
this.languageConfig = this.props.monacoEditorConfig;
|
|
4639
4672
|
}
|
|
4640
4673
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFjsCodeEditorTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
4641
4674
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFjsCodeEditorTypeComponent, selector: "gio-fjs-code-editor-type", usesInheritance: true, ngImport: i0, template: `
|