@tetacom/ng-components 1.0.105 → 1.0.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/icons.svg +2 -2
- package/component/dropdown/dropdown-base.d.ts +3 -0
- package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +2 -1
- package/esm2020/component/dropdown/dropdown-base.mjs +13 -1
- package/esm2020/component/dropdown/dropdown.directive.mjs +2 -1
- package/fesm2015/tetacom-ng-components.mjs +15 -0
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +14 -0
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
package/assets/icons.svg
CHANGED
|
@@ -734,12 +734,12 @@
|
|
|
734
734
|
d="M12.9999 2.02161L10.3751 4.64647L11.0822 5.35356L12.4999 3.93584L12.4999 9.00003L13.4999 9.00002L13.4999 3.9358L14.9177 5.35357L15.6248 4.64646L12.9999 2.02161Z"
|
|
735
735
|
/>
|
|
736
736
|
</symbol>
|
|
737
|
-
<
|
|
737
|
+
<symbol width="16" height="16" viewBox="0 0 15 16" xmlns="http://www.w3.org/2000/svg" id="trackPeriod">
|
|
738
738
|
<path d="M11.0001 2L10 3.00002L1.32677 3.00002L1.32677 2.00002L11.0001 2Z" />
|
|
739
739
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M13 14.001L15.6475 11.3535L14.9404 10.6464L13.5 12.0868V7.5H12.5V12.0868L11.0596 10.6464L10.3525 11.3535L13 14.001Z" />
|
|
740
740
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.9998 2.02161L10.375 4.64647L11.0822 5.35356L12.4998 3.93584L12.4999 9.00003L13.4999 9.00002L13.4998 3.9358L14.9177 5.35357L15.6248 4.64646L12.9998 2.02161Z" />
|
|
741
741
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.37501 3V4.83333V5.15827L6.67194 5.29024L9.92651 6.73672L4.73928 9.90669L3.92651 10.4034L4.79694 10.7902L8.62501 12.4916V14H9.62501V12.1667V11.8417L9.32808 11.7098L6.0735 10.2633L10 7.86375V5.67506L7.37501 4.5084V3H6.37501Z" />
|
|
742
|
-
</
|
|
742
|
+
</symbol>
|
|
743
743
|
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" id="timeOut">
|
|
744
744
|
<path d="M3 2H13V3H3V2Z"></path>
|
|
745
745
|
<path d="M3 13H13V14H3V13Z"></path>
|
|
@@ -32,6 +32,9 @@ export declare class DropdownBase {
|
|
|
32
32
|
click(event: MouseEvent): void;
|
|
33
33
|
documentClick(event: MouseEvent): void;
|
|
34
34
|
keyUp(event: KeyboardEvent): void;
|
|
35
|
+
protected addScrollListener(): void;
|
|
36
|
+
protected removeScrollListener(): void;
|
|
37
|
+
private scrollListener;
|
|
35
38
|
protected closeDropdown(): void;
|
|
36
39
|
private openDropdown;
|
|
37
40
|
private setPosition;
|
|
@@ -14,6 +14,7 @@ export class DropdownComponent extends DropdownBase {
|
|
|
14
14
|
ngOnInit() { }
|
|
15
15
|
ngOnDestroy() {
|
|
16
16
|
this.closeDropdown();
|
|
17
|
+
this.removeScrollListener();
|
|
17
18
|
this._alive = false;
|
|
18
19
|
}
|
|
19
20
|
}
|
|
@@ -26,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
26
27
|
type: Inject,
|
|
27
28
|
args: [DOCUMENT]
|
|
28
29
|
}] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kcm9wZG93bi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2Ryb3Bkb3duL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULE1BQU0sR0FLUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVNoRCxNQUFNLE9BQU8saUJBQ1gsU0FBUSxZQUFZO0lBR3BCLFlBQ3FCLElBQXVCLEVBQ0wsU0FBYyxFQUNoQyxXQUFvQyxFQUNwQyxLQUFhLEVBQ2IsU0FBb0I7UUFFdkMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQU5uQyxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUNMLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBR3pDLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7OzhHQXBCVSxpQkFBaUIsbURBTWxCLFFBQVE7a0dBTlAsaUJBQWlCLG9HQ3JCOUIsMkRBQ0E7MkZEb0JhLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsVUFBVTs7MEJBUWpCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEcm9wZG93bkJhc2UgfSBmcm9tICcuLi9kcm9wZG93bi1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBleHBvcnRBczogJ2Ryb3Bkb3duJ1xufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudFxuICBleHRlbmRzIERyb3Bkb3duQmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX3pvbmU6IE5nWm9uZSxcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX3JlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgc3VwZXIoX2NkciwgX2RvY3VtZW50LCBfZWxlbWVudFJlZiwgX3pvbmUsIF9yZW5kZXJlcik7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgdGhpcy5yZW1vdmVTY3JvbGxMaXN0ZW5lcigpO1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIlt0ZXRhRHJvcGRvd25IZWFkXVwiPjwvbmctY29udGVudD5cbiJdfQ==
|
|
@@ -25,6 +25,11 @@ export class DropdownBase {
|
|
|
25
25
|
this._backdrop = null;
|
|
26
26
|
this._open = false;
|
|
27
27
|
this._alive = true;
|
|
28
|
+
this.scrollListener = () => {
|
|
29
|
+
if (this.open && this._head?.nativeElement && this._body) {
|
|
30
|
+
this.setPosition(this._head.nativeElement, this._body);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
28
33
|
this._zone.onStable
|
|
29
34
|
.pipe(takeWhile((_) => this._alive), throttleTime(10, undefined, { trailing: true }))
|
|
30
35
|
.subscribe((_) => {
|
|
@@ -36,6 +41,7 @@ export class DropdownBase {
|
|
|
36
41
|
});
|
|
37
42
|
}
|
|
38
43
|
});
|
|
44
|
+
this.addScrollListener();
|
|
39
45
|
}
|
|
40
46
|
set open(val) {
|
|
41
47
|
if (val != null && val !== this._open && !this.disabled) {
|
|
@@ -96,6 +102,12 @@ export class DropdownBase {
|
|
|
96
102
|
this.closeDropdown();
|
|
97
103
|
}
|
|
98
104
|
}
|
|
105
|
+
addScrollListener() {
|
|
106
|
+
window.addEventListener('scroll', this.scrollListener, true);
|
|
107
|
+
}
|
|
108
|
+
removeScrollListener() {
|
|
109
|
+
window.removeEventListener('scroll', this.scrollListener, true);
|
|
110
|
+
}
|
|
99
111
|
closeDropdown() {
|
|
100
112
|
if (this.open && this._body && this.container.contains(this._body)) {
|
|
101
113
|
this._renderer.removeChild(this.container, this._body);
|
|
@@ -208,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
208
220
|
type: HostListener,
|
|
209
221
|
args: ['window:keyup', ['$event']]
|
|
210
222
|
}] } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvZHJvcGRvd24vZHJvcGRvd24tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUd0RSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUd2RCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLFlBQVk7SUFnRHZCLFlBQ1ksSUFBdUIsRUFDdkIsU0FBYyxFQUNkLFdBQW9DLEVBQ3BDLEtBQWEsRUFDYixTQUFvQjtRQUpwQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBcER2QixVQUFLLEdBQVUsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMxQixrQkFBYSxHQUFrQixhQUFhLENBQUMsTUFBTSxDQUFDO1FBR3BELGFBQVEsR0FBRyxLQUFLLENBQUM7UUF3QmhCLGVBQVUs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QUs7c0JBSmQsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRTt3QkFDbkMsTUFBTSxFQUFFLEtBQUs7d0JBQ2IsSUFBSSxFQUFFLFVBQVU7cUJBQ2pCO2dCQUlTLFFBQVE7c0JBRGpCLFlBQVk7dUJBQUMsd0JBQXdCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQStCcEIsS0FBSztzQkFBdkMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWVcsYUFBYTtzQkFBeEQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFzQkEsS0FBSztzQkFBOUMsWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVV0aWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2RvbS11dGlsJztcbmltcG9ydCB7UG9zaXRpb25VdGlsfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9wb3NpdGlvbi11dGlsJztcbmltcG9ydCB7QWxpZ259IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHtWZXJ0aWNhbEFsaWdufSBmcm9tICcuLi8uLi9jb21tb24vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcbmltcG9ydCB7RHJvcGRvd25IZWFkRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLWhlYWQuZGlyZWN0aXZlJztcbmltcG9ydCB7RHJvcGRvd25Db250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7QXV0b0Nsb3NlSWdub3JlQ2FzZX0gZnJvbSAnLi4vLi4vY29tbW9uL2NvbnRyYWN0L2F1dG8tY2xvc2UtaWdub3JlLWNhc2UnO1xuaW1wb3J0IHtJUmVjdH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktcmVjdCc7XG5pbXBvcnQge3Rha2VXaGlsZSwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoKVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgRHJvcGRvd25CYXNlIHtcbiAgQElucHV0KCkgYWxpZ246IEFsaWduID0gQWxpZ24ubGVmdDtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYm90dG9tO1xuICBASW5wdXQoKSBhcHBlbmRUb0JvZHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBiYWNrZHJvcCA9IGZhbHNlO1xuICBASW5wdXQoKSBjbGFzc05hbWU6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBvcGVuKHZhbDogYm9vbGVhbikge1xuICAgIGlmICh2YWwgIT0gbnVsbCAmJiB2YWwgIT09IHRoaXMuX29wZW4gJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9vcGVuO1xuICB9XG5cbiAgZ2V0IGNvbnRhaW5lcigpIHtcbiAgICByZXR1cm4gdGhpcy5hcHBlbmRUb0JvZHlcbiAgICAgID8gdGhpcy5fZG9jdW1lbnQuYm9keVxuICAgICAgOiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KCkgb3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBASW5wdXQoKSBhdXRvQ2xvc2UgPSB0cnVlO1xuICBASW5wdXQoKSBhdXRvQ2xvc2VJZ25vcmU6IEFycmF5PEF1dG9DbG9zZUlnbm9yZUNhc2U+ID0gWydpbnNpZGUnXTtcblxuXG4gIEBDb250ZW50Q2hpbGQoRHJvcGRvd25IZWFkRGlyZWN0aXZlLCB7XG4gICAgc3RhdGljOiBmYWxzZSxcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICB9KVxuICBwcm90ZWN0ZWQgX2hlYWQ6IEVsZW1lbnRSZWY7XG5cbiAgQENvbnRlbnRDaGlsZChEcm9wZG93bkNvbnRlbnREaXJlY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcbiAgcHJvdGVjdGVkIF9jb250ZW50OiBEcm9wZG93bkNvbnRlbnREaXJlY3RpdmU7XG5cbiAgcHJvdGVjdGVkIF9ib2R5OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgX2JhY2tkcm9wOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgX29wZW4gPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByb3RlY3RlZCBfZG9jdW1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByb3RlY3RlZCBfem9uZTogTmdab25lLFxuICAgIHByb3RlY3RlZCBfcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICB0aGlzLl96b25lLm9uU3RhYmxlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIHRocm90dGxlVGltZSgxMCwgdW5kZWZpbmVkLCB7dHJhaWxpbmc6IHRydWV9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCB0aGlzLl9ib2R5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIGNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgaWYgKCFEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5fYm9keSwgZXZlbnQpIHx8IHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2luc2lkZScpIDwgMCkge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9oZWFkLm5hdGl2ZUVsZW1lbnQsIGV2ZW50KSkge1xuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSkgZG9jdW1lbnRDbGljayhcbiAgICBldmVudDogTW91c2VFdmVudFxuICApOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5vcGVuIHx8XG4gICAgICAhdGhpcy5hdXRvQ2xvc2UgfHxcbiAgICAgIGV2ZW50LmRldGFpbCA9PT0gMCB8fFxuICAgICAgRG9tVXRpbC5jbGlja2VkSW5zaWRlKHRoaXMuX2hlYWQubmF0aXZlRWxlbWVudCwgZXZlbnQpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5fYm9keSwgZXZlbnQpKSB7XG4gICAgICBpZiAodGhpcy5hdXRvQ2xvc2VJZ25vcmUuaW5kZXhPZignaW5zaWRlJykgPCAwKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5hdXRvQ2xvc2VJZ25vcmUuaW5kZXhPZignb3V0c2lkZScpIDwgMCkge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAnLCBbJyRldmVudCddKSBrZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICF0aGlzLmF1dG9DbG9zZSB8fFxuICAgICAgWydlc2MnLCAnZW50ZXInXS5ldmVyeShcbiAgICAgICAgKF86ICdlc2MnIHwgJ2VudGVyJykgPT4gdGhpcy5hdXRvQ2xvc2VJZ25vcmUuaW5kZXhPZihfKSA+PSAwXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIChldmVudC5jb2RlID09PSAnRXNjYXBlJyAmJiB0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdlc2MnKSA8IDApIHx8XG4gICAgICAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJyAmJiB0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdlbnRlcicpIDwgMClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wZW4gJiYgdGhpcy5fYm9keSAmJiB0aGlzLmNvbnRhaW5lci5jb250YWlucyh0aGlzLl9ib2R5KSkge1xuICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXIsIHRoaXMuX2JvZHkpO1xuICAgICAgdGhpcy5fb3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5fYm9keSA9IG51bGw7XG4gICAgICBpZiAodGhpcy5fYmFja2Ryb3ApIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5fZG9jdW1lbnQuYm9keSwgdGhpcy5fYmFja2Ryb3ApO1xuICAgICAgfVxuICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQodGhpcy5vcGVuKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fb3BlbiB8fCAhdGhpcy5fY29udGVudCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX29wZW4gPSB0cnVlO1xuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XG4gICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLl9yZW5kZXJlcjtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5fY29udGVudC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGNvbnRhaW5lciA9ICh0aGlzLl9ib2R5ID0gdGhpcy5fYm9keSB8fCByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XG4gICAgcmVuZGVyZXIuYWRkQ2xhc3MoY29udGFpbmVyLCAnZHJvcGRvd24nKTtcbiAgICBpZiAodGhpcy5iYWNrZHJvcCkge1xuICAgICAgdGhpcy5fYmFja2Ryb3AgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHJlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2JhY2tkcm9wLCAnZHJvcGRvd24tYmFja2Ryb3AnKTtcbiAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2RvY3VtZW50LmJvZHksIHRoaXMuX2JhY2tkcm9wKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2xhc3NOYW1lICE9IG51bGwpIHtcbiAgICAgIGlmICh0aGlzLmNsYXNzTmFtZSBpbnN0YW5jZW9mIEFycmF5ICYmIHRoaXMuY2xhc3NOYW1lLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5jbGFzc05hbWUuZm9yRWFjaCgoXykgPT4ge1xuICAgICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKGNvbnRhaW5lciwgXyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNsYXNzTmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmVuZGVyZXIuYWRkQ2xhc3MoY29udGFpbmVyLCB0aGlzLmNsYXNzTmFtZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lciwgY29udGVudCk7XG4gICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXIsIGNvbnRhaW5lcik7XG4gICAgdGhpcy5zZXRQb3NpdGlvbih0aGlzLl9oZWFkLm5hdGl2ZUVsZW1lbnQsIHRoaXMuX2JvZHkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvbihjb250YWluZXI6IEhUTUxFbGVtZW50LCB0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyUG9zaXRpb24gPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdGFyZ2V0UG9zaXRpb24gPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCByZWN0OiBJUmVjdCA9IHtcbiAgICAgIGJvdHRvbTogY29udGFpbmVyUG9zaXRpb24uYm90dG9tLFxuICAgICAgdG9wOiBjb250YWluZXJQb3NpdGlvbi50b3AsXG4gICAgICBsZWZ0OiBjb250YWluZXJQb3NpdGlvbi5sZWZ0LFxuICAgICAgcmlnaHQ6IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0LFxuICAgIH07XG5cbiAgICBjb25zdCB0YXJnZXRSZWN0OiBJUmVjdCA9IHtcbiAgICAgIGJvdHRvbTogdGFyZ2V0UG9zaXRpb24uYm90dG9tLFxuICAgICAgdG9wOiB0YXJnZXRQb3NpdGlvbi50b3AsXG4gICAgICBsZWZ0OiB0YXJnZXRQb3NpdGlvbi5sZWZ0LFxuICAgICAgcmlnaHQ6IHRhcmdldFBvc2l0aW9uLnJpZ2h0LFxuICAgIH07XG5cbiAgICBjb25zdCB0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudCA9IERvbVV0aWwuZmluZFRyYW5zZm9ybWVkUGFyZW50KHRhcmdldCk7XG4gICAgbGV0IHBhcmVudFBvc2l0aW9uID0ge1xuICAgICAgbGVmdDogMCxcbiAgICAgIHJpZ2h0OiAwLFxuICAgICAgdG9wOiAwLFxuICAgICAgYm90dG9tOiAwXG4gICAgfTtcbiAgICBpZiAodGFyZ2V0VHJhbnNmb3JtZWRQYXJlbnQpIHtcbiAgICAgIHBhcmVudFBvc2l0aW9uID0gdGFyZ2V0VHJhbnNmb3JtZWRQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgcG9zaXRpb24gPSBQb3NpdGlvblV0aWwuZ2V0UG9zaXRpb24oXG4gICAgICByZWN0LFxuICAgICAgdGFyZ2V0UmVjdCxcbiAgICAgIHRoaXMuYWxpZ24sXG4gICAgICB0aGlzLnZlcnRpY2FsQWxpZ24sXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIHBhcmVudFBvc2l0aW9uXG4gICAgKTtcblxuICAgIFBvc2l0aW9uVXRpbC5zZXRFbGVtZW50UG9zaXRpb24odGFyZ2V0LCBwb3NpdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvZHJvcGRvd24vZHJvcGRvd24tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUd0RSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUd2RCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLFlBQVk7SUFnRHZCLFlBQ1ksSUFBdUIsRUFDdkIsU0FBYyxFQUNkLFdBQW9DLEVBQ3BDLEtBQWEsRUFDYixTQUFvQjtRQUpwQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBcER2QixVQUFLLEdBQVUsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMxQixrQkFBYSxHQUFrQixhQUFhLENBQUMsTUFBTSxDQUFDO1FBR3BELGFBQVEsR0FBRyxLQUFLLENBQUM7UUF3QmhCLGVBQVUs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QUMsYUFBYSxFQUNsQixDQUFDLEVBQ0QsQ0FBQyxFQUNELGNBQWMsQ0FDZixDQUFDO1FBRUYsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDOzt5R0E1TlUsWUFBWTs2RkFBWixZQUFZLDJjQWtDVCxxQkFBcUIsMkJBRTNCLFVBQVUsd0RBSUosd0JBQXdCOzJGQXhDM0IsWUFBWTtrQkFGeEIsU0FBUzttTUFHQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdGLElBQUk7c0JBRFAsS0FBSztnQkFxQkksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBT0ksS0FBSztzQkFKZCxZQUFZO3VCQUFDLHFCQUFxQixFQUFFO3dCQUNuQyxNQUFNLEVBQUUsS0FBSzt3QkFDYixJQUFJLEVBQUUsVUFBVTtxQkFDakI7Z0JBSVMsUUFBUTtzQkFEakIsWUFBWTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBZ0NwQixLQUFLO3NCQUF2QyxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZVyxhQUFhO3NCQUF4RCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXNCQSxLQUFLO3NCQUE5QyxZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tVXRpbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZG9tLXV0aWwnO1xuaW1wb3J0IHtQb3NpdGlvblV0aWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtEcm9wZG93bkhlYWREaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24taGVhZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtEcm9wZG93bkNvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtBdXRvQ2xvc2VJZ25vcmVDYXNlfSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvYXV0by1jbG9zZS1pZ25vcmUtY2FzZSc7XG5pbXBvcnQge0lSZWN0fSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7dGFrZVdoaWxlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkJhc2Uge1xuICBASW5wdXQoKSBhbGlnbjogQWxpZ24gPSBBbGlnbi5sZWZ0O1xuICBASW5wdXQoKSB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5ib3R0b207XG4gIEBJbnB1dCgpIGFwcGVuZFRvQm9keTogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJhY2tkcm9wID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgc2V0IG9wZW4odmFsOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbCAhPSBudWxsICYmIHZhbCAhPT0gdGhpcy5fb3BlbiAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHZhbCkge1xuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IG9wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW47XG4gIH1cblxuICBnZXQgY29udGFpbmVyKCkge1xuICAgIHJldHVybiB0aGlzLmFwcGVuZFRvQm9keVxuICAgICAgPyB0aGlzLl9kb2N1bWVudC5ib2R5XG4gICAgICA6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZSA9IHRydWU7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZUlnbm9yZTogQXJyYXk8QXV0b0Nsb3NlSWdub3JlQ2FzZT4gPSBbJ2luc2lkZSddO1xuXG5cbiAgQENvbnRlbnRDaGlsZChEcm9wZG93bkhlYWREaXJlY3RpdmUsIHtcbiAgICBzdGF0aWM6IGZhbHNlLFxuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gIH0pXG4gIHByb3RlY3RlZCBfaGVhZDogRWxlbWVudFJlZjtcblxuICBAQ29udGVudENoaWxkKERyb3Bkb3duQ29udGVudERpcmVjdGl2ZSwge3N0YXRpYzogZmFsc2V9KVxuICBwcm90ZWN0ZWQgX2NvbnRlbnQ6IERyb3Bkb3duQ29udGVudERpcmVjdGl2ZTtcblxuICBwcm90ZWN0ZWQgX2JvZHk6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBfYmFja2Ryb3A6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBfb3BlbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJvdGVjdGVkIF9kb2N1bWVudDogYW55LFxuICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJvdGVjdGVkIF96b25lOiBOZ1pvbmUsXG4gICAgcHJvdGVjdGVkIF9yZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIHRoaXMuX3pvbmUub25TdGFibGVcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgICAgdGhyb3R0bGVUaW1lKDEwLCB1bmRlZmluZWQsIHt0cmFpbGluZzogdHJ1ZX0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9oZWFkPy5uYXRpdmVFbGVtZW50ICYmIHRoaXMuX2JvZHkpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9oZWFkPy5uYXRpdmVFbGVtZW50ICYmIHRoaXMuX2JvZHkpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXRQb3NpdGlvbih0aGlzLl9oZWFkLm5hdGl2ZUVsZW1lbnQsIHRoaXMuX2JvZHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLmFkZFNjcm9sbExpc3RlbmVyKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIGNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgaWYgKCFEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5fYm9keSwgZXZlbnQpIHx8IHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2luc2lkZScpIDwgMCkge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9oZWFkLm5hdGl2ZUVsZW1lbnQsIGV2ZW50KSkge1xuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSkgZG9jdW1lbnRDbGljayhcbiAgICBldmVudDogTW91c2VFdmVudFxuICApOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5vcGVuIHx8XG4gICAgICAhdGhpcy5hdXRvQ2xvc2UgfHxcbiAgICAgIGV2ZW50LmRldGFpbCA9PT0gMCB8fFxuICAgICAgRG9tVXRpbC5jbGlja2VkSW5zaWRlKHRoaXMuX2hlYWQubmF0aXZlRWxlbWVudCwgZXZlbnQpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5fYm9keSwgZXZlbnQpKSB7XG4gICAgICBpZiAodGhpcy5hdXRvQ2xvc2VJZ25vcmUuaW5kZXhPZignaW5zaWRlJykgPCAwKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5hdXRvQ2xvc2VJZ25vcmUuaW5kZXhPZignb3V0c2lkZScpIDwgMCkge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAnLCBbJyRldmVudCddKSBrZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICF0aGlzLmF1dG9DbG9zZSB8fFxuICAgICAgWydlc2MnLCAnZW50ZXInXS5ldmVyeShcbiAgICAgICAgKF86ICdlc2MnIHwgJ2VudGVyJykgPT4gdGhpcy5hdXRvQ2xvc2VJZ25vcmUuaW5kZXhPZihfKSA+PSAwXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIChldmVudC5jb2RlID09PSAnRXNjYXBlJyAmJiB0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdlc2MnKSA8IDApIHx8XG4gICAgICAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJyAmJiB0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdlbnRlcicpIDwgMClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhZGRTY3JvbGxMaXN0ZW5lcigpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxMaXN0ZW5lciwgdHJ1ZSlcbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVTY3JvbGxMaXN0ZW5lcigpIHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxMaXN0ZW5lciwgdHJ1ZSlcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsTGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMub3BlbiAmJiB0aGlzLl9oZWFkPy5uYXRpdmVFbGVtZW50ICYmIHRoaXMuX2JvZHkpIHtcbiAgICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCB0aGlzLl9ib2R5KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2VEcm9wZG93bigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcGVuICYmIHRoaXMuX2JvZHkgJiYgdGhpcy5jb250YWluZXIuY29udGFpbnModGhpcy5fYm9keSkpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyLCB0aGlzLl9ib2R5KTtcbiAgICAgIHRoaXMuX29wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuX2JvZHkgPSBudWxsO1xuICAgICAgaWYgKHRoaXMuX2JhY2tkcm9wKSB7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX2RvY3VtZW50LmJvZHksIHRoaXMuX2JhY2tkcm9wKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX29wZW4gfHwgIXRoaXMuX2NvbnRlbnQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW4pO1xuICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5fcmVuZGVyZXI7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuX2NvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjb250YWluZXIgPSAodGhpcy5fYm9keSA9IHRoaXMuX2JvZHkgfHwgcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xuICAgIHJlbmRlcmVyLmFkZENsYXNzKGNvbnRhaW5lciwgJ2Ryb3Bkb3duJyk7XG4gICAgaWYgKHRoaXMuYmFja2Ryb3ApIHtcbiAgICAgIHRoaXMuX2JhY2tkcm9wID0gcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICByZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9iYWNrZHJvcCwgJ2Ryb3Bkb3duLWJhY2tkcm9wJyk7XG4gICAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLl9kb2N1bWVudC5ib2R5LCB0aGlzLl9iYWNrZHJvcCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNsYXNzTmFtZSAhPSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5jbGFzc05hbWUgaW5zdGFuY2VvZiBBcnJheSAmJiB0aGlzLmNsYXNzTmFtZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuY2xhc3NOYW1lLmZvckVhY2goKF8pID0+IHtcbiAgICAgICAgICByZW5kZXJlci5hZGRDbGFzcyhjb250YWluZXIsIF8pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jbGFzc05hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKGNvbnRhaW5lciwgdGhpcy5jbGFzc05hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZW5kZXJlci5hcHBlbmRDaGlsZChjb250YWluZXIsIGNvbnRlbnQpO1xuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyLCBjb250YWluZXIpO1xuICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCB0aGlzLl9ib2R5KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb24oY29udGFpbmVyOiBIVE1MRWxlbWVudCwgdGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lclBvc2l0aW9uID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHRhcmdldFBvc2l0aW9uID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgcmVjdDogSVJlY3QgPSB7XG4gICAgICBib3R0b206IGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSxcbiAgICAgIHRvcDogY29udGFpbmVyUG9zaXRpb24udG9wLFxuICAgICAgbGVmdDogY29udGFpbmVyUG9zaXRpb24ubGVmdCxcbiAgICAgIHJpZ2h0OiBjb250YWluZXJQb3NpdGlvbi5yaWdodCxcbiAgICB9O1xuXG4gICAgY29uc3QgdGFyZ2V0UmVjdDogSVJlY3QgPSB7XG4gICAgICBib3R0b206IHRhcmdldFBvc2l0aW9uLmJvdHRvbSxcbiAgICAgIHRvcDogdGFyZ2V0UG9zaXRpb24udG9wLFxuICAgICAgbGVmdDogdGFyZ2V0UG9zaXRpb24ubGVmdCxcbiAgICAgIHJpZ2h0OiB0YXJnZXRQb3NpdGlvbi5yaWdodCxcbiAgICB9O1xuXG4gICAgY29uc3QgdGFyZ2V0VHJhbnNmb3JtZWRQYXJlbnQgPSBEb21VdGlsLmZpbmRUcmFuc2Zvcm1lZFBhcmVudCh0YXJnZXQpO1xuICAgIGxldCBwYXJlbnRQb3NpdGlvbiA9IHtcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogMCxcbiAgICAgIHRvcDogMCxcbiAgICAgIGJvdHRvbTogMFxuICAgIH07XG4gICAgaWYgKHRhcmdldFRyYW5zZm9ybWVkUGFyZW50KSB7XG4gICAgICBwYXJlbnRQb3NpdGlvbiA9IHRhcmdldFRyYW5zZm9ybWVkUGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IHBvc2l0aW9uID0gUG9zaXRpb25VdGlsLmdldFBvc2l0aW9uKFxuICAgICAgcmVjdCxcbiAgICAgIHRhcmdldFJlY3QsXG4gICAgICB0aGlzLmFsaWduLFxuICAgICAgdGhpcy52ZXJ0aWNhbEFsaWduLFxuICAgICAgMCxcbiAgICAgIDAsXG4gICAgICBwYXJlbnRQb3NpdGlvblxuICAgICk7XG5cbiAgICBQb3NpdGlvblV0aWwuc2V0RWxlbWVudFBvc2l0aW9uKHRhcmdldCwgcG9zaXRpb24pO1xuICB9XG59XG4iXX0=
|
|
@@ -15,6 +15,7 @@ export class DropdownDirective extends DropdownBase {
|
|
|
15
15
|
}
|
|
16
16
|
ngOnDestroy() {
|
|
17
17
|
this.closeDropdown();
|
|
18
|
+
this.removeScrollListener();
|
|
18
19
|
this._alive = false;
|
|
19
20
|
}
|
|
20
21
|
ngAfterViewInit() {
|
|
@@ -34,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
34
35
|
type: Inject,
|
|
35
36
|
args: [DOCUMENT]
|
|
36
37
|
}] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kcm9wZG93bi9kcm9wZG93bi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxNQUFNLEVBSVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFLN0MsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFlBQVk7SUFDakQsWUFBK0IsSUFBdUIsRUFDTCxTQUFjLEVBQ2hDLFdBQW9DLEVBQ3BDLEtBQWEsRUFDYixTQUFvQjtRQUNqRCxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTHpCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ0wsY0FBUyxHQUFULFNBQVMsQ0FBSztRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFbkQsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNqRztJQUNILENBQUM7OzhHQXRCVSxpQkFBaUIsbURBRVIsUUFBUTtrR0FGakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7OzBCQUdjLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgTmdab25lLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RHJvcGRvd25CYXNlfSBmcm9tICcuL2Ryb3Bkb3duLWJhc2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YURyb3Bkb3duXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25EaXJlY3RpdmUgZXh0ZW5kcyBEcm9wZG93bkJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvdmVycmlkZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJvdGVjdGVkIG92ZXJyaWRlIF9kb2N1bWVudDogYW55LFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX3pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIG92ZXJyaWRlIF9yZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgc3VwZXIoX2NkciwgX2RvY3VtZW50LCBfZWxlbWVudFJlZiwgX3pvbmUsIF9yZW5kZXJlcik7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIHRoaXMucmVtb3ZlU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb250ZW50KSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLl9jb250ZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZSwgdGhpcy5fY29udGVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1242,6 +1242,12 @@ class DropdownBase {
|
|
|
1242
1242
|
this._backdrop = null;
|
|
1243
1243
|
this._open = false;
|
|
1244
1244
|
this._alive = true;
|
|
1245
|
+
this.scrollListener = () => {
|
|
1246
|
+
var _a;
|
|
1247
|
+
if (this.open && ((_a = this._head) === null || _a === void 0 ? void 0 : _a.nativeElement) && this._body) {
|
|
1248
|
+
this.setPosition(this._head.nativeElement, this._body);
|
|
1249
|
+
}
|
|
1250
|
+
};
|
|
1245
1251
|
this._zone.onStable
|
|
1246
1252
|
.pipe(takeWhile((_) => this._alive), throttleTime(10, undefined, { trailing: true }))
|
|
1247
1253
|
.subscribe((_) => {
|
|
@@ -1255,6 +1261,7 @@ class DropdownBase {
|
|
|
1255
1261
|
});
|
|
1256
1262
|
}
|
|
1257
1263
|
});
|
|
1264
|
+
this.addScrollListener();
|
|
1258
1265
|
}
|
|
1259
1266
|
set open(val) {
|
|
1260
1267
|
if (val != null && val !== this._open && !this.disabled) {
|
|
@@ -1315,6 +1322,12 @@ class DropdownBase {
|
|
|
1315
1322
|
this.closeDropdown();
|
|
1316
1323
|
}
|
|
1317
1324
|
}
|
|
1325
|
+
addScrollListener() {
|
|
1326
|
+
window.addEventListener('scroll', this.scrollListener, true);
|
|
1327
|
+
}
|
|
1328
|
+
removeScrollListener() {
|
|
1329
|
+
window.removeEventListener('scroll', this.scrollListener, true);
|
|
1330
|
+
}
|
|
1318
1331
|
closeDropdown() {
|
|
1319
1332
|
if (this.open && this._body && this.container.contains(this._body)) {
|
|
1320
1333
|
this._renderer.removeChild(this.container, this._body);
|
|
@@ -1440,6 +1453,7 @@ class DropdownComponent extends DropdownBase {
|
|
|
1440
1453
|
ngOnInit() { }
|
|
1441
1454
|
ngOnDestroy() {
|
|
1442
1455
|
this.closeDropdown();
|
|
1456
|
+
this.removeScrollListener();
|
|
1443
1457
|
this._alive = false;
|
|
1444
1458
|
}
|
|
1445
1459
|
}
|
|
@@ -2589,6 +2603,7 @@ class DropdownDirective extends DropdownBase {
|
|
|
2589
2603
|
}
|
|
2590
2604
|
ngOnDestroy() {
|
|
2591
2605
|
this.closeDropdown();
|
|
2606
|
+
this.removeScrollListener();
|
|
2592
2607
|
this._alive = false;
|
|
2593
2608
|
}
|
|
2594
2609
|
ngAfterViewInit() {
|