UNPKG

@ribajs/bs5

Version:

Bootstrap 5 module for Riba.js

27 lines 2.36 kB
import { Binder } from "@ribajs/core"; import { Dropdown } from "../services/dropdown.js"; export class DropdownBinder extends Binder { static key = "bs5-dropdown"; toggler; dropdownService; bind(el) { this.toggler = ((el.classList.contains("dropdown-toggle") ? el : el.querySelector(".dropdown-toggle")) || el); } routine(el, option = {}) { if (!this.toggler) { throw new Error("No dropdown toggle element found!"); } if (this.dropdownService) { const dropdownService = this.dropdownService; dropdownService.dispose(); this.toggler.dataset.bsToggle = ""; } const dropdownService = new Dropdown(this.toggler, option); this.toggler.dataset.bsToggle = "dropdown"; this.dropdownService = dropdownService; this.dropdownService.hide(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnM1LWRyb3Bkb3duLmJpbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW5kZXJzL2JzNS1kcm9wZG93bi5iaW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPbkQsTUFBTSxPQUFPLGNBQWUsU0FBUSxNQUduQztJQUNDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDO0lBRXBCLE9BQU8sQ0FBeUM7SUFFaEQsZUFBZSxDQUFZO0lBRW5DLElBQUksQ0FBQyxFQUFlO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1lBQ3ZELENBQUMsQ0FBQyxFQUFFO1lBQ0osQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FFMUIsQ0FBQztJQUN4QixDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQWUsRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsTUFBTSxlQUFlLEdBQWEsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUN2RCxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNDLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQyJ9