You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by gs...@apache.org on 2007/12/19 22:04:30 UTC
svn commit: r605696 -
/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
Author: gseitz
Date: Wed Dec 19 13:04:29 2007
New Revision: 605696
URL: http://svn.apache.org/viewvc?rev=605696&view=rev
Log:
WICKET-1236: take scroll position into account when positioning the datepicker
Modified:
wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
Modified: wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js?rev=605696&r1=605695&r2=605696&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js (original)
+++ wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js Wed Dec 19 13:04:29 2007
@@ -104,16 +104,19 @@
viewPortHeight = Wicket.DateTime.getViewportHeight();
viewPortWidth = YAHOO.util.Dom.getViewportWidth();
+ // also take scroll position into account
+ scrollPos = [YAHOO.util.Dom.getDocumentScrollLeft(), YAHOO.util.Dom.getDocumentScrollTop()];
+
// correct datepicker's position so that it isn't rendered off screen on the right side or bottom
- if (targetPos[0] + subjectWidth > viewPortWidth) {
+ if (targetPos[0] + subjectWidth > scrollPos[0] + viewPortWidth) {
// correct horizontal position
- YAHOO.util.Dom.setX(subject, viewPortWidth - subjectWidth);
+ YAHOO.util.Dom.setX(subject, Math.max(targetPos[0], viewPortWidth) - subjectWidth);
} else {
YAHOO.util.Dom.setX(subject, targetPos[0]);
}
- if (targetPos[1] + targetHeight + 1 + subjectHeight > viewPortHeight) {
+ if (targetPos[1] + targetHeight + 1 + subjectHeight > scrollPos[1] + viewPortHeight) {
// correct vertical position
- YAHOO.util.Dom.setY(subject, viewPortHeight - subjectHeight);
+ YAHOO.util.Dom.setY(subject, Math.max(targetPos[1], viewPortHeight) - subjectHeight);
} else {
YAHOO.util.Dom.setY(subject, targetPos[1] + targetHeight + 1);
}