From 432a614ab6e01ea5bd8876a267de67a9ee3fd544 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Thu, 09 Apr 2009 15:38:50 -0400 Subject: [PATCH] - Fix drag&drop with scrolling on IE (#1485786) --- program/js/app.js | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 51cce5d..7f60de5 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -53,7 +53,6 @@ this.env.bin_path = './bin/'; this.env.blankpage = 'program/blank.gif'; - // set environment variable(s) this.set_env = function(p, value) { @@ -1182,6 +1181,9 @@ this.drag_start = function(list) { + this.initialBodyScrollTop = bw.ie ? 0 : window.pageYOffset; + this.initialMailBoxScrollTop = document.getElementById("mailboxlist-container").scrollTop; + var model = this.task == 'mail' ? this.env.mailboxes : this.env.address_sources; this.drag_active = true; @@ -1213,10 +1215,17 @@ { if (this.gui_objects.folderlist && this.env.folder_coords) { + // offsets to compensate for scrolling while dragging a message + var boffset = bw.ie ? -document.documentElement.scrollTop : this.initialBodyScrollTop; + var moffset = this.initialMailBoxScrollTop-document.getElementById('mailboxlist-container').scrollTop; + var toffset = -moffset-boffset; + 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) -- Gitblit v1.9.1