@nova-ui/bits
Version:
SolarWinds Nova Framework
65 lines (64 loc) • 1.87 kB
TypeScript
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from "@angular/core";
import * as i0 from "@angular/core";
/**
* Directive that provides resize event for any element
*
* __Usage:__
*
* In parent components use this to subscribe to resize event:
*
* `@ViewChild(ResizeDirective) child: ResizeDirective;
*
* public checkResize = () => {
*
* this.child.elementResize.subscribe((event: any) => console.log("change", event));
*
* };`
*
* To remove resize event handler:
*
* `@ViewChild(ResizeDirective) child: ResizeDirective;
*
* this.child.removeResize()`
*
*/
/**
* <example-url>./../examples/index.html#/resize</example-url>
*/
/**
* @ignore
*/
export declare class ResizeDirective implements AfterViewInit, OnDestroy {
private element;
/**
* Event to be triggered on element resize
*/
elementResize: EventEmitter<boolean>;
/**
* Class for dimension change detection
* Using nested private class to prevent external class instantiation.
*/
private resizeEventQueue;
constructor(element: ElementRef);
ngAfterViewInit(): void;
ngOnDestroy(): void;
/**
* Removes resize listener from the element for public use. We could stop resize event
* listener by using this method in parent through @ViewChild
*/
removeResize(): void;
/**
* Emits resize event
*/
private resizeEmit;
/**
* Add resize event which will be done by default
*/
private attachResizeEvent;
/**
* Removing resize listener from target element
*/
private detachResizeEvent;
static ɵfac: i0.ɵɵFactoryDeclaration<ResizeDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<ResizeDirective, "[nuiResize]", never, {}, { "elementResize": "elementResize"; }, never, never, false, never>;
}