use of org.apache.wicket.extensions.markup.html.repeater.tree.content.Folder 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.extensions.markup.html.repeater.tree.content.Folder in project openmeetings by apache.
the class FileItemTree method newContentComponent.
@Override
protected Component newContentComponent(String id, IModel<BaseFileItem> node) {
return new Folder<BaseFileItem>(id, this, node) {
private static final long serialVersionUID = 1L;
@Override
protected Component newLabelComponent(String id, final IModel<BaseFileItem> lm) {
BaseFileItem r = lm.getObject();
return Type.Folder == r.getType() || r.getId() == null ? new FolderPanel(id, lm, treePanel) : new FileItemPanel(id, lm, treePanel);
}
@Override
protected boolean isSelected() {
return treePanel.isSelected(getModelObject());
}
@Override
protected boolean isClickable() {
return FileItemTree.isClickable();
}
@Override
protected void onClick(Optional<AjaxRequestTarget> targetOptional) {
FileItemTree.this.onClick(targetOptional.get(), getModelObject());
}
@Override
protected MarkupContainer newLinkComponent(String id, IModel<BaseFileItem> model) {
final BaseFileItem f = getModelObject();
return new AjaxLink<Void>(id) {
private static final long serialVersionUID = 1L;
@Override
public boolean isEnabled() {
return FileItemTree.isClickable();
}
@Override
public void onClick(AjaxRequestTarget target) {
FileItemTree.this.onClick(target, f);
}
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
attributes.getDynamicExtraParameters().add(String.format("return {%s: JSON.stringify({%s: attrs.event.shiftKey, %s: attrs.event.ctrlKey})};", PARAM_MOD, PARAM_SHIFT, PARAM_CTRL));
}
};
}
@Override
protected String getOtherStyleClass(BaseFileItem r) {
return getItemStyle(r, false);
}
@Override
protected String getOpenStyleClass() {
return getItemStyle(getModelObject(), true);
}
@Override
protected String getClosedStyleClass() {
return getItemStyle(getModelObject(), false);
}
@Override
protected String getSelectedStyleClass() {
return "ui-state-active";
}
@Override
protected IModel<String> newLabelModel(IModel<BaseFileItem> model) {
return Model.of(model.getObject().getName());
}
};
}
Aggregations