ngx-lazy-scroll
Version:
A simple lazy loading directive for large form elements. This will increase DOM rendering speed.
74 lines (68 loc) • 2.51 kB
JavaScript
import { Directive, HostListener, Input, Output, EventEmitter, NgModule } from '@angular/core';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var NgxLazyScrollDirective = /** @class */ (function () {
function NgxLazyScrollDirective() {
this.limit = 1;
this.heightAdjust = '0';
this.stepEvent = new EventEmitter();
}
/**
* @param {?} event
* @return {?}
*/
NgxLazyScrollDirective.prototype.scrollHandler = /**
* @param {?} event
* @return {?}
*/
function (event) {
/** @type {?} */
var tracker = event.target;
/** @type {?} */
var limit = tracker.scrollHeight + Number(this.heightAdjust);
if (Number(tracker.offsetHeight) + Number(tracker.scrollTop) > limit) {
this.limit++;
this.stepEvent.emit(this.limit);
}
};
NgxLazyScrollDirective.decorators = [
{ type: Directive, args: [{
selector: '[lazyScroll]'
},] }
];
NgxLazyScrollDirective.propDecorators = {
limit: [{ type: Input }],
heightAdjust: [{ type: Input }],
stepEvent: [{ type: Output }],
scrollHandler: [{ type: HostListener, args: ['scroll', ['$event'],] }]
};
return NgxLazyScrollDirective;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var NgxLazyScrollModule = /** @class */ (function () {
function NgxLazyScrollModule() {
}
NgxLazyScrollModule.decorators = [
{ type: NgModule, args: [{
declarations: [NgxLazyScrollDirective],
imports: [],
exports: [NgxLazyScrollDirective]
},] }
];
return NgxLazyScrollModule;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { NgxLazyScrollDirective, NgxLazyScrollModule };
//# sourceMappingURL=ngx-lazy-scroll.js.map