UNPKG

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
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