Moves more functionality to `base-component`, transferring the responsibility of disposal to parent class.
Each component, dusting disposal, sets its protected properties to `null`. So the same can be done in one place for all children components .
dispose() {
Data.remove(this._element, this.constructor.DATA_KEY)
EventHandler.off(this._element, `.${this.constructor.DATA_KEY}`)
- this._element = null
+
+ Object.getOwnPropertyNames(this).forEach(propertyName => {
+ this[propertyName] = null
+ })
}
_queueCallback(callback, element, isAnimated = true) {
this._slide(order, this._items[index])
}
- dispose() {
- this._items = null
- this._config = null
- this._interval = null
- this._isPaused = null
- this._isSliding = null
- this._activeElement = null
- this._indicatorsElement = null
-
- super.dispose()
- }
-
// Private
_getConfig(config) {
this._isTransitioning = isTransitioning
}
- dispose() {
- super.dispose()
- this._config = null
- this._parent = null
- this._triggerArray = null
- this._isTransitioning = null
- }
-
// Private
_getConfig(config) {
}
dispose() {
- this._menu = null
-
if (this._popper) {
this._popper.destroy()
- this._popper = null
}
super.dispose()
[window, this._dialog]
.forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))
+ this._backdrop.dispose()
super.dispose()
/**
* It will remove `EVENT_CLICK_DATA_API` event that should remain
*/
EventHandler.off(document, EVENT_FOCUSIN)
-
- this._config = null
- this._dialog = null
- this._backdrop.dispose()
- this._backdrop = null
- this._isShown = null
- this._ignoreBackdropClick = null
- this._isTransitioning = null
}
handleUpdate() {
this._backdrop.dispose()
super.dispose()
EventHandler.off(document, EVENT_FOCUSIN)
-
- this._config = null
- this._backdrop = null
}
// Private
}
dispose() {
- super.dispose()
EventHandler.off(this._scrollElement, EVENT_KEY)
-
- this._scrollElement = null
- this._config = null
- this._selector = null
- this._offsets = null
- this._targets = null
- this._activeTarget = null
- this._scrollHeight = null
+ super.dispose()
}
// Private
}
super.dispose()
- this._config = null
}
// Private
this.tip.parentNode.removeChild(this.tip)
}
- this._isEnabled = null
- this._timeout = null
- this._hoverState = null
- this._activeTrigger = null
if (this._popper) {
this._popper.destroy()
}
- this._popper = null
- this.config = null
- this.tip = null
super.dispose()
}