UNPKG

bootstrap-layout

Version:

Bootstrap layout with sidebar navigation, sidebar skins, sidebar transition, custom scrollbars, sidebar menus and other advanced features and utilities

45 lines (38 loc) 1.1 kB
import { Sidebar } from './sidebar' const SIDEBAR_TOGGLE_SELECTOR = '[data-toggle="sidebar"]' export class SidebarToggle { /** * SidebarToggle constructor * @return {SidebarToggle} The SidebarToggle instance */ constructor () { this.sidebar = new Sidebar() jQuery(SIDEBAR_TOGGLE_SELECTOR).each((index, el) => this.init(el)) } /** * Get a jQuery element * @param {String|jQuery} elementOrSelector jQuery element or DOM selector * @return {jQuery} A jQuery element */ _element (elementOrSelector) { return elementOrSelector instanceof jQuery ? elementOrSelector : jQuery(elementOrSelector) } /** * Click event listener * @param {MouseEvent} e The Mouse Event */ _onClick (e) { e.stopPropagation() const sidebar = jQuery(e.currentTarget).data('target') this.sidebar.toggle(sidebar) } /** * Initialize a sidebar toggle element * @param {String|jQuery} el jQuery element or DOM selector */ init (el) { this._element(el).on('click', e => this._onClick(e)) } } // export instance export let sidebarToggle = new SidebarToggle()