@inaccess-fang/ui-components
Version:
The Inaccess UI Components Library for the Front-end projects
27 lines • 3.7 kB
JavaScript
// @angular/core
import { Directive } from '@angular/core';
// @angular/cdk/scrolling
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
export class FangViewportAutoResizeDirective {
constructor(cdkVirtualScrollViewport) {
this.cdkVirtualScrollViewport = cdkVirtualScrollViewport;
const ResizeObserver = window.ResizeObserver;
if (ResizeObserver) {
this.resizeObserver = new ResizeObserver(() => this.cdkVirtualScrollViewport.checkViewportSize());
this.resizeObserver.observe(this.cdkVirtualScrollViewport.elementRef.nativeElement);
}
}
ngOnDestroy() {
this.resizeObserver && this.resizeObserver.disconnect();
this.resizeObserver = null;
}
}
FangViewportAutoResizeDirective.decorators = [
{ type: Directive, args: [{
selector: 'cdk-virtual-scroll-viewport[viewport-auto-resize], fang-table-virtual-scroll-viewport[viewport-auto-resize]'
},] }
];
FangViewportAutoResizeDirective.ctorParameters = () => [
{ type: CdkVirtualScrollViewport }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFuZy12aWV3cG9ydC1hdXRvLXJlc2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvaWFzb25hcy9EZXNrdG9wL2N1cnJlbnQvZmFuZy11aS1jb21wb25lbnRzLWxpYnJhcnkvcHJvamVjdHMvZmFuZy11aS1jb21wb25lbnRzL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ZpcnR1YWwtc2Nyb2xsaW5nL2V4dGVuc2lvbnMvZmFuZy12aWV3cG9ydC1hdXRvLXJlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FBQ2hCLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFckQseUJBQXlCO0FBQ3pCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBS2xFLE1BQU0sT0FBTywrQkFBK0I7SUFLeEMsWUFBb0Isd0JBQWtEO1FBQWxELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEUsTUFBTSxjQUFjLEdBQUksTUFBYyxDQUFDLGNBQWMsQ0FBQztRQUV0RCxJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7WUFFbEcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN2RjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7OztZQXJCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDZHQUE2RzthQUMxSDs7O1lBSlEsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGFuZ3VsYXIvY29yZVxuaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0W3ZpZXdwb3J0LWF1dG8tcmVzaXplXSwgZmFuZy10YWJsZS12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFt2aWV3cG9ydC1hdXRvLXJlc2l6ZV0nXG59KVxuZXhwb3J0IGNsYXNzIEZhbmdWaWV3cG9ydEF1dG9SZXNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgLy9ObyB0eXBlcyBmb3Igbm93XG4gICAgcHJpdmF0ZSByZXNpemVPYnNlcnZlcjogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkge1xuICAgICAgICBjb25zdCBSZXNpemVPYnNlcnZlciA9ICh3aW5kb3cgYXMgYW55KS5SZXNpemVPYnNlcnZlcjtcblxuICAgICAgICBpZiAoUmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuY2hlY2tWaWV3cG9ydFNpemUoKSk7XG5cbiAgICAgICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgJiYgdGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==