nuxeo-development-framework 6.1.7 → 6.1.9
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/bundles/nuxeo-development-framework.umd.js +4866 -4790
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +2 -2
- package/esm2015/lib/components/tables/dynamic-table/public-api.js +1 -2
- package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +65 -50
- package/esm2015/lib/components/tables/ndf-table/services/ndf-table.service.js +10 -14
- package/esm2015/lib/components/tables/public-api.js +4 -3
- package/esm2015/lib/components/tables/shared/index.js +2 -0
- package/esm2015/lib/components/tables/shared/table-hooks.service.js +84 -0
- package/fesm2015/nuxeo-development-framework.js +6251 -6213
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.d.ts +1 -16
- package/lib/components/tables/dynamic-table/public-api.d.ts +0 -1
- package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +8 -6
- package/lib/components/tables/ndf-table/services/ndf-table.service.d.ts +0 -2
- package/lib/components/tables/public-api.d.ts +3 -2
- package/lib/components/tables/shared/index.d.ts +1 -0
- package/lib/components/tables/shared/table-hooks.service.d.ts +36 -0
- package/package.json +1 -1
- package/esm2015/lib/components/tables/dynamic-table/services/table-hooks.service.js +0 -56
- package/lib/components/tables/dynamic-table/services/table-hooks.service.d.ts +0 -13
|
@@ -3,25 +3,21 @@ import { map } from 'rxjs/operators';
|
|
|
3
3
|
import { BaseService } from '../../../../shared/services';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class NdfTableService extends BaseService {
|
|
6
|
-
constructor(injector) {
|
|
7
|
-
super(injector);
|
|
8
|
-
}
|
|
9
6
|
exportTable(request, payload) {
|
|
10
|
-
return this.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}).pipe(map((res) => `${res === null || res === void 0 ? void 0 : res.Status}`.toLowerCase() === 'success'));
|
|
7
|
+
return this._callApiService
|
|
8
|
+
.customQuery({
|
|
9
|
+
url: request.url,
|
|
10
|
+
method: (request.method || 'POST'),
|
|
11
|
+
}, request === null || request === void 0 ? void 0 : request.headers, request === null || request === void 0 ? void 0 : request.params, payload)
|
|
12
|
+
.pipe(map((res) => `${res === null || res === void 0 ? void 0 : res.Status}`.toLowerCase() === 'success'));
|
|
17
13
|
}
|
|
18
14
|
}
|
|
19
|
-
NdfTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTableService, deps:
|
|
15
|
+
NdfTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTableService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
16
|
NdfTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTableService, providedIn: 'root' });
|
|
21
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTableService, decorators: [{
|
|
22
18
|
type: Injectable,
|
|
23
19
|
args: [{
|
|
24
|
-
providedIn: 'root'
|
|
20
|
+
providedIn: 'root',
|
|
25
21
|
}]
|
|
26
|
-
}]
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvc2VydmljZXMvbmRmLXRhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUsxRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQzlDLFdBQVcsQ0FBQyxPQUF5QixFQUFFLE9BQXlCO1FBQzlELE9BQU8sSUFBSSxDQUFDLGVBQWU7YUFDeEIsV0FBVyxDQUNWO1lBQ0UsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ2hCLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFtQjtTQUNyRCxFQUNELE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPLEVBQ2hCLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLEVBQ2YsT0FBTyxDQUNSO2FBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs2R0FiVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZGZFeHBvcnRQYXlsb2FkLCBOZGZSZXF1ZXN0Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5kZlRhYmxlU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlIHtcclxuICBleHBvcnRUYWJsZShyZXF1ZXN0OiBOZGZSZXF1ZXN0Q29uZmlnLCBwYXlsb2FkOiBOZGZFeHBvcnRQYXlsb2FkKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FsbEFwaVNlcnZpY2VcclxuICAgICAgLmN1c3RvbVF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogcmVxdWVzdC51cmwsXHJcbiAgICAgICAgICBtZXRob2Q6IChyZXF1ZXN0Lm1ldGhvZCB8fCAnUE9TVCcpIGFzICdQT1NUJyB8ICdHRVQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVxdWVzdD8uaGVhZGVycyxcclxuICAgICAgICByZXF1ZXN0Py5wYXJhbXMsXHJcbiAgICAgICAgcGF5bG9hZFxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKG1hcCgocmVzKSA9PiBgJHtyZXM/LlN0YXR1c31gLnRvTG93ZXJDYXNlKCkgPT09ICdzdWNjZXNzJykpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export * from './table';
|
|
2
|
-
export * from './ndf-table';
|
|
3
1
|
export * from './dynamic-table';
|
|
4
|
-
|
|
2
|
+
export * from './ndf-table';
|
|
3
|
+
export * from './shared';
|
|
4
|
+
export * from './table';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy10YWJsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbmRmLXRhYmxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlJztcclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './table-hooks.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFibGUtaG9va3Muc2VydmljZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { Utils } from 'formiojs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TableHooksService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.beforeSubmitHooks = [];
|
|
8
|
+
this.beforeExportHooks = [];
|
|
9
|
+
}
|
|
10
|
+
registerBeforeSubmit(handler) {
|
|
11
|
+
this.beforeSubmitHooks.push(handler);
|
|
12
|
+
}
|
|
13
|
+
unregisterBeforeSubmit(handler) {
|
|
14
|
+
const index = this.beforeSubmitHooks.indexOf(handler);
|
|
15
|
+
if (index > -1) {
|
|
16
|
+
this.beforeSubmitHooks.splice(index, 1);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
clearBeforeSubmitHooks() {
|
|
20
|
+
this.beforeSubmitHooks = [];
|
|
21
|
+
}
|
|
22
|
+
executeBeforeSubmit(payload) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
let modifiedPayload = Object.assign({}, payload);
|
|
25
|
+
for (const handler of this.beforeSubmitHooks) {
|
|
26
|
+
try {
|
|
27
|
+
const result = yield Promise.resolve(handler(modifiedPayload));
|
|
28
|
+
modifiedPayload = result !== null && result !== void 0 ? result : modifiedPayload;
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
console.error('Error executing beforeSubmit handler:', err);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return modifiedPayload;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
registerBeforeExport(handler) {
|
|
38
|
+
this.beforeExportHooks.push(handler);
|
|
39
|
+
}
|
|
40
|
+
unregisterBeforeExport(handler) {
|
|
41
|
+
const index = this.beforeExportHooks.indexOf(handler);
|
|
42
|
+
if (index > -1) {
|
|
43
|
+
this.beforeExportHooks.splice(index, 1);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
executeBeforeExport(payload, request) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
let context = {
|
|
49
|
+
payload: Object.assign({}, payload),
|
|
50
|
+
request: Object.assign({}, request),
|
|
51
|
+
};
|
|
52
|
+
for (const handler of this.beforeExportHooks) {
|
|
53
|
+
try {
|
|
54
|
+
const result = yield Promise.resolve(handler(context));
|
|
55
|
+
context = result !== null && result !== void 0 ? result : context;
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
console.error('Error executing beforeExport handler:', err);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return context;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
evaluate(expr, payload) {
|
|
65
|
+
try {
|
|
66
|
+
const context = { criteria: payload };
|
|
67
|
+
const result = Utils.evaluate(expr, context, 'payload');
|
|
68
|
+
return result !== null && result !== void 0 ? result : payload;
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
console.error('Error evaluating beforeSubmit string:', e);
|
|
72
|
+
return payload;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
TableHooksService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableHooksService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
+
TableHooksService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableHooksService, providedIn: 'root' });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableHooksService, decorators: [{
|
|
79
|
+
type: Injectable,
|
|
80
|
+
args: [{
|
|
81
|
+
providedIn: 'root',
|
|
82
|
+
}]
|
|
83
|
+
}] });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaG9va3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3NoYXJlZC90YWJsZS1ob29rcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBeUJqQyxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSVUsc0JBQWlCLEdBQXFCLEVBQUUsQ0FBQztRQUN6QyxzQkFBaUIsR0FBb0MsRUFBRSxDQUFDO0tBOEVqRTtJQTVFQyxvQkFBb0IsQ0FDbEIsT0FBcUI7UUFFckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsc0JBQXNCLENBQUksT0FBcUI7UUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFSyxtQkFBbUIsQ0FDdkIsT0FBVTs7WUFFVixJQUFJLGVBQWUscUJBQVEsT0FBTyxDQUFFLENBQUM7WUFFckMsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzVDLElBQUk7b0JBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO29CQUMvRCxlQUFlLEdBQUcsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksZUFBZSxDQUFDO2lCQUM3QztnQkFBQyxPQUFPLEdBQUcsRUFBRTtvQkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUM3RDthQUNGO1lBRUQsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQztLQUFBO0lBRUQsb0JBQW9CLENBQUMsT0FBc0M7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBc0M7UUFDM0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVLLG1CQUFtQixDQUN2QixPQUFpQixFQUNqQixPQUFpQjs7WUFFakIsSUFBSSxPQUFPLEdBQXVCO2dCQUNoQyxPQUFPLG9CQUFPLE9BQU8sQ0FBRTtnQkFDdkIsT0FBTyxvQkFBTyxPQUFPLENBQUU7YUFDeEIsQ0FBQztZQUVGLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUM1QyxJQUFJO29CQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDdkQsT0FBTyxHQUFHLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLE9BQU8sQ0FBQztpQkFDN0I7Z0JBQUMsT0FBTyxHQUFHLEVBQUU7b0JBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDN0Q7YUFDRjtZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7S0FBQTtJQUVELFFBQVEsQ0FBZ0MsSUFBWSxFQUFFLE9BQVU7UUFDOUQsSUFBSTtZQUNGLE1BQU0sT0FBTyxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN4RCxPQUFPLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLE9BQU8sQ0FBQztTQUMxQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxRCxPQUFPLE9BQU8sQ0FBQztTQUNoQjtJQUNILENBQUM7OytHQS9FVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnZm9ybWlvanMnO1xyXG5pbXBvcnQgeyBOZGZFeHBvcnRQYXlsb2FkLCBOZGZSZXF1ZXN0Q29uZmlnIH0gZnJvbSAnLi4vbmRmLXRhYmxlL21vZGVscyc7XHJcblxyXG5leHBvcnQgdHlwZSBUYWJsZVByb3ZpZGVyUmVxdWVzdCA9IHtcclxuICBxdWVyeTogeyBwYWdlUHJvdmlkZXI6IHN0cmluZzsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgb3B0aW9uczogeyBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IH07XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBUYWJsZUN1c3RvbVJlcXVlc3QgPSB7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55PjtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVFeHBvcnRDb250ZXh0ICB7XHJcbiAgcGF5bG9hZDogTmRmRXhwb3J0UGF5bG9hZDtcclxuICByZXF1ZXN0OiBOZGZSZXF1ZXN0Q29uZmlnO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUYWJsZUhvb2s8VD4gPSAocGF5bG9hZDogVCkgPT4gVCB8IFByb21pc2U8VD47XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVIb29rc1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgYmVmb3JlU3VibWl0SG9va3M6IFRhYmxlSG9vazxhbnk+W10gPSBbXTtcclxuICBwcml2YXRlIGJlZm9yZUV4cG9ydEhvb2tzOiBUYWJsZUhvb2s8VGFibGVFeHBvcnRDb250ZXh0PltdID0gW107XHJcblxyXG4gIHJlZ2lzdGVyQmVmb3JlU3VibWl0PFQgPSBUYWJsZVByb3ZpZGVyUmVxdWVzdCB8IFRhYmxlQ3VzdG9tUmVxdWVzdD4oXHJcbiAgICBoYW5kbGVyOiBUYWJsZUhvb2s8VD5cclxuICApOiB2b2lkIHtcclxuICAgIHRoaXMuYmVmb3JlU3VibWl0SG9va3MucHVzaChoYW5kbGVyKTtcclxuICB9XHJcblxyXG4gIHVucmVnaXN0ZXJCZWZvcmVTdWJtaXQ8VD4oaGFuZGxlcjogVGFibGVIb29rPFQ+KTogdm9pZCB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuYmVmb3JlU3VibWl0SG9va3MuaW5kZXhPZihoYW5kbGVyKTtcclxuICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgIHRoaXMuYmVmb3JlU3VibWl0SG9va3Muc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyQmVmb3JlU3VibWl0SG9va3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJlZm9yZVN1Ym1pdEhvb2tzID0gW107XHJcbiAgfVxyXG5cclxuICBhc3luYyBleGVjdXRlQmVmb3JlU3VibWl0PFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcclxuICAgIHBheWxvYWQ6IFRcclxuICApOiBQcm9taXNlPFQ+IHtcclxuICAgIGxldCBtb2RpZmllZFBheWxvYWQgPSB7IC4uLnBheWxvYWQgfTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgdGhpcy5iZWZvcmVTdWJtaXRIb29rcykge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UucmVzb2x2ZShoYW5kbGVyKG1vZGlmaWVkUGF5bG9hZCkpO1xyXG4gICAgICAgIG1vZGlmaWVkUGF5bG9hZCA9IHJlc3VsdCA/PyBtb2RpZmllZFBheWxvYWQ7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4ZWN1dGluZyBiZWZvcmVTdWJtaXQgaGFuZGxlcjonLCBlcnIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG1vZGlmaWVkUGF5bG9hZDtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyQmVmb3JlRXhwb3J0KGhhbmRsZXI6IFRhYmxlSG9vazxUYWJsZUV4cG9ydENvbnRleHQ+KTogdm9pZCB7XHJcbiAgICB0aGlzLmJlZm9yZUV4cG9ydEhvb2tzLnB1c2goaGFuZGxlcik7XHJcbiAgfVxyXG5cclxuICB1bnJlZ2lzdGVyQmVmb3JlRXhwb3J0KGhhbmRsZXI6IFRhYmxlSG9vazxUYWJsZUV4cG9ydENvbnRleHQ+KTogdm9pZCB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuYmVmb3JlRXhwb3J0SG9va3MuaW5kZXhPZihoYW5kbGVyKTtcclxuICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgIHRoaXMuYmVmb3JlRXhwb3J0SG9va3Muc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGV4ZWN1dGVCZWZvcmVFeHBvcnQ8VFBheWxvYWQgZXh0ZW5kcyBOZGZFeHBvcnRQYXlsb2FkLCBUUmVxdWVzdCBleHRlbmRzIE5kZlJlcXVlc3RDb25maWc+KFxyXG4gICAgcGF5bG9hZDogVFBheWxvYWQsXHJcbiAgICByZXF1ZXN0OiBUUmVxdWVzdFxyXG4gICk6IFByb21pc2U8VGFibGVFeHBvcnRDb250ZXh0PiB7XHJcbiAgICBsZXQgY29udGV4dDogVGFibGVFeHBvcnRDb250ZXh0ID0ge1xyXG4gICAgICBwYXlsb2FkOiB7IC4uLnBheWxvYWQgfSxcclxuICAgICAgcmVxdWVzdDogeyAuLi5yZXF1ZXN0IH0sXHJcbiAgICB9O1xyXG5cclxuICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiB0aGlzLmJlZm9yZUV4cG9ydEhvb2tzKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGhhbmRsZXIoY29udGV4dCkpO1xyXG4gICAgICAgIGNvbnRleHQgPSByZXN1bHQgPz8gY29udGV4dDtcclxuICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXhlY3V0aW5nIGJlZm9yZUV4cG9ydCBoYW5kbGVyOicsIGVycik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29udGV4dDtcclxuICB9XHJcblxyXG4gIGV2YWx1YXRlPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihleHByOiBzdHJpbmcsIHBheWxvYWQ6IFQpOiBUIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB7IGNyaXRlcmlhOiBwYXlsb2FkIH07XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFV0aWxzLmV2YWx1YXRlKGV4cHIsIGNvbnRleHQsICdwYXlsb2FkJyk7XHJcbiAgICAgIHJldHVybiByZXN1bHQgPz8gcGF5bG9hZDtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXZhbHVhdGluZyBiZWZvcmVTdWJtaXQgc3RyaW5nOicsIGUpO1xyXG4gICAgICByZXR1cm4gcGF5bG9hZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|