2015-05-12 23:28:11 +02:00
'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 06:12:03 +02: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-12 23:28:11 +02:00
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( 'Cannot call a class as a function' ) ; } }
2015-08-13 06:12:03 +02: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-12 23:28:11 +02: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 21:48:34 +02:00
var EVENT _KEY = '.' + DATA _KEY ;
2015-05-12 23:28:11 +02:00
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>'
} ) ;
2015-05-13 23:46:50 +02:00
var DefaultType = $ . extend ( { } , Tooltip . DefaultType , {
content : '(string|function)'
} ) ;
2015-05-12 23:28:11 +02:00
var ClassName = {
FADE : 'fade' ,
IN : 'in'
} ;
var Selector = {
TITLE : '.popover-title' ,
CONTENT : '.popover-content' ,
ARROW : '.popover-arrow'
} ;
var Event = {
2015-05-13 21:48:34 +02: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-12 23:28:11 +02:00
} ;
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* Class Definition
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
var Popover = ( function ( _Tooltip ) {
2015-08-13 06:12:03 +02:00
_inherits ( Popover , _Tooltip ) ;
2015-05-12 23:28:11 +02:00
function Popover ( ) {
_classCallCheck ( this , Popover ) ;
2015-08-13 06:12:03 +02:00
_get ( Object . getPrototypeOf ( Popover . prototype ) , 'constructor' , this ) . apply ( this , arguments ) ;
2015-05-12 23:28:11 +02:00
}
2015-08-13 06:12:03 +02:00
/ * *
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* jQuery
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
* /
2015-05-12 23:28:11 +02:00
_createClass ( Popover , [ {
key : 'isWithContent' ,
// overrides
value : function isWithContent ( ) {
return this . getTitle ( ) || this . _getContent ( ) ;
}
} , {
key : 'getTipElement' ,
value : function getTipElement ( ) {
2015-05-13 01:52:54 +02:00
return this . tip = this . tip || $ ( this . config . template ) [ 0 ] ;
2015-05-12 23:28:11 +02:00
}
} , {
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
2015-08-13 06:12:03 +02:00
} , {
key : '_getContent' ,
2015-05-12 23:28:11 +02:00
value : function _getContent ( ) {
return this . element . getAttribute ( 'data-content' ) || ( typeof this . config . content == 'function' ? this . config . content . call ( this . element ) : this . config . content ) ;
}
2015-08-13 06:12:03 +02:00
// static
2015-05-12 23:28:11 +02:00
} ] , [ {
2015-08-13 06:12:03 +02:00
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 ] ( ) ;
}
} ) ;
}
} , {
2015-05-12 23:28:11 +02:00
key : 'VERSION' ,
// getters
2015-08-13 06:12:03 +02:00
get : function get ( ) {
2015-05-12 23:28:11 +02:00
return VERSION ;
}
} , {
key : 'Default' ,
2015-08-13 06:12:03 +02:00
get : function get ( ) {
2015-05-12 23:28:11 +02:00
return Default ;
}
} , {
key : 'NAME' ,
2015-08-13 06:12:03 +02:00
get : function get ( ) {
2015-05-12 23:28:11 +02:00
return NAME ;
}
} , {
key : 'DATA_KEY' ,
2015-08-13 06:12:03 +02:00
get : function get ( ) {
2015-05-12 23:28:11 +02:00
return DATA _KEY ;
}
} , {
key : 'Event' ,
2015-08-13 06:12:03 +02:00
get : function get ( ) {
2015-05-12 23:28:11 +02:00
return Event ;
}
2015-05-13 21:48:34 +02:00
} , {
key : 'EVENT_KEY' ,
2015-08-13 06:12:03 +02:00
get : function get ( ) {
2015-05-13 21:48:34 +02:00
return EVENT _KEY ;
}
2015-05-13 23:46:50 +02:00
} , {
key : 'DefaultType' ,
2015-08-13 06:12:03 +02:00
get : function get ( ) {
2015-05-13 23:46:50 +02:00
return DefaultType ;
}
2015-05-12 23:28:11 +02:00
} ] ) ;
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 ) ;
2015-08-13 06:12:03 +02:00
//# sourceMappingURL=popover.js.map