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.richter [ at ] jestadigital.com<mailto:marvin.richter [ at ] 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
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.richter [ at ] jestadigital.com<mailto:marvin.richter [ at ] 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