[Jifty-commit] r1410 - in jifty/trunk: lib/Jifty share/web/static/js
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Fri Jun 30 02:17:38 EDT 2006
Author: trs
Date: Fri Jun 30 02:17:35 2006
New Revision: 1410
Modified:
jifty/trunk/ (props changed)
jifty/trunk/lib/Jifty/Web.pm
jifty/trunk/share/web/static/js/context_menu.js
jifty/trunk/share/web/static/js/jifty_utils.js
Log:
r13587 at zot: tom | 2006-06-30 02:16:10 -0400
Smooth scrolling to show the whole context menu if it's out of the window's viewport has landed! (At the moment, it is a tad sluggish in Safari. Not sure why yet.)
Modified: jifty/trunk/lib/Jifty/Web.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web.pm (original)
+++ jifty/trunk/lib/Jifty/Web.pm Fri Jun 30 02:17:35 2006
@@ -47,6 +47,7 @@
formatDate.js
jifty.js
jifty_utils.js
+ jifty_smoothscroll.js
calendar.js
dom-drag.js
halo.js
Modified: jifty/trunk/share/web/static/js/context_menu.js
==============================================================================
--- jifty/trunk/share/web/static/js/context_menu.js (original)
+++ jifty/trunk/share/web/static/js/context_menu.js Fri Jun 30 02:17:35 2006
@@ -71,9 +71,10 @@
Element.removeClassName(li, "closed");
Element.addClassName(li, "open");
-
+
ul.style.display = "block";
Jifty.ContextMenu.currently_open = ul.id;
+ Jifty.ContextMenu.scrollToShow( ul.id );
},
hideOpenMenu: function(event) {
@@ -94,6 +95,17 @@
if (Jifty.ContextMenu.currently_open) {
Jifty.ContextMenu.hide(Jifty.ContextMenu.currently_open);
}
+ },
+
+ scrollToShow: function(id) {
+ var ul = $(id);
+ var y = Jifty.Utils.findPosY( ul ) + ul.offsetHeight + 10;
+ var scrollTop = Jifty.Utils.getScrollTop();
+ var screen = Jifty.Utils.findScreenHeight() + scrollTop;
+ var diff = y - screen;
+
+ if ( diff > 0 )
+ Jifty.SmoothScroll.scrollTo( scrollTop + diff );
}
};
Modified: jifty/trunk/share/web/static/js/jifty_utils.js
==============================================================================
--- jifty/trunk/share/web/static/js/jifty_utils.js (original)
+++ jifty/trunk/share/web/static/js/jifty_utils.js Fri Jun 30 02:17:35 2006
@@ -35,7 +35,33 @@
return curtop;
},
- isMSIE: false
+ isMSIE: false,
+
+ findScreenHeight: function() {
+ if ( window.innerHeight ) {
+ return window.innerHeight;
+ }
+ else {
+ if ( document.documentElement.clientHeight ) {
+ return document.documentElement.clientHeight;
+ }
+ else {
+ if ( document.body.clientHeight ) {
+ return document.body.clientHeight;
+ }
+ }
+ }
+ },
+
+ getScrollTop: function() {
+ if (document.body && document.body.scrollTop)
+ return document.body.scrollTop;
+ if (document.documentElement && document.documentElement.scrollTop)
+ return document.documentElement.scrollTop;
+ if (window.pageYOffset)
+ return window.pageYOffset;
+ return 0;
+ }
};
/* This sets Jifty.Utils.isMSIE to true in IE
More information about the Jifty-commit
mailing list