//>>built
require({cache:{"url:dojox/calendar/templates/MonthColumnView.html":"
\n"}});define("dojox/calendar/MonthColumnView",["./ViewBase","dijit/_TemplatedMixin","./_ScrollBarBase","dojo/text!./templates/MonthColumnView.html","dojo/_base/declare","dojo/_base/event","dojo/_base/lang","dojo/_base/array","dojo/_base/sniff","dojo/_base/fx","dojo/_base/html","dojo/on","dojo/dom","dojo/dom-class","dojo/dom-style","dojo/dom-geometry","dojo/dom-construct","dojo/mouse","dojo/query","dojo/i18n","dojox/html/metrics"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,fx,_a,on,_b,_c,_d,_e,_f,_10,_11,_12,_13){return _5("dojox.calendar.MonthColumnView",[_1,_2],{baseClass:"dojoxCalendarMonthColumnView",templateString:_4,viewKind:"monthColumns",_setTabIndexAttr:"domNode",renderData:null,startDate:null,columnCount:6,daySize:30,showCellLabel:true,showHiddenItems:true,verticalRenderer:null,verticalDecorationRenderer:null,percentOverlap:0,horizontalGap:4,columnHeaderFormatLength:null,gridCellDatePattern:null,roundToDay:true,_layoutUnit:"month",_columnHeaderHandlers:null,constructor:function(){this.invalidatingProperties=["columnCount","startDate","daySize","percentOverlap","verticalRenderer","verticalDecorationRenderer","columnHeaderDatePattern","horizontalGap","scrollBarRTLPosition","itemToRendererKindFunc","layoutPriorityFunction","textDir","items","showCellLabel","showHiddenItems"];this._columnHeaderHandlers=[];},postCreate:function(){this.inherited(arguments);this.keyboardUpDownUnit="day";this.keyboardUpDownSteps=1;this.keyboardLeftRightUnit="month";this.keyboardLeftRightSteps=1;this.allDayKeyboardUpDownUnit="day";this.allDayKeyboardUpDownSteps=1;this.allDayKeyboardLeftRightUnit="month";this.allDayKeyboardLeftRightSteps=1;},destroy:function(_14){this._cleanupColumnHeader();if(this.scrollBar){this.scrollBar.destroy(_14);}this.inherited(arguments);},_scrollBar_onScroll:function(_15){this.scrollContainer.scrollTop=_15;},buildRendering:function(){this.inherited(arguments);if(this.vScrollBar){this.scrollBar=new _3({content:this.vScrollBarContent},this.vScrollBar);this.scrollBar.on("scroll",_7.hitch(this,this._scrollBar_onScroll));this._viewHandles.push(on(this.scrollContainer,_10.wheel,dojo.hitch(this,this._mouseWheelScrollHander)));}},postscript:function(){this.inherited(arguments);this._initialized=true;if(!this.invalidRendering){this.refreshRendering();}},_setVerticalRendererAttr:function(_16){this._destroyRenderersByKind("vertical");this._set("verticalRenderer",_16);},_createRenderData:function(){var rd={};rd.daySize=this.get("daySize");rd.scrollbarWidth=_13.getScrollbar().w+1;rd.dateLocaleModule=this.dateLocaleModule;rd.dateClassObj=this.dateClassObj;rd.dateModule=this.dateModule;rd.dates=[];rd.columnCount=this.get("columnCount");var d=this.get("startDate");if(d==null){d=new rd.dateClassObj();}d=this.floorToMonth(d,false,rd);this.startDate=d;var _17=d.getMonth();var _18=0;for(var col=0;col31){_20=31;}}var _23=(_20-1)*this.daySize;if(_21){if(this._scrollAnimation){this._scrollAnimation.stop();}var _24=Math.abs(((_23-this.scrollContainer.scrollTop)*_21)/this.renderData.sheetHeight);this._scrollAnimation=new fx.Animation({curve:[this.scrollContainer.scrollTop,_23],duration:_24,easing:_22,onAnimate:_7.hitch(this,function(_25){this._setScrollImpl(_25);})});this._scrollAnimation.play();}else{this._setScrollImpl(_23);}},_setScrollImpl:function(v){this.scrollContainer.scrollTop=v;if(this.scrollBar){this.scrollBar.set("value",v);}},ensureVisibility:function(_26,end,_27,_28,_29){_28=_28==undefined?1:_28;if(this.scrollable&&this.autoScroll){var s=_26.getDate()-_28;if(this.isStartOfDay(end)){end=this._waDojoxAddIssue(end,"day",-1);}var e=end.getDate()+_28;var _2a=this.get("scrollPosition").date;var r=_e.getContentBox(this.scrollContainer);var _2b=(this.get("scrollPosition").date+(r.h/this.daySize));var _2c=false;var _2d=null;switch(_27){case "start":_2c=s>=_2a&&s<=_2b;_2d=s;break;case "end":_2c=e>=_2a&&e<=_2b;_2d=e-(_2b-_2a);break;case "both":_2c=s>=_2a&&e<=_2b;_2d=s;break;}if(!_2c){this._setScrollPosition(_2d,_29);}}},scrollView:function(dir){var pos=this.get("scrollPosition").date+dir;this._setScrollPosition(pos);},_mouseWheelScrollHander:function(e){this.scrollView(e.wheelDelta>0?-1:1);},refreshRendering:function(){if(!this._initialized){return;}this._validateProperties();var _2e=this.renderData;var rd=this.renderData=this._createRenderData();this._createRendering(rd,_2e);this._layoutDecorationRenderers(rd);this._layoutRenderers(rd);},_createRendering:function(_2f,_30){_d.set(this.sheetContainer,"height",_2f.sheetHeight+"px");this._configureScrollBar(_2f);this._buildColumnHeader(_2f,_30);this._buildGrid(_2f,_30);this._buildItemContainer(_2f,_30);},_configureScrollBar:function(_31){if(_9("ie")&&this.scrollBar){_d.set(this.scrollBar.domNode,"width",(_31.scrollbarWidth+1)+"px");}var _32=this.isLeftToRight()?true:this.scrollBarRTLPosition=="right";var _33=_32?"right":"left";var _34=_32?"left":"right";if(this.scrollBar){this.scrollBar.set("maximum",_31.sheetHeight);_d.set(this.scrollBar.domNode,_33,0);_d.set(this.scrollBar.domNode,_34,"auto");}_d.set(this.scrollContainer,_33,_31.scrollbarWidth+"px");_d.set(this.scrollContainer,_34,"0");_d.set(this.columnHeader,_33,_31.scrollbarWidth+"px");_d.set(this.columnHeader,_34,"0");if(this.buttonContainer&&this.owner!=null&&this.owner.currentView==this){_d.set(this.buttonContainer,_33,_31.scrollbarWidth+"px");_d.set(this.buttonContainer,_34,"0");}},_columnHeaderClick:function(e){_6.stop(e);var _35=_11("td",this.columnHeaderTable).indexOf(e.currentTarget);this._onColumnHeaderClick({index:_35,date:this.renderData.dates[_35][0],triggerEvent:e});},_buildColumnHeader:function(_36,_37){var _38=this.columnHeaderTable;if(!_38){return;}var _39=_36.columnCount-(_37?_37.columnCount:0);if(_9("ie")==8){if(this._colTableSave==null){this._colTableSave=_7.clone(_38);}else{if(_39<0){this._cleanupColumnHeader();this.columnHeader.removeChild(_38);_f.destroy(_38);_38=_7.clone(this._colTableSave);this.columnHeaderTable=_38;this.columnHeader.appendChild(_38);_39=_36.columnCount;}}}var _3a=_11("tbody",_38);var trs=_11("tr",_38);var _3b,tr,td;if(_3a.length==1){_3b=_3a[0];}else{_3b=_a.create("tbody",null,_38);}if(trs.length==1){tr=trs[0];}else{tr=_f.create("tr",null,_3b);}if(_39>0){for(var i=0;i<_39;i++){td=_f.create("td",null,tr);var h=[];h.push(on(td,"click",_7.hitch(this,this._columnHeaderClick)));if(_9("touch-events")){h.push(on(td,"touchstart",function(e){_6.stop(e);_c.add(e.currentTarget,"Active");}));h.push(on(td,"touchend",function(e){_6.stop(e);_c.remove(e.currentTarget,"Active");}));}else{h.push(on(td,"mousedown",function(e){_6.stop(e);_c.add(e.currentTarget,"Active");}));h.push(on(td,"mouseup",function(e){_6.stop(e);_c.remove(e.currentTarget,"Active");}));h.push(on(td,"mouseover",function(e){_6.stop(e);_c.add(e.currentTarget,"Hover");}));h.push(on(td,"mouseout",function(e){_6.stop(e);_c.remove(e.currentTarget,"Hover");}));}this._columnHeaderHandlers.push(h);}}else{_39=-_39;for(var i=0;i<_39;i++){td=tr.lastChild;tr.removeChild(td);_f.destroy(td);var _3c=this._columnHeaderHandlers.pop();while(_3c.length>0){_3c.pop().remove();}}}_11("td",_38).forEach(function(td,i){td.className="";if(i==0){_c.add(td,"first-child");}else{if(i==this.renderData.columnCount-1){_c.add(td,"last-child");}}var d=_36.dates[i][0];this._setText(td,this._formatColumnHeaderLabel(d));this.styleColumnHeaderCell(td,d,_36);},this);},_cleanupColumnHeader:function(){while(this._columnHeaderHandlers.length>0){var _3d=this._columnHeaderHandlers.pop();while(_3d.length>0){_3d.pop().remove();}}},styleColumnHeaderCell:function(_3e,_3f,_40){},_buildGrid:function(_41,_42){var _43=this.gridTable;if(!_43){return;}_d.set(_43,"height",_41.sheetHeight+"px");var _44=_41.maxDayCount-(_42?_42.maxDayCount:0);var _45=_44>0;var _46=_41.columnCount-(_42?_42.columnCount:0);if(_9("ie")==8){if(this._gridTableSave==null){this._gridTableSave=_7.clone(_43);}else{if(_46<0){this.grid.removeChild(_43);_f.destroy(_43);_43=_7.clone(this._gridTableSave);this.gridTable=_43;this.grid.appendChild(_43);_46=_41.columnCount;_44=_41.maxDayCount;_45=true;}}}var _47=_11("tbody",_43);var _48;if(_47.length==1){_48=_47[0];}else{_48=_f.create("tbody",null,_43);}if(_45){for(var i=0;i<_44;i++){_f.create("tr",null,_48);}}else{_44=-_44;for(var i=0;i<_44;i++){_48.removeChild(_48.lastChild);}}var _49=_41.maxDayCount-_44;var _4a=_45||_46>0;_46=_4a?_46:-_46;_11("tr",_43).forEach(function(tr,i){if(_4a){var len=i>=_49?_41.columnCount:_46;for(var i=0;i0){for(var i=0;i<_56;i++){td=_f.create("td",null,tr);_f.create("div",{"className":"dojoxCalendarContainerColumn"},td);}}else{_56=-_56;for(var i=0;i<_56;i++){tr.removeChild(tr.lastChild);}}_11("td>div",_54).forEach(function(div,i){_d.set(div,{"height":_52.sheetHeight+"px"});_55.push(div);},this);_52.cells=_55;},_overlapLayoutPass2:function(_59){var i,j,_5a,_5b;_5a=_59[_59.length-1];for(j=0;j<_5a.length;j++){_5a[j].extent=1;}for(i=0;i<_59.length-1;i++){_5a=_59[i];for(var j=0;j<_5a.length;j++){_5b=_5a[j];if(_5b.extent==-1){_5b.extent=1;var _5c=0;var _5d=false;for(var k=i+1;k<_59.length&&!_5d;k++){var _5e=_59[k];for(var l=0;l<_5e.length&&!_5d;l++){var _5f=_5e[l];if(_5b.start<_5f.end&&_5f.start<_5b.end){_5d=true;}}if(!_5d){_5c++;}}_5b.extent+=_5c;}}}},_defaultItemToRendererKindFunc:function(_60){if(_60.allDay){return "vertical";}var dur=Math.abs(this.renderData.dateModule.difference(_60.startTime,_60.endTime,"minute"));return dur>=1440?"vertical":null;},_layoutRenderers:function(_61){this.hiddenEvents={};this.inherited(arguments);},_layoutInterval:function(_62,_63,_64,end,_65,_66){var _67=[];var _68=[];_62.colW=this.itemContainer.offsetWidth/_62.columnCount;if(_66==="dataItems"){for(var i=0;i<_65.length;i++){var _69=_65[i];if(this._itemToRendererKind(_69)=="vertical"){_67.push(_69);}else{if(this.showHiddenItems){_68.push(_69);}}}if(_67.length>0){this._layoutVerticalItems(_62,_63,_64,end,_67,_66);}if(_68.length>0){this._layoutBgItems(_62,_63,_64,end,_68);}}else{this._layoutVerticalItems(_62,_63,_64,end,_65,_66);}},_dateToYCoordinate:function(_6a,d,_6b){var pos=0;if(_6b||d.getHours()!=0||d.getMinutes()!=0){pos=(d.getDate()-1)*this.renderData.daySize;}else{var d2=this._waDojoxAddIssue(d,"day",-1);pos=this.renderData.daySize+((d2.getDate()-1)*this.renderData.daySize);}pos+=(d.getHours()*60+d.getMinutes())*this.renderData.daySize/1440;return pos;},_layoutVerticalItems:function(_6c,_6d,_6e,_6f,_70,_71){if(this.verticalRenderer==null){return;}var _72=_6c.cells[_6d];var _73=[];for(var i=0;i<_70.length;i++){var _74=_70[i];var _75=this.computeRangeOverlap(_6c,_74.startTime,_74.endTime,_6e,_6f);var top=this._dateToYCoordinate(_6c,_75[0],true);var _76=this._dateToYCoordinate(_6c,_75[1],false);if(_76>top){var _77=_7.mixin({start:top,end:_76,range:_75,item:_74},_74);_73.push(_77);}}var _78=_71==="dataItems"?this.computeOverlapping(_73,this._overlapLayoutPass2).numLanes:1;var _79=this.percentOverlap/100;for(i=0;i<_73.length;i++){_74=_73[i];var _7a=_74.lane;var _7b=_74.extent;var ir=null;if(_71==="dataItems"){var w;var _7c;if(_79==0){w=_78==1?_6c.colW:((_6c.colW-(_78-1)*this.horizontalGap)/_78);_7c=_7a*(w+this.horizontalGap);w=_7b==1?w:w*_7b+(_7b-1)*this.horizontalGap;w=100*w/_6c.colW;_7c=100*_7c/_6c.colW;}else{w=_78==1?100:(100/(_78-(_78-1)*_79));_7c=_7a*(w-_79*w);w=_7b==1?w:w*(_7b-(_7b-1)*_79);}ir=this._createRenderer(_74,"vertical",this.verticalRenderer,"dojoxCalendarVertical");_d.set(ir.container,{"top":_74.start+"px","left":_7c+"%","width":w+"%","height":(_74.end-_74.start+1)+"px"});var _7d=this.isItemBeingEdited(_74);var _7e=this.isItemSelected(_74);var _7f=this.isItemHovered(_74);var _80=this.isItemFocused(_74);var _81=ir.renderer;_81.set("hovered",_7f);_81.set("selected",_7e);_81.set("edited",_7d);_81.set("focused",this.showFocus?_80:false);_81.set("storeState",this.getItemStoreState(_74));_81.set("moveEnabled",this.isItemMoveEnabled(_74._item,"vertical"));_81.set("resizeEnabled",this.isItemResizeEnabled(_74._item,"vertical"));this.applyRendererZIndex(_74,ir,_7f,_7e,_7d,_80);if(_81.updateRendering){_81.updateRendering(w,_74.end-_74.start+1);}}else{ir=this.decorationRendererManager.createRenderer(_74,"vertical",this.verticalDecorationRenderer,"dojoxCalendarDecoration");_d.set(ir.container,{"top":_74.start+"px","left":"0","width":"100%","height":(_74.end-_74.start+1)+"px"});}_f.place(ir.container,_72);_d.set(ir.container,"display","block");}},_getCellAt:function(_82,_83,rtl){if((rtl==undefined||rtl==true)&&!this.isLeftToRight()){_83=this.renderData.columnCount-1-_83;}return this.gridTable.childNodes[0].childNodes[_82].childNodes[_83];},invalidateLayout:function(){_11("td",this.gridTable).forEach(function(td){_c.remove(td,"dojoxCalendarHiddenEvents");});this.inherited(arguments);},_layoutBgItems:function(_84,col,_85,_86,_87){var _88={};for(var i=0;i<_87.length;i++){var _89=_87[i];var _8a=this.computeRangeOverlap(_84,_89.startTime,_89.endTime,_85,_86);var _8b=_8a[0].getDate()-1;var end;if(this.isStartOfDay(_8a[1])){end=this._waDojoxAddIssue(_8a[1],"day",-1);end=end.getDate()-1;}else{end=_8a[1].getDate()-1;}for(var d=_8b;d<=end;d++){_88[d]=true;}}for(var row in _88){if(_88[row]){var _8c=this._getCellAt(row,col,false);_c.add(_8c,"dojoxCalendarHiddenEvents");}}},_sortItemsFunction:function(a,b){var res=this.dateModule.compare(a.startTime,b.startTime);if(res==0){res=-1*this.dateModule.compare(a.endTime,b.endTime);}return this.isLeftToRight()?res:-res;},getTime:function(e,x,y,_8d){if(e!=null){var _8e=_e.position(this.itemContainer,true);if(e.touches){_8d=_8d==undefined?0:_8d;x=e.touches[_8d].pageX-_8e.x;y=e.touches[_8d].pageY-_8e.y;}else{x=e.pageX-_8e.x;y=e.pageY-_8e.y;}}var r=_e.getContentBox(this.itemContainer);if(!this.isLeftToRight()){x=r.w-x;}if(x<0){x=0;}else{if(x>r.w){x=r.w-1;}}if(y<0){y=0;}else{if(y>r.h){y=r.h-1;}}var col=Math.floor(x/(r.w/this.renderData.columnCount));var row=Math.floor(y/(r.h/this.renderData.maxDayCount));var _8f=null;if(col1&&!this._isEditing){_6.stop(e);return;}if(this._gridProps&&!this._isEditing){var _90={x:e.touches[0].screenX,y:e.touches[0].screenY};var p=this._edProps;if(!p||p&&(Math.abs(_90.x-p.start.x)>25||Math.abs(_90.y-p.start.y)>25)){this._gridProps.moved=true;var d=e.touches[0].screenY-this._gridProps.start;var _91=this._gridProps.scrollTop-d;var max=this.itemContainer.offsetHeight-this.scrollContainer.offsetHeight;if(_91<0){this._gridProps.start=e.touches[0].screenY;this._setScrollImpl(0);this._gridProps.scrollTop=0;}else{if(_91>max){this._gridProps.start=e.touches[0].screenY;this._setScrollImpl(max);this._gridProps.scrollTop=max;}else{this._setScrollImpl(_91);}}}}},_onGridTouchEnd:function(e){this.inherited(arguments);var g=this._gridProps;if(g){if(!this._isEditing){if(!g.moved){if(!g.fromItem&&!g.editingOnStart){this.selectFromEvent(e,null,null,true);}if(!g.fromItem){if(this._pendingDoubleTap&&this._pendingDoubleTap.grid){this._onGridDoubleClick({date:this.getTime(this._gridProps.event),triggerEvent:this._gridProps.event});clearTimeout(this._pendingDoubleTap.timer);delete this._pendingDoubleTap;}else{this._onGridClick({date:this.getTime(this._gridProps.event),triggerEvent:this._gridProps.event});this._pendingDoubleTap={grid:true,timer:setTimeout(_7.hitch(this,function(){delete this._pendingDoubleTap;}),this.doubleTapDelay)};}}}}this._gridProps=null;}},_onColumnHeaderClick:function(e){this._dispatchCalendarEvt(e,"onColumnHeaderClick");},onColumnHeaderClick:function(e){},_onScrollTimer_tick:function(){this._setScrollImpl(this.scrollContainer.scrollTop+this._scrollProps.scrollStep);},snapUnit:"day",snapSteps:1,minDurationUnit:"day",minDurationSteps:1,liveLayout:false,stayInView:true,allowStartEndSwap:true,allowResizeLessThan24H:false});});