package com.idega.builder.presentation; import com.idega.builder.business.IBPageHelper; import com.idega.core.builder.business.ICBuilderConstants; import com.idega.presentation.IWContext; import com.idega.presentation.Layer; import com.idega.presentation.text.Link; import com.idega.presentation.ui.TreeViewer; import com.idega.presentation.ui.util.AbstractChooserBlock; public class IBPageChooserBlock extends AbstractChooserBlock { private boolean useSiteTree = true; public IBPageChooserBlock() { super(); } public IBPageChooserBlock(String idAttribute, String valueAttribute) { super(idAttribute, valueAttribute); } public void main(IWContext iwc) { super.main(iwc); Layer container = getMainContaier(); this.add(container); TreeViewer viewer = getTreeViewer(iwc, false); container.add(viewer); viewer.setCloseOrOpenNodesHref("javascript:void(0)"); Link link = new Link(); link.setMarkupAttribute("href", "javascript:void(0)"); link.setNoTextObject(true); viewer.setLinkOpenClosePrototype(link); StringBuffer action = new StringBuffer(); // Action to remove old value action.append(getRemoveSelectedPropertyAction()); // Action to add new Value boolean simpleAction = getHiddenInputAttribute() == null ? true : false; action.append(getChooserObjectAction(simpleAction)); // Action to set view action.append(getChooserViewAction()); link = new Link(); link.setURL("javascript:void(0)"); link.setNoTextObject(true); link.setOnClick(action.toString()); viewer.setLinkPrototype(link); } public TreeViewer getTreeViewer(IWContext iwc, boolean setDefaultParameters) { TreeViewer viewer = IBPageHelper.getInstance().getTreeViewer(iwc, setDefaultParameters, useSiteTree); viewer.setAddPageIdAtribute(true); viewer.setAddPageNameAttribute(true); // Setting all nodes open viewer.setDefaultOpenLevel(Integer.MAX_VALUE); return viewer; } public boolean getChooserAttributes() { // Setting default values if (getIdAttribute() == null) { setIdAttribute(ICBuilderConstants.PAGE_ID_ATTRIBUTE); } if (getValueAttribute() == null) { setValueAttribute(ICBuilderConstants.PAGE_NAME_ATTRIBUTE); } return true; } public void setUseSiteTree(boolean useSiteTree) { this.useSiteTree = useSiteTree; } }