mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-12 00:08:59 +01:00
69 lines
1.5 KiB
JavaScript
69 lines
1.5 KiB
JavaScript
|
/* global bootstrap: false */
|
||
|
|
||
|
(function () {
|
||
|
'use strict'
|
||
|
|
||
|
// Tooltip and popover demos
|
||
|
document.querySelectorAll('.tooltip-demo')
|
||
|
.forEach(function (tooltip) {
|
||
|
new bootstrap.Tooltip(tooltip, {
|
||
|
selector: '[data-bs-toggle="tooltip"]'
|
||
|
})
|
||
|
})
|
||
|
|
||
|
document.querySelectorAll('[data-bs-toggle="popover"]')
|
||
|
.forEach(function (popover) {
|
||
|
new bootstrap.Popover(popover)
|
||
|
})
|
||
|
|
||
|
document.querySelectorAll('.toast')
|
||
|
.forEach(function (toastNode) {
|
||
|
var toast = new bootstrap.Toast(toastNode, {
|
||
|
autohide: false
|
||
|
})
|
||
|
|
||
|
toast.show()
|
||
|
})
|
||
|
|
||
|
// Disable empty links
|
||
|
document.querySelectorAll('[href="#"]')
|
||
|
.forEach(function (link) {
|
||
|
link.addEventListener('click', function (e) {
|
||
|
e.preventDefault()
|
||
|
})
|
||
|
})
|
||
|
|
||
|
function setActiveItem() {
|
||
|
var hash = window.location.hash
|
||
|
|
||
|
if (hash === '') {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
var link = document.querySelector('.bd-aside a[href="' + hash + '"]')
|
||
|
var active = document.querySelector('.bd-aside .active')
|
||
|
var parent = link.parentNode.parentNode.previousElementSibling
|
||
|
|
||
|
link.classList.add('active')
|
||
|
|
||
|
if (parent.classList.contains('collapsed')) {
|
||
|
parent.click()
|
||
|
}
|
||
|
|
||
|
if (!active) {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
var expanded = active.parentNode.parentNode.previousElementSibling
|
||
|
|
||
|
active.classList.remove('active')
|
||
|
|
||
|
if (expanded && parent !== expanded) {
|
||
|
expanded.click()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
setActiveItem()
|
||
|
window.addEventListener('hashchange', setActiveItem)
|
||
|
})()
|