@smartbit4all/ng-client 3.3.125 → 3.3.126
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/smart-component-layout/smart-component-layout-utility.mjs +17 -1
- package/esm2020/lib/smart-component-layout/smart-component-layout.component.mjs +8 -2
- package/fesm2015/smartbit4all-ng-client.mjs +100 -80
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +99 -79
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-component-layout/smart-component-layout-utility.d.ts +1 -0
- package/package.json +2 -1
- package/smartbit4all-ng-client-3.3.126.tgz +0 -0
- package/smartbit4all-ng-client-3.3.125.tgz +0 -0
|
@@ -1,8 +1,24 @@
|
|
|
1
|
+
import { deepEqual } from 'fast-equals';
|
|
2
|
+
import structuredClone from '@ungap/structured-clone';
|
|
1
3
|
export class SmartComponentLayoutUtility {
|
|
2
4
|
static setParent(layout, parent) {
|
|
3
5
|
layout.parentComponent = parent;
|
|
4
6
|
layout.components?.forEach((l) => this.setParent(l, parent));
|
|
5
7
|
}
|
|
8
|
+
static equals(layout1, layout2) {
|
|
9
|
+
if ((layout1 && !layout2) || (layout2 && !layout1)) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
if (!layout1 && !layout2) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
// both layout1 and layout2 exists
|
|
16
|
+
let l1 = structuredClone(layout1);
|
|
17
|
+
this.setParent(l1, null);
|
|
18
|
+
let l2 = structuredClone(layout1);
|
|
19
|
+
this.setParent(l2, null);
|
|
20
|
+
return deepEqual(l1, l2);
|
|
21
|
+
}
|
|
6
22
|
static getForms(comp) {
|
|
7
23
|
let result = [];
|
|
8
24
|
if (comp.components) {
|
|
@@ -75,4 +91,4 @@ export class SmartComponentLayoutUtility {
|
|
|
75
91
|
return comp.expandableComponents?.first?.componentRef?.instance;
|
|
76
92
|
}
|
|
77
93
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLDJCQUEyQjtJQUMvQixNQUFNLENBQUMsU0FBUyxDQUFDLE1BQXNDLEVBQUUsTUFBVztRQUN6RSxNQUFNLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQztRQUNoQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFtQztRQUN4RCxJQUFJLE1BQU0sR0FBeUIsRUFBRSxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVTtpQkFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM1QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztTQUMxQjtRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsRUFBRTtZQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMs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QUM7U0FDMUI7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FDM0IsSUFBbUM7UUFFbkMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7SUFDbEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU21hcnRmb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZm9ybS9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0R3JpZENvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWdyaWQvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydHRyZWVHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXRyZWUvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24gfSBmcm9tICcuL2FwaSc7XHJcbmltcG9ydCB7IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY2xhc3MgU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5IHtcclxuICBwdWJsaWMgc3RhdGljIHNldFBhcmVudChsYXlvdXQ6IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbiwgcGFyZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGxheW91dC5wYXJlbnRDb21wb25lbnQgPSBwYXJlbnQ7XHJcbiAgICBsYXlvdXQuY29tcG9uZW50cz8uZm9yRWFjaCgobCkgPT4gdGhpcy5zZXRQYXJlbnQobCwgcGFyZW50KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldEZvcm1zKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogU21hcnRmb3JtQ29tcG9uZW50W10ge1xyXG4gICAgbGV0IHJlc3VsdDogU21hcnRmb3JtQ29tcG9uZW50W10gPSBbXTtcclxuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcclxuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcclxuICAgICAgICAubWFwKChjKSA9PiB0aGlzLmdldEZvcm1zKGMpKVxyXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XHJcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xyXG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldEZvcm1zKGV4cGFuZGFibGUpKTtcclxuICAgIH1cclxuICAgIGlmIChjb21wLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xyXG4gICAgICByZXN1bHQucHVzaChjb21wLnNtYXJ0Rm9ybUNvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRHcmlkcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFNtYXJ0R3JpZENvbXBvbmVudFtdIHtcclxuICAgIGxldCByZXN1bHQ6IFNtYXJ0R3JpZENvbXBvbmVudFtdID0gW107XHJcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXHJcbiAgICAgICAgLm1hcCgoYykgPT4gdGhpcy5nZXRHcmlkcyhjKSlcclxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xyXG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xyXG4gICAgaWYgKGV4cGFuZGFibGUpIHtcclxuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRHcmlkcyhleHBhbmRhYmxlKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tcC5zbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydEdyaWRDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VHJlZXMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBTbWFydHRyZWVHZW5lcmljU2VydmljZVtdIHtcclxuICAgIGxldCByZXN1bHQ6IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlW10gPSBbXTtcclxuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcclxuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcclxuICAgICAgICA/Lm1hcCgoYykgPT4gdGhpcy5nZXRUcmVlcyhjKSlcclxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xyXG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xyXG4gICAgaWYgKGV4cGFuZGFibGUpIHtcclxuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRUcmVlcyhleHBhbmRhYmxlKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tcC50cmVlU2VydmljZSkge1xyXG4gICAgICByZXN1bHQucHVzaChjb21wLnRyZWVTZXJ2aWNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldFRvb2xiYXJzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50W10ge1xyXG4gICAgbGV0IHJlc3VsdDogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50W10gPSBbXTtcclxuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcclxuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcclxuICAgICAgICAubWFwKChjKSA9PiB0aGlzLmdldFRvb2xiYXJzKGMpKVxyXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XHJcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xyXG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldFRvb2xiYXJzKGV4cGFuZGFibGUpKTtcclxuICAgIH1cclxuICAgIGlmIChjb21wLnRvb2xiYXIpIHtcclxuICAgICAgcmVzdWx0LnB1c2goY29tcC50b29sYmFyKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChcclxuICAgIGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50XHJcbiAgKTogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIGNvbXAuZXhwYW5kYWJsZUNvbXBvbmVudHM/LmZpcnN0Py5jb21wb25lbnRSZWY/Lmluc3RhbmNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU94QyxPQUFPLGVBQWUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxNQUFNLE9BQU8sMkJBQTJCO0lBQy9CLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBc0MsRUFBRSxNQUFXO1FBQ3pFLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUNsQixPQUF3QyxFQUN4QyxPQUF3QztRQUV4QyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0Qsa0NBQWtDO1FBQ2xDLElBQUksRUFBRSxHQUFHLGVBQWUsQ0FBQyxPQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNB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RSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWVwRXF1YWwgfSBmcm9tICdmYXN0LWVxdWFscyc7XHJcbmltcG9ydCB7IFNtYXJ0Zm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEdyaWRDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1ncmlkL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9zbWFydC10cmVlL3Byb2plY3RzJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uIH0gZnJvbSAnLi9hcGknO1xyXG5pbXBvcnQgeyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgc3RydWN0dXJlZENsb25lIGZyb20gJ0B1bmdhcC9zdHJ1Y3R1cmVkLWNsb25lJztcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Q29tcG9uZW50TGF5b3V0VXRpbGl0eSB7XHJcbiAgcHVibGljIHN0YXRpYyBzZXRQYXJlbnQobGF5b3V0OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24sIHBhcmVudDogYW55KTogdm9pZCB7XHJcbiAgICBsYXlvdXQucGFyZW50Q29tcG9uZW50ID0gcGFyZW50O1xyXG4gICAgbGF5b3V0LmNvbXBvbmVudHM/LmZvckVhY2goKGwpID0+IHRoaXMuc2V0UGFyZW50KGwsIHBhcmVudCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBlcXVhbHMoXHJcbiAgICBsYXlvdXQxPzogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uLFxyXG4gICAgbGF5b3V0Mj86IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvblxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKChsYXlvdXQxICYmICFsYXlvdXQyKSB8fCAobGF5b3V0MiAmJiAhbGF5b3V0MSkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKCFsYXlvdXQxICYmICFsYXlvdXQyKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy8gYm90aCBsYXlvdXQxIGFuZCBsYXlvdXQyIGV4aXN0c1xyXG4gICAgbGV0IGwxID0gc3RydWN0dXJlZENsb25lKGxheW91dDEhKTtcclxuICAgIHRoaXMuc2V0UGFyZW50KGwxLCBudWxsKTtcclxuICAgIGxldCBsMiA9IHN0cnVjdHVyZWRDbG9uZShsYXlvdXQxISk7XHJcbiAgICB0aGlzLnNldFBhcmVudChsMiwgbnVsbCk7XHJcbiAgICByZXR1cm4gZGVlcEVxdWFsKGwxLCBsMik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldEZvcm1zKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogU21hcnRmb3JtQ29tcG9uZW50W10ge1xyXG4gICAgbGV0IHJlc3VsdDogU21hcnRmb3JtQ29tcG9uZW50W10gPSBbXTtcclxuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcclxuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcclxuICAgICAgICAubWFwKChjKSA9PiB0aGlzLmdldEZvcm1zKGMpKVxyXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XHJcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xyXG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldEZvcm1zKGV4cGFuZGFibGUpKTtcclxuICAgIH1cclxuICAgIGlmIChjb21wLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xyXG4gICAgICByZXN1bHQucHVzaChjb21wLnNtYXJ0Rm9ybUNvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRHcmlkcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFNtYXJ0R3JpZENvbXBvbmVudFtdIHtcclxuICAgIGxldCByZXN1bHQ6IFNtYXJ0R3JpZENvbXBvbmVudFtdID0gW107XHJcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXHJcbiAgICAgICAgLm1hcCgoYykgPT4gdGhpcy5nZXRHcmlkcyhjKSlcclxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xyXG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xyXG4gICAgaWYgKGV4cGFuZGFibGUpIHtcclxuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRHcmlkcyhleHBhbmRhYmxlKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tcC5zbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydEdyaWRDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VHJlZXMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBTbWFydHRyZWVHZW5lcmljU2VydmljZVtdIHtcclxuICAgIGxldCByZXN1bHQ6IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlW10gPSBbXTtcclxuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcclxuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcclxuICAgICAgICA/Lm1hcCgoYykgPT4gdGhpcy5nZXRUcmVlcyhjKSlcclxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xyXG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xyXG4gICAgaWYgKGV4cGFuZGFibGUpIHtcclxuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRUcmVlcyhleHBhbmRhYmxlKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tcC50cmVlU2VydmljZSkge1xyXG4gICAgICByZXN1bHQucHVzaChjb21wLnRyZWVTZXJ2aWNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldFRvb2xiYXJzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50W10ge1xyXG4gICAgbGV0IHJlc3VsdDogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50W10gPSBbXTtcclxuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcclxuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcclxuICAgICAgICAubWFwKChjKSA9PiB0aGlzLmdldFRvb2xiYXJzKGMpKVxyXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XHJcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xyXG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldFRvb2xiYXJzKGV4cGFuZGFibGUpKTtcclxuICAgIH1cclxuICAgIGlmIChjb21wLnRvb2xiYXIpIHtcclxuICAgICAgcmVzdWx0LnB1c2goY29tcC50b29sYmFyKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChcclxuICAgIGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50XHJcbiAgKTogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIGNvbXAuZXhwYW5kYWJsZUNvbXBvbmVudHM/LmZpcnN0Py5jb21wb25lbnRSZWY/Lmluc3RhbmNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -4,6 +4,7 @@ import { SmartFormWidgetDirection, } from '../smart-form/projects';
|
|
|
4
4
|
import { GridUiActionType, SmartLayoutDef, } from '../smart-grid/projects';
|
|
5
5
|
import { ExpandableSectionComponent, } from '../smart-expandable-section/projects';
|
|
6
6
|
import { Subject, takeUntil } from 'rxjs';
|
|
7
|
+
import { SmartComponentLayoutUtility } from './smart-component-layout-utility';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "../smart-form/projects";
|
|
9
10
|
import * as i2 from "../smart-expandable-section/expandable-section.component";
|
|
@@ -59,7 +60,12 @@ export class SmartComponentLayoutComponent {
|
|
|
59
60
|
this._destroy$.complete();
|
|
60
61
|
}
|
|
61
62
|
ngOnChanges(changes) {
|
|
62
|
-
|
|
63
|
+
let newLayout = changes['smartComponentLayout'].currentValue;
|
|
64
|
+
if (SmartComponentLayoutUtility.equals(this.smartComponentLayout, newLayout)) {
|
|
65
|
+
// no change in layout, don't setup again
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this.smartComponentLayout = newLayout;
|
|
63
69
|
if (this.smartComponentLayout) {
|
|
64
70
|
this.setUp();
|
|
65
71
|
}
|
|
@@ -236,4 +242,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
236
242
|
type: ViewChildren,
|
|
237
243
|
args: [SmartComponentLayoutComponent]
|
|
238
244
|
}] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsS0FBSyxFQU9MLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixlQUFlLEdBRWhCLE1BQU0sT0FBTyxDQUFDO0FBQ2YsT0FBTyxFQUVMLHdCQUF3QixHQUd6QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFDTCxnQkFBZ0IsRUFHaEIsY0FBYyxHQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFHaEMsT0FBTyxFQUVMLDBCQUEwQixHQUMzQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLDZCQUE2QjtJQXNDeEMsWUFBb0IsYUFBK0M7UUFBL0Msa0JBQWEsR0FBYixhQUFhLENBQWtDO1FBckN6RCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7SUFxQ21CLENBQUM7SUFFdkUsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDbEQ7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LDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSx3QkFBd0I7dUhBT3pCLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFLTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsTUFBTTtnQkFNcEIsYUFBYTtzQkFEWixZQUFZO3VCQUFDLE1BQU07Z0JBTXBCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxRQUFRO2dCQU10QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsU0FBUztnQkFXdkIsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLDBCQUEwQjtnQkFJeEMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDaGlsZHJlbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnRUeXBlLFxyXG4gIENvbXBvbmVudFdpZGdldFR5cGUsXHJcbiAgTGF5b3V0RGlyZWN0aW9uLFxyXG4gIFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbixcclxufSBmcm9tICcuL2FwaSc7XHJcbmltcG9ydCB7XHJcbiAgU21hcnRGb3JtLFxyXG4gIFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbixcclxuICBTbWFydGZvcm1Db21wb25lbnQsXHJcbiAgU21hcnRmb3JtTGF5b3V0RGVmaW5pdGlvblNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vc21hcnQtZm9ybS9wcm9qZWN0cyc7XHJcbmltcG9ydCB7XHJcbiAgR3JpZFVpQWN0aW9uVHlwZSxcclxuICBTbWFydEdyaWQsXHJcbiAgU21hcnRHcmlkQ29tcG9uZW50LFxyXG4gIFNtYXJ0TGF5b3V0RGVmLFxyXG59IGZyb20gJy4uL3NtYXJ0LWdyaWQvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlciwgU21hcnRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1maWx0ZXIvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydHRyZWVHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXRyZWUvcHJvamVjdHMnO1xyXG5pbXBvcnQge1xyXG4gIEV4cGFuZGFibGVTZWN0aW9uLFxyXG4gIEV4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50LFxyXG59IGZyb20gJy4uL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvcHJvamVjdHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1jb21wb25lbnQtbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgQElucHV0KCkgc21hcnRDb21wb25lbnRMYXlvdXQ/OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb247XHJcblxyXG4gIHV1aWQ/OiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2Zvcm0nKVxyXG4gIHNtYXJ0Rm9ybUxpc3QhOiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PjtcclxuICBzbWFydEZvcm1Db21wb25lbnQ/OiBTbWFydGZvcm1Db21wb25lbnQ7XHJcbiAgc21hcnRGb3JtPzogU21hcnRGb3JtO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdncmlkJylcclxuICBzbWFydEdyaWRMaXN0ITogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD47XHJcbiAgc21hcnRHcmlkQ29tcG9uZW50PzogU21hcnRHcmlkQ29tcG9uZW50O1xyXG4gIHNtYXJ0R3JpZD86IFNtYXJ0R3JpZDtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignZmlsdGVyJylcclxuICBzbWFydEZpbHRlckxpc3QhOiBRdWVyeUxpc3Q8U21hcnRGaWx0ZXJDb21wb25lbnQ+O1xyXG4gIHNtYXJ0RmlsdGVyQ29tcG9uZW50PzogU21hcnRGaWx0ZXJDb21wb25lbnQ7XHJcbiAgc21hcnRGaWx0ZXI/OiBTbWFydEZpbHRlcjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbigndG9vbGJhcicpXHJcbiAgdG9vbGJhckxpc3QhOiBRdWVyeUxpc3Q8VWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50PjtcclxuICB0b29sYmFyPzogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50O1xyXG4gIHRvb2xiYXJJZD86IHN0cmluZztcclxuXHJcbiAgcGFyZW50PzogYW55OyAvL1NtYXJ0Q29tcG9uZW50PGFueT5cclxuICB0cmVlU2VydmljZT86IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlO1xyXG5cclxuICBleHBhbmRhYmxlU2VjdGlvbj86IEV4cGFuZGFibGVTZWN0aW9uPFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbj47XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oRXhwYW5kYWJsZVNlY3Rpb25Db21wb25lbnQpXHJcbiAgZXhwYW5kYWJsZUNvbXBvbmVudHMhOiBRdWVyeUxpc3Q8RXhwYW5kYWJsZVNlY3Rpb25Db21wb25lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkcmVuKFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KVxyXG4gIGNvbXBvbmVudHMhOiBRdWVyeUxpc3Q8U21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxheW91dFNlcnZpY2U6IFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zbWFydEZvcm1MaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldEZvcm1Db21wb25lbnQodGhpcy5zbWFydEZvcm1MaXN0Py5maXJzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0Rm9ybUxpc3QuY2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0Rm9ybUNvbXBvbmVudChsaXN0LmZpcnN0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRHcmlkTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXRHcmlkQ29tcG9uZW50KHRoaXMuc21hcnRHcmlkTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zbWFydEdyaWRMaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD4pID0+IHtcclxuICAgICAgICB0aGlzLnNldEdyaWRDb21wb25lbnQobGlzdC5maXJzdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc21hcnRGaWx0ZXJMaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCA9IGxpc3QuZmlyc3Q7XHJcbiAgICAgICAgICB0aGlzLmJpbmRGaWx0ZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnRvb2xiYXJMaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldFRvb2xiYXJDb21wb25lbnQodGhpcy50b29sYmFyTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50b29sYmFyTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRUb29sYmFyQ29tcG9uZW50KGxpc3QuZmlyc3QpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dCkge1xyXG4gICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0ID0gY2hhbmdlc1snc21hcnRDb21wb25lbnRMYXlvdXQnXS5jdXJyZW50VmFsdWU7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQpIHtcclxuICAgICAgdGhpcy5zZXRVcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVcCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyZW50ID0gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ucGFyZW50Q29tcG9uZW50IGFzIGFueTtcclxuICAgIHRoaXMudXVpZCA9IHRoaXMucGFyZW50LnV1aWQ7XHJcbiAgICB0aGlzLnRyZWVTZXJ2aWNlID0gdGhpcy5wYXJlbnQuc21hcnRUcmVlU2VydmljZTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5kaXJlY3Rpb247XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGUpIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RFeHBhbmRhYmxlU2VjdGlvbigpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py50eXBlID09PSBDb21wb25lbnRUeXBlLkZPUk0pIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IENvbXBvbmVudFR5cGUuV0lER0VUKSB7XHJcbiAgICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5HUklEKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RHcmlkKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuRklMVEVSKSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKCdDb21wb25lbnRXaWRnZXRUeXBlLkZJTFRFUiBpcyBub3Qgc3VwcG9ydGVkJyk7XHJcbiAgICAgICAgLy8gdGhpcy5jb25zdHJ1Y3RGaWx0ZXIoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5UUkVFKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RUcmVlKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuVE9PTEJBUikge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0VG9vbGJhcigpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucGFyZW50LmluaXRBY3Rpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0eXBlKCk6IHR5cGVvZiBDb21wb25lbnRUeXBlIHtcclxuICAgIHJldHVybiBDb21wb25lbnRUeXBlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0RXhwYW5kYWJsZVNlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBsZXQgZGF0YTogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uID0geyAuLi50aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0ISB9O1xyXG4gICAgZGF0YS5leHBhbmRhYmxlID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5leHBhbmRhYmxlU2VjdGlvbiA9IHtcclxuICAgICAgdGl0bGU6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGVTZWN0aW9uTGFiZWwgPz8gJycsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGlucHV0TmFtZTogJ3NtYXJ0Q29tcG9uZW50TGF5b3V0JyxcclxuICAgICAgY3VzdG9tQ29tcG9uZW50OiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RGb3JtKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgd2lkZ2V0cyA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZm9ybSxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc21hcnRGb3JtID0ge1xyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuZ2V0Rm9ybUxheW91dCgpLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogdGhpcy5wYXJlbnQ/Lm1vZGVsLFxyXG4gICAgICB3aWRnZXRzLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmJpbmRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtTGF5b3V0KCk6IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbiB7XHJcbiAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5kaXJlY3Rpb24gPT09IExheW91dERpcmVjdGlvbi5IT1JJWk9OVEFMXHJcbiAgICAgICAgPyBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XXHJcbiAgICAgICAgOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uQ09MO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0w7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtQ29tcG9uZW50KGNvbXA6IFNtYXJ0Zm9ybUNvbXBvbmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCA9IGNvbXA7XHJcbiAgICAgIHRoaXMuYmluZEZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJpbmRGb3JtKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50Py51c2VRdWVyeUxpc3RzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNtYXJ0Rm9ybSAmJiB0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnBhcmVudD8uYWRkRm9ybShcclxuICAgICAgICAvLyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZvcm1cclxuICAgICAgICBgZm9ybV8ke3RoaXMubWFrZWlkKDUpfWAsXHJcbiAgICAgICAgdGhpcy5zbWFydEZvcm0sXHJcbiAgICAgICAgdGhpcy5zbWFydEZvcm1Db21wb25lbnRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1ha2VpZChsZW5ndGg6IG51bWJlcikge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgY29uc3QgY2hhcmFjdGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XHJcbiAgICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XHJcbiAgICBsZXQgY291bnRlciA9IDA7XHJcbiAgICB3aGlsZSAoY291bnRlciA8IGxlbmd0aCkge1xyXG4gICAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xyXG4gICAgICBjb3VudGVyICs9IDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0R3JpZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc21hcnRHcmlkID0ge1xyXG4gICAgICBncmlkSWRlbnRpZmllcjogdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5pZGVudGlmaWVyISxcclxuICAgICAgZ3JpZE1vZGVsOiB7XHJcbiAgICAgICAgcGFnZToge30sXHJcbiAgICAgIH0sXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByb3dVaUFjdGlvblR5cGU6IEdyaWRVaUFjdGlvblR5cGUuUE9QVVBfTUVOVSxcclxuICAgICAgfSxcclxuICAgICAgbGF5b3V0RGVmOiBTbWFydExheW91dERlZi5UQUJMRSxcclxuICAgICAgcGFnaW5hdG9yOiB0cnVlLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmJpbmRHcmlkKCk7XHJcbiAgfVxyXG5cclxuICBzZXRHcmlkQ29tcG9uZW50KGNvbXA6IFNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCA9IGNvbXA7XHJcbiAgICAgIHRoaXMuYmluZEdyaWQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJpbmRHcmlkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50Py51c2VRdWVyeUxpc3RzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNtYXJ0R3JpZCAmJiB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0R3JpZCA9IHRoaXMucGFyZW50Py5hZGRHcmlkKFxyXG4gICAgICAgIHRoaXMuc21hcnRHcmlkLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHJvd1VpQWN0aW9uVHlwZTogR3JpZFVpQWN0aW9uVHlwZS5QT1BVUF9NRU5VLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZmFsc2UsXHJcbiAgICAgICAgdGhpcy5zbWFydEdyaWRDb21wb25lbnRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFRvb2xiYXJDb21wb25lbnQoY29tcDogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50KSB7XHJcbiAgICB0aGlzLnRvb2xiYXIgPSBjb21wO1xyXG4gIH1cclxuXHJcbiAgLy8gTk9UIFVTRUQsIERPRVNOJ1QgV09SS1xyXG4gIC8vIGNvbnN0cnVjdEZpbHRlcigpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMuc21hcnRGaWx0ZXIgPSAodGhpcy5zbWFydENvbXBvbmVudExheW91dCEucGFyZW50Q29tcG9uZW50IGFzIGFueSkuYWRkRmlsdGVyKFxyXG4gIC8vICAgICBgZmlsdGVyXyR7dGhpcy5tYWtlaWQoNSl9YCxcclxuICAvLyAgICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5maWx0ZXJFeHByZXNzaW9uRmllbGRMaXN0LFxyXG4gIC8vICAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmZpbHRlclR5cGUsXHJcbiAgLy8gICAgIHRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnRcclxuICAvLyAgICk7XHJcbiAgLy8gfVxyXG5cclxuICBiaW5kRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgLy8gVE9ET1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VHJlZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhcmVudD8udXNlUXVlcnlMaXN0cykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnBhcmVudC5zZXRVcERlZmF1bHRUcmVlKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcik7XHJcbiAgICB0aGlzLnRyZWVTZXJ2aWNlPy5pbml0aWFsaXplKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RUb29sYmFyKCk6IHZvaWQge1xyXG4gICAgbGV0IHRvb2xiYXJJZCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcjtcclxuICAgIGlmICh0aGlzLnRvb2xiYXJJZCAhPT0gdG9vbGJhcklkKSB7XHJcbiAgICAgIHRoaXMudG9vbGJhcklkID0gdG9vbGJhcklkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGU7IHRoZW4gZXhwYW5kYWJsZTsgZWxzZSBub3JtYWxcIj4gPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2V4cGFuZGFibGU+XHJcbiAgPHNtYXJ0LWV4cGFuZGFibGUtc2VjdGlvblxyXG4gICAgKm5nSWY9XCJleHBhbmRhYmxlU2VjdGlvblwiXHJcbiAgICBbZGF0YV09XCJleHBhbmRhYmxlU2VjdGlvblwiXHJcbiAgPjwvc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNub3JtYWw+XHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJzbWFydENvbXBvbmVudExheW91dD8udHlwZSA9PT0gdHlwZSgpLkNPTlRBSU5FUlwiXHJcbiAgICBbbmdDbGFzc109XCJzbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uID8/ICd2ZXJ0aWNhbCdcIlxyXG4gID5cclxuICAgIDxzbWFydC1jb21wb25lbnQtbGF5b3V0XHJcbiAgICAgICpuZ0Zvcj1cImxldCBsYXlvdXQgb2Ygc21hcnRDb21wb25lbnRMYXlvdXQ/LmNvbXBvbmVudHNcIlxyXG4gICAgICBbc21hcnRDb21wb25lbnRMYXlvdXRdPVwibGF5b3V0XCJcclxuICAgID48L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQ+XHJcbiAgPC9kaXY+XHJcbiAgPHNtYXJ0Zm9ybSAqbmdJZj1cInNtYXJ0Rm9ybVwiICNmb3JtIFtzbWFydEZvcm1dPVwic21hcnRGb3JtXCI+PC9zbWFydGZvcm0+XHJcbiAgPHNtYXJ0LWdyaWQgKm5nSWY9XCJzbWFydEdyaWRcIiAjZ3JpZCBbc21hcnRHcmlkXT1cInNtYXJ0R3JpZFwiIFt1dWlkXT1cInV1aWQhXCI+PC9zbWFydC1ncmlkPlxyXG4gIDwhLS0gPHNtYXJ0LWZpbHRlciAjZmlsdGVyIFtmaWx0ZXJdPVwic21hcnRGaWx0ZXJcIj48L3NtYXJ0LWZpbHRlcj4gLS0+XHJcbiAgPHNtYXJ0LXRyZWUgKm5nSWY9XCJ0cmVlU2VydmljZVwiIFt0cmVlU2VydmljZV09XCJ0cmVlU2VydmljZSFcIj48L3NtYXJ0LXRyZWU+XHJcbiAgPHNtYXJ0LXVpLWFjdGlvbi10b29sYmFyICpuZ0lmPVwiISF0b29sYmFySWRcIiAjdG9vbGJhciBbaWRdPVwidG9vbGJhcklkXCI+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsS0FBSyxFQU9MLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixlQUFlLEdBRWhCLE1BQU0sT0FBTyxDQUFDO0FBQ2YsT0FBTyxFQUVMLHdCQUF3QixHQUd6QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFDTCxnQkFBZ0IsRUFHaEIsY0FBYyxHQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFHaEMsT0FBTyxFQUVMLDBCQUEwQixHQUMzQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFPL0UsTUFBTSxPQUFPLDZCQUE2QjtJQXNDeEMsWUFBb0IsYUFBK0M7UUFBL0Msa0JBQWEsR0FBYixhQUFhLENBQWtDO1FBckN6RCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7SUFxQ21CLENBQUM7SUFFdkUsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGdCQUFnQixD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QUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUM1QjtJQUNILENBQUM7OzBIQTVRVSw2QkFBNkI7OEdBQTdCLDZCQUE2QixrZEFnQzFCLDBCQUEwQixnRUFHMUIsNkJBQTZCLHFFQ2hGN0Msc2xDQXlCQSwwT0RvQmEsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0Usd0JBQXdCO3VIQU96QixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixZQUFZO3VCQUFDLE1BQU07Z0JBTXBCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxNQUFNO2dCQU1wQixlQUFlO3NCQURkLFlBQVk7dUJBQUMsUUFBUTtnQkFNdEIsV0FBVztzQkFEVixZQUFZO3VCQUFDLFNBQVM7Z0JBV3ZCLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQywwQkFBMEI7Z0JBSXhDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50VHlwZSxcclxuICBDb21wb25lbnRXaWRnZXRUeXBlLFxyXG4gIExheW91dERpcmVjdGlvbixcclxuICBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24sXHJcbn0gZnJvbSAnLi9hcGknO1xyXG5pbXBvcnQge1xyXG4gIFNtYXJ0Rm9ybSxcclxuICBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24sXHJcbiAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gIFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlLFxyXG59IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQge1xyXG4gIEdyaWRVaUFjdGlvblR5cGUsXHJcbiAgU21hcnRHcmlkLFxyXG4gIFNtYXJ0R3JpZENvbXBvbmVudCxcclxuICBTbWFydExheW91dERlZixcclxufSBmcm9tICcuLi9zbWFydC1ncmlkL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXIsIFNtYXJ0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZmlsdGVyL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9zbWFydC10cmVlL3Byb2plY3RzJztcclxuaW1wb3J0IHtcclxuICBFeHBhbmRhYmxlU2VjdGlvbixcclxuICBFeHBhbmRhYmxlU2VjdGlvbkNvbXBvbmVudCxcclxufSBmcm9tICcuLi9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5IH0gZnJvbSAnLi9zbWFydC1jb21wb25lbnQtbGF5b3V0LXV0aWxpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1jb21wb25lbnQtbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgQElucHV0KCkgc21hcnRDb21wb25lbnRMYXlvdXQ/OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb247XHJcblxyXG4gIHV1aWQ/OiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2Zvcm0nKVxyXG4gIHNtYXJ0Rm9ybUxpc3QhOiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PjtcclxuICBzbWFydEZvcm1Db21wb25lbnQ/OiBTbWFydGZvcm1Db21wb25lbnQ7XHJcbiAgc21hcnRGb3JtPzogU21hcnRGb3JtO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdncmlkJylcclxuICBzbWFydEdyaWRMaXN0ITogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD47XHJcbiAgc21hcnRHcmlkQ29tcG9uZW50PzogU21hcnRHcmlkQ29tcG9uZW50O1xyXG4gIHNtYXJ0R3JpZD86IFNtYXJ0R3JpZDtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignZmlsdGVyJylcclxuICBzbWFydEZpbHRlckxpc3QhOiBRdWVyeUxpc3Q8U21hcnRGaWx0ZXJDb21wb25lbnQ+O1xyXG4gIHNtYXJ0RmlsdGVyQ29tcG9uZW50PzogU21hcnRGaWx0ZXJDb21wb25lbnQ7XHJcbiAgc21hcnRGaWx0ZXI/OiBTbWFydEZpbHRlcjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbigndG9vbGJhcicpXHJcbiAgdG9vbGJhckxpc3QhOiBRdWVyeUxpc3Q8VWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50PjtcclxuICB0b29sYmFyPzogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50O1xyXG4gIHRvb2xiYXJJZD86IHN0cmluZztcclxuXHJcbiAgcGFyZW50PzogYW55OyAvL1NtYXJ0Q29tcG9uZW50PGFueT5cclxuICB0cmVlU2VydmljZT86IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlO1xyXG5cclxuICBleHBhbmRhYmxlU2VjdGlvbj86IEV4cGFuZGFibGVTZWN0aW9uPFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbj47XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oRXhwYW5kYWJsZVNlY3Rpb25Db21wb25lbnQpXHJcbiAgZXhwYW5kYWJsZUNvbXBvbmVudHMhOiBRdWVyeUxpc3Q8RXhwYW5kYWJsZVNlY3Rpb25Db21wb25lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkcmVuKFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KVxyXG4gIGNvbXBvbmVudHMhOiBRdWVyeUxpc3Q8U21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxheW91dFNlcnZpY2U6IFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zbWFydEZvcm1MaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldEZvcm1Db21wb25lbnQodGhpcy5zbWFydEZvcm1MaXN0Py5maXJzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0Rm9ybUxpc3QuY2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0Rm9ybUNvbXBvbmVudChsaXN0LmZpcnN0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRHcmlkTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXRHcmlkQ29tcG9uZW50KHRoaXMuc21hcnRHcmlkTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zbWFydEdyaWRMaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD4pID0+IHtcclxuICAgICAgICB0aGlzLnNldEdyaWRDb21wb25lbnQobGlzdC5maXJzdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc21hcnRGaWx0ZXJMaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCA9IGxpc3QuZmlyc3Q7XHJcbiAgICAgICAgICB0aGlzLmJpbmRGaWx0ZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnRvb2xiYXJMaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldFRvb2xiYXJDb21wb25lbnQodGhpcy50b29sYmFyTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50b29sYmFyTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRUb29sYmFyQ29tcG9uZW50KGxpc3QuZmlyc3QpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dCkge1xyXG4gICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBsZXQgbmV3TGF5b3V0ID0gY2hhbmdlc1snc21hcnRDb21wb25lbnRMYXlvdXQnXS5jdXJyZW50VmFsdWUgYXMgU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uO1xyXG4gICAgaWYgKFNtYXJ0Q29tcG9uZW50TGF5b3V0VXRpbGl0eS5lcXVhbHModGhpcy5zbWFydENvbXBvbmVudExheW91dCwgbmV3TGF5b3V0KSkge1xyXG4gICAgICAvLyBubyBjaGFuZ2UgaW4gbGF5b3V0LCBkb24ndCBzZXR1cCBhZ2FpblxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0ID0gbmV3TGF5b3V0O1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0KSB7XHJcbiAgICAgIHRoaXMuc2V0VXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmVudCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnBhcmVudENvbXBvbmVudCBhcyBhbnk7XHJcbiAgICB0aGlzLnV1aWQgPSB0aGlzLnBhcmVudC51dWlkO1xyXG4gICAgdGhpcy50cmVlU2VydmljZSA9IHRoaXMucGFyZW50LnNtYXJ0VHJlZVNlcnZpY2U7XHJcblxyXG4gICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uO1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5leHBhbmRhYmxlKSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0RXhwYW5kYWJsZVNlY3Rpb24oKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8udHlwZSA9PT0gQ29tcG9uZW50VHlwZS5GT1JNKSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0Rm9ybSgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py50eXBlID09PSBDb21wb25lbnRUeXBlLldJREdFVCkge1xyXG4gICAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuR1JJRCkge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0R3JpZCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLkZJTFRFUikge1xyXG4gICAgICAgIGNvbnNvbGUud2FybignQ29tcG9uZW50V2lkZ2V0VHlwZS5GSUxURVIgaXMgbm90IHN1cHBvcnRlZCcpO1xyXG4gICAgICAgIC8vIHRoaXMuY29uc3RydWN0RmlsdGVyKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuVFJFRSkge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0VHJlZSgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLlRPT0xCQVIpIHtcclxuICAgICAgICB0aGlzLmNvbnN0cnVjdFRvb2xiYXIoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnBhcmVudC5pbml0QWN0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHlwZSgpOiB0eXBlb2YgQ29tcG9uZW50VHlwZSB7XHJcbiAgICByZXR1cm4gQ29tcG9uZW50VHlwZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEV4cGFuZGFibGVTZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgbGV0IGRhdGE6IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbiA9IHsgLi4udGhpcy5zbWFydENvbXBvbmVudExheW91dCEgfTtcclxuICAgIGRhdGEuZXhwYW5kYWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuZXhwYW5kYWJsZVNlY3Rpb24gPSB7XHJcbiAgICAgIHRpdGxlOiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5leHBhbmRhYmxlU2VjdGlvbkxhYmVsID8/ICcnLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBpbnB1dE5hbWU6ICdzbWFydENvbXBvbmVudExheW91dCcsXHJcbiAgICAgIGN1c3RvbUNvbXBvbmVudDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0Rm9ybSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHdpZGdldHMgPSB0aGlzLmxheW91dFNlcnZpY2UucmVuZGVyKHtcclxuICAgICAgbGF5b3V0RGVmaW5pdGlvbnM6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmZvcm0sXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLmdldEZvcm1MYXlvdXQoKSxcclxuICAgICAgY29tcG9uZW50TW9kZWw6IHRoaXMucGFyZW50Py5tb2RlbCxcclxuICAgICAgd2lkZ2V0cyxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5iaW5kRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9ybUxheW91dCgpOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24ge1xyXG4gICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmRpcmVjdGlvbikge1xyXG4gICAgICByZXR1cm4gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uID09PSBMYXlvdXREaXJlY3Rpb24uSE9SSVpPTlRBTFxyXG4gICAgICAgID8gU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLlJPV1xyXG4gICAgICAgIDogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLkNPTDtcclxuICAgIH1cclxuICAgIHJldHVybiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uQ09MO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9ybUNvbXBvbmVudChjb21wOiBTbWFydGZvcm1Db21wb25lbnQpIHtcclxuICAgIGlmICghdGhpcy5zbWFydEZvcm1Db21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zbWFydEZvcm1Db21wb25lbnQgPSBjb21wO1xyXG4gICAgICB0aGlzLmJpbmRGb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBiaW5kRm9ybSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhcmVudD8udXNlUXVlcnlMaXN0cykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zbWFydEZvcm0gJiYgdGhpcy5zbWFydEZvcm1Db21wb25lbnQpIHtcclxuICAgICAgdGhpcy5wYXJlbnQ/LmFkZEZvcm0oXHJcbiAgICAgICAgLy8gdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBmb3JtXHJcbiAgICAgICAgYGZvcm1fJHt0aGlzLm1ha2VpZCg1KX1gLFxyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtLFxyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYWtlaWQobGVuZ3RoOiBudW1iZXIpIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xyXG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IGNoYXJhY3RlcnMubGVuZ3RoO1xyXG4gICAgbGV0IGNvdW50ZXIgPSAwO1xyXG4gICAgd2hpbGUgKGNvdW50ZXIgPCBsZW5ndGgpIHtcclxuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnNMZW5ndGgpKTtcclxuICAgICAgY291bnRlciArPSAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEdyaWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0R3JpZCA9IHtcclxuICAgICAgZ3JpZElkZW50aWZpZXI6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllciEsXHJcbiAgICAgIGdyaWRNb2RlbDoge1xyXG4gICAgICAgIHBhZ2U6IHt9LFxyXG4gICAgICB9LFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcm93VWlBY3Rpb25UeXBlOiBHcmlkVWlBY3Rpb25UeXBlLlBPUFVQX01FTlUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGxheW91dERlZjogU21hcnRMYXlvdXREZWYuVEFCTEUsXHJcbiAgICAgIHBhZ2luYXRvcjogdHJ1ZSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5iaW5kR3JpZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0R3JpZENvbXBvbmVudChjb21wOiBTbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgIGlmICghdGhpcy5zbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zbWFydEdyaWRDb21wb25lbnQgPSBjb21wO1xyXG4gICAgICB0aGlzLmJpbmRHcmlkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBiaW5kR3JpZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhcmVudD8udXNlUXVlcnlMaXN0cykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zbWFydEdyaWQgJiYgdGhpcy5zbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zbWFydEdyaWQgPSB0aGlzLnBhcmVudD8uYWRkR3JpZChcclxuICAgICAgICB0aGlzLnNtYXJ0R3JpZCxcclxuICAgICAgICB7XHJcbiAgICAgICAgICByb3dVaUFjdGlvblR5cGU6IEdyaWRVaUFjdGlvblR5cGUuUE9QVVBfTUVOVSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZhbHNlLFxyXG4gICAgICAgIHRoaXMuc21hcnRHcmlkQ29tcG9uZW50XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRUb29sYmFyQ29tcG9uZW50KGNvbXA6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCkge1xyXG4gICAgdGhpcy50b29sYmFyID0gY29tcDtcclxuICB9XHJcblxyXG4gIC8vIE5PVCBVU0VELCBET0VTTidUIFdPUktcclxuICAvLyBjb25zdHJ1Y3RGaWx0ZXIoKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLnNtYXJ0RmlsdGVyID0gKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQhLnBhcmVudENvbXBvbmVudCBhcyBhbnkpLmFkZEZpbHRlcihcclxuICAvLyAgICAgYGZpbHRlcl8ke3RoaXMubWFrZWlkKDUpfWAsXHJcbiAgLy8gICAgIHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uZmlsdGVyRXhwcmVzc2lvbkZpZWxkTGlzdCxcclxuICAvLyAgICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5maWx0ZXJUeXBlLFxyXG4gIC8vICAgICB0aGlzLnNtYXJ0RmlsdGVyQ29tcG9uZW50XHJcbiAgLy8gICApO1xyXG4gIC8vIH1cclxuXHJcbiAgYmluZEZpbHRlcigpOiB2b2lkIHtcclxuICAgIC8vIFRPRE9cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdFRyZWUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYXJlbnQ/LnVzZVF1ZXJ5TGlzdHMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYXJlbnQuc2V0VXBEZWZhdWx0VHJlZSh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXIpO1xyXG4gICAgdGhpcy50cmVlU2VydmljZT8uaW5pdGlhbGl6ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VG9vbGJhcigpOiB2b2lkIHtcclxuICAgIGxldCB0b29sYmFySWQgPSB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXI7XHJcbiAgICBpZiAodGhpcy50b29sYmFySWQgIT09IHRvb2xiYXJJZCkge1xyXG4gICAgICB0aGlzLnRvb2xiYXJJZCA9IHRvb2xiYXJJZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInNtYXJ0Q29tcG9uZW50TGF5b3V0Py5leHBhbmRhYmxlOyB0aGVuIGV4cGFuZGFibGU7IGVsc2Ugbm9ybWFsXCI+IDwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNleHBhbmRhYmxlPlxyXG4gIDxzbWFydC1leHBhbmRhYmxlLXNlY3Rpb25cclxuICAgICpuZ0lmPVwiZXhwYW5kYWJsZVNlY3Rpb25cIlxyXG4gICAgW2RhdGFdPVwiZXhwYW5kYWJsZVNlY3Rpb25cIlxyXG4gID48L3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbm9ybWFsPlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IHR5cGUoKS5DT05UQUlORVJcIlxyXG4gICAgW25nQ2xhc3NdPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LmRpcmVjdGlvbiA/PyAndmVydGljYWwnXCJcclxuICA+XHJcbiAgICA8c21hcnQtY29tcG9uZW50LWxheW91dFxyXG4gICAgICAqbmdGb3I9XCJsZXQgbGF5b3V0IG9mIHNtYXJ0Q29tcG9uZW50TGF5b3V0Py5jb21wb25lbnRzXCJcclxuICAgICAgW3NtYXJ0Q29tcG9uZW50TGF5b3V0XT1cImxheW91dFwiXHJcbiAgICA+PC9zbWFydC1jb21wb25lbnQtbGF5b3V0PlxyXG4gIDwvZGl2PlxyXG4gIDxzbWFydGZvcm0gKm5nSWY9XCJzbWFydEZvcm1cIiAjZm9ybSBbc21hcnRGb3JtXT1cInNtYXJ0Rm9ybVwiPjwvc21hcnRmb3JtPlxyXG4gIDxzbWFydC1ncmlkICpuZ0lmPVwic21hcnRHcmlkXCIgI2dyaWQgW3NtYXJ0R3JpZF09XCJzbWFydEdyaWRcIiBbdXVpZF09XCJ1dWlkIVwiPjwvc21hcnQtZ3JpZD5cclxuICA8IS0tIDxzbWFydC1maWx0ZXIgI2ZpbHRlciBbZmlsdGVyXT1cInNtYXJ0RmlsdGVyXCI+PC9zbWFydC1maWx0ZXI+IC0tPlxyXG4gIDxzbWFydC10cmVlICpuZ0lmPVwidHJlZVNlcnZpY2VcIiBbdHJlZVNlcnZpY2VdPVwidHJlZVNlcnZpY2UhXCI+PC9zbWFydC10cmVlPlxyXG4gIDxzbWFydC11aS1hY3Rpb24tdG9vbGJhciAqbmdJZj1cIiEhdG9vbGJhcklkXCIgI3Rvb2xiYXIgW2lkXT1cInRvb2xiYXJJZFwiPjwvc21hcnQtdWktYWN0aW9uLXRvb2xiYXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -71,6 +71,7 @@ import { MatPaginatorModule } from '@angular/material/paginator';
|
|
|
71
71
|
import { FlatTreeControl, NestedTreeControl } from '@angular/cdk/tree';
|
|
72
72
|
import * as i10 from '@angular/material/tree';
|
|
73
73
|
import { MatTreeFlattener, MatTreeFlatDataSource, MatTreeModule, MatTreeNestedDataSource } from '@angular/material/tree';
|
|
74
|
+
import structuredClone from '@ungap/structured-clone';
|
|
74
75
|
import * as i1$5 from '@angular/material/toolbar';
|
|
75
76
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
76
77
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
@@ -13002,6 +13003,99 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13002
13003
|
* Public API Surface of smart-grid
|
|
13003
13004
|
*/
|
|
13004
13005
|
|
|
13006
|
+
class SmartComponentLayoutUtility {
|
|
13007
|
+
static setParent(layout, parent) {
|
|
13008
|
+
var _a;
|
|
13009
|
+
layout.parentComponent = parent;
|
|
13010
|
+
(_a = layout.components) === null || _a === void 0 ? void 0 : _a.forEach((l) => this.setParent(l, parent));
|
|
13011
|
+
}
|
|
13012
|
+
static equals(layout1, layout2) {
|
|
13013
|
+
if ((layout1 && !layout2) || (layout2 && !layout1)) {
|
|
13014
|
+
return false;
|
|
13015
|
+
}
|
|
13016
|
+
if (!layout1 && !layout2) {
|
|
13017
|
+
return true;
|
|
13018
|
+
}
|
|
13019
|
+
// both layout1 and layout2 exists
|
|
13020
|
+
let l1 = structuredClone(layout1);
|
|
13021
|
+
this.setParent(l1, null);
|
|
13022
|
+
let l2 = structuredClone(layout1);
|
|
13023
|
+
this.setParent(l2, null);
|
|
13024
|
+
return deepEqual(l1, l2);
|
|
13025
|
+
}
|
|
13026
|
+
static getForms(comp) {
|
|
13027
|
+
let result = [];
|
|
13028
|
+
if (comp.components) {
|
|
13029
|
+
const children = comp.components
|
|
13030
|
+
.map((c) => this.getForms(c))
|
|
13031
|
+
.reduce((acc, value) => acc.concat(value), []);
|
|
13032
|
+
result.push(...children);
|
|
13033
|
+
}
|
|
13034
|
+
const expandable = this.getExpandableComponent(comp);
|
|
13035
|
+
if (expandable) {
|
|
13036
|
+
result.push(...this.getForms(expandable));
|
|
13037
|
+
}
|
|
13038
|
+
if (comp.smartFormComponent) {
|
|
13039
|
+
result.push(comp.smartFormComponent);
|
|
13040
|
+
}
|
|
13041
|
+
return result;
|
|
13042
|
+
}
|
|
13043
|
+
static getGrids(comp) {
|
|
13044
|
+
let result = [];
|
|
13045
|
+
if (comp.components) {
|
|
13046
|
+
const children = comp.components
|
|
13047
|
+
.map((c) => this.getGrids(c))
|
|
13048
|
+
.reduce((acc, value) => acc.concat(value), []);
|
|
13049
|
+
result.push(...children);
|
|
13050
|
+
}
|
|
13051
|
+
const expandable = this.getExpandableComponent(comp);
|
|
13052
|
+
if (expandable) {
|
|
13053
|
+
result.push(...this.getGrids(expandable));
|
|
13054
|
+
}
|
|
13055
|
+
if (comp.smartGridComponent) {
|
|
13056
|
+
result.push(comp.smartGridComponent);
|
|
13057
|
+
}
|
|
13058
|
+
return result;
|
|
13059
|
+
}
|
|
13060
|
+
static getTrees(comp) {
|
|
13061
|
+
var _a;
|
|
13062
|
+
let result = [];
|
|
13063
|
+
if (comp.components) {
|
|
13064
|
+
const children = (_a = comp.components) === null || _a === void 0 ? void 0 : _a.map((c) => this.getTrees(c)).reduce((acc, value) => acc.concat(value), []);
|
|
13065
|
+
result.push(...children);
|
|
13066
|
+
}
|
|
13067
|
+
const expandable = this.getExpandableComponent(comp);
|
|
13068
|
+
if (expandable) {
|
|
13069
|
+
result.push(...this.getTrees(expandable));
|
|
13070
|
+
}
|
|
13071
|
+
if (comp.treeService) {
|
|
13072
|
+
result.push(comp.treeService);
|
|
13073
|
+
}
|
|
13074
|
+
return result;
|
|
13075
|
+
}
|
|
13076
|
+
static getToolbars(comp) {
|
|
13077
|
+
let result = [];
|
|
13078
|
+
if (comp.components) {
|
|
13079
|
+
const children = comp.components
|
|
13080
|
+
.map((c) => this.getToolbars(c))
|
|
13081
|
+
.reduce((acc, value) => acc.concat(value), []);
|
|
13082
|
+
result.push(...children);
|
|
13083
|
+
}
|
|
13084
|
+
const expandable = this.getExpandableComponent(comp);
|
|
13085
|
+
if (expandable) {
|
|
13086
|
+
result.push(...this.getToolbars(expandable));
|
|
13087
|
+
}
|
|
13088
|
+
if (comp.toolbar) {
|
|
13089
|
+
result.push(comp.toolbar);
|
|
13090
|
+
}
|
|
13091
|
+
return result;
|
|
13092
|
+
}
|
|
13093
|
+
static getExpandableComponent(comp) {
|
|
13094
|
+
var _a, _b, _c;
|
|
13095
|
+
return (_c = (_b = (_a = comp.expandableComponents) === null || _a === void 0 ? void 0 : _a.first) === null || _b === void 0 ? void 0 : _b.componentRef) === null || _c === void 0 ? void 0 : _c.instance;
|
|
13096
|
+
}
|
|
13097
|
+
}
|
|
13098
|
+
|
|
13005
13099
|
class SmartComponentLayoutComponent {
|
|
13006
13100
|
constructor(layoutService) {
|
|
13007
13101
|
this.layoutService = layoutService;
|
|
@@ -13050,7 +13144,12 @@ class SmartComponentLayoutComponent {
|
|
|
13050
13144
|
this._destroy$.complete();
|
|
13051
13145
|
}
|
|
13052
13146
|
ngOnChanges(changes) {
|
|
13053
|
-
|
|
13147
|
+
let newLayout = changes['smartComponentLayout'].currentValue;
|
|
13148
|
+
if (SmartComponentLayoutUtility.equals(this.smartComponentLayout, newLayout)) {
|
|
13149
|
+
// no change in layout, don't setup again
|
|
13150
|
+
return;
|
|
13151
|
+
}
|
|
13152
|
+
this.smartComponentLayout = newLayout;
|
|
13054
13153
|
if (this.smartComponentLayout) {
|
|
13055
13154
|
this.setUp();
|
|
13056
13155
|
}
|
|
@@ -14588,85 +14687,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
14588
14687
|
* Public API Surface of smarttree
|
|
14589
14688
|
*/
|
|
14590
14689
|
|
|
14591
|
-
class SmartComponentLayoutUtility {
|
|
14592
|
-
static setParent(layout, parent) {
|
|
14593
|
-
var _a;
|
|
14594
|
-
layout.parentComponent = parent;
|
|
14595
|
-
(_a = layout.components) === null || _a === void 0 ? void 0 : _a.forEach((l) => this.setParent(l, parent));
|
|
14596
|
-
}
|
|
14597
|
-
static getForms(comp) {
|
|
14598
|
-
let result = [];
|
|
14599
|
-
if (comp.components) {
|
|
14600
|
-
const children = comp.components
|
|
14601
|
-
.map((c) => this.getForms(c))
|
|
14602
|
-
.reduce((acc, value) => acc.concat(value), []);
|
|
14603
|
-
result.push(...children);
|
|
14604
|
-
}
|
|
14605
|
-
const expandable = this.getExpandableComponent(comp);
|
|
14606
|
-
if (expandable) {
|
|
14607
|
-
result.push(...this.getForms(expandable));
|
|
14608
|
-
}
|
|
14609
|
-
if (comp.smartFormComponent) {
|
|
14610
|
-
result.push(comp.smartFormComponent);
|
|
14611
|
-
}
|
|
14612
|
-
return result;
|
|
14613
|
-
}
|
|
14614
|
-
static getGrids(comp) {
|
|
14615
|
-
let result = [];
|
|
14616
|
-
if (comp.components) {
|
|
14617
|
-
const children = comp.components
|
|
14618
|
-
.map((c) => this.getGrids(c))
|
|
14619
|
-
.reduce((acc, value) => acc.concat(value), []);
|
|
14620
|
-
result.push(...children);
|
|
14621
|
-
}
|
|
14622
|
-
const expandable = this.getExpandableComponent(comp);
|
|
14623
|
-
if (expandable) {
|
|
14624
|
-
result.push(...this.getGrids(expandable));
|
|
14625
|
-
}
|
|
14626
|
-
if (comp.smartGridComponent) {
|
|
14627
|
-
result.push(comp.smartGridComponent);
|
|
14628
|
-
}
|
|
14629
|
-
return result;
|
|
14630
|
-
}
|
|
14631
|
-
static getTrees(comp) {
|
|
14632
|
-
var _a;
|
|
14633
|
-
let result = [];
|
|
14634
|
-
if (comp.components) {
|
|
14635
|
-
const children = (_a = comp.components) === null || _a === void 0 ? void 0 : _a.map((c) => this.getTrees(c)).reduce((acc, value) => acc.concat(value), []);
|
|
14636
|
-
result.push(...children);
|
|
14637
|
-
}
|
|
14638
|
-
const expandable = this.getExpandableComponent(comp);
|
|
14639
|
-
if (expandable) {
|
|
14640
|
-
result.push(...this.getTrees(expandable));
|
|
14641
|
-
}
|
|
14642
|
-
if (comp.treeService) {
|
|
14643
|
-
result.push(comp.treeService);
|
|
14644
|
-
}
|
|
14645
|
-
return result;
|
|
14646
|
-
}
|
|
14647
|
-
static getToolbars(comp) {
|
|
14648
|
-
let result = [];
|
|
14649
|
-
if (comp.components) {
|
|
14650
|
-
const children = comp.components
|
|
14651
|
-
.map((c) => this.getToolbars(c))
|
|
14652
|
-
.reduce((acc, value) => acc.concat(value), []);
|
|
14653
|
-
result.push(...children);
|
|
14654
|
-
}
|
|
14655
|
-
const expandable = this.getExpandableComponent(comp);
|
|
14656
|
-
if (expandable) {
|
|
14657
|
-
result.push(...this.getToolbars(expandable));
|
|
14658
|
-
}
|
|
14659
|
-
if (comp.toolbar) {
|
|
14660
|
-
result.push(comp.toolbar);
|
|
14661
|
-
}
|
|
14662
|
-
return result;
|
|
14663
|
-
}
|
|
14664
|
-
static getExpandableComponent(comp) {
|
|
14665
|
-
var _a, _b, _c;
|
|
14666
|
-
return (_c = (_b = (_a = comp.expandableComponents) === null || _a === void 0 ? void 0 : _a.first) === null || _b === void 0 ? void 0 : _b.componentRef) === null || _c === void 0 ? void 0 : _c.instance;
|
|
14667
|
-
}
|
|
14668
|
-
}
|
|
14669
|
-
|
|
14670
14690
|
/*
|
|
14671
14691
|
* Public API Surface of smart-component-layout
|
|
14672
14692
|
*/
|