I have checked your version and it seems to work fine. However I don't know how nice Wicket will play if we set a fixed id for that div. Normally Wicket would generate that ID and I just had a use-case where setting a fixed ID was the reason for a bug.
But in theory it should all just work fine, so lets stay with what you have done. Thanks, Sebastian 2013/8/4 Maxim Solodovnik <[email protected]> > Could you please check if "revision 1510096" works better for you? > It seems to work as expected om my machine > > > On Sun, Aug 4, 2013 at 6:01 AM, [email protected] < > [email protected]> wrote: > >> 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] >> > > > > -- > WBR > Maxim aka solomax > -- Sebastian Wagner https://twitter.com/#!/dead_lock http://www.webbase-design.de http://www.wagner-sebastian.com [email protected]
