@seniorsistemas/angular-components 14.11.0 → 14.12.0

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.
@@ -0,0 +1,22 @@
1
+ import { AfterViewInit, ElementRef, OnDestroy } from "@angular/core";
2
+ import { Table } from "primeng/table";
3
+ export declare class TableFrozenPositionDirective implements AfterViewInit, OnDestroy {
4
+ private el;
5
+ private host;
6
+ sTableFrozenPosition: string;
7
+ set sTableFrozenValue(_: any[]);
8
+ private resetRowHeightClassName;
9
+ private fixBodyRowClassName;
10
+ private styleFixBodyRowHeight;
11
+ private fixHeadRowClassName;
12
+ private styleFixHeadRowHeight;
13
+ constructor(el: ElementRef, host: Table);
14
+ ngAfterViewInit(): void;
15
+ ngOnDestroy(): void;
16
+ private applyStylesForTable;
17
+ private handleWindowResize;
18
+ private handleColResize;
19
+ private synchronizeRowHeight;
20
+ private recalculateDefaultRowHeight;
21
+ private applyMaxRowHeight;
22
+ }
@@ -1,4 +1,5 @@
1
1
  export * from "./navigation/navigation.directive";
2
2
  export * from "./row-toggler/row-toggler.directive";
3
+ export * from "./frozen-position/frozen-position.directive";
3
4
  export * from "./table-column/index";
4
5
  export * from "./table.module";
