UNPKG

ngx-autohide

Version:

This library is used to automatically hide an Angular Component.

43 lines 5.01 kB
import { animate, style } from '@angular/animations'; import { Directive, Input } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/animations"; export class NgxAutohideDirective { constructor(el, builder) { this.el = el; this.builder = builder; this.timings = DEFAULT_TIME; } ngOnInit() { // based on a time to hide the element const factory = this.builder.build(this.fadeOut()); const player = factory.create(this.el.nativeElement); player.onDone(() => { // after the animation is done, the element is removed this.el.nativeElement.remove(); }); player.play(); } /** * This is the fadeOut function that set the fade out effect for the AnimationBuilder * @returns returns an AnimationMetadata array */ fadeOut() { return [ style({ opacity: '*' }), animate(this.timings + 'ms ease-in', style({ opacity: 0 })), ]; } } NgxAutohideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NgxAutohideDirective, deps: [{ token: i0.ElementRef }, { token: i1.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Directive }); NgxAutohideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: NgxAutohideDirective, selector: "[ngxAutohide]", inputs: { timings: "timings" }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NgxAutohideDirective, decorators: [{ type: Directive, args: [{ selector: '[ngxAutohide]' }] }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AnimationBuilder }]; }, propDecorators: { timings: [{ type: Input }] } }); export const DEFAULT_TIME = 5000; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWF1dG9oaWRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXRvaGlkZS9zcmMvbGliL2RpcmVjdGl2ZXMvbmd4LWF1dG9oaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUF1QyxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBS3JFLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFDVSxFQUFjLEVBQ2QsT0FBeUI7UUFEekIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBSjFCLFlBQU8sR0FBVyxZQUFZLENBQUM7SUFLcEMsQ0FBQztJQUVMLFFBQVE7UUFDTixzQ0FBc0M7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2pCLHNEQUFzRDtZQUN0RCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztNQUdFO0lBQ00sT0FBTztRQUNiLE9BQU87WUFDTCxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVELENBQUM7SUFDSixDQUFDOztpSEE3QlUsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7Z0lBR1UsT0FBTztzQkFBZixLQUFLOztBQStCUixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uQnVpbGRlciwgQW5pbWF0aW9uTWV0YWRhdGEsIHN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neEF1dG9oaWRlXSdcbn0pXG5leHBvcnQgY2xhc3MgTmd4QXV0b2hpZGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHRpbWluZ3M6IG51bWJlciA9IERFRkFVTFRfVElNRTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBcbiAgICBwcml2YXRlIGJ1aWxkZXI6IEFuaW1hdGlvbkJ1aWxkZXJcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBiYXNlZCBvbiBhIHRpbWUgdG8gaGlkZSB0aGUgZWxlbWVudFxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmJ1aWxkZXIuYnVpbGQodGhpcy5mYWRlT3V0KCkpO1xuICAgIGNvbnN0IHBsYXllciA9IGZhY3RvcnkuY3JlYXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgcGxheWVyLm9uRG9uZSgoKSA9PiB7XG4gICAgICAvLyBhZnRlciB0aGUgYW5pbWF0aW9uIGlzIGRvbmUsIHRoZSBlbGVtZW50IGlzIHJlbW92ZWRcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmUoKTtcbiAgICB9KTtcbiAgICBwbGF5ZXIucGxheSgpO1xuICB9XG5cbiAgLyoqXG4gICogVGhpcyBpcyB0aGUgZmFkZU91dCBmdW5jdGlvbiB0aGF0IHNldCB0aGUgZmFkZSBvdXQgZWZmZWN0IGZvciB0aGUgQW5pbWF0aW9uQnVpbGRlclxuICAqIEByZXR1cm5zIHJldHVybnMgYW4gQW5pbWF0aW9uTWV0YWRhdGEgYXJyYXkgXG4gICovXG4gIHByaXZhdGUgZmFkZU91dCgpOiBBbmltYXRpb25NZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnKicgfSksXG4gICAgICBhbmltYXRlKHRoaXMudGltaW5ncyArICdtcyBlYXNlLWluJywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKSxcbiAgICBdO1xuICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVElNRTogbnVtYmVyID0gNTAwMDsiXX0=