Skip to content

Commit

Permalink
#155 - Form submit fails
Browse files Browse the repository at this point in the history
replaced workaround. ListViews must reuse list items for form validation
to work properly
  • Loading branch information
jutzig committed Dec 23, 2013
1 parent 3a8bb82 commit 477e1b2
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 51 deletions.
Expand Up @@ -59,7 +59,7 @@ protected void populateItem(final ListItem<T> item) {
item.getModelObject().getTitle()));
}
};

listView.setReuseItems(true);
tabContents = new ArrayList<WebMarkupContainer>();
ListView<T> tabContent = new ListView<T>("tab-content", tabs) {

Expand All @@ -81,6 +81,7 @@ protected void populateItem(ListItem<T> item) {
}
}
};
tabContent.setReuseItems(true);
tabbable.add(tabContent);
tabbable.add(listView);
}
Expand Down
Expand Up @@ -42,6 +42,7 @@ protected void populateItem(ListItem<ConfigSection<T>> arg0) {
}

};
view.setReuseItems(true);
add(view);
}

Expand Down
Expand Up @@ -44,18 +44,18 @@ protected void construct() {
BreadcrumbPanel<CDOObject> breadcrumbPanel = new BreadcrumbPanel<CDOObject>("breadcrumb-panel", getModel(),getPageParameters());
breadcrumbPanel.setRootLabel(new StringResourceModel("SettingsPage.breadcrumb.root.label",this,null));
add(breadcrumbPanel);
}

@Override
protected void onBeforeRenderPage() {
if(getPageParameters().getIndexedCount()>0)
{
addOrReplace(new SettingsPanel<CDOObject>("content", getModel(), getPageParameters()));
addOrReplace(new SettingsPanel<CDOObject>("content", getModel(), getPageParameters()));
}
else
{
addOrReplace(new SettingsOverviewPanel("content"));
addOrReplace(new SettingsOverviewPanel("content"));
}
}

@Override
protected void onBeforeRenderPage() {
super.onBeforeRenderPage();
}

Expand Down
Expand Up @@ -12,15 +12,11 @@
package org.jabylon.rest.ui.wicket.config;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.wicket.Component;
import org.apache.wicket.RestartResponseAtInterceptPageException;
import org.apache.wicket.authorization.UnauthorizedInstantiationException;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
import org.apache.wicket.feedback.FeedbackMessage;
import org.apache.wicket.feedback.FeedbackMessages;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.StatelessForm;
Expand All @@ -29,8 +25,6 @@
import org.apache.wicket.model.StringResourceModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;
import org.apache.wicket.util.visit.IVisit;
import org.apache.wicket.util.visit.IVisitor;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.emf.cdo.CDOObject;
Expand Down Expand Up @@ -171,44 +165,6 @@ protected void commit(final Preferences preferences, CDOObject object, CDOTransa
// transaction.close();
}
}

@Override
protected void onError() {
super.onError();
// Check ALL children for error messages
//shouldn't be necessary. but...
visitChildren(Component.class, new IVisitor<Component, Void>()
{
@Override
public void component(final Component component, final IVisit<Void> visit)
{
renderMessages(component.getFeedbackMessages());
}

});
renderMessages(getFeedbackMessages());
}

private void renderMessages(FeedbackMessages feedbackMessages) {
if(feedbackMessages==null)
return;
Iterator<FeedbackMessage> iterator = feedbackMessages.iterator();
while(iterator.hasNext()) {
FeedbackMessage message = iterator.next();
int level = message.getLevel();
switch (level) {
case FeedbackMessage.ERROR:
getSession().error(message.getMessage());
break;
case FeedbackMessage.WARNING:
getSession().warn(message.getMessage());
break;
default:
break;
}
}

}
};

ClientSideTabbedPanel<ITab> tabContainer = new ClientSideTabbedPanel<ITab>("tabs", extensions) {
Expand Down

0 comments on commit 477e1b2

Please sign in to comment.