Skip to content

Commit 6548fa5

Browse files
authored
Merge pull request #495 from technokrat/main
Fix BTooltip updates for Bootstrap 5.2
2 parents 8bc3415 + af4c7c2 commit 6548fa5

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

src/directives/BTooltip.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable @typescript-eslint/ban-ts-comment */
12
import {Directive, DirectiveBinding} from 'vue'
23
import Tooltip from 'bootstrap/js/dist/tooltip'
34

@@ -59,23 +60,30 @@ const BTooltip: Directive<HTMLElement> = {
5960
const trigger = resolveTrigger(binding.modifiers)
6061
const placement = resolvePlacement(binding.modifiers)
6162
const delay = resolveDelay(binding.value)
63+
const title = el.getAttribute('title')
6264

6365
new Tooltip(el, {
6466
trigger,
6567
placement,
6668
delay,
6769
html: isHtml,
6870
})
71+
72+
if (title) {
73+
el.setAttribute('data-bs-original-title', title)
74+
}
6975
},
7076
updated(el) {
7177
const title = el.getAttribute('title')
78+
const originalTitle = el.getAttribute('data-bs-original-title')
79+
const instance = Tooltip.getInstance(el)
80+
81+
el.removeAttribute('title')
7282

73-
if (title !== '') {
74-
const instance = Tooltip.getInstance(el)
75-
instance?.toggle()
76-
el.setAttribute('data-bs-original-title', title || '')
77-
el.setAttribute('title', '')
78-
instance?.toggle()
83+
if (title && title !== originalTitle) {
84+
// @ts-ignore
85+
instance?.setContent({'.tooltip-inner': title})
86+
el.setAttribute('data-bs-original-title', title)
7987
}
8088
},
8189
unmounted(el) {

0 commit comments

Comments
 (0)