Package com.exedosoft.plat.ui.jquery.menu

Source Code of com.exedosoft.plat.ui.jquery.menu.DOWebFxTree

package com.exedosoft.plat.ui.jquery.menu;

import java.util.Iterator;
import java.util.List;

import com.exedosoft.plat.ui.DOIModel;
import com.exedosoft.plat.ui.DOMenuModel;
import com.exedosoft.plat.ui.DOIView;
import com.exedosoft.plat.util.DOGlobals;
import com.exedosoft.plat.util.StringUtil;

public class DOWebFxTree extends DOBaseMenu{

  public String getHtmlCode(DOIModel aMenu) {
    DOMenuModel aModel = (DOMenuModel)aMenu;
    return this.drawStaticTree(aModel);
  }

  /**
   * draw static tree
   */
  public String drawStaticTree(DOMenuModel menuModel) {
   
    if(menuModel==null){
      return null;
    }
    String sysTreeRoot =  menuModel.getL10n();
    if(menuModel.getMenuType()!=null
        && menuModel.getMenuType().intValue() == DOMenuModel.MENUTYPE_NAVIGATION
        && DOGlobals.getInstance().getSessoinContext().getSysTreeRoot()!=null){
      sysTreeRoot = DOGlobals.getInstance().getSessoinContext().getSysTreeRoot();
    }
   

    StringBuffer buffer = new StringBuffer();
    buffer.append("<div class=tree id='")
    .append(menuModel.getObjUid())
    .append("'></div> \n <script language='javascript'>webFXTreeHandler.resetContext();");
    buffer.append("var tree11 = new WebFXTree('")
    .append(sysTreeRoot)
    .append("');\n");
    buffer.append("tree11.setBehavior('classic');\n");
   
    List children = menuModel.retrieveChildren();
   
    if (menuModel != null && children!=null
        && !children.isEmpty()) {
      for (Iterator it = children.iterator(); it
          .hasNext();) {
        DOMenuModel item = (DOMenuModel) it.next();
        drawStaticTreeHelp(item, buffer, "tree11");
      }
    }
    buffer.append("$('#")
    .append(menuModel.getObjUid())
    .append("').append(tree11.toHtml());");
//    buffer.append("tree11.expandAll();");
    buffer.append("resscrEvt();\n</script>");
    return buffer.toString();
  }

  /**
   * draw static tree helper
   *
   * @param item
   * @param buffer
   * @param us
   */
  private void drawStaticTreeHelp(DOMenuModel item, StringBuffer buffer,
      String parentItemName) {
   
    String itemName = item.getName();
    itemName =  StringUtil.get_Name(itemName).replaceAll("\\s", "");

    buffer.append("var ").append(itemName).append(
        " = new WebFXTreeItem('").append(item.getL10n()).append("'");

   
    if (item.getLinkPane() != null || item.getLinkService()!=null) {
      buffer.append(",\"javascript:");
      this.appendLink(buffer,item,  item.getEchoJs());
      buffer.append("\"");
    }
   
    if(item.getIcon()!=null){
     
      if(item.getLinkPane()==null   &&  item.getLinkService()==null){
        buffer.append(",null");
      }

      buffer.append(",null,'");
      buffer.append(item.getIcon());
      buffer.append("'");
     
      if(item.getTemplate()!=null){
        buffer.append(",'");
        buffer.append(item.getTemplate());
        buffer.append("'");
       
      }
    }
   
    buffer.append(");\n");
       
    //////parent item and the child
     
    buffer.append(parentItemName).append(".add(").append(itemName)
        .append(");\n");
   
    List children = item.retrieveChildren();
    if (children != null
        && !children.isEmpty()) {
      for (Iterator it = children.iterator(); it
          .hasNext();) {
        DOMenuModel itemChild = (DOMenuModel) it.next();
        drawStaticTreeHelp(itemChild, buffer, itemName);
      }
    }
  }

}
TOP

Related Classes of com.exedosoft.plat.ui.jquery.menu.DOWebFxTree

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.