popover.js 6.78 KB
Newer Older
fat's avatar
fat committed
1
2
3
4
'use strict';

var _createClass = (function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();

Jacob Thornton's avatar
Jacob Thornton committed
5
6
var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };

fat's avatar
fat committed
7
8
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }

Jacob Thornton's avatar
Jacob Thornton committed
9
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
fat's avatar
fat committed
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

/**
 * --------------------------------------------------------------------------
 * 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';
fat's avatar
fat committed
29
  var EVENT_KEY = '.' + DATA_KEY;
fat's avatar
fat committed
30
31
32
33
34
35
36
37
38
  var JQUERY_NO_CONFLICT = $.fn[NAME];

  var Default = $.extend({}, Tooltip.Default, {
    placement: 'right',
    trigger: 'click',
    content: '',
    template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
  });

fat's avatar
fat committed
39
40
41
42
  var DefaultType = $.extend({}, Tooltip.DefaultType, {
    content: '(string|function)'
  });

fat's avatar
fat committed
43
44
45
46
47
48
49
50
51
52
53
54
  var ClassName = {
    FADE: 'fade',
    IN: 'in'
  };

  var Selector = {
    TITLE: '.popover-title',
    CONTENT: '.popover-content',
    ARROW: '.popover-arrow'
  };

  var Event = {
fat's avatar
fat committed
55
56
57
58
59
60
61
62
63
64
    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
fat's avatar
fat committed
65
66
67
68
69
70
71
72
73
  };

  /**
   * ------------------------------------------------------------------------
   * Class Definition
   * ------------------------------------------------------------------------
   */

  var Popover = (function (_Tooltip) {
Jacob Thornton's avatar
Jacob Thornton committed
74
75
    _inherits(Popover, _Tooltip);

fat's avatar
fat committed
76
77
78
    function Popover() {
      _classCallCheck(this, Popover);

Jacob Thornton's avatar
Jacob Thornton committed
79
      _get(Object.getPrototypeOf(Popover.prototype), 'constructor', this).apply(this, arguments);
fat's avatar
fat committed
80
81
    }

Jacob Thornton's avatar
Jacob Thornton committed
82
83
84
85
86
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     */
fat's avatar
fat committed
87
88
89
90
91
92
93
94
95
96
97
98

    _createClass(Popover, [{
      key: 'isWithContent',

      // overrides

      value: function isWithContent() {
        return this.getTitle() || this._getContent();
      }
    }, {
      key: 'getTipElement',
      value: function getTipElement() {
99
        return this.tip = this.tip || $(this.config.template)[0];
fat's avatar
fat committed
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
      }
    }, {
      key: 'setContent',
      value: function setContent() {
        var tip = this.getTipElement();
        var title = this.getTitle();
        var content = this._getContent();
        var titleElement = $(tip).find(Selector.TITLE)[0];

        if (titleElement) {
          titleElement[this.config.html ? 'innerHTML' : 'innerText'] = title;
        }

        // we use append for html objects to maintain js events
        $(tip).find(Selector.CONTENT).children().detach().end()[this.config.html ? typeof content === 'string' ? 'html' : 'append' : 'text'](content);

        $(tip).removeClass(ClassName.FADE).removeClass(ClassName.IN);

        this.cleanupTether();
      }

      // private

Jacob Thornton's avatar
Jacob Thornton committed
123
124
    }, {
      key: '_getContent',
fat's avatar
fat committed
125
126
127
      value: function _getContent() {
        return this.element.getAttribute('data-content') || (typeof this.config.content == 'function' ? this.config.content.call(this.element) : this.config.content);
      }
Jacob Thornton's avatar
Jacob Thornton committed
128
129
130

      // static

fat's avatar
fat committed
131
    }], [{
Jacob Thornton's avatar
Jacob Thornton committed
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
      key: '_jQueryInterface',
      value: 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') {
            data[config]();
          }
        });
      }
    }, {
fat's avatar
fat committed
153
154
155
156
      key: 'VERSION',

      // getters

Jacob Thornton's avatar
Jacob Thornton committed
157
      get: function get() {
fat's avatar
fat committed
158
159
160
161
        return VERSION;
      }
    }, {
      key: 'Default',
Jacob Thornton's avatar
Jacob Thornton committed
162
      get: function get() {
fat's avatar
fat committed
163
164
165
166
        return Default;
      }
    }, {
      key: 'NAME',
Jacob Thornton's avatar
Jacob Thornton committed
167
      get: function get() {
fat's avatar
fat committed
168
169
170
171
        return NAME;
      }
    }, {
      key: 'DATA_KEY',
Jacob Thornton's avatar
Jacob Thornton committed
172
      get: function get() {
fat's avatar
fat committed
173
174
175
176
        return DATA_KEY;
      }
    }, {
      key: 'Event',
Jacob Thornton's avatar
Jacob Thornton committed
177
      get: function get() {
fat's avatar
fat committed
178
179
        return Event;
      }
fat's avatar
fat committed
180
181
    }, {
      key: 'EVENT_KEY',
Jacob Thornton's avatar
Jacob Thornton committed
182
      get: function get() {
fat's avatar
fat committed
183
184
        return EVENT_KEY;
      }
fat's avatar
fat committed
185
186
    }, {
      key: 'DefaultType',
Jacob Thornton's avatar
Jacob Thornton committed
187
      get: function get() {
fat's avatar
fat committed
188
189
        return DefaultType;
      }
fat's avatar
fat committed
190
191
192
193
194
195
196
197
198
199
200
201
202
203
    }]);

    return Popover;
  })(Tooltip);

  $.fn[NAME] = Popover._jQueryInterface;
  $.fn[NAME].Constructor = Popover;
  $.fn[NAME].noConflict = function () {
    $.fn[NAME] = JQUERY_NO_CONFLICT;
    return Popover._jQueryInterface;
  };

  return Popover;
})(jQuery);
Jacob Thornton's avatar
Jacob Thornton committed
204
//# sourceMappingURL=popover.js.map