mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-12 00:08:59 +01:00
1 line
8.6 KiB
Plaintext
1 line
8.6 KiB
Plaintext
{"version":3,"file":"alert.js","sources":["../src/alert.js"],"sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n"],"names":["Alert","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","element","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","selector","Util","getSelectorFromElement","parent","document","querySelector","closest","closeEvent","trigger","removeClass","hasClass","_destroyElement","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","_jQueryInterface","config","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict"],"mappings":"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"} |