initial import
[roojs1] / Roo / grid / GridDragZone.js
1 /*
2  * Based on:
3  * Ext JS Library 1.1.1
4  * Copyright(c) 2006-2007, Ext JS, LLC.
5  *
6  * Originally Released Under LGPL - original licence link has changed is not relivant.
7  *
8  * Fork - LGPL
9  * <script type="text/javascript">
10  */
11  
12 // private
13 // This is a support class used internally by the Grid components
14 Roo.grid.GridDragZone = function(grid, config){
15     this.view = grid.getView();
16     Roo.grid.GridDragZone.superclass.constructor.call(this, this.view.mainBody.dom, config);
17     if(this.view.lockedBody){
18         this.setHandleElId(Roo.id(this.view.mainBody.dom));
19         this.setOuterHandleElId(Roo.id(this.view.lockedBody.dom));
20     }
21     this.scroll = false;
22     this.grid = grid;
23     this.ddel = document.createElement('div');
24     this.ddel.className = 'x-grid-dd-wrap';
25 };
26
27 Roo.extend(Roo.grid.GridDragZone, Roo.dd.DragZone, {
28     ddGroup : "GridDD",
29
30     getDragData : function(e){
31         var t = Roo.lib.Event.getTarget(e);
32         var rowIndex = this.view.findRowIndex(t);
33         if(rowIndex !== false){
34             var sm = this.grid.selModel;
35             //if(!sm.isSelected(rowIndex) || e.hasModifier()){
36               //  sm.mouseDown(e, t);
37             //}
38             if (e.hasModifier()){
39                 sm.handleMouseDown(e, t); // non modifier buttons are handled by row select.
40             }
41             return {grid: this.grid, ddel: this.ddel, rowIndex: rowIndex, selections:sm.getSelections()};
42         }
43         return false;
44     },
45
46     onInitDrag : function(e){
47         var data = this.dragData;
48         this.ddel.innerHTML = this.grid.getDragDropText();
49         this.proxy.update(this.ddel);
50         // fire start drag?
51     },
52
53     afterRepair : function(){
54         this.dragging = false;
55     },
56
57     getRepairXY : function(e, data){
58         return false;
59     },
60
61     onEndDrag : function(data, e){
62         // fire end drag?
63     },
64
65     onValidDrop : function(dd, e, id){
66         // fire drag drop?
67         this.hideProxy();
68     },
69
70     beforeInvalidDrop : function(e, id){
71
72     }
73 });