2 lines
30 KiB
JavaScript
2 lines
30 KiB
JavaScript
!function(a){"use strict";var b="calendarsPicker";a.JQPlugin.createPlugin({name:b,defaultRenderer:{picker:'<div class="calendars"><div class="calendars-nav">{link:prev}{link:today}{link:next}</div>{months}{popup:start}<div class="calendars-ctrl">{link:clear}{link:close}</div>{popup:end}<div class="calendars-clear-fix"></div></div>',monthRow:'<div class="calendars-month-row">{months}</div>',month:'<div class="calendars-month"><div class="calendars-month-header">{monthHeader}</div><table><thead>{weekHeader}</thead><tbody>{weeks}</tbody></table></div>',weekHeader:"<tr>{days}</tr>",dayHeader:"<th>{day}</th>",week:"<tr>{days}</tr>",day:"<td>{day}</td>",monthSelector:".calendars-month",daySelector:"td",rtlClass:"calendars-rtl",multiClass:"calendars-multi",defaultClass:"",selectedClass:"calendars-selected",highlightedClass:"calendars-highlight",todayClass:"calendars-today",otherMonthClass:"calendars-other-month",weekendClass:"calendars-weekend",commandClass:"calendars-cmd",commandButtonClass:"",commandLinkClass:"",disabledClass:"calendars-disabled"},commands:{prev:{text:"prevText",status:"prevStatus",keystroke:{keyCode:33},enabled:function(a){var b=a.curMinDate();return!b||a.drawDate.newDate().add(1-a.options.monthsToStep-a.options.monthsOffset,"m").day(a.options.calendar.minDay).add(-1,"d").compareTo(b)!==-1},date:function(a){return a.drawDate.newDate().add(-a.options.monthsToStep-a.options.monthsOffset,"m").day(a.options.calendar.minDay)},action:function(a){c.changeMonth(this,-a.options.monthsToStep)}},prevJump:{text:"prevJumpText",status:"prevJumpStatus",keystroke:{keyCode:33,ctrlKey:!0},enabled:function(a){var b=a.curMinDate();return!b||a.drawDate.newDate().add(1-a.options.monthsToJump-a.options.monthsOffset,"m").day(a.options.calendar.minDay).add(-1,"d").compareTo(b)!==-1},date:function(a){return a.drawDate.newDate().add(-a.options.monthsToJump-a.options.monthsOffset,"m").day(a.options.calendar.minDay)},action:function(a){c.changeMonth(this,-a.options.monthsToJump)}},next:{text:"nextText",status:"nextStatus",keystroke:{keyCode:34},enabled:function(a){var b=a.get("maxDate");return!b||1!==a.drawDate.newDate().add(a.options.monthsToStep-a.options.monthsOffset,"m").day(a.options.calendar.minDay).compareTo(b)},date:function(a){return a.drawDate.newDate().add(a.options.monthsToStep-a.options.monthsOffset,"m").day(a.options.calendar.minDay)},action:function(a){c.changeMonth(this,a.options.monthsToStep)}},nextJump:{text:"nextJumpText",status:"nextJumpStatus",keystroke:{keyCode:34,ctrlKey:!0},enabled:function(a){var b=a.get("maxDate");return!b||1!==a.drawDate.newDate().add(a.options.monthsToJump-a.options.monthsOffset,"m").day(a.options.calendar.minDay).compareTo(b)},date:function(a){return a.drawDate.newDate().add(a.options.monthsToJump-a.options.monthsOffset,"m").day(a.options.calendar.minDay)},action:function(a){c.changeMonth(this,a.options.monthsToJump)}},current:{text:"currentText",status:"currentStatus",keystroke:{keyCode:36,ctrlKey:!0},enabled:function(a){var b=a.curMinDate(),c=a.get("maxDate"),d=a.selectedDates[0]||a.options.calendar.today();return!(b&&d.compareTo(b)===-1||c&&1===d.compareTo(c))},date:function(a){return a.selectedDates[0]||a.options.calendar.today()},action:function(a){var b=a.selectedDates[0]||a.options.calendar.today();c.showMonth(this,b.year(),b.month())}},today:{text:"todayText",status:"todayStatus",keystroke:{keyCode:36,ctrlKey:!0},enabled:function(a){var b=a.curMinDate(),c=a.get("maxDate");return!(b&&a.options.calendar.today().compareTo(b)===-1||c&&1===a.options.calendar.today().compareTo(c))},date:function(a){return a.options.calendar.today()},action:function(){c.showMonth(this)}},clear:{text:"clearText",status:"clearStatus",keystroke:{keyCode:35,ctrlKey:!0},enabled:function(){return!0},date:function(){return null},action:function(){c.clear(this)}},close:{text:"closeText",status:"closeStatus",keystroke:{keyCode:27},enabled:function(){return!0},date:function(){return null},action:function(){c.hide(this)}},prevWeek:{text:"prevWeekText",status:"prevWeekStatus",keystroke:{keyCode:38,ctrlKey:!0},enabled:function(a){var b=a.curMinDate();return!b||a.drawDate.newDate().add(-a.options.calendar.daysInWeek(),"d").compareTo(b)!==-1},date:function(a){return a.drawDate.newDate().add(-a.options.calendar.daysInWeek(),"d")},action:function(a){c.changeDay(this,-a.options.calendar.daysInWeek())}},prevDay:{text:"prevDayText",status:"prevDayStatus",keystroke:{keyCode:37,ctrlKey:!0},enabled:function(a){var b=a.curMinDate();return!b||a.drawDate.newDate().add(-1,"d").compareTo(b)!==-1},date:function(a){return a.drawDate.newDate().add(-1,"d")},action:function(){c.changeDay(this,-1)}},nextDay:{text:"nextDayText",status:"nextDayStatus",keystroke:{keyCode:39,ctrlKey:!0},enabled:function(a){var b=a.get("maxDate");return!b||1!==a.drawDate.newDate().add(1,"d").compareTo(b)},date:function(a){return a.drawDate.newDate().add(1,"d")},action:function(){c.changeDay(this,1)}},nextWeek:{text:"nextWeekText",status:"nextWeekStatus",keystroke:{keyCode:40,ctrlKey:!0},enabled:function(a){var b=a.get("maxDate");return!b||1!==a.drawDate.newDate().add(a.options.calendar.daysInWeek(),"d").compareTo(b)},date:function(a){return a.drawDate.newDate().add(a.options.calendar.daysInWeek(),"d")},action:function(a){c.changeDay(this,a.options.calendar.daysInWeek())}}},defaultOptions:{calendar:a.calendars.instance(),pickerClass:"",showOnFocus:!0,showTrigger:null,showAnim:"show",showOptions:{},showSpeed:"normal",popupContainer:null,alignment:"bottom",fixedWeeks:!1,firstDay:null,calculateWeek:null,localNumbers:!1,monthsToShow:1,monthsOffset:0,monthsToStep:1,monthsToJump:12,useMouseWheel:!0,changeMonth:!0,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,defaultDate:null,selectDefaultDate:!1,minDate:null,maxDate:null,dateFormat:null,autoSize:!1,rangeSelect:!1,rangeSeparator:" - ",multiSelect:0,multiSeparator:",",onDate:null,onShow:null,onChangeMonthYear:null,onSelect:null,onClose:null,altField:null,altFormat:null,constrainInput:!0,commandsAsDateFormat:!1,commands:{}},regionalOptions:{"":{renderer:{},prevText:"<Prev",prevStatus:"Show the previous month",prevJumpText:"<<",prevJumpStatus:"Show the previous year",nextText:"Next>",nextStatus:"Show the next month",nextJumpText:">>",nextJumpStatus:"Show the next year",currentText:"Current",currentStatus:"Show the current month",todayText:"Today",todayStatus:"Show today's month",clearText:"Clear",clearStatus:"Clear all the dates",closeText:"Close",closeStatus:"Close the datepicker",yearStatus:"Change the year",earlierText:"  ▲",laterText:"  ▼",monthStatus:"Change the month",weekText:"Wk",weekStatus:"Week of the year",dayStatus:"Select DD, M d, yyyy",defaultStatus:"Select a date",isRTL:!1}},_disabled:[],_popupClass:"calendars-popup",_triggerClass:"calendars-trigger",_disableClass:"calendars-disable",_monthYearClass:"calendars-month-year",_curMonthClass:"calendars-month-",_anyYearClass:"calendars-any-year",_curDoWClass:"calendars-dow-",_init:function(){this.defaultOptions.commands=this.commands,this.regionalOptions[""].renderer=this.defaultRenderer,this._super()},_instSettings:function(b,c){return{selectedDates:[],drawDate:null,pickingRange:!1,inline:a.inArray(b[0].nodeName.toLowerCase(),["div","span"])>-1,get:function(b){return a.inArray(b,["defaultDate","minDate","maxDate"])>-1?this.options.calendar.determineDate(this.options[b],null,this.selectedDates[0],this.get("dateFormat"),this.getConfig()):"dateFormat"===b?this.options.dateFormat||this.options.calendar.local.dateFormat:this.options[b]},curMinDate:function(){return this.pickingRange?this.selectedDates[0]:this.get("minDate")},getConfig:function(){return{dayNamesShort:this.options.dayNamesShort,dayNames:this.options.dayNames,monthNamesShort:this.options.monthNamesShort,monthNames:this.options.monthNames,calculateWeek:this.options.calculateWeek,shortYearCutoff:this.options.shortYearCutoff}}}},_postAttach:function(b,d){d.inline?(d.drawDate=c._checkMinMax((d.selectedDates[0]||d.get("defaultDate")||d.options.calendar.today()).newDate(),d),d.prevDate=d.drawDate.newDate(),this._update(b[0]),a.fn.mousewheel&&b.mousewheel(this._doMouseWheel)):(this._attachments(b,d),b.on("keydown."+d.name,this._keyDown).on("keypress."+d.name,this._keyPress).on("keyup."+d.name,this._keyUp),b.attr("disabled")&&this.disable(b[0]))},_optionsChanged:function(b,c,d){if(d.calendar&&d.calendar!==c.options.calendar){var e=function(a){return"object"==typeof c.options[a]?null:c.options[a]};d=a.extend({defaultDate:e("defaultDate"),minDate:e("minDate"),maxDate:e("maxDate")},d),c.selectedDates=[],c.drawDate=null}var f=c.selectedDates;a.extend(c.options,d),this.setDate(b[0],f,null,!1,!0),c.pickingRange=!1;var g=c.options.calendar,h=c.get("defaultDate");c.drawDate=this._checkMinMax((h?h:c.drawDate)||h||g.today(),c).newDate(),c.inline||this._attachments(b,c),(c.inline||c.div)&&this._update(b[0])},_attachments:function(b,d){b.off("focus."+d.name),d.options.showOnFocus&&b.on("focus."+d.name,this.show),d.trigger&&d.trigger.remove();var e=d.options.showTrigger;d.trigger=e?a(e).clone().removeAttr("id").addClass(this._triggerClass)[d.options.isRTL?"insertBefore":"insertAfter"](b).click(function(){c.isDisabled(b[0])||c[c.curInst===d?"hide":"show"](b[0])}):a([]),this._autoSize(b,d);var f=this._extractDates(d,b.val());f&&this.setDate(b[0],f,null,!0);var g=d.get("defaultDate");d.options.selectDefaultDate&&g&&0===d.selectedDates.length&&this.setDate(b[0],(g||d.options.calendar.today()).newDate())},_autoSize:function(a,b){if(b.options.autoSize&&!b.inline){var c=b.options.calendar,d=c.newDate(2009,10,20),e=b.get("dateFormat");if(e.match(/[DM]/)){var f=function(a){for(var b=0,c=0,d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};d.month(f(c.local[e.match(/MM/)?"monthNames":"monthNamesShort"])+1),d.day(f(c.local[e.match(/DD/)?"dayNames":"dayNamesShort"])+20-d.dayOfWeek())}b.elem.attr("size",d.formatDate(e,{localNumbers:b.options.localnumbers}).length)}},_preDestroy:function(b,c){c.trigger&&c.trigger.remove(),b.empty().off("."+c.name),c.inline&&a.fn.mousewheel&&b.unmousewheel(),!c.inline&&c.options.autoSize&&b.removeAttr("size")},multipleEvents:function(a){var b=arguments;return function(){for(var a=0;a<b.length;a++)b[a].apply(this,arguments)}},enable:function(b){if(b=a(b),b.hasClass(this._getMarker())){var c=this._getInst(b);c.inline?b.children("."+this._disableClass).remove().end().find("button,select").prop("disabled",!1).end().find("a").attr("href","#"):(b.prop("disabled",!1),c.trigger.filter("button."+this._triggerClass).prop("disabled",!1).end().filter("img."+this._triggerClass).css({opacity:"1.0",cursor:""})),this._disabled=a.map(this._disabled,function(a){return a===b[0]?null:a})}},disable:function(b){if(b=a(b),b.hasClass(this._getMarker())){var c=this._getInst(b);if(c.inline){var d=b.children(":last"),e=d.offset(),f={left:0,top:0};d.parents().each(function(){if("relative"===a(this).css("position"))return f=a(this).offset(),!1});var g=b.css("zIndex");g=("auto"===g?0:parseInt(g,10))+1,b.prepend('<div class="'+this._disableClass+'" style="width: '+d.outerWidth()+"px; height: "+d.outerHeight()+"px; left: "+(e.left-f.left)+"px; top: "+(e.top-f.top)+"px; z-index: "+g+'"></div>').find("button,select").prop("disabled",!0).end().find("a").removeAttr("href")}else b.prop("disabled",!0),c.trigger.filter("button."+this._triggerClass).prop("disabled",!0).end().filter("img."+this._triggerClass).css({opacity:"0.5",cursor:"default"});this._disabled=a.map(this._disabled,function(a){return a===b[0]?null:a}),this._disabled.push(b[0])}},isDisabled:function(b){return b&&a.inArray(b,this._disabled)>-1},show:function(b){b=a(b.target||b);var d=c._getInst(b);if(c.curInst!==d&&(c.curInst&&c.hide(c.curInst,!0),!a.isEmptyObject(d))){d.lastVal=null,d.selectedDates=c._extractDates(d,b.val()),d.pickingRange=!1,d.drawDate=c._checkMinMax((d.selectedDates[0]||d.get("defaultDate")||d.options.calendar.today()).newDate(),d),d.prevDate=d.drawDate.newDate(),c.curInst=d,c._update(b[0],!0);var e=c._checkOffset(d);d.div.css({left:e.left,top:e.top});var f=d.options.showAnim,g=d.options.showSpeed;if(g="normal"===g&&a.ui&&parseInt(a.ui.version.substring(2))>=8?"_default":g,a.effects&&(a.effects[f]||a.effects.effect&&a.effects.effect[f])){var h=d.div.data();for(var i in h)i.match(/^ec\.storage\./)&&(h[i]=d._mainDiv.css(i.replace(/ec\.storage\./,"")));d.div.data(h).show(f,d.options.showOptions,g)}else d.div[f||"show"](f?g:0)}},_extractDates:function(a,b){if(b!==a.lastVal){a.lastVal=b,b=b.split(a.options.multiSelect?a.options.multiSeparator:a.options.rangeSelect?a.options.rangeSeparator:"\0");for(var c=[],d=0;d<b.length;d++)try{var e=a.options.calendar.parseDate(a.get("dateFormat"),b[d]);if(e){for(var f=!1,g=0;g<c.length;g++)if(0===c[g].compareTo(e)){f=!0;break}f||c.push(e)}}catch(a){}return c.splice(a.options.multiSelect||(a.options.rangeSelect?2:1),c.length),a.options.rangeSelect&&1===c.length&&(c[1]=c[0]),c}},_update:function(b,d){b=a(b.target||b);var e=c._getInst(b);if(!a.isEmptyObject(e))if((e.inline||c.curInst===e)&&(!a.isFunction(e.options.onChangeMonthYear)||e.prevDate&&e.prevDate.year()===e.drawDate.year()&&e.prevDate.month()===e.drawDate.month()||e.options.onChangeMonthYear.apply(b[0],[e.drawDate.year(),e.drawDate.month()])),e.inline){var f=a("a, :input",b).index(a(":focus",b));b.html(this._generateContent(b[0],e));var g=b.find("a, :input");g.eq(Math.max(Math.min(f,g.length-1),0)).focus()}else c.curInst===e&&(e.div||(e.div=a("<div></div>").addClass(this._popupClass).css({display:d?"none":"static",position:"absolute",left:b.offset().left,top:b.offset().top+b.outerHeight()}).appendTo(a(e.options.popupContainer||"body")),a.fn.mousewheel&&e.div.mousewheel(this._doMouseWheel)),e.div.html(this._generateContent(b[0],e)),b.focus())},_updateInput:function(b,c){var d=this._getInst(b);if(!a.isEmptyObject(d)){for(var e="",f="",g=d.options.multiSelect?d.options.multiSeparator:d.options.rangeSeparator,h=d.options.calendar,i=d.get("dateFormat"),j=d.options.altFormat||i,k={localNumbers:d.options.localNumbers},l=0;l<d.selectedDates.length;l++)e+=c?"":(l>0?g:"")+h.formatDate(i,d.selectedDates[l],k),f+=(l>0?g:"")+h.formatDate(j,d.selectedDates[l],k);d.inline||c||a(b).val(e),a(d.options.altField).val(f),!a.isFunction(d.options.onSelect)||c||d.inSelect||(d.inSelect=!0,d.options.onSelect.apply(b,[d.selectedDates]),d.inSelect=!1),a(b).change()}},_getBorders:function(a){var b=function(a){return{thin:1,medium:3,thick:5}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(b){var c=b.elem.is(":hidden")&&b.trigger?b.trigger:b.elem,d=c.offset(),e=a(window).width(),f=a(window).height();if(0===e)return d;var g=!1;a(b.elem).parents().each(function(){return g=g||"fixed"===a(this).css("position"),!g});var h=document.documentElement.scrollLeft||document.body.scrollLeft,i=document.documentElement.scrollTop||document.body.scrollTop,j=d.top-(g?i:0)-b.div.outerHeight(),k=d.top-(g?i:0)+c.outerHeight(),l=d.left-(g?h:0),m=d.left-(g?h:0)+c.outerWidth()-b.div.outerWidth(),n=d.left-h+b.div.outerWidth()>e,o=d.top-i+b.elem.outerHeight()+b.div.outerHeight()>f;b.div.css("position",g?"fixed":"absolute");var p=b.options.alignment;return d="topLeft"===p?{left:l,top:j}:"topRight"===p?{left:m,top:j}:"bottomLeft"===p?{left:l,top:k}:"bottomRight"===p?{left:m,top:k}:"top"===p?{left:b.options.isRTL||n?m:l,top:j}:{left:b.options.isRTL||n?m:l,top:o?j:k},d.left=Math.max(g?0:h,d.left),d.top=Math.max(g?0:i,d.top),d},_checkExternalClick:function(b){if(c.curInst){var d=a(b.target);0!==d.closest("."+c._popupClass+",."+c._triggerClass).length||d.hasClass(c._getMarker())||c.hide(c.curInst)}},hide:function(b,d){if(b){var e=this._getInst(b);if(a.isEmptyObject(e)&&(e=b),e&&e===c.curInst){var f=d?"":e.options.showAnim,g=e.options.showSpeed;g="normal"===g&&a.ui&&parseInt(a.ui.version.substring(2))>=8?"_default":g;var h=function(){e.div&&(e.div.remove(),e.div=null,c.curInst=null,a.isFunction(e.options.onClose)&&e.options.onClose.apply(b,[e.selectedDates]))};if(e.div.stop(),a.effects&&(a.effects[f]||a.effects.effect&&a.effects.effect[f]))e.div.hide(f,e.options.showOptions,g,h);else{var i="slideDown"===f?"slideUp":"fadeIn"===f?"fadeOut":"hide";e.div[i](f?g:"",h)}f||h()}}},_keyDown:function(b){var d,e=b.data&&b.data.elem||b.target,f=c._getInst(e),g=!1;if(f.inline||f.div)if(9===b.keyCode)c.hide(e);else if(13===b.keyCode)c.selectDate(e,a("a."+f.options.renderer.highlightedClass,f.div)[0]),g=!0;else{var h=f.options.commands;for(var i in h)if(f.options.commands.hasOwnProperty(i)&&(d=h[i],d.keystroke.keyCode===b.keyCode&&!!d.keystroke.ctrlKey==!(!b.ctrlKey&&!b.metaKey)&&!!d.keystroke.altKey===b.altKey&&!!d.keystroke.shiftKey===b.shiftKey)){c.performAction(e,i),g=!0;break}}else d=f.options.commands.current,d.keystroke.keyCode===b.keyCode&&!!d.keystroke.ctrlKey==!(!b.ctrlKey&&!b.metaKey)&&!!d.keystroke.altKey===b.altKey&&!!d.keystroke.shiftKey===b.shiftKey&&(c.show(e),g=!0);return f.ctrlKey=b.keyCode<48&&32!==b.keyCode||b.ctrlKey||b.metaKey,g&&(b.preventDefault(),b.stopPropagation()),!g},_keyPress:function(b){var d=c._getInst(b.data&&b.data.elem||b.target);if(!a.isEmptyObject(d)&&d.options.constrainInput){var e=String.fromCharCode(b.keyCode||b.charCode),f=c._allowedChars(d);return b.metaKey||d.ctrlKey||e<" "||!f||f.indexOf(e)>-1}return!0},_allowedChars:function(a){for(var b=a.options.multiSelect?a.options.multiSeparator:a.options.rangeSelect?a.options.rangeSeparator:"",c=!1,d=!1,e=a.get("dateFormat"),f=0;f<e.length;f++){var g=e.charAt(f);if(c)"'"===g&&"'"!==e.charAt(f+1)?c=!1:b+=g;else switch(g){case"d":case"m":case"o":case"w":b+=d?"":"0123456789",d=!0;break;case"y":case"@":case"!":b+=(d?"":"0123456789")+"-",d=!0;break;case"J":b+=(d?"":"0123456789")+"-.",d=!0;break;case"D":case"M":case"Y":return null;case"'":"'"===e.charAt(f+1)?b+="'":c=!0;break;default:b+=g}}return b},_keyUp:function(b){var d=b.data&&b.data.elem||b.target,e=c._getInst(d);if(!a.isEmptyObject(e)&&!e.ctrlKey&&e.lastVal!==e.elem.val())try{var f=c._extractDates(e,e.elem.val());f.length>0&&c.setDate(d,f,null,!0)}catch(a){}return!0},_doMouseWheel:function(b,d){var e=c.curInst&&c.curInst.elem[0]||a(b.target).closest("."+c._getMarker())[0];if(!c.isDisabled(e)){var f=c._getInst(e);f.options.useMouseWheel&&(d=d<0?-1:1,c.changeMonth(e,-f.options[b.ctrlKey?"monthsToJump":"monthsToStep"]*d)),b.preventDefault()}},clear:function(b){var c=this._getInst(b);if(!a.isEmptyObject(c)){c.selectedDates=[],this.hide(b);var d=c.get("defaultDate");c.options.selectDefaultDate&&d?this.setDate(b,(d||c.options.calendar.today()).newDate()):this._updateInput(b)}},getDate:function(b){var c=this._getInst(b);return a.isEmptyObject(c)?[]:c.selectedDates},setDate:function(b,c,d,e,f){var g=this._getInst(b);if(!a.isEmptyObject(g)){a.isArray(c)||(c=[c],d&&c.push(d));var h=g.get("minDate"),i=g.get("maxDate"),j=g.selectedDates[0];g.selectedDates=[];for(var k=0;k<c.length;k++){var l=g.options.calendar.determineDate(c[k],null,j,g.get("dateFormat"),g.getConfig());if(l&&!(h&&l.compareTo(h)===-1||i&&1===l.compareTo(i))){for(var m=!1,n=0;n<g.selectedDates.length;n++)if(0===g.selectedDates[n].compareTo(l)){m=!0;break}m||g.selectedDates.push(l)}}if(g.selectedDates.splice(g.options.multiSelect||(g.options.rangeSelect?2:1),g.selectedDates.length),g.options.rangeSelect){switch(g.selectedDates.length){case 1:g.selectedDates[1]=g.selectedDates[0];break;case 2:g.selectedDates[1]=1===g.selectedDates[0].compareTo(g.selectedDates[1])?g.selectedDates[0]:g.selectedDates[1]}g.pickingRange=!1}g.prevDate=g.drawDate?g.drawDate.newDate():null,g.drawDate=this._checkMinMax((g.selectedDates[0]||g.get("defaultDate")||g.options.calendar.today()).newDate(),g),f||(this._update(b),this._updateInput(b,e))}},isSelectable:function(b,c){var d=this._getInst(b);return!a.isEmptyObject(d)&&(c=d.options.calendar.determineDate(c,d.selectedDates[0]||d.options.calendar.today(),null,d.options.dateFormat,d.getConfig()),this._isSelectable(b,c,d.options.onDate,d.get("minDate"),d.get("maxDate")))},_isSelectable:function(b,c,d,e,f){var g="boolean"==typeof d?{selectable:d}:a.isFunction(d)?d.apply(b,[c,!0]):{};return g.selectable!==!1&&(!e||c.toJD()>=e.toJD())&&(!f||c.toJD()<=f.toJD())},performAction:function(b,c){var d=this._getInst(b);if(!a.isEmptyObject(d)&&!this.isDisabled(b)){var e=d.options.commands;e[c]&&e[c].enabled.apply(b,[d])&&e[c].action.apply(b,[d])}},showMonth:function(b,c,d,e){var f=this._getInst(b);if(!a.isEmptyObject(f)&&("undefined"!=typeof e&&null!==e||f.drawDate.year()!==c||f.drawDate.month()!==d)){f.prevDate=f.drawDate.newDate();var g=f.options.calendar,h=this._checkMinMax("undefined"!=typeof c&&null!==c?g.newDate(c,d,1):g.today(),f);f.drawDate.date(h.year(),h.month(),"undefined"!=typeof e&&null!==e?e:Math.min(f.drawDate.day(),g.daysInMonth(h.year(),h.month()))),this._update(b)}},changeMonth:function(b,c){var d=this._getInst(b);if(!a.isEmptyObject(d)){var e=d.drawDate.newDate().add(c,"m");this.showMonth(b,e.year(),e.month())}},changeDay:function(b,c){var d=this._getInst(b);if(!a.isEmptyObject(d)){var e=d.drawDate.newDate().add(c,"d");this.showMonth(b,e.year(),e.month(),e.day())}},_checkMinMax:function(a,b){var c=b.get("minDate"),d=b.get("maxDate");return a=c&&a.compareTo(c)===-1?c.newDate():a,a=d&&1===a.compareTo(d)?d.newDate():a},retrieveDate:function(b,c){var d=this._getInst(b);return a.isEmptyObject(d)?null:d.options.calendar.fromJD(parseFloat(c.className.replace(/^.*jd(\d+\.5).*$/,"$1")))},selectDate:function(b,c){var d=this._getInst(b);if(!a.isEmptyObject(d)&&!this.isDisabled(b)){var e=this.retrieveDate(b,c);if(d.options.multiSelect){for(var f=!1,g=0;g<d.selectedDates.length;g++)if(0===e.compareTo(d.selectedDates[g])){d.selectedDates.splice(g,1),f=!0;break}!f&&d.selectedDates.length<d.options.multiSelect&&d.selectedDates.push(e)}else d.options.rangeSelect?(d.pickingRange?d.selectedDates[1]=e:d.selectedDates=[e,e],d.pickingRange=!d.pickingRange):d.selectedDates=[e];d.prevDate=d.drawDate=e.newDate(),this._updateInput(b),d.inline||d.pickingRange||d.selectedDates.length<(d.options.multiSelect||(d.options.rangeSelect?2:1))?this._update(b):this.hide(b)}},_generateContent:function(b,d){function e(b){(d.inline?a(b).closest("."+p._getMarker()):d.div).find(d.options.renderer.daySelector+" a").removeClass(d.options.renderer.highlightedClass)}var f=d.options.monthsToShow;f=a.isArray(f)?f:[1,f],d.drawDate=this._checkMinMax(d.drawDate||d.get("defaultDate")||d.options.calendar.today(),d);for(var g=d.drawDate.newDate().add(-d.options.monthsOffset,"m"),h="",i=0;i<f[0];i++){for(var j="",k=0;k<f[1];k++)j+=this._generateMonth(b,d,g.year(),g.month(),d.options.calendar,d.options.renderer,0===i&&0===k),g.add(1,"m");h+=this._prepare(d.options.renderer.monthRow,d).replace(/\{months\}/,j)}var l=this._prepare(d.options.renderer.picker,d).replace(/\{months\}/,h).replace(/\{weekHeader\}/g,this._generateDayHeaders(d,d.options.calendar,d.options.renderer)),m=function(a,c,e,f,g){if(l.indexOf("{"+a+":"+f+"}")!==-1){var h=d.options.commands[f],i=d.options.commandsAsDateFormat?h.date.apply(b,[d]):null;l=l.replace(new RegExp("\\{"+a+":"+f+"\\}","g"),"<"+c+(h.status?' title="'+d.options[h.status]+'"':"")+' class="'+d.options.renderer.commandClass+" "+d.options.renderer.commandClass+"-"+f+" "+g+(h.enabled(d)?"":" "+d.options.renderer.disabledClass)+'">'+(i?i.formatDate(d.options[h.text],{localNumbers:d.options.localNumbers}):d.options[h.text])+"</"+e+">")}};for(var n in d.options.commands)d.options.commands.hasOwnProperty(n)&&(m("button",'button type="button"',"button",n,d.options.renderer.commandButtonClass),m("link",'a href="javascript:void(0)"',"a",n,d.options.renderer.commandLinkClass));if(l=a(l),f[1]>1){var o=0;a(d.options.renderer.monthSelector,l).each(function(){var b=++o%f[1];a(this).addClass(1===b?"first":0===b?"last":"")})}var p=this;l.find(d.options.renderer.daySelector+" a").hover(function(){e(this),a(this).addClass(d.options.renderer.highlightedClass)},function(){e(this)}).click(function(){p.selectDate(b,this)}).end().find("select."+this._monthYearClass+":not(."+this._anyYearClass+")").change(function(){var c=a(this).val().split("/");p.showMonth(b,parseInt(c[1],10),parseInt(c[0],10))}).end().find("select."+this._anyYearClass).click(function(){a(this).css("visibility","hidden").next("input").css({left:this.offsetLeft,top:this.offsetTop,width:this.offsetWidth,height:this.offsetHeight}).show().focus()}).end().find("input."+p._monthYearClass).change(function(){try{var c=parseInt(a(this).val(),10);c=isNaN(c)?d.drawDate.year():c,p.showMonth(b,c,d.drawDate.month(),d.drawDate.day())}catch(a){}}).keydown(function(b){13===b.keyCode?a(b.elem).change():27===b.keyCode&&(a(b.elem).hide().prev("select").css("visibility","visible"),d.elem.focus())});var q={elem:d.elem[0]};l.keydown(q,this._keyDown).keypress(q,this._keyPress).keyup(q,this._keyUp),l.find("."+d.options.renderer.commandClass).click(function(){if(!a(this).hasClass(d.options.renderer.disabledClass)){var e=this.className.replace(new RegExp("^.*"+d.options.renderer.commandClass+"-([^ ]+).*$"),"$1");c.performAction(b,e)}}),d.options.isRTL&&l.addClass(d.options.renderer.rtlClass),f[0]*f[1]>1&&l.addClass(d.options.renderer.multiClass),d.options.pickerClass&&l.addClass(d.options.pickerClass),a("body").append(l);var r=0;return l.find(d.options.renderer.monthSelector).each(function(){r+=a(this).outerWidth()}),l.width(r/f[0]),a.isFunction(d.options.onShow)&&d.options.onShow.apply(b,[l,d.options.calendar,d]),l},_generateMonth:function(b,c,d,e,f,g,h){var i=f.daysInMonth(d,e),j=c.options.monthsToShow;j=a.isArray(j)?j:[1,j];var k=c.options.fixedWeeks||j[0]*j[1]>1,l=c.options.firstDay;l="undefined"==typeof l||null===l?f.local.firstDay:l;var m=(f.dayOfWeek(d,e,f.minDay)-l+f.daysInWeek())%f.daysInWeek(),n=k?6:Math.ceil((m+i)/f.daysInWeek()),o=c.options.selectOtherMonths&&c.options.showOtherMonths,p=c.pickingRange?c.selectedDates[0]:c.get("minDate"),q=c.get("maxDate"),r=g.week.indexOf("{weekOfYear}")>-1,s=f.today(),t=f.newDate(d,e,f.minDay);t.add(-m-(k&&(t.dayOfWeek()===l||t.daysInMonth()<f.daysInWeek())?f.daysInWeek():0),"d");for(var u=t.toJD(),v=function(a){return c.options.localNumbers&&f.local.digits?f.local.digits(a):a},w="",x=0;x<n;x++){for(var y=r?'<span class="jd'+u+'">'+(a.isFunction(c.options.calculateWeek)?c.options.calculateWeek(t):t.weekOfYear())+"</span>":"",z="",A=0;A<f.daysInWeek();A++){var B=!1;if(c.options.rangeSelect&&c.selectedDates.length>0)B=t.compareTo(c.selectedDates[0])!==-1&&1!==t.compareTo(c.selectedDates[1]);else for(var C=0;C<c.selectedDates.length;C++)if(0===c.selectedDates[C].compareTo(t)){B=!0;break}var D=a.isFunction(c.options.onDate)?c.options.onDate.apply(b,[t,t.month()===e]):{},E=(o||t.month()===e)&&this._isSelectable(b,t,D.selectable,p,q);z+=this._prepare(g.day,c).replace(/\{day\}/g,(E?'<a href="javascript:void(0)"':"<span")+' class="jd'+u+" "+(D.dateClass||"")+(B&&(o||t.month()===e)?" "+g.selectedClass:"")+(E?" "+g.defaultClass:"")+(t.weekDay()?"":" "+g.weekendClass)+(t.month()===e?"":" "+g.otherMonthClass)+(0===t.compareTo(s)&&t.month()===e?" "+g.todayClass:"")+(0===t.compareTo(c.drawDate)&&t.month()===e?" "+g.highlightedClass:"")+'"'+(D.title||c.options.dayStatus&&E?' title="'+(D.title||t.formatDate(c.options.dayStatus,{localNumbers:c.options.localNumbers}))+'"':"")+">"+(c.options.showOtherMonths||t.month()===e?D.content||v(t.day()):" ")+(E?"</a>":"</span>")),t.add(1,"d"),u++}w+=this._prepare(g.week,c).replace(/\{days\}/g,z).replace(/\{weekOfYear\}/g,y)}var F=this._prepare(g.month,c).match(/\{monthHeader(:[^\}]+)?\}/);F=F[0].length<=13?"MM yyyy":F[0].substring(13,F[0].length-1),F=h?this._generateMonthSelection(c,d,e,p,q,F,f,g):f.formatDate(F,f.newDate(d,e,f.minDay),{localNumbers:c.options.localNumbers});var G=this._prepare(g.weekHeader,c).replace(/\{days\}/g,this._generateDayHeaders(c,f,g));return this._prepare(g.month,c).replace(/\{monthHeader(:[^\}]+)?\}/g,F).replace(/\{weekHeader\}/g,G).replace(/\{weeks\}/g,w)},_generateDayHeaders:function(a,b,c){var d=a.options.firstDay;d="undefined"==typeof d||null===d?b.local.firstDay:d;for(var e="",f=0;f<b.daysInWeek();f++){var g=(f+d)%b.daysInWeek();e+=this._prepare(c.dayHeader,a).replace(/\{day\}/g,'<span class="'+this._curDoWClass+g+'" title="'+b.local.dayNames[g]+'">'+b.local.dayNamesMin[g]+"</span>")}return e},_generateMonthSelection:function(a,b,c,d,e,f,g){if(!a.options.changeMonth)return g.formatDate(f,g.newDate(b,c,1),{localNumbers:a.options.localNumbers});for(var h=g.local["monthNames"+(f.match(/mm/i)?"":"Short")],i=f.replace(/m+/i,"\\x2E").replace(/y+/i,"\\x2F"),j='<select class="'+this._monthYearClass+'" title="'+a.options.monthStatus+'">',k=g.monthsInYear(b)+g.minMonth,l=g.minMonth;l<k;l++)d&&g.newDate(b,l,g.daysInMonth(b,l)-1+g.minDay).compareTo(d)===-1||e&&1===g.newDate(b,l,g.minDay).compareTo(e)||(j+='<option value="'+l+"/"+b+'"'+(c===l?' selected="selected"':"")+">"+h[l-g.minMonth]+"</option>");j+="</select>",i=i.replace(/\\x2E/,j);var m=function(b){return a.options.localNumbers&&g.local.digits?g.local.digits(b):b},n=a.options.yearRange;if("any"===n)j='<select class="'+this._monthYearClass+" "+this._anyYearClass+'" title="'+a.options.yearStatus+'"><option value="'+b+'">'+m(b)+'</option></select><input class="'+this._monthYearClass+" "+this._curMonthClass+c+'" value="'+b+'">';else{n=n.split(":");var o=g.today().year(),p=n[0].match("c[+-].*")?b+parseInt(n[0].substring(1),10):(n[0].match("[+-].*")?o:0)+parseInt(n[0],10),q=n[1].match("c[+-].*")?b+parseInt(n[1].substring(1),10):(n[1].match("[+-].*")?o:0)+parseInt(n[1],10);j='<select class="'+this._monthYearClass+'" title="'+a.options.yearStatus+'">',p=g.newDate(p+1,g.firstMonth,g.minDay).add(-1,"d"),q=g.newDate(q,g.firstMonth,g.minDay);var r,s,t=function(a,d){(0!==a||g.hasYearZero)&&(j+='<option value="'+Math.min(c,g.monthsInYear(a)-1+g.minMonth)+"/"+a+'"'+(b===a?' selected="selected"':"")+">"+(d||m(a))+"</option>")};if(p.toJD()<q.toJD()){for(p=(d&&1===d.compareTo(p)?d:p).year(),q=(e&&e.compareTo(q)===-1?e:q).year(),r=Math.floor((q-p)/2),(!d||d.year()<p)&&t(p-r,a.options.earlierText),s=p;s<=q;s++)t(s);(!e||e.year()>q)&&t(q+r,a.options.laterText)}else{for(p=(e&&e.compareTo(p)===-1?e:p).year(),q=(d&&1===d.compareTo(q)?d:q).year(),r=Math.floor((p-q)/2),(!e||e.year()>p)&&t(p+r,a.options.earlierText),s=p;s>=q;s--)t(s);(!d||d.year()<q)&&t(q-r,a.options.laterText)}j+="</select>"}return i=i.replace(/\\x2F/,j)},_prepare:function(a,b){var c=function(b,c){for(;;){var d=a.indexOf("{"+b+":start}");if(d===-1)return;var e=a.substring(d).indexOf("{"+b+":end}");e>-1&&(a=a.substring(0,d)+(c?a.substr(d+b.length+8,e-b.length-8):"")+a.substring(d+e+b.length+6))}};c("inline",b.inline),c("popup",!b.inline);for(var d=/\{l10n:([^\}]+)\}/,e=d.exec(a);e;)a=a.replace(e[0],b.options[e[1]]),e=d.exec(a);return a}});var c=a.calendarsPicker;a(function(){a(document).on("mousedown."+b,c._checkExternalClick).on("resize."+b,function(){c.hide(c.curInst)})})}(jQuery);
|
|
//# sourceMappingURL=jquery.calendars.picker.min.map
|