calendar.js
19.8 KB
define(["mk7/modals","css!cmpts/calendar/calendar.css"],function(){var e=Dom7,a=function(a){function n(){var a=!1;return p.params.convertToPopover||p.params.onlyInPopover?(!p.inline&&p.params.input&&(p.params.onlyInPopover?a=!0:app.device.ios?a=!!app.device.ipad:e(window).width()>=768&&(a=!0)),a):a}function t(){return!!(p.opened&&p.container&&p.container.length>0&&p.container.parents(".popover").length>0)}function r(e){e=new Date(e);var a=e.getFullYear(),n=e.getMonth(),t=n+1,r=e.getDate(),o=e.getDay();return p.params.dateFormat.replace(/yyyy/g,a).replace(/yy/g,(a+"").substring(2)).replace(/mm/g,t<10?"0"+t:t).replace(/m(\W+)/g,t+"$1").replace(/MM/g,p.params.monthNames[n]).replace(/M(\W+)/g,p.params.monthNamesShort[n]+"$1").replace(/dd/g,r<10?"0"+r:r).replace(/d(\W+)/g,r+"$1").replace(/DD/g,p.params.dayNames[o]).replace(/D(\W+)/g,p.params.dayNamesShort[o]+"$1")}function o(e){if(e.preventDefault(),!p.opened&&(p.open(),p.params.scrollToInput&&!n())){var a=p.input.parents(".page-content");if(0===a.length)return;var t,r=parseInt(a.css("padding-top"),10),o=parseInt(a.css("padding-bottom"),10),s=a[0].offsetHeight-r-p.container.height(),i=a[0].scrollHeight-r-p.container.height(),l=p.input.offset().top-r+p.input[0].offsetHeight;if(l>s){var c=a.scrollTop()+l-s;c+s>i&&(t=c+s-i+o,s===i&&(t=p.container.height()),a.css({"padding-bottom":t+"px"})),a.scrollTop(c,300)}}}function s(a){t()||(p.input&&p.input.length>0?a.target!==p.input[0]&&0===e(a.target).parents(".picker-modal").length&&p.close():0===e(a.target).parents(".picker-modal").length&&p.close())}function i(){p.opened=!1,p.input&&p.input.length>0&&p.input.parents(".page-content").css({"padding-bottom":""}),p.params.onClose&&p.params.onClose(p),p.destroyCalendarEvents()}var p=this,l={monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],firstDay:1,weekendDays:[0,6],multiple:!1,rangePicker:!1,dateFormat:"yyyy-mm-dd",direction:"horizontal",minDate:null,maxDate:null,disabled:null,events:null,rangesClasses:null,touchMove:!0,animate:!0,closeOnSelect:!1,monthPicker:!0,monthPickerTemplate:'<div class="picker-calendar-month-picker"><a href="javascript:void(0)" class="link icon-only picker-calendar-prev-month"><i class="icon icon-prev"></i></a><span class="current-month-value"></span><a href="javascript:void(0)" class="link icon-only picker-calendar-next-month"><i class="icon icon-next"></i></a></div>',yearPicker:!0,yearPickerTemplate:'<div class="picker-calendar-year-picker"><a href="javascript:void(0)" class="link icon-only picker-calendar-prev-year"><i class="icon icon-prev"></i></a><span class="current-year-value"></span><a href="javascript:void(0)" class="link icon-only picker-calendar-next-year"><i class="icon icon-next"></i></a></div>',weekHeader:!0,closeByOutsideClick:!0,scrollToInput:!0,inputReadOnly:!0,convertToPopover:!0,onlyInPopover:!1,toolbar:!0,toolbarCloseText:"Done",headerPlaceholder:"Select date",header:0,footer:0,toolbarTemplate:'<div class="toolbar"><div class="toolbar-inner">{{monthPicker}}{{yearPicker}}</div></div>',headerTemplate:'<div class="picker-header"><div class="picker-calendar-selected-date">{{placeholder}}</div></div>',footerTemplate:'<div class="picker-footer"><a href="javascript:void(0)" class="button close-picker">{{closeText}}</a></div>'};a=a||{};for(var c in l)"undefined"==typeof a[c]&&(a[c]=l[c]);p.params=a,p.initialized=!1,p.inline=!!p.params.container,p.isH="horizontal"===p.params.direction;var d=p.isH&&app.rtl?-1:1;return p.animating=!1,p.addValue=function(e){if(p.params.multiple){p.value||(p.value=[]);for(var a,n=0;n<p.value.length;n++)new Date(e).getTime()===new Date(p.value[n]).getTime()&&(a=n);"undefined"==typeof a?p.value.push(e):p.value.splice(a,1),p.updateValue()}else p.params.rangePicker?(p.value||(p.value=[]),2!==p.value.length&&0!==p.value.length||(p.value=[]),p.value[0]!==e?p.value.push(e):p.value=[],p.value.sort(function(e,a){return e-a}),p.updateValue()):(p.value=[e],p.updateValue())},p.setValue=function(e){p.value=e,p.updateValue()},p.updateValue=function(a){var n,t;if(p.container&&p.container.length>0){p.wrapper.find(".picker-calendar-day-selected").removeClass("picker-calendar-day-selected");var o;if(p.params.rangePicker&&2===p.value.length)for(n=p.value[0];n<=p.value[1];n+=864e5)o=new Date(n),p.wrapper.find('.picker-calendar-day[data-date="'+o.getFullYear()+"-"+o.getMonth()+"-"+o.getDate()+'"]').addClass("picker-calendar-day-selected");else for(n=0;n<p.value.length;n++)o=new Date(p.value[n]),p.wrapper.find('.picker-calendar-day[data-date="'+o.getFullYear()+"-"+o.getMonth()+"-"+o.getDate()+'"]').addClass("picker-calendar-day-selected")}if(p.params.onChange&&p.params.onChange(p,p.value),p.input&&p.input.length>0){if(p.params.formatValue)t=p.params.formatValue(p,p.value);else{for(t=[],n=0;n<p.value.length;n++)t.push(r(p.value[n]));t=t.join(p.params.rangePicker?" - ":", ")}p.input&&p.input.length>0&&!a&&(e(p.input).val(t),e(p.input).trigger("change"))}},p.initCalendarEvents=function(){function a(e){s||o||(o=!0,i=m="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,l=m="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,h=(new Date).getTime(),y=0,T=!0,w=void 0,v=f=p.monthsTranslate)}function n(e){if(o){if(c="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,m="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,"undefined"==typeof w&&(w=!!(w||Math.abs(m-l)>Math.abs(c-i))),p.isH&&w)return void(o=!1);if(e.preventDefault(),p.animating)return void(o=!1);T=!1,s||(s=!0,g=p.wrapper[0].offsetWidth,k=p.wrapper[0].offsetHeight,p.wrapper.transition(0)),e.preventDefault(),M=p.isH?c-i:m-l,y=M/(p.isH?g:k),f=100*(p.monthsTranslate*d+y),p.wrapper.transform("translate3d("+(p.isH?f:0)+"%, "+(p.isH?0:f)+"%, 0)")}}function t(e){return o&&s?(o=s=!1,u=(new Date).getTime(),u-h<300?Math.abs(M)<10?p.resetMonth():M>=10?app.rtl?p.nextMonth():p.prevMonth():app.rtl?p.prevMonth():p.nextMonth():y<=-.5?app.rtl?p.prevMonth():p.nextMonth():y>=.5?app.rtl?p.nextMonth():p.prevMonth():p.resetMonth(),void setTimeout(function(){T=!0},100)):void(o=s=!1)}function r(a){if(T){var n=e(a.target).parents(".picker-calendar-day");if(0===n.length&&e(a.target).hasClass("picker-calendar-day")&&(n=e(a.target)),0!==n.length&&(!n.hasClass("picker-calendar-day-selected")||p.params.multiple||p.params.rangePicker)&&!n.hasClass("picker-calendar-day-disabled")){p.params.rangePicker||(n.hasClass("picker-calendar-day-next")&&p.nextMonth(),n.hasClass("picker-calendar-day-prev")&&p.prevMonth());var t=n.attr("data-year"),r=n.attr("data-month"),o=n.attr("data-day");p.params.onDayClick&&p.params.onDayClick(p,n[0],t,r,o),p.addValue(new Date(t,r,o).getTime()),p.params.closeOnSelect&&(p.params.rangePicker&&2===p.value.length||!p.params.rangePicker)&&p.close()}}}var o,s,i,l,c,m,h,u,v,f,g,k,y,M,w,T=!0;p.container.find(".picker-calendar-prev-month").on("click",p.prevMonth),p.container.find(".picker-calendar-next-month").on("click",p.nextMonth),p.container.find(".picker-calendar-prev-year").on("click",p.prevYear),p.container.find(".picker-calendar-next-year").on("click",p.nextYear),p.wrapper.on("click",r),p.params.touchMove&&(p.wrapper.on(app.touchEvents.start,a),p.wrapper.on(app.touchEvents.move,n),p.wrapper.on(app.touchEvents.end,t)),p.container[0].f7DestroyCalendarEvents=function(){p.container.find(".picker-calendar-prev-month").off("click",p.prevMonth),p.container.find(".picker-calendar-next-month").off("click",p.nextMonth),p.container.find(".picker-calendar-prev-year").off("click",p.prevYear),p.container.find(".picker-calendar-next-year").off("click",p.nextYear),p.wrapper.off("click",r),p.params.touchMove&&(p.wrapper.off(app.touchEvents.start,a),p.wrapper.off(app.touchEvents.move,n),p.wrapper.off(app.touchEvents.end,t))}},p.destroyCalendarEvents=function(e){"f7DestroyCalendarEvents"in p.container[0]&&p.container[0].f7DestroyCalendarEvents()},p.dateInRange=function(a,n){var t,r=!1;if(!n)return!1;if(e.isArray(n))for(t=0;t<n.length;t++)n[t].from||n[t].to?n[t].from&&n[t].to?a<=new Date(n[t].to).getTime()&&a>=new Date(n[t].from).getTime()&&(r=!0):n[t].from?a>=new Date(n[t].from).getTime()&&(r=!0):n[t].to&&a<=new Date(n[t].to).getTime()&&(r=!0):a===new Date(n[t]).getTime()&&(r=!0);else n.from||n.to?n.from&&n.to?a<=new Date(n.to).getTime()&&a>=new Date(n.from).getTime()&&(r=!0):n.from?a>=new Date(n.from).getTime()&&(r=!0):n.to&&a<=new Date(n.to).getTime()&&(r=!0):"function"==typeof n&&(r=n(new Date(a)));return r},p.daysInMonth=function(e){var a=new Date(e);return new Date(a.getFullYear(),a.getMonth()+1,0).getDate()},p.monthHTML=function(e,a){e=new Date(e);var n=e.getFullYear(),t=e.getMonth();e.getDate();"next"===a&&(e=11===t?new Date(n+1,0):new Date(n,t+1,1)),"prev"===a&&(e=0===t?new Date(n-1,11):new Date(n,t-1,1)),"next"!==a&&"prev"!==a||(t=e.getMonth(),n=e.getFullYear());var r=p.daysInMonth(new Date(e.getFullYear(),e.getMonth()).getTime()-864e6),o=p.daysInMonth(e),s=new Date(e.getFullYear(),e.getMonth()).getDay();0===s&&(s=7);var i,l,c,d,m,h,u=[],v=6,f=7,g="",k=0+(p.params.firstDay-1),y=(new Date).setHours(0,0,0,0),M=p.params.minDate?new Date(p.params.minDate).getTime():null,w=p.params.maxDate?new Date(p.params.maxDate).getTime():null;if(p.value&&p.value.length)for(l=0;l<p.value.length;l++)u.push(new Date(p.value[l]).setHours(0,0,0,0));for(l=1;l<=v;l++){var T="";for(c=1;c<=f;c++){var D=c;k++;var x=k-s,C=D-1+p.params.firstDay>6?D-1-7+p.params.firstDay:D-1+p.params.firstDay,H="";if(x<0?(x=r+x+1,H+=" picker-calendar-day-prev",i=new Date(t-1<0?n-1:n,t-1<0?11:t-1,x).getTime()):(x+=1,x>o?(x-=o,H+=" picker-calendar-day-next",i=new Date(t+1>11?n+1:n,t+1>11?0:t+1,x).getTime()):i=new Date(n,t,x).getTime()),i===y&&(H+=" picker-calendar-day-today"),p.params.rangePicker&&2===u.length?i>=u[0]&&i<=u[1]&&(H+=" picker-calendar-day-selected"):u.indexOf(i)>=0&&(H+=" picker-calendar-day-selected"),p.params.weekendDays.indexOf(C)>=0&&(H+=" picker-calendar-day-weekend"),h=!1,p.params.events&&p.dateInRange(i,p.params.events)&&(h=!0),h&&(H+=" picker-calendar-day-has-events"),p.params.rangesClasses)for(d=0;d<p.params.rangesClasses.length;d++)p.dateInRange(i,p.params.rangesClasses[d].range)&&(H+=" "+p.params.rangesClasses[d].cssClass);m=!1,(M&&i<M||w&&i>w)&&(m=!0),p.params.disabled&&p.dateInRange(i,p.params.disabled)&&(m=!0),m&&(H+=" picker-calendar-day-disabled"),i=new Date(i);var Y=i.getFullYear(),b=i.getMonth();T+='<div data-year="'+Y+'" data-month="'+b+'" data-day="'+x+'" class="picker-calendar-day'+H+'" data-date="'+(Y+"-"+b+"-"+x)+'"><span>'+x+"</span></div>"}g+='<div class="picker-calendar-row">'+T+"</div>"}return g='<div class="picker-calendar-month" data-year="'+n+'" data-month="'+t+'">'+g+"</div>"},p.animating=!1,p.updateCurrentMonthYear=function(e){"undefined"==typeof e?(p.currentMonth=parseInt(p.months.eq(1).attr("data-month"),10),p.currentYear=parseInt(p.months.eq(1).attr("data-year"),10)):(p.currentMonth=parseInt(p.months.eq("next"===e?p.months.length-1:0).attr("data-month"),10),p.currentYear=parseInt(p.months.eq("next"===e?p.months.length-1:0).attr("data-year"),10)),p.container.find(".current-month-value").text(p.params.monthNames[p.currentMonth]),p.container.find(".current-year-value").text(p.currentYear)},p.onMonthChangeStart=function(e){p.updateCurrentMonthYear(e),p.months.removeClass("picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next");var a="next"===e?p.months.length-1:0;p.months.eq(a).addClass("picker-calendar-month-current"),p.months.eq("next"===e?a-1:a+1).addClass("next"===e?"picker-calendar-month-prev":"picker-calendar-month-next"),p.params.onMonthYearChangeStart&&p.params.onMonthYearChangeStart(p,p.currentYear,p.currentMonth)},p.onMonthChangeEnd=function(e,a){p.animating=!1;var n,t,r;p.wrapper.find(".picker-calendar-month:not(.picker-calendar-month-prev):not(.picker-calendar-month-current):not(.picker-calendar-month-next)").remove(),"undefined"==typeof e&&(e="next",a=!0),a?(p.wrapper.find(".picker-calendar-month-next, .picker-calendar-month-prev").remove(),t=p.monthHTML(new Date(p.currentYear,p.currentMonth),"prev"),n=p.monthHTML(new Date(p.currentYear,p.currentMonth),"next")):r=p.monthHTML(new Date(p.currentYear,p.currentMonth),e),("next"===e||a)&&p.wrapper.append(r||n),("prev"===e||a)&&p.wrapper.prepend(r||t),p.months=p.wrapper.find(".picker-calendar-month"),p.setMonthsTranslate(p.monthsTranslate),p.params.onMonthAdd&&p.params.onMonthAdd(p,"next"===e?p.months.eq(p.months.length-1)[0]:p.months.eq(0)[0]),p.params.onMonthYearChangeEnd&&p.params.onMonthYearChangeEnd(p,p.currentYear,p.currentMonth)},p.setMonthsTranslate=function(e){e=e||p.monthsTranslate||0,"undefined"==typeof p.monthsTranslate&&(p.monthsTranslate=e),p.months.removeClass("picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next");var a=100*-(e+1)*d,n=100*-e*d,t=100*-(e-1)*d;p.months.eq(0).transform("translate3d("+(p.isH?a:0)+"%, "+(p.isH?0:a)+"%, 0)").addClass("picker-calendar-month-prev"),p.months.eq(1).transform("translate3d("+(p.isH?n:0)+"%, "+(p.isH?0:n)+"%, 0)").addClass("picker-calendar-month-current"),p.months.eq(2).transform("translate3d("+(p.isH?t:0)+"%, "+(p.isH?0:t)+"%, 0)").addClass("picker-calendar-month-next")},p.nextMonth=function(a){"undefined"!=typeof a&&"object"!=typeof a||(a="",p.params.animate||(a=0));var n=parseInt(p.months.eq(p.months.length-1).attr("data-month"),10),t=parseInt(p.months.eq(p.months.length-1).attr("data-year"),10),r=new Date(t,n),o=r.getTime(),s=!p.animating;if(p.params.maxDate&&o>new Date(p.params.maxDate).getTime())return p.resetMonth();if(p.monthsTranslate--,n===p.currentMonth){var i=100*-p.monthsTranslate*d,l=e(p.monthHTML(o,"next")).transform("translate3d("+(p.isH?i:0)+"%, "+(p.isH?0:i)+"%, 0)").addClass("picker-calendar-month-next");p.wrapper.append(l[0]),p.months=p.wrapper.find(".picker-calendar-month"),p.params.onMonthAdd&&p.params.onMonthAdd(p,p.months.eq(p.months.length-1)[0])}p.animating=!0,p.onMonthChangeStart("next");var c=100*p.monthsTranslate*d;p.wrapper.transition(a).transform("translate3d("+(p.isH?c:0)+"%, "+(p.isH?0:c)+"%, 0)"),s&&p.wrapper.transitionEnd(function(){p.onMonthChangeEnd("next")}),p.params.animate||p.onMonthChangeEnd("next")},p.prevMonth=function(a){"undefined"!=typeof a&&"object"!=typeof a||(a="",p.params.animate||(a=0));var n=parseInt(p.months.eq(0).attr("data-month"),10),t=parseInt(p.months.eq(0).attr("data-year"),10),r=new Date(t,n+1,(-1)),o=r.getTime(),s=!p.animating;if(p.params.minDate&&o<new Date(p.params.minDate).getTime())return p.resetMonth();if(p.monthsTranslate++,n===p.currentMonth){var i=100*-p.monthsTranslate*d,l=e(p.monthHTML(o,"prev")).transform("translate3d("+(p.isH?i:0)+"%, "+(p.isH?0:i)+"%, 0)").addClass("picker-calendar-month-prev");p.wrapper.prepend(l[0]),p.months=p.wrapper.find(".picker-calendar-month"),p.params.onMonthAdd&&p.params.onMonthAdd(p,p.months.eq(0)[0])}p.animating=!0,p.onMonthChangeStart("prev");var c=100*p.monthsTranslate*d;p.wrapper.transition(a).transform("translate3d("+(p.isH?c:0)+"%, "+(p.isH?0:c)+"%, 0)"),s&&p.wrapper.transitionEnd(function(){p.onMonthChangeEnd("prev")}),p.params.animate||p.onMonthChangeEnd("prev")},p.resetMonth=function(e){"undefined"==typeof e&&(e="");var a=100*p.monthsTranslate*d;p.wrapper.transition(e).transform("translate3d("+(p.isH?a:0)+"%, "+(p.isH?0:a)+"%, 0)")},p.setYearMonth=function(e,a,n){"undefined"==typeof e&&(e=p.currentYear),"undefined"==typeof a&&(a=p.currentMonth),"undefined"!=typeof n&&"object"!=typeof n||(n="",p.params.animate||(n=0));var t;if(t=e<p.currentYear?new Date(e,a+1,(-1)).getTime():new Date(e,a).getTime(),p.params.maxDate&&t>new Date(p.params.maxDate).getTime())return!1;if(p.params.minDate&&t<new Date(p.params.minDate).getTime())return!1;var r=new Date(p.currentYear,p.currentMonth).getTime(),o=t>r?"next":"prev",s=p.monthHTML(new Date(e,a));p.monthsTranslate=p.monthsTranslate||0;var i,l,c=p.monthsTranslate,m=!p.animating;t>r?(p.monthsTranslate--,p.animating||p.months.eq(p.months.length-1).remove(),p.wrapper.append(s),p.months=p.wrapper.find(".picker-calendar-month"),i=100*-(c-1)*d,p.months.eq(p.months.length-1).transform("translate3d("+(p.isH?i:0)+"%, "+(p.isH?0:i)+"%, 0)").addClass("picker-calendar-month-next")):(p.monthsTranslate++,p.animating||p.months.eq(0).remove(),p.wrapper.prepend(s),p.months=p.wrapper.find(".picker-calendar-month"),i=100*-(c+1)*d,p.months.eq(0).transform("translate3d("+(p.isH?i:0)+"%, "+(p.isH?0:i)+"%, 0)").addClass("picker-calendar-month-prev")),p.params.onMonthAdd&&p.params.onMonthAdd(p,"next"===o?p.months.eq(p.months.length-1)[0]:p.months.eq(0)[0]),p.animating=!0,p.onMonthChangeStart(o),l=100*p.monthsTranslate*d,p.wrapper.transition(n).transform("translate3d("+(p.isH?l:0)+"%, "+(p.isH?0:l)+"%, 0)"),m&&p.wrapper.transitionEnd(function(){p.onMonthChangeEnd(o,!0)}),p.params.animate||p.onMonthChangeEnd(o)},p.nextYear=function(){p.setYearMonth(p.currentYear+1)},p.prevYear=function(){p.setYearMonth(p.currentYear-1)},p.layout=function(){var e,a="",n="",t=p.value&&p.value.length?p.value[0]:(new Date).setHours(0,0,0,0),r=p.monthHTML(t,"prev"),o=p.monthHTML(t),s=p.monthHTML(t,"next"),i='<div class="picker-calendar-months"><div class="picker-calendar-months-wrapper">'+(r+o+s)+"</div></div>",l="";if(p.params.weekHeader){for(e=0;e<7;e++){var c=e+p.params.firstDay>6?e-7+p.params.firstDay:e+p.params.firstDay,d=p.params.dayNamesShort[c];l+='<div class="picker-calendar-week-day '+(p.params.weekendDays.indexOf(c)>=0?"picker-calendar-week-day-weekend":"")+'"> '+d+"</div>"}l='<div class="picker-calendar-week-days">'+l+"</div>"}n="picker-modal picker-calendar"+(p.params.rangePicker?" picker-calendar-range":"")+(p.params.cssClass?" "+p.params.cssClass:"");var m=p.params.toolbar?p.params.toolbarTemplate.replace(/{{closeText}}/g,p.params.toolbarCloseText):"";p.params.toolbar&&(m=p.params.toolbarTemplate.replace(/{{closeText}}/g,p.params.toolbarCloseText).replace(/{{monthPicker}}/g,p.params.monthPicker?p.params.monthPickerTemplate:"").replace(/{{yearPicker}}/g,p.params.yearPicker?p.params.yearPickerTemplate:""));var h=p.params.header?p.params.headerTemplate.replace(/{{closeText}}/g,p.params.toolbarCloseText).replace(/{{placeholder}}/g,p.params.headerPlaceholder):"",u=p.params.footer?p.params.footerTemplate.replace(/{{closeText}}/g,p.params.toolbarCloseText):"";a='<div class="'+n+'">'+h+u+m+'<div class="picker-modal-inner">'+l+i+"</div></div>",p.pickerHTML=a},p.params.input&&(p.input=e(p.params.input),p.input.length>0&&(p.params.inputReadOnly&&p.input.prop("readOnly",!0),p.inline||p.input.on("click",o),p.params.inputReadOnly&&p.input.on("focus mousedown",function(e){e.preventDefault()}))),!p.inline&&p.params.closeByOutsideClick&&e("html").on("click",s),p.opened=!1,p.open=function(){var a=n(),t=!1;p.opened||(p.value||p.params.value&&(p.value=p.params.value,t=!0),p.layout(),a?(p.pickerHTML='<div class="popover popover-picker-calendar"><div class="popover-inner">'+p.pickerHTML+"</div></div>",p.popover=app.popover(p.pickerHTML,p.params.input,!0),p.container=e(p.popover).find(".picker-modal"),e(p.popover).on("close",function(){i()})):p.inline?(p.container=e(p.pickerHTML),p.container.addClass("picker-modal-inline"),e(p.params.container).append(p.container)):(p.container=e(app.pickerModal(p.pickerHTML)),e(p.container).on("close",function(){i()})),p.container[0].f7Calendar=p,p.wrapper=p.container.find(".picker-calendar-months-wrapper"),p.months=p.wrapper.find(".picker-calendar-month"),p.updateCurrentMonthYear(),p.monthsTranslate=0,p.setMonthsTranslate(),p.initCalendarEvents(),t&&p.updateValue(),p.input&&p.input.length>0,1),p.opened=!0,p.initialized=!0,p.params.onMonthAdd&&p.months.each(function(){p.params.onMonthAdd(p,this)}),p.params.onOpen&&p.params.onOpen(p)},p.close=function(){if(p.opened&&!p.inline)return t()?void app.closeModal(p.popover):void app.closeModal(p.container)},p.destroy=function(){p.close(),p.params.input&&p.input.length>0&&p.input.off("click focus",o),e("html").off("click",s)},p.inline?p.open():!p.initialized&&p.params.value&&p.setValue(p.params.value),p};app.calendar=function(e){return new a(e)}});