| | |
| | | // only visible folders |
| | | if (height = li.firstChild.offsetHeight) { |
| | | pos = $(li.firstChild).offset(); |
| | | this.env.folder_coords[k] = { x1:pos.left, y1:pos.top, x2:pos.left + li.firstChild.offsetWidth, y2:pos.top + height, on:0 }; |
| | | this.env.folder_coords[k] = { x1:pos.left, y1:pos.top, |
| | | x2:pos.left + li.firstChild.offsetWidth, y2:pos.top + height, on:0 }; |
| | | } |
| | | } |
| | | } |
| | |
| | | this.drag_end = function(e) |
| | | { |
| | | this.drag_active = false; |
| | | this.env.last_folder_target = null; |
| | | |
| | | // over the folders |
| | | if (this.gui_objects.folderlist && this.env.folder_coords) { |
| | | for (var k in this.env.folder_coords) { |
| | | if (k == this.env.last_folder_target) { |
| | | if (this.env.folder_coords[k].on) |
| | | $(this.get_folder_li(k)).removeClass('droptarget'); |
| | | this.env.last_folder_target = null; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | |
| | | var li, pos, mouse; |
| | | mouse = rcube_event.get_mouse_pos(e); |
| | | pos = this.env.folderlist_coords; |
| | | |
| | | mouse.y += toffset; |
| | | |
| | | // if mouse pointer is outside of folderlist |
| | | if (mouse.x < pos.x1 || mouse.x >= pos.x2 || mouse.y < pos.y1 || mouse.y >= pos.y2) { |
| | | if (this.env.last_folder_target) { |
| | | if (this.env.last_folder_target) { |
| | | $(this.get_folder_li(this.env.last_folder_target)).removeClass('droptarget'); |
| | | this.env.last_folder_target = null; |
| | | } |
| | | this.env.folder_coords[this.env.last_folder_target].on = 0; |
| | | this.env.last_folder_target = null; |
| | | } |
| | | return; |
| | | } |
| | | |
| | | var last = this.env.last_folder_target; |
| | | |
| | | // over the folders |
| | | for (var k in this.env.folder_coords) { |
| | | pos = this.env.folder_coords[k]; |
| | | if ((mouse.x >= pos.x1) && (mouse.x < pos.x2) |
| | | && (mouse.y >= pos.y1) && (mouse.y < pos.y2) |
| | | if (mouse.x >= pos.x1 && mouse.x < pos.x2 && mouse.y >= pos.y1 && mouse.y < pos.y2 |
| | | && this.check_droptarget(k)) { |
| | | if (k == last) |
| | | continue; |
| | | $(this.get_folder_li(k)).addClass('droptarget'); |
| | | this.env.last_folder_target = k; |
| | | this.env.folder_coords[k].on = 1; |
| | | } |
| | | else if (pos.on){ |
| | | if (k == last) |
| | | this.env.last_folder_target = null; |
| | | else if (pos.on) { |
| | | $(this.get_folder_li(k)).removeClass('droptarget'); |
| | | this.env.folder_coords[k].on = 0; |
| | | $(this.get_folder_li(k)).removeClass('droptarget'); |
| | | } |
| | | } |
| | | } |