PageSourceSearch

https://harmonisproduction.com/templates/echo/js/jasny-bootstrap.min.js

js harmonisproduction.com collected 2026-10-04 02:27:12 UTC 20,042 bytes, 307 lines download raw bytes

1+function($){"use strict";var Rowlink=function(element,options){this.$element=$(element)
2this.options=$.extend({},Rowlink.DEFAULTS,options)
3this.$element.on('click.bs.rowlink','td:not(.rowlink-skip)',$.proxy(this.click,this))}
4Rowlink.DEFAULTS={target:"a"}
5Rowlink.prototype.click=function(e){var target=$(e.currentTarget).closest('tr').find(this.options.target)[0]
6if($(e.target)[0]===target)return
7e.preventDefault();if(target.click){target.click()}else if(document.createEvent){var evt=document.createEvent("MouseEvents");evt.initMouseEvent("click",true,true,window,0,0,0,0,0,false,false,false,false,0,null);target.dispatchEvent(evt);}}
8var old=$.fn.rowlink
9$.fn.rowlink=function(options){return this.each(function(){var $this=$(this)
10var data=$this.data('bs.rowlink')
11if(!data)$this.data('bs.rowlink',(data=new Rowlink(this,options)))})}
12$.fn.rowlink.Constructor=Rowlink
13$.fn.rowlink.noConflict=function(){$.fn.rowlink=old
14return this}
15$(document).on('click.bs.rowlink.data-api','[data-link="row"]',function(e){if($(e.target).closest('.rowlink-skip').length!==0)return
16var $this=$(this)
17if($this.data('bs.rowlink'))return
18$this.rowlink($this.data())
19$(e.target).trigger('click.bs.rowlink')})}(window.jQuery);+function($){"use strict";var isIphone=(window.orientation!==undefined)
20var isAndroid=navigator.userAgent.toLowerCase().indexOf("android")>-1
21var isIE=window.navigator.appName=='Microsoft Internet Explorer'
22var Inputmask=function(element,options){if(isAndroid)return
23this.$element=$(element)
24this.options=$.extend({},Inputmask.DEFAULTS,options)
25this.mask=String(this.options.mask)
26this.init()
27this.listen()
28this.checkVal()}
29Inputmask.DEFAULTS={mask:"",placeholder:"_",definitions:{'9':"[0-9]",'a':"[A-Za-z]",'w':"[A-Za-z0-9]",'*':"."}}
30Inputmask.prototype.init=function(){var defs=this.options.definitions
31var len=this.mask.length
32this.tests=[]
33this.partialPosition=this.mask.length
34this.firstNonMaskPos=null
35$.each(this.mask.split(""),$.proxy(function(i,c){if(c=='?'){len--
36this.partialPosition=i}else if(defs[c]){this.tests.push(new RegExp(defs[c]))
37if(this.firstNonMaskPos===null)this.firstNonMaskPos=this.tests.length-1}else{this.tests.push(null)}},this))
38this.buffer=$.map(this.mask.split(""),$.proxy(function(c,i){if(c!='?')return defs[c]?this.options.placeholder:c},this))
39this.focusText=this.$element.val()
40this.$element.data("rawMaskFn",$.proxy(function(){return $.map(this.buffer,function(c,i){return this.tests[i]&&c!=this.options.placeholder?c:null}).join('')},this))}
41Inputmask.prototype.listen=function(){if(this.$element.attr("readonly"))return
42var pasteEventName=(isIE?'paste':'input')+".bs.inputmask"
43this.$element.on("unmask.bs.inputmask",$.proxy(this.unmask,this)).on("focus.bs.inputmask",$.proxy(this.focusEvent,this)).on("blur.bs.inputmask",$.proxy(this.blurEvent,this)).on("keydown.bs.inputmask",$.proxy(this.keydownEvent,this)).on("keypress.bs.inputmask",$.proxy(this.keypressEvent,this)).on(pasteEventName,$.proxy(this.pasteEvent,this))}
44Inputmask.prototype.caret=function(begin,end){if(this.$element.length===0)return
45if(typeof begin=='number'){end=(typeof end=='number')?end:begin
46return this.$element.each(function(){if(this.setSelectionRange){this.setSelectionRange(begin,end)}else if(this.createTextRange){var range=this.createTextRange()
47range.collapse(true)
48range.moveEnd('character',end)
49range.moveStart('character',begin)
50range.select()}})}else{if(this.$element[0].setSelectionRange){begin=this.$element[0].selectionStart
51end=this.$element[0].selectionEnd}else if(document.selection&&document.selection.createRange){var range=document.selection.createRange()
52begin=0-range.duplicate().moveStart('character',-100000)
53end=begin+range.text.length}return{begin:begin,end:end}}}
54Inputmask.prototype.seekNext=function(pos){var len=this.mask.length
55while(++pos<=len&&!this.tests[pos]);return pos}
56Inputmask.prototype.seekPrev=function(pos){while(--pos>=0&&!this.tests[pos]);return pos}
57Inputmask.prototype.shiftL=function(begin,end){var len=this.mask.length
58if(begin<0)return
59for(var i=begin,j=this.seekNext(end);i<len;i++){if(this.tests[i]){if(j<len&&this.tests[i].test(this.buffer[j])){this.buffer[i]=this.buffer[j]
60this.buffer[j]=this.options.placeholder}else
61break
62j=this.seekNext(j)}}this.writeBuffer()
63this.caret(Math.max(this.firstNonMaskPos,begin))}
64Inputmask.prototype.shiftR=function(pos){var len=this.mask.length
65for(var i=pos,c=this.options.placeholder;i<len;i++){if(this.tests[i]){var j=this.seekNext(i)
66var t=this.buffer[i]
67this.buffer[i]=c
68if(j<len&&this.tests[j].test(t))c=t
69else
70break}}},Inputmask.prototype.unmask=function(){this.$element.unbind(".bs.inputmask").removeData("bs.inputmask")}
71Inputmask.prototype.focusEvent=function(){this.focusText=this.$element.val()
72var len=this.mask.length
73var pos=this.checkVal()
74this.writeBuffer()
75var that=this
76var moveCaret=function(){if(pos==len)that.caret(0,pos)
77else
78that.caret(pos)}
79moveCaret()
80setTimeout(moveCaret,50)}
81Inputmask.prototype.blurEvent=function(){this.checkVal()
82if(this.$element.val()!==this.focusText){this.$element.trigger('change')
83this.$element.trigger('input')}}
84Inputmask.prototype.keydownEvent=function(e){var k=e.which
85if(k==8||k==46||(isIphone&&k==127)){var pos=this.caret(),begin=pos.begin,end=pos.end
86if(end-begin===0){begin=k!=46?this.seekPrev(begin):(end=this.seekNext(begin-1))
87end=k==46?this.seekNext(end):end}this.clearBuffer(begin,end)
88this.shiftL(begin,end-1)
89return false}else if(k==27){this.$element.val(this.focusText)
90this.caret(0,this.checkVal())
91return false}}
92Inputmask.prototype.keypressEvent=function(e){var len=this.mask.length
93var k=e.which,pos=this.caret()
94if(e.ctrlKey||e.altKey||e.metaKey||k<32){return true}else if(k){if(pos.end-pos.begin!==0){this.clearBuffer(pos.begin,pos.end)
95this.shiftL(pos.begin,pos.end-1)}var p=this.seekNext(pos.begin-1)
96if(p<len){var c=String.fromCharCode(k)
97if(this.tests[p].test(c)){this.shiftR(p)
98this.buffer[p]=c
99this.writeBuffer()
100var next=this.seekNext(p)
101this.caret(next)}}return false}}
102Inputmask.prototype.pasteEvent=function(){var that=this
103setTimeout(function(){that.caret(that.checkVal(true))},0)}
104Inputmask.prototype.clearBuffer=function(start,end){var len=this.mask.length
105for(var i=start;i<end&&i<len;i++){if(this.tests[i])this.buffer[i]=this.options.placeholder}}
106Inputmask.prototype.writeBuffer=function(){return this.$element.val(this.buffer.join('')).val()}
107Inputmask.prototype.checkVal=function(allow){var len=this.mask.length
108var test=this.$element.val()
109var lastMatch=-1
110for(var i=0,pos=0;i<len;i++){if(this.tests[i]){this.buffer[i]=this.options.placeholder
111while(pos++<test.length){var c=test.charAt(pos-1)
112if(this.tests[i].test(c)){this.buffer[i]=c
113lastMatch=i
114break}}if(pos>test.length)break}else if(this.buffer[i]==test.charAt(pos)&&i!=this.partialPosition){pos++
115lastMatch=i}}if(!allow&&lastMatch+1<this.partialPosition){this.$element.val("")
116this.clearBuffer(0,len)}else if(allow||lastMatch+1>=this.partialPosition){this.writeBuffer()
117if(!allow)this.$element.val(this.$element.val().substring(0,lastMatch+1))}return(this.partialPosition?i:this.firstNonMaskPos)}
118var old=$.fn.inputmask
119$.fn.inputmask=function(options){return this.each(function(){var $this=$(this)
120var data=$this.data('bs.inputmask')
121if(!data)$this.data('bs.inputmask',(data=new Inputmask(this,options)))})}
122$.fn.inputmask.Constructor=Inputmask
123$.fn.inputmask.noConflict=function(){$.fn.inputmask=old
124return this}
125$(document).on('focus.bs.inputmask.data-api','[data-mask]',function(e){var $this=$(this)
126if($this.data('bs.inputmask'))return
127$this.inputmask($this.data())})}(window.jQuery);+function($){"use strict";var isIE=window.navigator.appName=='Microsoft Internet Explorer'
128var Fileinput=function(element,options){this.$element=$(element)
129this.$input=this.$element.find(':file')
130if(this.$input.length===0)return
131this.name=this.$input.attr('name')||options.name
132this.$hidden=this.$element.find('input[type=hidden][name="'+this.name+'"]')
133if(this.$hidden.length===0){this.$hidden=$('<input type="hidden">').insertBefore(this.$input)}this.$preview=this.$element.find('.fileinput-preview')
134var height=this.$preview.css('height')
135if(this.$preview.css('display')!=='inline'&&height!=='0px'&&height!=='none'){this.$preview.css('line-height',height)}this.original={exists:this.$element.hasClass('fileinput-exists'),preview:this.$preview.html(),hiddenVal:this.$hidden.val()}
136this.listen()}
137Fileinput.prototype.listen=function(){this.$input.on('change.bs.fileinput',$.proxy(this.change,this))
138$(this.$input[0].form).on('reset.bs.fileinput',$.proxy(this.reset,this))
139this.$element.find('[data-trigger="fileinput"]').on('click.bs.fileinput',$.proxy(this.trigger,this))
140this.$element.find('[data-dismiss="fileinput"]').on('click.bs.fileinput',$.proxy(this.clear,this))},Fileinput.prototype.change=function(e){var files=e.target.files===undefined?(e.target&&e.target.value?[{name:e.target.value.replace(/^.+\\/,'')}]:[]):e.target.files
141e.stopPropagation()
142if(files.length===0){this.clear()
143return}this.$hidden.val('')
144this.$hidden.attr('name','')
145this.$input.attr('name',this.name)
146var file=files[0]
147if(this.$preview.length>0&&(typeof file.type!=="undefined"?file.type.match(/^image\/(gif|png|jpeg)$/):file.name.match(/\.(gif|png|jpe?g)$/i))&&typeof FileReader!=="undefined"){var reader=new FileReader()
148var preview=this.$preview
149var element=this.$element
150reader.onload=function(re){var $img=$('<img>')
151$img[0].src=re.target.result
152files[0].result=re.target.result
153element.find('.fileinput-filename').text(file.name)
154if(preview.css('max-height')!='none')$img.css('max-height',parseInt(preview.css('max-height'),10)-parseInt(preview.css('padding-top'),10)-parseInt(preview.css('padding-bottom'),10)-parseInt(preview.css('border-top'),10)-parseInt(preview.css('border-bottom'),10))
155preview.html($img)
156element.addClass('fileinput-exists').removeClass('fileinput-new')
157element.trigger('change.bs.fileinput',files)}
158reader.readAsDataURL(file)}else{this.$element.find('.fileinput-filename').text(file.name)
159this.$preview.text(file.name)
160this.$element.addClass('fileinput-exists').removeClass('fileinput-new')
161this.$element.trigger('change.bs.fileinput')}},Fileinput.prototype.clear=function(e){if(e)e.preventDefault()
162this.$hidden.val('')
163this.$hidden.attr('name',this.name)
164this.$input.attr('name','')
165if(isIE){var inputClone=this.$input.clone(true);this.$input.after(inputClone);this.$input.remove();this.$input=inputClone;}else{this.$input.val('')}this.$preview.html('')
166this.$element.find('.fileinput-filename').text('')
167this.$element.addClass('fileinput-new').removeClass('fileinput-exists')
168if(e!==undefined){this.$input.trigger('change')
169this.$element.trigger('clear.bs.fileinput')}},Fileinput.prototype.reset=function(){this.clear()
170this.$hidden.val(this.original.hiddenVal)
171this.$preview.html(this.original.preview)
172this.$element.find('.fileinput-filename').text('')
173if(this.original.exists)this.$element.addClass('fileinput-exists').removeClass('fileinput-new')
174else this.$element.addClass('fileinput-new').removeClass('fileinput-exists')
175this.$element.trigger('reset.bs.fileinput')},Fileinput.prototype.trigger=function(e){this.$input.trigger('click')
176e.preventDefault()}
177var old=$.fn.fileinput
178$.fn.fileinput=function(options){return this.each(function(){var $this=$(this),data=$this.data('bs.fileinput')
179if(!data)$this.data('bs.fileinput',(data=new Fileinput(this,options)))
180if(typeof options=='string')data[options]()})}
181$.fn.fileinput.Constructor=Fileinput
182$.fn.fileinput.noConflict=function(){$.fn.fileinput=old
183return this}
184$(document).on('click.fileinput.data-api','[data-provides="fileinput"]',function(e){var $this=$(this)
185if($this.data('bs.fileinput'))return
186$this.fileinput($this.data())
187var $target=$(e.target).closest('[data-dismiss="fileinput"],[data-trigger="fileinput"]');if($target.length>0){e.preventDefault()
188$target.trigger('click.bs.fileinput')}})}(window.jQuery);+function($){"use strict";var OffCanvas=function(element,options){this.$element=$(element)
189this.options=$.extend({},OffCanvas.DEFAULTS,options)
190this.state=null
191this.placement=null
192if(this.options.recalc){this.calcClone()
193$(window).on('resize',$.proxy(this.recalc,this))}if(this.options.autohide)$(document).on('click',$.proxy(this.autohide,this))
194if(this.options.toggle)this.toggle()
195if(this.options.disablescrolling){this.options.disableScrolling=this.options.disablescrolling
196delete this.options.disablescrolling}}
197OffCanvas.DEFAULTS={toggle:true,placement:'auto',autohide:true,recalc:true,disableScrolling:false,modal:false}
198OffCanvas.prototype.offset=function(){switch(this.placement){case'left':case'right':return this.$element.outerWidth()
199case'top':case'bottom':return this.$element.outerHeight()}}
200OffCanvas.prototype.calcPlacement=function(){if(this.options.placement!=='auto'){this.placement=this.options.placement
201return}if(!this.$element.hasClass('in')){this.$element.css('visiblity','hidden !important')}var horizontal=$(window).width()/this.$element.width()
202var vertical=$(window).height()/this.$element.height()
203var element=this.$element
204function ab(a,b){if(element.css(b)==='auto')return a
205if(element.css(a)==='auto')return b
206var size_a=parseInt(element.css(a),10)
207var size_b=parseInt(element.css(b),10)
208return size_a>size_b?b:a}this.placement=horizontal>=vertical?ab('left','right'):ab('top','bottom')
209if(this.$element.css('visibility')==='hidden !important'){this.$element.removeClass('in').css('visiblity','')}}
210OffCanvas.prototype.opposite=function(placement){switch(placement){case'top':return'bottom'
211case'left':return'right'
212case'bottom':return'top'
213case'right':return'left'}}
214OffCanvas.prototype.getCanvasElements=function(){var canvas=this.options.canvas?$(this.options.canvas):this.$element
215var fixed_elements=canvas.find('*').filter(function(){return $(this).css('position')==='fixed'}).not(this.options.exclude)
216return canvas.add(fixed_elements)}
217OffCanvas.prototype.slide=function(elements,offset,callback){if(!$.support.transition){var anim={}
218anim[this.placement]="+="+offset
219return elements.animate(anim,100,callback)}var placement=this.placement
220var opposite=this.opposite(placement)
221elements.each(function(){if($(this).css(placement)!=='auto')$(this).css(placement,(parseInt($(this).css(placement),10)||0))
222if($(this).css(opposite)!=='auto')$(this).css(opposite,(parseInt($(this).css(opposite),
22210)||0))})
223this.$element.one($.support.transition.end,callback).emulateTransitionEnd(100)}
224OffCanvas.prototype.disableScrolling=function(){var bodyWidth=$('body').width()
225var prop='padding-'+this.opposite(this.placement)
226if($('body').data('offcanvas-style')===undefined){$('body').data('offcanvas-style',$('body').attr('style')||'')}$('body').css('overflow','hidden')
227if($('body').width()>bodyWidth){var padding=parseInt($('body').css(prop),10)+$('body').width()-bodyWidth
228setTimeout(function(){$('body').css(prop,padding)},1)}$('body').on('touchmove.bs',function(e){e.preventDefault();});}
229OffCanvas.prototype.enableScrolling=function(){$('body').off('touchmove.bs');}
230OffCanvas.prototype.show=function(){if(this.state)return
231var startEvent=$.Event('show.bs.offcanvas')
232this.$element.trigger(startEvent)
233if(startEvent.isDefaultPrevented())return
234this.state='slide-in'
235this.calcPlacement();var elements=this.getCanvasElements()
236var placement=this.placement
237var opposite=this.opposite(placement)
238var offset=this.offset()
239var offsetTop=$('header').outerHeight();if(elements.index(this.$element)!==-1){$(this.$element).data('offcanvas-style',$(this.$element).attr('style')||'')
240this.$element.css('top',offsetTop)
241this.$element.css(placement);}if(this.options.disableScrolling)this.disableScrolling()
242if(this.options.modal)this.toggleBackdrop()
243var complete=function(){if(this.state!='slide-in')return
244this.state='slid'
245this.$element.trigger('shown.bs.offcanvas')}
246setTimeout($.proxy(function(){this.$element.addClass('in');this.slide(elements,offset,$.proxy(complete,this))},this),1)}
247OffCanvas.prototype.hide=function(fast){if(this.state!=='slid')return
248var startEvent=$.Event('hide.bs.offcanvas')
249this.$element.trigger(startEvent)
250if(startEvent.isDefaultPrevented())return
251this.state='slide-out'
252var elements=$('.canvas-slid')
253var placement=this.placement
254var offset=-1*this.offset()
255var complete=function(){if(this.state!='slide-out')return
256this.state=null
257this.placement=null
258this.$element.removeClass('in')
259elements.removeClass('canvas-sliding')
260elements.add(this.$element).add('body').each(function(){$(this).attr('style',$(this).data('offcanvas-style')).removeData('offcanvas-style')})
261this.$element.trigger('hidden.bs.offcanvas')}
262if(this.options.disableScrolling)this.enableScrolling()
263if(this.options.modal)this.toggleBackdrop()
264elements.removeClass('canvas-slid').addClass('canvas-sliding')
265$('#navslide-toggle').removeClass('is-active')
266setTimeout($.proxy(function(){this.slide(elements,offset,$.proxy(complete,this))},this),1)}
267OffCanvas.prototype.toggle=function(){if(this.state==='slide-in'||this.state==='slide-out')return
268this[this.state==='slid'?'hide':'show']()}
269OffCanvas.prototype.toggleBackdrop=function(callback){callback=callback||$.noop;if(this.state=='slide-in'){var doAnimate=$.support.transition;this.$backdrop=$('<div class="modal-backdrop fade" />').insertAfter(this.$element);if(doAnimate)this.$backdrop[0].offsetWidth
270this.$backdrop.addClass('in')
271doAnimate?this.$backdrop.one($.support.transition.end,callback).emulateTransitionEnd(150):callback()}else if(this.state=='slide-out'&&this.$backdrop){this.$backdrop.removeClass('in');$('body').off('touchmove.bs');var self=this;if($.support.transition){this.$backdrop.one($.support.transition.end,function(){self.$backdrop.remove();callback()
272self.$backdrop=null;}).emulateTransitionEnd(150);}else{this.$backdrop.remove();this.$backdrop=null;callback();}}else if(callback){callback()}}
273OffCanvas.prototype.calcClone=function(){this.$calcClone=this.$element.clone().html('').addClass('offcanvas-clone').removeClass('in').appendTo($('body'))}
274OffCanvas.prototype.recalc=function(){if(this.$calcClone.css('display')==='none'||(this.state!=='slid'&&this.state!=='slide-in'))return
275this.state=null
276this.placement=null
277var elements=this.getCanvasElements()
278this.$element.removeClass('in')
279console.log(this)
280elements.removeClass('canvas-slid')
281elements.add(this.$element).add('body').each(function(){$(this).attr('style',$(this).data('offcanvas-style')).removeData('offcanvas-style')})}
282OffCanvas.prototype.autohide=function(e){if($(e.target).closest(this.$element).length===0)this.hide()}
283var old=$.fn.offcanvas
284$.fn.offcanvas=function(option){return this.each(function(){var $this=$(this)
285var data=$this.data('bs.offcanvas')
286var options=$.extend({},OffCanvas.DEFAULTS,$this.data(),typeof option==='object'&&option)
287if(!data)$this.data('bs.offcanvas',(data=new OffCanvas(this,options)))
288if(typeof option==='string')data[option]()})}
289$.fn.offcanvas.Constructor=OffCanvas
290$.fn.offcanvas.noConflict=function(){$.fn.offcanvas=old
291return this}
292$(document).on('click.bs.offcanvas.data-api','[data-toggle=offcanvas]',function(e){var $this=$(this),href
293var target=$this.attr('data-target')||e.preventDefault()||(href=$this.attr('href'))&&href.replace(/.*(?=#[^\s]+$)/,'')
294var $canvas=$(target)
295var data=$canvas.data('bs.offcanvas')
296var option=data?'toggle':$this.data()
297e.stopPropagation()
298if(data)data.toggle()
299else $canvas.offcanvas(option)})}(window.jQuery);+function($){'use strict';function transitionEnd(){var el=document.createElement('bootstrap')
300var transEndEventNames={WebkitTransition:'webkitTransitionEnd',MozTransition:'transitionend',OTransition:'oTransitionEnd otransitionend',transition:'transitionend'}
vendor: 482 bytes, lines 301-307
301for(var name in transEndEventNames){if(el.style[name]!==undefined){return{end:transEndEventNames[name]}}}return false}if($.support.transition!==undefined)return
302$.fn.emulateTransitionEnd=function(duration){var called=false,$el=this
303$(this).one($.support.transition.end,function(){called=true})
304var callback=function(){if(!called)$($el).trigger($.support.transition.end)}
305setTimeout(callback,duration)
306return this}
307$(function(){$.support.transition=transitionEnd()})}(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.