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]

Reply via email to