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> <div
style=\"display:none;z-index: 99999;position:absolute;\" id=\"");
+ .write("\n<span> <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;
}