@wellwind/ngx-thanos
Version:
Use [Thanos](https://www.google.com/search?q=Thanos) snap to destory your DOM elements on Angular.
107 lines • 6.56 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';
import { ThanosSnapService } from './thanos-snap.service';
var ThanosSnapDirective = /** @class */ (function () {
function ThanosSnapDirective(elementRef, thanosSnapService) {
this.elementRef = elementRef;
this.thanosSnapService = thanosSnapService;
this.ngxThanosSnap = false;
this.snapStarting = new EventEmitter();
this.snapEnded = new EventEmitter();
this.rewinded = new EventEmitter();
}
Object.defineProperty(ThanosSnapDirective.prototype, "host", {
get: /**
* @return {?}
*/
function () {
return this.elementRef.nativeElement;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
ThanosSnapDirective.prototype.ngOnChanges = /**
* @return {?}
*/
function () {
if (this.ngxThanosSnap) {
this.snap();
}
else {
this.rewind();
}
};
/**
* @return {?}
*/
ThanosSnapDirective.prototype.snap = /**
* @return {?}
*/
function () {
var _this = this;
this.snapStarting.emit();
this.thanosSnapService.snap(this.host).subscribe((/**
* @return {?}
*/
function () { return _this.snapEnded.emit(); }));
};
/**
* @return {?}
*/
ThanosSnapDirective.prototype.rewind = /**
* @return {?}
*/
function () {
var _this = this;
this.thanosSnapService.rewind(this.host).subscribe((/**
* @return {?}
*/
function () { return _this.rewinded.emit(); }));
};
ThanosSnapDirective.decorators = [
{ type: Directive, args: [{
selector: '[ngxThanosSnap]',
exportAs: 'ngxThanosSnap'
},] }
];
/** @nocollapse */
ThanosSnapDirective.ctorParameters = function () { return [
{ type: ElementRef },
{ type: ThanosSnapService }
]; };
ThanosSnapDirective.propDecorators = {
ngxThanosSnap: [{ type: Input }],
snapStarting: [{ type: Output }],
snapEnded: [{ type: Output }],
rewinded: [{ type: Output }]
};
return ThanosSnapDirective;
}());
export { ThanosSnapDirective };
if (false) {
/** @type {?} */
ThanosSnapDirective.prototype.ngxThanosSnap;
/** @type {?} */
ThanosSnapDirective.prototype.snapStarting;
/** @type {?} */
ThanosSnapDirective.prototype.snapEnded;
/** @type {?} */
ThanosSnapDirective.prototype.rewinded;
/**
* @type {?}
* @private
*/
ThanosSnapDirective.prototype.elementRef;
/**
* @type {?}
* @private
*/
ThanosSnapDirective.prototype.thanosSnapService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhhbm9zLXNuYXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdlbGx3aW5kL25neC10aGFub3MvIiwic291cmNlcyI6WyJsaWIvdGhhbm9zLXNuYXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRDtJQWdCRSw2QkFBb0IsVUFBc0IsRUFBVSxpQkFBb0M7UUFBcEUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFWL0Usa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFckIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3JDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBTThDLENBQUM7SUFKN0Ysc0JBQUkscUNBQUk7Ozs7UUFBUjtZQUNFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUE7UUFDdEMsQ0FBQzs7O09BQUE7Ozs7SUFJRCx5Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtTQUNkO0lBQ0gsQ0FBQzs7OztJQUVELGtDQUFJOzs7SUFBSjtRQUFBLGlCQUdDO1FBRkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTOzs7UUFBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBckIsQ0FBcUIsRUFBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7SUFFRCxvQ0FBTTs7O0lBQU47UUFBQSxpQkFFQztRQURDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVM7OztRQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFwQixDQUFvQixFQUFDLENBQUM7SUFDakYsQ0FBQzs7Z0JBakNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7Ozs7Z0JBTm1CLFVBQVU7Z0JBQ3JCLGlCQUFpQjs7O2dDQVF2QixLQUFLOytCQUVMLE1BQU07NEJBQ04sTUFBTTsyQkFDTixNQUFNOztJQXdCVCwwQkFBQztDQUFBLEFBbENELElBa0NDO1NBOUJZLG1CQUFtQjs7O0lBRTlCLDRDQUErQjs7SUFFL0IsMkNBQWtEOztJQUNsRCx3Q0FBK0M7O0lBQy9DLHVDQUE4Qzs7Ozs7SUFNbEMseUNBQThCOzs7OztJQUFFLGdEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGhhbm9zU25hcFNlcnZpY2UgfSBmcm9tICcuL3RoYW5vcy1zbmFwLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbmd4VGhhbm9zU25hcF0nLFxyXG4gIGV4cG9ydEFzOiAnbmd4VGhhbm9zU25hcCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRoYW5vc1NuYXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBuZ3hUaGFub3NTbmFwID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBzbmFwU3RhcnRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIHNuYXBFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgcmV3aW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGdldCBob3N0KCk6IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHRoYW5vc1NuYXBTZXJ2aWNlOiBUaGFub3NTbmFwU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMubmd4VGhhbm9zU25hcCkge1xyXG4gICAgICB0aGlzLnNuYXAoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmV3aW5kKClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNuYXAoKSB7XHJcbiAgICB0aGlzLnNuYXBTdGFydGluZy5lbWl0KCk7XHJcbiAgICB0aGlzLnRoYW5vc1NuYXBTZXJ2aWNlLnNuYXAodGhpcy5ob3N0KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zbmFwRW5kZWQuZW1pdCgpKTtcclxuICB9XHJcblxyXG4gIHJld2luZCgpIHtcclxuICAgIHRoaXMudGhhbm9zU25hcFNlcnZpY2UucmV3aW5kKHRoaXMuaG9zdCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmV3aW5kZWQuZW1pdCgpKTtcclxuICB9XHJcbn1cclxuIl19