aboutsummaryrefslogtreecommitdiff
path: root/js/src/collapse.js
diff options
context:
space:
mode:
authorfat <[email protected]>2015-05-13 12:48:34 -0700
committerfat <[email protected]>2015-05-13 12:48:34 -0700
commitf8b2569ec8956a1f4d09fe6fc9865bd200ecde43 (patch)
tree190263c441212d1ba91507d385fe3e6bc33e2614 /js/src/collapse.js
parentdafdd180cd54a2e238fe715d8aeb83c07f385a18 (diff)
downloadbootstrap-f8b2569ec8956a1f4d09fe6fc9865bd200ecde43.tar.xz
bootstrap-f8b2569ec8956a1f4d09fe6fc9865bd200ecde43.zip
implement global dispose method
Diffstat (limited to 'js/src/collapse.js')
-rw-r--r--js/src/collapse.js26
1 files changed, 19 insertions, 7 deletions
diff --git a/js/src/collapse.js b/js/src/collapse.js
index ac506b86b..ded623448 100644
--- a/js/src/collapse.js
+++ b/js/src/collapse.js
@@ -20,6 +20,8 @@ const Collapse = (($) => {
const NAME = 'collapse'
const VERSION = '4.0.0'
const DATA_KEY = 'bs.collapse'
+ const EVENT_KEY = `.${DATA_KEY}`
+ const DATA_API_KEY = '.data-api'
const JQUERY_NO_CONFLICT = $.fn[NAME]
const TRANSITION_DURATION = 600
@@ -29,11 +31,11 @@ const Collapse = (($) => {
}
const Event = {
- SHOW : 'show.bs.collapse',
- SHOWN : 'shown.bs.collapse',
- HIDE : 'hide.bs.collapse',
- HIDDEN : 'hidden.bs.collapse',
- CLICK : 'click.bs.collapse.data-api'
+ SHOW : `show${EVENT_KEY}`,
+ SHOWN : `shown${EVENT_KEY}`,
+ HIDE : `hide${EVENT_KEY}`,
+ HIDDEN : `hidden${EVENT_KEY}`,
+ CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
}
const ClassName = {
@@ -110,8 +112,8 @@ const Collapse = (($) => {
return
}
- let activesData
let actives
+ let activesData
if (this._parent) {
actives = $.makeArray($(Selector.ACTIVES))
@@ -244,6 +246,16 @@ const Collapse = (($) => {
this._isTransitioning = isTransitioning
}
+ dispose() {
+ $.removeData(this._element, DATA_KEY)
+
+ this._config = null
+ this._parent = null
+ this._element = null
+ this._triggerArray = null
+ this._isTransitioning = null
+ }
+
// private
@@ -323,7 +335,7 @@ const Collapse = (($) => {
* ------------------------------------------------------------------------
*/
- $(document).on(Event.CLICK, Selector.DATA_TOGGLE, function (event) {
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault()
let target = Collapse._getTargetFromElement(this)