]> BookStack Code Mirror - bookstack/blob - resources/assets/js/components/chapter-toggle.js
Typo fix
[bookstack] / resources / assets / js / components / chapter-toggle.js
1 import {slideUp, slideDown} from "../services/animations";
2
3 class ChapterToggle {
4
5     constructor(elem) {
6         this.elem = elem;
7         this.isOpen = elem.classList.contains('open');
8         elem.addEventListener('click', this.click.bind(this));
9     }
10
11     open() {
12         const list = this.elem.parentNode.querySelector('.inset-list');
13         this.elem.classList.add('open');
14         slideDown(list, 240);
15     }
16
17     close() {
18         const list = this.elem.parentNode.querySelector('.inset-list');
19         this.elem.classList.remove('open');
20         slideUp(list, 240);
21     }
22
23     click(event) {
24         event.preventDefault();
25         this.isOpen ?  this.close() : this.open();
26         this.isOpen = !this.isOpen;
27     }
28
29 }
30
31 export default ChapterToggle;