Author: mgrigorov
Date: Sun Jul 25 16:19:06 2010
New Revision: 979058
URL: http://svn.apache.org/viewvc?rev=979058&view=rev
Log:
WICKET-2899 date picker calendar shown on text field clicked (patch included)
Apply the provided patch and use it in the 'dates' example page.
port r979057 from wicket-1.4.x
Modified:
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
Modified:
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?rev=979058&r1=979057&r2=979058&view=diff
==============================================================================
---
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
(original)
+++
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
Sun Jul 25 16:19:06 2010
@@ -133,6 +133,8 @@ public class DatePicker extends Abstract
/** The target component. */
private Component component;
+
+ private boolean showOnFieldClick = false;
/**
* Construct.
@@ -231,6 +233,7 @@ public class DatePicker extends Abstract
variables.put("fireChangeEvent",
notifyComponentOnDateSelected());
variables.put("alignWithIcon", alignWithIcon());
variables.put("hideOnSelect", hideOnSelect());
+ variables.put("showOnFieldClick", showOnFieldClick());
// variables for YUILoader
variables.put("basePath",
Strings.stripJSessionId(RequestCycle.get().renderUrlFor(
new ResourceReferenceRequestHandler(YUI))));
@@ -714,6 +717,26 @@ public class DatePicker extends Abstract
{
return true;
}
+
+ /**
+ * Indicates whether the calendar should be shown when corresponding
text input is clicked.
+ *
+ * @return <code>true</code> <br/>
+ * <code>false</code> (default)
+ */
+ protected boolean showOnFieldClick() {
+ return showOnFieldClick;
+ }
+
+ /**
+ *
+ * @see {...@link #showOnFieldClick()}
+ */
+ public DatePicker setShowOnFieldClick(boolean show) {
+
+ this.showOnFieldClick = show;
+ return this;
+ }
/**
* Indicates whether the calendar should be rendered after it has been
loaded.
Modified:
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js?rev=979058&r1=979057&r2=979058&view=diff
==============================================================================
---
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
(original)
+++
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
Sun Jul 25 16:19:06 2010
@@ -27,7 +27,8 @@ init${widgetId} = function() {
datePattern: "${datePattern}",
alignWithIcon: ${alignWithIcon},
fireChangeEvent: ${fireChangeEvent},
- hideOnSelect: ${hideOnSelect}
+ hideOnSelect: ${hideOnSelect},
+ showOnFieldClick: ${showOnFieldClick}
});
${additionalJavascript}
};
Modified:
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js?rev=979058&r1=979057&r2=979058&view=diff
==============================================================================
---
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
(original)
+++
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/wicket-date.js
Sun Jul 25 16:19:06 2010
@@ -180,6 +180,10 @@ Wicket.DateTime.init = function(cfg) {
}
YAHOO.util.Event.addListener(cfg.icon, "click", showCalendar,
YAHOO.wicket[cfg.dpJs], true);
+
+ if (cfg.showOnFieldClick) {
+ YAHOO.util.Event.addListener(cfg.widgetId, "click",
showCalendar, YAHOO.wicket[cfg.dpJs], true);
+ }
function selectHandler(type, args, cal) {
YAHOO.util.Dom.get(cfg.componentId).value =
Wicket.DateTime.substituteDate(cfg.datePattern, args[0][0]);
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java?rev=979058&r1=979057&r2=979058&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
(original)
+++
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
Sun Jul 25 16:19:06 2010
@@ -171,7 +171,10 @@ public class DatesPage extends WicketExa
};
add(form);
form.add(dateTextField);
- dateTextField.add(new DatePicker());
+
+ DatePicker datePicker = new DatePicker();
+ datePicker.setShowOnFieldClick(true);
+ dateTextField.add(datePicker);
add(new FeedbackPanel("feedback"));
Form<?> form2 = new Form<Void>("form2")