Ignore:
Timestamp:
Feb 2, 2012, 2:10:37 PM (10 years ago)
Author:
Nicklas Nordborg
Message:

References #1655: GUI improvements

Array section of Array LIMS. This should complete the view pages for all items. Now, it is only the list pages left.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/lims/arraydesigns/view_design.jsp

    r5942 r5944  
    200200  </base:head>
    201201  <base:body>
    202     <p>
    203     <p:path>
    204       <p:pathelement title="Array designs" href="<%="index.jsp?ID="+ID%>" />
    205       <p:pathelement title="<%=HTML.encodeTags(design.getName())%>" />
    206     </p:path>
     202    <p:path><p:pathelement
     203      title="Array designs" href="<%="index.jsp?ID="+ID%>"
     204      /><p:pathelement title="<%=HTML.encodeTags(design.getName())%>"
     205      /></p:path>
    207206   
    208     <t:tabcontrol id="main" active="<%=tab%>" switch="switchTab" remember="false">
     207    <t:tabcontrol
     208      id="main"
     209      subclass="content mastertabcontrol"
     210      active="<%=tab%>" switch="switchTab" remember="false">
    209211    <t:tab id="properties" title="Properties">
    210     <tbl:toolbar
    211       >
    212       <tbl:button
    213         disabled="<%=!writePermission%>"
    214         image="edit.gif"
    215         onclick="editItem()"
    216         title="Edit&hellip;"
    217         tooltip="<%=writePermission ? "Edit this array design" : "You do not have permission to edit this array design"%>"
    218       />
    219       <tbl:button
    220         disabled="<%=!deletePermission%>"
    221         image="delete.gif"
    222         onclick="deleteItem()"
    223         title="Delete"
    224         visible="<%=!design.isRemoved()%>"
    225         tooltip="<%=deletePermission ? "Delete this array design" : "You do not have permission to delete this array design"%>"
    226       />
    227       <tbl:button
    228         disabled="<%=!writePermission%>"
    229         image="restore.gif"
    230         onclick="restoreItem()"
    231         title="Restore"
    232         visible="<%=design.isRemoved()%>"
    233         tooltip="<%=writePermission ? "Restore this array design" : "You do not have permission to restore this array design"%>"
    234       />
    235       <tbl:button
    236         disabled="<%=!sharePermission%>"
    237         image="share.gif"
    238         onclick="shareItem()"
    239         title="Share&hellip;"
    240         tooltip="<%=sharePermission ? "Share this array design to other user, groups and projects" : "You do not have permission to share this array design"%>"
    241       />
    242       <tbl:button
    243         disabled="<%=!setOwnerPermission%>"
    244         image="take_ownership.png"
    245         onclick="setOwner()"
    246         title="Set owner&hellip;"
    247         tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
    248       />
    249       <tbl:button
    250         image="add.png"
    251         onclick="newBatch()"
    252         title="New batch&hellip;"
    253         tooltip="Create a new array batch with this design"
    254         visible="<%=sc.hasPermission(Permission.CREATE, Item.ARRAYBATCH) && usePermission%>"
    255       />
    256       <tbl:button
    257         image="import.gif"
    258         onclick="runPlugin('ImportItem')"
    259         title="Import&hellip;"
    260         tooltip="Import data"
    261         visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
    262       />
    263       <tbl:button
    264         image="export.gif"
    265         onclick="runPlugin('ExportItem')"
    266         title="Export&hellip;"
    267         tooltip="Export data"
    268         visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
    269       />
    270       <tbl:button
    271         image="runplugin.gif"
    272         onclick="runPlugin('RunPlugin')"
    273         title="Run plugin&hellip;"
    274         tooltip="Run a plugin"
    275         visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
    276       />
    277       <tbl:button
    278         onclick="managePlates()"
    279         title="Manage plates&hellip;"
    280         tooltip="Attach / detach plates to this array design"
    281         visible="<%=writePermission && !design.hasFeatures()%>"
    282       />
    283       <ext:render extensions="<%=invoker%>" context="<%=jspContext%>"
    284         wrapper="<%=new PrefixSuffixRenderer(jspContext, "<td>", "</td>") %>"/>
    285       <tbl:button
    286         image="help.png"
    287         onclick="<%="Main.openHelp('" + ID +"', 'arraydesign.view.properties')"%>"
    288         title="Help&hellip;"
    289         tooltip="Get help about this page"
    290       />
    291       </tbl:toolbar>
    292      
    293     <div class="boxedbottom">
    294       <div class="itemstatus">Permissions on this item: <i><%=PermissionUtil.getFullPermissionNames(design)%></i></div>
    295       <%
    296       if (design.isRemoved() || design.isShared())
    297       {
    298         %>
    299         <div class="itemstatus">
     212      <div>
     213      <table class="fullform">
     214      <tr>
     215        <th class="itemstatus">
    300216          <base:icon
    301             image="<%=deletePermanentlyPermission ? "deleted.gif" : "deleted_disabled.gif"%>"
    302             onclick="<%=deletePermanentlyPermission ? "deleteItemPermanently()" : null%>"
    303             tooltip="<%=deletePermanentlyPermission ? "Permanently delete this item" : null%>"
    304             visible="<%=isRemoved%>"> This item has been flagged for deletion<br></base:icon>
     217            image="shared.gif"
     218            visible="<%=design.isShared()%>"
     219            tooltip="This item is shared to other users, groups and/or projects"
     220          />
     221          <base:icon
     222            image="deleted.gif"
     223            onclick="deleteItemPermanently()"
     224            tooltip="This item has been flagged for deletion. Click to delete it now."
     225            enabled="<%=deletePermanentlyPermission %>"
     226            visible="<%=isRemoved%>"
     227          />
    305228          <base:icon image="used.gif"
    306229            onclick="showUsingItems()"
    307             tooltip="Show the items that are using this one"
    308             visible="<%=isUsed%>"> This item is used by other items and can't be permanently deleted<br></base:icon>
    309           <base:icon image="shared.gif"
    310             visible="<%=design.isShared()%>"> This item is shared to other users, groups and/or projects</base:icon>
     230            tooltip="This item is used by other items and can't be permanently deleted. Show the items that are using this one"
     231            visible="<%=isRemoved && isUsed%>" />
     232        </th>
     233        <td style="padding: 0px;">
     234          <tbl:toolbar subclass="bottomborder">
     235            <tbl:button
     236              disabled="<%=!writePermission%>"
     237              image="edit.gif"
     238              onclick="editItem()"
     239              title="Edit&hellip;"
     240              tooltip="<%=writePermission ? "Edit this array design" : "You do not have permission to edit this array design"%>"
     241            />
     242            <tbl:button
     243              disabled="<%=!deletePermission%>"
     244              image="delete.gif"
     245              onclick="deleteItem()"
     246              title="Delete"
     247              visible="<%=!design.isRemoved()%>"
     248              tooltip="<%=deletePermission ? "Delete this array design" : "You do not have permission to delete this array design"%>"
     249            />
     250            <tbl:button
     251              disabled="<%=!writePermission%>"
     252              image="restore.gif"
     253              onclick="restoreItem()"
     254              title="Restore"
     255              visible="<%=design.isRemoved()%>"
     256              tooltip="<%=writePermission ? "Restore this array design" : "You do not have permission to restore this array design"%>"
     257            />
     258            <tbl:button
     259              disabled="<%=!sharePermission%>"
     260              image="share.gif"
     261              onclick="shareItem()"
     262              title="Share&hellip;"
     263              tooltip="<%=sharePermission ? "Share this array design to other user, groups and projects" : "You do not have permission to share this array design"%>"
     264            />
     265            <tbl:button
     266              disabled="<%=!setOwnerPermission%>"
     267              image="take_ownership.png"
     268              onclick="setOwner()"
     269              title="Set owner&hellip;"
     270              tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
     271            />
     272            <tbl:button
     273              image="add.png"
     274              onclick="newBatch()"
     275              title="New batch&hellip;"
     276              tooltip="Create a new array batch with this design"
     277              visible="<%=sc.hasPermission(Permission.CREATE, Item.ARRAYBATCH) && usePermission%>"
     278            />
     279            <tbl:button
     280              image="import.gif"
     281              onclick="runPlugin('ImportItem')"
     282              title="Import&hellip;"
     283              tooltip="Import data"
     284              visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
     285            />
     286            <tbl:button
     287              image="export.gif"
     288              onclick="runPlugin('ExportItem')"
     289              title="Export&hellip;"
     290              tooltip="Export data"
     291              visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
     292            />
     293            <tbl:button
     294              image="runplugin.gif"
     295              onclick="runPlugin('RunPlugin')"
     296              title="Run plugin&hellip;"
     297              tooltip="Run a plugin"
     298              visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
     299            />
     300            <tbl:button
     301              onclick="managePlates()"
     302              title="Manage plates&hellip;"
     303              tooltip="Attach / detach plates to this array design"
     304              visible="<%=writePermission && !design.hasFeatures()%>"
     305            />
     306            <ext:render extensions="<%=invoker%>" context="<%=jspContext%>"
     307              wrapper="<%=new PrefixSuffixRenderer(jspContext, "<td>", "</td>") %>"/>
     308            <tbl:button
     309              image="help.png"
     310              onclick="<%="Main.openHelp('" + ID +"', 'arraydesign.view.properties')"%>"
     311              title="Help&hellip;"
     312              tooltip="Get help about this page"
     313            />
     314          </tbl:toolbar>
     315        </td>
     316      </tr>
     317    </table>
     318    <table style="width: 100%; height: 18em;" class="bottomborder">
     319    <tr valign="top">
     320      <td style="width: 50%; height: 100%;">
     321        <table class="fullform" >
     322        <tr>
     323          <th>Name</th>
     324          <td><%=HTML.encodeTags(design.getName())%></td>
     325        </tr>
     326        <tr>
     327          <th>Registered</th>
     328          <td><%=dateFormatter.format(design.getEntryDate())%></td>
     329        </tr>
     330        <tr>
     331          <th>Platform</th>
     332          <td><base:propertyvalue item="<%=design%>" property="platform" /></td>
     333        </tr>
     334        <tr>
     335          <th>Variant</th>
     336          <td><base:propertyvalue item="<%=design%>" property="variant" /></td>
     337        </tr>
     338        <tr>
     339          <th>Arrays per slide</th>
     340          <td><%=design.getNumArrays()%></td>
     341        </tr>
     342        <tr>
     343          <th>Features</th>
     344          <td><%=design.hasFeatures() ? "yes (db: " + design.getNumDbFeatures() + "; file: " + design.getNumFileFeatures() + ")" : "no"%></td>
     345        </tr>
     346        <tr>
     347          <th>Feature identification method</th>
     348          <td><%=design.getFeatureIdentificationMethod()%></td>
     349        </tr>
     350        <tr>
     351          <th>Owner</th>
     352          <td><base:propertyvalue item="<%=design%>" property="owner" /></td>
     353        </tr>
     354        <tr>
     355          <th>Permissions</th>
     356          <td><%=PermissionUtil.getFullPermissionNames(design)%></td>
     357        </tr>
     358        <tr>
     359          <th>Description</th>
     360          <td><%=HTML.niceFormat(design.getDescription())%></td>
     361        </tr>
     362        </table>
     363      </td>
     364      <td style="width: 50%; height: 100%;" class="leftborder">
     365        <table class="fullform larger">
     366        <tbody class="sectionheader">
     367          <tr>
     368            <th colspan="2">Feature import</th>
     369          </tr>
     370        </tbody>
     371        <tr>
     372          <th>Job</th>
     373          <td><%=Base.getLinkedName(ID, job, !readJob, true)%></td>
     374        </tr>
     375        <tr>
     376          <th>Date / time</th>
     377          <td><%=job == null ? "" : dateTimeFormatter.format(job.getEnded())%></td>
     378        </tr>
     379        <tr>
     380          <th>Plugin</th>
     381          <td><base:propertyvalue item="<%=design%>" property="job.pluginDefinition" /></td>
     382        </tr>
     383        <tr>
     384          <th>Configuration / file format</th>
     385          <td><base:propertyvalue item="<%=design%>" property="job.pluginConfiguration" /></td>
     386        </tr>
     387        <tr class="dynamic">
     388          <th></th>
     389          <td></td>
     390        </tr>
     391        </table>
     392      </td>
     393      </tr>
     394    </table>
     395    </div>
     396    <jsp:include page="../../common/datafiles/list_files.jsp">
     397      <jsp:param name="item_type" value="<%=itemType.name()%>" />
     398      <jsp:param name="item_id" value="<%=itemId%>" />
     399      <jsp:param name="ID" value="<%=ID%>" />
     400    </jsp:include>
     401     
     402    <%
     403    ItemQuery<ArrayBatch> batchQuery = design.getArrayBatches();
     404    batchQuery.include(Include.ALL);
     405    batchQuery.order(Orders.asc(Hql.property("name")));
     406    ItemResultList<ArrayBatch> batches = batchQuery.list(dc);
     407    %>
     408    <base:section
     409      id="batches"
     410      title="<%="Array batches (" + batches.size() +")"%>"
     411      context="<%=cc%>">
     412      <%
     413      if (batches.size() == 0)
     414      {
     415        %>
     416        <div class="messagecontainer note">
     417        No batches exists for this design
     418        (or, you don't have permission to view them).
    311419        </div>
    312420        <%
    313421      }
    314       %>
    315      
    316       <table width="100%">
    317       <tr >
    318       <td>
    319      
    320       <table class="form" cellspacing="0">
    321       <tr>
    322         <td class="prompt">Name</td>
    323         <td><%=HTML.encodeTags(design.getName())%></td>
    324       </tr>
    325       <tr>
    326         <td class="prompt">Registered</td>
    327         <td><%=dateFormatter.format(design.getEntryDate())%></td>
    328       </tr>
    329       <tr>
    330         <td class="prompt">Platform</td>
    331         <td><base:propertyvalue item="<%=design%>" property="platform" /></td>
    332       </tr>
    333       <tr>
    334         <td class="prompt">Variant</td>
    335         <td><base:propertyvalue item="<%=design%>" property="variant" /></td>
    336       </tr>
    337       <tr>
    338         <td class="prompt">Arrays per slide</td>
    339         <td><%=design.getNumArrays()%></td>
    340       </tr>
    341       <tr>
    342         <td class="prompt">Features</td>
    343         <td><%=design.hasFeatures() ? "yes (db: " + design.getNumDbFeatures() + "; file: " + design.getNumFileFeatures() + ")" : "no"%></td>
    344       </tr>
    345       <tr>
    346         <td class="prompt">Feature identification method</td>
    347         <td><%=design.getFeatureIdentificationMethod()%></td>
    348       </tr>
    349       <tr>
    350         <td class="prompt">Owner</td>
    351         <td><base:propertyvalue item="<%=design%>" property="owner" /></td>
    352       </tr>
    353       <tr>
    354         <td class="prompt">Description</td>
    355         <td><%=HTML.niceFormat(design.getDescription())%></td>
    356       </tr>
    357       </table>
    358      
    359       </td>
    360       <td>
    361       <%
    362       if (design.getNumDbFeatures() > 0)
     422      else
    363423      {
    364424        %>
    365         <h4 style="margin-top: 0px;">Feature import</h4>
    366         <table class="form" cellspacing="0">
    367         <tr>
    368           <td class="prompt">Job</td>
    369           <td><%=Base.getLinkedName(ID, job, !readJob, true)%></td>
    370         </tr>
    371         <tr>
    372           <td class="prompt">Date / time</td>
    373           <td><%=job == null ? "" : dateTimeFormatter.format(job.getEnded())%></td>
    374         </tr>
    375         <tr>
    376           <td class="prompt">Plugin</td>
    377           <td><base:propertyvalue item="<%=design%>" property="job.pluginDefinition" /></td>
    378         </tr>
    379         <tr>
    380           <td class="prompt">Configuration / file format</td>
    381           <td><base:propertyvalue item="<%=design%>" property="job.pluginConfiguration" /></td>
    382         </tr>
    383         </table>
    384         <%
    385       }
    386       %>
    387        
    388       </td>
    389       </tr>
    390       </table>
    391      
    392       <jsp:include page="../../common/datafiles/list_files.jsp">
    393         <jsp:param name="item_type" value="<%=itemType.name()%>" />
    394         <jsp:param name="item_id" value="<%=itemId%>" />
    395         <jsp:param name="ID" value="<%=ID%>" />
    396       </jsp:include>
    397      
    398       <%
    399       ItemQuery<ArrayBatch> batchQuery = design.getArrayBatches();
    400       batchQuery.include(Include.ALL);
    401       batchQuery.order(Orders.asc(Hql.property("name")));
    402       ItemResultList<ArrayBatch> batches = batchQuery.list(dc);
    403       if (batches.size() == 0)
    404       {
    405         %>
    406         <h4>Array batches</h4>
    407         No batches exists for this design
    408         (or, you don't have permission to view them).
    409         <%
    410       }
    411       else
    412       {
    413         %>
    414         <base:section
    415           id="batches"
    416           title="<%="Array batches (" + batches.size() +")"%>"
    417           context="<%=cc%>">
    418425        <tbl:table
    419426          id="batches"
    420          
    421427          columns="all"
    422428          >
     
    430436        />
    431437        <tbl:data>
    432           <tbl:columns>
    433           </tbl:columns>
     438          <tbl:headers>
     439            <tbl:headerrow>
     440              <tbl:columnheaders />
     441            </tbl:headerrow>
     442          </tbl:headers>
    434443          <tbl:rows>
    435444          <%
     
    451460        </tbl:data>
    452461        </tbl:table>
    453         </base:section>
    454462        <%
    455463      }
    456464      %>
     465    </base:section>
    457466     
     467    <%
     468    ItemQuery<ArrayDesignPlate> platesQuery = design.getArrayDesignPlates();
     469    platesQuery.include(Include.ALL);
     470    platesQuery.order(Orders.asc(Hql.property("position")));
     471    ItemResultList<ArrayDesignPlate> plates = platesQuery.list(dc);
     472    %>
     473    <base:section
     474      id="plates"
     475      title="<%="Plates (" + plates.size() +")"%>"
     476      context="<%=cc%>">
    458477      <%
    459       ItemQuery<ArrayDesignPlate> platesQuery = design.getArrayDesignPlates();
    460       platesQuery.include(Include.ALL);
    461       platesQuery.order(Orders.asc(Hql.property("position")));
    462       ItemResultList<ArrayDesignPlate> plates = platesQuery.list(dc);
    463478      if (plates.size() == 0)
    464479      {
    465480        %>
    466         <h4>Plates</h4>
     481        <div class="messagecontainer note">
    467482        This array design isn't connected to any plates (or, you don't have permission to view them).
     483        </div>
    468484        <%
    469485      }
     
    471487      {
    472488        %>
    473         <base:section
    474           id="plates"
    475           title="<%="Plates (" + plates.size() +")"%>"
    476           context="<%=cc%>">
    477489        <tbl:table
    478490          id="plates"
    479          
    480491          columns="all"
    481492          >
     
    493504        />
    494505        <tbl:data>
    495           <tbl:columns>
    496           </tbl:columns>
     506          <tbl:headers>
     507            <tbl:headerrow>
     508              <tbl:columnheaders />
     509            </tbl:headerrow>
     510          </tbl:headers>
    497511          <tbl:rows>
    498512          <%
     
    525539        </tbl:data>
    526540        </tbl:table>
    527         </base:section>
    528541        <%
    529542      }
    530543      %>
    531       <jsp:include page="../../common/anytoany/list_anytoany.jsp">
    532         <jsp:param name="ID" value="<%=ID%>" />
     544    </base:section>
     545    <jsp:include page="../../common/anytoany/list_anytoany.jsp">
     546      <jsp:param name="ID" value="<%=ID%>" />
     547      <jsp:param name="item_type" value="<%=itemType.name()%>" />
     548      <jsp:param name="item_id" value="<%=itemId%>" />
     549      <jsp:param name="title" value="Other items related to this array design" />
     550    </jsp:include>
     551    <jsp:include page="../../common/share/list_share.jsp">
     552      <jsp:param name="ID" value="<%=ID%>" />
     553      <jsp:param name="item_type" value="<%=itemType.name()%>" />
     554      <jsp:param name="item_id" value="<%=itemId%>" />
     555      <jsp:param name="title" value="Shared to" />
     556    </jsp:include>
     557    </t:tab>
     558     
     559    <t:tab id="annotations" title="Annotations"
     560      tooltip="View annotation values" clazz="white">
     561      <jsp:include page="../../common/annotations/list_annotations.jsp">
    533562        <jsp:param name="item_type" value="<%=itemType.name()%>" />
    534563        <jsp:param name="item_id" value="<%=itemId%>" />
    535         <jsp:param name="title" value="Other items related to this array design" />
     564        <jsp:param name="ID" value="<%=ID%>" />
    536565      </jsp:include>
    537       <jsp:include page="../../common/share/list_share.jsp">
    538         <jsp:param name="ID" value="<%=ID%>" />
    539         <jsp:param name="item_type" value="<%=itemType.name()%>" />
    540         <jsp:param name="item_id" value="<%=itemId%>" />
    541         <jsp:param name="title" value="Shared to" />
    542       </jsp:include>
    543       </div>
    544       </t:tab>
     566    </t:tab>
    545567     
    546       <t:tab id="annotations" title="Annotations"
    547         tooltip="View annotation values" clazz="white">
    548         <jsp:include page="../../common/annotations/list_annotations.jsp">
     568    <t:tab id="features" title="Features" visible="<%=design.getNumDbFeatures() > 0%>"/>
     569
     570    <t:tab id="overview" title="Overview"
     571      tooltip="Display a tree overview of related items">
     572      <%
     573      if ("overview".equals(tab))
     574      {
     575        %>
     576        <jsp:include page="../../common/overview/overview.jsp">
    549577          <jsp:param name="item_type" value="<%=itemType.name()%>" />
    550578          <jsp:param name="item_id" value="<%=itemId%>" />
    551579          <jsp:param name="ID" value="<%=ID%>" />
    552580        </jsp:include>
    553       </t:tab>
    554      
    555       <t:tab id="features" title="Features" visible="<%=design.getNumDbFeatures() > 0%>"/>
    556 
    557       <t:tab id="overview" title="Overview"
    558         tooltip="Display a tree overview of related items">
    559581        <%
    560         if ("overview".equals(tab))
    561         {
    562           %>
    563           <jsp:include page="../../common/overview/overview.jsp">
    564             <jsp:param name="item_type" value="<%=itemType.name()%>" />
    565             <jsp:param name="item_id" value="<%=itemId%>" />
    566             <jsp:param name="ID" value="<%=ID%>" />
    567           </jsp:include>
    568           <%
    569         }
     582      }
     583      %>
     584    </t:tab>
     585    <t:tab id="history" title="Change history"
     586      tooltip="Displays a log of all modifications made to this item"
     587      visible="<%=ChangeHistoryUtil.showChangeHistoryTab(sc)%>">
     588      <%
     589      if ("history".equals(tab))
     590      {
    570591        %>
    571       </t:tab>
    572       <t:tab id="history" title="Change history"
    573         tooltip="Displays a log of all modifications made to this item"
    574         visible="<%=ChangeHistoryUtil.showChangeHistoryTab(sc)%>">
     592        <jsp:include page="../../common/history/frameset.jsp">
     593          <jsp:param name="source_type" value="<%=itemType.name()%>" />
     594          <jsp:param name="source_id" value="<%=itemId%>" />
     595          <jsp:param name="ID" value="<%=ID%>" />
     596        </jsp:include>
    575597        <%
    576         if ("history".equals(tab))
    577         {
    578           %>
    579           <jsp:include page="../../common/history/frameset.jsp">
    580             <jsp:param name="source_type" value="<%=itemType.name()%>" />
    581             <jsp:param name="source_id" value="<%=itemId%>" />
    582             <jsp:param name="ID" value="<%=ID%>" />
    583           </jsp:include>
    584           <%
    585         }
    586         %>
    587       </t:tab>
    588       </t:tabcontrol>
     598      }
     599      %>
     600    </t:tab>
     601    </t:tabcontrol>
    589602
    590603  </base:body>
Note: See TracChangeset for help on using the changeset viewer.