Sebastien,

I'll be glad to help you if I can!
Just let me know when you are ready.


On Wed, Jan 30, 2013 at 9:19 PM, Sebastien <seb...@gmail.com> wrote:

> Hi,
>
> @Pieter,
> Yes, a Panel was definitely not the best idea, it would have been better to
> have - for the moment at least - a WebMarkupContainer as I planned as the
> beginning.
> I did a try on Martin's and Ernesto's suggestion(s) (handling callbacks in
> behaviors, in addition to a Listener/Adapter). I need to think a little bit
> more on this...
> Anyway, I am also glad that you solved your problem. If, for any reason,
> you encounter unexptected issue with your solution, I can revert the Panel
> to a WebMarkupContainer at no cost, so it will be easy to use it in your
> use case.
>
> @Ernesto,
> About your concerns related to the age and to earn some money at the end of
> the month, I know exactly what your are talking about! :)
>
> @Martin,
> As said above, I did a try with your suggestion with a solution that works
> nicely. But I was not able to apply it as you wrote it (for reasons I can
> explain). So, I will continue to think a little bit to this to be sure I do
> not "miss" something, and, if you don't mind (I don't want to bother you
> with wicket-jquery-ui dev), I would like to commit a "new designed
> behavior" in github, telling you what was the original approach and what is
> the new one, and if you could tell me if the new one is
> good/relevant/wicket-way, I will really appreciate!
>
> Best regards to you all,
> Sebastien.
>
> On Wed, Jan 30, 2013 at 4:08 PM, Ernesto Reinaldo Barreiro <
> reier...@gmail.com> wrote:
>
> > Good that you where able to solve your problem!
> >
> > On Wed, Jan 30, 2013 at 3:53 PM, Pieter Claassen <pie...@musmato.com>
> > wrote:
> >
> > > Ok, I just implemented my own. Seems to work.
> > >
> > > In my code
> > >         MyResizableBehavior resizableBehavior = new
> > MyResizableBehavior();
> > >         resizableBehavior.setStopEvent(new
> > > MyResizableBehavior.AjaxResizeStopCallback() {
> > >             @Override
> > >             protected void resize(AjaxRequestTarget target, Component
> > > source, int resizeHeight, int resizeWidth) {
> > > ....
> > >             }
> > >
> > >         });
> > >
> > >
> > > public class MyResizableBehavior extends ResizableBehavior {
> > >     public abstract static class AjaxResizeStopCallback extends
> > > AbstractAjaxEventCallback
> > >     {
> > >         private static final long serialVersionUID = 1L;
> > >
> > >         public AjaxResizeStopCallback()
> > >         {
> > >             super("stop");
> > >         }
> > >
> > >         @Override
> > >         protected List<CallbackParameter> getExtraParameters()
> > >         {
> > >             List<CallbackParameter> ret = super.getExtraParameters();
> > >             ret.add(CallbackParameter.resolved("resizeHeight",
> > > ResizableBehavior.UI_SIZE
> > >                     + ".height"));
> > >             ret.add(CallbackParameter.resolved("resizeWidth",
> > > ResizableBehavior.UI_SIZE + ".width"));
> > >             return ret;
> > >         }
> > >
> > >         @Override
> > >         public final void call(AjaxRequestTarget target, Component
> > source)
> > >         {
> > >             IRequestParameters req =
> > > RequestCycle.get().getRequest().getRequestParameters();
> > >
> > >             int resizeHeight =
> > > req.getParameterValue("resizeHeight").toInt(-1);
> > >             int resizeWidth =
> > > req.getParameterValue("resizeWidth").toInt(-1);
> > >             resize(target, source, resizeHeight, resizeWidth);
> > >         }
> > >
> > >         protected abstract void resize(AjaxRequestTarget target,
> > Component
> > > source,
> > >                                        int resizeHeight, int
> > resizeWidth);
> > >     }
> > >
> > >
> > >     public MyResizableBehavior
> > > setStopEvent(MyResizableBehavior.AjaxResizeStopCallback callback){
> > >
> > >         setEventListener(callback);
> > >         return this;
> > >     }
> > > }
> > >
> > >
> > > On Wed, Jan 30, 2013 at 3:15 PM, Pieter Claassen <pie...@musmato.com>
> > > wrote:
> > >
> > > > Ernesto,
> > > >
> > > > I cannot find any code in wiquery-6.2.0. that hooks into the
> stopEvent.
> > > > The example you provided seems to still force a round trip on any
> > change,
> > > > not just on stopEvent.
> > > >
> > > > Maybe I am daft, but I don't see any code that does this? I assume
> one
> > > can
> > > > extend ResizableBehaviour and add the stopEvent code to hook into a
> > > > callback, but I don't want to do this if this functionality already
> > > exists
> > > > and I just can't find it.
> > > >
> > > > Thanks for the help.
> > > > Pieter
> > > >
> > > >
> > > > On Wed, Jan 30, 2013 at 3:00 PM, Ernesto Reinaldo Barreiro <
> > > > reier...@gmail.com> wrote:
> > > >
> > > >> Pieter,
> > > >>
> > > >> Look at this example.
> > > >>
> > > >>
> > > >>
> > >
> >
> http://antiliasoft.com/wiquery-plugins/?wicket:bookmarkablePage=:com.wiquery.plugins.demo.ResizablePage
> > > >>
> > > >> and click on the ? at the left corner/. It is exactly what you
> want...
> > > >> Wiquery  already have a ResizableAjaxBehavior that hooks into
> > stopEvent.
> > > >> Fell free to copy or adapt it to your needs;-). Let me know if I can
> > > >> further help you somehow.
> > > >>
> > > >> On Wed, Jan 30, 2013 at 2:46 PM, Pieter Claassen <
> pie...@musmato.com>
> > > >> wrote:
> > > >>
> > > >> > Ernesto/Sebastien,
> > > >> >
> > > >> > I am stuck :-(
> > > >> >
> > > >> > Firstly, thanks for the resizablePanel in wicket-jquery-ui, but I
> > have
> > > >> to
> > > >> > hold off until this code is implemented in a behavior since my
> > > >> inheritance
> > > >> > doesn't match your project (I cannot inherit from resizablePanel).
> > > >> >
> > > >> > I looked at what was available in wiquery and found the
> > functionality
> > > >> > there, except.....
> > > >> >
> > > >> > When I implement the code below, I force an ajax round-trip to the
> > > >> service
> > > >> > whenever the re-size event is triggered which is a lot during a
> > > >> > panel re-size  This is not practical with the the model updates.
> > > Ideally
> > > >> > one would like to only update the position on stopEvents but the
> API
> > > >> > provides only for the setting of a JavaScript callback on
> > stopEvents.
> > > >> >
> > > >> > Does anybody have a suggestion on how to make this behavior
> > > practically
> > > >> > usable?
> > > >> >
> > > >> > Thanks,
> > > >> > Pieter
> > > >> >
> > > >> >
> > > >> >  ResizableBehavior resizableBehavior = new ResizableBehavior();
> > > >> >     resizableBehavior.setResizeEvent(new
> > > >> > ResizableBehavior.AjaxResizeCallback() {
> > > >> >             @Override
> > > >> >             protected void resize(AjaxRequestTarget target,
> > Component
> > > >> > source, int resizeHeight, int resizeWidth) {
> > > >> >                 AdvancedFormatter advancedFormatter =
> > > >> > questionBaseWebModel.getEntity().getStatement().getFormatter();
> > > >> >                 advancedFormatter.setWidth((float)resizeWidth /
> 800
> > *
> > > >> 100);
> > > >> >                 advancedFormatter.setHeight((float)resizeHeight);
> > > >> >                 advancedFormatterFactory.save(advancedFormatter);
> > > >> >             }
> > > >> >
> > > >> >         });
> > > >> >
> > > >> > This is available but only for JavaScript callbacks
> > > >> >
> > > >> >
> > >  resizableBehavior.setStopEvent(JsScopeUiEvent.quickScope("alert();"));
> > > >> >
> > > >> >
> > > >> >
> > > >> >
> > > >> >
> > > >> > On Mon, Jan 28, 2013 at 8:28 AM, Ernesto Reinaldo Barreiro <
> > > >> > reier...@gmail.com> wrote:
> > > >> >
> > > >> > > Hi,
> > > >> > >
> > > >> > > On Mon, Jan 28, 2013 at 7:45 AM, Pieter Claassen <
> > > pie...@musmato.com>
> > > >> > > wrote:
> > > >> > >
> > > >> > > > This is a general best practice question. I am using
> > > >> wicket-jquery-ui
> > > >> > > > because I don't seem to be able to find a resizable panel in
> the
> > > >> > > > internal wicket ajax widgets.
> > > >> > > >
> > > >> > > > 1. Is there no problem loading new jquery libraries over the
> > > wicket
> > > >> > > > implementation? What is best practice?
> > > >> > > >
> > > >> > >
> > > >> > > Look at the existing jquery integrations and see what people do?
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > > > 2. I am looking for a way to get the resized panels' x and y
> > size
> > > >> > > > parameters into my wicket code? Any suggestions how to do
> this?
> > > >> > > >
> > > >> > > > You have to:
> > > >> > >
> > > >> > > 1-Hook onto the client side events triggered by resize and use
> > > >> > > Wicket.AJA.get/post to stream back the parameters.
> > > >> > > 2-Attach and AJAX behavior at server side component and on
> respond
> > > get
> > > >> > and
> > > >> > > parse those parameter.
> > > >> > >
> > > >> > > Examples?
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> https://github.com/WiQuery/wiquery/blob/master/wiquery-jquery-ui/src/main/java/org/odlabs/wiquery/ui/slider/AjaxSlider.java
> > > >> > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> https://github.com/WiQuery/wiquery/blob/master/wiquery-jquery-ui/src/main/java/org/odlabs/wiquery/ui/tabs/Tabs.java
> > > >> > >
> > > >> > > or event better
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> https://github.com/WiQuery/wiquery/blob/master/wiquery-jquery-ui/src/main/java/org/odlabs/wiquery/ui/resizable/ResizableBehavior.java
> > > >> > >
> > > >> > > wihc already have that functionality (see AjaxResizeCallback)
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > > > Thanks,
> > > >> > > > Pieter
> > > >> > > >
> > > >> > > >
> > > >>
> ---------------------------------------------------------------------
> > > >> > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > >> > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > >> > > >
> > > >> > > >
> > > >> > >
> > > >> > >
> > > >> > > --
> > > >> > > Regards - Ernesto Reinaldo Barreiro
> > > >> > > Antilia Soft
> > > >> > > http://antiliasoft.com/ <http://antiliasoft.com/antilia>
> > > >> > >
> > > >> >
> > > >> >
> > > >> >
> > > >> > --
> > > >> > - - - - - - - - - - - - - - - - - - - -
> > > >> >   Pieter Claassen
> > > >> >   Musmato B.V.
> > > >> >   e: pieter.claas...@musmato.com
> > > >> >   t: +31 877 848259
> > > >> >   w: http://musmato.com
> > > >> > - - - - - - - - - - - - - - - - - - - -
> > > >> >
> > > >>
> > > >>
> > > >>
> > > >> --
> > > >> Regards - Ernesto Reinaldo Barreiro
> > > >> Antilia Soft
> > > >> http://antiliasoft.com/ <http://antiliasoft.com/antilia>
> > > >>
> > > >
> > > >
> > > >
> > > > --
> > > > - - - - - - - - - - - - - - - - - - - -
> > > >   Pieter Claassen
> > > >   Musmato B.V.
> > > >   e: pieter.claas...@musmato.com
> > > >   t: +31 877 848259
> > > >   w: http://musmato.com
> > > > - - - - - - - - - - - - - - - - - - - -
> > > >
> > >
> > >
> > >
> > > --
> > > - - - - - - - - - - - - - - - - - - - -
> > >   Pieter Claassen
> > >   Musmato B.V.
> > >   e: pieter.claas...@musmato.com
> > >   t: +31 877 848259
> > >   w: http://musmato.com
> > > - - - - - - - - - - - - - - - - - - - -
> > >
> >
> >
> >
> > --
> > Regards - Ernesto Reinaldo Barreiro
> > Antilia Soft
> > http://antiliasoft.com/ <http://antiliasoft.com/antilia>
> >
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>

Reply via email to