2015-05-13 13:13:34 -04:00
( function ( global , factory ) {
if ( typeof define === 'function' && define . amd ) {
define ( [ 'exports' , 'module' , './tooltip' ] , factory ) ;
} else if ( typeof exports !== 'undefined' && typeof module !== 'undefined' ) {
factory ( exports , module , require ( './tooltip' ) ) ;
} else {
var mod = {
exports : { }
} ;
factory ( mod . exports , mod , global . Tooltip ) ;
global . popover = mod . exports ;
}
} ) ( this , function ( exports , module , _tooltip ) {
'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 ; } ; } ) ( ) ;
2015-08-13 00:12:03 -04:00
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 ) ; } } } ;
2015-05-27 18:49:55 -04:00
function _interopRequireDefault ( obj ) { return obj && obj . _ _esModule ? obj : { 'default' : obj } ; }
2015-05-13 13:13:34 -04:00
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( 'Cannot call a class as a function' ) ; } }
2015-08-13 00:12:03 -04:00
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 ; }
2015-05-13 13:13:34 -04:00
2015-05-27 18:49:55 -04:00
var _Tooltip2 = _interopRequireDefault ( _tooltip ) ;
2015-05-13 13:13:34 -04:00
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* 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' ;
2015-05-13 15:48:34 -04:00
var EVENT _KEY = '.' + DATA _KEY ;
2015-05-13 13:13:34 -04:00
var JQUERY _NO _CONFLICT = $ . fn [ NAME ] ;
2015-05-27 18:49:55 -04:00
var Default = $ . extend ( { } , _Tooltip2 [ 'default' ] . Default , {
2015-05-13 13:13:34 -04:00
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>'
} ) ;
2015-05-27 18:49:55 -04:00
var DefaultType = $ . extend ( { } , _Tooltip2 [ 'default' ] . DefaultType , {
2015-08-29 17:03:55 -04:00
content : '(string|element|function)'
2015-05-13 17:52:46 -04:00
} ) ;
2015-05-13 13:13:34 -04:00
var ClassName = {
FADE : 'fade' ,
IN : 'in'
} ;
var Selector = {
TITLE : '.popover-title' ,
CONTENT : '.popover-content' ,
ARROW : '.popover-arrow'
} ;
var Event = {
2015-05-13 15:48:34 -04:00
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
2015-05-13 13:13:34 -04:00
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Popover = ( function ( _Tooltip ) {
2015-08-13 00:12:03 -04:00
_inherits ( Popover , _Tooltip ) ;
2015-05-13 13:13:34 -04:00
function Popover ( ) {
_classCallCheck ( this , Popover ) ;
2015-08-13 00:12:03 -04:00
_get ( Object . getPrototypeOf ( Popover . prototype ) , 'constructor' , this ) . apply ( this , arguments ) ;
2015-05-13 13:13:34 -04:00
}
2015-08-13 00:12:03 -04:00
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
2015-05-13 13:13:34 -04:00
_createClass ( Popover , [ {
key : 'isWithContent' ,
// overrides
value : function isWithContent ( ) {
return this . getTitle ( ) || this . _getContent ( ) ;
}
} , {
key : 'getTipElement' ,
value : function getTipElement ( ) {
return this . tip = this . tip || $ ( this . config . template ) [ 0 ] ;
}
} , {
key : 'setContent' ,
value : function setContent ( ) {
2015-08-29 17:03:55 -04:00
var $tip = $ ( this . getTipElement ( ) ) ;
2015-05-13 13:13:34 -04:00
// we use append for html objects to maintain js events
2015-08-29 17:03:55 -04:00
this . setElementContent ( $tip . find ( Selector . TITLE ) , this . getTitle ( ) ) ;
this . setElementContent ( $tip . find ( Selector . CONTENT ) , this . _getContent ( ) ) ;
2015-05-13 13:13:34 -04:00
2015-08-29 17:03:55 -04:00
$tip . removeClass ( ClassName . FADE ) . removeClass ( ClassName . IN ) ;
2015-05-13 13:13:34 -04:00
this . cleanupTether ( ) ;
}
// private
2015-08-13 00:12:03 -04:00
} , {
key : '_getContent' ,
2015-05-13 13:13:34 -04:00
value : function _getContent ( ) {
2015-08-18 22:22:46 -04:00
return this . element . getAttribute ( 'data-content' ) || ( typeof this . config . content === 'function' ? this . config . content . call ( this . element ) : this . config . content ) ;
2015-05-13 13:13:34 -04:00
}
2015-06-18 18:48:54 -04:00
// static
2015-08-13 00:12:03 -04:00
} ] , [ {
key : '_jQueryInterface' ,
2015-06-18 18:48:54 -04:00
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' ) {
2015-10-10 00:03:43 -04:00
if ( data [ config ] === undefined ) {
throw new Error ( 'No method named "' + config + '"' ) ;
}
2015-06-18 18:48:54 -04:00
data [ config ] ( ) ;
}
} ) ;
}
} , {
2015-05-13 13:13:34 -04:00
key : 'VERSION' ,
// getters
2015-08-13 00:12:03 -04:00
get : function get ( ) {
2015-05-13 13:13:34 -04:00
return VERSION ;
}
} , {
key : 'Default' ,
2015-08-13 00:12:03 -04:00
get : function get ( ) {
2015-05-13 13:13:34 -04:00
return Default ;
}
} , {
key : 'NAME' ,
2015-08-13 00:12:03 -04:00
get : function get ( ) {
2015-05-13 13:13:34 -04:00
return NAME ;
}
} , {
key : 'DATA_KEY' ,
2015-08-13 00:12:03 -04:00
get : function get ( ) {
2015-05-13 13:13:34 -04:00
return DATA _KEY ;
}
} , {
key : 'Event' ,
2015-08-13 00:12:03 -04:00
get : function get ( ) {
2015-05-13 13:13:34 -04:00
return Event ;
}
2015-05-13 15:48:34 -04:00
} , {
key : 'EVENT_KEY' ,
2015-08-13 00:12:03 -04:00
get : function get ( ) {
2015-05-13 15:48:34 -04:00
return EVENT _KEY ;
}
2015-05-13 17:52:46 -04:00
} , {
key : 'DefaultType' ,
2015-08-13 00:12:03 -04:00
get : function get ( ) {
2015-05-13 17:52:46 -04:00
return DefaultType ;
}
2015-05-13 13:13:34 -04:00
} ] ) ;
return Popover ;
2015-05-27 18:49:55 -04:00
} ) ( _Tooltip2 [ 'default' ] ) ;
2015-05-13 13:13:34 -04:00
$ . fn [ NAME ] = Popover . _jQueryInterface ;
$ . fn [ NAME ] . Constructor = Popover ;
$ . fn [ NAME ] . noConflict = function ( ) {
$ . fn [ NAME ] = JQUERY _NO _CONFLICT ;
return Popover . _jQueryInterface ;
} ;
return Popover ;
} ) ( jQuery ) ;
module . exports = Popover ;
2015-06-18 18:48:54 -04:00
} ) ;