@@ -0,0 +1,129 @@
1
+ import { __decorate } from "tslib";
2
+ import { AfterViewInit, Directive, ElementRef, Input, OnDestroy } from "@angular/core";
3
+ import { Table } from "primeng/table";
4
+ let TableFrozenPositionDirective = class TableFrozenPositionDirective {
5
+ constructor(el, host) {
6
+ this.el = el;
7
+ this.host = host;
8
+ this.sTableFrozenPosition = "left";
9
+ this.host.onColResize.subscribe(() => {
10
+ this.handleColResize();
11
+ });
12
+ window.addEventListener("resize", this.handleWindowResize.bind(this));
13
+ const componentId = new Date().getTime();
14
+ this.resetRowHeightClassName = `resetTableRowsHeight_${componentId}`;
15
+ const styleReset = document.createElement("style");
16
+ styleReset.innerHTML = `.${this.resetRowHeightClassName} tbody > tr, .${this.resetRowHeightClassName} thead > tr { height: auto; }`;
17
+ document.getElementsByTagName("head")[0].appendChild(styleReset);
18
+ this.fixBodyRowClassName = `fixTableBodyRowsHeight_${componentId}`;
19
+ this.styleFixBodyRowHeight = document.createElement("style");
20
+ this.styleFixBodyRowHeight.innerHTML = `.${this.fixBodyRowClassName} tbody > tr { height: auto; }`;
21
+ document.getElementsByTagName("head")[0].appendChild(this.styleFixBodyRowHeight);
22
+ this.fixHeadRowClassName = `fixTableHeadRowsHeight_${componentId}`;
23
+ this.styleFixHeadRowHeight = document.createElement("style");
24
+ this.styleFixHeadRowHeight.innerHTML = `.${this.fixHeadRowClassName} thead > tr { height: auto; }`;
25
+ document.getElementsByTagName("head")[0].appendChild(this.styleFixHeadRowHeight);
26
+ }
27
+ set sTableFrozenValue(_) {
28
+ setTimeout(() => {
29
+ this.synchronizeRowHeight();
30
+ });
31
+ }
32
+ ngAfterViewInit() {
33
+ if (this.sTableFrozenPosition === "left")
34
+ return;
35
+ this.applyStylesForTable();
36
+ }
37
+ ngOnDestroy() {
38
+ window.removeEventListener("resize", this.handleWindowResize.bind(this));
39
+ }
40
+ applyStylesForTable() {
41
+ const scrollWrapper = this.el.nativeElement.querySelector(".ui-table-scrollable-wrapper");
42
+ if (!scrollWrapper) {
43
+ console.warn("Unable to find scroll-wrapper element from table. Is the table configured with frozen template?");
44
+ return;
45
+ }
46
+ scrollWrapper.style.display = "flex";
47
+ scrollWrapper.style.flexDirection = "row";
48
+ const frozenTable = this.el.nativeElement.querySelector(".ui-table-frozen-view");
49
+ if (!frozenTable) {
50
+ console.warn("Unable to find frozen element from table. Is the table configured with frozen template?");
51
+ return;
52
+ }
53
+ frozenTable.style.order = "1";
54
+ frozenTable.style.borderRight = "none";
55
+ frozenTable.style.borderLeft = "1px solid #dddddd";
56
+ frozenTable.style.boxShadow = "-5px 0 5px -5px #cccccc";
57
+ const unfrozenTable = this.el.nativeElement.querySelector(".ui-table-unfrozen-view");
58
+ if (!unfrozenTable) {
59
+ console.warn("Unable to find unfrozen element from table. Is the table configured with frozen template?");
60
+ return;
61
+ }
62
+ unfrozenTable.style.position = "unset";
63
+ }
64
+ handleWindowResize() {
65
+ this.synchronizeRowHeight();
66
+ }
67
+ handleColResize() {
68
+ this.synchronizeRowHeight();
69
+ }
70
+ synchronizeRowHeight() {
71
+ const tableBodyWrappers = this.el.nativeElement.getElementsByClassName("ui-table-scrollable-body");
72
+ const tableBodies = [...tableBodyWrappers].map(divWrapper => [...divWrapper.childNodes].find(p => p.tagName === "TABLE"));
73
+ this.recalculateDefaultRowHeight(tableBodies);
74
+ this.applyMaxRowHeight(tableBodies);
75
+ const tableHeadWrappers = this.el.nativeElement.getElementsByClassName("ui-table-scrollable-header-box");
76
+ const tableHeads = [...tableHeadWrappers].map(divWrapper => [...divWrapper.childNodes].find(p => p.tagName === "TABLE"));
77
+ this.recalculateDefaultRowHeight(tableHeads);
78
+ this.applyMaxRowHeight(tableHeads, true);
79
+ }
80
+ recalculateDefaultRowHeight(tables) {
81
+ for (const table of tables) {
82
+ table.classList.remove(this.fixBodyRowClassName);
83
+ table.classList.remove(this.fixHeadRowClassName);
84
+ table.classList.add(this.resetRowHeightClassName);
85
+ }
86
+ }
87
+ applyMaxRowHeight(tables, isHead = false) {
88
+ const rowSizes = [];
89
+ for (const table of tables) {
90
+ for (const tr of table.rows) {
91
+ rowSizes.push(tr.getBoundingClientRect().height);
92
+ }
93
+ }
94
+ if (!rowSizes.length)
95
+ return;
96
+ const maxHeight = Math.max(...rowSizes);
97
+ if (isHead) {
98
+ this.styleFixHeadRowHeight.innerHTML = `.${this.fixHeadRowClassName} thead > tr { height: ${maxHeight}px; }`;
99
+ for (const table of tables) {
100
+ table.classList.remove(this.resetRowHeightClassName);
101
+ table.classList.add(this.fixHeadRowClassName);
102
+ }
103
+ }
104
+ else {
105
+ this.styleFixBodyRowHeight.innerHTML = `.${this.fixBodyRowClassName} tbody > tr { height: ${maxHeight}px; }`;
106
+ for (const table of tables) {
107
+ table.classList.remove(this.resetRowHeightClassName);
108
+ table.classList.add(this.fixBodyRowClassName);
109
+ }
110
+ }
111
+ }
112
+ };
113
+ TableFrozenPositionDirective.ctorParameters = () => [
114
+ { type: ElementRef },
115
+ { type: Table }
116
+ ];
117
+ __decorate([
118
+ Input()
119
+ ], TableFrozenPositionDirective.prototype, "sTableFrozenPosition", void 0);
120
+ __decorate([
121
+ Input()
122
+ ], TableFrozenPositionDirective.prototype, "sTableFrozenValue", null);
123
+ TableFrozenPositionDirective = __decorate([
124
+ Directive({
125
+ selector: "[sTableFrozenPosition]"
126
+ })
127
+ ], TableFrozenPositionDirective);
128
+ export { TableFrozenPositionDirective };
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3RDLElBQWEsNEJBQTRCLEdBQXpDLE1BQWEsNEJBQTRCO0lBaUJyQyxZQUFvQixFQUFjLEVBQVUsSUFBVztRQUFuQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBTztRQWZ2RCx5QkFBb0IsR0FBRyxNQUFNLENBQUM7UUFnQjFCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFdEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsd0JBQXdCLFdBQVcsRUFBRSxDQUFDO1FBQ3JFLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsVUFBVSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsaUJBQWlCLElBQUksQ0FBQyx1QkFB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LENBQUMsbUJBQW1CLHlCQUF5QixTQUFTLE9BQU8sQ0FBQztZQUU3RyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtnQkFDeEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3JELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ2pEO1NBQ0o7SUFDTCxDQUFDO0NBQ0osQ0FBQTs7WUFwSDJCLFVBQVU7WUFBZ0IsS0FBSzs7QUFmdkQ7SUFEQyxLQUFLLEVBQUU7MEVBQ3NCO0FBRzlCO0lBREMsS0FBSyxFQUFFO3FFQUtQO0FBVFEsNEJBQTRCO0lBSHhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx3QkFBd0I7S0FDckMsQ0FBQztHQUNXLDRCQUE0QixDQXFJeEM7U0FySVksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW3NUYWJsZUZyb3plblBvc2l0aW9uXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRnJvemVuUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgc1RhYmxlRnJvemVuUG9zaXRpb24gPSBcImxlZnRcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNUYWJsZUZyb3plblZhbHVlKF86IGFueVtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmaXhCb2R5Um93Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdHlsZUZpeEJvZHlSb3dIZWlnaHQ6IGFueTtcbiAgICBwcml2YXRlIGZpeEhlYWRSb3dDbGFzc05hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIHN0eWxlRml4SGVhZFJvd0hlaWdodDogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBob3N0OiBUYWJsZSkge1xuICAgICAgICB0aGlzLmhvc3Qub25Db2xSZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgdGhpcy5oYW5kbGVDb2xSZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgY29uc3QgY29tcG9uZW50SWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgICB0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lID0gYHJlc2V0VGFibGVSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgY29uc3Qgc3R5bGVSZXNldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgc3R5bGVSZXNldC5pbm5lckhUTUwgPSBgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGJvZHkgPiB0ciwgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXS5hcHBlbmRDaGlsZChzdHlsZVJlc2V0KTtcblxuICAgICAgICB0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWUgPSBgZml4VGFibGVCb2R5Um93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICB0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lfSB0Ym9keSA+IHRyIHsgaGVpZ2h0OiBhdXRvOyB9YDtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdLmFwcGVuZENoaWxkKHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0KTtcblxuICAgICAgICB0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWUgPSBgZml4VGFibGVIZWFkUm93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lfSB0aGVhZCA+IHRyIHsgaGVpZ2h0OiBhdXRvOyB9YDtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdLmFwcGVuZENoaWxkKHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNUYWJsZUZyb3plblBvc2l0aW9uID09PSBcImxlZnRcIikgcmV0dXJuO1xuICAgICAgICB0aGlzLmFwcGx5U3R5bGVzRm9yVGFibGUoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseVN0eWxlc0ZvclRhYmxlKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxXcmFwcGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtc2Nyb2xsYWJsZS13cmFwcGVyXCIpO1xuICAgICAgICBpZiAoIXNjcm9sbFdyYXBwZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIHNjcm9sbC13cmFwcGVyIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZGlzcGxheSA9IFwiZmxleFwiO1xuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmZsZXhEaXJlY3Rpb24gPSBcInJvd1wiO1xuXG4gICAgICAgIGNvbnN0IGZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghZnJvemVuVGFibGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIGZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5vcmRlciA9IFwiMVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJSaWdodCA9IFwibm9uZVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJMZWZ0ID0gXCIxcHggc29saWQgI2RkZGRkZFwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3hTaGFkb3cgPSBcIi01cHggMCA1cHggLTVweCAjY2NjY2NjXCI7XG5cbiAgICAgICAgY29uc3QgdW5mcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLXVuZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghdW5mcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgdW5mcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdW5mcm96ZW5UYWJsZS5zdHlsZS5wb3NpdGlvbiA9IFwidW5zZXRcIjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ29sUmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzeW5jaHJvbml6ZVJvd0hlaWdodCgpIHtcbiAgICAgICAgY29uc3QgdGFibGVCb2R5V3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtYm9keVwiKTtcbiAgICAgICAgY29uc3QgdGFibGVCb2RpZXMgPSBbLi4udGFibGVCb2R5V3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG4gICAgICAgIHRoaXMuYXBwbHlNYXhSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuXG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZFdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3hcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZHMgPSBbLi4udGFibGVIZWFkV3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUhlYWRzKTtcbiAgICAgICAgdGhpcy5hcHBseU1heFJvd0hlaWdodCh0YWJsZUhlYWRzLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZXM6IGFueVtdKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4SGVhZFJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QuYWRkKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseU1heFJvd0hlaWdodCh0YWJsZXM6IGFueVtdLCBpc0hlYWQ6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBjb25zdCByb3dTaXplcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCB0ciBvZiB0YWJsZS5yb3dzKSB7XG4gICAgICAgICAgICAgICAgcm93U2l6ZXMucHVzaCh0ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyb3dTaXplcy5sZW5ndGgpIHJldHVybjtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gTWF0aC5tYXgoLi4ucm93U2l6ZXMpO1xuXG4gICAgICAgIGlmIChpc0hlYWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWV9IHRib2R5ID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  export * from "./navigation/navigation.directive";
2
2
  export * from "./row-toggler/row-toggler.directive";
