mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-04 16:24:22 +01:00
fe257823ec
* Pass docs js through Babel * Use ES6 in docs js * Only run babel on src files * Allow babel in Hugo * Update scripts.html * Inherit from the root .eslintrc.json * Use `Array.from` * Drop Babel from docs * Prefer template * replace IIFE with arrow functions Co-authored-by: XhmikosR <xhmikosr@gmail.com> Co-authored-by: GeoSot <geo.sotis@gmail.com>
74 lines
1.5 KiB
JavaScript
74 lines
1.5 KiB
JavaScript
/* 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)
|
|
})()
|