@seniorsistemas/angular-components 14.16.6 → 14.16.7

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.
@@ -1,10 +1,12 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from "@angular/core";
1
+ import { AfterContentChecked, AfterViewInit, ElementRef, EventEmitter, OnDestroy } from "@angular/core";
2
2
  import { Table } from "primeng/table";
3
- export declare class TableFrozenPositionDirective implements AfterViewInit, OnDestroy {
3
+ export declare class TableFrozenPositionDirective implements AfterViewInit, OnDestroy, AfterContentChecked {
4
4
  private el;
5
5
  private host;
6
6
  sTableFrozenPosition: string;
7
7
  set sTableFrozenValue(_: any[]);
8
+ private table;
9
+ private isTableVisible;
8
10
  private resetRowHeightClassName;
9
11
  private fixBodyRowClassName;
10
12
  private styleFixBodyRowHeight;
@@ -14,6 +16,7 @@ export declare class TableFrozenPositionDirective implements AfterViewInit, OnDe
14
16
  onColumnsChanged: EventEmitter<any>;
15
17
  constructor(el: ElementRef, host: Table);
16
18
  ngAfterViewInit(): void;
19
+ ngAfterContentChecked(): void;
17
20
  ngOnDestroy(): void;
18
21
  private setUpColumnMonitoring;
19
22
  private applyStylesForTable;
@@ -1,12 +1,14 @@
1
1
  import { __decorate } from "tslib";
2
- import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy } from "@angular/core";
2
+ import { AfterContentChecked, 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.isTableVisible = false;
9
10
  this.onColumnsChanged = new EventEmitter();
11
+ this.table = host;
10
12
  this.host.onColResize.subscribe(() => {
11
13
  this.handleColResize();
12
14
  });
@@ -37,6 +39,15 @@ let TableFrozenPositionDirective = class TableFrozenPositionDirective {
37
39
  this.applyStylesForTable();
38
40
  this.setUpColumnMonitoring();
39
41
  }
42
+ ngAfterContentChecked() {
43
+ if (!this.isTableVisible && !!this.table.el.nativeElement.offsetParent) {
44
+ this.isTableVisible = true;
45
+ this.synchronizeRowHeight();
46
+ }
47
+ else if (this.isTableVisible && !this.table.el.nativeElement.offsetParent) {
48
+ this.isTableVisible = false;
49
+ }
50
+ }
40
51
  ngOnDestroy() {
41
52
  window.removeEventListener("resize", this.handleWindowResize.bind(this));
42
53
  if (this.tableHeadObservable) {
@@ -145,4 +156,4 @@ TableFrozenPositionDirective = __decorate([
145
156
  })
146
157
  ], TableFrozenPositionDirective);
147
158
  export { TableFrozenPositionDirective };
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQW1CckMsWUFBb0IsRUFBYyxFQUFVLElBQVc7UUFBbkMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLFNBQUksR0FBSixJQUFJLENBQU87UUFqQnZELHlCQUFvQixHQUFHLE1BQU0sQ0FBQztRQWU5QixxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyx1QkFBdUIsR0FBRyx3QkFBd0IsV0FBVyxFQUFFLENBQUM7UUFD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Q1AsUUFBUSxFQUFFLHdCQUF3QjtLQUNyQyxDQUFDO0dBQ1csNEJBQTRCLENBMEp4QztTQTFKWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVGFibGVGcm96ZW5Qb3NpdGlvbl1cIlxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZyb3plblBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHNUYWJsZUZyb3plblBvc2l0aW9uID0gXCJsZWZ0XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzVGFibGVGcm96ZW5WYWx1ZShfOiBhbnlbXSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldFJvd0hlaWdodENsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgZml4Qm9keVJvd0NsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3R5bGVGaXhCb2R5Um93SGVpZ2h0OiBhbnk7XG4gICAgcHJpdmF0ZSBmaXhIZWFkUm93Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdHlsZUZpeEhlYWRSb3dIZWlnaHQ6IGFueTtcbiAgICB0YWJsZUhlYWRPYnNlcnZhYmxlOiBNdXRhdGlvbk9ic2VydmVyO1xuICAgIG9uQ29sdW1uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBob3N0OiBUYWJsZSkge1xuICAgICAgICB0aGlzLmhvc3Qub25Db2xSZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgdGhpcy5oYW5kbGVDb2xSZXNpemUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgY29uc3QgY29tcG9uZW50SWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgY29uc3QgaHRtbEhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF07XG5cbiAgICAgICAgdGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSA9IGByZXNldFRhYmxlUm93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIGNvbnN0IHN0eWxlUmVzZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIHN0eWxlUmVzZXQuaW5uZXJIVE1MID0gYC4ke3RoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWV9IHRib2R5ID4gdHIsIC4ke3RoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6IGF1dG87IH1gO1xuICAgICAgICBodG1sSGVhZC5hcHBlbmRDaGlsZChzdHlsZVJlc2V0KTtcblxuICAgICAgICB0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWUgPSBgZml4VGFibGVCb2R5Um93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICB0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lfSB0Ym9keSA+IHRyIHsgaGVpZ2h0OiBhdXRvOyB9YDtcbiAgICAgICAgaHRtbEhlYWQuYXBwZW5kQ2hpbGQodGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQpO1xuXG4gICAgICAgIHRoaXMuZml4SGVhZFJvd0NsYXNzTmFtZSA9IGBmaXhUYWJsZUhlYWRSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6IGF1dG87IH1gO1xuICAgICAgICBodG1sSGVhZC5hcHBlbmRDaGlsZCh0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zVGFibGVGcm96ZW5Qb3NpdGlvbiA9PT0gXCJsZWZ0XCIpIHJldHVybjtcbiAgICAgICAgdGhpcy5hcHBseVN0eWxlc0ZvclRhYmxlKCk7XG4gICAgICAgIHRoaXMuc2V0VXBDb2x1bW5Nb25pdG9yaW5nKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuICAgICAgICBpZiAodGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRVcENvbHVtbk1vbml0b3JpbmcoKSB7XG4gICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZSA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgICAgIHRoaXMub25Db2x1bW5zQ2hhbmdlZC5lbWl0KG51bGwpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGFibGVIZWFkcyA9IFsuLi50aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJ0aGVhZFwiKV07XG4gICAgICAgIHRhYmxlSGVhZHMuZm9yRWFjaCgodGFibGVIZWFkOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZS5vYnNlcnZlKHRhYmxlSGVhZCwge1xuICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseVN0eWxlc0ZvclRhYmxlKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxXcmFwcGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtc2Nyb2xsYWJsZS13cmFwcGVyXCIpO1xuICAgICAgICBpZiAoIXNjcm9sbFdyYXBwZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIHNjcm9sbC13cmFwcGVyIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZGlzcGxheSA9IFwiZmxleFwiO1xuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmZsZXhEaXJlY3Rpb24gPSBcInJvd1wiO1xuXG4gICAgICAgIGNvbnN0IGZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghZnJvemVuVGFibGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIGZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5vcmRlciA9IFwiMVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJSaWdodCA9IFwibm9uZVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJMZWZ0ID0gXCIxcHggc29saWQgI2RkZGRkZFwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3hTaGFkb3cgPSBcIi01cHggMCA1cHggLTVweCAjY2NjY2NjXCI7XG5cbiAgICAgICAgY29uc3QgdW5mcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLXVuZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghdW5mcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgdW5mcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdW5mcm96ZW5UYWJsZS5zdHlsZS5wb3NpdGlvbiA9IFwidW5zZXRcIjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ29sUmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzeW5jaHJvbml6ZVJvd0hlaWdodCgpIHtcbiAgICAgICAgY29uc3QgdGFibGVCb2R5V3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtYm9keVwiKTtcbiAgICAgICAgY29uc3QgdGFibGVCb2RpZXMgPSBbLi4udGFibGVCb2R5V3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG4gICAgICAgIHRoaXMuYXBwbHlNYXhSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuXG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZFdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3hcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZHMgPSBbLi4udGFibGVIZWFkV3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUhlYWRzKTtcbiAgICAgICAgdGhpcy5hcHBseU1heFJvd0hlaWdodCh0YWJsZUhlYWRzLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZXM6IGFueVtdKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4SGVhZFJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QuYWRkKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseU1heFJvd0hlaWdodCh0YWJsZXM6IGFueVtdLCBpc0hlYWQ6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBjb25zdCByb3dTaXplcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCB0ciBvZiB0YWJsZS5yb3dzKSB7XG4gICAgICAgICAgICAgICAgcm93U2l6ZXMucHVzaCh0ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyb3dTaXplcy5sZW5ndGgpIHJldHVybjtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gTWF0aC5tYXgoLi4ucm93U2l6ZXMpO1xuXG4gICAgICAgIGlmIChpc0hlYWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWV9IHRib2R5ID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQXFCckMsWUFBb0IsRUFBYyxFQUFVLElBQVc7UUFBbkMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLFNBQUksR0FBSixJQUFJLENBQU87UUFuQnZELHlCQUFvQixHQUFHLE1BQU0sQ0FBQztRQVV0QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQU8vQixxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdyRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FB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Q0o7YUFBTTtZQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsbUJBQW1CLHlCQUF5QixTQUFTLE9BQU8sQ0FBQztZQUU3RyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtnQkFDeEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3JELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ2pEO1NBQ0o7SUFDTCxDQUFDO0NBQ0osQ0FBQTs7WUFsSjJCLFVBQVU7WUFBZ0IsS0FBSzs7QUFuQnZEO0lBREMsS0FBSyxFQUFFOzBFQUNzQjtBQUc5QjtJQURDLEtBQUssRUFBRTtxRUFLUDtBQVRRLDRCQUE0QjtJQUh4QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsd0JBQXdCO0tBQ3JDLENBQUM7R0FDVyw0QkFBNEIsQ0F1S3hDO1NBdktZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW3NUYWJsZUZyb3plblBvc2l0aW9uXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRnJvemVuUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWQge1xuICAgIEBJbnB1dCgpXG4gICAgc1RhYmxlRnJvemVuUG9zaXRpb24gPSBcImxlZnRcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNUYWJsZUZyb3plblZhbHVlKF86IGFueVtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRhYmxlOiBUYWJsZTtcbiAgICBwcml2YXRlIGlzVGFibGVWaXNpYmxlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZXNldFJvd0hlaWdodENsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgZml4Qm9keVJvd0NsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3R5bGVGaXhCb2R5Um93SGVpZ2h0OiBhbnk7XG4gICAgcHJpdmF0ZSBmaXhIZWFkUm93Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdHlsZUZpeEhlYWRSb3dIZWlnaHQ6IGFueTtcbiAgICB0YWJsZUhlYWRPYnNlcnZhYmxlOiBNdXRhdGlvbk9ic2VydmVyO1xuICAgIG9uQ29sdW1uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBob3N0OiBUYWJsZSkge1xuICAgICAgICB0aGlzLnRhYmxlID0gaG9zdDtcbiAgICAgICAgdGhpcy5ob3N0Lm9uQ29sUmVzaXplLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgIHRoaXMuaGFuZGxlQ29sUmVzaXplKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudElkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIGNvbnN0IGh0bWxIZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdO1xuXG4gICAgICAgIHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUgPSBgcmVzZXRUYWJsZVJvd3NIZWlnaHRfJHtjb21wb25lbnRJZH1gO1xuICAgICAgICBjb25zdCBzdHlsZVJlc2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICBzdHlsZVJlc2V0LmlubmVySFRNTCA9IGAuJHt0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lfSB0Ym9keSA+IHRyLCAuJHt0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lfSB0aGVhZCA+IHRyIHsgaGVpZ2h0OiBhdXRvOyB9YDtcbiAgICAgICAgaHRtbEhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVSZXNldCk7XG5cbiAgICAgICAgdGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lID0gYGZpeFRhYmxlQm9keVJvd3NIZWlnaHRfJHtjb21wb25lbnRJZH1gO1xuICAgICAgICB0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4Qm9keVJvd0NsYXNzTmFtZX0gdGJvZHkgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGh0bWxIZWFkLmFwcGVuZENoaWxkKHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0KTtcblxuICAgICAgICB0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWUgPSBgZml4VGFibGVIZWFkUm93c0hlaWdodF8ke2NvbXBvbmVudElkfWA7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodC5pbm5lckhUTUwgPSBgLiR7dGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lfSB0aGVhZCA+IHRyIHsgaGVpZ2h0OiBhdXRvOyB9YDtcbiAgICAgICAgaHRtbEhlYWQuYXBwZW5kQ2hpbGQodGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc1RhYmxlRnJvemVuUG9zaXRpb24gPT09IFwibGVmdFwiKSByZXR1cm47XG4gICAgICAgIHRoaXMuYXBwbHlTdHlsZXNGb3JUYWJsZSgpO1xuICAgICAgICB0aGlzLnNldFVwQ29sdW1uTW9uaXRvcmluZygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVGFibGVWaXNpYmxlICYmICEhdGhpcy50YWJsZS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy5pc1RhYmxlVmlzaWJsZSA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzVGFibGVWaXNpYmxlICYmICF0aGlzLnRhYmxlLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlzVGFibGVWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZS5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwQ29sdW1uTW9uaXRvcmluZygpIHtcbiAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICAgICAgdGhpcy5vbkNvbHVtbnNDaGFuZ2VkLmVtaXQobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0YWJsZUhlYWRzID0gWy4uLnRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInRoZWFkXCIpXTtcbiAgICAgICAgdGFibGVIZWFkcy5mb3JFYWNoKCh0YWJsZUhlYWQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlLm9ic2VydmUodGFibGVIZWFkLCB7XG4gICAgICAgICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5U3R5bGVzRm9yVGFibGUoKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbFdyYXBwZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS1zY3JvbGxhYmxlLXdyYXBwZXJcIik7XG4gICAgICAgIGlmICghc2Nyb2xsV3JhcHBlcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgc2Nyb2xsLXdyYXBwZXIgZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2Nyb2xsV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gXCJmbGV4XCI7XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZmxleERpcmVjdGlvbiA9IFwicm93XCI7XG5cbiAgICAgICAgY29uc3QgZnJvemVuVGFibGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS1mcm96ZW4tdmlld1wiKTtcbiAgICAgICAgaWYgKCFmcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgZnJvemVuIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLm9yZGVyID0gXCIxXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlclJpZ2h0ID0gXCJub25lXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlckxlZnQgPSBcIjFweCBzb2xpZCAjZGRkZGRkXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJveFNoYWRvdyA9IFwiLTVweCAwIDVweCAtNXB4ICNjY2NjY2NcIjtcblxuICAgICAgICBjb25zdCB1bmZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtdW5mcm96ZW4tdmlld1wiKTtcbiAgICAgICAgaWYgKCF1bmZyb3plblRhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCB1bmZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB1bmZyb3plblRhYmxlLnN0eWxlLnBvc2l0aW9uID0gXCJ1bnNldFwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVDb2xSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNocm9uaXplUm93SGVpZ2h0KCkge1xuICAgICAgICBjb25zdCB0YWJsZUJvZHlXcmFwcGVycyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwidWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5XCIpO1xuICAgICAgICBjb25zdCB0YWJsZUJvZGllcyA9IFsuLi50YWJsZUJvZHlXcmFwcGVyc10ubWFwKGRpdldyYXBwZXIgPT4gWy4uLmRpdldyYXBwZXIuY2hpbGROb2Rlc10uZmluZChwID0+IHAudGFnTmFtZSA9PT0gXCJUQUJMRVwiKSk7XG4gICAgICAgIHRoaXMucmVjYWxjdWxhdGVEZWZhdWx0Um93SGVpZ2h0KHRhYmxlQm9kaWVzKTtcbiAgICAgICAgdGhpcy5hcHBseU1heFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG5cbiAgICAgICAgY29uc3QgdGFibGVIZWFkV3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyLWJveFwiKTtcbiAgICAgICAgY29uc3QgdGFibGVIZWFkcyA9IFsuLi50YWJsZUhlYWRXcmFwcGVyc10ubWFwKGRpdldyYXBwZXIgPT4gWy4uLmRpdldyYXBwZXIuY2hpbGROb2Rlc10uZmluZChwID0+IHAudGFnTmFtZSA9PT0gXCJUQUJMRVwiKSk7XG4gICAgICAgIHRoaXMucmVjYWxjdWxhdGVEZWZhdWx0Um93SGVpZ2h0KHRhYmxlSGVhZHMpO1xuICAgICAgICB0aGlzLmFwcGx5TWF4Um93SGVpZ2h0KHRhYmxlSGVhZHMsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVjYWxjdWxhdGVEZWZhdWx0Um93SGVpZ2h0KHRhYmxlczogYW55W10pIHtcbiAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5TWF4Um93SGVpZ2h0KHRhYmxlczogYW55W10sIGlzSGVhZDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IHJvd1NpemVzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRyIG9mIHRhYmxlLnJvd3MpIHtcbiAgICAgICAgICAgICAgICByb3dTaXplcy5wdXNoKHRyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJvd1NpemVzLmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBtYXhIZWlnaHQgPSBNYXRoLm1heCguLi5yb3dTaXplcyk7XG5cbiAgICAgICAgaWYgKGlzSGVhZCkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4SGVhZFJvd0NsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogJHttYXhIZWlnaHR9cHg7IH1gO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LmFkZCh0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4Qm9keVJvd0NsYXNzTmFtZX0gdGJvZHkgPiB0ciB7IGhlaWdodDogJHttYXhIZWlnaHR9cHg7IH1gO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LmFkZCh0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __read, __spread, __values } from "tslib";
2
- import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy } from "@angular/core";
2
+ import { AfterContentChecked, 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,7 +7,9 @@ var TableFrozenPositionDirective = /** @class */ (function () {
7
7
  this.el = el;
8
8
  this.host = host;
9
9
  this.sTableFrozenPosition = "left";
10
+ this.isTableVisible = false;
10
11
  this.onColumnsChanged = new EventEmitter();
12
+ this.table = host;
11
13
  this.host.onColResize.subscribe(function () {
12
14
  _this.handleColResize();
13
15
  });
@@ -43,6 +45,15 @@ var TableFrozenPositionDirective = /** @class */ (function () {
43
45
  this.applyStylesForTable();
44
46
  this.setUpColumnMonitoring();
45
47
  };
48
+ TableFrozenPositionDirective.prototype.ngAfterContentChecked = function () {
49
+ if (!this.isTableVisible && !!this.table.el.nativeElement.offsetParent) {
50
+ this.isTableVisible = true;
51
+ this.synchronizeRowHeight();
52
+ }
53
+ else if (this.isTableVisible && !this.table.el.nativeElement.offsetParent) {
54
+ this.isTableVisible = false;
55
+ }
56
+ };
46
57
  TableFrozenPositionDirective.prototype.ngOnDestroy = function () {
47
58
  window.removeEventListener("resize", this.handleWindowResize.bind(this));
48
59
  if (this.tableHeadObservable) {
@@ -206,4 +217,4 @@ var TableFrozenPositionDirective = /** @class */ (function () {
206
217
  return TableFrozenPositionDirective;
207
218
  }());
208
219
  export { TableFrozenPositionDirective };
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QztJQW1CSSxzQ0FBb0IsRUFBYyxFQUFVLElBQVc7UUFBdkQsaUJBd0JDO1FBeEJtQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBTztRQWpCdkQseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBZTlCLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3JELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM3QixLQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSxJQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pDLElBQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsMEJBQXdCLFdBQWEsQ0FBQztRQUNyRSxJQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFB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QUNaLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO29CQUNyRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDakQ7Ozs7Ozs7OztTQUNKO0lBQ0wsQ0FBQzs7Z0JBdEl1QixVQUFVO2dCQUFnQixLQUFLOztJQWpCdkQ7UUFEQyxLQUFLLEVBQUU7OEVBQ3NCO0lBRzlCO1FBREMsS0FBSyxFQUFFO3lFQUtQO0lBVFEsNEJBQTRCO1FBSHhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx3QkFBd0I7U0FDckMsQ0FBQztPQUNXLDRCQUE0QixDQTBKeEM7SUFBRCxtQ0FBQztDQUFBLEFBMUpELElBMEpDO1NBMUpZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW3NUYWJsZUZyb3plblBvc2l0aW9uXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRnJvemVuUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgc1RhYmxlRnJvemVuUG9zaXRpb24gPSBcImxlZnRcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNUYWJsZUZyb3plblZhbHVlKF86IGFueVtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmaXhCb2R5Um93Q2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdHlsZUZpeEJvZHlSb3dIZWlnaHQ6IGFueTtcbiAgICBwcml2YXRlIGZpeEhlYWRSb3dDbGFzc05hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIHN0eWxlRml4SGVhZFJvd0hlaWdodDogYW55O1xuICAgIHRhYmxlSGVhZE9ic2VydmFibGU6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgb25Db2x1bW5zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIGhvc3Q6IFRhYmxlKSB7XG4gICAgICAgIHRoaXMuaG9zdC5vbkNvbFJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICB0aGlzLmhhbmRsZUNvbFJlc2l6ZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZS5iaW5kKHRoaXMpKTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRJZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBodG1sSGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXTtcblxuICAgICAgICB0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lID0gYHJlc2V0VGFibGVSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgY29uc3Qgc3R5bGVSZXNldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgc3R5bGVSZXNldC5pbm5lckhUTUwgPSBgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGJvZHkgPiB0ciwgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGh0bWxIZWFkLmFwcGVuZENoaWxkKHN0eWxlUmVzZXQpO1xuXG4gICAgICAgIHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSA9IGBmaXhUYWJsZUJvZHlSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWV9IHRib2R5ID4gdHIgeyBoZWlnaHQ6IGF1dG87IH1gO1xuICAgICAgICBodG1sSGVhZC5hcHBlbmRDaGlsZCh0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodCk7XG5cbiAgICAgICAgdGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lID0gYGZpeFRhYmxlSGVhZFJvd3NIZWlnaHRfJHtjb21wb25lbnRJZH1gO1xuICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4SGVhZFJvd0NsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGh0bWxIZWFkLmFwcGVuZENoaWxkKHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNUYWJsZUZyb3plblBvc2l0aW9uID09PSBcImxlZnRcIikgcmV0dXJuO1xuICAgICAgICB0aGlzLmFwcGx5U3R5bGVzRm9yVGFibGUoKTtcbiAgICAgICAgdGhpcy5zZXRVcENvbHVtbk1vbml0b3JpbmcoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUuYmluZCh0aGlzKSk7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZS5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwQ29sdW1uTW9uaXRvcmluZygpIHtcbiAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgICAgICAgICAgdGhpcy5vbkNvbHVtbnNDaGFuZ2VkLmVtaXQobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0YWJsZUhlYWRzID0gWy4uLnRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInRoZWFkXCIpXTtcbiAgICAgICAgdGFibGVIZWFkcy5mb3JFYWNoKCh0YWJsZUhlYWQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlLm9ic2VydmUodGFibGVIZWFkLCB7XG4gICAgICAgICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5U3R5bGVzRm9yVGFibGUoKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbFdyYXBwZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS1zY3JvbGxhYmxlLXdyYXBwZXJcIik7XG4gICAgICAgIGlmICghc2Nyb2xsV3JhcHBlcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgc2Nyb2xsLXdyYXBwZXIgZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2Nyb2xsV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gXCJmbGV4XCI7XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZmxleERpcmVjdGlvbiA9IFwicm93XCI7XG5cbiAgICAgICAgY29uc3QgZnJvemVuVGFibGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi51aS10YWJsZS1mcm96ZW4tdmlld1wiKTtcbiAgICAgICAgaWYgKCFmcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgZnJvemVuIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLm9yZGVyID0gXCIxXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlclJpZ2h0ID0gXCJub25lXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJvcmRlckxlZnQgPSBcIjFweCBzb2xpZCAjZGRkZGRkXCI7XG4gICAgICAgIGZyb3plblRhYmxlLnN0eWxlLmJveFNoYWRvdyA9IFwiLTVweCAwIDVweCAtNXB4ICNjY2NjY2NcIjtcblxuICAgICAgICBjb25zdCB1bmZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtdW5mcm96ZW4tdmlld1wiKTtcbiAgICAgICAgaWYgKCF1bmZyb3plblRhYmxlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gZmluZCB1bmZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB1bmZyb3plblRhYmxlLnN0eWxlLnBvc2l0aW9uID0gXCJ1bnNldFwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVDb2xSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNocm9uaXplUm93SGVpZ2h0KCkge1xuICAgICAgICBjb25zdCB0YWJsZUJvZHlXcmFwcGVycyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwidWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5XCIpO1xuICAgICAgICBjb25zdCB0YWJsZUJvZGllcyA9IFsuLi50YWJsZUJvZHlXcmFwcGVyc10ubWFwKGRpdldyYXBwZXIgPT4gWy4uLmRpdldyYXBwZXIuY2hpbGROb2Rlc10uZmluZChwID0+IHAudGFnTmFtZSA9PT0gXCJUQUJMRVwiKSk7XG4gICAgICAgIHRoaXMucmVjYWxjdWxhdGVEZWZhdWx0Um93SGVpZ2h0KHRhYmxlQm9kaWVzKTtcbiAgICAgICAgdGhpcy5hcHBseU1heFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG5cbiAgICAgICAgY29uc3QgdGFibGVIZWFkV3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyLWJveFwiKTtcbiAgICAgICAgY29uc3QgdGFibGVIZWFkcyA9IFsuLi50YWJsZUhlYWRXcmFwcGVyc10ubWFwKGRpdldyYXBwZXIgPT4gWy4uLmRpdldyYXBwZXIuY2hpbGROb2Rlc10uZmluZChwID0+IHAudGFnTmFtZSA9PT0gXCJUQUJMRVwiKSk7XG4gICAgICAgIHRoaXMucmVjYWxjdWxhdGVEZWZhdWx0Um93SGVpZ2h0KHRhYmxlSGVhZHMpO1xuICAgICAgICB0aGlzLmFwcGx5TWF4Um93SGVpZ2h0KHRhYmxlSGVhZHMsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVjYWxjdWxhdGVEZWZhdWx0Um93SGVpZ2h0KHRhYmxlczogYW55W10pIHtcbiAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5TWF4Um93SGVpZ2h0KHRhYmxlczogYW55W10sIGlzSGVhZDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IHJvd1NpemVzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRyIG9mIHRhYmxlLnJvd3MpIHtcbiAgICAgICAgICAgICAgICByb3dTaXplcy5wdXNoKHRyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJvd1NpemVzLmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBtYXhIZWlnaHQgPSBNYXRoLm1heCguLi5yb3dTaXplcyk7XG5cbiAgICAgICAgaWYgKGlzSGVhZCkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4SGVhZFJvd0NsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogJHttYXhIZWlnaHR9cHg7IH1gO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LmFkZCh0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4Qm9keVJvd0NsYXNzTmFtZX0gdGJvZHkgPiB0ciB7IGhlaWdodDogJHttYXhIZWlnaHR9cHg7IH1gO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgdGFibGUuY2xhc3NMaXN0LmFkZCh0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RhYmxlL2Zyb3plbi1wb3NpdGlvbi9mcm96ZW4tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0QztJQXFCSSxzQ0FBb0IsRUFBYyxFQUFVLElBQVc7UUFBdkQsaUJBeUJDO1FBekJtQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBTztRQW5CdkQseUJBQW9CLEdBQUcsTUFBTSxDQUFDO1FBVXRCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBTy9CLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3JELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM3QixLQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSxJQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pDLElBQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUx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QixTQUFTLFVBQU8sQ0FBQzs7Z0JBRTdHLEtBQW9CLElBQUEsV0FBQSxTQUFBLE1BQU0sQ0FBQSw4QkFBQSxrREFBRTtvQkFBdkIsSUFBTSxLQUFLLG1CQUFBO29CQUNaLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO29CQUNyRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDakQ7Ozs7Ozs7OztTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxHQUFHLE1BQUksSUFBSSxDQUFDLG1CQUFtQiw4QkFBeUIsU0FBUyxVQUFPLENBQUM7O2dCQUU3RyxLQUFvQixJQUFBLFdBQUEsU0FBQSxNQUFNLENBQUEsOEJBQUEsa0RBQUU7b0JBQXZCLElBQU0sS0FBSyxtQkFBQTtvQkFDWixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztvQkFDckQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQ2pEOzs7Ozs7Ozs7U0FDSjtJQUNMLENBQUM7O2dCQWpKdUIsVUFBVTtnQkFBZ0IsS0FBSzs7SUFuQnZEO1FBREMsS0FBSyxFQUFFOzhFQUNzQjtJQUc5QjtRQURDLEtBQUssRUFBRTt5RUFLUDtJQVRRLDRCQUE0QjtRQUh4QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsd0JBQXdCO1NBQ3JDLENBQUM7T0FDVyw0QkFBNEIsQ0F1S3hDO0lBQUQsbUNBQUM7Q0FBQSxBQXZLRCxJQXVLQztTQXZLWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVGFibGVGcm96ZW5Qb3NpdGlvbl1cIlxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZyb3plblBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICBASW5wdXQoKVxuICAgIHNUYWJsZUZyb3plblBvc2l0aW9uID0gXCJsZWZ0XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzVGFibGVGcm96ZW5WYWx1ZShfOiBhbnlbXSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0YWJsZTogVGFibGU7XG4gICAgcHJpdmF0ZSBpc1RhYmxlVmlzaWJsZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVzZXRSb3dIZWlnaHRDbGFzc05hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIGZpeEJvZHlSb3dDbGFzc05hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIHN0eWxlRml4Qm9keVJvd0hlaWdodDogYW55O1xuICAgIHByaXZhdGUgZml4SGVhZFJvd0NsYXNzTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3R5bGVGaXhIZWFkUm93SGVpZ2h0OiBhbnk7XG4gICAgdGFibGVIZWFkT2JzZXJ2YWJsZTogTXV0YXRpb25PYnNlcnZlcjtcbiAgICBvbkNvbHVtbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgaG9zdDogVGFibGUpIHtcbiAgICAgICAgdGhpcy50YWJsZSA9IGhvc3Q7XG4gICAgICAgIHRoaXMuaG9zdC5vbkNvbFJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICB0aGlzLmhhbmRsZUNvbFJlc2l6ZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZS5iaW5kKHRoaXMpKTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRJZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBodG1sSGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXTtcblxuICAgICAgICB0aGlzLnJlc2V0Um93SGVpZ2h0Q2xhc3NOYW1lID0gYHJlc2V0VGFibGVSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgY29uc3Qgc3R5bGVSZXNldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgc3R5bGVSZXNldC5pbm5lckhUTUwgPSBgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGJvZHkgPiB0ciwgLiR7dGhpcy5yZXNldFJvd0hlaWdodENsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGh0bWxIZWFkLmFwcGVuZENoaWxkKHN0eWxlUmVzZXQpO1xuXG4gICAgICAgIHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSA9IGBmaXhUYWJsZUJvZHlSb3dzSGVpZ2h0XyR7Y29tcG9uZW50SWR9YDtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEJvZHlSb3dIZWlnaHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWV9IHRib2R5ID4gdHIgeyBoZWlnaHQ6IGF1dG87IH1gO1xuICAgICAgICBodG1sSGVhZC5hcHBlbmRDaGlsZCh0aGlzLnN0eWxlRml4Qm9keVJvd0hlaWdodCk7XG5cbiAgICAgICAgdGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lID0gYGZpeFRhYmxlSGVhZFJvd3NIZWlnaHRfJHtjb21wb25lbnRJZH1gO1xuICAgICAgICB0aGlzLnN0eWxlRml4SGVhZFJvd0hlaWdodCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgdGhpcy5zdHlsZUZpeEhlYWRSb3dIZWlnaHQuaW5uZXJIVE1MID0gYC4ke3RoaXMuZml4SGVhZFJvd0NsYXNzTmFtZX0gdGhlYWQgPiB0ciB7IGhlaWdodDogYXV0bzsgfWA7XG4gICAgICAgIGh0bWxIZWFkLmFwcGVuZENoaWxkKHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNUYWJsZUZyb3plblBvc2l0aW9uID09PSBcImxlZnRcIikgcmV0dXJuO1xuICAgICAgICB0aGlzLmFwcGx5U3R5bGVzRm9yVGFibGUoKTtcbiAgICAgICAgdGhpcy5zZXRVcENvbHVtbk1vbml0b3JpbmcoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc1RhYmxlVmlzaWJsZSAmJiAhIXRoaXMudGFibGUuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNUYWJsZVZpc2libGUgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1RhYmxlVmlzaWJsZSAmJiAhdGhpcy50YWJsZS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy5pc1RhYmxlVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplLmJpbmQodGhpcykpO1xuICAgICAgICBpZiAodGhpcy50YWJsZUhlYWRPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlSGVhZE9ic2VydmFibGUuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRVcENvbHVtbk1vbml0b3JpbmcoKSB7XG4gICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZSA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luY2hyb25pemVSb3dIZWlnaHQoKTtcbiAgICAgICAgICAgIHRoaXMub25Db2x1bW5zQ2hhbmdlZC5lbWl0KG51bGwpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGFibGVIZWFkcyA9IFsuLi50aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJ0aGVhZFwiKV07XG4gICAgICAgIHRhYmxlSGVhZHMuZm9yRWFjaCgodGFibGVIZWFkOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFibGVIZWFkT2JzZXJ2YWJsZS5vYnNlcnZlKHRhYmxlSGVhZCwge1xuICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseVN0eWxlc0ZvclRhYmxlKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxXcmFwcGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtc2Nyb2xsYWJsZS13cmFwcGVyXCIpO1xuICAgICAgICBpZiAoIXNjcm9sbFdyYXBwZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIHNjcm9sbC13cmFwcGVyIGVsZW1lbnQgZnJvbSB0YWJsZS4gSXMgdGhlIHRhYmxlIGNvbmZpZ3VyZWQgd2l0aCBmcm96ZW4gdGVtcGxhdGU/XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNjcm9sbFdyYXBwZXIuc3R5bGUuZGlzcGxheSA9IFwiZmxleFwiO1xuICAgICAgICBzY3JvbGxXcmFwcGVyLnN0eWxlLmZsZXhEaXJlY3Rpb24gPSBcInJvd1wiO1xuXG4gICAgICAgIGNvbnN0IGZyb3plblRhYmxlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudWktdGFibGUtZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghZnJvemVuVGFibGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuYWJsZSB0byBmaW5kIGZyb3plbiBlbGVtZW50IGZyb20gdGFibGUuIElzIHRoZSB0YWJsZSBjb25maWd1cmVkIHdpdGggZnJvemVuIHRlbXBsYXRlP1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5vcmRlciA9IFwiMVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJSaWdodCA9IFwibm9uZVwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3JkZXJMZWZ0ID0gXCIxcHggc29saWQgI2RkZGRkZFwiO1xuICAgICAgICBmcm96ZW5UYWJsZS5zdHlsZS5ib3hTaGFkb3cgPSBcIi01cHggMCA1cHggLTVweCAjY2NjY2NjXCI7XG5cbiAgICAgICAgY29uc3QgdW5mcm96ZW5UYWJsZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnVpLXRhYmxlLXVuZnJvemVuLXZpZXdcIik7XG4gICAgICAgIGlmICghdW5mcm96ZW5UYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIGZpbmQgdW5mcm96ZW4gZWxlbWVudCBmcm9tIHRhYmxlLiBJcyB0aGUgdGFibGUgY29uZmlndXJlZCB3aXRoIGZyb3plbiB0ZW1wbGF0ZT9cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdW5mcm96ZW5UYWJsZS5zdHlsZS5wb3NpdGlvbiA9IFwidW5zZXRcIjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVdpbmRvd1Jlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5zeW5jaHJvbml6ZVJvd0hlaWdodCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ29sUmVzaXplKCkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXplUm93SGVpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzeW5jaHJvbml6ZVJvd0hlaWdodCgpIHtcbiAgICAgICAgY29uc3QgdGFibGVCb2R5V3JhcHBlcnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInVpLXRhYmxlLXNjcm9sbGFibGUtYm9keVwiKTtcbiAgICAgICAgY29uc3QgdGFibGVCb2RpZXMgPSBbLi4udGFibGVCb2R5V3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUJvZGllcyk7XG4gICAgICAgIHRoaXMuYXBwbHlNYXhSb3dIZWlnaHQodGFibGVCb2RpZXMpO1xuXG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZFdyYXBwZXJzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJ1aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3hcIik7XG4gICAgICAgIGNvbnN0IHRhYmxlSGVhZHMgPSBbLi4udGFibGVIZWFkV3JhcHBlcnNdLm1hcChkaXZXcmFwcGVyID0+IFsuLi5kaXZXcmFwcGVyLmNoaWxkTm9kZXNdLmZpbmQocCA9PiBwLnRhZ05hbWUgPT09IFwiVEFCTEVcIikpO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZUhlYWRzKTtcbiAgICAgICAgdGhpcy5hcHBseU1heFJvd0hlaWdodCh0YWJsZUhlYWRzLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY2FsY3VsYXRlRGVmYXVsdFJvd0hlaWdodCh0YWJsZXM6IGFueVtdKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKSB7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4Qm9keVJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZml4SGVhZFJvd0NsYXNzTmFtZSk7XG4gICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QuYWRkKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseU1heFJvd0hlaWdodCh0YWJsZXM6IGFueVtdLCBpc0hlYWQ6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBjb25zdCByb3dTaXplcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRhYmxlIG9mIHRhYmxlcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCB0ciBvZiB0YWJsZS5yb3dzKSB7XG4gICAgICAgICAgICAgICAgcm93U2l6ZXMucHVzaCh0ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyb3dTaXplcy5sZW5ndGgpIHJldHVybjtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gTWF0aC5tYXgoLi4ucm93U2l6ZXMpO1xuXG4gICAgICAgIGlmIChpc0hlYWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhIZWFkUm93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEhlYWRSb3dDbGFzc05hbWV9IHRoZWFkID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhIZWFkUm93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVGaXhCb2R5Um93SGVpZ2h0LmlubmVySFRNTCA9IGAuJHt0aGlzLmZpeEJvZHlSb3dDbGFzc05hbWV9IHRib2R5ID4gdHIgeyBoZWlnaHQ6ICR7bWF4SGVpZ2h0fXB4OyB9YDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCB0YWJsZSBvZiB0YWJsZXMpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucmVzZXRSb3dIZWlnaHRDbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIHRhYmxlLmNsYXNzTGlzdC5hZGQodGhpcy5maXhCb2R5Um93Q2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -3540,7 +3540,9 @@ let TableFrozenPositionDirective = class TableFrozenPositionDirective {
3540
3540
  this.el = el;
3541
3541
  this.host = host;
3542
3542
  this.sTableFrozenPosition = "left";
3543
+ this.isTableVisible = false;
3543
3544
  this.onColumnsChanged = new EventEmitter();
3545
+ this.table = host;
3544
3546
  this.host.onColResize.subscribe(() => {
3545
3547
  this.handleColResize();
3546
3548
  });
@@ -3571,6 +3573,15 @@ let TableFrozenPositionDirective = class TableFrozenPositionDirective {
3571
3573
  this.applyStylesForTable();
3572
3574
  this.setUpColumnMonitoring();
3573
3575
  }
3576
+ ngAfterContentChecked() {
3577
+ if (!this.isTableVisible && !!this.table.el.nativeElement.offsetParent) {
3578
+ this.isTableVisible = true;
3579
+ this.synchronizeRowHeight();
3580
+ }
3581
+ else if (this.isTableVisible && !this.table.el.nativeElement.offsetParent) {
3582
+ this.isTableVisible = false;
3583
+ }
3584
+ }
3574
3585
  ngOnDestroy() {
3575
3586
  window.removeEventListener("resize", this.handleWindowResize.bind(this));
3576
3587
  if (this.tableHeadObservable) {