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

Reply via email to