@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
62 lines • 5.63 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { EventEmitter, Output, HostListener, ElementRef, ChangeDetectorRef, OnDestroy, Directive, AfterViewInit } from '@angular/core';
var VirtualHelperBaseDirective = /** @class */ (function () {
function VirtualHelperBaseDirective(elementRef, cdr) {
this.elementRef = elementRef;
this.cdr = cdr;
this.scrollAmount = 0;
this._size = 0;
this._afterViewInit = false;
}
VirtualHelperBaseDirective.prototype.ngAfterViewInit = function () {
this._afterViewInit = true;
};
VirtualHelperBaseDirective.prototype.onScroll = function (event) {
this.scrollAmount = event.target.scrollTop || event.target.scrollLeft;
};
Object.defineProperty(VirtualHelperBaseDirective.prototype, "nativeElement", {
get: function () {
return this.elementRef.nativeElement;
},
enumerable: true,
configurable: true
});
VirtualHelperBaseDirective.prototype.ngOnDestroy = function () {
this.destroyed = true;
};
Object.defineProperty(VirtualHelperBaseDirective.prototype, "size", {
get: function () {
return this._size;
},
set: function (value) {
if (this.destroyed) {
return;
}
this._size = value;
if (this._afterViewInit) {
this.cdr.detectChanges();
}
},
enumerable: true,
configurable: true
});
VirtualHelperBaseDirective.ctorParameters = function () { return [
{ type: ElementRef },
{ type: ChangeDetectorRef }
]; };
__decorate([
HostListener('scroll', ['$event']),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", void 0)
], VirtualHelperBaseDirective.prototype, "onScroll", null);
VirtualHelperBaseDirective = __decorate([
Directive({
selector: '[igxVirtualHelperBase]'
}),
__metadata("design:paramtypes", [ElementRef, ChangeDetectorRef])
], VirtualHelperBaseDirective);
return VirtualHelperBaseDirective;
}());
export { VirtualHelperBaseDirective };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5oZWxwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vaWduaXRldWktYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2Zvci1vZi9iYXNlLmhlbHBlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsYUFBYSxFQUNoQixNQUFNLGVBQWUsQ0FBQztBQUt2QjtJQWlCSSxvQ0FBbUIsVUFBc0IsRUFBUyxHQUFzQjtRQUFyRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFoQmpFLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLFVBQUssR0FBRyxDQUFDLENBQUM7UUFJVCxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVU2QyxDQUFDO0lBUjdFLG9EQUFlLEdBQWY7UUFDSSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBR0QsNkNBQVEsR0FBUixVQUFTLEtBQUs7UUFDVixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQzFFLENBQUM7SUFHRCxzQkFBSSxxREFBYTthQUFqQjtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDekMsQ0FBQzs7O09BQUE7SUFFTSxnREFBVyxHQUFsQjtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxzQkFBVyw0Q0FBSTthQVVmO1lBQ0ksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RCLENBQUM7YUFaRCxVQUFnQixLQUFLO1lBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsT0FBTzthQUNWO1lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQzVCO1FBQ0wsQ0FBQzs7O09BQUE7O2dCQWxCOEIsVUFBVTtnQkFBYyxpQkFBaUI7O0lBSHhFO1FBREMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7OzhEQUdsQztJQWhCUSwwQkFBMEI7UUFIdEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHdCQUF3QjtTQUNyQyxDQUFDO3lDQWtCaUMsVUFBVSxFQUFjLGlCQUFpQjtPQWpCL0QsMEJBQTBCLENBd0N0QztJQUFELGlDQUFDO0NBQUEsQUF4Q0QsSUF3Q0M7U0F4Q1ksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBFbGVtZW50UmVmLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBEaXJlY3RpdmUsXG4gICAgQWZ0ZXJWaWV3SW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4VmlydHVhbEhlbHBlckJhc2VdJ1xufSlcbmV4cG9ydCBjbGFzcyBWaXJ0dWFsSGVscGVyQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHVibGljIHNjcm9sbEFtb3VudCA9IDA7XG5cbiAgICBwdWJsaWMgX3NpemUgPSAwO1xuXG4gICAgcHVibGljIGRlc3Ryb3llZDtcblxuICAgIHByaXZhdGUgX2FmdGVyVmlld0luaXQgPSBmYWxzZTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fYWZ0ZXJWaWV3SW5pdCA9IHRydWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignc2Nyb2xsJywgWyckZXZlbnQnXSlcbiAgICBvblNjcm9sbChldmVudCkge1xuICAgICAgICB0aGlzLnNjcm9sbEFtb3VudCA9IGV2ZW50LnRhcmdldC5zY3JvbGxUb3AgfHwgZXZlbnQudGFyZ2V0LnNjcm9sbExlZnQ7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgICBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgc2l6ZSh2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5kZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9hZnRlclZpZXdJbml0KSB7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNpemUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplO1xuICAgIH1cbn1cbiJdfQ==