diff options
| author | Johann-S <[email protected]> | 2017-08-21 09:11:37 +0200 |
|---|---|---|
| committer | XhmikosR <[email protected]> | 2019-02-20 22:05:45 +0200 |
| commit | 0b16c8c6d9a9690d537bd08eac8a8292ebf938cd (patch) | |
| tree | cf06827946db78c07a40d797a01fc5fd7a11e18d /js/src/alert.js | |
| parent | 8d34bc136b54f4605595f228253463c90a3c5c97 (diff) | |
| download | bootstrap-0b16c8c6d9a9690d537bd08eac8a8292ebf938cd.tar.xz bootstrap-0b16c8c6d9a9690d537bd08eac8a8292ebf938cd.zip | |
alert without jquery
Diffstat (limited to 'js/src/alert.js')
| -rw-r--r-- | js/src/alert.js | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/js/src/alert.js b/js/src/alert.js index ab36a8d36..87209a860 100644 --- a/js/src/alert.js +++ b/js/src/alert.js @@ -5,7 +5,9 @@ * -------------------------------------------------------------------------- */ -import $ from 'jquery' +import Data from './dom/data' +import EventHandler from './dom/eventHandler' +import SelectorEngine from './dom/selectorEngine' import Util from './util' /** @@ -64,7 +66,7 @@ class Alert { const customEvent = this._triggerCloseEvent(rootElement) - if (customEvent.isDefaultPrevented()) { + if (customEvent.defaultPrevented) { return } @@ -72,7 +74,7 @@ class Alert { } dispose() { - $.removeData(this._element, DATA_KEY) + Data.removeData(this._element, DATA_KEY) this._element = null } @@ -87,52 +89,45 @@ class Alert { } if (!parent) { - parent = $(element).closest(`.${ClassName.ALERT}`)[0] + parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`) } return parent } _triggerCloseEvent(element) { - const closeEvent = $.Event(Event.CLOSE) - - $(element).trigger(closeEvent) - return closeEvent + return EventHandler.trigger(element, Event.CLOSE) } _removeElement(element) { - $(element).removeClass(ClassName.SHOW) + element.classList.remove(ClassName.SHOW) - if (!$(element).hasClass(ClassName.FADE)) { + if (!element.classList.contains(ClassName.FADE)) { this._destroyElement(element) return } const transitionDuration = Util.getTransitionDurationFromElement(element) - $(element) - .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event)) - - Util.emulateTransitionEnd(transitionDuration) + EventHandler + .one(element, Util.TRANSITION_END, (event) => this._destroyElement(element, event)) + Util.emulateTransitionEnd(element, transitionDuration) } _destroyElement(element) { - $(element) - .detach() - .trigger(Event.CLOSED) - .remove() + EventHandler.trigger(element, Event.CLOSED) + element.parentNode.removeChild(element) } // Static static _jQueryInterface(config) { return this.each(function () { - const $element = $(this) - let data = $element.data(DATA_KEY) + let data = Data.getData(this, DATA_KEY) if (!data) { data = new Alert(this) - $element.data(DATA_KEY, data) + Data.setData(this, DATA_KEY, data) } if (config === 'close') { |
