Changeset 4816


Ignore:
Timestamp:
Mar 16, 2009, 3:15:37 PM (14 years ago)
Author:
Martin Svensson
Message:

References #1240 The item-overview tree is now using lazy loading. The other parts of the ticket (eg. validation and buttons) are not yet covered and probably not fully functional at the moment.

Location:
trunk
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/core/net/sf/basedb/util/overview/validator/DataFileValidator.java

    r4789 r4816  
    8686    // or the actual parent (for a single file)
    8787    FileStoreEnabled parentItem = (FileStoreEnabled)(parentNode.getNodeType() == Node.Type.FOLDER ?
    88         parentNode.getParent().getItem() : parentNode.getItem());
     88        parentNode.getParent().getItem() : parentNode.getItem(dc));
    8989   
    9090    // Check that we have access to the file and it's file type
     
    191191  {
    192192    super.postValidateFolder(dc, context, folderNode, parentNode);
    193     FileStoreEnabled parentItem = (FileStoreEnabled)parentNode.getItem();
     193    FileStoreEnabled parentItem = (FileStoreEnabled)parentNode.getItem(dc);
    194194   
    195195    // Check that we have linked a file for all file types that
  • trunk/src/core/net/sf/basedb/util/overview/validator/ExperimentValidator.java

    r4764 r4816  
    6262    if (project != null)
    6363    {
     64      project = Project.getById(dc, project.getId());
    6465      RawDataType projectDefault = project.getDefaultRawDataType();
    6566      if (projectDefault != null && experiment.getRawDataType() != projectDefault)
  • trunk/src/core/net/sf/basedb/util/overview/validator/RawBioAssayValidator.java

    r4764 r4816  
    7373    if (project != null)
    7474    {
     75      project = Project.getById(dc, project.getId());
    7576      RawDataType projectDefault = project.getDefaultRawDataType();
    7677      if (projectDefault != null && rba.getRawDataType() != projectDefault)
  • trunk/www/common/overview/index.jsp

    r4768 r4816  
    6565        null : Project.getById(dc, sc.getActiveProjectId());
    6666    GenericOverview overview = OverviewUtil.getNewOrCurrentOverview(dc, item, project);
    67     overview.expand(dc, overview.getRootNode(), true);
     67    overview.expand(dc, overview.getRootNode(), false);
    6868    overview.updateFailureCountOnNodes();
    6969    dc.close();
     
    7878    Project project = sc.getActiveProjectId() == 0 ?
    7979        null : Project.getById(dc, sc.getActiveProjectId());
    80     GenericOverview overview = OverviewUtil.getNewOverview(dc, item, project);
    81     overview.expand(dc, overview.getRootNode(), true);
     80    GenericOverview overview = OverviewUtil.getNewOverview(dc, item, project);   
     81    overview.expand(dc, overview.getRootNode(), false);
     82    System.out.print("test");
    8283    overview.updateFailureCountOnNodes();
    8384    dc.close();
  • trunk/www/common/overview/tree.jsp

    r4767 r4816  
    107107    int numChildren = child.getChildren() == null ?
    108108      0 : child.getChildren().size();
    109     sb.append("var node").append(child.hashCode()).append(" = JoustMenu.addChildItem(").append("node"+startNode.hashCode());
     109    sb.append("var node").append(child.hashCode()).append(" = JoustMenu.addLazyChildItem(").append("node"+startNode.hashCode());
    110110    sb.append(",'").append(folderIcon).append("'");
    111111    sb.append(",'").append(HTML.javaScriptEncode(child.getTitle()));
    112112    sb.append(child.getNodeType() == Node.Type.FOLDER ? " (" + numChildren + ")" : "").append("',");
    113     sb.append("'showInfo(\"").append(child.getId()).append("\")','").append(HTML.javaScriptEncode(tooltip)).append("', '").append(child.getId()).append("')\n");
     113    sb.append("'showInfo(\"").append(child.getId()).append("\")','").append(HTML.javaScriptEncode(tooltip)).append("', '").append(child.getId()).append("',");
     114    sb.append("'lazyInitSubNode(").append(child.hashCode()).append(")')\n");
    114115    sb.append(generateSubTree(child, ID));
    115116  }
     
    139140  %>
    140141  <base:page title="" type="popup">
    141   <base:head scripts="newjoust.js" styles="newjoust.css">
     142  <base:head scripts="newjoust.js,ajax.js" styles="newjoust.css">
    142143  <script language="JavaScript">
    143144  var isInitialised = false;
     
    225226    }
    226227  }
     228
     229  function lazyInitSubNode(nodeId)
     230  {
     231    var request = Ajax.getXmlHttpRequest();
     232    var url = 'ajax.jsp?ID=<%=ID%>&cmd=GetSubNodes&node_id=' + nodeId;
     233    request.open("GET", url, false);
     234    request.send(null);
     235    var response = request.responseText.split('\n');
     236
     237    var kv = new Array();
     238    var numAdded = 0;
     239    var parent = JoustMenu.menuItems['N' + nodeId];
     240    for (var i=0; i<response.length; i++)
     241    {
     242      var txt = Main.trimString(response[i]);     
     243      if (txt == 'end')
     244      {
     245        var id = kv['id'];
     246        numAdded++;
     247        JoustMenu.addLazyChildItem(parent.index, kv['folderIcon'], kv['title'], 'showInfo(\''+id+'\')', kv['tooltip'], id, 'lazyInitSubNode('+kv['hashCode']+')');
     248      }
     249      else
     250      {
     251        var tmp = txt.split('\t', 2);
     252        kv[tmp[0]] = tmp[1];
     253      }
     254    }
     255    //alert(numAdded);
     256    return numAdded > 0;         
     257  }
    227258  </script>
    228259  </base:head>
Note: See TracChangeset for help on using the changeset viewer.