Rev 1 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
/*** --------------------------------------------------------------------------* Bootstrap alert.js* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)* --------------------------------------------------------------------------*/import BaseComponent from './base-component'import EventHandler from './dom/event-handler'import { enableDismissTrigger } from './util/component-functions'import { defineJQueryPlugin } from './util/index'/*** Constants*/const NAME = 'alert'const DATA_KEY = 'bs.alert'const EVENT_KEY = `.${DATA_KEY}`const EVENT_CLOSE = `close${EVENT_KEY}`const EVENT_CLOSED = `closed${EVENT_KEY}`const CLASS_NAME_FADE = 'fade'const CLASS_NAME_SHOW = 'show'/*** Class definition*/class Alert extends BaseComponent {// Gettersstatic get NAME() {return NAME}// Publicclose() {const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)if (closeEvent.defaultPrevented) {return}this._element.classList.remove(CLASS_NAME_SHOW)const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)this._queueCallback(() => this._destroyElement(), this._element, isAnimated)}// Private_destroyElement() {this._element.remove()EventHandler.trigger(this._element, EVENT_CLOSED)this.dispose()}// Staticstatic jQueryInterface(config) {return this.each(function () {const data = Alert.getOrCreateInstance(this)if (typeof config !== 'string') {return}if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {throw new TypeError(`No method named "${config}"`)}data[config](this)})}}/*** Data API implementation*/enableDismissTrigger(Alert, 'close')/*** jQuery*/defineJQueryPlugin(Alert)export default Alert