* Handles the event processing during resizing.
*/
@Override
protected void respond(final AjaxRequestTarget target) {
Component component = getComponent();
Request request;
if (component != null && (request = component.getRequest()) != null) {
EventType eventType = EventType.stringToType(request.getParameter(EventType.IDENTIFIER));
if (eventType == EventType.ON_SELECT) {
String selectedDate = request.getParameter("date");
SpecialKeys specialKeys = new SpecialKeys(request);
onSelect(target, selectedDate, specialKeys);
Locale locale = Session.get().getLocale();
DateFormat df;
if (locale != null) {
df = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
}
else {
df = DateFormat.getDateInstance(DateFormat.MEDIUM);
}
Date parsedDate = null;
java.sql.Date parsedSqlDate = null;
try {
parsedDate = df.parse(selectedDate);
parsedSqlDate = new java.sql.Date(parsedDate.getTime());
} catch (Exception e) {
throw new WicketRuntimeException("Error converting '" + selectedDate + "' to a Date object.", e);
}
if (parsedDate != null) {
onSelect(target, parsedDate, specialKeys);
}
if (parsedSqlDate != null) {
onSelect(target, parsedSqlDate, specialKeys);
}
if (component instanceof FormComponent<?>) {
((FormComponent<?>)component).inputChanged();
}
}
else if (eventType == EventType.ON_CLOSE) {
onClose(target, request.getParameter("date"), new SpecialKeys(request));
}
else if (eventType == EventType.ON_CHANGE_MONTH_YEAR) {
onChangeMonthYear(target, request.getParameter("year"), request.getParameter("month"), new SpecialKeys(request));
}
else if (eventType == EventType.BEFORE_SHOW) {
onBeforeShow(target);
}
}