Alloy UI

aui-calendar  1.0.1

 
Filters
AUI.add("aui-calendar-base",function(AE){var u=AE.Lang,AS=u.isString,D=u.isArray,AO=u.isBoolean,n=u.isUndefined,i=u.isNumber,x=AE.WidgetStdMod,S="active",m="blank",w="bodyContent",R="boundingBox",j="calendar",K="circle",AR="clearfix",l="currentDay",f="currentMonth",H="currentNode",I="currentYear",v="dates",AB="dateFormat",AM="day",AD="default",V="disabled",t=".",d="firstDayOfWeek",Z="hd",C="headerContent",O="helper",s="hidden",T="hover",r="icon",AV="locale",AT="maxDate",AW="minDate",J="month",o="monthdays",P="next",AP="prev",k="selectMultipleDates",AN="setValue",q="state",AJ="title",AL="triangle",p="week",AK="weekdays",b=AE.ClassNameManager.getClassName,AC=b(j),a=b(j,V),AI=b(j,AM),Q=b(j,AM,m),g=b(j,AM,s),c=b(j,Z),AG=b(O,AR),M=b(r),AF=b(r,K,AL,"l"),z=b(r,K,AL,"r"),B=b(j,o),AH=b(j,P),h=b(j,AP),AU=b(q,S),N=b(q,AD),F=b(q,T),AQ=b(j,AJ),G=b(j,p),AX=b(j,AK),U='<div class="'+[c,N,AG].join(" ")+'">'+'<a href="" class="'+[M,AF,h].join(" ")+'">Back</a>'+'<a href="" class="'+[M,z,AH].join(" ")+'">Prev</a>'+"</div>",W='<div class="'+[Q,g].join(" ")+'"></div>',Y='<a href="#" class="'+[AI,N].join(" ")+'"></a>',AA='<div class="'+AQ+'"></div>',E='<div class="'+[B,AG].join(" ")+'"></div>',e='<div class="'+G+'"></div>',y='<div class="'+[AX,AG].join(" ")+'"></div>';var X=AE.Component.create({NAME:j,ATTRS:{currentDay:{value:(new Date()).getDate()},currentMonth:{value:(new Date()).getMonth()},currentYear:{value:(new Date()).getFullYear()},dates:{value:[new Date()],validator:D,setter:function(A){return this._setDates(A);}},dateFormat:{value:"%m/%d/%Y",validator:AS},firstDayOfWeek:{value:0,validator:i},minDate:{value:null,setter:function(A){return this._setMinMaxDate(A);}},maxDate:{value:null,setter:function(A){return this._setMinMaxDate(A);}},showOn:{value:"mousedown"},hideOn:{value:"mousedown"},selectMultipleDates:{value:false},setValue:{value:true,validator:AO},stack:{lazyAdd:false,value:true,setter:function(A){return this._setStack(A);},validator:AO}},EXTENDS:AE.OverlayContext,prototype:{initializer:function(){var A=this;A.selectedDates=[];},renderUI:function(){var A=this;X.superclass.renderUI.apply(this,arguments);A._renderCalendar();A._renderWeekDays();A._renderBlankDays();A._renderMonthDays();},bindUI:function(){var A=this;X.superclass.bindUI.apply(this,arguments);A._bindDOMEvents();A._bindDelegateMonthDays();A.after("datesChange",AE.bind(A._afterSetDates,A));A.after("currentMonthChange",AE.bind(A._syncView,A));A.after("currentYearChange",AE.bind(A._syncView,A));},syncUI:function(){var A=this;X.superclass.syncUI.apply(this,arguments);A._syncView();},_syncView:function(){var A=this;var AZ=A.get(l);var AY=A.get(f);var L=A.get(I);A._syncDays();A._syncHeader();A._syncSelectedDays();},_syncHeader:function(){var A=this;var AY=A.get(f);var L=A.get(I);var AZ=[A._getMonthName(AY),L].join(" ");A.headerTitleNode.html(AZ);},_syncDays:function(){var A=this;var AY=A.getDaysInMonth();var AZ=A.getFirstDayOfWeek();var L=A.getCurrentDate();A.monthDays.each(function(Ab,Aa){if(Aa>=AY){Ab.addClass(g);}else{Ab.removeClass(g);}L.setDate(Aa+1);A._restrictDate(L,Ab);});A.blankDays.each(function(Ab,Aa){var Ac=(AZ-A.get(d)+7)%7;if(Aa<Ac){Ab.removeClass(g);}else{Ab.addClass(g);}});},_syncSelectedDays:function(AZ){var A=this;var AY=A.get(f);var L=A.get(I);A.monthDays.replaceClass(AU,N);A.monthDays.replaceClass(F,N);A._eachSelectedDate(function(Ac,Ab){var Ad=(AY==Ac.getMonth())&&(L==Ac.getFullYear());if(Ad){var Aa=A.monthDays.item(Ac.getDate()-1);Aa.addClass(AU);try{Aa.focus();}catch(Ae){}}},AZ);},_renderCalendar:function(){var A=this;var L=A.get(R);A.weekDaysNode=AE.Node.create(y);A.monthDaysNode=AE.Node.create(E);A.headerTitleNode=AE.Node.create(AA);A.headerContentNode=AE.Node.create(U).append(A.headerTitleNode);var AY=AE.Node.create("<div></div>");AY.append(this.weekDaysNode);AY.append(this.monthDaysNode);A.setStdModContent(x.HEADER,A.headerContentNode);A.setStdModContent(x.BODY,AY);L.addClass(AC);},_renderWeekDays:function(){var AY=0;var L=this;var AZ=AE.Node.create(e);var Ab=L.get(d);while(AY<7){var Aa=(AY+Ab)%7;var A=L._getDayNameMin(Aa);L.weekDaysNode.append(AZ.clone().html(A));AY++;}},_renderBlankDays:function(){var L=0;var A=this;var AY=AE.Node.create(W);while(L++<7){A.monthDaysNode.append(AY.clone());}A.blankDays=A.monthDaysNode.all(t+Q);},_renderMonthDays:function(){var L=0;var A=this;var AY=AE.Node.create(Y);while(L++<31){A.monthDaysNode.append(AY.clone().html(L));}A.monthDays=A.monthDaysNode.all(t+AI);},_bindDOMEvents:function(){var L=this;var Aa=L.headerContentNode;var AZ=L.get(R);var Ab=Aa.one(t+z);var A=Aa.one(t+AF);var AY=function(Ac){Ac.halt();};AZ.on("click",AY);AZ.on("mousedown",AY);Ab.on("mousedown",AE.bind(L._selectNextMonth,L));A.on("mousedown",AE.bind(L._selectPrevMonth,L));},_bindDelegateMonthDays:function(){var A=this;var L=A.get(R);L.delegate("click",AE.bind(A._onClickDays,A),t+AI);L.delegate("mouseenter",AE.bind(A._onMouseEnterDays,A),t+AI);L.delegate("mouseleave",AE.bind(A._onMouseLeaveDays,A),t+AI);},alreadySelected:function(AY){var L=this;var A=false;L._eachSelectedDate(function(Aa,AZ){if(L._compareDates(Aa,AY)){A=true;}});return A;},getSelectedDates:function(){var A=this;return A.get(v);},getFormattedSelectedDates:function(){var A=this;var L=[];A._eachSelectedDate(function(AY){L.push(A.formatDate(AY,A.get(AB)));});return L;},getDetailedSelectedDates:function(){var A=this;var L=[];A._eachSelectedDate(function(AY){L.push({year:AY.getFullYear(),month:AY.getMonth(),day:AY.getDate()});});return L;},_getLocaleMap:function(){var A=this;return AE.DataType.Date.Locale[A.get(AV)];},_restrictDate:function(L,Ac){var A=this;var Ab=A.get(AT);var Aa=A.get(AW);var AZ=Aa&&(L<Aa);var AY=Ab&&(L>Ab);if(AZ||AY){Ac.addClass(a);}else{Ac.removeClass(a);}},_selectDate:function(){var A=this;var AY=A.get(v);var L=A.getCurrentDate();if(!A.get(k)){AY=[];}if(!A.alreadySelected(L)){AY.push(L);A.set(v,AY);}},_removeDate:function(L){var A=this;var AY=A.get(v);A._eachSelectedDate(function(Aa,AZ){if(A._compareDates(Aa,L)){AE.Array.remove(AY,AZ);
}});A.set(v,AY);},_eachSelectedDate:function(L,AY){var A=this;if(!AY){AY=A.get(v);}AE.Array.each(AY,function(){L.apply(this,arguments);});},_compareDates:function(L,A){return(L.getTime()==A.getTime());},_selectNextMonth:function(L){var A=this;A._navigateMonth(+1);L.preventDefault();},_selectPrevMonth:function(L){var A=this;A._navigateMonth(-1);L.preventDefault();},_navigateMonth:function(Aa){var A=this;var AZ=A.get(f);var AY=A.get(I);var L=new Date(AY,AZ+Aa);A.set(f,L.getMonth());A.set(I,L.getFullYear());},_afterSetDates:function(AZ){var L=this;var Ab=L.getSelectedDates();var Aa=L.getFormattedSelectedDates();var AY=L.getDetailedSelectedDates();var A=AZ.newVal.length;L._syncSelectedDays();if(A){L.fire("select",{date:{detailed:AY,formatted:Aa,normal:Ab}});if(!L.get(k)){L.hide();}}if(L.get(AN)){L.get(H).val(Aa.join(","));}},_onClickDays:function(Ab){var L=this;var Ac=Ab.currentTarget||Ab.target;var AZ=L.monthDays.indexOf(Ac)+1;var Aa=Ac.test(t+a);if(!Aa){L.set(l,AZ);var AY=L.getCurrentDate();var A=L.alreadySelected(AY);if(A){L._removeDate(AY);}else{L._selectDate();}}Ab.preventDefault();},_onMouseEnterDays:function(L){var A=this;var AY=L.currentTarget||L.target;AY.replaceClass(N,F);},_onMouseLeaveDays:function(L){var A=this;var AY=L.currentTarget||L.target;AY.replaceClass(F,N);},_setDates:function(AY){var A=this;AE.Array.each(AY,function(Aa,AZ){if(AS(Aa)){AY[AZ]=A.parseDate(Aa);}});var L=AY[AY.length-1];if(L){A.set(l,L.getDate());A.set(f,L.getMonth());A.set(I,L.getFullYear());A._syncSelectedDays(AY);}return AY;},_setMinMaxDate:function(L){var A=this;if(AS(L)){L=A.parseDate(L);}return L;},_setStack:function(L){var A=this;if(L){AE.CalendarManager.register(A);}else{AE.CalendarManager.remove(A);}return L;},getCurrentDate:function(){var A=this;var L=A._normalizeYearMonth();return(new Date(L.year,L.month,L.day));},getDaysInMonth:function(AY,AZ){var A=this;var L=A._normalizeYearMonth(AY,AZ);return(32-new Date(L.year,L.month,32).getDate());},getFirstDate:function(AY,AZ){var A=this;var L=A._normalizeYearMonth(AY,AZ);return(new Date(L.year,L.month,1));},getLastDate:function(AZ,Aa){var A=this;var AY=A._normalizeYearMonth(AZ,Aa);var L=A.getDaysInMonth(AY.month);return(new Date(AY.year,AY.month,L));},getFirstDayOfWeek:function(L,AY){var A=this;return A.getFirstDate(L,AY).getDay();},_normalizeYearMonth:function(AZ,Ac,L){var A=this;var Ab=A.get(l);var Aa=A.get(f);var AY=A.get(I);if(n(L)){L=Ab;}if(n(Ac)){Ac=Aa;}if(n(AZ)){AZ=AY;}return{year:AZ,month:Ac,day:L};},_getDayName:function(AY){var L=this;var A=L._getLocaleMap();return A.A[AY];},_getDayNameShort:function(AY){var L=this;var A=L._getLocaleMap();return A.a[AY];},_getDayNameMin:function(AY){var A=this;var L=A._getDayNameShort(AY);return L.slice(0,L.length-1);},_getMonthName:function(AY){var L=this;var A=L._getLocaleMap();return A.B[AY];},_getMonthNameShort:function(AY){var L=this;var A=L._getLocaleMap();return A.b[AY];},parseDate:function(L){var A=this;return(L?new Date(L):new Date);},formatDate:function(AZ,AY){var L=this;var A=L.get(AV);return AE.DataType.Date.format(AZ,{format:AY,locale:A});}}});AE.Calendar=X;AE.CalendarManager=new AE.OverlayManager({zIndexBase:1000});},"@VERSION@",{requires:["aui-overlay-context","datatype-date","widget-locale"],skinnable:true});