Yes, that is, you right ! Having: Panel myPanel = new MyPanel("panelId");
depending how is "rendered" by 1. addOrReplace(myPanel) in a page constructor or by 2. target.addComponent(myPanel) in an event callback method the result is different ! Stefan --- On Thu, 6/18/09, Stefan Lindner <lind...@visionet.de> wrote: > From: Stefan Lindner <lind...@visionet.de> > Subject: RE: WicketJQuery: Drag & drop behavior lost for components of AJAX > updated panels > To: users@wicket.apache.org > Date: Thursday, June 18, 2009, 5:39 PM > Do I understand you right, you have > something like > > Class MyPanel { > public MyPanel(...) { > Component c = new > Component(...); > c.add(new Draggable()); > // some more components > with draggable > } > } > > > > MyPage extends WebPage { > Public MyPage() { > add(new > MyPanel(...)); > // dragging works > > add(new > AjaxLink(...){ > > onClick(AjaxRequestTarget) { > > MyPanel newPanel; > > getPage.addOrReplace(newPanel = new > MyPanel(...)); > > target.addComponent(newPanel); > > // Dragging stops working > } > }); > } > } > Right? > > > > -----Ursprüngliche Nachricht----- > Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] > > Gesendet: Donnerstag, 18. Juni 2009 16:28 > An: users@wicket.apache.org > Betreff: RE: WicketJQuery: Drag & drop behavior lost > for components of AJAX updated panels > > > Hi Stefan, > > Sorry, but I missed to specify that DraggableBehavior is > added to > (undefined/variable number of) components of 'MyPanel', > that is > not to the panel itself. > So, using the same 'MyPanel' constructor in both cases > DraggableBehavior is added (by Java code) to those > components of 'MyPanel'. > > Having: > Panel myPanel = new MyPanel("panelId"); > depending how is "rendered" by addOrReplace(myPanel) or by > target.addComponent(myPanel) the result is different, > the markup (and who knows what...) is different. > > I tried WicketJQuery-0.3.5, got same (draggable behavior > lost) result. > > I tried even (naive) workarounds like: > myDraggableComponent.add(new > AttributeModifier("class", true, new > Model<String>("ui-draggable"))); > myDraggableComponent.add(new > AttributeModifier("dragclass", true, new > Model<String>("a"))); > but got the same (draggable behavior lost) result. > > This is extremly disturbing issue since cannot reload page > (it has an embedded Flash player) and GUI interaction is > based on > AJAX backed panel/component refresh. > > Any idea, help, workaround, fix is welcomed, > thanks, > Stefan > > > --- On Thu, 6/18/09, Stefan Lindner <lind...@visionet.de> > wrote: > > > From: Stefan Lindner <lind...@visionet.de> > > Subject: RE: WicketJQuery: Drag & drop behavior > lost for components of AJAX updated panels > > To: users@wicket.apache.org > > Date: Thursday, June 18, 2009, 3:30 PM > > I can't see a solution for what you > > are doing. > > > > ... > > @Override > > public void onClick(AjaxRequestTarget target) > > { > > Panel panel = new > > MyPanel("panelId"); > > addOrReplace(panel); > > target.addComponent(panel); > > } > > > > creates a NEW Panel and the NEW panel is a totally > new > > object that does not know anything about the ORIGINAL > Panel. > > The AJAX response renders the NEW Panel (with it's new > class > > attribute but without the AJAX behaviors you've added > to the > > ORIGINAL Panel). > > > > This also happens with Wickts builtin Behaviors. Try > this > > > > panel.add(new > > AjaxEventBehavior("onclick") { > > > > @Override > > > > protected void onEvent(AjaxRequestTarget target) { > > > > System.out.println("clicked!"); > > } > > }); > > > > This also disappears after you replace the panel > within an > > AJAX call. > > > > > > You can do two things: > > 1. ... > > @Override > > public void onClick(AjaxRequestTarget target) > > { > > Panel panel = new > > MyPanel("panelId"); > > ! panel.add(new > > DraggableBehavior()); > > addOrReplace(panel); > > target.addComponent(panel); > > } > > > > ! AND USE VERSION 0.3.5! > > > > 2. ... > > @Override > > public void onClick(AjaxRequestTarget target) > > { > > ! > > originalPanel.setDefaultModelObject(some > > new value); > > ! > > target.addComponent(originalPanel); > > } > > > > Good luck and let me know if it works for you! > > > > Stefan > > > > -----Ursprüngliche Nachricht----- > > Von: Stefan Jozsa [mailto:stefan_...@yahoo.com] > > > > Gesendet: Donnerstag, 18. Juni 2009 13:24 > > An: users@wicket.apache.org > > Betreff: Re: WicketJQuery: Drag & drop behavior > lost > > for components of AJAX updated panels > > > > > > Found that when panel is constructed like: > > public MyPage() { > > ... > > add(new MyPanel("panelId")); > > ... > > } > > markup of a draggable element is: > > <span id="id123456" class="myClass ui-draggable" > ... > > >[]</span> > > > > However when: > > ... > > @Override > > public void onClick(AjaxRequestTarget target) > > { > > Panel panel = new > > MyPanel("panelId"); > > addOrReplace(panel); > > target.addComponent(panel); > > } > > markup of a draggable element is: > > <span id="id123456" class="myClass" ... > > >[]</span> > > > > that is 'ui-draggable' is not found (stripped ? not > added?) > > > > in 'class' attribute of draggable element. > > > > Any help is welcommed, > > Stefan > > > > > > --- On Thu, 6/18/09, Stefan Jozsa <stefan_...@yahoo.com> > > wrote: > > > > > From: Stefan Jozsa <stefan_...@yahoo.com> > > > Subject: WicketJQuery: Drag & drop behavior > lost > > for components of AJAX updated panels > > > To: users@wicket.apache.org > > > Date: Thursday, June 18, 2009, 1:44 PM > > > > > > Doing: > > > public MyPage() { > > > ... > > > add(new MyPanel("panelId")); > > > ... > > > } > > > dragging elements (having DraggableBehavior) of > > 'MyPanel' > > > works. > > > > > > However doing: > > > ... > > > @Override > > > public void onClick(AjaxRequestTarget > target) > > > { > > > Panel panel = new > > > MyPanel("panelId"); > > > addOrReplace(panel); > > > target.addComponent(panel); > > > } > > > > > > dragging elements of 'MyPanel' DO NOT works > > > (DraggableBehavior is lost). > > > > > > > > > What's going on ? > > > Any help is (very) appreciated, > > > thanks Stefan > > > > > > Using: > > > Wicket-1.4.rc4, > > > WicketJQuery-0.3.4 > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org