This is not my only problem ... bootstrap itself doesn't even support what I 
was trying to do .... :-/
Cause this is just a small page to support some configs, this would be too much 
effort for now to write all this by myself.

I'll create a pull request for the BootstrapTabbedPanel improvement at the 
weekend.

Thanks,
Marvin


-----Original Message-----
From: Martin Grigorov [mailto:mgrigo...@apache.org] 
Sent: Friday, February 07, 2014 9:39 AM
To: users@wicket.apache.org
Subject: Re: Other Component than link in TabbedPanel's newLink

Yes, it won't work so easy ...
You use new component for the "link", but then the "title" is not needed.
The easiest is to add MyTabbedPanel extends BootstrapTabbedPanel and in 
MyTabbedPanel.html provide whatever markup fits best for your use case.
Feel free to file an issue to wicket-bootstrap for improvement.

Martin Grigorov
Wicket Training and Consulting


On Fri, Feb 7, 2014 at 9:25 AM, Richter, Marvin < 
marvin.rich...@jestadigital.com> wrote:

> Hmmm unfortunately that didn't do the job .... :( I'm quite sure that 
> I just overlooked something ...
>
> Error:
> Close tag not found for tag: <a href="#" wicket:id="link">. For  
> Components only raw markup is allow in between the tags but not other 
> Wicket Component. Component: [SplitButtonContainer [Component id = 
> link]]
>  MarkupStream: [markup =
> jar:file:/home/mrichter/.m2/repository/de/agilecoders/wicket/wicket-bo
> otstrap-core/0.8.4/wicket-bootstrap-core-0.8.4.jar!/de/agilecoders/wic
> ket/core/markup/html/bootstrap/tabs/BootstrapTabbedPanel.html
> <a href="#" wicket:id="link"><span wicket:id="title">[[tab 
> title]]</span></a>, index = 1, current =  '<span wicket:id="title">' 
> (line 0, column 0)]
>
> final BootstrapTabbedPanel<ConfigTypeTab> configTypes = new 
> BootstrapTabbedPanel<ConfigTypeTab>("configTypes",
>                 tabs) {
>
>                 @Override
>                 protected WebMarkupContainer newLink(final String 
> linkId, final int index) {
>                     return new SplitButtonContainer(linkId,
> tabs.get(index).getConfigType().getObject().getName()) {
>
>                             @Override
>                             protected void onBaseButtonClick() {
>                                 setSelectedTab(index);
>                             }
>
>                             @Override
>                             protected List<AbstractLink> 
> onNewSubMenuButtons(String buttonMarkupId) {
>                                 List<AbstractLink> subMenuLinks = new 
> ArrayList<AbstractLink>();
>                                 subMenuLinks.add(new
> AjaxLink(buttonMarkupId) {
>
>                                         @Override
>                                         public void 
> onComponentTagBody(MarkupStream markupStream,
>                                                 ComponentTag openTag) 
> {
>
> replaceComponentTagBody(markupStream, openTag, "Edit");
>                                         }
>
>                                         @Override
>                                         public void 
> onClick(AjaxRequestTarget target) {
>
> LOG.debug(tabs.get(index).getConfigType().getObject().toString());
>                                         }
>                                     });
>                                 return subMenuLinks;
>                             }
>                         };
>                 }
>             };
>
>
> private abstract static class SplitButtonContainer extends Panel {
>
>         public SplitButtonContainer(final String id, final String title) {
>             super(id);
>             IModel<String> label = Model.of(title);
>             SplitButton splitButton = new SplitButton("splitButton",
> label) {
>
>                     @Override
>                     protected AbstractLink newBaseButton(String 
> markupId, IModel<String> labelModel,
>                             IModel<IconType> iconTypeModel) {
>                         return new Link<Void>(markupId) {
>
>                                 private static final long 
> serialVersionUID = 1L;
>
>                                 @Override
>                                 public void onClick() {
>                                     onBaseButtonClick();
>                                 }
>                             };
>                     }
>
>                     @Override
>                     protected List<AbstractLink> 
> newSubMenuButtons(String
> buttonMarkupId) {
>                         return onNewSubMenuButtons(buttonMarkupId);
>                     }
>                 };
>         }
>
>         protected abstract void onBaseButtonClick();
>         protected abstract List<AbstractLink> 
> onNewSubMenuButtons(String buttonMarkupId);
>     }
>
> Thanks in advance,
> Marvin
>
>
> -----Original Message-----
> From: Richter, Marvin [mailto:marvin.rich...@jestadigital.com]
> Sent: Friday, February 07, 2014 9:07 AM
> To: users@wicket.apache.org
> Subject: RE: Other Component than link in TabbedPanel's newLink
>
> OMFG ... that was too easy ... I missed the forest for the trees
>
> Thanks
>
> Marvin Richter
> Software Developer
> T  +49 (0) 30 69 538 1099
> M  +49 (0) 174 744 4991
> marvin.rich...@jestadigital.com
>
> JESTA DIGITAL GmbH   Karl-Liebknecht-Str. 32   10178 Berlin, Germany
> Gesellschaft mit beschränkter Haftung mit Sitz in Berlin HRB Nr. 97990 
> Amtsgericht Charlottenburg
> Geschäftsführer: Markus Peuler
>
>
> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigo...@apache.org]
> Sent: Friday, February 07, 2014 9:04 AM
> To: users@wicket.apache.org
> Subject: Re: Other Component than link in TabbedPanel's newLink
>
> You a component that has its own markup, i.e. a Panel with SplitButton 
> inside.
>
> Martin Grigorov
> Wicket Training and Consulting
>
>
> On Fri, Feb 7, 2014 at 9:00 AM, Richter, Marvin < 
> marvin.rich...@jestadigital.com> wrote:
>
> > Hey,
> >
> > I'm trying to use a Component which itself contains a Component in 
> > the TabbedPanel's newLink method.
> > Unfortunately that's not allowed .... Cause "... only raw markup is 
> > allowed ..."
> >
> > Any ideas how can still achieve this?
> >
> > Code:
> >
> > final BootstrapTabbedPanel<ConfigTypeTab> configTypes = new 
> > BootstrapTabbedPanel<ConfigTypeTab>("configTypes",
> >                 tabs) {
> >
> >                 @Override
> >                 protected WebMarkupContainer newLink(final String 
> > linkId, final int index) {
> >                     IModel<String> label = 
> > Model.of(tabs.get(index).getConfigType().getObject().getName());
> >                     SplitButton splitButton = new 
> > SplitButton(linkId,
> > label) {
> >
> >                             @Override
> >                             protected AbstractLink 
> > newBaseButton(String markupId, IModel<String> labelModel,
> >                                     IModel<IconType> iconTypeModel) {
> >                                 return new Link<Void>(markupId) {
> >
> >                                         private static final long 
> > serialVersionUID = 1L;
> >
> >                                         @Override
> >                                         public void onClick() {
> >                                             setSelectedTab(index);
> >                                         }
> >                                     };
> >                             }
> >
> >                             @Override
> >                             protected List<AbstractLink> 
> > newSubMenuButtons(String buttonMarkupId) {
> >                                 List<AbstractLink> subMenuLinks = 
> > new ArrayList<AbstractLink>();
> >                                 subMenuLinks.add(new
> > AjaxLink(buttonMarkupId) {
> >
> >                                         @Override
> >                                         public void 
> > onComponentTagBody(MarkupStream markupStream,
> >                                                 ComponentTag 
> > openTag) {
> >
> > replaceComponentTagBody(markupStream, openTag, "Edit");
> >                                         }
> >
> >                                         @Override
> >                                         public void 
> > onClick(AjaxRequestTarget target) {
> >
> > LOG.debug(tabs.get(index).getConfigType().getObject().toString());
> >                                         }
> >                                     });
> >                                 return subMenuLinks;
> >                             }
> >                         };
> >                     return splitButton;
> >                 }
> >             };
> >
> > Marvin Richter
> > Software Developer
> > T  +49 (0) 30 69 538 1099
> > M  +49 (0) 174 744 4991
> > marvin.rich...@jestadigital.com<mailto:marvin.richter@jestadigital.c
> > om
> > >
> >
> > JESTA DIGITAL GmbH   Karl-Liebknecht-Str. 32   10178 Berlin, Germany
> > Gesellschaft mit beschränkter Haftung mit Sitz in Berlin HRB Nr. 
> > 97990 Amtsgericht Charlottenburg
> > Geschäftsführer: Markus Peuler
> >
> >
>
> ---------------------------------------------------------------------
> 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