3
+ export * from "./frozen-position/frozen-position.directive";
3
4
  export * from "./table-column/index";
4
5
  export * from "./table.module";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm93LXRvZ2dsZXIvcm93LXRvZ2dsZXIuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZS1jb2x1bW4vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlLm1vZHVsZVwiO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9uYXZpZ2F0aW9uL25hdmlnYXRpb24uZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3ctdG9nZ2xlci9yb3ctdG9nZ2xlci5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZS1jb2x1bW4vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlLm1vZHVsZVwiO1xuIl19
@@ -4,6 +4,7 @@ import { NgModule } from "@angular/core";
4
4
  import { TooltipModule } from "primeng/tooltip";
5
5
  import { NavigationDirective } from "./navigation/navigation.directive";
6
6
  import { RowTogllerDirective } from "./row-toggler/row-toggler.directive";
7
+ import { TableFrozenPositionDirective } from "./frozen-position/frozen-position.directive";
7
8
  import { TableColumnsComponent } from "./table-column/table-columns.component";
8
9
  import { TokenListModule } from "../token-list";
9
10
  let TableModule = class TableModule {
@@ -18,14 +19,16 @@ TableModule = __decorate([
18
19
  exports: [
19
20
  RowTogllerDirective,
20
21
  NavigationDirective,
21
- TableColumnsComponent
22
+ TableColumnsComponent,
23
+ TableFrozenPositionDirective
22
24
  ],
23
25
  declarations: [
24
26
  RowTogllerDirective,
25
27
  NavigationDirective,
26
- TableColumnsComponent
28
+ TableColumnsComponent,
29
+ TableFrozenPositionDirective
27
30
  ],
28
31
  })
29
32
  ], TableModule);
