Author: gseitz
Date: Thu Sep 20 13:57:15 2007
New Revision: 577912
URL: http://svn.apache.org/viewvc?rev=577912&view=rev
Log:
WICKET-979: DatePicker can now be configured to stay visible after date
selection and/or to be initially rendered after all .js have been loaded.
Modified:
wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
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/DatePicker.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?rev=577912&r1=577911&r2=577912&view=diff
==============================================================================
---
wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
(original)
+++
wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
Thu Sep 20 13:57:15 2007
@@ -130,8 +130,17 @@
// component. Not as pretty as working with a panel etc, but
works
// for behaviors and is more efficient
Response response = component.getResponse();
- response
- .write("\n<span
class=\"yui-skin-sam\"> <span
style=\"display:none;position:absolute;z-index: 99999;\" id=\"");
+ response.write("\n<span class=\"yui-skin-sam\"> <span
style=\"");
+ if (renderOnLoad())
+ {
+ response.write("display:block;");
+ }
+ else
+ {
+ response.write("display:none;");
+ response.write("position:absolute;");
+ }
+ response.write("z-index: 99999;\" id=\"");
response.write(getEscapedComponentMarkupId());
response.write("Dp\"></span><img style=\"");
response.write(getIconStyle());
@@ -140,7 +149,12 @@
response.write("\" src=\"");
CharSequence iconUrl = getIconUrl();
response.write(Strings.escapeMarkup(iconUrl != null ?
iconUrl.toString() : ""));
- response.write("\" /></span><input type=\"hidden\"/>");
+ response.write("\" />");
+ if (renderOnLoad())
+ {
+ response.write("<br style=\"clear:left;\"/>");
+ }
+ response.write("</span>");
}
/**
@@ -173,6 +187,7 @@
variables.put("basePath", RequestCycle.get().urlFor(
new JavascriptResourceReference(YuiLib.class,
"")));
variables.put("enableMonthYearSelection",
Boolean.valueOf(enableMonthYearSelection()));
+ variables.put("hideOnSelect", Boolean.valueOf(hideOnSelect()));
// print out the initialization properties
Properties p = new Properties();
@@ -564,6 +579,32 @@
* just plain text.
*/
protected boolean enableMonthYearSelection()
+ {
+ return false;
+ }
+
+ /**
+ * Indicates whether the calendar should be hidden after a date was
+ * selected.
+ *
+ * @return <code>true</code> (default) if the calendar should be hidden
+ * after the date selection <br/><code>false</code> if the
+ * calendar should remain visible after the date selection.
+ */
+ protected boolean hideOnSelect()
+ {
+ return true;
+ }
+
+ /**
+ * Indicates whether the calendar should be rendered after it has been
+ * loaded.
+ *
+ * @return <code>true</code> if the calendar should be rendered after it
+ * has been loaded.<br/><code>false</code> (default) if it's
+ * initially hidden.
+ */
+ protected boolean renderOnLoad()
{
return false;
}
Modified:
wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js?rev=577912&r1=577911&r2=577912&view=diff
==============================================================================
---
wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
(original)
+++
wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
Thu Sep 20 13:57:15 2007
@@ -57,7 +57,8 @@
datePattern: "${datePattern}",
alignWithIcon: ${alignWithIcon},
enableMonthYearSelection:
${enableMonthYearSelection},
- fireChangeEvent: ${fireChangeEvent}
+ fireChangeEvent: ${fireChangeEvent},
+ hideOnSelect: ${hideOnSelect}
});
}
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=577912&r1=577911&r2=577912&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
Thu Sep 20 13:57:15 2007
@@ -221,7 +221,7 @@
function selectHandler(type, args, cal) {
YAHOO.util.Dom.get(cfg.componentId).value =
Wicket.DateTime.substituteDate(cfg.datePattern, args[0][0]);
var wasVisible = YAHOO.wicket[cfg.dpJs].isVisible();
- cal.hide();
+ if (cfg.hideOnSelect) { cal.hide(); }
if (cfg.fireChangeEvent && wasVisible) {
var field = YAHOO.util.Dom.get(cfg.componentId);
if (typeof(field.onchange) != 'undefined')
field.onchange();