aboutsummaryrefslogtreecommitdiff
path: root/js/src
diff options
context:
space:
mode:
authorGeoSot <[email protected]>2021-06-10 11:00:05 +0300
committerXhmikosR <[email protected]>2021-07-22 17:20:38 +0300
commitda2db218edfc0746c169b567e6a13c9f8e945dda (patch)
tree24e1771745994b48cd130be382b5879fed342992 /js/src
parent9c3ceaa25b0fcb9b5bd9ff688235e4f3b741026a (diff)
downloadbootstrap-da2db218edfc0746c169b567e6a13c9f8e945dda.tar.xz
bootstrap-da2db218edfc0746c169b567e6a13c9f8e945dda.zip
Use on private method to set content & cleanup template
Diffstat (limited to 'js/src')
-rw-r--r--js/src/popover.js29
-rw-r--r--js/src/tooltip.js14
2 files changed, 14 insertions, 29 deletions
diff --git a/js/src/popover.js b/js/src/popover.js
index 87df36086..15deaafe2 100644
--- a/js/src/popover.js
+++ b/js/src/popover.js
@@ -6,7 +6,6 @@
*/
import { defineJQueryPlugin } from './util/index'
-import SelectorEngine from './dom/selector-engine'
import Tooltip from './tooltip'
/**
@@ -85,35 +84,11 @@ class Popover extends Tooltip {
return this.getTitle() || this._getContent()
}
- getTipElement() {
- if (this.tip) {
- return this.tip
- }
-
- this.tip = super.getTipElement()
-
- if (!this.getTitle()) {
- SelectorEngine.findOne(SELECTOR_TITLE, this.tip).remove()
- }
-
- if (!this._getContent()) {
- SelectorEngine.findOne(SELECTOR_CONTENT, this.tip).remove()
- }
-
- return this.tip
- }
-
setContent() {
const tip = this.getTipElement()
- // we use append for html objects to maintain js events
- this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())
- let content = this._getContent()
- if (typeof content === 'function') {
- content = content.call(this._element)
- }
-
- this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)
+ this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE)
+ this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT)
}
// Private
diff --git a/js/src/tooltip.js b/js/src/tooltip.js
index fa364a1e6..e09a53b5c 100644
--- a/js/src/tooltip.js
+++ b/js/src/tooltip.js
@@ -376,8 +376,18 @@ class Tooltip extends BaseComponent {
setContent() {
const tip = this.getTipElement()
- this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())
- tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)
+ this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TOOLTIP_INNER)
+ }
+
+ _sanitizeAndSetContent(template, content, selector) {
+ const templateElement = SelectorEngine.findOne(selector, template)
+ if (!content) {
+ templateElement.remove()
+ return
+ }
+
+ // we use append for html objects to maintain js events
+ this.setElementContent(templateElement, content)
}
setElementContent(element, content) {