30
33
  export { TableModule };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1CaEQsSUFBYSxXQUFXLEdBQXhCLE1BQWEsV0FBVztDQUFHLENBQUE7QUFBZCxXQUFXO0lBakJ2QixRQUFRLENBQUM7UUFDTixPQUFPLEVBQUU7WUFDTCxZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHFCQUFxQjtTQUN4QjtRQUNELFlBQVksRUFBRTtZQUNWLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIscUJBQXFCO1NBQ3hCO0tBQ0osQ0FBQztHQUNXLFdBQVcsQ0FBRztTQUFkLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvdG9vbHRpcFwiO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gXCIuL25hdmlnYXRpb24vbmF2aWdhdGlvbi5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IFJvd1RvZ2xsZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi9yb3ctdG9nZ2xlci9yb3ctdG9nZ2xlci5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IFRhYmxlQ29sdW1uc0NvbXBvbmVudCB9IGZyb20gXCIuL3RhYmxlLWNvbHVtbi90YWJsZS1jb2x1bW5zLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVG9rZW5MaXN0TW9kdWxlIH0gZnJvbSBcIi4uL3Rva2VuLWxpc3RcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVG9vbHRpcE1vZHVsZSxcbiAgICAgICAgVG9rZW5MaXN0TW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFJvd1RvZ2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIE5hdmlnYXRpb25EaXJlY3RpdmUsXG4gICAgICAgIFRhYmxlQ29sdW1uc0NvbXBvbmVudFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFJvd1RvZ2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIE5hdmlnYXRpb25EaXJlY3RpdmUsXG4gICAgICAgIFRhYmxlQ29sdW1uc0NvbXBvbmVudFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9kdWxlIHt9XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXFCaEQsSUFBYSxXQUFXLEdBQXhCLE1BQWEsV0FBVztDQUFHLENBQUE7QUFBZCxXQUFXO0lBbkJ2QixRQUFRLENBQUM7UUFDTixPQUFPLEVBQUU7WUFDTCxZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQiw0QkFBNEI7U0FDL0I7UUFDRCxZQUFZLEVBQUU7WUFDVixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQiw0QkFBNEI7U0FDL0I7S0FDSixDQUFDO0dBQ1csV0FBVyxDQUFHO1NBQWQsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy90b29sdGlwXCI7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSBcIi4vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgUm93VG9nbGxlckRpcmVjdGl2ZSB9IGZyb20gXCIuL3Jvdy10b2dnbGVyL3Jvdy10b2dnbGVyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVGFibGVGcm96ZW5Qb3NpdGlvbkRpcmVjdGl2ZSB9IGZyb20gXCIuL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbnNDb21wb25lbnQgfSBmcm9tIFwiLi90YWJsZS1jb2x1bW4vdGFibGUtY29sdW1ucy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRva2VuTGlzdE1vZHVsZSB9IGZyb20gXCIuLi90b2tlbi1saXN0XCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFRva2VuTGlzdE1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBSb3dUb2dsbGVyRGlyZWN0aXZlLFxuICAgICAgICBOYXZpZ2F0aW9uRGlyZWN0aXZlLFxuICAgICAgICBUYWJsZUNvbHVtbnNDb21wb25lbnQsXG4gICAgICAgIFRhYmxlRnJvemVuUG9zaXRpb25EaXJlY3RpdmVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBSb3dUb2dsbGVyRGlyZWN0aXZlLFxuICAgICAgICBOYXZpZ2F0aW9uRGlyZWN0aXZlLFxuICAgICAgICBUYWJsZUNvbHVtbnNDb21wb25lbnQsXG4gICAgICAgIFRhYmxlRnJvemVuUG9zaXRpb25EaXJlY3RpdmVcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,189 @@
