Fix #6640 - Inspection Schedule
[roojs1] / Roo / grid / GridDragZone.js
index a9662a6..70932cc 100644 (file)
@@ -30,15 +30,33 @@ Roo.extend(Roo.grid.GridDragZone, Roo.dd.DragZone, {
     getDragData : function(e){
         var t = Roo.lib.Event.getTarget(e);
         var rowIndex = this.view.findRowIndex(t);
-        if(rowIndex !== false){
-            var sm = this.grid.selModel;
+        var sm = this.grid.selModel;
             
-            // if editorgrid.. 
-            if (sm.getSelectedCell && (!sm.getSelectedCell() || (sm.getSelectedCell()[0] == rowIndex) ) ) {
-                Roo.log([ sm.getSelectedCell ? sm.getSelectedCell()[0] : 'NO' , rowIndex ]);
+        //Roo.log(rowIndex);
+        
+        if (sm.getSelectedCell) {
+            // cell selection..
+            if (!sm.getSelectedCell()) {
+                return false;
+            }
+            if (rowIndex != sm.getSelectedCell()[0]) {
                 return false;
             }
+        
+        }
+        if (sm.getSelections && sm.getSelections().length < 1) {
+            return false;
+        }
+        
+        
+        // before it used to all dragging of unseleted... - now we dont do that.
+        if(rowIndex !== false){
+            
+            // if editorgrid.. 
             
+            
+            //Roo.log([ sm.getSelectedCell() ? sm.getSelectedCell()[0] : 'NO' , rowIndex ]);
+               
             //if(!sm.isSelected(rowIndex) || e.hasModifier()){
               //  
             //}
@@ -52,14 +70,14 @@ Roo.extend(Roo.grid.GridDragZone, Roo.dd.DragZone, {
                 grid: this.grid,
                 ddel: this.ddel,
                 rowIndex: rowIndex,
-                selections:sm.getSelections ? sm.getSelections() : (
-                    sm.getSelectedCell() ? [ grid.ds.getAt(sm.getSelectedCell()[0]) ] : []
-                )
+                selections: sm.getSelections ? sm.getSelections() : (
+                    sm.getSelectedCell() ? [ this.grid.ds.getAt(sm.getSelectedCell()[0]) ] : [])
             };
         }
         return false;
     },
-
+    
+    
     onInitDrag : function(e){
         var data = this.dragData;
         this.ddel.innerHTML = this.grid.getDragDropText();