mirror of
				https://github.com/twbs/bootstrap.git
				synced 2025-10-31 00:04:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			204 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			204 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
 | |
| 
 | |
| function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
 | |
| 
 | |
| function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
 | |
| 
 | |
| function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
 | |
| 
 | |
| /**
 | |
|  * --------------------------------------------------------------------------
 | |
|  * Bootstrap (v4.0.0): popover.js
 | |
|  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 | |
|  * --------------------------------------------------------------------------
 | |
|  */
 | |
| var Popover = function ($) {
 | |
|   /**
 | |
|    * ------------------------------------------------------------------------
 | |
|    * Constants
 | |
|    * ------------------------------------------------------------------------
 | |
|    */
 | |
|   var NAME = 'popover';
 | |
|   var VERSION = '4.0.0';
 | |
|   var DATA_KEY = 'bs.popover';
 | |
|   var EVENT_KEY = "." + DATA_KEY;
 | |
|   var JQUERY_NO_CONFLICT = $.fn[NAME];
 | |
|   var CLASS_PREFIX = 'bs-popover';
 | |
|   var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
 | |
| 
 | |
|   var Default = _extends({}, Tooltip.Default, {
 | |
|     placement: 'right',
 | |
|     trigger: 'click',
 | |
|     content: '',
 | |
|     template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
 | |
|   });
 | |
| 
 | |
|   var DefaultType = _extends({}, Tooltip.DefaultType, {
 | |
|     content: '(string|element|function)'
 | |
|   });
 | |
| 
 | |
|   var ClassName = {
 | |
|     FADE: 'fade',
 | |
|     SHOW: 'show'
 | |
|   };
 | |
|   var Selector = {
 | |
|     TITLE: '.popover-header',
 | |
|     CONTENT: '.popover-body'
 | |
|   };
 | |
|   var Event = {
 | |
|     HIDE: "hide" + EVENT_KEY,
 | |
|     HIDDEN: "hidden" + EVENT_KEY,
 | |
|     SHOW: "show" + EVENT_KEY,
 | |
|     SHOWN: "shown" + EVENT_KEY,
 | |
|     INSERTED: "inserted" + EVENT_KEY,
 | |
|     CLICK: "click" + EVENT_KEY,
 | |
|     FOCUSIN: "focusin" + EVENT_KEY,
 | |
|     FOCUSOUT: "focusout" + EVENT_KEY,
 | |
|     MOUSEENTER: "mouseenter" + EVENT_KEY,
 | |
|     MOUSELEAVE: "mouseleave" + EVENT_KEY
 | |
|     /**
 | |
|      * ------------------------------------------------------------------------
 | |
|      * Class Definition
 | |
|      * ------------------------------------------------------------------------
 | |
|      */
 | |
| 
 | |
|   };
 | |
| 
 | |
|   var Popover =
 | |
|   /*#__PURE__*/
 | |
|   function (_Tooltip) {
 | |
|     _inheritsLoose(Popover, _Tooltip);
 | |
| 
 | |
|     function Popover() {
 | |
|       return _Tooltip.apply(this, arguments) || this;
 | |
|     }
 | |
| 
 | |
|     var _proto = Popover.prototype;
 | |
| 
 | |
|     // Overrides
 | |
|     _proto.isWithContent = function isWithContent() {
 | |
|       return this.getTitle() || this._getContent();
 | |
|     };
 | |
| 
 | |
|     _proto.addAttachmentClass = function addAttachmentClass(attachment) {
 | |
|       $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
 | |
|     };
 | |
| 
 | |
|     _proto.getTipElement = function getTipElement() {
 | |
|       this.tip = this.tip || $(this.config.template)[0];
 | |
|       return this.tip;
 | |
|     };
 | |
| 
 | |
|     _proto.setContent = function setContent() {
 | |
|       var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
 | |
| 
 | |
|       this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
 | |
| 
 | |
|       var content = this._getContent();
 | |
| 
 | |
|       if (typeof content === 'function') {
 | |
|         content = content.call(this.element);
 | |
|       }
 | |
| 
 | |
|       this.setElementContent($tip.find(Selector.CONTENT), content);
 | |
|       $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
 | |
|     }; // Private
 | |
| 
 | |
| 
 | |
|     _proto._getContent = function _getContent() {
 | |
|       return this.element.getAttribute('data-content') || this.config.content;
 | |
|     };
 | |
| 
 | |
|     _proto._cleanTipClass = function _cleanTipClass() {
 | |
|       var $tip = $(this.getTipElement());
 | |
|       var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
 | |
| 
 | |
|       if (tabClass !== null && tabClass.length > 0) {
 | |
|         $tip.removeClass(tabClass.join(''));
 | |
|       }
 | |
|     }; // Static
 | |
| 
 | |
| 
 | |
|     Popover._jQueryInterface = function _jQueryInterface(config) {
 | |
|       return this.each(function () {
 | |
|         var data = $(this).data(DATA_KEY);
 | |
| 
 | |
|         var _config = typeof config === 'object' ? config : null;
 | |
| 
 | |
|         if (!data && /destroy|hide/.test(config)) {
 | |
|           return;
 | |
|         }
 | |
| 
 | |
|         if (!data) {
 | |
|           data = new Popover(this, _config);
 | |
|           $(this).data(DATA_KEY, data);
 | |
|         }
 | |
| 
 | |
|         if (typeof config === 'string') {
 | |
|           if (typeof data[config] === 'undefined') {
 | |
|             throw new TypeError("No method named \"" + config + "\"");
 | |
|           }
 | |
| 
 | |
|           data[config]();
 | |
|         }
 | |
|       });
 | |
|     };
 | |
| 
 | |
|     _createClass(Popover, null, [{
 | |
|       key: "VERSION",
 | |
|       // Getters
 | |
|       get: function get() {
 | |
|         return VERSION;
 | |
|       }
 | |
|     }, {
 | |
|       key: "Default",
 | |
|       get: function get() {
 | |
|         return Default;
 | |
|       }
 | |
|     }, {
 | |
|       key: "NAME",
 | |
|       get: function get() {
 | |
|         return NAME;
 | |
|       }
 | |
|     }, {
 | |
|       key: "DATA_KEY",
 | |
|       get: function get() {
 | |
|         return DATA_KEY;
 | |
|       }
 | |
|     }, {
 | |
|       key: "Event",
 | |
|       get: function get() {
 | |
|         return Event;
 | |
|       }
 | |
|     }, {
 | |
|       key: "EVENT_KEY",
 | |
|       get: function get() {
 | |
|         return EVENT_KEY;
 | |
|       }
 | |
|     }, {
 | |
|       key: "DefaultType",
 | |
|       get: function get() {
 | |
|         return DefaultType;
 | |
|       }
 | |
|     }]);
 | |
| 
 | |
|     return Popover;
 | |
|   }(Tooltip);
 | |
|   /**
 | |
|    * ------------------------------------------------------------------------
 | |
|    * jQuery
 | |
|    * ------------------------------------------------------------------------
 | |
|    */
 | |
| 
 | |
| 
 | |
|   $.fn[NAME] = Popover._jQueryInterface;
 | |
|   $.fn[NAME].Constructor = Popover;
 | |
| 
 | |
|   $.fn[NAME].noConflict = function () {
 | |
|     $.fn[NAME] = JQUERY_NO_CONFLICT;
 | |
|     return Popover._jQueryInterface;
 | |
|   };
 | |
| 
 | |
|   return Popover;
 | |
| }($);
 | |
| //# sourceMappingURL=popover.js.map
 |