| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation and others. |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // which accompanies this distribution, and is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // Contributors: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| |
| |
| function getTabUrl(url, queryString) |
| { |
| if ( queryString == null ) queryString = ""; |
| //alert(url + queryString); |
| return url + queryString; |
| } |
| |
| function getActivityItemUrl(url, process, elementProcessPath, relProcessPath) |
| { |
| queryString = "?proc=" + process + "&path=" + elementProcessPath + relProcessPath; |
| //alert(url + queryString); |
| return url + queryString; |
| |
| } |
| |
| function getDiagramImageUrl(process, elementProcessPath, diagramType) |
| { |
| // get the diagram image file for the specified element path and process |
| // retutns null if noting |
| // diagram type is Activity, ActivityDetail, |
| //alert("get " + diagramType + " diagram for " + elementProcessPath); |
| return imageFiles[elementProcessPath+diagramType]; |
| } |
| |
| function isSuppressed(process, elementProcessPath) |
| { |
| flag = (suppressedItems[elementProcessPath] == true); |
| //if ( flag ) alert("got one: " + elementProcessPath); |
| |
| return flag; |
| } |
| |
| function buildTeamTree(proc, path, teamTree) { |
| |
| if ( teamTree == null || teamTree.length == 0 ) { |
| return; |
| } |
| |
| teamTree[0][0] = teamTree[0][0].replace(/(\'|\")/g, "\\$1"); |
| |
| var teamBuffer = ""; |
| for ( var i = 0; i < teamTree.length; i++ ) { |
| |
| if ( !isTeamSuppressed(proc, path, teamTree[i]) ) { |
| teamBuffer += "<div class=\"teamStructure\" align=\"left\">"; |
| teamBuffer += getTeamTreeHtml(proc, path, teamTree[i]); |
| teamBuffer += "</div><br/>"; |
| } |
| |
| } |
| |
| //alert(teamBuffer); |
| document.write(teamBuffer); |
| } |
| |
| |
| // format is [url, title, relPath, suppressed] |
| function getTeamTreeHtml(proc, path, teamTree) { |
| |
| if ( teamTree == null || teamTree.length < 4) { |
| return ""; |
| } |
| |
| var url = teamTree[0]; |
| var title = teamTree[1]; |
| var relPath = teamTree[2]; |
| |
| var teamBuffer = |
| "<a href=\"javascript:location.href=getActivityItemUrl('" + url + "', par_proc, par_path, '" + relPath + "');\">" + title + "</a>"; |
| |
| if ( teamTree.length > 4 && teamTree[4] != null && teamTree[4] != "" && teamTree[4] != undefined ) { |
| teamBuffer += "<ul>"; |
| for ( var i = 4; i < teamTree.length; i++ ) { |
| if (typeof teamTree[i] == "object" && !isTeamSuppressed(proc, path, teamTree[i]) ) { |
| |
| teamBuffer += "<li>"; |
| teamBuffer += getTeamTreeHtml(proc, path, teamTree[i]); |
| teamBuffer += "</li>"; |
| } |
| } |
| teamBuffer += "</ul>"; |
| } |
| |
| return teamBuffer; |
| } |
| |
| function isTeamSuppressed(proc, path, teamTree) { |
| |
| if ( teamTree == null || teamTree.length < 4) { |
| return true; |
| } |
| |
| var relPath = teamTree[2]; |
| var sup = teamTree[3]; |
| |
| if ( sup == "" ) { |
| return isSuppressed(proc, path + relPath); |
| } else { |
| return (sup == "true"); |
| } |
| |
| } |
| |
| |
| |
| // define two arrays for process spcicif activity images and supressed items |
| // the details will be filled by publishing |
| var imageFiles = new Array(); |
| var suppressedItems = new Array(); |
| |
| // dynamically generated layout info from RMC publishing service |