150 lines
4.5 KiB
JavaScript
150 lines
4.5 KiB
JavaScript
//>>built
|
|
define("dojox/calendar/Mouse",["dojo/_base/array","dojo/_base/declare","dojo/_base/event","dojo/_base/lang","dojo/_base/window","dojo/dom-geometry","dojo/mouse","dojo/on","dojo/keys"],function(_1,_2,_3,_4,_5,_6,_7,on,_8){
|
|
return _2("dojox.calendar.Mouse",null,{triggerExtent:3,postMixInProperties:function(){
|
|
this.inherited(arguments);
|
|
this.on("rendererCreated",_4.hitch(this,function(ir){
|
|
var _9=ir.renderer;
|
|
var h;
|
|
if(!_9.__handles){
|
|
_9.__handles=[];
|
|
}
|
|
h=on(_9.domNode,"click",_4.hitch(this,function(e){
|
|
_3.stop(e);
|
|
this._onItemClick({triggerEvent:e,renderer:_9,item:this.renderItemToItem(_9.item,this.get("store"))});
|
|
}));
|
|
_9.__handles.push(h);
|
|
h=on(_9.domNode,"dblclick",_4.hitch(this,function(e){
|
|
_3.stop(e);
|
|
this._onItemDoubleClick({triggerEvent:e,renderer:_9,item:this.renderItemToItem(_9.item,this.get("store"))});
|
|
}));
|
|
_9.__handles.push(h);
|
|
h=on(_9.domNode,"contextmenu",_4.hitch(this,function(e){
|
|
this._onItemContextMenu({triggerEvent:e,renderer:_9,item:this.renderItemToItem(_9.item,this.get("store"))});
|
|
}));
|
|
_9.__handles.push(h);
|
|
if(_9.resizeStartHandle){
|
|
h=on(_9.resizeStartHandle,"mousedown",_4.hitch(this,function(e){
|
|
this._onRendererHandleMouseDown(e,_9,"resizeStart");
|
|
}));
|
|
_9.__handles.push(h);
|
|
}
|
|
if(_9.moveHandle){
|
|
h=on(_9.moveHandle,"mousedown",_4.hitch(this,function(e){
|
|
this._onRendererHandleMouseDown(e,_9,"move");
|
|
}));
|
|
_9.__handles.push(h);
|
|
}
|
|
if(_9.resizeEndHandle){
|
|
h=on(_9.resizeEndHandle,"mousedown",_4.hitch(this,function(e){
|
|
this._onRendererHandleMouseDown(e,_9,"resizeEnd");
|
|
}));
|
|
_9.__handles.push(h);
|
|
}
|
|
h=on(_9.domNode,"mousedown",_4.hitch(this,function(e){
|
|
this._rendererMouseDownHandler(e,_9);
|
|
}));
|
|
_9.__handles.push(h);
|
|
h=on(ir.container,_7.enter,_4.hitch(this,function(e){
|
|
if(!_9.item){
|
|
return;
|
|
}
|
|
if(!this._editingGesture){
|
|
this._setHoveredItem(_9.item.item,ir.renderer);
|
|
this._onItemRollOver(this.__fixEvt({item:this.renderItemToItem(_9.item,this.get("store")),renderer:_9,triggerEvent:e}));
|
|
}
|
|
}));
|
|
_9.__handles.push(h);
|
|
h=on(_9.domNode,_7.leave,_4.hitch(this,function(e){
|
|
if(!_9.item){
|
|
return;
|
|
}
|
|
if(!this._editingGesture){
|
|
this._setHoveredItem(null);
|
|
this._onItemRollOut(this.__fixEvt({item:this.renderItemToItem(_9.item,this.get("store")),renderer:_9,triggerEvent:e}));
|
|
}
|
|
}));
|
|
_9.__handles.push(h);
|
|
}));
|
|
},_onItemRollOver:function(e){
|
|
this._dispatchCalendarEvt(e,"onItemRollOver");
|
|
},onItemRollOver:function(e){
|
|
},_onItemRollOut:function(e){
|
|
this._dispatchCalendarEvt(e,"onItemRollOut");
|
|
},onItemRollOut:function(e){
|
|
},_rendererMouseDownHandler:function(e,_a){
|
|
_3.stop(e);
|
|
var _b=this.renderItemToItem(_a.item,this.get("store"));
|
|
this.selectFromEvent(e,_b,_a,true);
|
|
if(this._setTabIndexAttr){
|
|
this[this._setTabIndexAttr].focus();
|
|
}
|
|
},_onRendererHandleMouseDown:function(e,_c,_d){
|
|
_3.stop(e);
|
|
this.showFocus=false;
|
|
var _e=_c.item;
|
|
var _f=_e.item;
|
|
if(!this.isItemBeingEdited(_f)){
|
|
if(this._isEditing){
|
|
this._endItemEditing("mouse",false);
|
|
}
|
|
this.selectFromEvent(e,this.renderItemToItem(_c.item,this.get("store")),_c,true);
|
|
if(this._setTabIndexAttr){
|
|
this[this._setTabIndexAttr].focus();
|
|
}
|
|
this._edProps={editKind:_d,editedItem:_f,rendererKind:_c.rendererKind,tempEditedItem:_f,liveLayout:this.liveLayout};
|
|
this.set("focusedItem",this._edProps.editedItem);
|
|
}
|
|
var _10=[];
|
|
_10.push(on(_5.doc,"mouseup",_4.hitch(this,this._editingMouseUpHandler)));
|
|
_10.push(on(_5.doc,"mousemove",_4.hitch(this,this._editingMouseMoveHandler)));
|
|
var p=this._edProps;
|
|
p.handles=_10;
|
|
p.eventSource="mouse";
|
|
p.editKind=_d;
|
|
this._startPoint={x:e.screenX,y:e.screenY};
|
|
},_editingMouseMoveHandler:function(e){
|
|
var p=this._edProps;
|
|
if(this._editingGesture){
|
|
if(!this._autoScroll(e.pageX,e.pageY,true)){
|
|
this._moveOrResizeItemGesture([this.getTime(e)],"mouse",e);
|
|
}
|
|
}else{
|
|
if(Math.abs(this._startPoint.x-e.screenX)>=this.triggerExtent||Math.abs(this._startPoint.y-e.screenY)>=this.triggerExtent){
|
|
if(!this._isEditing){
|
|
this._startItemEditing(p.editedItem,"mouse");
|
|
}
|
|
p=this._edProps;
|
|
this._startItemEditingGesture([this.getTime(e)],p.editKind,"mouse",e);
|
|
}
|
|
}
|
|
},_editingMouseUpHandler:function(e){
|
|
var p=this._edProps;
|
|
this._stopAutoScroll();
|
|
if(this._isEditing){
|
|
if(this._editingGesture){
|
|
this._endItemEditingGesture("mouse",e);
|
|
}
|
|
this._endItemEditing("mouse",false);
|
|
}else{
|
|
_1.forEach(p.handles,function(_11){
|
|
_11.remove();
|
|
});
|
|
}
|
|
},_autoScroll:function(_12,_13,_14){
|
|
if(!this.scrollable||!this.autoScroll){
|
|
return false;
|
|
}
|
|
var _15=_6.position(this.scrollContainer,true);
|
|
var p=_14?_13-_15.y:_12-_15.x;
|
|
var max=_14?_15.h:_15.w;
|
|
if(p<0||p>max){
|
|
step=Math.floor((p<0?p:p-max)/2)/3;
|
|
this._startAutoScroll(step);
|
|
return true;
|
|
}else{
|
|
this._stopAutoScroll();
|
|
}
|
|
return false;
|
|
}});
|
|
});
|