[Tickets #8989] Re: drag and drop message to hidden folder

bugs at horde.org bugs at horde.org
Mon May 24 13:48:47 UTC 2010


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/8989
------------------------------------------------------------------------------
  Ticket             | 8989
  Updated By         | rsalmon at mbpgroup.com
  Summary            | drag and drop message to hidden folder
  Queue              | IMP
  Version            | Git master
  Type               | Bug
  State              | Not A Bug
  Priority           | 1. Low
  Milestone          |
  Patch              |
  Owners             | Michael Slusarz
------------------------------------------------------------------------------


rsalmon at mbpgroup.com (2010-05-24 09:48) wrote:

> Definitely looks more like a browser/OS/UI bug than an issue with  
> the JS code.  (For the record, I tested with FF 3.6 on Ubuntu and  
> WinXP).
>
> Going to mark as not a bug.  If you can provide further debug  
> information, we will reopen this ticket.

The following small patch does the job for me.
I have 150 folders and everything works as expected using Firefox.

If I understood correctly;
p[1] seems to be the size of the folder tree (folders that are  
expanded) * some value (probably font height)
p[3] = p[1] + dim.height

I've noticed that when dealing with lots of folder, p[1] is always  
bigger than window.innerHeight and that probably why it was always  
scrolling back to the first folder of the tree.


--- dragdrop2.js.org	2010-05-24 16:33:50.000000000 +0200
+++ dragdrop2.js	2010-05-24 16:34:37.000000000 +0200
@@ -626,16 +626,16 @@
          //    speed[0] = this.lastCoord[0] - p[0];
          //}
          // Top scroll
-        if (this.lastCoord[1] < p[1]) {
-            speed[1] = this.lastCoord[1] - p[1];
+        if (this.lastCoord[1] <(window.innerHeight - dim.height)) {
+            speed[1] = this.lastCoord[1] - (window.innerHeight - dim.height);
          }
          // Scroll right
          //if (this.lastCoord[0] > p[2]) {
          //    speed[0] = this.lastCoord[0] - p[2];
          //}
          // Scroll left
-        if (this.lastCoord[1] > p[3]) {
-            speed[1] = this.lastCoord[1] - p[3];
+        if (this.lastCoord[1] > (window.innerHeight - 10)) {
+            speed[1] = this.lastCoord[1] - (window.innerHeight - 10);
          }

          if (speed[0] || speed[1]) {







More information about the bugs mailing list