vendor: 9,611 bytes, lines 1-154
1+function($){"use strict";var Tooltip=function(element,options){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null 2this.init('tooltip',element,options)} 3Tooltip.DEFAULTS={animation:true,placement:'top',selector:false,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:'hover focus',title:'',delay:0,html:false,container:false} 4Tooltip.prototype.init=function(type,element,options){this.enabled=true 5this.type=type 6this.$element=$(element) 7this.options=this.getOptions(options) 8var triggers=this.options.trigger.split(' ') 9for(var i=triggers.length;i--;){var trigger=triggers[i] 10if(trigger=='click'){this.$element.on('click.'+this.type,this.options.selector,$.proxy(this.toggle,this))}else if(trigger!='manual'){var eventIn=trigger=='hover'?'mouseenter':'focus' 11var eventOut=trigger=='hover'?'mouseleave':'blur' 12this.$element.on(eventIn+'.'+this.type,this.options.selector,$.proxy(this.enter,this)) 13this.$element.on(eventOut+'.'+this.type,this.options.selector,$.proxy(this.leave,this))}} 14this.options.selector?(this._options=$.extend({},this.options,{trigger:'manual',selector:''})):this.fixTitle()} 15Tooltip.prototype.getDefaults=function(){return Tooltip.DEFAULTS} 16Tooltip.prototype.getOptions=function(options){options=$.extend({},this.getDefaults(),this.$element.data(),options) 17if(options.delay&&typeof options.delay=='number'){options.delay={show:options.delay,hide:options.delay}} 18return options} 19Tooltip.prototype.getDelegateOptions=function(){var options={} 20var defaults=this.getDefaults() 21this._options&&$.each(this._options,function(key,value){if(defaults[key]!=value)options[key]=value}) 22return options} 23Tooltip.prototype.enter=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.'+this.type) 24clearTimeout(self.timeout) 25self.hoverState='in' 26if(!self.options.delay||!self.options.delay.show)return self.show() 27self.timeout=setTimeout(function(){if(self.hoverState=='in')self.show()},self.options.delay.show)} 28Tooltip.prototype.leave=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.'+this.type) 29clearTimeout(self.timeout) 30self.hoverState='out' 31if(!self.options.delay||!self.options.delay.hide)return self.hide() 32self.timeout=setTimeout(function(){if(self.hoverState=='out')self.hide()},self.options.delay.hide)} 33Tooltip.prototype.show=function(){var e=$.Event('show.bs.'+this.type) 34if(this.hasContent()&&this.enabled){this.$element.trigger(e) 35if(e.isDefaultPrevented())return 36var $tip=this.tip() 37this.setContent() 38if(this.options.animation)$tip.addClass('fade') 39var placement=typeof this.options.placement=='function'?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement 40var autoToken=/\s?auto?\s?/i 41var autoPlace=autoToken.test(placement) 42if(autoPlace)placement=placement.replace(autoToken,'')||'top' 43$tip.detach().css({top:0,left:0,display:'block'}).addClass(placement) 44this.options.container?$tip.appendTo(this.options.container):$tip.insertAfter(this.$element) 45var pos=this.getPosition() 46var actualWidth=$tip[0].offsetWidth 47var actualHeight=$tip[0].offsetHeight 48if(autoPlace){var $parent=this.$element.parent() 49var orgPlacement=placement 50var docScroll=document.documentElement.scrollTop||document.body.scrollTop 51var parentWidth=this.options.container=='body'?window.innerWidth:$parent.outerWidth() 52var parentHeight=this.options.container=='body'?window.innerHeight:$parent.outerHeight() 53var parentLeft=this.options.container=='body'?0:$parent.offset().left 54placement=placement=='bottom'&&pos.top+pos.height+actualHeight-docScroll>parentHeight?'top':placement=='top'&&pos.top-docScroll-actualHeight<0?'bottom':placement=='right'&&pos.right+actualWidth>parentWidth?'left':placement=='left'&&pos.left-actualWidth<parentLeft?'right':placement 55$tip.removeClass(orgPlacement).addClass(placement)} 56var calculatedOffset=this.getCalculatedOffset(placement,pos,actualWidth,actualHeight) 57this.applyPlacement(calculatedOffset,placement) 58this.$element.trigger('shown.bs.'+this.type)}} 59Tooltip.prototype.applyPlacement=function(offset,placement){var replace 60var $tip=this.tip() 61var width=$tip[0].offsetWidth 62var height=$tip[0].offsetHeight 63var marginTop=parseInt($tip.css('margin-top'),10) 64var marginLeft=parseInt($tip.css('margin-left'),10) 65if(isNaN(marginTop))marginTop=0 66if(isNaN(marginLeft))marginLeft=0 67offset.top=offset.top+marginTop 68offset.left=offset.left+marginLeft 69$tip.offset(offset).addClass('in') 70var actualWidth=$tip[0].offsetWidth 71var actualHeight=$tip[0].offsetHeight 72if(placement=='top'&&actualHeight!=height){replace=true 73offset.top=offset.top+height-actualHeight} 74if(/bottom|top/.test(placement)){var delta=0 75if(offset.left<0){delta=offset.left*-2 76offset.left=0 77$tip.offset(offset) 78actualWidth=$tip[0].offsetWidth 79actualHeight=$tip[0].offsetHeight} 80this.replaceArrow(delta-width+actualWidth,actualWidth,'left')}else{this.replaceArrow(actualHeight-height,actualHeight,'top')} 81if(replace)$tip.offset(offset)} 82Tooltip.prototype.replaceArrow=function(delta,dimension,position){this.arrow().css(position,delta?(50*(1-delta/dimension)+"%"):'')} 83Tooltip.prototype.setContent=function(){var $tip=this.tip() 84var title=this.getTitle() 85$tip.find('.tooltip-inner')[this.options.html?'html':'text'](title) 86$tip.removeClass('fade in top bottom left right')} 87Tooltip.prototype.hide=function(){var that=this 88var $tip=this.tip() 89var e=$.Event('hide.bs.'+this.type) 90function complete(){if(that.hoverState!='in')$tip.detach()} 91this.$element.trigger(e) 92if(e.isDefaultPrevented())return 93$tip.removeClass('in') 94$.support.transition&&this.$tip.hasClass('fade')?$tip.one($.support.transition.end,complete).emulateTransitionEnd(150):complete() 95this.$element.trigger('hidden.bs.'+this.type) 96return this} 97Tooltip.prototype.fixTitle=function(){var $e=this.$element 98if($e.attr('title')||typeof($e.attr('data-original-title'))!='string'){$e.attr('data-original-title',$e.attr('title')||'').attr('title','')}} 99Tooltip.prototype.hasContent=function(){return this.getTitle()} 100Tooltip.prototype.getPosition=function(){var el=this.$element[0] 101return $.extend({},(typeof el.getBoundingClientRect=='function')?el.getBoundingClientRect():{width:el.offsetWidth,height:el.offsetHeight},this.$element.offset())} 102Tooltip.prototype.getCalculatedOffset=function(placement,pos,actualWidth,actualHeight){return placement=='bottom'?{top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}:placement=='top'?{top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}:placement=='left'?{top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth}:{top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}} 103Tooltip.prototype.getTitle=function(){var title 104var $e=this.$element 105var o=this.options 106title=$e.attr('data-original-title')||(typeof o.title=='function'?o.title.call($e[0]):o.title) 107return title} 108Tooltip.prototype.tip=function(){return this.$tip=this.$tip||$(this.options.template)} 109Tooltip.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find('.tooltip-arrow')} 110Tooltip.prototype.validate=function(){if(!this.$element[0].parentNode){this.hide() 111this.$element=null 112this.options=null}} 113Tooltip.prototype.enable=function(){this.enabled=true} 114Tooltip.prototype.disable=function(){this.enabled=false} 115Tooltip.prototype.toggleEnabled=function(){this.enabled=!this.enabled} 116Tooltip.prototype.toggle=function(e){var self=e?$(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.'+this.type):this 117self.tip().hasClass('in')?self.leave(self):self.enter(self)} 118Tooltip.prototype.destroy=function(){this.hide().$element.off('.'+this.type).removeData('bs.'+this.type)} 119var old=$.fn.tooltip 120$.fn.tooltip=function(option){return this.each(function(){var $this=$(this) 121var data=$this.data('bs.tooltip') 122var options=typeof option=='object'&&option 123if(!data)$this.data('bs.tooltip',(data=new Tooltip(this,options))) 124if(typeof option=='string')data[option]()})} 125$.fn.tooltip.Constructor=Tooltip 126$.fn.tooltip.noConflict=function(){$.fn.tooltip=old 127return this} 128$.fn.emulateTransitionEnd=function(duration){var called=false,$el=this 129$(this).one($.support.transition.end,function(){called=true}) 130var callback=function(){if(!called)$($el).trigger($.support.transition.end)} 131setTimeout(callback,duration) 132return this}}(window.jQuery);+function($){"use strict";var dismiss='[data-dismiss="alert"]' 133var Alert=function(el){$(el).on('click',dismiss,this.close)} 134Alert.prototype.close=function(e){var $this=$(this) 135var selector=$this.attr('data-target') 136if(!selector){selector=$this.attr('href') 137selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,'')} 138var $parent=$(selector) 139if(e)e.preventDefault() 140if(!$parent.length){$parent=$this.hasClass('dokan-alert')?$this:$this.parent()} 141$parent.trigger(e=$.Event('dokan-close.bs.alert')) 142if(e.isDefaultPrevented())return 143$parent.removeClass('in') 144function removeElement(){$parent.trigger('dokan-closed.bs.alert').remove()} 145$.support.transition&&$parent.hasClass('fade')?$parent.one($.support.transition.end,removeElement).emulateTransitionEnd(150):removeElement()} 146var old=$.fn.alert 147$.fn.alert=function(option){return this.each(function(){var $this=$(this) 148var data=$this.data('bs.alert') 149if(!data)$this.data('bs.alert',(data=new Alert(this))) 150if(typeof option=='string')data[option].call($this)})} 151$.fn.alert.Constructor=Alert 152$.fn.alert.noConflict=function(){$.fn.alert=old 153return this} 154$(document).on('click.bs.alert.data-api',dismiss,Alert.prototype.close)}(window.jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.