summaryrefslogtreecommitdiffstats
path: root/site/content/docs/5.2/examples/cheatsheet/cheatsheet.js
diff options
context:
space:
mode:
Diffstat (limited to 'site/content/docs/5.2/examples/cheatsheet/cheatsheet.js')
-rw-r--r--site/content/docs/5.2/examples/cheatsheet/cheatsheet.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/site/content/docs/5.2/examples/cheatsheet/cheatsheet.js b/site/content/docs/5.2/examples/cheatsheet/cheatsheet.js
new file mode 100644
index 0000000..e25a89e
--- /dev/null
+++ b/site/content/docs/5.2/examples/cheatsheet/cheatsheet.js
@@ -0,0 +1,73 @@
+/* global bootstrap: false */
+
+(() => {
+ 'use strict'
+
+ // Tooltip and popover demos
+ document.querySelectorAll('.tooltip-demo')
+ .forEach(tooltip => {
+ new bootstrap.Tooltip(tooltip, {
+ selector: '[data-bs-toggle="tooltip"]'
+ })
+ })
+
+ document.querySelectorAll('[data-bs-toggle="popover"]')
+ .forEach(popover => {
+ new bootstrap.Popover(popover)
+ })
+
+ document.querySelectorAll('.toast')
+ .forEach(toastNode => {
+ const toast = new bootstrap.Toast(toastNode, {
+ autohide: false
+ })
+
+ toast.show()
+ })
+
+ // Disable empty links and submit buttons
+ document.querySelectorAll('[href="#"], [type="submit"]')
+ .forEach(link => {
+ link.addEventListener('click', event => {
+ event.preventDefault()
+ })
+ })
+
+ function setActiveItem() {
+ const { hash } = window.location
+
+ if (hash === '') {
+ return
+ }
+
+ const link = document.querySelector(`.bd-aside a[href="${hash}"]`)
+
+ if (!link) {
+ return
+ }
+
+ const active = document.querySelector('.bd-aside .active')
+ const parent = link.parentNode.parentNode.previousElementSibling
+
+ link.classList.add('active')
+
+ if (parent.classList.contains('collapsed')) {
+ parent.click()
+ }
+
+ if (!active) {
+ return
+ }
+
+ const expanded = active.parentNode.parentNode.previousElementSibling
+
+ active.classList.remove('active')
+
+ if (expanded && parent !== expanded) {
+ expanded.click()
+ }
+ }
+
+ setActiveItem()
+ window.addEventListener('hashchange', setActiveItem)
+})()