aboutsummaryrefslogtreecommitdiff
path: root/js/src
diff options
context:
space:
mode:
authorJohann-S <[email protected]>2018-06-24 22:02:03 +0200
committerXhmikosR <[email protected]>2019-02-20 22:05:45 +0200
commit467dd113c50c50f69c1b17d40cbd41d0b175952a (patch)
tree79e497eb0a0a662c2155e62e4468ba215e2198a1 /js/src
parent5dcca44fcfe3e4ae2820f4b8b115f006374985b3 (diff)
downloadbootstrap-467dd113c50c50f69c1b17d40cbd41d0b175952a.tar.xz
bootstrap-467dd113c50c50f69c1b17d40cbd41d0b175952a.zip
fix(plugins): save instance in constructor
Diffstat (limited to 'js/src')
-rw-r--r--js/src/alert.js7
-rw-r--r--js/src/button.js10
-rw-r--r--js/src/carousel.js2
-rw-r--r--js/src/collapse.js3
-rw-r--r--js/src/dropdown.js1
-rw-r--r--js/src/modal.js3
-rw-r--r--js/src/popover.js6
-rw-r--r--js/src/tooltip.js2
8 files changed, 19 insertions, 15 deletions
diff --git a/js/src/alert.js b/js/src/alert.js
index 9d8a865d1..bc368ae62 100644
--- a/js/src/alert.js
+++ b/js/src/alert.js
@@ -47,6 +47,9 @@ const ClassName = {
class Alert {
constructor(element) {
this._element = element
+ if (this._element) {
+ Data.setData(element, DATA_KEY, this)
+ }
}
// Getters
@@ -129,7 +132,6 @@ class Alert {
if (!data) {
data = new Alert(this)
- Data.setData(this, DATA_KEY, data)
}
if (config === 'close') {
@@ -148,7 +150,8 @@ class Alert {
* Data Api implementation
* ------------------------------------------------------------------------
*/
-EventHandler.on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()))
+EventHandler
+ .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()))
/**
* ------------------------------------------------------------------------
diff --git a/js/src/button.js b/js/src/button.js
index ce69253e4..8bdf9d5bd 100644
--- a/js/src/button.js
+++ b/js/src/button.js
@@ -52,6 +52,7 @@ const Event = {
class Button {
constructor(element) {
this._element = element
+ Data.setData(element, DATA_KEY, this)
}
// Getters
@@ -112,10 +113,6 @@ class Button {
if (triggerChangeEvent) {
this._element.classList.toggle(ClassName.ACTIVE)
}
-
- static _getInstance(element) {
- return Data.getData(element, DATA_KEY)
- }
}
dispose() {
@@ -131,7 +128,6 @@ class Button {
if (!data) {
data = new Button(this)
- Data.setData(this, DATA_KEY, data)
}
if (config === 'toggle') {
@@ -139,6 +135,10 @@ class Button {
}
})
}
+
+ static _getInstance(element) {
+ return Data.getData(element, DATA_KEY)
+ }
}
/**
diff --git a/js/src/carousel.js b/js/src/carousel.js
index 8de7fd5ee..32a039c49 100644
--- a/js/src/carousel.js
+++ b/js/src/carousel.js
@@ -119,6 +119,7 @@ class Carousel {
this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)
this._addEventListeners()
+ Data.setData(element, DATA_KEY, this)
}
// Getters
@@ -526,7 +527,6 @@ class Carousel {
if (!data) {
data = new Carousel(element, _config)
- Data.setData(element, DATA_KEY, data)
}
if (typeof config === 'number') {
diff --git a/js/src/collapse.js b/js/src/collapse.js
index eebac13bb..dae60e122 100644
--- a/js/src/collapse.js
+++ b/js/src/collapse.js
@@ -96,6 +96,8 @@ class Collapse {
if (this._config.toggle) {
this.toggle()
}
+
+ Data.setData(element, DATA_KEY, this)
}
// Getters
@@ -358,7 +360,6 @@ class Collapse {
if (!data) {
data = new Collapse(element, _config)
- Data.setData(element, DATA_KEY, data)
}
if (typeof config === 'string') {
diff --git a/js/src/dropdown.js b/js/src/dropdown.js
index fbbaa08fa..6a4fb9e01 100644
--- a/js/src/dropdown.js
+++ b/js/src/dropdown.js
@@ -103,6 +103,7 @@ class Dropdown {
this._inNavbar = this._detectNavbar()
this._addEventListeners()
+ Data.setData(element, DATA_KEY, this)
}
// Getters
diff --git a/js/src/modal.js b/js/src/modal.js
index 0ecd6948f..34aa56606 100644
--- a/js/src/modal.js
+++ b/js/src/modal.js
@@ -87,6 +87,7 @@ class Modal {
this._ignoreBackdropClick = false
this._isTransitioning = false
this._scrollbarWidth = 0
+ Data.setData(element, DATA_KEY, this)
}
// Getters
@@ -522,7 +523,6 @@ class Modal {
if (!data) {
data = new Modal(this, _config)
- Data.setData(this, DATA_KEY, data)
}
if (typeof config === 'string') {
@@ -581,7 +581,6 @@ EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (
let data = Data.getData(target, DATA_KEY)
if (!data) {
data = new Modal(target, config)
- Data.setData(target, DATA_KEY, data)
}
data.show(this)
diff --git a/js/src/popover.js b/js/src/popover.js
index b46232619..36640407b 100644
--- a/js/src/popover.js
+++ b/js/src/popover.js
@@ -134,10 +134,10 @@ class Popover extends Tooltip {
_cleanTipClass() {
const tip = this.getTipElement()
const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)
+
if (tabClass !== null && tabClass.length > 0) {
- tabClass.map((token) => token.trim()).forEach((tClass) => {
- tip.classList.remove(tClass)
- })
+ tabClass.map((token) => token.trim())
+ .forEach((tClass) => tip.classList.remove(tClass))
}
}
diff --git a/js/src/tooltip.js b/js/src/tooltip.js
index fbe9ed856..29394b948 100644
--- a/js/src/tooltip.js
+++ b/js/src/tooltip.js
@@ -143,6 +143,7 @@ class Tooltip {
this.tip = null
this._setListeners()
+ Data.setData(element, this.constructor.DATA_KEY, this)
}
// Getters
@@ -779,7 +780,6 @@ class Tooltip {
if (!data) {
data = new Tooltip(this, _config)
- Data.setData(this, DATA_KEY, data)
}
if (typeof config === 'string') {