use of org.apache.wicket.examples.tree.Foo in project wicket by apache.
the class BookmarkableFolderContent method newContentComponent.
@Override
public Component newContentComponent(String id, final AbstractTree<Foo> tree, IModel<Foo> model) {
return new Folder<Foo>(id, tree, model) {
private static final long serialVersionUID = 1L;
@Override
protected MarkupContainer newLinkComponent(String id, IModel<Foo> model) {
Foo foo = model.getObject();
if (tree.getProvider().hasChildren(foo)) {
return super.newLinkComponent(id, model);
} else {
PageParameters parameters = new PageParameters();
parameters.add("foo", foo.getId());
return new BookmarkablePageLink<>(id, tree.getPage().getClass(), parameters);
}
}
};
}
use of org.apache.wicket.examples.tree.Foo in project wicket by apache.
the class CheckedSelectableFolderContent method newContentComponent.
@Override
public Component newContentComponent(String id, final AbstractTree<Foo> tree, IModel<Foo> model) {
return new CheckedFolder<Foo>(id, tree, model) {
private static final long serialVersionUID = 1L;
@Override
protected IModel<Boolean> newCheckBoxModel(final IModel<Foo> model) {
return new PropertyModel<>(model, "quux");
}
@Override
protected void onUpdate(AjaxRequestTarget target) {
Foo foo = getModelObject();
// search first ancestor with quux not set
while (!foo.getQuux() && foo.getParent() != null) {
foo = foo.getParent();
}
tree.updateBranch(foo, target);
}
/**
* Always clickable.
*/
@Override
protected boolean isClickable() {
return true;
}
@Override
protected void onClick(Optional<AjaxRequestTarget> targetOptional) {
CheckedSelectableFolderContent.this.select(getModelObject(), tree, targetOptional);
}
@Override
protected boolean isSelected() {
return CheckedSelectableFolderContent.this.isSelected(getModelObject());
}
};
}
Aggregations