UNPKG

@ribajs/bs4

Version:

Bootstrap 4 module for Riba.js

31 lines 2.83 kB
import { Binder } from "@ribajs/core"; import { scrollTo } from "@ribajs/utils/src/dom.js"; export class ScrollToOnEventBinder extends Binder { static key = "scroll-to-on-*"; target; _onEvent(event) { const offset = Number(this.el.dataset.offset || 0); const scrollElement = this.el.dataset.scrollElement ? document.querySelector(this.el.dataset.scrollElement) : window; if (this.target) { scrollTo(this.target, offset, scrollElement); event.preventDefault(); } } onEvent = this._onEvent.bind(this); bind(el) { this.onEvent = this.onEvent.bind(this); const eventName = this.args[0]; el.addEventListener(eventName, this.onEvent, { passive: true }); } routine(el, targetSelector) { this.target = document.querySelector(targetSelector) || undefined; } unbind(el) { const eventName = this.args[0]; el.removeEventListener(eventName, this.onEvent); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXRvLW9uLWV2ZW50LmJpbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW5kZXJzL3Njcm9sbC10by1vbi1ldmVudC5iaW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFcEQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLE1BQWdDO0lBQ3pFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLENBQUM7SUFFdEIsTUFBTSxDQUFlO0lBRXJCLFFBQVEsQ0FBQyxLQUFZO1FBQzNCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYTtZQUNqRCxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBYyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDcEUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUM3QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFTyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDLEVBQXNCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVcsQ0FBQztRQUN6QyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQXNCLEVBQUUsY0FBc0I7UUFDcEQsSUFBSSxDQUFDLE1BQU07WUFDVCxRQUFRLENBQUMsYUFBYSxDQUFjLGNBQWMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQWU7UUFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVcsQ0FBQztRQUN6QyxFQUFFLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDIn0=