[Jifty-commit] r1099 - in jifty/branches/jifty-jsan: . share/web/static/js share/web/templates/_elements

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon May 22 23:57:37 EDT 2006


Author: trs
Date: Mon May 22 23:57:37 2006
New Revision: 1099

Added:
   jifty/branches/jifty-jsan/share/web/static/js/jifty_utils.js
Modified:
   jifty/branches/jifty-jsan/   (props changed)
   jifty/branches/jifty-jsan/share/web/static/css/context-menus.css
   jifty/branches/jifty-jsan/share/web/static/js/context_menu.js
   jifty/branches/jifty-jsan/share/web/templates/_elements/javascript

Log:
 r12469 at zot:  tom | 2006-05-22 23:57:21 -0400
 * Use JS to place the context menu above everything else
 * Better styling


Modified: jifty/branches/jifty-jsan/share/web/static/css/context-menus.css
==============================================================================
--- jifty/branches/jifty-jsan/share/web/static/css/context-menus.css	(original)
+++ jifty/branches/jifty-jsan/share/web/static/css/context-menus.css	Mon May 22 23:57:37 2006
@@ -32,6 +32,18 @@
 .context_menu li.toplevel ul {
     font-size: 0.9em;
     display: none;
+
+    padding: 0.1em 0.2em 0.5em 0.1em;
+    background: white;
+    border-top: 1px dotted lightgrey;
+    border-left: 1px solid lightgrey;
+    border-right: 1px solid grey;
+    border-bottom: 1px solid grey;
+}
+
+.context_menu li.toplevel ul a {
+    width: 100%;
+    display: block;
 }
 
 .context_menu .open span.expand a {
@@ -61,7 +73,11 @@
     border-top: 1px solid lightgrey;
     border-left: 1px solid lightgrey;
     border-right: 1px solid grey;
-    border-bottom: 1px solid grey;
+    border-bottom-color: transparent;
+}
+
+.context_menu li.closed:hover {
+    border-bottom-color: grey;
 }
 
 .context_menu li.toplevel span.expand a:active {

Modified: jifty/branches/jifty-jsan/share/web/static/js/context_menu.js
==============================================================================
--- jifty/branches/jifty-jsan/share/web/static/js/context_menu.js	(original)
+++ jifty/branches/jifty-jsan/share/web/static/js/context_menu.js	Mon May 22 23:57:37 2006
@@ -43,9 +43,20 @@
         }
     
         var li = Jifty.ContextMenu.getParentListItem(ul);
+
+        if ( ul.style.position == "" ) {
+            var x = Jifty.Utils.findPosX( li );
+            var y = Jifty.Utils.findPosY( li ) + li.offsetHeight;
+
+            ul.style.position = "absolute";
+            ul.style.left = x + "px";
+            ul.style.top = y + "px";
+            ul.style.width = li.offsetWidth * 2 + "px";
+        }
+
         Element.removeClassName(li, "closed");
         Element.addClassName(li, "open");
-                             
+         
         ul.style.display = "block";
         Jifty.ContextMenu.currently_open = ul.id;
     },

Added: jifty/branches/jifty-jsan/share/web/static/js/jifty_utils.js
==============================================================================
--- (empty file)
+++ jifty/branches/jifty-jsan/share/web/static/js/jifty_utils.js	Mon May 22 23:57:37 2006
@@ -0,0 +1,36 @@
+
+if (typeof Jifty == "undefined") Jifty = { };
+
+Jifty.Utils = {
+    /* From http://www.quirksmode.org/js/findpos.html */
+    findPosX: function(obj) {
+        var curleft = 0;
+        if (obj.offsetParent)
+        {
+            while (obj.offsetParent)
+            {
+                curleft += obj.offsetLeft
+                obj = obj.offsetParent;
+            }
+        }
+        else if (obj.x)
+            curleft += obj.x;
+        return curleft;
+    },
+
+    findPosY: function(obj) {
+        var curtop = 0;
+        if (obj.offsetParent)
+        {
+            while (obj.offsetParent)
+            {
+                curtop += obj.offsetTop
+                obj = obj.offsetParent;
+            }
+        }
+        else if (obj.y)
+            curtop += obj.y;
+        return curtop;
+    }
+};
+

Modified: jifty/branches/jifty-jsan/share/web/templates/_elements/javascript
==============================================================================
--- jifty/branches/jifty-jsan/share/web/templates/_elements/javascript	(original)
+++ jifty/branches/jifty-jsan/share/web/templates/_elements/javascript	Mon May 22 23:57:37 2006
@@ -16,6 +16,7 @@
   /static/js/dom-drag.js
   /static/js/halo.js
   /static/js/combobox.js
+  /static/js/jifty_utils.js
   /static/js/key_bindings.js
   /static/js/context_menu.js
   /static/js/bps_util.js


More information about the Jifty-commit mailing list