PageSourceSearch

https://replik.dk/wp-content/cache/min/1/wp-content/plugins/wp-eve…y.comiseo.daterangepicker.js?ver=1787930350

js replik.dk collected 2026-10-09 04:23:02 UTC 14,504 bytes, 82 lines download raw bytes

1/*!
2 * jQuery UI date range picker widget
3 * Copyright (c) 2017 Tamble, Inc.
4 * Licensed under MIT (https://github.com/tamble/jquery-ui-daterangepicker/raw/master/LICENSE.txt)
5 *
6 * Depends:
7 *   - jQuery 1.8.3+
8 *   - jQuery UI 1.9.0+ (widget factory, position utility, button, menu, datepicker)
9 *   - moment.js 2.3.0+
10 */
11(function($,window,undefined){var uniqueId=0;$.widget('comiseo.daterangepicker',{version:'0.6.0-beta.1',options:{presetRanges:[{text:'Today',dateStart:function(){return moment()},dateEnd:function(){return moment()}},{text:'Yesterday',dateStart:function(){return moment().subtract('days',1)},dateEnd:function(){return moment().subtract('days',1)}},{text:'Last 7 Days',dateStart:function(){return moment().subtract('days',6)},dateEnd:function(){return moment()}},{text:'Last Week (Mo-Su)',dateStart:function(){return moment().subtract('days',7).isoWeekday(1)},dateEnd:function(){return moment().subtract('days',7).isoWeekday(7)}},{text:'Month to Date',dateStart:function(){return moment().startOf('month')},dateEnd:function(){return moment()}},{text:'Previous Month',dateStart:function(){return moment().subtract('month',1).startOf('month')},dateEnd:function(){return moment().subtract('month',1).endOf('month')}},{text:'Year to Date',dateStart:function(){return moment().startOf('year')},dateEnd:function(){return moment()}}],initialText:'Select date range...',icon:'ui-icon-triangle-1-s',applyButtonText:'Apply',clearButtonText:'Clear',cancelButtonText:'Cancel',rangeSplitter:' - ',dateFormat:'M d, yy',altFormat:'yy-mm-dd',verticalOffset:0,mirrorOnCollision:!0,autoFitCalendars:!0,applyOnMenuSelect:!0,open:null,close:null,change:null,clear:null,cancel:null,onOpen:null,onClose:null,onChange:null,onClear:null,datepickerOptions:{numberOfMonths:3,maxDate:0}},_create:function(){this._dateRangePicker=buildDateRangePicker(this.element,this,this.options)},_destroy:function(){this._dateRangePicker.destroy()},_setOptions:function(options){this._super(options);this._dateRangePicker.enforceOptions()},open:function(){this._dateRangePicker.open()},close:function(){this._dateRangePicker.close()},setRange:function(range){this._dateRangePicker.setRange(range)},getRange:function(){return this._dateRangePicker.getRange()},clearRange:function(){this._dateRangePicker.clearRange()},widget:function(){return this._dateRangePicker.getContainer()}});function buildTriggerButton($originalElement,classnameContext,options){var $self,id;function fixReferences(){id='drp_autogen'+uniqueId++;$('label[for="'+$originalElement.attr('id')+'"]').attr('for',id)}
12function fixButton(){if($.fn.button.noConflict){var btn=$.fn.button.noConflict();$.fn.btn=btn}}
13function init(){fixReferences();fixButton();$self=$('<button type="button"></button>').addClass(classnameContext+'-triggerbutton').attr({'title':$originalElement.attr('title'),'tabindex':$originalElement.attr('tabindex'),id:id}).button({icons:{secondary:options.icon},icon:options.icon,iconPosition:'end',label:options.initialText})}
14function getLabel(){return $self.button('option','label')}
15function setLabel(value){$self.button('option','label',value)}
16function reset(){$originalElement.val('').change();setLabel(options.initialText)}
17function enforceOptions(){$self.button('option',{icons:{secondary:options.icon},icon:options.icon,iconPosition:'end',label:options.initialText})}
18init();return{getElement:function(){return $self},getLabel:getLabel,setLabel:setLabel,reset:reset,enforceOptions:enforceOptions}}
19function buildPresetsMenu(classnameContext,options,onClick){var $self,$menu,menuItemWrapper;function init(){$self=$('<div></div>').addClass(classnameContext+'-presets');$menu=$('<ul></ul>');if($.ui.menu.prototype.options.items===undefined){menuItemWrapper={start:'<li><a href="#">',end:'</a></li>'}}else{menuItemWrapper={start:'<li><div>',end:'</div></li>'}}
20$.each(options.presetRanges,function(){$(menuItemWrapper.start+this.text+menuItemWrapper.end).data('dateStart',this.dateStart).data('dateEnd',this.dateEnd).click(onClick).appendTo($menu)});$self.append($menu);$menu.menu().data('ui-menu').delay=0}
21init();return{getElement:function(){return $self}}}
22function buildCalendar(classnameContext,options){var $self,range={start:null,end:null};
22function init(){$self=$('<div></div>',{'class':classnameContext+'-calendar ui-widget-content'});$self.datepicker($.extend({},options.datepickerOptions,{beforeShowDay:beforeShowDay,onSelect:onSelectDay}));updateAtMidnight()}
23function enforceOptions(){$self.datepicker('option',$.extend({},options.datepickerOptions,{beforeShowDay:beforeShowDay,onSelect:onSelectDay}))}
24function onSelectDay(dateText,instance){var dateFormat=options.datepickerOptions.dateFormat||$.datepicker._defaults.dateFormat,selectedDate=$.datepicker.parseDate(dateFormat,dateText);if(!range.start||range.end){range.start=selectedDate;range.end=null}else if(selectedDate<range.start){range.end=range.start;range.start=selectedDate}else{range.end=selectedDate}
25if(options.datepickerOptions.hasOwnProperty('onSelect')){options.datepickerOptions.onSelect(dateText,instance)}}
26function beforeShowDay(date){var result=[!0,range.start&&((+date===+range.start)||(range.end&&range.start<=date&&date<=range.end))?'ui-state-highlight':''],userResult=[!0,'',''];if(options.datepickerOptions.hasOwnProperty('beforeShowDay')){userResult=options.datepickerOptions.beforeShowDay(date)}
27return[result[0]&&userResult[0],result[1]+' '+userResult[1],userResult[2]]}
28function updateAtMidnight(){setTimeout(function(){refresh();updateAtMidnight()},moment().endOf('day')-moment())}
29function scrollToRangeStart(){if(range.start){$self.datepicker('setDate',range.start)}}
30function refresh(){$self.datepicker('refresh');$self.datepicker('setDate',null)}
31function reset(){range={start:null,end:null};refresh()}
32init();return{getElement:function(){return $self},scrollToRangeStart:function(){return scrollToRangeStart()},getRange:function(){return range},setRange:function(value){range=value;refresh()},refresh:refresh,reset:reset,enforceOptions:enforceOptions}}
33function buildButtonPanel(classnameContext,options,handlers){var $self,applyButton,clearButton,cancelButton;function init(){$self=$('<div></div>').addClass(classnameContext+'-buttonpanel');if(options.applyButtonText){applyButton=$('<button type="button" class="ui-priority-primary"></button>').text(options.applyButtonText).button();$self.append(applyButton)}
34if(options.clearButtonText){clearButton=$('<button type="button" class="ui-priority-secondary"></button>').text(options.clearButtonText).button();$self.append(clearButton)}
35if(options.cancelButtonText){cancelButton=$('<button type="button" class="ui-priority-secondary"></button>').text(options.cancelButtonText).button();$self.append(cancelButton)}
36bindEvents()}
37function enforceOptions(){if(applyButton){applyButton.button('option','label',options.applyButtonText)}
38if(clearButton){clearButton.button('option','label',options.clearButtonText)}
39if(cancelButton){cancelButton.button('option','label',options.cancelButtonText)}}
40function bindEvents(){if(handlers){if(applyButton){applyButton.click(handlers.onApply)}
41if(clearButton){clearButton.click(handlers.onClear)}
42if(cancelButton){cancelButton.click(handlers.onCancel)}}}
43init();return{getElement:function(){return $self},enforceOptions:enforceOptions}}
44function buildDateRangePicker($originalElement,instance,options){var classname='comiseo-daterangepicker',$container,$mask,triggerButton,presetsMenu,calendar,buttonPanel,isOpen=!1,autoFitNeeded=!1,LEFT=0,RIGHT=1,TOP=2,BOTTOM=3,sides=['left','right','top','bottom'],hSide=RIGHT,vSide=null;function init(){triggerButton=buildTriggerButton($originalElement,classname,options);presetsMenu=buildPresetsMenu(classname,options,usePreset);calendar=buildCalendar(classname,options);autoFit.numberOfMonths=options.datepickerOptions.numberOfMonths;if(autoFit.numberOfMonths instanceof Array){options.autoFitCalendars=!1}
45buttonPanel=buildButtonPanel(classname,options,{onApply:function(event){close(event);setRange(null,event)},onClear:function(event){close(event);clearRange(event)},onCancel:function(event){instance._trigger('cancel',event,{instance:instance});close(event);reset()}});render();autoFit();reset();bindEvents()}
46function render(){$container=$('<div></div>',{'class':classname+' '+classname+'-'+sides[hSide]+' ui-widget ui-widget-content ui-corner-all ui-front'}).append($('<div></div>',{'class':classname+'-main ui-widget-content'}).append(presetsMenu.getElement()).append(calendar.getElement())).append($('<div class="ui-helper-clearfix"></div>').append(buttonPanel.getElement())).hide();$originalElement.hide().after(triggerButton.getElement());$mask=$('<div></div>',{'class':'ui-front '+classname+'-mask'}).hide();$('body').append($mask).append($container)}
47function autoFit(){if(options.autoFitCalendars){var maxWidth=$(window).width(),initialWidth=$container.outerWidth(!0),$calendar=calendar.getElement(),numberOfMonths=$calendar.datepicker('option','numberOfMonths'),initialNumberOfMonths=numberOfMonths;if(initialWidth>maxWidth){while(numberOfMonths>1&&$container.outerWidth(!0)>maxWidth){$calendar.datepicker('option','numberOfMonths',--numberOfMonths)}
48if(numberOfMonths!==initialNumberOfMonths){autoFit.monthWidth=(initialWidth-$container.outerWidth(!0))/(initialNumberOfMonths-numberOfMonths)}}else{while(numberOfMonths<autoFit.numberOfMonths&&(maxWidth-$container.outerWidth(!0))>=autoFit.monthWidth){$calendar.datepicker('option','numberOfMonths',++numberOfMonths)}}
49reposition();autoFitNeeded=!1}}
50function destroy(){$container.remove();triggerButton.getElement().remove();$originalElement.show()}
51function bindEvents(){triggerButton.getElement().click(toggle);triggerButton.getElement().keydown(keyPressTriggerOpenOrClose);$mask.click(function(event){close(event);reset()});$(window).resize(function(){isOpen?autoFit():autoFitNeeded=!0})}
52function formatRangeForDisplay(range){var dateFormat=options.dateFormat;return $.datepicker.formatDate(dateFormat,range.start)+(+range.end!==+range.start?options.rangeSplitter+$.datepicker.formatDate(dateFormat,range.end):'')}
53function formatRange(range){var dateFormat=options.altFormat,formattedRange={};formattedRange.start=$.datepicker.formatDate(dateFormat,range.start);formattedRange.end=$.datepicker.formatDate(dateFormat,range.end);return JSON.stringify(formattedRange)}
54function parseRange(text){var dateFormat=options.altFormat,range=null;if(text){try{range=JSON.parse(text,function(key,value){return key?$.datepicker.parseDate(dateFormat,value):value})}catch(e){}}
55return range}
56function reset(){var range=getRange();if(range){triggerButton.setLabel(formatRangeForDisplay(range));calendar.setRange(range)}else{calendar.reset()}}
57function setRange(value,event){var range=value||calendar.getRange();if(!range.start){return}
58if(!range.end){range.end=range.start}
59value&&calendar.setRange(range);triggerButton.setLabel(formatRangeForDisplay(range));$originalElement.val(formatRange(range)).change();if(options.onChange){options.onChange()}
60instance._trigger('change',event,{instance:instance})}
61function getRange(){return parseRange($originalElement.val())}
62function clearRange(event){triggerButton.reset();calendar.reset();if(options.onClear){options.onClear()}
63instance._trigger('clear',event,{instance:instance})}
64function usePreset(event){var $this=$(this),start=$this.data('dateStart')().startOf('day').toDate(),end=$this.data('dateEnd')().startOf('day').toDate();calendar.setRange({start:start,end:end});if(options.applyOnMenuSelect){close(event);setRange(null,event)}
65return!1}
66function reposition(){$container.position({my:'left top',at:'left bottom'+(options.verticalOffset<0?options.verticalOffset:'+'+options.verticalOffset),of:triggerButton.getElement(),collision:'flipfit flipfit',using:function(coords,feedback){var containerCenterX=feedback.element.left+feedback.element.width/2,triggerButtonCenterX=feedback.target.left+feedback.target.width/2,prevHSide=hSide,last,containerCenterY=feedback.element.top+feedback.element.height/2,triggerButtonCenterY=feedback.target.top+feedback.target.height/2,prevVSide=vSide,vFit;hSide=(containerCenterX>triggerButtonCenterX)?RIGHT:LEFT;if(hSide!==prevHSide){if(options.mirrorOnCollision){last=(hSide===LEFT)?presetsMenu:calendar;$container.children().first().append(last.getElement())}
67$container.removeClass(classname+'-'+sides[prevHSide]);$container.addClass(classname+'-'+sides[hSide])}
68$container.css({left:coords.left,top:coords.top});vSide=(containerCenterY>triggerButtonCenterY)?BOTTOM:TOP;if(vSide!==prevVSide){if(prevVSide!==null){triggerButton.getElement().removeClass(classname+'-'+sides[prevVSide])}
69triggerButton.getElement().addClass(classname+'-'+sides[vSide])}
70vFit=vSide===BOTTOM&&feedback.element.top-feedback.target.top!==feedback.target.height+options.verticalOffset||vSide===TOP&&feedback.target.top-feedback.element.top!==feedback.element.height+options.verticalOffset;triggerButton.getElement().toggleClass(classname+'-vfit',vFit)}})}
71function killEvent(event){event.preventDefault();event.stopPropagation()}
72function keyPressTriggerOpenOrClose(event){switch(event.which){case $.ui.keyCode.UP:case $.ui.keyCode.DOWN:killEvent(event);open(event);return;case $.ui.keyCode.ESCAPE:killEvent(event);close(event);reset();return;case $.ui.keyCode.TAB:close(event);return}}
73function open(event){if(!isOpen){triggerButton.getElement().addClass(classname+'-active');$mask.show();isOpen=!0;autoFitNeeded&&autoFit();calendar.scrollToRangeStart();$container.show();reposition()}
74if(options.onOpen){options.onOpen()}
75instance._trigger('open',event,{instance:instance})}
76function close(event){if(isOpen){$container.hide();$mask.hide();triggerButton.getElement().removeClass(classname+'-active');isOpen=!1}
77if(options.onClose){options.onClose()}
78instance._trigger('close',event,{instance:instance})}
79function toggle(event){if(isOpen){close(event);reset()}else{open(event)}}
80function getContainer(){return $container}
81function enforceOptions(){var oldPresetsMenu=presetsMenu;presetsMenu=buildPresetsMenu(classname,options,usePreset);oldPresetsMenu.getElement().replaceWith(presetsMenu.getElement());calendar.enforceOptions();buttonPanel.enforceOptions();triggerButton.enforceOptions();var range=getRange();if(range){triggerButton.setLabel(formatRangeForDisplay(range))}}
82init();return{toggle:toggle,destroy:destroy,open:open,close:close,setRange:setRange,getRange:getRange,clearRange:clearRange,reset:reset,enforceOptions:enforceOptions,getContainer:getContainer}}})(jQuery,window)

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.