1
+ import { __decorate, __read, __spread, __values } from "tslib";
2
+ import { AfterViewInit, Directive, ElementRef, Input, OnDestroy } from "@angular/core";
3
+ import { Table } from "primeng/table";
4
+ var TableFrozenPositionDirective = /** @class */ (function () {
5
+ function TableFrozenPositionDirective(el, host) {
6
+ var _this = this;
7
+ this.el = el;
8
+ this.host = host;
9
+ this.sTableFrozenPosition = "left";
10
+ this.host.onColResize.subscribe(function () {
11
+ _this.handleColResize();
12
+ });
13
+ window.addEventListener("resize", this.handleWindowResize.bind(this));
14
+ var componentId = new Date().getTime();
15
+ this.resetRowHeightClassName = "resetTableRowsHeight_" + componentId;
16
+ var styleReset = document.createElement("style");
17
+ styleReset.innerHTML = "." + this.resetRowHeightClassName + " tbody > tr, ." + this.resetRowHeightClassName + " thead > tr { height: auto; }";
18
+ document.getElementsByTagName("head")[0].appendChild(styleReset);
19
+ this.fixBodyRowClassName = "fixTableBodyRowsHeight_" + componentId;
20
+ this.styleFixBodyRowHeight = document.createElement("style");
21
+ this.styleFixBodyRowHeight.innerHTML = "." + this.fixBodyRowClassName + " tbody > tr { height: auto; }";
22
+ document.getElementsByTagName("head")[0].appendChild(this.styleFixBodyRowHeight);
23
+ this.fixHeadRowClassName = "fixTableHeadRowsHeight_" + componentId;
24
+ this.styleFixHeadRowHeight = document.createElement("style");
25
+ this.styleFixHeadRowHeight.innerHTML = "." + this.fixHeadRowClassName + " thead > tr { height: auto; }";
26
+ document.getElementsByTagName("head")[0].appendChild(this.styleFixHeadRowHeight);
27
+ }
28
+ Object.defineProperty(TableFrozenPositionDirective.prototype, "sTableFrozenValue", {
29
+ set: function (_) {
30
+ var _this = this;
31
+ setTimeout(function () {
32
+ _this.synchronizeRowHeight();
33
+ });
34
+ },
35
+ enumerable: true,
36
+ configurable: true
37
+ });
38
+ TableFrozenPositionDirective.prototype.ngAfterViewInit = function () {
39
+ if (this.sTableFrozenPosition === "left")
40
+ return;
41
+ this.applyStylesForTable();
42
+ };
43
+ TableFrozenPositionDirective.prototype.ngOnDestroy = function () {
44
+ window.removeEventListener("resize", this.handleWindowResize.bind(this));
45
+ };
46
+ TableFrozenPositionDirective.prototype.applyStylesForTable = function () {
47
+ var scrollWrapper = this.el.nativeElement.querySelector(".ui-table-scrollable-wrapper");
48
+ if (!scrollWrapper) {
49
+ console.warn("Unable to find scroll-wrapper element from table. Is the table configured with frozen template?");
50
+ return;
51
+ }
52
+ scrollWrapper.style.display = "flex";
53
+ scrollWrapper.style.flexDirection = "row";
54
+ var frozenTable = this.el.nativeElement.querySelector(".ui-table-frozen-view");
55
+ if (!frozenTable) {
56
+ console.warn("Unable to find frozen element from table. Is the table configured with frozen template?");
57
+ return;
58
+ }
59
+ frozenTable.style.order = "1";
60
+ frozenTable.style.borderRight = "none";
61
+ frozenTable.style.borderLeft = "1px solid #dddddd";
62
+ frozenTable.style.boxShadow = "-5px 0 5px -5px #cccccc";
63
+ var unfrozenTable = this.el.nativeElement.querySelector(".ui-table-unfrozen-view");
64
+ if (!unfrozenTable) {
65
+ console.warn("Unable to find unfrozen element from table. Is the table configured with frozen template?");
66
+ return;
67
+ }
68
+ unfrozenTable.style.position = "unset";
69
+ };
70
+ TableFrozenPositionDirective.prototype.handleWindowResize = function () {
71
+ this.synchronizeRowHeight();
72
+ };
73
+ TableFrozenPositionDirective.prototype.handleColResize = function () {
74
+ this.synchronizeRowHeight();
75
+ };
76
+ TableFrozenPositionDirective.prototype.synchronizeRowHeight = function () {
77
+ var tableBodyWrappers = this.el.nativeElement.getElementsByClassName("ui-table-scrollable-body");
78
+ var tableBodies = __spread(tableBodyWrappers).map(function (divWrapper) { return __spread(divWrapper.childNodes).find(function (p) { return p.tagName === "TABLE"; }); });
79
+ this.recalculateDefaultRowHeight(tableBodies);
80
+ this.applyMaxRowHeight(tableBodies);
81
+ var tableHeadWrappers = this.el.nativeElement.getElementsByClassName("ui-table-scrollable-header-box");
82
+ var tableHeads = __spread(tableHeadWrappers).map(function (divWrapper) { return __spread(divWrapper.childNodes).find(function (p) { return p.tagName === "TABLE"; }); });
83
+ this.recalculateDefaultRowHeight(tableHeads);
84
+ this.applyMaxRowHeight(tableHeads, true);
85
+ };
86
+ TableFrozenPositionDirective.prototype.recalculateDefaultRowHeight = function (tables) {
87
+ var e_1, _a;
88
+ try {
89
+ for (var tables_1 = __values(tables), tables_1_1 = tables_1.next(); !tables_1_1.done; tables_1_1 = tables_1.next()) {
90
+ var table = tables_1_1.value;
91
+ table.classList.remove(this.fixBodyRowClassName);
92
+ table.classList.remove(this.fixHeadRowClassName);
93
+ table.classList.add(this.resetRowHeightClassName);
94
+ }
95
+ }
96
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
97
+ finally {
98
+ try {
99
+ if (tables_1_1 && !tables_1_1.done && (_a = tables_1.return)) _a.call(tables_1);
100
+ }
101
+ finally { if (e_1) throw e_1.error; }
102
+ }
103
+ };
104
+ TableFrozenPositionDirective.prototype.applyMaxRowHeight = function (tables, isHead) {
105
+ var e_2, _a, e_3, _b, e_4, _c, e_5, _d;
106
+ if (isHead === void 0) { isHead = false; }
107
+ var rowSizes = [];
108
+ try {
109
+ for (var tables_2 = __values(tables), tables_2_1 = tables_2.next(); !tables_2_1.done; tables_2_1 = tables_2.next()) {
110
+ var table = tables_2_1.value;
111
+ try {
112
+ for (var _e = (e_3 = void 0, __values(table.rows)), _f = _e.next(); !_f.done; _f = _e.next()) {
113
+ var tr = _f.value;
114
+ rowSizes.push(tr.getBoundingClientRect().height);
115
+ }
116
+ }
117
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
118
+ finally {
119
+ try {
120
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
121
+ }
122
+ finally { if (e_3) throw e_3.error; }
123
+ }
124
+ }
125
+ }
126
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
127
+ finally {
128
+ try {
129
+ if (tables_2_1 && !tables_2_1.done && (_a = tables_2.return)) _a.call(tables_2);
130
+ }
131
+ finally { if (e_2) throw e_2.error; }
132
+ }
133
+ if (!rowSizes.length)
134
+ return;
135
+ var maxHeight = Math.max.apply(Math, __spread(rowSizes));
136
+ if (isHead) {
137
+ this.styleFixHeadRowHeight.innerHTML = "." + this.fixHeadRowClassName + " thead > tr { height: " + maxHeight + "px; }";
138
+ try {
139
+ for (var tables_3 = __values(tables), tables_3_1 = tables_3.next(); !tables_3_1.done; tables_3_1 = tables_3.next()) {
140
+ var table = tables_3_1.value;
141
+ table.classList.remove(this.resetRowHeightClassName);
142
+ table.classList.add(this.fixHeadRowClassName);
143
+ }
144
+ }
145
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
146
+ finally {
147
+ try {
148
+ if (tables_3_1 && !tables_3_1.done && (_c = tables_3.return)) _c.call(tables_3);
149
+ }
150
+ finally { if (e_4) throw e_4.error; }
151
+ }
152
+ }
153
+ else {
154
+ this.styleFixBodyRowHeight.innerHTML = "." + this.fixBodyRowClassName + " tbody > tr { height: " + maxHeight + "px; }";
155
+ try {
156
+ for (var tables_4 = __values(tables), tables_4_1 = tables_4.next(); !tables_4_1.done; tables_4_1 = tables_4.next()) {
157
+ var table = tables_4_1.value;
158
+ table.classList.remove(this.resetRowHeightClassName);
159
+ table.classList.add(this.fixBodyRowClassName);
160
+ }
161
+ }
162
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
163
+ finally {
164
+ try {
165
+ if (tables_4_1 && !tables_4_1.done && (_d = tables_4.return)) _d.call(tables_4);
166
+ }
167
+ finally { if (e_5) throw e_5.error; }
168
+ }
169
+ }
170
+ };
171
+ TableFrozenPositionDirective.ctorParameters = function () { return [
172
+ { type: ElementRef },
173
+ { type: Table }
174
+ ]; };
175
+ __decorate([
176
+ Input()
177
+ ], TableFrozenPositionDirective.prototype, "sTableFrozenPosition", void 0);
178
+ __decorate([
179
+ Input()
180
+ ], TableFrozenPositionDirective.prototype, "sTableFrozenValue", null);
181
+ TableFrozenPositionDirective = __decorate([
182
+ Directive({
183
+ selector: "[sTableFrozenPosition]"
184
+ })
185
+ ], TableFrozenPositionDirective);
186
+ return TableFrozenPositionDirective;
187
+ }());
188
+ export { TableFrozenPositionDirective };
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3RDO0lBaUJJLHNDQUFvQixFQUFjLEVBQVUsSUFBVztRQUF2RCxpQkF1QkM7UUF2Qm1CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFPO1FBZnZELHlCQUFvQixHQUFHLE1BQU0sQ0FBQztRQWdCMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQzdCLEtBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLDBCQUF3QixXQUFhLENBQUM7UUFDckUsSUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxVQUFVLENBQUMsU0FBUyxHQUFHLE1BQUksSUFBSSxDQUFDLHVCQUF1QixzQkFBaUIsSUFBSSxDQUFDLHVCQUF1QixrQ0FBK0IsQ0FBQztRQUNwSSxRQUFRLENBQUMs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LE1BQU0sQ0FBQSw4QkFBQSxrREFBRTtvQkFBdkIsSUFBTSxLQUFLLG1CQUFBO29CQUNaLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO29CQUNyRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDakQ7Ozs7Ozs7OztTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxHQUFHLE1BQUksSUFBSSxDQUFDLG1CQUFtQiw4QkFBeUIsU0FBUyxVQUFPLENBQUM7O2dCQUU3RyxLQUFvQixJQUFBLFdBQUEsU0FBQSxNQUFNLENBQUEsOEJBQUEsa0RBQUU7b0JBQXZCLElBQU0sS0FBSyxtQkFBQTtvQkFDWixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztvQkFDckQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQ2pEOzs7Ozs7Ozs7U0FDSjtJQUNMLENBQUM7O2dCQW5IdUIsVUFBVTtnQkFBZ0IsS0FBSzs7SUFmdkQ7UUFEQyxLQUFLLEVBQUU7OEVBQ3NCO0lBRzlCO1FBREMsS0FBSyxFQUFFO3lFQUtQO0lBVFEsNEJBQTRCO1FBSHhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx3QkFBd0I7U0FDckMsQ0FBQztPQUNXLDRCQUE0QixDQXFJeEM7SUFBRCxtQ0FBQztDQUFBLEFBcklELElBcUlDO1NBcklZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVGFibGVGcm96ZW5Qb3NpdGlvbl1cIlxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZyb3plblBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHNUYWJsZUZyb3plblBvc2l0aW9uID0gXCJsZWZ0XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzVGFibGVGcm96ZW5WYWx1ZShfOiBhbnlbXSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldFJvd0hlaWdodENsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgZml4Qm9keVJvd0NsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3R5bGVGaXhCb2R5Um93SGVpZ2h0OiBhbnk7XG4gICAgcHJpdmF0ZSBmaXhIZWFkUm93Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdHlsZUZpeEhlYWRSb3dIZWlnaHQ6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgaG9zdDogVGFibGUpIHtcbiAgICAgICAgdGhpcy5ob3N0Lm9uQ29sUmVzaXplLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgIHRoaXMuaGFuZGxlQ29sUmVzaXplKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudElkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICAgICAgdGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSA9IGByZXNldFRhYmxlUm93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIGNvbnN0IHN0eWxlUmVzZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIHN0eWxlUmVzZXQuaW5uZXJIVE1MID0gYC4ke3RoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWV9IHRib2R5ID4gdHIsIC4ke3RoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6IGF1dG87IH1gO1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF0uYXBwZW5kQ2hpbGQoc3R5bGVSZXNldCk7XG5cbiAgICAgICAgdGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lID0gYGZpeFRhYmxlQm9keVJvd3NIZWlnaHRfJHtjb21wb25lbnRJZH1gO1xuICAgICAgICB0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4Qm9keVJvd0NsYXNzTmFtZX0gdGJvZHkgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXS5hcHBlbmRDaGlsZCh0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodCk7XG5cbiAgICAgICAgdGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lID0gYGZpeFRhYmxlSGVhZFJvd3NIZWlnaHRfJHtjb21wb25lbnRJZH1gO1xuICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4SGVhZFJvd0NsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXS5hcHBlbmRDaGlsZCh0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zVGFibGVGcm96ZW5Qb3NpdGlvbiA9PT0gXCJsZWZ0XCIpIHJldHVybjtcbiAgICAgICAgdGhpcy5hcHBseVN0eWxlc0ZvclRhYmxlKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlTdHlsZXNGb3JUYWJsZSgpIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsV3JhcHBlciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLXNjcm9sbGFibGUtd3JhcHBlclwiKTtcbiAgICAgICAgaWYgKCFzY3JvbGxXcmFwcGVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCBzY3JvbGwtd3JhcHBlciBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmRpc3BsYXkgPSBcImZsZXhcIjtcbiAgICAgICAgc2Nyb2xsV3JhcHBlci5zdHlsZS5mbGV4RGlyZWN0aW9uID0gXCJyb3dcIjtcblxuICAgICAgICBjb25zdCBmcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLWZyb3plbi12aWV3XCIpO1xuICAgICAgICBpZiAoIWZyb3plblRhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCBmcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUub3JkZXIgPSBcIjFcIjtcbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUuYm9yZGVyUmlnaHQgPSBcIm5vbmVcIjtcbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUuYm9yZGVyTGVmdCA9IFwiMXB4IHNvbGlkICNkZGRkZGRcIjtcbiAgICAgICAgZnJvemVuVGFibGUuc3R5bGUuYm94U2hhZG93ID0gXCItNXB4IDAgNXB4IC01cHggI2NjY2NjY1wiO1xuXG4gICAgICAgIGNvbnN0IHVuZnJvemVuVGFibGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS11bmZyb3plbi12aWV3XCIpO1xuICAgICAgICBpZiAoIXVuZnJvemVuVGFibGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIHVuZnJvemVuIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHVuZnJvemVuVGFibGUuc3R5bGUucG9zaXRpb24gPSBcInVuc2V0XCI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVXaW5kb3dSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUNvbFJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY2hyb25pemVSb3dIZWlnaHQoKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlQm9keVdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWJvZHlcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlQm9kaWVzID0gWy4uLnRhYmxlQm9keVdyYXBwZXJzXS5tYXAoZGl2V3JhcHBlciA9PiBbLi4uZGl2V3JhcHBlci5jaGlsZE5vZGVzXS5maW5kKHAgPT4gcC50YWdOYW1lID09PSBcIlRBQkxFXCIpKTtcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZURlZmF1bHRSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuICAgICAgICB0aGlzLmFwcGx5TWF4Um93SGVpZ2h0KHRhYmxlQm9kaWVzKTtcblxuICAgICAgICBjb25zdCB0YWJsZUhlYWRXcmFwcGVycyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwidWktdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXItYm94XCIpO1xuICAgICAgICBjb25zdCB0YWJsZUhlYWRzID0gWy4uLnRhYmxlSGVhZFdyYXBwZXJzXS5tYXAoZGl2V3JhcHBlciA9PiBbLi4uZGl2V3JhcHBlci5jaGlsZE5vZGVzXS5maW5kKHAgPT4gcC50YWdOYW1lID09PSBcIlRBQkxFXCIpKTtcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZURlZmF1bHRSb3dIZWlnaHQodGFibGVIZWFkcyk7XG4gICAgICAgIHRoaXMuYXBwbHlNYXhSb3dIZWlnaHQodGFibGVIZWFkcywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWNhbGN1bGF0ZURlZmF1bHRSb3dIZWlnaHQodGFibGVzOiBhbnlbXSkge1xuICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LmFkZCh0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlNYXhSb3dIZWlnaHQodGFibGVzOiBhbnlbXSwgaXNIZWFkOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3Qgcm93U2l6ZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdHIgb2YgdGFibGUucm93cykge1xuICAgICAgICAgICAgICAgIHJvd1NpemVzLnB1c2godHIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcm93U2l6ZXMubGVuZ3RoKSByZXR1cm47XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IE1hdGgubWF4KC4uLnJvd1NpemVzKTtcblxuICAgICAgICBpZiAoaXNIZWFkKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lfSB0aGVhZCA+IHRyIHsgaGVpZ2h0OiAke21heEhlaWdodH1weDsgfWA7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QuYWRkKHRoaXMuZml4SGVhZFJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lfSB0Ym9keSA+IHRyIHsgaGVpZ2h0OiAke21heEhlaWdodH1weDsgfWA7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QuYWRkKHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  export * from "./navigation/navigation.directive";
2
2
  export * from "./row-toggler/row-toggler.directive";
