@ -1,7 +1,7 @@
/ * !
/ * !
* Bootstrap v3 . 3.4 ( http : //getbootstrap.com)
* Bootstrap v3 . 3.6 ( http : //getbootstrap.com)
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
* Licensed under MIT ( https : //github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under the MIT license
* /
* /
if ( typeof jQuery === 'undefined' ) {
if ( typeof jQuery === 'undefined' ) {
@ -11,13 +11,13 @@ if (typeof jQuery === 'undefined') {
+ function ( $ ) {
+ function ( $ ) {
'use strict' ;
'use strict' ;
var version = $ . fn . jquery . split ( ' ' ) [ 0 ] . split ( '.' )
var version = $ . fn . jquery . split ( ' ' ) [ 0 ] . split ( '.' )
if ( ( version [ 0 ] < 2 && version [ 1 ] < 9 ) || ( version [ 0 ] == 1 && version [ 1 ] == 9 && version [ 2 ] < 1 ) ) {
if ( ( version [ 0 ] < 2 && version [ 1 ] < 9 ) || ( version [ 0 ] == 1 && version [ 1 ] == 9 && version [ 2 ] < 1 ) || ( version [ 0 ] > 2 ) ) {
throw new Error ( 'Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher' )
throw new Error ( 'Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3 ' )
}
}
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : transition . js v3 . 3.4
* Bootstrap : transition . js v3 . 3.6
* http : //getbootstrap.com/javascript/#transitions
* http : //getbootstrap.com/javascript/#transitions
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -77,7 +77,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : alert . js v3 . 3.4
* Bootstrap : alert . js v3 . 3.6
* http : //getbootstrap.com/javascript/#alerts
* http : //getbootstrap.com/javascript/#alerts
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -96,7 +96,7 @@ if (typeof jQuery === 'undefined') {
$ ( el ) . on ( 'click' , dismiss , this . close )
$ ( el ) . on ( 'click' , dismiss , this . close )
}
}
Alert . VERSION = '3.3.4 '
Alert . VERSION = '3.3.6 '
Alert . TRANSITION _DURATION = 150
Alert . TRANSITION _DURATION = 150
@ -172,7 +172,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : button . js v3 . 3.4
* Bootstrap : button . js v3 . 3.6
* http : //getbootstrap.com/javascript/#buttons
* http : //getbootstrap.com/javascript/#buttons
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -192,7 +192,7 @@ if (typeof jQuery === 'undefined') {
this . isLoading = false
this . isLoading = false
}
}
Button . VERSION = '3.3.4 '
Button . VERSION = '3.3.6 '
Button . DEFAULTS = {
Button . DEFAULTS = {
loadingText : 'loading...'
loadingText : 'loading...'
@ -204,7 +204,7 @@ if (typeof jQuery === 'undefined') {
var val = $el . is ( 'input' ) ? 'val' : 'html'
var val = $el . is ( 'input' ) ? 'val' : 'html'
var data = $el . data ( )
var data = $el . data ( )
state = state + 'Text'
state += 'Text'
if ( data . resetText == null ) $el . data ( 'resetText' , $el [ val ] ( ) )
if ( data . resetText == null ) $el . data ( 'resetText' , $el [ val ] ( ) )
@ -229,15 +229,19 @@ if (typeof jQuery === 'undefined') {
if ( $parent . length ) {
if ( $parent . length ) {
var $input = this . $element . find ( 'input' )
var $input = this . $element . find ( 'input' )
if ( $input . prop ( 'type' ) == 'radio' ) {
if ( $input . prop ( 'type' ) == 'radio' ) {
if ( $input . prop ( 'checked' ) && this . $element . hasClass ( 'active' ) ) changed = false
if ( $input . prop ( 'checked' ) ) changed = false
else $parent . find ( '.active' ) . removeClass ( 'active' )
$parent . find ( '.active' ) . removeClass ( 'active' )
}
this . $element . addClass ( 'active' )
if ( changed ) $input . prop ( 'checked' , ! this . $element . hasClass ( 'active' ) ) . trigger ( 'change' )
} else if ( $input . prop ( 'type' ) == 'checkbox' ) {
if ( ( $input . prop ( 'checked' ) ) !== this . $element . hasClass ( 'active' ) ) changed = false
this . $element . toggleClass ( 'active' )
}
$input . prop ( 'checked' , this . $element . hasClass ( 'active' ) )
if ( changed ) $input . trigger ( 'change' )
} else {
} else {
this . $element . attr ( 'aria-pressed' , ! this . $element . hasClass ( 'active' ) )
this . $element . attr ( 'aria-pressed' , ! this . $element . hasClass ( 'active' ) )
this . $element . toggleClass ( 'active' )
}
}
if ( changed ) this . $element . toggleClass ( 'active' )
}
}
@ -280,7 +284,7 @@ if (typeof jQuery === 'undefined') {
var $btn = $ ( e . target )
var $btn = $ ( e . target )
if ( ! $btn . hasClass ( 'btn' ) ) $btn = $btn . closest ( '.btn' )
if ( ! $btn . hasClass ( 'btn' ) ) $btn = $btn . closest ( '.btn' )
Plugin . call ( $btn , 'toggle' )
Plugin . call ( $btn , 'toggle' )
e . preventDefault ( )
if ( ! ( $ ( e . target ) . is ( 'input[type="radio"]' ) || $ ( e . target ) . is ( 'input[type="checkbox"]' ) ) ) e . preventDefault ( )
} )
} )
. on ( 'focus.bs.button.data-api blur.bs.button.data-api' , '[data-toggle^="button"]' , function ( e ) {
. on ( 'focus.bs.button.data-api blur.bs.button.data-api' , '[data-toggle^="button"]' , function ( e ) {
$ ( e . target ) . closest ( '.btn' ) . toggleClass ( 'focus' , /^focus(in)?$/ . test ( e . type ) )
$ ( e . target ) . closest ( '.btn' ) . toggleClass ( 'focus' , /^focus(in)?$/ . test ( e . type ) )
@ -289,7 +293,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : carousel . js v3 . 3.4
* Bootstrap : carousel . js v3 . 3.6
* http : //getbootstrap.com/javascript/#carousel
* http : //getbootstrap.com/javascript/#carousel
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -320,7 +324,7 @@ if (typeof jQuery === 'undefined') {
. on ( 'mouseleave.bs.carousel' , $ . proxy ( this . cycle , this ) )
. on ( 'mouseleave.bs.carousel' , $ . proxy ( this . cycle , this ) )
}
}
Carousel . VERSION = '3.3.4 '
Carousel . VERSION = '3.3.6 '
Carousel . TRANSITION _DURATION = 600
Carousel . TRANSITION _DURATION = 600
@ -527,7 +531,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : collapse . js v3 . 3.4
* Bootstrap : collapse . js v3 . 3.6
* http : //getbootstrap.com/javascript/#collapse
* http : //getbootstrap.com/javascript/#collapse
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -557,7 +561,7 @@ if (typeof jQuery === 'undefined') {
if ( this . options . toggle ) this . toggle ( )
if ( this . options . toggle ) this . toggle ( )
}
}
Collapse . VERSION = '3.3.4 '
Collapse . VERSION = '3.3.6 '
Collapse . TRANSITION _DURATION = 350
Collapse . TRANSITION _DURATION = 350
@ -739,7 +743,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : dropdown . js v3 . 3.4
* Bootstrap : dropdown . js v3 . 3.6
* http : //getbootstrap.com/javascript/#dropdowns
* http : //getbootstrap.com/javascript/#dropdowns
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -759,7 +763,41 @@ if (typeof jQuery === 'undefined') {
$ ( element ) . on ( 'click.bs.dropdown' , this . toggle )
$ ( element ) . on ( 'click.bs.dropdown' , this . toggle )
}
}
Dropdown . VERSION = '3.3.4'
Dropdown . VERSION = '3.3.6'
function getParent ( $this ) {
var selector = $this . attr ( 'data-target' )
if ( ! selector ) {
selector = $this . attr ( 'href' )
selector = selector && /#[A-Za-z]/ . test ( selector ) && selector . replace ( /.*(?=#[^\s]*$)/ , '' ) // strip for ie7
}
var $parent = selector && $ ( selector )
return $parent && $parent . length ? $parent : $this . parent ( )
}
function clearMenus ( e ) {
if ( e && e . which === 3 ) return
$ ( backdrop ) . remove ( )
$ ( toggle ) . each ( function ( ) {
var $this = $ ( this )
var $parent = getParent ( $this )
var relatedTarget = { relatedTarget : this }
if ( ! $parent . hasClass ( 'open' ) ) return
if ( e && e . type == 'click' && /input|textarea/i . test ( e . target . tagName ) && $ . contains ( $parent [ 0 ] , e . target ) ) return
$parent . trigger ( e = $ . Event ( 'hide.bs.dropdown' , relatedTarget ) )
if ( e . isDefaultPrevented ( ) ) return
$this . attr ( 'aria-expanded' , 'false' )
$parent . removeClass ( 'open' ) . trigger ( $ . Event ( 'hidden.bs.dropdown' , relatedTarget ) )
} )
}
Dropdown . prototype . toggle = function ( e ) {
Dropdown . prototype . toggle = function ( e ) {
var $this = $ ( this )
var $this = $ ( this )
@ -774,7 +812,10 @@ if (typeof jQuery === 'undefined') {
if ( ! isActive ) {
if ( ! isActive ) {
if ( 'ontouchstart' in document . documentElement && ! $parent . closest ( '.navbar-nav' ) . length ) {
if ( 'ontouchstart' in document . documentElement && ! $parent . closest ( '.navbar-nav' ) . length ) {
// if mobile we use a backdrop because click events don't delegate
// if mobile we use a backdrop because click events don't delegate
$ ( '<div class="dropdown-backdrop"/>' ) . insertAfter ( $ ( this ) ) . on ( 'click' , clearMenus )
$ ( document . createElement ( 'div' ) )
. addClass ( 'dropdown-backdrop' )
. insertAfter ( $ ( this ) )
. on ( 'click' , clearMenus )
}
}
var relatedTarget = { relatedTarget : this }
var relatedTarget = { relatedTarget : this }
@ -788,7 +829,7 @@ if (typeof jQuery === 'undefined') {
$parent
$parent
. toggleClass ( 'open' )
. toggleClass ( 'open' )
. trigger ( 'shown.bs.dropdown', relatedTarget )
. trigger ( $ . Event ( 'shown.bs.dropdown', relatedTarget ) )
}
}
return false
return false
@ -807,13 +848,13 @@ if (typeof jQuery === 'undefined') {
var $parent = getParent ( $this )
var $parent = getParent ( $this )
var isActive = $parent . hasClass ( 'open' )
var isActive = $parent . hasClass ( 'open' )
if ( ( ! isActive && e . which != 27 ) || ( isActive && e . which == 27 ) ) {
if ( ! isActive && e . which != 27 || isActive && e . which == 27 ) {
if ( e . which == 27 ) $parent . find ( toggle ) . trigger ( 'focus' )
if ( e . which == 27 ) $parent . find ( toggle ) . trigger ( 'focus' )
return $this . trigger ( 'click' )
return $this . trigger ( 'click' )
}
}
var desc = ' li:not(.disabled):visible a'
var desc = ' li:not(.disabled):visible a'
var $items = $parent . find ( '[role="menu"]' + desc + ', [role="listbox"] ' + desc )
var $items = $parent . find ( '.dropdown-menu ' + desc )
if ( ! $items . length ) return
if ( ! $items . length ) return
@ -826,38 +867,6 @@ if (typeof jQuery === 'undefined') {
$items . eq ( index ) . trigger ( 'focus' )
$items . eq ( index ) . trigger ( 'focus' )
}
}
function clearMenus ( e ) {
if ( e && e . which === 3 ) return
$ ( backdrop ) . remove ( )
$ ( toggle ) . each ( function ( ) {
var $this = $ ( this )
var $parent = getParent ( $this )
var relatedTarget = { relatedTarget : this }
if ( ! $parent . hasClass ( 'open' ) ) return
$parent . trigger ( e = $ . Event ( 'hide.bs.dropdown' , relatedTarget ) )
if ( e . isDefaultPrevented ( ) ) return
$this . attr ( 'aria-expanded' , 'false' )
$parent . removeClass ( 'open' ) . trigger ( 'hidden.bs.dropdown' , relatedTarget )
} )
}
function getParent ( $this ) {
var selector = $this . attr ( 'data-target' )
if ( ! selector ) {
selector = $this . attr ( 'href' )
selector = selector && /#[A-Za-z]/ . test ( selector ) && selector . replace ( /.*(?=#[^\s]*$)/ , '' ) // strip for ie7
}
var $parent = selector && $ ( selector )
return $parent && $parent . length ? $parent : $this . parent ( )
}
// DROPDOWN PLUGIN DEFINITION
// DROPDOWN PLUGIN DEFINITION
// ==========================
// ==========================
@ -895,13 +904,12 @@ if (typeof jQuery === 'undefined') {
. on ( 'click.bs.dropdown.data-api' , '.dropdown form' , function ( e ) { e . stopPropagation ( ) } )
. on ( 'click.bs.dropdown.data-api' , '.dropdown form' , function ( e ) { e . stopPropagation ( ) } )
. on ( 'click.bs.dropdown.data-api' , toggle , Dropdown . prototype . toggle )
. on ( 'click.bs.dropdown.data-api' , toggle , Dropdown . prototype . toggle )
. on ( 'keydown.bs.dropdown.data-api' , toggle , Dropdown . prototype . keydown )
. on ( 'keydown.bs.dropdown.data-api' , toggle , Dropdown . prototype . keydown )
. on ( 'keydown.bs.dropdown.data-api' , '[role="menu"]' , Dropdown . prototype . keydown )
. on ( 'keydown.bs.dropdown.data-api' , '.dropdown-menu' , Dropdown . prototype . keydown )
. on ( 'keydown.bs.dropdown.data-api' , '[role="listbox"]' , Dropdown . prototype . keydown )
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : modal . js v3 . 3.4
* Bootstrap : modal . js v3 . 3.6
* http : //getbootstrap.com/javascript/#modals
* http : //getbootstrap.com/javascript/#modals
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -935,7 +943,7 @@ if (typeof jQuery === 'undefined') {
}
}
}
}
Modal . VERSION = '3.3.4 '
Modal . VERSION = '3.3.6 '
Modal . TRANSITION _DURATION = 300
Modal . TRANSITION _DURATION = 300
Modal . BACKDROP _TRANSITION _DURATION = 150
Modal . BACKDROP _TRANSITION _DURATION = 150
@ -992,9 +1000,7 @@ if (typeof jQuery === 'undefined') {
that . $element [ 0 ] . offsetWidth // force reflow
that . $element [ 0 ] . offsetWidth // force reflow
}
}
that . $element
that . $element . addClass ( 'in' )
. addClass ( 'in' )
. attr ( 'aria-hidden' , false )
that . enforceFocus ( )
that . enforceFocus ( )
@ -1028,7 +1034,6 @@ if (typeof jQuery === 'undefined') {
this . $element
this . $element
. removeClass ( 'in' )
. removeClass ( 'in' )
. attr ( 'aria-hidden' , true )
. off ( 'click.dismiss.bs.modal' )
. off ( 'click.dismiss.bs.modal' )
. off ( 'mouseup.dismiss.bs.modal' )
. off ( 'mouseup.dismiss.bs.modal' )
@ -1092,7 +1097,8 @@ if (typeof jQuery === 'undefined') {
if ( this . isShown && this . options . backdrop ) {
if ( this . isShown && this . options . backdrop ) {
var doAnimate = $ . support . transition && animate
var doAnimate = $ . support . transition && animate
this . $backdrop = $ ( '<div class="modal-backdrop ' + animate + '" />' )
this . $backdrop = $ ( document . createElement ( 'div' ) )
. addClass ( 'modal-backdrop ' + animate )
. appendTo ( this . $body )
. appendTo ( this . $body )
this . $element . on ( 'click.dismiss.bs.modal' , $ . proxy ( function ( e ) {
this . $element . on ( 'click.dismiss.bs.modal' , $ . proxy ( function ( e ) {
@ -1241,7 +1247,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : tooltip . js v3 . 3.4
* Bootstrap : tooltip . js v3 . 3.6
* http : //getbootstrap.com/javascript/#tooltip
* http : //getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery . tipsy by Jason Frame
* Inspired by the original jQuery . tipsy by Jason Frame
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
@ -1263,11 +1269,12 @@ if (typeof jQuery === 'undefined') {
this . timeout = null
this . timeout = null
this . hoverState = null
this . hoverState = null
this . $element = null
this . $element = null
this . inState = null
this . init ( 'tooltip' , element , options )
this . init ( 'tooltip' , element , options )
}
}
Tooltip . VERSION = '3.3.4 '
Tooltip . VERSION = '3.3.6 '
Tooltip . TRANSITION _DURATION = 150
Tooltip . TRANSITION _DURATION = 150
@ -1292,7 +1299,8 @@ if (typeof jQuery === 'undefined') {
this . type = type
this . type = type
this . $element = $ ( element )
this . $element = $ ( element )
this . options = this . getOptions ( options )
this . options = this . getOptions ( options )
this . $viewport = this . options . viewport && $ ( this . options . viewport . selector || this . options . viewport )
this . $viewport = this . options . viewport && $ ( $ . isFunction ( this . options . viewport ) ? this . options . viewport . call ( this , this . $element ) : ( this . options . viewport . selector || this . options . viewport ) )
this . inState = { click : false , hover : false , focus : false }
if ( this . $element [ 0 ] instanceof document . constructor && ! this . options . selector ) {
if ( this . $element [ 0 ] instanceof document . constructor && ! this . options . selector ) {
throw new Error ( '`selector` option must be specified when initializing ' + this . type + ' on the window.document object!' )
throw new Error ( '`selector` option must be specified when initializing ' + this . type + ' on the window.document object!' )
@ -1351,16 +1359,20 @@ if (typeof jQuery === 'undefined') {
var self = obj instanceof this . constructor ?
var self = obj instanceof this . constructor ?
obj : $ ( obj . currentTarget ) . data ( 'bs.' + this . type )
obj : $ ( obj . currentTarget ) . data ( 'bs.' + this . type )
if ( self && self . $tip && self . $tip . is ( ':visible' ) ) {
self . hoverState = 'in'
return
}
if ( ! self ) {
if ( ! self ) {
self = new this . constructor ( obj . currentTarget , this . getDelegateOptions ( ) )
self = new this . constructor ( obj . currentTarget , this . getDelegateOptions ( ) )
$ ( obj . currentTarget ) . data ( 'bs.' + this . type , self )
$ ( obj . currentTarget ) . data ( 'bs.' + this . type , self )
}
}
if ( obj instanceof $ . Event ) {
self . inState [ obj . type == 'focusin' ? 'focus' : 'hover' ] = true
}
if ( self . tip ( ) . hasClass ( 'in' ) || self . hoverState == 'in' ) {
self . hoverState = 'in'
return
}
clearTimeout ( self . timeout )
clearTimeout ( self . timeout )
self . hoverState = 'in'
self . hoverState = 'in'
@ -1372,6 +1384,14 @@ if (typeof jQuery === 'undefined') {
} , self . options . delay . show )
} , self . options . delay . show )
}
}
Tooltip . prototype . isInStateTrue = function ( ) {
for ( var key in this . inState ) {
if ( this . inState [ key ] ) return true
}
return false
}
Tooltip . prototype . leave = function ( obj ) {
Tooltip . prototype . leave = function ( obj ) {
var self = obj instanceof this . constructor ?
var self = obj instanceof this . constructor ?
obj : $ ( obj . currentTarget ) . data ( 'bs.' + this . type )
obj : $ ( obj . currentTarget ) . data ( 'bs.' + this . type )
@ -1381,6 +1401,12 @@ if (typeof jQuery === 'undefined') {
$ ( obj . currentTarget ) . data ( 'bs.' + this . type , self )
$ ( obj . currentTarget ) . data ( 'bs.' + this . type , self )
}
}
if ( obj instanceof $ . Event ) {
self . inState [ obj . type == 'focusout' ? 'focus' : 'hover' ] = false
}
if ( self . isInStateTrue ( ) ) return
clearTimeout ( self . timeout )
clearTimeout ( self . timeout )
self . hoverState = 'out'
self . hoverState = 'out'
@ -1427,6 +1453,7 @@ if (typeof jQuery === 'undefined') {
. data ( 'bs.' + this . type , this )
. data ( 'bs.' + this . type , this )
this . options . container ? $tip . appendTo ( this . options . container ) : $tip . insertAfter ( this . $element )
this . options . container ? $tip . appendTo ( this . options . container ) : $tip . insertAfter ( this . $element )
this . $element . trigger ( 'inserted.bs.' + this . type )
var pos = this . getPosition ( )
var pos = this . getPosition ( )
var actualWidth = $tip [ 0 ] . offsetWidth
var actualWidth = $tip [ 0 ] . offsetWidth
@ -1434,13 +1461,12 @@ if (typeof jQuery === 'undefined') {
if ( autoPlace ) {
if ( autoPlace ) {
var orgPlacement = placement
var orgPlacement = placement
var $container = this . options . container ? $ ( this . options . container ) : this . $element . parent ( )
var viewportDim = this . getPosition ( this . $viewport )
var containerDim = this . getPosition ( $container )
placement = placement == 'bottom' && pos . bottom + actualHeight > container Dim. bottom ? 'top' :
placement = placement == 'bottom' && pos . bottom + actualHeight > viewport Dim. bottom ? 'top' :
placement == 'top' && pos . top - actualHeight < container Dim. top ? 'bottom' :
placement == 'top' && pos . top - actualHeight < viewport Dim. top ? 'bottom' :
placement == 'right' && pos . right + actualWidth > container Dim. width ? 'left' :
placement == 'right' && pos . right + actualWidth > viewport Dim. width ? 'left' :
placement == 'left' && pos . left - actualWidth < container Dim. left ? 'right' :
placement == 'left' && pos . left - actualWidth < viewport Dim. left ? 'right' :
placement
placement
$tip
$tip
@ -1481,8 +1507,8 @@ if (typeof jQuery === 'undefined') {
if ( isNaN ( marginTop ) ) marginTop = 0
if ( isNaN ( marginTop ) ) marginTop = 0
if ( isNaN ( marginLeft ) ) marginLeft = 0
if ( isNaN ( marginLeft ) ) marginLeft = 0
offset . top = offset . top + marginTop
offset . top += marginTop
offset . left = offset . left + marginLeft
offset . left += marginLeft
// $.fn.offset doesn't round pixel values
// $.fn.offset doesn't round pixel values
// so we use setOffset directly with our own function B-0
// so we use setOffset directly with our own function B-0
@ -1564,7 +1590,7 @@ if (typeof jQuery === 'undefined') {
Tooltip . prototype . fixTitle = function ( ) {
Tooltip . prototype . fixTitle = function ( ) {
var $e = this . $element
var $e = this . $element
if ( $e . attr ( 'title' ) || typeof ( $e . attr ( 'data-original-title' ) ) != 'string' ) {
if ( $e . attr ( 'title' ) || typeof $e . attr ( 'data-original-title' ) != 'string' ) {
$e . attr ( 'data-original-title' , $e . attr ( 'title' ) || '' ) . attr ( 'title' , '' )
$e . attr ( 'data-original-title' , $e . attr ( 'title' ) || '' ) . attr ( 'title' , '' )
}
}
}
}
@ -1619,7 +1645,7 @@ if (typeof jQuery === 'undefined') {
var rightEdgeOffset = pos . left + viewportPadding + actualWidth
var rightEdgeOffset = pos . left + viewportPadding + actualWidth
if ( leftEdgeOffset < viewportDimensions . left ) { // left overflow
if ( leftEdgeOffset < viewportDimensions . left ) { // left overflow
delta . left = viewportDimensions . left - leftEdgeOffset
delta . left = viewportDimensions . left - leftEdgeOffset
} else if ( rightEdgeOffset > viewportDimensions . width ) { // right overflow
} else if ( rightEdgeOffset > viewportDimensions . right ) { // right overflow
delta . left = viewportDimensions . left + viewportDimensions . width - rightEdgeOffset
delta . left = viewportDimensions . left + viewportDimensions . width - rightEdgeOffset
}
}
}
}
@ -1645,7 +1671,13 @@ if (typeof jQuery === 'undefined') {
}
}
Tooltip . prototype . tip = function ( ) {
Tooltip . prototype . tip = function ( ) {
return ( this . $tip = this . $tip || $ ( this . options . template ) )
if ( ! this . $tip ) {
this . $tip = $ ( this . options . template )
if ( this . $tip . length != 1 ) {
throw new Error ( this . type + ' `template` option must consist of exactly 1 top-level element!' )
}
}
return this . $tip
}
}
Tooltip . prototype . arrow = function ( ) {
Tooltip . prototype . arrow = function ( ) {
@ -1674,14 +1706,26 @@ if (typeof jQuery === 'undefined') {
}
}
}
}
if ( e ) {
self . inState . click = ! self . inState . click
if ( self . isInStateTrue ( ) ) self . enter ( self )
else self . leave ( self )
} else {
self . tip ( ) . hasClass ( 'in' ) ? self . leave ( self ) : self . enter ( self )
self . tip ( ) . hasClass ( 'in' ) ? self . leave ( self ) : self . enter ( self )
}
}
}
Tooltip . prototype . destroy = function ( ) {
Tooltip . prototype . destroy = function ( ) {
var that = this
var that = this
clearTimeout ( this . timeout )
clearTimeout ( this . timeout )
this . hide ( function ( ) {
this . hide ( function ( ) {
that . $element . off ( '.' + that . type ) . removeData ( 'bs.' + that . type )
that . $element . off ( '.' + that . type ) . removeData ( 'bs.' + that . type )
if ( that . $tip ) {
that . $tip . detach ( )
}
that . $tip = null
that . $arrow = null
that . $viewport = null
} )
} )
}
}
@ -1718,7 +1762,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : popover . js v3 . 3.4
* Bootstrap : popover . js v3 . 3.6
* http : //getbootstrap.com/javascript/#popovers
* http : //getbootstrap.com/javascript/#popovers
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -1738,7 +1782,7 @@ if (typeof jQuery === 'undefined') {
if ( ! $ . fn . tooltip ) throw new Error ( 'Popover requires tooltip.js' )
if ( ! $ . fn . tooltip ) throw new Error ( 'Popover requires tooltip.js' )
Popover . VERSION = '3.3.4 '
Popover . VERSION = '3.3.6 '
Popover . DEFAULTS = $ . extend ( { } , $ . fn . tooltip . Constructor . DEFAULTS , {
Popover . DEFAULTS = $ . extend ( { } , $ . fn . tooltip . Constructor . DEFAULTS , {
placement : 'right' ,
placement : 'right' ,
@ -1827,7 +1871,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : scrollspy . js v3 . 3.4
* Bootstrap : scrollspy . js v3 . 3.6
* http : //getbootstrap.com/javascript/#scrollspy
* http : //getbootstrap.com/javascript/#scrollspy
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -1856,7 +1900,7 @@ if (typeof jQuery === 'undefined') {
this . process ( )
this . process ( )
}
}
ScrollSpy . VERSION = '3.3.4 '
ScrollSpy . VERSION = '3.3.6 '
ScrollSpy . DEFAULTS = {
ScrollSpy . DEFAULTS = {
offset : 10
offset : 10
@ -2000,7 +2044,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : tab . js v3 . 3.4
* Bootstrap : tab . js v3 . 3.6
* http : //getbootstrap.com/javascript/#tabs
* http : //getbootstrap.com/javascript/#tabs
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -2015,10 +2059,12 @@ if (typeof jQuery === 'undefined') {
// ====================
// ====================
var Tab = function ( element ) {
var Tab = function ( element ) {
// jscs:disable requireDollarBeforejQueryAssignment
this . element = $ ( element )
this . element = $ ( element )
// jscs:enable requireDollarBeforejQueryAssignment
}
}
Tab . VERSION = '3.3.4 '
Tab . VERSION = '3.3.6 '
Tab . TRANSITION _DURATION = 150
Tab . TRANSITION _DURATION = 150
@ -2066,7 +2112,7 @@ if (typeof jQuery === 'undefined') {
var $active = container . find ( '> .active' )
var $active = container . find ( '> .active' )
var transition = callback
var transition = callback
&& $ . support . transition
&& $ . support . transition
&& ( ( $active . length && $active . hasClass ( 'fade' ) ) || ! ! container . find ( '> .fade' ) . length )
&& ( $active . length && $active . hasClass ( 'fade' ) || ! ! container . find ( '> .fade' ) . length )
function next ( ) {
function next ( ) {
$active
$active
@ -2154,7 +2200,7 @@ if (typeof jQuery === 'undefined') {
} ( jQuery ) ;
} ( jQuery ) ;
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
* Bootstrap : affix . js v3 . 3.4
* Bootstrap : affix . js v3 . 3.6
* http : //getbootstrap.com/javascript/#affix
* http : //getbootstrap.com/javascript/#affix
* === === === === === === === === === === === === === === === === === === === === === === === ===
* === === === === === === === === === === === === === === === === === === === === === === === ===
* Copyright 2011 - 2015 Twitter , Inc .
* Copyright 2011 - 2015 Twitter , Inc .
@ -2183,7 +2229,7 @@ if (typeof jQuery === 'undefined') {
this . checkPosition ( )
this . checkPosition ( )
}
}
Affix . VERSION = '3.3.4 '
Affix . VERSION = '3.3.6 '
Affix . RESET = 'affix affix-top affix-bottom'
Affix . RESET = 'affix affix-top affix-bottom'
@ -2233,7 +2279,7 @@ if (typeof jQuery === 'undefined') {
var offset = this . options . offset
var offset = this . options . offset
var offsetTop = offset . top
var offsetTop = offset . top
var offsetBottom = offset . bottom
var offsetBottom = offset . bottom
var scrollHeight = $ ( document . body ) . height ( )
var scrollHeight = Math . max ( $ ( document ) . height ( ) , $ ( document . body ) . height ( ) )
if ( typeof offset != 'object' ) offsetBottom = offsetTop = offset
if ( typeof offset != 'object' ) offsetBottom = offsetTop = offset
if ( typeof offsetTop == 'function' ) offsetTop = offset . top ( this . $element )
if ( typeof offsetTop == 'function' ) offsetTop = offset . top ( this . $element )