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]