-
Notifications
You must be signed in to change notification settings - Fork 1
/
app.js
98 lines (81 loc) · 2.31 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import DarkMode from "./utilities/dark"
import Collapse from "bootstrap/js/src/collapse"
import Alert from "bootstrap/js/src/alert"
import Dropdown from "bootstrap/js/src/dropdown"
import Modal from "bootstrap/js/src/modal"
import Tooltip from "bootstrap/js/src/tooltip"
import Popover from "bootstrap/js/src/popover"
import Offcanvas from "bootstrap/js/src/offcanvas"
import Tab from "bootstrap/js/src/tab"
//
// Enable Dark Mode.
//
window.DarkMode = DarkMode.detect(); // Detect dark mode and save it as global variable.
//
// Activate all collapsable.
//
Array.from(document.getElementsByClassName('collapse'))
.map(element => new Collapse(element, {
toggle: false // Don't toggle the Collapsing elements automatically.
}))
//
// Activate all alerts.
//
Array.from(document.getElementsByClassName('alert'))
.map(element => new Alert(element))
//
// Activate all dropdowns.
//
Array.from(document.getElementsByClassName('dropdown-toggle'))
.map(element => new Dropdown(element))
//
// Activate all modals.
//
Array.from(document.getElementsByClassName('modal'))
.filter(element => element.id) // Filter those who have an ID.
.map(element => new Modal(element))
//
// Activate all tooltips.
//
Array.from(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
.map(element => {
let tooltip = new Tooltip(element)
if (element.hasAttribute('data-bs-show')) {
tooltip.show()
}
return tooltip
})
//
// Activate all popovers.
//
Array.from(document.querySelectorAll('[data-bs-toggle="popover"]'))
.map(element => {
let popover = new Popover(element)
if (element.hasAttribute('data-bs-show')) {
popover.show()
}
return popover
})
//
// Activate all off-canvas toggles.
//
Array.from(document.getElementsByClassName('offcanvas'))
.map(element => {
let canvas = new Offcanvas(element)
if (element.hasAttribute('data-bs-show')) {
canvas.show()
}
return canvas
})
//
// Activate all the tabs.
//
Array.from(document.querySelectorAll('[data-bs-toggle="tab"]'))
.map(element => {
let tab = new Tab(element)
element.addEventListener('click', event => {
event.preventDefault()
tab.show()
})
return tab
})