Hi Sebastien,

I think the more flexible way is to have the callbacks in the behavior:

class ResizeableBehavior extends JQueryAjaxBehavior {

   protected void onAjax(AjaxRequestTarget target) {
       int top, left, width, height = ...; // use the request parameters to
extract the values
      onResize(target, top, left, width, height)
   }

   protected /*abstract*/ void onResize(AjaxRequestTarget target, int top,
int left, int width, int height) {}
}

This way any component can make use of it:

class MyComponent extends AnyOtherComponent {

  add(new ReziseBehavior() {
   @Override protected void onResize(...) {
      MyComponent.this.onResize(...)
   }
  })

   protected void onResize(AjaxRequestTarget target, int top, int left, int
width, int height) {}
}



On Tue, Jan 29, 2013 at 10:26 AM, Sebastien <seb...@gmail.com> wrote:

> Hi Ernesto, Hi Martin,
>
> > IMHO, it would make more sense to have that feature as a behavior instead
> of a panel... that way you are not forcing an inheritance
> For this point, I was not sure whether to make a WebMarkupContainer or a
> Panel that, you are true, force the inheritance.
>
> But actually the main discussion here is... Is it the role of a Behavior to
> handle callbacks or it is the role of a Wicket component to handle these,
> or both.
> I thought about this at the beginning of the project. I wanted to have a
> component oriented API, as Wicket is, and to be the closest as possible in
> term of phylosophy and coding pratice. My conclusion was that, but maybe am
> I wrong, that it is the responsibility of the Component to handle
> callbacks, not the Behavior. (but in another hand, Wicket's Behavior are
> exposing callback sometimes, but mainly Components are doing so)
>
> Sure, it is not a big redesign to make both the Component and the Behavior
> to handle callback, but I would like to be sure it fit Wicket's philosophy.
>
> Ernesto, thanks for your input. I would like other inputs on that subject
> before changing the way the API is designed.
>
> Best regards,
> Sebastien.
>
> On Tue, Jan 29, 2013 at 8:09 AM, Ernesto Reinaldo Barreiro <
> reier...@gmail.com> wrote:
>
> > HI
> >
> > On Tue, Jan 29, 2013 at 8:05 AM, Ernesto Reinaldo Barreiro <
> > reier...@gmail.com> wrote:
> >
> > > Hi,
> > >
> > > On Tue, Jan 29, 2013 at 7:55 AM, Martin Grigorov <mgrigo...@apache.org
> > >wrote:
> > >
> > >> On Tue, Jan 29, 2013 at 7:31 AM, Ernesto Reinaldo Barreiro <
> > >> reier...@gmail.com> wrote:
> > >>
> > >> > Hi,
> > >> >
> > >> > On Tue, Jan 29, 2013 at 12:38 AM, Sebastien <seb...@gmail.com>
> wrote:
> > >> >
> > >> > > Hi Pieter,
> > >> > >
> > >> > > I added the ResizablePanel component and deployed the snapshot
> > release
> > >> > > (wicket-jquery-ui-core-6.2.1-SNAPSHOT)
> > >> > >
> > >> > > You may find how it works on the demo site:
> > >> > >
> http://www.7thweb.net/wicket-jquery-ui/resizable/ResizablePanelPage
> > >> > >
> > >> > >
> > >> > IMHO, it would make more sense to have that feature as a behavior
> > >> instead
> > >> > of a panel... that way you are not forcing an inheritance. On
> wiquery
> > >> this
> > >> > is done as an "adapter" that is passed to a behavior.
> > >> >
> > >> >
> > >> There is a behavior is as well:
> > >> http://www.7thweb.net/wicket-jquery-ui/resizable/DefaultResizablePage
> > >>
> > >
> >
> > does seem ---> DOES NOT SEEM.........  below... mornings:-()
> >
> >
> > > Yes I have looked at the behavior example as well... but behavior does
> > >> seem to support (at least at the example) to plug in anything to make
> it
> > >> listen to resize call backs. Maybe it does and it isn't shown at the
> > >> code...
> > >>
> > >
> > > Well my point is that it makes more sense to have this as "an adapter"
> > > added to a behavior than having a panel. E.g. You a have a data table
> > that
> > > you want to make resizable and want to remember new sizes at server
> > side...
> > > Panel won't help you there.
> > >
> > > >
> > >> >
> > >> > > I hope it will suit your use case, do not hesitate to come back to
> > me
> > >> if
> > >> > > you have any questions...
> > >> > >
> > >> > > Best regards,
> > >> > > Sebastien.
> > >> > >
> > >> > > On Mon, Jan 28, 2013 at 1:19 PM, Sebastien <seb...@gmail.com>
> > wrote:
> > >> > >
> > >> > > > Hi Pieter, hi Martin,
> > >> > > >
> > >> > > > As you are using wicket 6 and wicket-jquery-ui 6, there is no
> > >> version
> > >> > > > conflict because wicket-jquery-ui relies on wicket's embedded
> > jquery
> > >> > > core,
> > >> > > > so there is only one reference of jquery-js
> > >> > > >
> > >> > > > But a problem may arise:
> > >> > > > - if you are youself using a version of jquery core javascript,
> > for
> > >> > other
> > >> > > > needs.
> > >> > > > - if you are using severals jquery ui integrations. The conflict
> > may
> > >> > > > occurs with jquery-ui javascript library (probably not with the
> > >> jquery
> > >> > > > core), you have to provide you own jquery-ui JSRR, as Martin
> > >> mentioned,
> > >> > > and
> > >> > > > remove these used by the integrations. Caution, if you prefer to
> > >> remove
> > >> > > the
> > >> > > > JSRR of only one integration (using the code I provide earlier)
> > and
> > >> let
> > >> > > the
> > >> > > > one of another integration, you will get into trouble if you
> use a
> > >> > > > component of the first integration but none of the second
> > >> integration
> > >> > on
> > >> > > a
> > >> > > > same page, because no jquery-ui javascript library will be
> > rendered
> > >> in
> > >> > > that
> > >> > > > case...
> > >> > > >
> > >> > > > Best regards,
> > >> > > > Sebastien.
> > >> > > >
> > >> > > >
> > >> > > > On Mon, Jan 28, 2013 at 12:58 PM, Martin Grigorov <
> > >> > mgrigo...@apache.org
> > >> > > >wrote:
> > >> > > >
> > >> > > >> Hi Pieter,
> > >> > > >>
> > >> > > >> Both Wicket and the libraries which integrate with jQuery UI
> > >> provide
> > >> > > ways
> > >> > > >> to setup custom JavaScriptResourceReference (JSRR) that loads
> > >> > jquery.js.
> > >> > > >> The easiest way is to tell the jquery-ui integration library to
> > not
> > >> > > >> contribute its JSRR at all. Only Wicket will contribute it.
> > >> > > >>
> > >> > > >> If for some reason you need different version of jquery.js than
> > the
> > >> > one
> > >> > > >> that comes with Wicket itself then you can use the APIs
> explained
> > >> by
> > >> > > >> Sebastien to use your custom JSRR.
> > >> > > >> Wicket is smart enough to filter several contributions of the
> > same
> > >> > > >> resource
> > >> > > >> and actually render it just once.
> > >> > > >>
> > >> > > >>
> > >> > > >> On Mon, Jan 28, 2013 at 1:35 PM, Pieter Claassen <
> > >> pie...@musmato.com>
> > >> > > >> wrote:
> > >> > > >>
> > >> > > >> > Sebastien,
> > >> > > >> >
> > >> > > >> > So by including the wicket-jquery-ui (if I follow the
> > >> installation
> > >> > > >> > instructions), does that not conflict with the jquery core
> > >> library?
> > >> > > >> >
> > >> > > >> > Regards,
> > >> > > >> > Pieter
> > >> > > >> >
> > >> > > >> > On Mon, Jan 28, 2013 at 11:38 AM, Sebastien <
> seb...@gmail.com>
> > >> > wrote:
> > >> > > >> >
> > >> > > >> > > Hi Pieter,
> > >> > > >> > >
> > >> > > >> > > Yes, wicket is embedding jquery core library. If you
> include
> > >> > another
> > >> > > >> > jquery
> > >> > > >> > > core well yes, you will probably get into troubles.
> > >> > > >> > >
> > >> > > >> > > If you really want to do that, you can specify your own
> > jQuery
> > >> > core
> > >> > > >> > library
> > >> > > >> > > version, in Wicket Application#init():
> > >> > > >> > >
> > >> > > >> > > IJavaScriptLibrarySettings settings =
> > >> > > getJavaScriptLibrarySettings();
> > >> > > >> > > settings.setJQueryReference(new MyJQueryReference());
> > >> > > >> > >
> > >> > > >> > > About conflicts with existing Wicket / jQuery UI
> > >> implementation,
> > >> > > >> that's
> > >> > > >> > the
> > >> > > >> > > same, only one jQuery UI library version should be loaded
> at
> > a
> > >> > time.
> > >> > > >> > > In wicket-jquery-ui, you can change or remove the shipped
> > >> library
> > >> > in
> > >> > > >> the
> > >> > > >> > > same way:
> > >> > > >> > >
> > >> > > >> > > IJQueryLibrarySettings settings = new
> > JQueryLibrarySettings();
> > >> > > >> > >
> > >> > > >> > > settings.setJQueryReference(new MyJQueryReference()); //
> > >> (jquery
> > >> > > core,
> > >> > > >> > same
> > >> > > >> > > code as above)
> > >> > > >> > > settings.setJQueryUIReference(new
> > >> > > >> > > JQueryPluginResourceReference(MyApplication.class,
> > >> > > >> > > "jquery-ui-x.x.x.min.js")); //new jquery ui version
> > >> > > >> > > or
> > >> > > >> > > settings.setJQueryUIReference(null) //removes jquery ui
> > library
> > >> > > >> > >
> > >> > > >> > > this.setJavaScriptLibrarySettings(settings);
> > >> > > >> > >
> > >> > > >> > > Hope this helps,
> > >> > > >> > > Sebastien.
> > >> > > >> > >
> > >> > > >> > > On Mon, Jan 28, 2013 at 10:31 AM, Pieter Claassen <
> > >> > > pie...@musmato.com
> > >> > > >> > > >wrote:
> > >> > > >> > >
> > >> > > >> > > > Hi Sebastian,
> > >> > > >> > > >
> > >> > > >> > > > Thanks. Wicket 6.5 is what I am using.
> > >> > > >> > > >
> > >> > > >> > > > As to your question:
> > >> > > >> > > >
> > >> > > >> > > > I am referring to the fact that Wicket documentation
> > >> mentioned
> > >> > > that
> > >> > > >> > > JQuery
> > >> > > >> > > > has been selected for the internal AJax implementation in
> > >> > Wicket.
> > >> > > I
> > >> > > >> > take
> > >> > > >> > > > that means that there is a JQuery JS library that ships
> > with
> > >> > > >> > Wicket-core
> > >> > > >> > > > and also wicket code that makes use of that library. If I
> > now
> > >> > > >> include
> > >> > > >> > my
> > >> > > >> > > > own JQuery library and CSS, is there not a risk that both
> > >> these
> > >> > > >> > > libraries,
> > >> > > >> > > > with mostly the same functions but potentially version
> > skew,
> > >> > could
> > >> > > >> be
> > >> > > >> > > > loaded by the same page?
> > >> > > >> > > >
> > >> > > >> > > > Also, I note that there are a number wicket-jquery
> projects
> > >> out
> > >> > > >> there.
> > >> > > >> > > How
> > >> > > >> > > > do they play together and not trample the internal Wicket
> > >> > > >> > implementation.
> > >> > > >> > > >
> > >> > > >> > > > Regards,
> > >> > > >> > > > Pieter
> > >> > > >> > > >
> > >> > > >> > > >
> > >> > > >> > > >
> > >> > > >> > > > On Mon, Jan 28, 2013 at 10:18 AM, Sebastien <
> > >> seb...@gmail.com>
> > >> > > >> wrote:
> > >> > > >> > > >
> > >> > > >> > > > > Hi Pieter
> > >> > > >> > > > >
> > >> > > >> > > > > I am not sure to undestand your first point. What
> > libraries
> > >> > are
> > >> > > >> you
> > >> > > >> > > > > refering to? Internal wicket's library? A jQuery
> plugin?
> > >> > > Another?
> > >> > > >> > > > >
> > >> > > >> > > > > About your second point, the ResizeBehavior does not
> > >> currently
> > >> > > >> > > implement
> > >> > > >> > > > > the 'resize' event (which can retrieve size &
> position).
> > >> > > >> > > > > To stay consistent with the current logic behind
> > >> > > >> wicket-jquery-ui, I
> > >> > > >> > > will
> > >> > > >> > > > > do a ResizePanel which will support such event.
> > >> > > >> > > > > That's not a big deal, I will look at this tonight...
> > >> > > >> > > > >
> > >> > > >> > > > > Are you using Wicket 1.5.x or 6.x?
> > >> > > >> > > > >
> > >> > > >> > > > > Thanks & best regards,
> > >> > > >> > > > > Sebastien.
> > >> > > >> > > > >
> > >> > > >> > > > > 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?
> > >> > > >> > > > > > 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?
> > >> > > >> > > > > >
> > >> > > >> > > > > > Thanks,
> > >> > > >> > > > > > Pieter
> > >> > > >> > > > > >
> > >> > > >> > > > > >
> > >> > > >> >
> > >> >
> ---------------------------------------------------------------------
> > >> > > >> > > > > > To unsubscribe, e-mail:
> > >> users-unsubscr...@wicket.apache.org
> > >> > > >> > > > > > For additional commands, e-mail:
> > >> > users-h...@wicket.apache.org
> > >> > > >> > > > > >
> > >> > > >> > > > > >
> > >> > > >> > > > >
> > >> > > >> > > >
> > >> > > >> > > >
> > >> > > >> > > >
> > >> > > >> > > > --
> > >> > > >> > > > - - - - - - - - - - - - - - - - - - - -
> > >> > > >> > > >   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
> > >> > > >> > - - - - - - - - - - - - - - - - - - - -
> > >> > > >> >
> > >> > > >>
> > >> > > >>
> > >> > > >>
> > >> > > >> --
> > >> > > >> Martin Grigorov
> > >> > > >> jWeekend
> > >> > > >> Training, Consulting, Development
> > >> > > >> http://jWeekend.com <http://jweekend.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/>
> > >>
> > >
> > >
> > >
> > > --
> > > Regards - Ernesto Reinaldo Barreiro
> > > Antilia Soft
> > > http://antiliasoft.com/ <http://antiliasoft.com/antilia>
> > >
> >
> >
> >
> > --
> > 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