3
+ export * from "./frozen-position/frozen-position.directive";
3
4
  export * from "./table-column/index";
4
5
  export * from "./table.module";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm93LXRvZ2dsZXIvcm93LXRvZ2dsZXIuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZS1jb2x1bW4vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlLm1vZHVsZVwiO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9uYXZpZ2F0aW9uL25hdmlnYXRpb24uZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3ctdG9nZ2xlci9yb3ctdG9nZ2xlci5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZS1jb2x1bW4vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlLm1vZHVsZVwiO1xuIl19
@@ -4,6 +4,7 @@ import { NgModule } from "@angular/core";
4
4
  import { TooltipModule } from "primeng/tooltip";
5
5
  import { NavigationDirective } from "./navigation/navigation.directive";
6
6
  import { RowTogllerDirective } from "./row-toggler/row-toggler.directive";
7
+ import { TableFrozenPositionDirective } from "./frozen-position/frozen-position.directive";
7
8
  import { TableColumnsComponent } from "./table-column/table-columns.component";
8
9
  import { TokenListModule } from "../token-list";
9
10
  var TableModule = /** @class */ (function () {
@@ -19,16 +20,18 @@ var TableModule = /** @class */ (function () {
19
20
  exports: [
20
21
  RowTogllerDirective,
21
22
  NavigationDirective,
22
- TableColumnsComponent
23
+ TableColumnsComponent,
24
+ TableFrozenPositionDirective
23
25
  ],
24
26
  declarations: [
25
27
  RowTogllerDirective,
26
28
  NavigationDirective,
27
- TableColumnsComponent
29
+ TableColumnsComponent,
30
+ TableFrozenPositionDirective
28
31
  ],
29
32
  })
30
33
  ], TableModule);
