Author: ehillenius
Date: Fri Jul 13 17:43:04 2007
New Revision: 556194

URL: http://svn.apache.org/viewvc?view=rev&rev=556194
Log:
WICKET-747

Modified:
    
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
    
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
    
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js

Modified: 
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?view=diff&rev=556194&r1=556193&r2=556194
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
 Fri Jul 13 17:43:04 2007
@@ -113,7 +113,7 @@
                // for behaviors and is more efficient
                Response response = component.getResponse();
                response
-                               .write("\n<span>&nbsp;<div 
style=\"display:none;z-index: 99999;position:absolute;\" id=\"");
+                               .write("\n<span>&nbsp;<div 
style=\"display:none;position:absolute;z-index: 99999;\" id=\"");
                response.write(getComponentMarkupId());
                response.write("Dp\"></div><img style=\"");
                response.write(getIconStyle());
@@ -151,6 +151,7 @@
                variables.put("widgetId", widgetId);
                variables.put("datePattern", getDatePattern());
                variables.put("fireChangeEvent", 
Boolean.valueOf(notifyComponentOnDateSelected()));
+               variables.put("alignWithIcon", 
Boolean.valueOf(alignWithIcon()));
 
                // print out the initialization properties
                Properties p = new Properties();
@@ -225,6 +226,19 @@
                {
                        throw new UnableToDetermineFormatException();
                }
+       }
+
+       /**
+        * Whether to position the date picker relative to the trigger icon.
+        * 
+        * @return If true, the date picker is aligned with the left position 
of the
+        *         icon, and with the top right under. If false, the date picker
+        *         will skip positioning and will let you do the positioning
+        *         yourself. Returns true by default.
+        */
+       protected boolean alignWithIcon()
+       {
+               return true;
        }
 
        /**

Modified: 
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js?view=diff&rev=556194&r1=556193&r2=556194
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
 Fri Jul 13 17:43:04 2007
@@ -22,11 +22,18 @@
 
  // create date picker instance
  YAHOO.wicket.${widgetId}DpJs = new 
YAHOO.widget.Calendar("${widgetId}DpJs","${widgetId}Dp", { ${calendarInit} });
+ if (${alignWithIcon}) {
+        iconPos = YAHOO.util.Dom.getXY("${widgetId}Icon");
+        iconHeight = parseInt(YAHOO.util.Dom.getStyle("${widgetId}Icon", 
"height"));
+        YAHOO.wicket.${widgetId}DpJs.oDomContainer.style.top = iconPos[1] + 
iconHeight + 1 + "px";
+        YAHOO.wicket.${widgetId}DpJs.oDomContainer.style.left = iconPos[0] + 
"px";
+}
+
  YAHOO.wicket.${widgetId}DpJs.isVisible = function() { return 
YAHOO.wicket.${widgetId}DpJs.oDomContainer.style.display == 'block'; } 
+ 
  // inner function to show the calendar
  function showCalendar() {
     var dateValue = YAHOO.util.Dom.get("${widgetId}").value;
-
     if (dateValue) {
       dateValue = Wicket.DateTime.parseDate('${datePattern}', dateValue);
       YAHOO.wicket.${widgetId}DpJs.select(dateValue);
@@ -34,7 +41,6 @@
       YAHOO.wicket.${widgetId}DpJs.cfg.setProperty("pagedate", 
(firstDate.getMonth() + 1) + "/" + firstDate.getFullYear());
       YAHOO.wicket.${widgetId}DpJs.render();
     }
-
     YAHOO.wicket.${widgetId}DpJs.show();
   }
 
@@ -43,24 +49,20 @@
 
   // inner function for handling calendar selects  
   function selectHandler(type, args, cal) {
-
     var selDateArray = args[0][0];
     var yr = selDateArray[0];
     var month = selDateArray[1];
     var dt = selDateArray[2];
-
     // optionally do some padding to match the pattern
-    if('${datePattern}'.match(/\bdd\b/)) dt = Wicket.DateTime.zeroFill(dt);
-    if('${datePattern}'.match(/\bMM\b/)) month = 
Wicket.DateTime.zeroFill(month);
-    if('${datePattern}'.match(/\byy\b/)) yr = Wicket.DateTime.zeroFill(yr % 
100);
-
+    if('${datePattern}'.match(/\bdd\b/)) dt = 
Wicket.DateTime.padDateFragment(dt);
+    if('${datePattern}'.match(/\bMM\b/)) month = 
Wicket.DateTime.padDateFragment(month);
+    if('${datePattern}'.match(/\byy\b/)) yr = 
Wicket.DateTime.padDateFragment(yr % 100);
+    // replace pattern with real values
     var val = '${datePattern}'.replace(/d+/, dt).replace(/M+/, 
month).replace(/y+/, yr);   
     var wasVisible = YAHOO.wicket.${widgetId}DpJs.isVisible();
     YAHOO.util.Dom.get("${widgetId}").value = val;
-     
     // hide picker
     cal.hide();
-    
     // fire onchange notification 
     if (wasVisible && ${fireChangeEvent}) {
        var field = YAHOO.util.Dom.get("${widgetId}");

Modified: 
incubator/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/incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js?view=diff&rev=556194&r1=556193&r2=556194
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
 Fri Jul 13 17:43:04 2007
@@ -65,6 +65,6 @@
 /** 
  * Returns a string containing the value, with a leading zero if the value is 
< 10.
  */
-Wicket.DateTime.zeroFill = function(value) {
+Wicket.DateTime.padDateFragment = function(value) {
        return (value < 10 ? "0" : "") + value;
 }


Reply via email to