Author: sebawagner
Date: Sat Aug 3 05:13:52 2013
New Revision: 1509937
URL: http://svn.apache.org/r1509937
Log:
OPENMEETINGS-736 Calendar UI - Month view does not resize to browser window by
default
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/CalendarPanel.java?rev=1509937&r1=1509936&r2=1509937&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
Sat Aug 3 05:13:52 2013
@@ -32,6 +32,8 @@ import org.apache.wicket.ajax.AbstractAj
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.json.JSONArray;
import org.apache.wicket.ajax.json.JSONException;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.util.time.Duration;
@@ -43,10 +45,17 @@ import com.googlecode.wicket.jquery.ui.c
import com.googlecode.wicket.jquery.ui.calendar.CalendarView;
public class CalendarPanel extends UserPanel {
+
private static final Logger log =
Red5LoggerFactory.getLogger(CalendarPanel.class, webAppRootKey);
private static final long serialVersionUID = 1L;
private Calendar calendar;
+ /**
+ * This constant is needed to adjust the calendar by default to the
needed browser height
+ * after loading it in the div.
+ */
+ private static int MENU_BAR_HEIGHT = 110;
+
@Override
public void onMenuPanelLoad(AjaxRequestTarget target) {
}
@@ -63,6 +72,21 @@ public class CalendarPanel extends UserP
calendar.refresh(target);
}
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+
+ String javaScriptMarkup = "$('#" + calendar.getMarkupId() +
"')."
+ + "fullCalendar('option', 'height',
$(window).height()-" + MENU_BAR_HEIGHT + " );";
+
+ AjaxRequestTarget target =
getRequestCycle().find(AjaxRequestTarget.class);
+ if (target != null) {
+ target.appendJavaScript(javaScriptMarkup);
+ } else {
+
response.render(JavaScriptHeaderItem.forScript(javaScriptMarkup, this.getId()));
+ }
+ }
+
public CalendarPanel(String id) {
super(id);
@@ -204,6 +228,7 @@ public class CalendarPanel extends UserP
//FIXME add feedback info
}
};
+
form.add(calendar);
add(new AbstractAjaxTimerBehavior(Duration.seconds(10)) {
private static final long serialVersionUID =
-4353305314396043476L;