@seniorsistemas/angular-components 14.15.0 → 14.15.1
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/seniorsistemas-angular-components.umd.js +23 -3
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/table/frozen-position/frozen-position.directive.d.ts +4 -1
- package/esm2015/components/table/frozen-position/frozen-position.directive.js +24 -5
- package/esm5/components/table/frozen-position/frozen-position.directive.js +25 -5
- package/fesm2015/seniorsistemas-angular-components.js +22 -3
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +23 -3
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, OnDestroy } from "@angular/core";
|
|
1
|
+
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from "@angular/core";
|
|
2
2
|
import { Table } from "primeng/table";
|
|
3
3
|
export declare class TableFrozenPositionDirective implements AfterViewInit, OnDestroy {
|
|
4
4
|
private el;
|
|
@@ -10,9 +10,12 @@ export declare class TableFrozenPositionDirective implements AfterViewInit, OnDe
|
|
|
10
10
|
private styleFixBodyRowHeight;
|
|
11
11
|
private fixHeadRowClassName;
|
|
12
12
|
private styleFixHeadRowHeight;
|
|
13
|
+
tableHeadObservable: MutationObserver;
|
|
14
|
+
onColumnsChanged: EventEmitter<any>;
|
|
13
15
|
constructor(el: ElementRef, host: Table);
|
|
14
16
|
ngAfterViewInit(): void;
|
|
15
17
|
ngOnDestroy(): void;
|
|
18
|
+
private setUpColumnMonitoring;
|
|
16
19
|
private applyStylesForTable;
|
|
17
20
|
private handleWindowResize;
|
|
18
21
|
private handleColResize;
|
|
@@ -1,28 +1,30 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { AfterViewInit, Directive, ElementRef, Input, OnDestroy } from "@angular/core";
|
|
2
|
+
import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy } from "@angular/core";
|
|
3
3
|
import { Table } from "primeng/table";
|
|
4
4
|
let TableFrozenPositionDirective = class TableFrozenPositionDirective {
|
|
5
5
|
constructor(el, host) {
|
|
6
6
|
this.el = el;
|
|
7
7
|
this.host = host;
|
|
8
8
|
this.sTableFrozenPosition = "left";
|
|
9
|
+
this.onColumnsChanged = new EventEmitter();
|
|
9
10
|
this.host.onColResize.subscribe(() => {
|
|
10
11
|
this.handleColResize();
|
|
11
12
|
});
|
|
12
13
|
window.addEventListener("resize", this.handleWindowResize.bind(this));
|
|
13
14
|
const componentId = new Date().getTime();
|
|
15
|
+
const htmlHead = document.getElementsByTagName("head")[0];
|
|
14
16
|
this.resetRowHeightClassName = `resetTableRowsHeight_${componentId}`;
|
|
15
17
|
const styleReset = document.createElement("style");
|
|
16
18
|
styleReset.innerHTML = `.${this.resetRowHeightClassName} tbody > tr, .${this.resetRowHeightClassName} thead > tr { height: auto; }`;
|
|
17
|
-
|
|
19
|
+
htmlHead.appendChild(styleReset);
|
|
18
20
|
this.fixBodyRowClassName = `fixTableBodyRowsHeight_${componentId}`;
|
|
19
21
|
this.styleFixBodyRowHeight = document.createElement("style");
|
|
20
22
|
this.styleFixBodyRowHeight.innerHTML = `.${this.fixBodyRowClassName} tbody > tr { height: auto; }`;
|
|
21
|
-
|
|
23
|
+
htmlHead.appendChild(this.styleFixBodyRowHeight);
|
|
22
24
|
this.fixHeadRowClassName = `fixTableHeadRowsHeight_${componentId}`;
|
|
23
25
|
this.styleFixHeadRowHeight = document.createElement("style");
|
|
24
26
|
this.styleFixHeadRowHeight.innerHTML = `.${this.fixHeadRowClassName} thead > tr { height: auto; }`;
|
|
25
|
-
|
|
27
|
+
htmlHead.appendChild(this.styleFixHeadRowHeight);
|
|
26
28
|
}
|
|
27
29
|
set sTableFrozenValue(_) {
|
|
28
30
|
setTimeout(() => {
|
|
@@ -33,9 +35,26 @@ let TableFrozenPositionDirective = class TableFrozenPositionDirective {
|
|
|
33
35
|
if (this.sTableFrozenPosition === "left")
|
|
34
36
|
return;
|
|
35
37
|
this.applyStylesForTable();
|
|
38
|
+
this.setUpColumnMonitoring();
|
|
36
39
|
}
|
|
37
40
|
ngOnDestroy() {
|
|
38
41
|
window.removeEventListener("resize", this.handleWindowResize.bind(this));
|
|
42
|
+
if (this.tableHeadObservable) {
|
|
43
|
+
this.tableHeadObservable.disconnect();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
setUpColumnMonitoring() {
|
|
47
|
+
this.tableHeadObservable = new MutationObserver(() => {
|
|
48
|
+
this.synchronizeRowHeight();
|
|
49
|
+
this.onColumnsChanged.emit(null);
|
|
50
|
+
});
|
|
51
|
+
const tableHeads = [...this.el.nativeElement.getElementsByTagName("thead")];
|
|
52
|
+
tableHeads.forEach((tableHead) => {
|
|
53
|
+
this.tableHeadObservable.observe(tableHead, {
|
|
54
|
+
subtree: true,
|
|
55
|
+
childList: true
|
|
56
|
+
});
|
|
57
|
+
});
|
|
39
58
|
}
|
|
40
59
|
applyStylesForTable() {
|
|
41
60
|
const scrollWrapper = this.el.nativeElement.querySelector(".ui-table-scrollable-wrapper");
|
|
@@ -126,4 +145,4 @@ TableFrozenPositionDirective = __decorate([
|
|
|
126
145
|
})
|
|
127
146
|
], TableFrozenPositionDirective);
|
|
128
147
|
export { TableFrozenPositionDirective };
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3RDLElBQWEsNEJBQTRCLEdBQXpDLE1BQWEsNEJBQTRCO0lBaUJyQyxZQUFvQixFQUFjLEVBQVUsSUFBVztRQUFuQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBTztRQWZ2RCx5QkFBb0IsR0FBRyxNQUFNLENBQUM7UUFnQjFCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFdEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsd0JBQXdCLFdBQVcsRUFBRSxDQUFDO1FBQ3JFLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsVUFBVSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsaUJBQWlCLElBQUksQ0FBQyx1QkFB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LENBQUMsbUJBQW1CLHlCQUF5QixTQUFTLE9BQU8sQ0FBQztZQUU3RyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtnQkFDeEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3JELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ2pEO1NBQ0o7SUFDTCxDQUFDO0NBQ0osQ0FBQTs7WUFwSDJCLFVBQVU7WUFBZ0IsS0FBSzs7QUFmdkQ7SUFEQyxLQUFLLEVBQUU7MEVBQ3NCO0FBRzlCO0lBREMsS0FBSyxFQUFFO3FFQUtQO0FBVFEsNEJBQTRCO0lBSHhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx3QkFBd0I7S0FDckMsQ0FBQztHQUNXLDRCQUE0QixDQXFJeEM7U0FySVksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW3NUYWJsZUZyb3plblBvc2l0aW9uXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRnJvemVuUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgc1RhYmxlRnJvemVuUG9zaXRpb24gPSBcImxlZnRcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNUYWJsZUZyb3plblZhbHVlKF86IGFueVtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmaXhCb2R5Um93Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdHlsZUZpeEJvZHlSb3dIZWlnaHQ6IGFueTtcbiAgICBwcml2YXRlIGZpeEhlYWRSb3dDbGFzc05hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIHN0eWxlRml4SGVhZFJvd0hlaWdodDogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBob3N0OiBUYWJsZSkge1xuICAgICAgICB0aGlzLmhvc3Qub25Db2xSZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgdGhpcy5oYW5kbGVDb2xSZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgY29uc3QgY29tcG9uZW50SWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgICB0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lID0gYHJlc2V0VGFibGVSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgY29uc3Qgc3R5bGVSZXNldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgc3R5bGVSZXNldC5pbm5lckhUTUwgPSBgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGJvZHkgPiB0ciwgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXS5hcHBlbmRDaGlsZChzdHlsZVJlc2V0KTtcblxuICAgICAgICB0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWUgPSBgZml4VGFibGVCb2R5Um93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICB0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lfSB0Ym9keSA+IHRyIHsgaGVpZ2h0OiBhdXRvOyB9YDtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdLmFwcGVuZENoaWxkKHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0KTtcblxuICAgICAgICB0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWUgPSBgZml4VGFibGVIZWFkUm93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lfSB0aGVhZCA+IHRyIHsgaGVpZ2h0OiBhdXRvOyB9YDtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdLmFwcGVuZENoaWxkKHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNUYWJsZUZyb3plblBvc2l0aW9uID09PSBcImxlZnRcIikgcmV0dXJuO1xuICAgICAgICB0aGlzLmFwcGx5U3R5bGVzRm9yVGFibGUoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseVN0eWxlc0ZvclRhYmxlKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxXcmFwcGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtc2Nyb2xsYWJsZS13cmFwcGVyXCIpO1xuICAgICAgICBpZiAoIXNjcm9sbFdyYXBwZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIHNjcm9sbC13cmFwcGVyIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZGlzcGxheSA9IFwiZmxleFwiO1xuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmZsZXhEaXJlY3Rpb24gPSBcInJvd1wiO1xuXG4gICAgICAgIGNvbnN0IGZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghZnJvemVuVGFibGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIGZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5vcmRlciA9IFwiMVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJSaWdodCA9IFwibm9uZVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJMZWZ0ID0gXCIxcHggc29saWQgI2RkZGRkZFwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3hTaGFkb3cgPSBcIi01cHggMCA1cHggLTVweCAjY2NjY2NjXCI7XG5cbiAgICAgICAgY29uc3QgdW5mcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLXVuZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghdW5mcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgdW5mcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdW5mcm96ZW5UYWJsZS5zdHlsZS5wb3NpdGlvbiA9IFwidW5zZXRcIjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ29sUmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzeW5jaHJvbml6ZVJvd0hlaWdodCgpIHtcbiAgICAgICAgY29uc3QgdGFibGVCb2R5V3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtYm9keVwiKTtcbiAgICAgICAgY29uc3QgdGFibGVCb2RpZXMgPSBbLi4udGFibGVCb2R5V3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG4gICAgICAgIHRoaXMuYXBwbHlNYXhSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuXG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZFdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3hcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZHMgPSBbLi4udGFibGVIZWFkV3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUhlYWRzKTtcbiAgICAgICAgdGhpcy5hcHBseU1heFJvd0hlaWdodCh0YWJsZUhlYWRzLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZXM6IGFueVtdKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4SGVhZFJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QuYWRkKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseU1heFJvd0hlaWdodCh0YWJsZXM6IGFueVtdLCBpc0hlYWQ6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBjb25zdCByb3dTaXplcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCB0ciBvZiB0YWJsZS5yb3dzKSB7XG4gICAgICAgICAgICAgICAgcm93U2l6ZXMucHVzaCh0ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyb3dTaXplcy5sZW5ndGgpIHJldHVybjtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gTWF0aC5tYXgoLi4ucm93U2l6ZXMpO1xuXG4gICAgICAgIGlmIChpc0hlYWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWV9IHRib2R5ID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQW1CckMsWUFBb0IsRUFBYyxFQUFVLElBQVc7UUFBbkMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLFNBQUksR0FBSixJQUFJLENBQU87UUFqQnZELHlCQUFvQixHQUFHLE1BQU0sQ0FBQztRQWU5QixxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyx1QkFBdUIsR0FBRyx3QkFBd0IsV0FBVyxFQUFFLENBQUM7UUFD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Q1AsUUFBUSxFQUFFLHdCQUF3QjtLQUNyQyxDQUFDO0dBQ1csNEJBQTRCLENBMEp4QztTQTFKWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVGFibGVGcm96ZW5Qb3NpdGlvbl1cIlxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZyb3plblBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHNUYWJsZUZyb3plblBvc2l0aW9uID0gXCJsZWZ0XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzVGFibGVGcm96ZW5WYWx1ZShfOiBhbnlbXSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldFJvd0hlaWdodENsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgZml4Qm9keVJvd0NsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3R5bGVGaXhCb2R5Um93SGVpZ2h0OiBhbnk7XG4gICAgcHJpdmF0ZSBmaXhIZWFkUm93Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdHlsZUZpeEhlYWRSb3dIZWlnaHQ6IGFueTtcbiAgICB0YWJsZUhlYWRPYnNlcnZhYmxlOiBNdXRhdGlvbk9ic2VydmVyO1xuICAgIG9uQ29sdW1uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBob3N0OiBUYWJsZSkge1xuICAgICAgICB0aGlzLmhvc3Qub25Db2xSZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgdGhpcy5oYW5kbGVDb2xSZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgY29uc3QgY29tcG9uZW50SWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgY29uc3QgaHRtbEhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF07XG5cbiAgICAgICAgdGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSA9IGByZXNldFRhYmxlUm93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIGNvbnN0IHN0eWxlUmVzZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIHN0eWxlUmVzZXQuaW5uZXJIVE1MID0gYC4ke3RoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWV9IHRib2R5ID4gdHIsIC4ke3RoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6IGF1dG87IH1gO1xuICAgICAgICBodG1sSGVhZC5hcHBlbmRDaGlsZChzdHlsZVJlc2V0KTtcblxuICAgICAgICB0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWUgPSBgZml4VGFibGVCb2R5Um93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICB0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lfSB0Ym9keSA+IHRyIHsgaGVpZ2h0OiBhdXRvOyB9YDtcbiAgICAgICAgaHRtbEhlYWQuYXBwZW5kQ2hpbGQodGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQpO1xuXG4gICAgICAgIHRoaXMuZml4SGVhZFJvd0NsYXNzTmFtZSA9IGBmaXhUYWJsZUhlYWRSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6IGF1dG87IH1gO1xuICAgICAgICBodG1sSGVhZC5hcHBlbmRDaGlsZCh0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zVGFibGVGcm96ZW5Qb3NpdGlvbiA9PT0gXCJsZWZ0XCIpIHJldHVybjtcbiAgICAgICAgdGhpcy5hcHBseVN0eWxlc0ZvclRhYmxlKCk7XG4gICAgICAgIHRoaXMuc2V0VXBDb2x1bW5Nb25pdG9yaW5nKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuICAgICAgICBpZiAodGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRVcENvbHVtbk1vbml0b3JpbmcoKSB7XG4gICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZSA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgICAgIHRoaXMub25Db2x1bW5zQ2hhbmdlZC5lbWl0KG51bGwpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGFibGVIZWFkcyA9IFsuLi50aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJ0aGVhZFwiKV07XG4gICAgICAgIHRhYmxlSGVhZHMuZm9yRWFjaCgodGFibGVIZWFkOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZS5vYnNlcnZlKHRhYmxlSGVhZCwge1xuICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseVN0eWxlc0ZvclRhYmxlKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxXcmFwcGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtc2Nyb2xsYWJsZS13cmFwcGVyXCIpO1xuICAgICAgICBpZiAoIXNjcm9sbFdyYXBwZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIHNjcm9sbC13cmFwcGVyIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZGlzcGxheSA9IFwiZmxleFwiO1xuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmZsZXhEaXJlY3Rpb24gPSBcInJvd1wiO1xuXG4gICAgICAgIGNvbnN0IGZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghZnJvemVuVGFibGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIGZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5vcmRlciA9IFwiMVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJSaWdodCA9IFwibm9uZVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJMZWZ0ID0gXCIxcHggc29saWQgI2RkZGRkZFwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3hTaGFkb3cgPSBcIi01cHggMCA1cHggLTVweCAjY2NjY2NjXCI7XG5cbiAgICAgICAgY29uc3QgdW5mcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLXVuZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghdW5mcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgdW5mcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdW5mcm96ZW5UYWJsZS5zdHlsZS5wb3NpdGlvbiA9IFwidW5zZXRcIjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ29sUmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzeW5jaHJvbml6ZVJvd0hlaWdodCgpIHtcbiAgICAgICAgY29uc3QgdGFibGVCb2R5V3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtYm9keVwiKTtcbiAgICAgICAgY29uc3QgdGFibGVCb2RpZXMgPSBbLi4udGFibGVCb2R5V3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG4gICAgICAgIHRoaXMuYXBwbHlNYXhSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuXG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZFdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3hcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZHMgPSBbLi4udGFibGVIZWFkV3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUhlYWRzKTtcbiAgICAgICAgdGhpcy5hcHBseU1heFJvd0hlaWdodCh0YWJsZUhlYWRzLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZXM6IGFueVtdKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4SGVhZFJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QuYWRkKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseU1heFJvd0hlaWdodCh0YWJsZXM6IGFueVtdLCBpc0hlYWQ6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBjb25zdCByb3dTaXplcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCB0ciBvZiB0YWJsZS5yb3dzKSB7XG4gICAgICAgICAgICAgICAgcm93U2l6ZXMucHVzaCh0ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyb3dTaXplcy5sZW5ndGgpIHJldHVybjtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gTWF0aC5tYXgoLi4ucm93U2l6ZXMpO1xuXG4gICAgICAgIGlmIChpc0hlYWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWV9IHRib2R5ID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __read, __spread, __values } from "tslib";
|
|
2
|
-
import { AfterViewInit, Directive, ElementRef, Input, OnDestroy } from "@angular/core";
|
|
2
|
+
import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy } from "@angular/core";
|
|
3
3
|
import { Table } from "primeng/table";
|
|
4
4
|
var TableFrozenPositionDirective = /** @class */ (function () {
|
|
5
5
|
function TableFrozenPositionDirective(el, host) {
|
|
@@ -7,23 +7,25 @@ var TableFrozenPositionDirective = /** @class */ (function () {
|
|
|
7
7
|
this.el = el;
|
|
8
8
|
this.host = host;
|
|
9
9
|
this.sTableFrozenPosition = "left";
|
|
10
|
+
this.onColumnsChanged = new EventEmitter();
|
|
10
11
|
this.host.onColResize.subscribe(function () {
|
|
11
12
|
_this.handleColResize();
|
|
12
13
|
});
|
|
13
14
|
window.addEventListener("resize", this.handleWindowResize.bind(this));
|
|
14
15
|
var componentId = new Date().getTime();
|
|
16
|
+
var htmlHead = document.getElementsByTagName("head")[0];
|
|
15
17
|
this.resetRowHeightClassName = "resetTableRowsHeight_" + componentId;
|
|
16
18
|
var styleReset = document.createElement("style");
|
|
17
19
|
styleReset.innerHTML = "." + this.resetRowHeightClassName + " tbody > tr, ." + this.resetRowHeightClassName + " thead > tr { height: auto; }";
|
|
18
|
-
|
|
20
|
+
htmlHead.appendChild(styleReset);
|
|
19
21
|
this.fixBodyRowClassName = "fixTableBodyRowsHeight_" + componentId;
|
|
20
22
|
this.styleFixBodyRowHeight = document.createElement("style");
|
|
21
23
|
this.styleFixBodyRowHeight.innerHTML = "." + this.fixBodyRowClassName + " tbody > tr { height: auto; }";
|
|
22
|
-
|
|
24
|
+
htmlHead.appendChild(this.styleFixBodyRowHeight);
|
|
23
25
|
this.fixHeadRowClassName = "fixTableHeadRowsHeight_" + componentId;
|
|
24
26
|
this.styleFixHeadRowHeight = document.createElement("style");
|
|
25
27
|
this.styleFixHeadRowHeight.innerHTML = "." + this.fixHeadRowClassName + " thead > tr { height: auto; }";
|
|
26
|
-
|
|
28
|
+
htmlHead.appendChild(this.styleFixHeadRowHeight);
|
|
27
29
|
}
|
|
28
30
|
Object.defineProperty(TableFrozenPositionDirective.prototype, "sTableFrozenValue", {
|
|
29
31
|
set: function (_) {
|
|
@@ -39,9 +41,27 @@ var TableFrozenPositionDirective = /** @class */ (function () {
|
|
|
39
41
|
if (this.sTableFrozenPosition === "left")
|
|
40
42
|
return;
|
|
41
43
|
this.applyStylesForTable();
|
|
44
|
+
this.setUpColumnMonitoring();
|
|
42
45
|
};
|
|
43
46
|
TableFrozenPositionDirective.prototype.ngOnDestroy = function () {
|
|
44
47
|
window.removeEventListener("resize", this.handleWindowResize.bind(this));
|
|
48
|
+
if (this.tableHeadObservable) {
|
|
49
|
+
this.tableHeadObservable.disconnect();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
TableFrozenPositionDirective.prototype.setUpColumnMonitoring = function () {
|
|
53
|
+
var _this = this;
|
|
54
|
+
this.tableHeadObservable = new MutationObserver(function () {
|
|
55
|
+
_this.synchronizeRowHeight();
|
|
56
|
+
_this.onColumnsChanged.emit(null);
|
|
57
|
+
});
|
|
58
|
+
var tableHeads = __spread(this.el.nativeElement.getElementsByTagName("thead"));
|
|
59
|
+
tableHeads.forEach(function (tableHead) {
|
|
60
|
+
_this.tableHeadObservable.observe(tableHead, {
|
|
61
|
+
subtree: true,
|
|
62
|
+
childList: true
|
|
63
|
+
});
|
|
64
|
+
});
|
|
45
65
|
};
|
|
46
66
|
TableFrozenPositionDirective.prototype.applyStylesForTable = function () {
|
|
47
67
|
var scrollWrapper = this.el.nativeElement.querySelector(".ui-table-scrollable-wrapper");
|
|
@@ -186,4 +206,4 @@ var TableFrozenPositionDirective = /** @class */ (function () {
|
|
|
186
206
|
return TableFrozenPositionDirective;
|
|
187
207
|
}());
|
|
188
208
|
export { TableFrozenPositionDirective };
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3RDO0lBaUJJLHNDQUFvQixFQUFjLEVBQVUsSUFBVztRQUF2RCxpQkF1QkM7UUF2Qm1CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFPO1FBZnZELHlCQUFvQixHQUFHLE1BQU0sQ0FBQztRQWdCMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQzdCLEtBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLDBCQUF3QixXQUFhLENBQUM7UUFDckUsSUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxVQUFVLENBQUMsU0FBUyxHQUFHLE1BQUksSUFBSSxDQUFDLHVCQUF1QixzQkFBaUIsSUFBSSxDQUFDLHVCQUF1QixrQ0FBK0IsQ0FBQztRQUNwSSxRQUFRLENBQUMs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LE1BQU0sQ0FBQSw4QkFBQSxrREFBRTtvQkFBdkIsSUFBTSxLQUFLLG1CQUFBO29CQUNaLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO29CQUNyRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDakQ7Ozs7Ozs7OztTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxHQUFHLE1BQUksSUFBSSxDQUFDLG1CQUFtQiw4QkFBeUIsU0FBUyxVQUFPLENBQUM7O2dCQUU3RyxLQUFvQixJQUFBLFdBQUEsU0FBQSxNQUFNLENBQUEsOEJBQUEsa0RBQUU7b0JBQXZCLElBQU0sS0FBSyxtQkFBQTtvQkFDWixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztvQkFDckQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQ2pEOzs7Ozs7Ozs7U0FDSjtJQUNMLENBQUM7O2dCQW5IdUIsVUFBVTtnQkFBZ0IsS0FBSzs7SUFmdkQ7UUFEQyxLQUFLLEVBQUU7OEVBQ3NCO0lBRzlCO1FBREMsS0FBSyxFQUFFO3lFQUtQO0lBVFEsNEJBQTRCO1FBSHhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx3QkFBd0I7U0FDckMsQ0FBQztPQUNXLDRCQUE0QixDQXFJeEM7SUFBRCxtQ0FBQztDQUFBLEFBcklELElBcUlDO1NBcklZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVGFibGVGcm96ZW5Qb3NpdGlvbl1cIlxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZyb3plblBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHNUYWJsZUZyb3plblBvc2l0aW9uID0gXCJsZWZ0XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzVGFibGVGcm96ZW5WYWx1ZShfOiBhbnlbXSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldFJvd0hlaWdodENsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgZml4Qm9keVJvd0NsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3R5bGVGaXhCb2R5Um93SGVpZ2h0OiBhbnk7XG4gICAgcHJpdmF0ZSBmaXhIZWFkUm93Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdHlsZUZpeEhlYWRSb3dIZWlnaHQ6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgaG9zdDogVGFibGUpIHtcbiAgICAgICAgdGhpcy5ob3N0Lm9uQ29sUmVzaXplLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgIHRoaXMuaGFuZGxlQ29sUmVzaXplKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudElkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICAgICAgdGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSA9IGByZXNldFRhYmxlUm93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIGNvbnN0IHN0eWxlUmVzZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIHN0eWxlUmVzZXQuaW5uZXJIVE1MID0gYC4ke3RoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWV9IHRib2R5ID4gdHIsIC4ke3RoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6IGF1dG87IH1gO1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF0uYXBwZW5kQ2hpbGQoc3R5bGVSZXNldCk7XG5cbiAgICAgICAgdGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lID0gYGZpeFRhYmxlQm9keVJvd3NIZWlnaHRfJHtjb21wb25lbnRJZH1gO1xuICAgICAgICB0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4Qm9keVJvd0NsYXNzTmFtZX0gdGJvZHkgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXS5hcHBlbmRDaGlsZCh0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodCk7XG5cbiAgICAgICAgdGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lID0gYGZpeFRhYmxlSGVhZFJvd3NIZWlnaHRfJHtjb21wb25lbnRJZH1gO1xuICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4SGVhZFJvd0NsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXS5hcHBlbmRDaGlsZCh0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zVGFibGVGcm96ZW5Qb3NpdGlvbiA9PT0gXCJsZWZ0XCIpIHJldHVybjtcbiAgICAgICAgdGhpcy5hcHBseVN0eWxlc0ZvclRhYmxlKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlTdHlsZXNGb3JUYWJsZSgpIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsV3JhcHBlciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLXNjcm9sbGFibGUtd3JhcHBlclwiKTtcbiAgICAgICAgaWYgKCFzY3JvbGxXcmFwcGVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCBzY3JvbGwtd3JhcHBlciBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmRpc3BsYXkgPSBcImZsZXhcIjtcbiAgICAgICAgc2Nyb2xsV3JhcHBlci5zdHlsZS5mbGV4RGlyZWN0aW9uID0gXCJyb3dcIjtcblxuICAgICAgICBjb25zdCBmcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLWZyb3plbi12aWV3XCIpO1xuICAgICAgICBpZiAoIWZyb3plblRhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCBmcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUub3JkZXIgPSBcIjFcIjtcbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUuYm9yZGVyUmlnaHQgPSBcIm5vbmVcIjtcbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUuYm9yZGVyTGVmdCA9IFwiMXB4IHNvbGlkICNkZGRkZGRcIjtcbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUuYm94U2hhZG93ID0gXCItNXB4IDAgNXB4IC01cHggI2NjY2NjY1wiO1xuXG4gICAgICAgIGNvbnN0IHVuZnJvemVuVGFibGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS11bmZyb3plbi12aWV3XCIpO1xuICAgICAgICBpZiAoIXVuZnJvemVuVGFibGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIHVuZnJvemVuIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHVuZnJvemVuVGFibGUuc3R5bGUucG9zaXRpb24gPSBcInVuc2V0XCI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVXaW5kb3dSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUNvbFJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY2hyb25pemVSb3dIZWlnaHQoKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlQm9keVdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWJvZHlcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlQm9kaWVzID0gWy4uLnRhYmxlQm9keVdyYXBwZXJzXS5tYXAoZGl2V3JhcHBlciA9PiBbLi4uZGl2V3JhcHBlci5jaGlsZE5vZGVzXS5maW5kKHAgPT4gcC50YWdOYW1lID09PSBcIlRBQkxFXCIpKTtcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZURlZmF1bHRSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuICAgICAgICB0aGlzLmFwcGx5TWF4Um93SGVpZ2h0KHRhYmxlQm9kaWVzKTtcblxuICAgICAgICBjb25zdCB0YWJsZUhlYWRXcmFwcGVycyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwidWktdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXItYm94XCIpO1xuICAgICAgICBjb25zdCB0YWJsZUhlYWRzID0gWy4uLnRhYmxlSGVhZFdyYXBwZXJzXS5tYXAoZGl2V3JhcHBlciA9PiBbLi4uZGl2V3JhcHBlci5jaGlsZE5vZGVzXS5maW5kKHAgPT4gcC50YWdOYW1lID09PSBcIlRBQkxFXCIpKTtcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZURlZmF1bHRSb3dIZWlnaHQodGFibGVIZWFkcyk7XG4gICAgICAgIHRoaXMuYXBwbHlNYXhSb3dIZWlnaHQodGFibGVIZWFkcywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWNhbGN1bGF0ZURlZmF1bHRSb3dIZWlnaHQodGFibGVzOiBhbnlbXSkge1xuICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LmFkZCh0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlNYXhSb3dIZWlnaHQodGFibGVzOiBhbnlbXSwgaXNIZWFkOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3Qgcm93U2l6ZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdHIgb2YgdGFibGUucm93cykge1xuICAgICAgICAgICAgICAgIHJvd1NpemVzLnB1c2godHIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcm93U2l6ZXMubGVuZ3RoKSByZXR1cm47XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IE1hdGgubWF4KC4uLnJvd1NpemVzKTtcblxuICAgICAgICBpZiAoaXNIZWFkKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lfSB0aGVhZCA+IHRyIHsgaGVpZ2h0OiAke21heEhlaWdodH1weDsgfWA7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QuYWRkKHRoaXMuZml4SGVhZFJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lfSB0Ym9keSA+IHRyIHsgaGVpZ2h0OiAke21heEhlaWdodH1weDsgfWA7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QuYWRkKHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QztJQW1CSSxzQ0FBb0IsRUFBYyxFQUFVLElBQVc7UUFBdkQsaUJBd0JDO1FBeEJtQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBTztRQWpCdkQseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBZTlCLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3JELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM3QixLQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSxJQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pDLElBQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsMEJBQXdCLFdBQWEsQ0FBQztRQUNyRSxJQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELFVBQVUsQ0FBQyxTQUFTLEdBQUcsTUFBSSxJQUFJLENBQUMsdUJBQXVCLHNCQUFpQixJQUFJLENBQUMsdUJBQXVCLGtDQUErQixDQUFDO1FBQ3BJLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLDRCQUEwQixXQUFhLENBQUM7UUFDbkUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsR0FBRyxNQUFJLElBQUksQ0FBQyxtQkFBbUIsa0NBQStCLENBQUM7UUFDbkcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsNEJBQTBCLFdBQWEsQ0FBQztRQUNuRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxHQUFHLE1BQUksSUFBSSxDQUFDLG1CQUFtQixrQ0FBK0IsQ0FBQztRQUNuRyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUF0Q0Qsc0JBQUksMkRBQWlCO2FBQXJCLFVBQXNCLENBQVE7WUFEOUIsaUJBS0M7WUFIRyxVQUFVLENBQUM7Z0JBQ1AsS0FBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDOzs7T0FBQTtJQW9DRCxzREFBZSxHQUFmO1FBQ0ksSUFBSSxJQUFJLENBQUMsb0JBQW9CLEtBQUssTUFBTTtZQUFFLE9BQU87UUFDakQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGtEQUFXLEdBQVg7UUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRU8sNERBQXFCLEdBQTdCO1FBQUEsaUJBWUM7UUFYRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUM1QyxLQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixLQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBTSxVQUFVLFlBQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM1RSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQUMsU0FBYztZQUM5QixLQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtnQkFDeEMsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsU0FBUyxFQUFFLElBQUk7YUFDbEIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sMERBQW1CLEdBQTNCO1FBQ0ksSUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLGlHQUFpRyxDQUFDLENBQUM7WUFDaEgsT0FBTztTQUNWO1FBQ0QsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3JDLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUUxQyxJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyx5RkFBeUYsQ0FBQyxDQUFDO1lBQ3hHLE9BQU87U0FDVjtRQUNELFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUM5QixXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDdkMsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7UUFDbkQsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcseUJBQXlCLENBQUM7UUFFeEQsSUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLDJGQUEyRixDQUFDLENBQUM7WUFDMUcsT0FBTztTQUNWO1FBQ0QsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFFTyx5REFBa0IsR0FBMUI7UUFDSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sc0RBQWUsR0FBdkI7UUFDSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sMkRBQW9CLEdBQTVCO1FBQ0ksSUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ25HLElBQU0sV0FBVyxHQUFHLFNBQUksaUJBQWlCLEVBQUUsR0FBRyxDQUFDLFVBQUEsVUFBVSxJQUFJLE9BQUEsU0FBSSxVQUFVLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFyQixDQUFxQixDQUFDLEVBQTNELENBQTJELENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXBDLElBQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUN6RyxJQUFNLFVBQVUsR0FBRyxTQUFJLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxVQUFBLFVBQVUsSUFBSSxPQUFBLFNBQUksVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBckIsQ0FBcUIsQ0FBQyxFQUEzRCxDQUEyRCxDQUFDLENBQUM7UUFDekgsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGtFQUEyQixHQUFuQyxVQUFvQyxNQUFhOzs7WUFDN0MsS0FBb0IsSUFBQSxXQUFBLFNBQUEsTUFBTSxDQUFBLDhCQUFBLGtEQUFFO2dCQUF2QixJQUFNLEtBQUssbUJBQUE7Z0JBQ1osS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0JBQ2pELEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNqRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUNyRDs7Ozs7Ozs7O0lBQ0wsQ0FBQztJQUVPLHdEQUFpQixHQUF6QixVQUEwQixNQUFhLEVBQUUsTUFBdUI7O1FBQXZCLHVCQUFBLEVBQUEsY0FBdUI7UUFDNUQsSUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDOztZQUNwQixLQUFvQixJQUFBLFdBQUEsU0FBQSxNQUFNLENBQUEsOEJBQUEsa0RBQUU7Z0JBQXZCLElBQU0sS0FBSyxtQkFBQTs7b0JBQ1osS0FBaUIsSUFBQSxvQkFBQSxTQUFBLEtBQUssQ0FBQyxJQUFJLENBQUEsQ0FBQSxnQkFBQSw0QkFBRTt3QkFBeEIsSUFBTSxFQUFFLFdBQUE7d0JBQ1QsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDcEQ7Ozs7Ozs7OzthQUNKOzs7Ozs7Ozs7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQzdCLElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLE9BQVIsSUFBSSxXQUFRLFFBQVEsRUFBQyxDQUFDO1FBRXhDLElBQUksTUFBTSxFQUFFO1lBQ1IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsR0FBRyxNQUFJLElBQUksQ0FBQyxtQkFBbUIsOEJBQXlCLFNBQVMsVUFBTyxDQUFDOztnQkFFN0csS0FBb0IsSUFBQSxXQUFBLFNBQUEsTUFBTSxDQUFBLDhCQUFBLGtEQUFFO29CQUF2QixJQUFNLEtBQUssbUJBQUE7b0JBQ1osS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7b0JBQ3JELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2lCQUNqRDs7Ozs7Ozs7O1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLEdBQUcsTUFBSSxJQUFJLENBQUMsbUJBQW1CLDhCQUF5QixTQUFTLFVBQU8sQ0FBQzs7Z0JBRTdHLEtBQW9CLElBQUEsV0FBQSxTQUFBLE1BQU0sQ0FBQSw4QkFBQSxrREFBRTtvQkFBdkIsSUFBTSxLQUFLLG1CQUFBO29CQUNaLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO29CQUNyRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDakQ7Ozs7Ozs7OztTQUNKO0lBQ0wsQ0FBQzs7Z0JBdEl1QixVQUFVO2dCQUFnQixLQUFLOztJQWpCdkQ7UUFEQyxLQUFLLEVBQUU7OEVBQ3NCO0lBRzlCO1FBREMsS0FBSyxFQUFFO3lFQUtQO0lBVFEsNEJBQTRCO1FBSHhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx3QkFBd0I7U0FDckMsQ0FBQztPQUNXLDRCQUE0QixDQTBKeEM7SUFBRCxtQ0FBQztDQUFBLEFBMUpELElBMEpDO1NBMUpZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW3NUYWJsZUZyb3plblBvc2l0aW9uXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRnJvemVuUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgc1RhYmxlRnJvemVuUG9zaXRpb24gPSBcImxlZnRcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNUYWJsZUZyb3plblZhbHVlKF86IGFueVtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmaXhCb2R5Um93Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdHlsZUZpeEJvZHlSb3dIZWlnaHQ6IGFueTtcbiAgICBwcml2YXRlIGZpeEhlYWRSb3dDbGFzc05hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIHN0eWxlRml4SGVhZFJvd0hlaWdodDogYW55O1xuICAgIHRhYmxlSGVhZE9ic2VydmFibGU6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgb25Db2x1bW5zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIGhvc3Q6IFRhYmxlKSB7XG4gICAgICAgIHRoaXMuaG9zdC5vbkNvbFJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICB0aGlzLmhhbmRsZUNvbFJlc2l6ZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZS5iaW5kKHRoaXMpKTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRJZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBodG1sSGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXTtcblxuICAgICAgICB0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lID0gYHJlc2V0VGFibGVSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgY29uc3Qgc3R5bGVSZXNldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgc3R5bGVSZXNldC5pbm5lckhUTUwgPSBgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGJvZHkgPiB0ciwgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGh0bWxIZWFkLmFwcGVuZENoaWxkKHN0eWxlUmVzZXQpO1xuXG4gICAgICAgIHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSA9IGBmaXhUYWJsZUJvZHlSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWV9IHRib2R5ID4gdHIgeyBoZWlnaHQ6IGF1dG87IH1gO1xuICAgICAgICBodG1sSGVhZC5hcHBlbmRDaGlsZCh0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodCk7XG5cbiAgICAgICAgdGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lID0gYGZpeFRhYmxlSGVhZFJvd3NIZWlnaHRfJHtjb21wb25lbnRJZH1gO1xuICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4SGVhZFJvd0NsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGh0bWxIZWFkLmFwcGVuZENoaWxkKHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNUYWJsZUZyb3plblBvc2l0aW9uID09PSBcImxlZnRcIikgcmV0dXJuO1xuICAgICAgICB0aGlzLmFwcGx5U3R5bGVzRm9yVGFibGUoKTtcbiAgICAgICAgdGhpcy5zZXRVcENvbHVtbk1vbml0b3JpbmcoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZS5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwQ29sdW1uTW9uaXRvcmluZygpIHtcbiAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICAgICAgdGhpcy5vbkNvbHVtbnNDaGFuZ2VkLmVtaXQobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0YWJsZUhlYWRzID0gWy4uLnRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInRoZWFkXCIpXTtcbiAgICAgICAgdGFibGVIZWFkcy5mb3JFYWNoKCh0YWJsZUhlYWQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlLm9ic2VydmUodGFibGVIZWFkLCB7XG4gICAgICAgICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5U3R5bGVzRm9yVGFibGUoKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbFdyYXBwZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS1zY3JvbGxhYmxlLXdyYXBwZXJcIik7XG4gICAgICAgIGlmICghc2Nyb2xsV3JhcHBlcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgc2Nyb2xsLXdyYXBwZXIgZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2Nyb2xsV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gXCJmbGV4XCI7XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZmxleERpcmVjdGlvbiA9IFwicm93XCI7XG5cbiAgICAgICAgY29uc3QgZnJvemVuVGFibGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS1mcm96ZW4tdmlld1wiKTtcbiAgICAgICAgaWYgKCFmcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgZnJvemVuIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLm9yZGVyID0gXCIxXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlclJpZ2h0ID0gXCJub25lXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlckxlZnQgPSBcIjFweCBzb2xpZCAjZGRkZGRkXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJveFNoYWRvdyA9IFwiLTVweCAwIDVweCAtNXB4ICNjY2NjY2NcIjtcblxuICAgICAgICBjb25zdCB1bmZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtdW5mcm96ZW4tdmlld1wiKTtcbiAgICAgICAgaWYgKCF1bmZyb3plblRhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCB1bmZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB1bmZyb3plblRhYmxlLnN0eWxlLnBvc2l0aW9uID0gXCJ1bnNldFwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVDb2xSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNocm9uaXplUm93SGVpZ2h0KCkge1xuICAgICAgICBjb25zdCB0YWJsZUJvZHlXcmFwcGVycyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwidWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5XCIpO1xuICAgICAgICBjb25zdCB0YWJsZUJvZGllcyA9IFsuLi50YWJsZUJvZHlXcmFwcGVyc10ubWFwKGRpdldyYXBwZXIgPT4gWy4uLmRpdldyYXBwZXIuY2hpbGROb2Rlc10uZmluZChwID0+IHAudGFnTmFtZSA9PT0gXCJUQUJMRVwiKSk7XG4gICAgICAgIHRoaXMucmVjYWxjdWxhdGVEZWZhdWx0Um93SGVpZ2h0KHRhYmxlQm9kaWVzKTtcbiAgICAgICAgdGhpcy5hcHBseU1heFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG5cbiAgICAgICAgY29uc3QgdGFibGVIZWFkV3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyLWJveFwiKTtcbiAgICAgICAgY29uc3QgdGFibGVIZWFkcyA9IFsuLi50YWJsZUhlYWRXcmFwcGVyc10ubWFwKGRpdldyYXBwZXIgPT4gWy4uLmRpdldyYXBwZXIuY2hpbGROb2Rlc10uZmluZChwID0+IHAudGFnTmFtZSA9PT0gXCJUQUJMRVwiKSk7XG4gICAgICAgIHRoaXMucmVjYWxjdWxhdGVEZWZhdWx0Um93SGVpZ2h0KHRhYmxlSGVhZHMpO1xuICAgICAgICB0aGlzLmFwcGx5TWF4Um93SGVpZ2h0KHRhYmxlSGVhZHMsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVjYWxjdWxhdGVEZWZhdWx0Um93SGVpZ2h0KHRhYmxlczogYW55W10pIHtcbiAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5TWF4Um93SGVpZ2h0KHRhYmxlczogYW55W10sIGlzSGVhZDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IHJvd1NpemVzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRyIG9mIHRhYmxlLnJvd3MpIHtcbiAgICAgICAgICAgICAgICByb3dTaXplcy5wdXNoKHRyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJvd1NpemVzLmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBtYXhIZWlnaHQgPSBNYXRoLm1heCguLi5yb3dTaXplcyk7XG5cbiAgICAgICAgaWYgKGlzSGVhZCkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4SGVhZFJvd0NsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogJHttYXhIZWlnaHR9cHg7IH1gO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LmFkZCh0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4Qm9keVJvd0NsYXNzTmFtZX0gdGJvZHkgPiB0ciB7IGhlaWdodDogJHttYXhIZWlnaHR9cHg7IH1gO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LmFkZCh0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -3510,23 +3510,25 @@ let TableFrozenPositionDirective = class TableFrozenPositionDirective {
|
|
|
3510
3510
|
this.el = el;
|
|
3511
3511
|
this.host = host;
|
|
3512
3512
|
this.sTableFrozenPosition = "left";
|
|
3513
|
+
this.onColumnsChanged = new EventEmitter();
|
|
3513
3514
|
this.host.onColResize.subscribe(() => {
|
|
3514
3515
|
this.handleColResize();
|
|
3515
3516
|
});
|
|
3516
3517
|
window.addEventListener("resize", this.handleWindowResize.bind(this));
|
|
3517
3518
|
const componentId = new Date().getTime();
|
|
3519
|
+
const htmlHead = document.getElementsByTagName("head")[0];
|
|
3518
3520
|
this.resetRowHeightClassName = `resetTableRowsHeight_${componentId}`;
|
|
3519
3521
|
const styleReset = document.createElement("style");
|
|
3520
3522
|
styleReset.innerHTML = `.${this.resetRowHeightClassName} tbody > tr, .${this.resetRowHeightClassName} thead > tr { height: auto; }`;
|
|
3521
|
-
|
|
3523
|
+
htmlHead.appendChild(styleReset);
|
|
3522
3524
|
this.fixBodyRowClassName = `fixTableBodyRowsHeight_${componentId}`;
|
|
3523
3525
|
this.styleFixBodyRowHeight = document.createElement("style");
|
|
3524
3526
|
this.styleFixBodyRowHeight.innerHTML = `.${this.fixBodyRowClassName} tbody > tr { height: auto; }`;
|
|
3525
|
-
|
|
3527
|
+
htmlHead.appendChild(this.styleFixBodyRowHeight);
|
|
3526
3528
|
this.fixHeadRowClassName = `fixTableHeadRowsHeight_${componentId}`;
|
|
3527
3529
|
this.styleFixHeadRowHeight = document.createElement("style");
|
|
3528
3530
|
this.styleFixHeadRowHeight.innerHTML = `.${this.fixHeadRowClassName} thead > tr { height: auto; }`;
|
|
3529
|
-
|
|
3531
|
+
htmlHead.appendChild(this.styleFixHeadRowHeight);
|
|
3530
3532
|
}
|
|
3531
3533
|
set sTableFrozenValue(_) {
|
|
3532
3534
|
setTimeout(() => {
|
|
@@ -3537,9 +3539,26 @@ let TableFrozenPositionDirective = class TableFrozenPositionDirective {
|
|
|
3537
3539
|
if (this.sTableFrozenPosition === "left")
|
|
3538
3540
|
return;
|
|
3539
3541
|
this.applyStylesForTable();
|
|
3542
|
+
this.setUpColumnMonitoring();
|
|
3540
3543
|
}
|
|
3541
3544
|
ngOnDestroy() {
|
|
3542
3545
|
window.removeEventListener("resize", this.handleWindowResize.bind(this));
|
|
3546
|
+
if (this.tableHeadObservable) {
|
|
3547
|
+
this.tableHeadObservable.disconnect();
|
|
3548
|
+
}
|
|
3549
|
+
}
|
|
3550
|
+
setUpColumnMonitoring() {
|
|
3551
|
+
this.tableHeadObservable = new MutationObserver(() => {
|
|
3552
|
+
this.synchronizeRowHeight();
|
|
3553
|
+
this.onColumnsChanged.emit(null);
|
|
3554
|
+
});
|
|
3555
|
+
const tableHeads = [...this.el.nativeElement.getElementsByTagName("thead")];
|
|
3556
|
+
tableHeads.forEach((tableHead) => {
|
|
3557
|
+
this.tableHeadObservable.observe(tableHead, {
|
|
3558
|
+
subtree: true,
|
|
3559
|
+
childList: true
|
|
3560
|
+
});
|
|
3561
|
+
});
|
|
3543
3562
|
}
|
|
3544
3563
|
applyStylesForTable() {
|
|
3545
3564
|
const scrollWrapper = this.el.nativeElement.querySelector(".ui-table-scrollable-wrapper");
|