On Tue, Sep 3, 2019 at 10:30 AM "Tom Götz" <t...@richmountain.de> wrote:
> Thanks Martin, I will look into that. But won't it be a problem that I > will add the <input/> / TextField to the Border without having any markup > inside the Border? Won't I need my <input/> markup inside the border > <div/>s? > right! it is a Border, not a Panel ( https://github.com/l0rdn1kk0n/wicket-bootstrap/blob/wicket-8.x/bootstrap-core/src/main/java/de/agilecoders/wicket/core/markup/html/bootstrap/form/FormGroup.html#L9 ) I think it would be easier if you roll MyFormGroupPanel instead of using a Border. If you decide to stick with FormGroup then you will need to override onComponentTagBody() too > > Tom > > > > Gesendet: Dienstag, 03. September 2019 um 09:22 Uhr > > Von: "Martin Grigorov" <mgrigo...@apache.org> > > An: "users@wicket.apache.org" <users@wicket.apache.org> > > Betreff: Re: Re: Wrapping a FormComponent with a Border > > > > Hi Tom, > > > > Since your "user" is going to add a TextField in the Java code then I > > assume (s)he is going to add <input wicket:id="..."/> in the markup. > > Your IComponentInitializationListener will replace all components of type > > TextField which do not have FormGroup as a parent with a MyFormGroup. > > > > public class MyFormGroup extends FormGroup { > > // constructor(s) > > > > @Override > > public void onComponentTag(ComponentTag tag) { > > super(tag); > > tag.setName("div"); // this modifies <input> to <div> > > } > > } > > > > I am not sure, but you may also need to expand the tag from OpenClose > (i.e. > > <input/>) to open+close (i.e. <div></div>). See > ComponentTag#isOpenClose() > > and Component#afterRender(); > > > > On Tue, Sep 3, 2019 at 10:09 AM "Tom Götz" <t...@richmountain.de> wrote: > > > > > Martin, > > > > > > maybe you could point me into the right direction concerning the markup > > > manipulation part? > > > > > > This is what I got in my HTML: > > > > > > <form wicket:id="form"> > > > <input wicket:id="input" type="text" /> > > > </form> > > > > > > I guess this is what I need for effectively replacing the input with a > > > FormGroup border: > > > > > > <form wicket:id="form"> > > > <div wicket:id="border"> > > > <input wicket:id="input" type="text" /> > > > </div> > > > </form> > > > > > > Where would be the best place in the code to start looking? > > > > > > Thanks in advance > > > Tom > > > > > > > > > > > > > > > > Gesendet: Montag, 02. September 2019 um 13:57 Uhr > > > > Von: "Tom Götz" <t...@richmountain.de> > > > > An: users@wicket.apache.org > > > > Betreff: Re: Wrapping a FormComponent with a Border > > > > > > > > Thanks Martin, this is exactly what I had in mind. I already > implemented > > > 1), replacing the TextField with said Border but now am stuck with the > > > "HTML manipulation" part ... > > > > > > > > Tom > > > > > > > > > > > > > Gesendet: Montag, 02. September 2019 um 13:47 Uhr > > > > > Von: "Martin Grigorov" <mgrigo...@apache.org> > > > > > An: "users@wicket.apache.org" <users@wicket.apache.org> > > > > > Betreff: Re: Wrapping a FormComponent with a Border > > > > > > > > > > Hi Tom, > > > > > > > > > > I imagine two ways: > > > > > 1) use > org.apache.wicket.application.IComponentInitializationListener > > > that > > > > > manipulates the component tree whenever the passed component is an > > > instance > > > > > of TextField and has no (direct?!) parent of type FormGroup > > > > > 2) use AOP > > > > > > > > > > In both cases you will need to also the markup because FormGroup > > > expects to > > > > > be attached on a <div>, while you will have an <input/>. For this > you > > > will > > > > > probably need to extend Wicket Bootstrap's FormGroup and in your > > > custom one > > > > > override onComponentTag() (and onComponentTagBody() - most probably > > > not). > > > > > > > > > > On Mon, Sep 2, 2019 at 2:05 PM "Tom Götz" <t...@richmountain.de> > wrote: > > > > > > > > > > > Let me try to explain what I want to achieve more precisely: > > > > > > > > > > > > - user adds a TextField to a page > > > > > > - I want to replace that TextField with a Border (Wicket Border > > > component, > > > > > > e.g. FormGroup from wicket-bootstrap) and put the TextField > inside > > > that > > > > > > border > > > > > > > > > > > > The problem ist not: "how do I wrap a component with some HTML > > > markup?" > > > > > > (either generated by Java code or clientside), but: how can I > > > manipulate > > > > > > the component tree (server side) in such a way, that I can > remove the > > > > > > TextField from it's parent and replace it with a Border that > > > contains that > > > > > > TextField....!? > > > > > > > > > > > > Tom > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Gesendet: Montag, 02. September 2019 um 12:49 Uhr > > > > > > > Von: "Tobias Soloschenko" > <tobiassolosche...@googlemail.com.INVALID > > > > > > > > > > > An: users@wicket.apache.org > > > > > > > Betreff: Re: Wrapping a FormComponent with a Border > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > why not add a css class and style it? > > > > > > > > > > > > > > kind regards > > > > > > > > > > > > > > Tobias > > > > > > > > > > > > > > > Am 02.09.2019 um 12:20 schrieb Ernesto Reinaldo Barreiro < > > > > > > reier...@gmail.com>: > > > > > > > > > > > > > > > > Another possibility is to do this client side... > > > > > > > > > > > > > > > >> On Mon, Sep 2, 2019, 11:43 AM "Tom Götz" < > t...@richmountain.de> > > > wrote: > > > > > > > >> > > > > > > > >> That would be great, thanks in advance! > > > > > > > >> > > > > > > > >> Tom > > > > > > > >> > > > > > > > >> > > > > > > > >>> Gesendet: Montag, 02. September 2019 um 10:39 Uhr > > > > > > > >>> Von: "Ernesto Reinaldo Barreiro" <reier...@gmail.com> > > > > > > > >>> An: users@wicket.apache.org > > > > > > > >>> Betreff: Re: Wrapping a FormComponent with a Border > > > > > > > >>> > > > > > > > >>> Hi, > > > > > > > >>> > > > > > > > >>>> On Mon, Sep 2, 2019 at 11:13 AM Tom Götz < > t...@richmountain.de > > > > > > > > > > wrote: > > > > > > > >>>> > > > > > > > >>>> Thanks Ernesto! This example is from 2007 though and uses > > > > > > > >>>> compent.setComponentBorder .... > > > > > > > >>>> Is there something more close to current Wicket versions > > > available > > > > > > > >> maybe? > > > > > > > >>>> :) > > > > > > > >>>> > > > > > > > >>> > > > > > > > >>> I think I have somewhere on a private project something > similar > > > > > > > >> implemented > > > > > > > >>> for Wicket 7.x... I can try to dig it up and send classes > to > > > you. > > > > > > > >>> > > > > > > > >>> -- > > > > > > > >>> Regards - Ernesto Reinaldo Barreiro > > > > > > > > > --------------------------------------------------------------------- > > > 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 > >