/* Copyright (c) 2004-2016, The JS Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details */ //>>built define("dojo/dnd/Source",["../_base/array","../_base/declare","../_base/kernel","../_base/lang","../dom-class","../dom-geometry","../mouse","../ready","../topic","./common","./Selector","./Manager"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c){if(!_3.isAsync){_8(0,function(){var _d=["dojo/dnd/AutoSource","dojo/dnd/Target"];require(_d);});}var _e=_2("dojo.dnd.Source",_b,{isSource:true,horizontal:false,copyOnly:false,selfCopy:false,selfAccept:true,skipForm:false,withHandles:false,autoSync:false,delay:0,accept:["text"],generateText:true,constructor:function(_f,_10){_4.mixin(this,_4.mixin({},_10));var _11=this.accept;if(_11.length){this.accept={};for(var i=0;i<_11.length;++i){this.accept[_11[i]]=1;}}this.isDragging=false;this.mouseDown=false;this.targetAnchor=null;this.targetBox=null;this.before=true;this._lastX=0;this._lastY=0;this.sourceState="";if(this.isSource){_5.add(this.node,"dojoDndSource");}this.targetState="";if(this.accept){_5.add(this.node,"dojoDndTarget");}if(this.horizontal){_5.add(this.node,"dojoDndHorizontal");}this.topics=[_9.subscribe("/dnd/source/over",_4.hitch(this,"onDndSourceOver")),_9.subscribe("/dnd/start",_4.hitch(this,"onDndStart")),_9.subscribe("/dnd/drop",_4.hitch(this,"onDndDrop")),_9.subscribe("/dnd/cancel",_4.hitch(this,"onDndCancel"))];},checkAcceptance:function(_12,_13){if(this==_12){return !this.copyOnly||this.selfAccept;}for(var i=0;i<_13.length;++i){var _14=_12.getItem(_13[i].id).type;var _15=false;for(var j=0;j<_14.length;++j){if(_14[j] in this.accept){_15=true;break;}}if(!_15){return false;}}return true;},copyState:function(_16,_17){if(_16){return true;}if(arguments.length<2){_17=this==_c.manager().target;}if(_17){if(this.copyOnly){return this.selfCopy;}}else{return this.copyOnly;}return false;},destroy:function(){_e.superclass.destroy.call(this);_1.forEach(this.topics,function(t){t.remove();});this.targetAnchor=null;},onMouseMove:function(e){if(this.isDragging&&this.targetState=="Disabled"){return;}_e.superclass.onMouseMove.call(this,e);var m=_c.manager();if(!this.isDragging){if(this.mouseDown&&this.isSource&&(Math.abs(e.pageX-this._lastX)>this.delay||Math.abs(e.pageY-this._lastY)>this.delay)){var _18=this.getSelectedNodes();if(_18.length){m.startDrag(this,_18,this.copyState(_a.getCopyKeyState(e),true));}}}if(this.isDragging){var _19=false;if(this.current){if(!this.targetBox||this.targetAnchor!=this.current){this.targetBox=_6.position(this.current,true);}if(this.horizontal){_19=(e.pageX-this.targetBox.x