@addapptables/perfect-scrollbar
Version:
Perfect scrollbar library for angular
115 lines • 8.18 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
import PerfectScrollbar from 'perfect-scrollbar';
import { Router, NavigationEnd, NavigationError, NavigationCancel } from '@angular/router';
import { filter, delay } from 'rxjs/operators';
var PerfectScrollbarDirective = /** @class */ (function () {
function PerfectScrollbarDirective(_elementRef, _router) {
this._elementRef = _elementRef;
this._router = _router;
this.allSub = new Array();
this.options = {};
}
Object.defineProperty(PerfectScrollbarDirective.prototype, "perfectScrollOptions", {
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this.options = value;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
PerfectScrollbarDirective.prototype.onResize = /**
* @return {?}
*/
function () {
this.ps && this.ps.update();
};
/**
* @return {?}
*/
PerfectScrollbarDirective.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
var _this = this;
this.initPerfectScroll();
/** @type {?} */
var navigationEnd$ = this._router.events
.pipe(filter((/**
* @param {?} event
* @return {?}
*/
function (event) { return event instanceof NavigationEnd || event instanceof NavigationError || event instanceof NavigationCancel; })), delay(100))
.subscribe((/**
* @return {?}
*/
function () {
_this.ps && _this.ps.update();
}));
this.allSub.push(navigationEnd$);
};
/**
* @return {?}
*/
PerfectScrollbarDirective.prototype.initPerfectScroll = /**
* @return {?}
*/
function () {
this.ps = new PerfectScrollbar(this._elementRef.nativeElement, {});
};
/**
* @return {?}
*/
PerfectScrollbarDirective.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.ps && this.ps.destroy();
this.allSub.forEach((/**
* @param {?} x
* @return {?}
*/
function (x) { return x.unsubscribe(); }));
};
PerfectScrollbarDirective.decorators = [
{ type: Directive, args: [{
selector: '[addapptablesPerfectScrollbar]'
},] }
];
/** @nocollapse */
PerfectScrollbarDirective.ctorParameters = function () { return [
{ type: ElementRef },
{ type: Router }
]; };
PerfectScrollbarDirective.propDecorators = {
perfectScrollOptions: [{ type: Input }],
onResize: [{ type: HostListener, args: ['window:resize',] }]
};
return PerfectScrollbarDirective;
}());
export { PerfectScrollbarDirective };
if (false) {
/** @type {?} */
PerfectScrollbarDirective.prototype.ps;
/** @type {?} */
PerfectScrollbarDirective.prototype.options;
/** @type {?} */
PerfectScrollbarDirective.prototype.allSub;
/**
* @type {?}
* @private
*/
PerfectScrollbarDirective.prototype._elementRef;
/** @type {?} */
PerfectScrollbarDirective.prototype._router;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZmVjdC1zY3JvbGxiYXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkZGFwcHRhYmxlcy9wZXJmZWN0LXNjcm9sbGJhci8iLCJzb3VyY2VzIjpbImxpYi9wZXJmZWN0LXNjcm9sbGJhci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBYSxLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sZ0JBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvQztJQVdJLG1DQUFvQixXQUF1QixFQUFXLE9BQWU7UUFBakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBRnJFLFdBQU0sR0FBRyxJQUFJLEtBQUssRUFBZ0IsQ0FBQztRQUcvQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsc0JBQ0ksMkRBQW9COzs7OztRQUR4QixVQUN5QixLQUFLO1lBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUM7OztPQUFBOzs7O0lBR0QsNENBQVE7OztJQURSO1FBRUksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hDLENBQUM7Ozs7SUFFRCxtREFBZTs7O0lBQWY7UUFBQSxpQkFXQztRQVZHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDOztZQUNuQixjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2FBQ3JDLElBQUksQ0FDRCxNQUFNOzs7O1FBQUMsVUFBQyxLQUFLLElBQUssT0FBQSxLQUFLLFlBQVksYUFBYSxJQUFJLEtBQUssWUFBWSxlQUFlLElBQUksS0FBSyxZQUFZLGdCQUFnQixFQUF2RyxDQUF1RyxFQUFDLEVBQzFILEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FDYjthQUNBLFNBQVM7OztRQUFDO1lBQ1AsS0FBSSxDQUFDLEVBQUUsSUFBSSxLQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLENBQUMsRUFBQztRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Ozs7SUFFRCxxREFBaUI7OztJQUFqQjtRQUNJLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDOzs7O0lBRUQsK0NBQVc7OztJQUFYO1FBQ0ksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFmLENBQWUsRUFBQyxDQUFDO0lBQzlDLENBQUM7O2dCQTdDSixTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztpQkFDN0M7Ozs7Z0JBUm1CLFVBQVU7Z0JBRXJCLE1BQU07Ozt1Q0FtQlYsS0FBSzsyQkFLTCxZQUFZLFNBQUMsZUFBZTs7SUEyQmpDLGdDQUFDO0NBQUEsQUEvQ0QsSUErQ0M7U0E1Q1kseUJBQXlCOzs7SUFFbEMsdUNBQXFCOztJQUVyQiw0Q0FBYTs7SUFFYiwyQ0FBbUM7Ozs7O0lBRXZCLGdEQUErQjs7SUFBRSw0Q0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBJbnB1dCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgUGVyZmVjdFNjcm9sbGJhciBmcm9tICdwZXJmZWN0LXNjcm9sbGJhcic7XHJcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uQ2FuY2VsIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyLCBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2FkZGFwcHRhYmxlc1BlcmZlY3RTY3JvbGxiYXJdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVyZmVjdFNjcm9sbGJhckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHM6IFBlcmZlY3RTY3JvbGxiYXI7XHJcblxyXG4gICAgb3B0aW9uczogYW55O1xyXG5cclxuICAgIGFsbFN1YiA9IG5ldyBBcnJheTxTdWJzY3JpcHRpb24+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcmVhZG9ubHkgX3JvdXRlcjogUm91dGVyKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBwZXJmZWN0U2Nyb2xsT3B0aW9ucyh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gICAgb25SZXNpemUoKSB7XHJcbiAgICAgICAgdGhpcy5wcyAmJiB0aGlzLnBzLnVwZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmluaXRQZXJmZWN0U2Nyb2xsKCk7XHJcbiAgICAgICAgY29uc3QgbmF2aWdhdGlvbkVuZCQgPSB0aGlzLl9yb3V0ZXIuZXZlbnRzXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yIHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCksXHJcbiAgICAgICAgICAgICAgICBkZWxheSgxMDApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBzICYmIHRoaXMucHMudXBkYXRlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYWxsU3ViLnB1c2gobmF2aWdhdGlvbkVuZCQpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRQZXJmZWN0U2Nyb2xsKCkge1xyXG4gICAgICAgIHRoaXMucHMgPSBuZXcgUGVyZmVjdFNjcm9sbGJhcih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHt9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBzICYmIHRoaXMucHMuZGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuYWxsU3ViLmZvckVhY2goeCA9PiB4LnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=