UNPKG

@sgalinski/responsive-side-menu

Version:

A simple and extendable slide-in menu

38 lines (32 loc) 969 B
import Settings from './settings'; import Hooks from './hooks'; /** * The header class represents the header section of the menu */ export default class Header { constructor() { this.rootElement = document.createElement('LI'); this.rootElement.classList.add('rsm-header'); // set header content from configuration this.rootElement.innerHTML = `<span class="rsm-menu-title">${Settings.get.menuTitle}</span>`; this.closeButton = document.createElement('BUTTON'); this.closeButton.classList.add('rsm-close'); this.closeButton.innerHTML = '<span class="rsm-sr">Close</span>'; this.rootElement.appendChild(this.closeButton); Hooks.register('header', this._hook.bind(this)); } /** * Returns the header root DomElement * * @returns {Element|*} */ get Element () { return this.rootElement; } get CloseButton() { return this.closeButton; } _hook(_object) { this.rootElement.insertBefore(_object, this.rootElement.firstChild); } }