Ignore:
Timestamp:
Nov 7, 2008, 9:36:37 AM (13 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #1133: Experimental factors - inherit annotations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/views/experiments/view_experiment.jsp

    r4619 r4630  
    103103  Map<AnnotationType, Set<Object>> usedFactorValues =
    104104    new HashMap<AnnotationType, Set<Object>>();
     105  Map<AnnotationType, Integer> factorValuesCount = new HashMap<AnnotationType, Integer>();
    105106  %>
    106107
     
    193194      var div = document.getElementById('usedvalues.'+annotationTypeId);
    194195      div.innerHTML = values;
     196    }
     197    function showStatus(annotationTypeId, numTotal, numInherited)
     198    {
     199      var sss = document.getElementById('status.'+annotationTypeId);
     200      var html;
     201      if (numTotal == numInherited)
     202      {
     203        html = '<img src="../../images/ok.gif" title="All ' + numTotal +
     204          ' raw bioassays have a value for this experimental factor">';
     205      }
     206      else
     207      {
     208        var numMissing = numTotal - numInherited;
     209        html = '<a href="javascript:autoInherit('+annotationTypeId+')"' +
     210          ' title="Click for automatic inheritation of annotations from parents"';
     211        html += '<img src="../../images/warning.gif" border="0">&nbsp;' + numMissing + ' missing</a>';
     212      }
     213      sss.innerHTML = html;
     214    }
     215    function autoInherit(annotationTypeId)
     216    {
     217      var url = 'index.jsp?ID=<%=ID%>&cmd=AutoInherit&item_id=<%=itemId%>&annotationtype_id=' + annotationTypeId;
     218      Main.openPopup(url, 'AutoInherit', 400, 200);
    195219    }
    196220    </script>
     
    424448          title="Description"
    425449        />
     450        <tbl:columndef
     451          id="status"
     452          title="Status"
     453        />
    426454        <tbl:data>
    427455          <tbl:columns>
     
    433461            Type valueType = item.getValueType();
    434462            usedFactorValues.put(item, new HashSet<Object>());
     463            factorValuesCount.put(item, 0);
    435464            Formatter formatter = FormatterFactory.getTypeFormatter(sc, valueType);
    436465            %>
     
    462491                %>
    463492              </tbl:cell>
     493              <tbl:cell column="status"><div id="status.<%=item.getId()%>"></div></tbl:cell>
    464494            </tbl:row>
    465495            <%
     
    469499        </tbl:data>
    470500        </tbl:table>
     501        <base:icon image="warning.gif" /> = Some raw bioassays are missing this factor value;
     502          click to automatically try to inherit annotations from parents<br>
     503        <base:icon image="ok.gif" /> = All raw bioassays have a value for this factor
    471504        </base:section>
    472505        <%
     
    552585                    List values = a.getValues();
    553586                    usedFactorValues.get(at).addAll(values);
     587                    factorValuesCount.put(at, factorValuesCount.get(at)+1);
    554588                    Annotatable aItem = null;
    555589                    try
     
    715749    {
    716750      <%
     751      int numRawBioAssays = rawBioAssays.size();
    717752      for (Map.Entry<AnnotationType, Set<Object>> entry : usedFactorValues.entrySet())
    718753      {
    719754        AnnotationType at = entry.getKey();
     755        int numRawBioAssaysWithFactor = factorValuesCount.get(at);
    720756        Type valueType = at.getValueType();
    721757        if (at.isEnumeration() || (valueType != Type.TEXT && valueType != Type.STRING))
     
    728764          %>
    729765          setUsedFactorValue(<%=at.getId()%>, '<%=HTML.javaScriptEncode(formattedValues)%>');
     766          showStatus(<%=at.getId()%>, <%=numRawBioAssays%>, <%=numRawBioAssaysWithFactor%>);
    730767          <%
    731768        }
Note: See TracChangeset for help on using the changeset viewer.