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 ; } ; } ) ( ) ;
function _interopRequire ( obj ) { return obj && obj . _ _esModule ? obj [ 'default' ] : obj ; }
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( 'Cannot call a class as a function' ) ; } }
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 ) subClass . _ _proto _ _ = superClass ; }
var _Tooltip2 = _interopRequire ( _tooltip ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* 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 ] ;
var Default = $ . extend ( { } , _Tooltip2 . 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>'
} ) ;
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 ) {
function Popover ( ) {
_classCallCheck ( this , Popover ) ;
if ( _Tooltip != null ) {
_Tooltip . apply ( this , arguments ) ;
}
}
_inherits ( Popover , _Tooltip ) ;
_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 ( ) {
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 ( ) ;
}
} , {
key : '_getContent' ,
// private
value : function _getContent ( ) {
return this . element . getAttribute ( 'data-content' ) || ( typeof this . config . content == 'function' ? this . config . content . call ( this . element ) : this . config . content ) ;
}
} ] , [ {
key : 'VERSION' ,
// getters
get : function ( ) {
return VERSION ;
}
} , {
key : 'Default' ,
get : function ( ) {
return Default ;
}
} , {
key : 'NAME' ,
get : function ( ) {
return NAME ;
}
} , {
key : 'DATA_KEY' ,
get : function ( ) {
return DATA _KEY ;
}
} , {
key : 'Event' ,
get : function ( ) {
return Event ;
}
2015-05-13 15:48:34 -04:00
} , {
key : 'EVENT_KEY' ,
get : function ( ) {
return EVENT _KEY ;
}
2015-05-13 13:13:34 -04:00
} , {
key : '_jQueryInterface' ,
// static
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 ] ( ) ;
}
} ) ;
}
} ] ) ;
return Popover ;
} ) ( _Tooltip2 ) ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
$ . 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 ;
} ) ;