But its kind of a fundamental bug, even when you resize the browser window... you can see the Calendar UI does not correctly resize when you load the UI for the second time by navigating somewhere else and then back to the Calendar UI.
Sebastian 2013/8/4 [email protected] <[email protected]> > Unfortunately the JavaScript function setCalendarHeight(); does not really > work as it should be. > > The first time you open the Calendar UI it does correctly resize the > Calendar to fit into the given space. > If you revisit the Panel by navigating using the top menu to some other > section and come back, > the Calendar UI will _not_ resize. > > So I will not apply this fix for now, probably something needs to be fixed > in the JavaScript function setCalendarHeight. > > This calculation just does not work the second time you visit the UI: > return $(window).height() - $('#${markupId}').position().top - 20; > > Sebastian > > > 2013/8/4 [email protected] <[email protected]> > > Yeah, makes sense, I did not see this JavaScript function. >> >> Sebastian >> >> >> 2013/8/4 Maxim Solodovnik <[email protected]> >> >>> Dear Sebastian, I would like to propose the following correction to your >>> fix, I believe it is better since doesn't require to hardcode header height >>> which can easily be changes in css file: >>> >>> Index: src/org/apache/openmeetings/web/user/calendar/CalendarPanel.java >>> =================================================================== >>> --- src/org/apache/openmeetings/web/user/calendar/CalendarPanel.java >>> (revision >>> 1509979) >>> +++ src/org/apache/openmeetings/web/user/calendar/CalendarPanel.java >>> (working >>> copy) >>> @@ -45,17 +45,11 @@ >>> 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 static final String javaScriptMarkup = "setCalendarHeight();"; >>> 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) { >>> } >>> @@ -76,9 +70,6 @@ >>> 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); >>> >>> >>> >>> On Sat, Aug 3, 2013 at 12:13 PM, <[email protected]> wrote: >>> >>>> 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; >>>> >>>> >>>> >>> >>> >>> -- >>> WBR >>> Maxim aka solomax >>> >> >> >> >> -- >> Sebastian Wagner >> https://twitter.com/#!/dead_lock >> http://www.webbase-design.de >> http://www.wagner-sebastian.com >> [email protected] >> > > > > -- > Sebastian Wagner > https://twitter.com/#!/dead_lock > http://www.webbase-design.de > http://www.wagner-sebastian.com > [email protected] > -- Sebastian Wagner https://twitter.com/#!/dead_lock http://www.webbase-design.de http://www.wagner-sebastian.com [email protected]
