PageSourceSearch

https://www.g-b-n.nl/wp-content/themes/howes/js/bootstrap-tooltip.min.js?ver=6.0.9

js g-b-n.nl collected 2026-09-25 22:53:49 UTC 4,936 bytes, 61 lines download raw bytes

1!function($){"use strict";var Tooltip=function(element,options){this.init('tooltip',element,options)}
2Tooltip.prototype={constructor:Tooltip,init:function(type,element,options){var eventIn,eventOut
3this.type=type
4this.$element=$(element)
5this.options=this.getOptions(options)
6this.enabled=true
7if(this.options.trigger=='click'){this.$element.on('click.'+this.type,this.options.selector,$.proxy(this.toggle,this))}else if(this.options.trigger!='manual'){eventIn=this.options.trigger=='hover'?'mouseenter':'focus'
8eventOut=this.options.trigger=='hover'?'mouseleave':'blur'
9this.$element.on(eventIn+'.'+this.type,this.options.selector,$.proxy(this.enter,this))
10this.$element.on(eventOut+'.'+this.type,this.options.selector,$.proxy(this.leave,this))}
11this.options.selector?(this._options=$.extend({},this.options,{trigger:'manual',selector:''})):this.fixTitle()},getOptions:function(options){options=$.extend({},$.fn[this.type].defaults,options,this.$element.data())
12if(options.delay&&typeof options.delay=='number'){options.delay={show:options.delay,hide:options.delay}}
13return options},enter:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type)
14if(!self.options.delay||!self.options.delay.show)return self.show()
15clearTimeout(this.timeout)
16self.hoverState='in'
17this.timeout=setTimeout(function(){if(self.hoverState=='in')self.show()},self.options.delay.show)},leave:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type)
18if(this.timeout)clearTimeout(this.timeout)
19if(!self.options.delay||!self.options.delay.hide)return self.hide()
20self.hoverState='out'
21this.timeout=setTimeout(function(){if(self.hoverState=='out')self.hide()},self.options.delay.hide)},show:function(){var $tip,inside,pos,actualWidth,actualHeight,placement,tp
22if(this.hasContent()&&this.enabled){$tip=this.tip()
23this.setContent()
24if(this.options.animation){$tip.addClass('fade')}
25placement=typeof this.options.placement=='function'?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement
26inside=/in/.test(placement)
27$tip.detach().css({top:0,left:0,display:'block'}).insertAfter(this.$element)
28pos=this.getPosition(inside)
29actualWidth=$tip[0].offsetWidth
30actualHeight=$tip[0].offsetHeight
31switch(inside?placement.split(' ')[1]:placement){case'bottom':tp={top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}
32break
33case'top':tp={top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}
34break
35case'left':tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth}
36break
37case'right':tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}
38break}
39$tip.offset(tp).addClass(placement).addClass('in')}},setContent:function(){var $tip=this.tip(),title=this.getTitle()
40$tip.find('.tooltip-inner')[this.options.html?'html':'text'](title)
41$tip.removeClass('fade in top bottom left right')},hide:function(){var that=this,$tip=this.tip()
42$tip.removeClass('in')
43function removeWithAnimation(){var timeout=setTimeout(function(){$tip.off($.support.transition.end).detach()},500)
44$tip.one($.support.transition.end,function(){clearTimeout(timeout)
45$tip.detach()})}
46$.support.transition&&this.$tip.hasClass('fade')?removeWithAnimation():$tip.detach()
47return this},fixTitle:function(){var $e=this.$element
48if($e.attr('title')||typeof($e.attr('data-original-title'))!='string'){$e.attr('data-original-title',$e.attr('title')||'').attr('title','')}},hasContent:function(){return this.getTitle()},getPosition:function(inside){return $.extend({},(inside?{top:0,left:0}:this.$element.offset()),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var title,$e=this.$element,o=this.options
49title=$e.attr('data-original-title')||(typeof o.title=='function'?o.title.call($e[0]):o.title)
50return title},tip:function(){return this.$tip=this.$tip||$(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide()
51this.$element=null
52this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type)
53self[self.tip().hasClass('in')?'hide':'show']()},destroy:function(){this.hide().$element.off('.'+this.type).removeData(this.type)}}
54var old=$.fn.tooltip
55$.fn.tooltip=function(option){return this.each(function(){var $this=$(this),data=$this.data('tooltip'),options=typeof option=='object'&&option
56if(!data)$this.data('tooltip',(data=new Tooltip(this,options)))
57if(typeof option=='string')data[option]()})}
58$.fn.tooltip.Constructor=Tooltip
59$.fn.tooltip.defaults={animation:true,placement:'top',selector:false,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:'hover',title:'',delay:0,html:false}
60$.fn.tooltip.noConflict=function(){$.fn.tooltip=old
61return this}}(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.