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
39 lines • 4.76 kB
JavaScript
import { __decorate } from "tslib";
import { Directive, ElementRef, Input } from '@angular/core';
import { NgxFullpageService } from '../ngx-fullpage.service';
let NgxFullpageWrapperDirective = class NgxFullpageWrapperDirective {
constructor(element, justFullpageService) {
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 = (ev) => this.wheelHandler(ev);
this.justFullpageService.addWrapper(element, this.section);
}
wheelHandler(event) {
this.delta += event.deltaY;
if (this.delta === event.deltaY)
setTimeout(() => {
let direction = Math.abs(this.delta) / this.delta;
this.justFullpageService.scroll(direction);
setTimeout(() => this.delta = 0, 150);
}, 50);
}
};
NgxFullpageWrapperDirective.ctorParameters = () => [
{ type: ElementRef },
{ type: NgxFullpageService }
];
__decorate([
Input()
], NgxFullpageWrapperDirective.prototype, "section", void 0);
NgxFullpageWrapperDirective = __decorate([
Directive({
selector: '[ngx-fullpage-wrapper]',
providers: [NgxFullpageService]
})
], NgxFullpageWrapperDirective);
export { NgxFullpageWrapperDirective };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZ1bGxwYWdlLXdyYXBwZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWZyZWUtZnVsbHBhZ2UvIiwic291cmNlcyI6WyJsaWIvYmFzaWMvbmd4LWZ1bGxwYWdlLXdyYXBwZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFNN0QsSUFBYSwyQkFBMkIsR0FBeEMsTUFBYSwyQkFBMkI7SUFPdEMsWUFBb0IsT0FBb0IsRUFBVSxtQkFBd0M7UUFBdEUsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFKMUYsWUFBTyxHQUFZLENBQUMsQ0FBQztRQUVyQixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBR1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQTtRQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWtCO1FBQzdCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLE1BQU07WUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDdkMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUVGLENBQUE7O1lBakIrQixVQUFVO1lBQWdDLGtCQUFrQjs7QUFKMUY7SUFEQyxLQUFLLEVBQUU7NERBQ2E7QUFIViwyQkFBMkI7SUFKdkMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztLQUNoQyxDQUFDO0dBQ1csMkJBQTJCLENBd0J2QztTQXhCWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hGdWxscGFnZVNlcnZpY2UgfSBmcm9tICcuLi9uZ3gtZnVsbHBhZ2Uuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3gtZnVsbHBhZ2Utd3JhcHBlcl0nLFxuICBwcm92aWRlcnM6IFtOZ3hGdWxscGFnZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIE5neEZ1bGxwYWdlV3JhcHBlckRpcmVjdGl2ZSB7XG5cbiAgQElucHV0KClcbiAgc2VjdGlvbiA6IG51bWJlciA9IDA7XG5cbiAgZGVsdGEgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudCA6IEVsZW1lbnRSZWYsIHByaXZhdGUganVzdEZ1bGxwYWdlU2VydmljZSA6IE5neEZ1bGxwYWdlU2VydmljZSkgeyBcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZVsnb3ZlcmZsb3cnXSA9ICdoaWRkZW4nXG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGVbJ3Njcm9sbC1iZWhhdmlvciddID0gXCJzbW9vdGhcIjtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vbndoZWVsID0gKGV2OiBXaGVlbEV2ZW50KSA9PiB0aGlzLndoZWVsSGFuZGxlcihldik7XG4gICAgdGhpcy5qdXN0RnVsbHBhZ2VTZXJ2aWNlLmFkZFdyYXBwZXIoZWxlbWVudCwgdGhpcy5zZWN0aW9uKTtcbiAgfVxuXG4gIHdoZWVsSGFuZGxlcihldmVudCA6IFdoZWVsRXZlbnQpIHtcbiAgICB0aGlzLmRlbHRhICs9IGV2ZW50LmRlbHRhWTtcbiAgICBpZiAodGhpcy5kZWx0YSA9PT0gZXZlbnQuZGVsdGFZKVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGxldCBkaXJlY3Rpb24gPSBNYXRoLmFicyh0aGlzLmRlbHRhKSAvIHRoaXMuZGVsdGE7XG4gICAgICAgIHRoaXMuanVzdEZ1bGxwYWdlU2VydmljZS5zY3JvbGwoZGlyZWN0aW9uKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmRlbHRhID0gMCwgMTUwKVxuICAgICAgfSwgNTApO1xuICB9XG5cbn1cbiJdfQ==