Skip to content

Commit

Permalink
MID-7847: using submit link button for changing content of detail panel
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Apr 26, 2022
1 parent 018a45b commit cf9cdf3
Showing 1 changed file with 18 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
Expand Down Expand Up @@ -73,7 +74,7 @@ private void populateNavigationMenuItem(ListItem<ContainerPanelConfigurationType
WebMarkupContainer navigationDetails = createNavigationItemParentPanel(item);
item.add(navigationDetails);

AjaxLink<Void> link = createNavigationLink(item);
AjaxSubmitLink link = createNavigationLink(item);
navigationDetails.add(link);

DetailsNavigationPanel<O> subPanel = createDetailsSubNavigationPanel(item);
Expand Down Expand Up @@ -121,14 +122,23 @@ private boolean hasActiveSubmenu(ContainerPanelConfigurationType storageConfig,
return false;
}

private AjaxLink<Void> createNavigationLink(ListItem<ContainerPanelConfigurationType> item) {
AjaxLink<Void> link = new AjaxLink<>(ID_NAV_ITEM_LINK) {
private AjaxSubmitLink createNavigationLink(ListItem<ContainerPanelConfigurationType> item) {
AjaxSubmitLink link = new AjaxSubmitLink(ID_NAV_ITEM_LINK) {

@Override
public void onClick(AjaxRequestTarget target) {
public void onSubmit(AjaxRequestTarget target) {
super.onSubmit(target);

target.add(DetailsNavigationPanel.this);
onClickPerformed(item.getModelObject(), target);
}

@Override
protected void onError(AjaxRequestTarget target) {
super.onError(target);

target.add(getPageBase().getFeedbackPanel());
}
};

addIcon(link, item);
Expand All @@ -139,25 +149,25 @@ public void onClick(AjaxRequestTarget target) {
return link;
}

private void addIcon(AjaxLink<Void> link, ListItem<ContainerPanelConfigurationType> item) {
private void addIcon(AjaxSubmitLink link, ListItem<ContainerPanelConfigurationType> item) {
WebMarkupContainer icon = new WebMarkupContainer(ID_NAV_ITEM_ICON);
icon.setOutputMarkupId(true);
icon.add(AttributeAppender.append("class", getMenuItemIconClass(item.getModel())));
link.add(icon);
}

private void addLabel(AjaxLink<Void> link, ListItem<ContainerPanelConfigurationType> item) {
private void addLabel(org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink link, ListItem<ContainerPanelConfigurationType> item) {
Label buttonLabel = new Label(ID_NAV_ITEM, createButtonLabel(item.getModel()));
link.add(buttonLabel);
}

private void addCount(AjaxLink<Void> link, ListItem<ContainerPanelConfigurationType> item) {
private void addCount(org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink link, ListItem<ContainerPanelConfigurationType> item) {
Label label = new Label(ID_COUNT, createCountModel(item.getModel()));
label.add(new VisibleBehaviour(() -> getCounterProvider(item.getModel()) != null));
link.add(label);
}

private void addSubmenuLink(AjaxLink<Void> link, ListItem<ContainerPanelConfigurationType> item) {
private void addSubmenuLink(org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink link, ListItem<ContainerPanelConfigurationType> item) {
WebMarkupContainer submenuLink = new WebMarkupContainer(ID_SUBMENU_LINK);
submenuLink.add(new VisibleBehaviour(() -> hasSubmenu(item.getModelObject())));
link.add(submenuLink);
Expand Down

0 comments on commit cf9cdf3

Please sign in to comment.