Layout von Websiten mit Bootstrap und Foundation
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

popover.js 7.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. /*!
  2. * Bootstrap popover.js v4.5.0 (https://getbootstrap.com/)
  3. * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
  4. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  5. */
  6. (function (global, factory) {
  7. typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) :
  8. typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) :
  9. (global = global || self, global.Popover = factory(global.jQuery, global.Tooltip));
  10. }(this, (function ($, Tooltip) { 'use strict';
  11. $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
  12. Tooltip = Tooltip && Object.prototype.hasOwnProperty.call(Tooltip, 'default') ? Tooltip['default'] : Tooltip;
  13. function _defineProperties(target, props) {
  14. for (var i = 0; i < props.length; i++) {
  15. var descriptor = props[i];
  16. descriptor.enumerable = descriptor.enumerable || false;
  17. descriptor.configurable = true;
  18. if ("value" in descriptor) descriptor.writable = true;
  19. Object.defineProperty(target, descriptor.key, descriptor);
  20. }
  21. }
  22. function _createClass(Constructor, protoProps, staticProps) {
  23. if (protoProps) _defineProperties(Constructor.prototype, protoProps);
  24. if (staticProps) _defineProperties(Constructor, staticProps);
  25. return Constructor;
  26. }
  27. function _defineProperty(obj, key, value) {
  28. if (key in obj) {
  29. Object.defineProperty(obj, key, {
  30. value: value,
  31. enumerable: true,
  32. configurable: true,
  33. writable: true
  34. });
  35. } else {
  36. obj[key] = value;
  37. }
  38. return obj;
  39. }
  40. function ownKeys(object, enumerableOnly) {
  41. var keys = Object.keys(object);
  42. if (Object.getOwnPropertySymbols) {
  43. var symbols = Object.getOwnPropertySymbols(object);
  44. if (enumerableOnly) symbols = symbols.filter(function (sym) {
  45. return Object.getOwnPropertyDescriptor(object, sym).enumerable;
  46. });
  47. keys.push.apply(keys, symbols);
  48. }
  49. return keys;
  50. }
  51. function _objectSpread2(target) {
  52. for (var i = 1; i < arguments.length; i++) {
  53. var source = arguments[i] != null ? arguments[i] : {};
  54. if (i % 2) {
  55. ownKeys(Object(source), true).forEach(function (key) {
  56. _defineProperty(target, key, source[key]);
  57. });
  58. } else if (Object.getOwnPropertyDescriptors) {
  59. Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
  60. } else {
  61. ownKeys(Object(source)).forEach(function (key) {
  62. Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
  63. });
  64. }
  65. }
  66. return target;
  67. }
  68. function _inheritsLoose(subClass, superClass) {
  69. subClass.prototype = Object.create(superClass.prototype);
  70. subClass.prototype.constructor = subClass;
  71. subClass.__proto__ = superClass;
  72. }
  73. /**
  74. * ------------------------------------------------------------------------
  75. * Constants
  76. * ------------------------------------------------------------------------
  77. */
  78. var NAME = 'popover';
  79. var VERSION = '4.5.0';
  80. var DATA_KEY = 'bs.popover';
  81. var EVENT_KEY = "." + DATA_KEY;
  82. var JQUERY_NO_CONFLICT = $.fn[NAME];
  83. var CLASS_PREFIX = 'bs-popover';
  84. var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
  85. var Default = _objectSpread2(_objectSpread2({}, Tooltip.Default), {}, {
  86. placement: 'right',
  87. trigger: 'click',
  88. content: '',
  89. template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
  90. });
  91. var DefaultType = _objectSpread2(_objectSpread2({}, Tooltip.DefaultType), {}, {
  92. content: '(string|element|function)'
  93. });
  94. var CLASS_NAME_FADE = 'fade';
  95. var CLASS_NAME_SHOW = 'show';
  96. var SELECTOR_TITLE = '.popover-header';
  97. var SELECTOR_CONTENT = '.popover-body';
  98. var Event = {
  99. HIDE: "hide" + EVENT_KEY,
  100. HIDDEN: "hidden" + EVENT_KEY,
  101. SHOW: "show" + EVENT_KEY,
  102. SHOWN: "shown" + EVENT_KEY,
  103. INSERTED: "inserted" + EVENT_KEY,
  104. CLICK: "click" + EVENT_KEY,
  105. FOCUSIN: "focusin" + EVENT_KEY,
  106. FOCUSOUT: "focusout" + EVENT_KEY,
  107. MOUSEENTER: "mouseenter" + EVENT_KEY,
  108. MOUSELEAVE: "mouseleave" + EVENT_KEY
  109. };
  110. /**
  111. * ------------------------------------------------------------------------
  112. * Class Definition
  113. * ------------------------------------------------------------------------
  114. */
  115. var Popover = /*#__PURE__*/function (_Tooltip) {
  116. _inheritsLoose(Popover, _Tooltip);
  117. function Popover() {
  118. return _Tooltip.apply(this, arguments) || this;
  119. }
  120. var _proto = Popover.prototype;
  121. // Overrides
  122. _proto.isWithContent = function isWithContent() {
  123. return this.getTitle() || this._getContent();
  124. };
  125. _proto.addAttachmentClass = function addAttachmentClass(attachment) {
  126. $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
  127. };
  128. _proto.getTipElement = function getTipElement() {
  129. this.tip = this.tip || $(this.config.template)[0];
  130. return this.tip;
  131. };
  132. _proto.setContent = function setContent() {
  133. var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
  134. this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
  135. var content = this._getContent();
  136. if (typeof content === 'function') {
  137. content = content.call(this.element);
  138. }
  139. this.setElementContent($tip.find(SELECTOR_CONTENT), content);
  140. $tip.removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
  141. } // Private
  142. ;
  143. _proto._getContent = function _getContent() {
  144. return this.element.getAttribute('data-content') || this.config.content;
  145. };
  146. _proto._cleanTipClass = function _cleanTipClass() {
  147. var $tip = $(this.getTipElement());
  148. var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
  149. if (tabClass !== null && tabClass.length > 0) {
  150. $tip.removeClass(tabClass.join(''));
  151. }
  152. } // Static
  153. ;
  154. Popover._jQueryInterface = function _jQueryInterface(config) {
  155. return this.each(function () {
  156. var data = $(this).data(DATA_KEY);
  157. var _config = typeof config === 'object' ? config : null;
  158. if (!data && /dispose|hide/.test(config)) {
  159. return;
  160. }
  161. if (!data) {
  162. data = new Popover(this, _config);
  163. $(this).data(DATA_KEY, data);
  164. }
  165. if (typeof config === 'string') {
  166. if (typeof data[config] === 'undefined') {
  167. throw new TypeError("No method named \"" + config + "\"");
  168. }
  169. data[config]();
  170. }
  171. });
  172. };
  173. _createClass(Popover, null, [{
  174. key: "VERSION",
  175. // Getters
  176. get: function get() {
  177. return VERSION;
  178. }
  179. }, {
  180. key: "Default",
  181. get: function get() {
  182. return Default;
  183. }
  184. }, {
  185. key: "NAME",
  186. get: function get() {
  187. return NAME;
  188. }
  189. }, {
  190. key: "DATA_KEY",
  191. get: function get() {
  192. return DATA_KEY;
  193. }
  194. }, {
  195. key: "Event",
  196. get: function get() {
  197. return Event;
  198. }
  199. }, {
  200. key: "EVENT_KEY",
  201. get: function get() {
  202. return EVENT_KEY;
  203. }
  204. }, {
  205. key: "DefaultType",
  206. get: function get() {
  207. return DefaultType;
  208. }
  209. }]);
  210. return Popover;
  211. }(Tooltip);
  212. /**
  213. * ------------------------------------------------------------------------
  214. * jQuery
  215. * ------------------------------------------------------------------------
  216. */
  217. $.fn[NAME] = Popover._jQueryInterface;
  218. $.fn[NAME].Constructor = Popover;
  219. $.fn[NAME].noConflict = function () {
  220. $.fn[NAME] = JQUERY_NO_CONFLICT;
  221. return Popover._jQueryInterface;
  222. };
  223. return Popover;
  224. })));
  225. //# sourceMappingURL=popover.js.map