aboutsummaryrefslogtreecommitdiff
path: root/site/content/docs/5.3/examples/cheatsheet/cheatsheet.js
diff options
context:
space:
mode:
authorBobby <[email protected]>2024-08-16 20:47:33 -0400
committerGitHub <[email protected]>2024-08-16 20:47:33 -0400
commit6b28433d9cfde435be8ec2bd6cf91e6324d08865 (patch)
tree8343c27b8b95ff5639233e81cf157f92e5688466 /site/content/docs/5.3/examples/cheatsheet/cheatsheet.js
parentd53094ec16ba385faae2973ddee648698b32ab24 (diff)
parent048f56f51460df75e92a2f7b472e1c56baeb68f7 (diff)
downloadbootstrap-main.tar.xz
bootstrap-main.zip
Merge branch 'twbs:main' into mainHEADmain
Diffstat (limited to 'site/content/docs/5.3/examples/cheatsheet/cheatsheet.js')
-rw-r--r--site/content/docs/5.3/examples/cheatsheet/cheatsheet.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/site/content/docs/5.3/examples/cheatsheet/cheatsheet.js b/site/content/docs/5.3/examples/cheatsheet/cheatsheet.js
new file mode 100644
index 000000000..e25a89e75
--- /dev/null
+++ b/site/content/docs/5.3/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)
+})()