mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-12 08:34:08 +02:00
Fix empty content of tooltip after 'copy' action in docs (#35773)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
This commit is contained in:
@@ -118,7 +118,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Insert copy to clipboard button before .highlight
|
// Insert copy to clipboard button before .highlight
|
||||||
var btnHtml = '<div class="bd-clipboard"><button type="button" class="btn-clipboard" title="Copy to clipboard">Copy</button></div>'
|
var btnTitle = 'Copy to clipboard'
|
||||||
|
var btnHtml = '<div class="bd-clipboard"><button type="button" class="btn-clipboard">Copy</button></div>'
|
||||||
document.querySelectorAll('div.highlight')
|
document.querySelectorAll('div.highlight')
|
||||||
.forEach(function (element) {
|
.forEach(function (element) {
|
||||||
element.insertAdjacentHTML('beforebegin', btnHtml)
|
element.insertAdjacentHTML('beforebegin', btnHtml)
|
||||||
@@ -126,7 +127,7 @@
|
|||||||
|
|
||||||
document.querySelectorAll('.btn-clipboard')
|
document.querySelectorAll('.btn-clipboard')
|
||||||
.forEach(function (btn) {
|
.forEach(function (btn) {
|
||||||
var tooltipBtn = new bootstrap.Tooltip(btn)
|
var tooltipBtn = new bootstrap.Tooltip(btn, { title: btnTitle })
|
||||||
|
|
||||||
btn.addEventListener('mouseleave', function () {
|
btn.addEventListener('mouseleave', function () {
|
||||||
// Explicitly hide tooltip, since after clicking it remains
|
// Explicitly hide tooltip, since after clicking it remains
|
||||||
@@ -144,11 +145,10 @@
|
|||||||
|
|
||||||
clipboard.on('success', function (event) {
|
clipboard.on('success', function (event) {
|
||||||
var tooltipBtn = bootstrap.Tooltip.getInstance(event.trigger)
|
var tooltipBtn = bootstrap.Tooltip.getInstance(event.trigger)
|
||||||
var originalTitle = event.trigger.getAttribute('title')
|
|
||||||
|
|
||||||
tooltipBtn.setContent({ '.tooltip-inner': 'Copied!' })
|
tooltipBtn.setContent({ '.tooltip-inner': 'Copied!' })
|
||||||
event.trigger.addEventListener('hidden.bs.tooltip', function () {
|
event.trigger.addEventListener('hidden.bs.tooltip', function () {
|
||||||
tooltipBtn.setContent({ '.tooltip-inner': originalTitle })
|
tooltipBtn.setContent({ '.tooltip-inner': btnTitle })
|
||||||
}, { once: true })
|
}, { once: true })
|
||||||
event.clearSelection()
|
event.clearSelection()
|
||||||
})
|
})
|
||||||
@@ -157,11 +157,10 @@
|
|||||||
var modifierKey = /mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-'
|
var modifierKey = /mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-'
|
||||||
var fallbackMsg = 'Press ' + modifierKey + 'C to copy'
|
var fallbackMsg = 'Press ' + modifierKey + 'C to copy'
|
||||||
var tooltipBtn = bootstrap.Tooltip.getInstance(event.trigger)
|
var tooltipBtn = bootstrap.Tooltip.getInstance(event.trigger)
|
||||||
var originalTitle = event.trigger.getAttribute('title')
|
|
||||||
|
|
||||||
tooltipBtn.setContent({ '.tooltip-inner': fallbackMsg })
|
tooltipBtn.setContent({ '.tooltip-inner': fallbackMsg })
|
||||||
event.trigger.addEventListener('hidden.bs.tooltip', function () {
|
event.trigger.addEventListener('hidden.bs.tooltip', function () {
|
||||||
tooltipBtn.setContent({ '.tooltip-inner': originalTitle })
|
tooltipBtn.setContent({ '.tooltip-inner': btnTitle })
|
||||||
}, { once: true })
|
}, { once: true })
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user