docbrown/app/javascript/admin/controllers/sidebar_controller.js
Michael Kohl 7c31a9cc98
Remove buffer gem and related code: step 1 (#12993)
* Remove buffer gem and related code

* Remove more Buffer-related code

* Remove one more Buffer spec

* Remove DUS

* Remove more Buffer code
2021-03-24 09:58:38 +07:00

35 lines
993 B
JavaScript

import { Controller } from 'stimulus';
// eslint-disable-next-line no-restricted-syntax
export default class SidebarController extends Controller {
static targets = ['submenu'];
disableCurrentNavItem() {
const activeMenuId = this.submenuTargets.filter((item) =>
item.classList.contains('show'),
)[0].id;
const activeButton = document.getElementById(`${activeMenuId}_button`);
activeButton.setAttribute('disabled', true);
}
expandDropdown(event) {
this.redirectToFirstChildNavItem(event);
this.closeOtherMenus();
}
redirectToFirstChildNavItem(event) {
window.location.href = event.target.getAttribute('data-target-href');
}
closeOtherMenus() {
const expandedList = ['expand', 'show'];
const collapsedList = ['collapse', 'hide'];
this.submenuTargets.map((item) => {
if (item.classList.contains('show')) {
item.classList.remove(...expandedList);
item.classList.add(...collapsedList);
}
});
}
}