@wemake4u/form-player-se 1.0.23 → 1.0.25
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/components/actionsCellRenderer/actionsCellRenderer.component.mjs +69 -0
- package/esm2022/lib/components/deleteRowRenderer/deleteRowRenderer.component.mjs +25 -0
- package/esm2022/lib/components/hostCellRenderer/hostCellRenderer.component.mjs +101 -0
- package/esm2022/lib/components/objectURLRenderer/objectURLRenderer.component.mjs +27 -0
- package/esm2022/lib/components/setFilter/setFilter.component.mjs +111 -0
- package/esm2022/lib/dialog/dialog.component.mjs +15 -7
- package/esm2022/lib/directives/collapse.directive.mjs +20 -12
- package/esm2022/lib/directives/date.directive.mjs +2 -2
- package/esm2022/lib/directives/dialog.directive.mjs +2 -1
- package/esm2022/lib/directives/dropdown.directive.mjs +23 -5
- package/esm2022/lib/directives/formIndex.directive.mjs +25 -0
- package/esm2022/lib/directives/grid.directive.mjs +94 -17
- package/esm2022/lib/directives/readonly.directive.mjs +101 -0
- package/esm2022/lib/directives/updateblur.directive.mjs +10 -3
- package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +64 -26
- package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +96 -95
- package/esm2022/lib/dynamic-host/dynamic-host.component.mjs +121 -0
- package/esm2022/lib/locale/locale-de.mjs +3 -2
- package/esm2022/lib/locale/locale-en.mjs +3 -2
- package/esm2022/lib/locale/locale-es.mjs +3 -2
- package/esm2022/lib/locale/locale-fr.mjs +3 -2
- package/esm2022/lib/locale/locale-it.mjs +3 -2
- package/esm2022/lib/locale/locale-pt.mjs +3 -2
- package/esm2022/lib/services/chart.service.mjs +62 -56
- package/esm2022/lib/services/dialog.service.mjs +1 -1
- package/esm2022/lib/services/feel.service.mjs +186 -19
- package/esm2022/lib/services/form.service.mjs +360 -0
- package/esm2022/lib/services/formatter.service.mjs +68 -54
- package/esm2022/lib/services/function.service.mjs +9 -5
- package/esm2022/lib/services/global.service.mjs +42 -0
- package/esm2022/lib/services/grid.service.mjs +189 -53
- package/esm2022/lib/services/metadata.service.mjs +1 -8
- package/esm2022/lib/services/programmability.service.mjs +338 -64
- package/esm2022/lib/services/weak.service.mjs +3 -5
- package/esm2022/lib/utils/feelable.mjs +28 -0
- package/esm2022/lib/utils/groupByRow.mjs +3 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/wemake4u-form-player-se.mjs +1896 -577
- package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
- package/lib/components/actionsCellRenderer/actionsCellRenderer.component.d.ts +18 -0
- package/lib/components/deleteRowRenderer/deleteRowRenderer.component.d.ts +49 -0
- package/lib/components/hostCellRenderer/hostCellRenderer.component.d.ts +29 -0
- package/lib/components/objectURLRenderer/objectURLRenderer.component.d.ts +50 -0
- package/lib/{utils/setFilter.d.ts → components/setFilter/setFilter.component.d.ts} +1 -0
- package/lib/dialog/dialog.component.d.ts +11 -0
- package/lib/directives/collapse.directive.d.ts +7 -4
- package/lib/directives/dropdown.directive.d.ts +4 -0
- package/lib/directives/formIndex.directive.d.ts +10 -0
- package/lib/directives/grid.directive.d.ts +21 -4
- package/lib/directives/readonly.directive.d.ts +28 -0
- package/lib/dynamic-fields/dynamic-fields.component.d.ts +28 -4
- package/lib/dynamic-form/dynamic-form.component.d.ts +20 -10
- package/lib/dynamic-host/dynamic-host.component.d.ts +27 -0
- package/lib/locale/locale-de.d.ts +1 -0
- package/lib/locale/locale-en.d.ts +1 -0
- package/lib/locale/locale-es.d.ts +1 -0
- package/lib/locale/locale-fr.d.ts +1 -0
- package/lib/locale/locale-it.d.ts +1 -0
- package/lib/locale/locale-pt.d.ts +1 -0
- package/lib/locale/locale.d.ts +7 -0
- package/lib/services/chart.service.d.ts +5 -2
- package/lib/services/dialog.service.d.ts +0 -1
- package/lib/services/feel.service.d.ts +8 -0
- package/lib/services/form.service.d.ts +51 -0
- package/lib/services/formatter.service.d.ts +8 -6
- package/lib/services/function.service.d.ts +1 -1
- package/lib/services/global.service.d.ts +16 -0
- package/lib/services/grid.service.d.ts +16 -4
- package/lib/services/metadata.service.d.ts +0 -3
- package/lib/services/programmability.service.d.ts +33 -5
- package/lib/utils/feelable.d.ts +2 -0
- package/lib/utils/groupByRow.d.ts +2 -0
- package/package.json +2 -2
- package/public-api.d.ts +1 -0
- package/esm2022/lib/directives/disable.directive.mjs +0 -71
- package/esm2022/lib/directives/disableform.directive.mjs +0 -42
- package/esm2022/lib/utils/gridCells.mjs +0 -108
- package/esm2022/lib/utils/patchForm.mjs +0 -75
- package/esm2022/lib/utils/setFilter.mjs +0 -111
- package/lib/directives/disable.directive.d.ts +0 -20
- package/lib/directives/disableform.directive.d.ts +0 -17
- package/lib/utils/gridCells.d.ts +0 -110
- package/lib/utils/patchForm.d.ts +0 -9
|
@@ -13,8 +13,7 @@ export class FunctionService {
|
|
|
13
13
|
this.injector = injector;
|
|
14
14
|
}
|
|
15
15
|
invokable(func) {
|
|
16
|
-
|
|
17
|
-
if (className === 'FunctionWrapper') {
|
|
16
|
+
if (typeof func?.invoke === 'function') {
|
|
18
17
|
return (...args) => func.invoke(args);
|
|
19
18
|
}
|
|
20
19
|
else {
|
|
@@ -22,11 +21,16 @@ export class FunctionService {
|
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
23
|
openForm(template, options) {
|
|
25
|
-
|
|
24
|
+
let formSchema;
|
|
25
|
+
if (typeof template === 'string') {
|
|
26
|
+
formSchema = this.metadata.getTemplateByName(template);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
formSchema = template;
|
|
30
|
+
}
|
|
26
31
|
if (formSchema) {
|
|
27
32
|
const formOptions = {
|
|
28
33
|
...options,
|
|
29
|
-
language: this.metadata.getLanguage(),
|
|
30
34
|
injector: this.injector
|
|
31
35
|
};
|
|
32
36
|
this.dialog.openDialog(formSchema, formOptions);
|
|
@@ -44,4 +48,4 @@ export class FunctionService {
|
|
|
44
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FunctionService, decorators: [{
|
|
45
49
|
type: Injectable
|
|
46
50
|
}], ctorParameters: () => [{ type: i1.MetadataService }, { type: i2.DialogService }, { type: i0.Injector }] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL2Z1bmN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFJbkQsTUFBTSxPQUFPLGVBQWU7SUFFTjtJQUNSO0lBQ0E7SUFGWixZQUFvQixRQUF5QixFQUNqQyxNQUFxQixFQUNyQixRQUFrQjtRQUZWLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFJLENBQUM7SUFFbkMsU0FBUyxDQUFDLElBQVM7UUFDakIsSUFBSSxPQUFPLElBQUksRUFBRSxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDdkMsT0FBTyxDQUFDLEdBQUcsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFDSSxDQUFDO1lBQ0osT0FBTyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsUUFBeUIsRUFBRSxPQUFzQjtRQUV4RCxJQUFJLFVBQWUsQ0FBQztRQUVwQixJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sV0FBVyxHQUFzQjtnQkFDckMsR0FBRyxPQUFPO2dCQUNWLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QixDQUFBO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRTtZQUN6QixVQUFVO1lBQ1YsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBeENVLGVBQWU7NEdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1ldGFkYXRhU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21ldGFkYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlLCBEaWFsb2dPcHRpb25zLCBGb3JtRGlhbG9nT3B0aW9ucyB9IGZyb20gJy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9Cb3VuZEFycm93cyB9IGZyb20gJy4uL3V0aWxzL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IElFdmFsdWF0b3JQcm92aWRlciB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2dyYW1tYWJpbGl0eS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uU2VydmljZSBpbXBsZW1lbnRzIElFdmFsdWF0b3JQcm92aWRlciB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWV0YWRhdGE6IE1ldGFkYXRhU2VydmljZVxyXG4gICAgLCBwcml2YXRlIGRpYWxvZzogRGlhbG9nU2VydmljZVxyXG4gICAgLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcikgeyB9XHJcblxyXG4gIGludm9rYWJsZShmdW5jOiBhbnkpOiBGdW5jdGlvbiB7XHJcbiAgICBpZiAodHlwZW9mIGZ1bmM/Lmludm9rZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gKC4uLmFyZ3M6IGFueSkgPT4gZnVuYy5pbnZva2UoYXJncyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuICgpID0+IHsgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5Gb3JtKHRlbXBsYXRlOiBzdHJpbmcgfCBvYmplY3QsIG9wdGlvbnM6IERpYWxvZ09wdGlvbnMpXHJcbiAge1xyXG4gICAgbGV0IGZvcm1TY2hlbWE6IGFueTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHRlbXBsYXRlID09PSAnc3RyaW5nJykge1xyXG4gICAgICBmb3JtU2NoZW1hID0gdGhpcy5tZXRhZGF0YS5nZXRUZW1wbGF0ZUJ5TmFtZSh0ZW1wbGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3JtU2NoZW1hID0gdGVtcGxhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZvcm1TY2hlbWEpIHtcclxuICAgICAgY29uc3QgZm9ybU9wdGlvbnM6IEZvcm1EaWFsb2dPcHRpb25zID0ge1xyXG4gICAgICAgIC4uLm9wdGlvbnMsXHJcbiAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3JcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5kaWFsb2cub3BlbkRpYWxvZyhmb3JtU2NoZW1hLCBmb3JtT3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDb250ZXh0KCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG4gICAgcmV0dXJuIFRvQm91bmRBcnJvd3ModGhpcywgW1xyXG4gICAgICBcIm9wZW5Gb3JtXCIsXHJcbiAgICAgIFwiaW52b2thYmxlXCJcclxuICAgIF0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GlobalService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
clearProperties() {
|
|
6
|
+
this.properties = {};
|
|
7
|
+
}
|
|
8
|
+
setProperties(properties) {
|
|
9
|
+
this.properties = { ...this.properties, ...properties };
|
|
10
|
+
}
|
|
11
|
+
getProperties() {
|
|
12
|
+
return this.properties || {};
|
|
13
|
+
}
|
|
14
|
+
getProperty(name, defaultValue = undefined) {
|
|
15
|
+
const properties = this.getProperties();
|
|
16
|
+
if (name in properties) {
|
|
17
|
+
return properties[name];
|
|
18
|
+
}
|
|
19
|
+
return defaultValue;
|
|
20
|
+
}
|
|
21
|
+
registerComponent(typeName, componentType) {
|
|
22
|
+
this.components[typeName] = componentType;
|
|
23
|
+
}
|
|
24
|
+
getComponents() {
|
|
25
|
+
return this.components || {};
|
|
26
|
+
}
|
|
27
|
+
getComponent(typeName) {
|
|
28
|
+
return this.getComponents()[typeName] ?? null;
|
|
29
|
+
}
|
|
30
|
+
//#region Private Members
|
|
31
|
+
properties = {};
|
|
32
|
+
components = {};
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalService, providedIn: 'root' });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalService, decorators: [{
|
|
37
|
+
type: Injectable,
|
|
38
|
+
args: [{
|
|
39
|
+
providedIn: 'root'
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: () => [] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9zZXJ2aWNlcy9nbG9iYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDOztBQUtqRCxNQUFNLE9BQU8sYUFBYTtJQUV4QixnQkFBZ0IsQ0FBQztJQUVqQixlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUErQjtRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWSxFQUFFLGVBQW9CLFNBQVM7UUFDckQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLElBQUksSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxhQUF3QjtRQUMxRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGFBQWEsQ0FBQztJQUM1QyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFnQjtRQUMzQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDaEQsQ0FBQztJQUVELHlCQUF5QjtJQUVqQixVQUFVLEdBQXdCLEVBQUUsQ0FBQztJQUVyQyxVQUFVLEdBQThCLEVBQUUsQ0FBQzt3R0F4Q3hDLGFBQWE7NEdBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGNsZWFyUHJvcGVydGllcygpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGVydGllcyA9IHt9O1xyXG4gIH1cclxuXHJcbiAgc2V0UHJvcGVydGllcyhwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BlcnRpZXMgPSB7IC4uLnRoaXMucHJvcGVydGllcywgLi4ucHJvcGVydGllcyB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvcGVydGllcygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMgfHwgeyB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvcGVydHkobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IGFueSA9IHVuZGVmaW5lZCk6IGFueSB7XHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5nZXRQcm9wZXJ0aWVzKCk7XHJcbiAgICBpZiAobmFtZSBpbiBwcm9wZXJ0aWVzKSB7XHJcbiAgICAgIHJldHVybiBwcm9wZXJ0aWVzW25hbWVdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyQ29tcG9uZW50KHR5cGVOYW1lOiBzdHJpbmcsIGNvbXBvbmVudFR5cGU6IFR5cGU8YW55Pik6IHZvaWQge1xyXG4gICAgdGhpcy5jb21wb25lbnRzW3R5cGVOYW1lXSA9IGNvbXBvbmVudFR5cGU7XHJcbiAgfVxyXG5cclxuICBnZXRDb21wb25lbnRzKCk6IFJlY29yZDxzdHJpbmcsIFR5cGU8YW55Pj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50cyB8fCB7fTtcclxuICB9XHJcblxyXG4gIGdldENvbXBvbmVudCh0eXBlTmFtZTogc3RyaW5nKTogVHlwZTxhbnk+IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDb21wb25lbnRzKClbdHlwZU5hbWVdID8/IG51bGw7XHJcbiAgfVxyXG4gIFxyXG4gIC8vI3JlZ2lvbiBQcml2YXRlIE1lbWJlcnNcclxuXHJcbiAgcHJpdmF0ZSBwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcblxyXG4gIHByaXZhdGUgY29tcG9uZW50czogUmVjb3JkPHN0cmluZywgVHlwZTxhbnk+PiA9IHt9O1xyXG5cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4iXX0=
|