package forscher.nocket.page.gen.tabs;
import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.nocket.gen.page.GeneratedBinding;
import org.nocket.gen.page.element.GroupTabbedPanelElement;
import org.nocket.gen.page.guiservice.WebGuiServiceAdapter;
import org.nocket.gen.page.inject.PageComponent;
import org.nocket.gen.page.visitor.bind.builder.BindingInterceptor;
import org.nocket.gen.page.visitor.bind.builder.components.GeneratedGroupTabbedPanel;
import forscher.nocket.page.ForscherPage;
public class KundePage extends ForscherPage {
private static final long serialVersionUID = 1L;
@PageComponent("groupTabbedPanel")
private GeneratedGroupTabbedPanel groupTabbedPanel;
public KundePage() {
this(Model.of(new Kunde()));
}
public KundePage(final IModel<Kunde> model) {
super(model);
final GeneratedBinding generatedBinding = new GeneratedBinding(this);
generatedBinding.withInterceptors(new BindingInterceptor() {
@Override
public Component createGroupTabbedPanel(GroupTabbedPanelElement e) {
return new GeneratedGroupTabbedPanel(e) {
@Override
protected boolean allowTabChange(String oldTab, String newTab) {
boolean allowTabChange = model.getObject().getAllowTabChange();
if (!allowTabChange) {
new WebGuiServiceAdapter().status("Wechsel nicht erlaubt!");
}
return allowTabChange;
}
};
}
});
generatedBinding.bind();
assert groupTabbedPanel != null;
}
}