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/>