31
34
  return TableModule;
32
35
  }());
33
36
  export { TableModule };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1CaEQ7SUFBQTtJQUEwQixDQUFDO0lBQWQsV0FBVztRQWpCdkIsUUFBUSxDQUFDO1lBQ04sT0FBTyxFQUFFO2dCQUNMLFlBQVk7Z0JBQ1osYUFBYTtnQkFDYixlQUFlO2FBQ2xCO1lBQ0QsT0FBTyxFQUFFO2dCQUNMLG1CQUFtQjtnQkFDbkIsbUJBQW1CO2dCQUNuQixxQkFBcUI7YUFDeEI7WUFDRCxZQUFZLEVBQUU7Z0JBQ1YsbUJBQW1CO2dCQUNuQixtQkFBbUI7Z0JBQ25CLHFCQUFxQjthQUN4QjtTQUNKLENBQUM7T0FDVyxXQUFXLENBQUc7SUFBRCxrQkFBQztDQUFBLEFBQTNCLElBQTJCO1NBQWQsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy90b29sdGlwXCI7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSBcIi4vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgUm93VG9nbGxlckRpcmVjdGl2ZSB9IGZyb20gXCIuL3Jvdy10b2dnbGVyL3Jvdy10b2dnbGVyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSBcIi4vdGFibGUtY29sdW1uL3RhYmxlLWNvbHVtbnMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUb2tlbkxpc3RNb2R1bGUgfSBmcm9tIFwiLi4vdG9rZW4tbGlzdFwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUb29sdGlwTW9kdWxlLFxuICAgICAgICBUb2tlbkxpc3RNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUm93VG9nbGxlckRpcmVjdGl2ZSxcbiAgICAgICAgTmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgVGFibGVDb2x1bW5zQ29tcG9uZW50XG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgUm93VG9nbGxlckRpcmVjdGl2ZSxcbiAgICAgICAgTmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgVGFibGVDb2x1bW5zQ29tcG9uZW50XG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVNb2R1bGUge31cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXFCaEQ7SUFBQTtJQUEwQixDQUFDO0lBQWQsV0FBVztRQW5CdkIsUUFBUSxDQUFDO1lBQ04sT0FBTyxFQUFFO2dCQUNMLFlBQVk7Z0JBQ1osYUFBYTtnQkFDYixlQUFlO2FBQ2xCO1lBQ0QsT0FBTyxFQUFFO2dCQUNMLG1CQUFtQjtnQkFDbkIsbUJBQW1CO2dCQUNuQixxQkFBcUI7Z0JBQ3JCLDRCQUE0QjthQUMvQjtZQUNELFlBQVksRUFBRTtnQkFDVixtQkFBbUI7Z0JBQ25CLG1CQUFtQjtnQkFDbkIscUJBQXFCO2dCQUNyQiw0QkFBNEI7YUFDL0I7U0FDSixDQUFDO09BQ1csV0FBVyxDQUFHO0lBQUQsa0JBQUM7Q0FBQSxBQUEzQixJQUEyQjtTQUFkLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvdG9vbHRpcFwiO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gXCIuL25hdmlnYXRpb24vbmF2aWdhdGlvbi5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IFJvd1RvZ2xsZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi9yb3ctdG9nZ2xlci9yb3ctdG9nZ2xlci5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IFRhYmxlRnJvemVuUG9zaXRpb25EaXJlY3RpdmUgfSBmcm9tIFwiLi9mcm96ZW4tcG9zaXRpb24vZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSBcIi4vdGFibGUtY29sdW1uL3RhYmxlLWNvbHVtbnMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUb2tlbkxpc3RNb2R1bGUgfSBmcm9tIFwiLi4vdG9rZW4tbGlzdFwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUb29sdGlwTW9kdWxlLFxuICAgICAgICBUb2tlbkxpc3RNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUm93VG9nbGxlckRpcmVjdGl2ZSxcbiAgICAgICAgTmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgVGFibGVDb2x1bW5zQ29tcG9uZW50LFxuICAgICAgICBUYWJsZUZyb3plblBvc2l0aW9uRGlyZWN0aXZlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgUm93VG9nbGxlckRpcmVjdGl2ZSxcbiAgICAgICAgTmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgVGFibGVDb2x1bW5zQ29tcG9uZW50LFxuICAgICAgICBUYWJsZUZyb3plblBvc2l0aW9uRGlyZWN0aXZlXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVNb2R1bGUge31cbiJdfQ==