71 lines
2.3 KiB
JavaScript
71 lines
2.3 KiB
JavaScript
//>>built
|
|
define("dojox/mdnd/PureSource",["dojo/_base/kernel","dojo/_base/declare","dojo/_base/lang","dojo/_base/connect","dojo/_base/array","dojo/dom-class","dojo/dnd/common","dojo/dnd/Selector","dojo/dnd/Manager"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9){
|
|
return _2("dojox.mdnd.PureSource",_8,{horizontal:false,copyOnly:true,skipForm:false,withHandles:false,isSource:true,targetState:"Disabled",generateText:true,constructor:function(_a,_b){
|
|
_3.mixin(this,_3.mixin({},_b));
|
|
var _c=this.accept;
|
|
this.isDragging=false;
|
|
this.mouseDown=false;
|
|
this.sourceState="";
|
|
_6.add(this.node,"dojoDndSource");
|
|
if(this.horizontal){
|
|
_6.add(this.node,"dojoDndHorizontal");
|
|
}
|
|
this.topics=[_4.subscribe("/dnd/cancel",this,"onDndCancel"),_4.subscribe("/dnd/drop",this,"onDndCancel")];
|
|
},onDndCancel:function(){
|
|
this.isDragging=false;
|
|
this.mouseDown=false;
|
|
delete this.mouseButton;
|
|
},copyState:function(_d){
|
|
return this.copyOnly||_d;
|
|
},destroy:function(){
|
|
dojox.mdnd.PureSource.superclass.destroy.call(this);
|
|
_5.forEach(this.topics,_4.unsubscribe);
|
|
this.targetAnchor=null;
|
|
},markupFactory:function(_e,_f){
|
|
_e._skipStartup=true;
|
|
return new dojox.mdnd.PureSource(_f,_e);
|
|
},onMouseMove:function(e){
|
|
if(this.isDragging){
|
|
return;
|
|
}
|
|
dojox.mdnd.PureSource.superclass.onMouseMove.call(this,e);
|
|
var m=_9.manager();
|
|
if(this.mouseDown&&!this.isDragging&&this.isSource){
|
|
var _10=this.getSelectedNodes();
|
|
if(_10.length){
|
|
m.startDrag(this,_10,this.copyState(_4.isCopyKey(e)));
|
|
this.isDragging=true;
|
|
}
|
|
}
|
|
},onMouseDown:function(e){
|
|
if(this._legalMouseDown(e)&&(!this.skipForm||!_7.isFormElement(e))){
|
|
this.mouseDown=true;
|
|
this.mouseButton=e.button;
|
|
dojox.mdnd.PureSource.superclass.onMouseDown.call(this,e);
|
|
}
|
|
},onMouseUp:function(e){
|
|
if(this.mouseDown){
|
|
this.mouseDown=false;
|
|
dojox.mdnd.PureSource.superclass.onMouseUp.call(this,e);
|
|
}
|
|
},onOverEvent:function(){
|
|
dojox.mdnd.PureSource.superclass.onOverEvent.call(this);
|
|
_9.manager().overSource(this);
|
|
},onOutEvent:function(){
|
|
dojox.mdnd.PureSource.superclass.onOutEvent.call(this);
|
|
_9.manager().outSource(this);
|
|
},_markDndStatus:function(_11){
|
|
this._changeState("Source",_11?"Copied":"Moved");
|
|
},_legalMouseDown:function(e){
|
|
if(!this.withHandles){
|
|
return true;
|
|
}
|
|
for(var _12=e.target;_12&&!_6.contains(_12,"dojoDndItem");_12=_12.parentNode){
|
|
if(_6.contains(_12,"dojoDndHandle")){
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}});
|
|
});
|