Ignore:
Timestamp:
01/07/10 13:18:36 (14 years ago)
Author:
amuller
Message:

Ticket #597 - Implementação de Drag and Drop

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/filemanager/js/drag_area.js

    r1895 r1924  
    77        this.initEvent; 
    88        this.endEvent; 
    9         this.currentEvent; 
     9        this.operation; 
    1010} 
    1111 
    12 document.onmousemove = function(event) { _dragArea.moveWindow(event); } 
     12document.onmousemove = function(event) { 
     13        getPointer(event); 
     14        if (_dragArea.operation == 'drag') 
     15                _dragArea.dragObj(event); 
     16        else 
     17                _dragArea.moveWindow(event); 
     18} 
    1319document.onmousedown = function(event) {_dragArea.pressed = 1; }; 
    1420document.onmouseup = function(event) { _dragArea.pressed = 0 }; 
     
    1622counter = 0; 
    1723DragArea.prototype.moveWindow = function(e) { 
    18         getPointer(e); 
    1924        if (this.pressed){ 
    2025                var elem =  document.getElementById('dwindow'); // FIXME do not use getElement here 
     
    2631        } 
    2732} 
     33 
     34DragArea.prototype.dragObj = function(e){ 
     35        var _event  = is_ie ? window.event : e; 
     36        var _target = is_ie ? _event.srcElement : _event.target; 
     37 
     38        if (this.pressed) 
     39        { 
     40                var sign = document.getElementById('dragSign'); 
     41                if (sign == null) 
     42                { 
     43                        sign = document.createElement('SPAN'); 
     44                        sign.className = 'dragSign'; 
     45                        sign.id = 'dragSign'; 
     46                        document.body.appendChild(sign); 
     47                } 
     48                sign.innerHTML = get_lang("Drag and drop to move"); 
     49                sign.style.left = (_event.clientX + 2) + "px"; 
     50                sign.style.top = (_event.clientY + 2) + "px"; 
     51                sign.style.position = 'absolute'; 
     52        } 
     53        else{ 
     54                this.operation = ""; 
     55                var sign = document.getElementById('dragSign'); 
     56                if (sign == null) 
     57                        return; 
     58                sign.parentNode.removeChild(sign); 
     59                if(_target.tagName == 'SPAN'){ 
     60                        var filesUrl = toolbar.getCheckedFiles(); 
     61                        var path = _target.id.replace(/main$/g,'').substr(1); 
     62                        if (filesUrl.length > 1 && path.length > 1) 
     63                                move_to(path,filesUrl); 
     64                } 
     65        } 
     66} 
     67 
     68 
    2869var _dragArea = new DragArea(); 
Note: See TracChangeset for help on using the changeset viewer.