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

39 lines 4.76 kB
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==