UNPKG

@sgalinski/responsive-side-menu

Version:

A simple and extendable slide-in menu

29 lines (22 loc) 672 B
export default class Plugin { constructor(_attach = true) { if (_attach) { this.rootElement = Plugin.createElement(); this.rootElement.classList.add(`rsm-${this.getPluginName()}`); this.attachElement(); } } static createElement() { return document.createElement('LI'); } attachElement() { let referenceNode = document.querySelector('.rsm-header'); referenceNode.parentNode.insertBefore(this.rootElement, referenceNode.nextSibling); } getPluginName() { throw new Error(`[Plugin ${this.constructor.name}]: Your Plugin has to override getPluginName to return a proper string-identifier`); } get element() { return this.rootElement; } }