package com.idega.content.themes.presentation;
import javax.faces.component.html.HtmlOutputLink;
import javax.faces.component.html.HtmlOutputText;
import org.apache.myfaces.custom.tree2.TreeNode;
import com.idega.content.business.ContentConstants;
import com.idega.presentation.Block;
import com.idega.presentation.IWContext;
import com.idega.webface.IWTree;
import com.idega.webface.WFUtil;
public class SiteTreeViewer extends Block {
public static String COMPONENT_TYPE = "SiteTreeViewer";
private TreeNode rootNode = null;
private String linkStyleClass = "pageTreeNames";
private String iwTreeId = "current_structure_tree";
private String rendererType = IWTree.class.getName();
private String facetName = "PageTreeNode";
private String varName = "node";
private boolean isSourceTree = false;
private boolean showRootNode = false;
private boolean showLines = false;
private boolean addStyleClassForLink = true;
@SuppressWarnings("deprecation")
@Override
public void main(IWContext iwc) {
if (rootNode == null) {
return;
}
IWTree tree = new IWTree();
tree.setValue(rootNode);
tree.setShowRootNode(showRootNode);
tree.setId(iwTreeId);
tree.setShowLines(showLines);
tree.setVar(varName);
tree.setRendererType(rendererType);
HtmlOutputLink link = new HtmlOutputLink();
link.setValue("javascript:void(0)");
if (addStyleClassForLink) {
link.setStyleClass(linkStyleClass);
}
HtmlOutputText text = new HtmlOutputText();
text.setValueExpression("value", WFUtil.createValueExpression(iwc.getELContext(),
new StringBuilder("#{").append(varName).append(".description}").toString(), String.class));
link.getChildren().add(text);
tree.getFacets().put(facetName, link);
tree.getAttributes().put("sourceTree", isSourceTree);
add(tree);
}
public TreeNode getRootNode() {
return rootNode;
}
public void setRootNode(TreeNode rootNode) {
this.rootNode = rootNode;
}
public String getLinkStyleClass() {
return linkStyleClass;
}
public void setLinkStyleClass(String linkStyleClass) {
this.linkStyleClass = linkStyleClass;
}
public String getIwTreeId() {
return iwTreeId;
}
public void setIwTreeId(String iwTreeId) {
this.iwTreeId = iwTreeId;
}
@Override
public String getRendererType() {
return rendererType;
}
@Override
public void setRendererType(String rendererType) {
this.rendererType = rendererType;
}
public String getFacetName() {
return facetName;
}
public void setFacetName(String facetName) {
this.facetName = facetName;
}
public String getVarName() {
return varName;
}
public void setVarName(String varName) {
this.varName = varName;
}
public boolean isSourceTree() {
return isSourceTree;
}
public void setSourceTree(boolean isSourceTree) {
this.isSourceTree = isSourceTree;
}
public boolean isShowRootNode() {
return showRootNode;
}
public void setShowRootNode(boolean showRootNode) {
this.showRootNode = showRootNode;
}
public boolean isShowLines() {
return showLines;
}
public void setShowLines(boolean showLines) {
this.showLines = showLines;
}
public boolean isAddStyleClassForLink() {
return addStyleClassForLink;
}
public void setAddStyleClassForLink(boolean addStyleClassForLink) {
this.addStyleClassForLink = addStyleClassForLink;
}
@Override
public String getBundleIdentifier() {
return ContentConstants.IW_BUNDLE_IDENTIFIER;
}
}