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;


Reply via email to