ngx-free-fullpage
Version:
ngx-free-fullpage is a free-for-profit angular library that gives you all the tools you need to implement a fullpage scroll effect. This library hasn't been developed in order to substitute the current ngx-fullpage, this library is an alternative for thos
42 lines • 5.07 kB
JavaScript
import { __decorate } from "tslib";
import { Directive, ElementRef, Input } from '@angular/core';
import { NgxFullpageService } from '../ngx-fullpage.service';
var NgxFullpageWrapperDirective = /** @class */ (function () {
function NgxFullpageWrapperDirective(element, justFullpageService) {
var _this = this;
this.element = element;
this.justFullpageService = justFullpageService;
this.section = 0;
this.delta = 0;
this.element.nativeElement.style['overflow'] = 'hidden';
this.element.nativeElement.style['scroll-behavior'] = "smooth";
this.element.nativeElement.onwheel = function (ev) { return _this.wheelHandler(ev); };
this.justFullpageService.addWrapper(element, this.section);
}
NgxFullpageWrapperDirective.prototype.wheelHandler = function (event) {
var _this = this;
this.delta += event.deltaY;
if (this.delta === event.deltaY)
setTimeout(function () {
var direction = Math.abs(_this.delta) / _this.delta;
_this.justFullpageService.scroll(direction);
setTimeout(function () { return _this.delta = 0; }, 150);
}, 50);
};
NgxFullpageWrapperDirective.ctorParameters = function () { return [
{ type: ElementRef },
{ type: NgxFullpageService }
]; };
__decorate([
Input()
], NgxFullpageWrapperDirective.prototype, "section", void 0);
NgxFullpageWrapperDirective = __decorate([
Directive({
selector: '[ngx-fullpage-wrapper]',
providers: [NgxFullpageService]
})
], NgxFullpageWrapperDirective);
return NgxFullpageWrapperDirective;
}());
export { NgxFullpageWrapperDirective };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZ1bGxwYWdlLXdyYXBwZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWZyZWUtZnVsbHBhZ2UvIiwic291cmNlcyI6WyJsaWIvYmFzaWMvbmd4LWZ1bGxwYWdlLXdyYXBwZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFNN0Q7SUFPRSxxQ0FBb0IsT0FBb0IsRUFBVSxtQkFBd0M7UUFBMUYsaUJBS0M7UUFMbUIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFKMUYsWUFBTyxHQUFZLENBQUMsQ0FBQztRQUVyQixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBR1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQTtRQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLFVBQUMsRUFBYyxJQUFLLE9BQUEsS0FBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBckIsQ0FBcUIsQ0FBQztRQUMvRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGtEQUFZLEdBQVosVUFBYSxLQUFrQjtRQUEvQixpQkFRQztRQVBDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLE1BQU07WUFDN0IsVUFBVSxDQUFDO2dCQUNULElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ2xELEtBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzNDLFVBQVUsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQWQsQ0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ3ZDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7O2dCQWY2QixVQUFVO2dCQUFnQyxrQkFBa0I7O0lBSjFGO1FBREMsS0FBSyxFQUFFO2dFQUNhO0lBSFYsMkJBQTJCO1FBSnZDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7U0FDaEMsQ0FBQztPQUNXLDJCQUEyQixDQXdCdkM7SUFBRCxrQ0FBQztDQUFBLEFBeEJELElBd0JDO1NBeEJZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neEZ1bGxwYWdlU2VydmljZSB9IGZyb20gJy4uL25neC1mdWxscGFnZS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neC1mdWxscGFnZS13cmFwcGVyXScsXG4gIHByb3ZpZGVyczogW05neEZ1bGxwYWdlU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTmd4RnVsbHBhZ2VXcmFwcGVyRGlyZWN0aXZlIHtcblxuICBASW5wdXQoKVxuICBzZWN0aW9uIDogbnVtYmVyID0gMDtcblxuICBkZWx0YSA9IDA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50IDogRWxlbWVudFJlZiwgcHJpdmF0ZSBqdXN0RnVsbHBhZ2VTZXJ2aWNlIDogTmd4RnVsbHBhZ2VTZXJ2aWNlKSB7IFxuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlWydvdmVyZmxvdyddID0gJ2hpZGRlbidcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZVsnc2Nyb2xsLWJlaGF2aW9yJ10gPSBcInNtb290aFwiO1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9ud2hlZWwgPSAoZXY6IFdoZWVsRXZlbnQpID0+IHRoaXMud2hlZWxIYW5kbGVyKGV2KTtcbiAgICB0aGlzLmp1c3RGdWxscGFnZVNlcnZpY2UuYWRkV3JhcHBlcihlbGVtZW50LCB0aGlzLnNlY3Rpb24pO1xuICB9XG5cbiAgd2hlZWxIYW5kbGVyKGV2ZW50IDogV2hlZWxFdmVudCkge1xuICAgIHRoaXMuZGVsdGEgKz0gZXZlbnQuZGVsdGFZO1xuICAgIGlmICh0aGlzLmRlbHRhID09PSBldmVudC5kZWx0YVkpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgbGV0IGRpcmVjdGlvbiA9IE1hdGguYWJzKHRoaXMuZGVsdGEpIC8gdGhpcy5kZWx0YTtcbiAgICAgICAgdGhpcy5qdXN0RnVsbHBhZ2VTZXJ2aWNlLnNjcm9sbChkaXJlY3Rpb24pO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZGVsdGEgPSAwLCAxNTApXG4gICAgICB9LCA1MCk7XG4gIH1cblxufVxuIl19