extensions/net.sf.basedb.meludi/trunk/resources/libprep/libprep_protocol.jsp

Code
Comments
Other
Rev Date Author Line
3449 28 Jul 15 olle 1 <%@ page
3449 28 Jul 15 olle 2   pageEncoding="UTF-8"
3449 28 Jul 15 olle 3   session="false"
3449 28 Jul 15 olle 4   import="net.sf.basedb.core.User"
3449 28 Jul 15 olle 5   import="net.sf.basedb.core.DbControl"
3449 28 Jul 15 olle 6   import="net.sf.basedb.core.SessionControl"
3449 28 Jul 15 olle 7   import="net.sf.basedb.core.Application"
3449 28 Jul 15 olle 8   import="net.sf.basedb.clients.web.Base"  
3449 28 Jul 15 olle 9   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
3449 28 Jul 15 olle 10 %>
3449 28 Jul 15 olle 11 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
3449 28 Jul 15 olle 12 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
3449 28 Jul 15 olle 13 <%
3449 28 Jul 15 olle 14 final SessionControl sc = Base.getExistingSessionControl(request, true);
3449 28 Jul 15 olle 15 final String ID = sc.getId();
3449 28 Jul 15 olle 16 final float scale = Base.getScale(sc);
3449 28 Jul 15 olle 17 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.meludi");
3449 28 Jul 15 olle 18 DbControl dc = null;
3449 28 Jul 15 olle 19 try
3449 28 Jul 15 olle 20 {
3449 28 Jul 15 olle 21   dc = sc.newDbControl();
3449 28 Jul 15 olle 22   final User user = User.getById(dc, sc.getLoggedInUserId());
3449 28 Jul 15 olle 23 %>
3449 28 Jul 15 olle 24 <base:page type="default" >
3449 28 Jul 15 olle 25 <base:head 
3449 28 Jul 15 olle 26   scripts="~../meludi-2.js,~libprep_protocol.js" 
3449 28 Jul 15 olle 27   styles="path.css,~../css/meludi-2.css"
3449 28 Jul 15 olle 28   >
3449 28 Jul 15 olle 29 <style>
3449 28 Jul 15 olle 30 #export div
3449 28 Jul 15 olle 31 {
3449 28 Jul 15 olle 32   margin-left: 1em;
3449 28 Jul 15 olle 33 }
3449 28 Jul 15 olle 34 </style>
3449 28 Jul 15 olle 35 </base:head>
3449 28 Jul 15 olle 36 <base:body>
3449 28 Jul 15 olle 37
3449 28 Jul 15 olle 38   <p:path><p:pathelement 
3449 28 Jul 15 olle 39     title="MeLuDI" href="<%="../index.jsp?ID="+ID%>" 
3449 28 Jul 15 olle 40     /><p:pathelement title="Lab protocols for library preparation" 
3449 28 Jul 15 olle 41     /></p:path>
3449 28 Jul 15 olle 42
3449 28 Jul 15 olle 43   <div class="content">
3449 28 Jul 15 olle 44
3449 28 Jul 15 olle 45   <form name="meludi" action="libprep_protocol2.jsp" method="post" target="_blank" id="wizard" class="wizard">
3449 28 Jul 15 olle 46   <input type="hidden" name="ID" value="<%=ID%>">
3449 28 Jul 15 olle 47   <input type="hidden" name="view" value="list">
3449 28 Jul 15 olle 48   <input type="hidden" name="poolSchema" value="4by24">
3449 28 Jul 15 olle 49   <input type="hidden" name="barcodeVariant" value="">
3449 28 Jul 15 olle 50   
3449 28 Jul 15 olle 51   <div class="step" id="step-1">
3449 28 Jul 15 olle 52     <div class="step-no">1</div>
3449 28 Jul 15 olle 53     <div class="step-title">Select Library bioplate</div>
3449 28 Jul 15 olle 54     <div class="step-content">
3449 28 Jul 15 olle 55
3449 28 Jul 15 olle 56       <table class="step-form">
3449 28 Jul 15 olle 57       <tr>
3449 28 Jul 15 olle 58         <td class="prompt">Library bioplate</td>
3449 28 Jul 15 olle 59         <td class="input">
3449 28 Jul 15 olle 60           <select name="bioplate" id="bioplate"></select>
3449 28 Jul 15 olle 61         </td>
3449 28 Jul 15 olle 62         <td class="status" id="bioplate.status"></td>
3449 28 Jul 15 olle 63         <td class="help">
3449 28 Jul 15 olle 64           <span id="bioplate.message" class="message"></span>
3449 28 Jul 15 olle 65           Select an existing Library bioplate. The list contain all Library bioplates that
3449 28 Jul 15 olle 66           has not yet been processed (determined by the absence of a 'creation' date).
3449 28 Jul 15 olle 67         </td>
3449 28 Jul 15 olle 68       </tr>
3449 28 Jul 15 olle 69       <tbody class="info-section">
3449 28 Jul 15 olle 70       <tr>
3449 28 Jul 15 olle 71         <td class="prompt">Comments</td>
3449 28 Jul 15 olle 72         <td class="info" id="comments"></td>
3449 28 Jul 15 olle 73         <td class="status" id="comments.status"></td>
3449 28 Jul 15 olle 74         <td class="help"></td>
3449 28 Jul 15 olle 75       </tr>
3449 28 Jul 15 olle 76       </tbody>
3449 28 Jul 15 olle 77       <tr class="align-top">
3449 28 Jul 15 olle 78         <td class="prompt">Lab protocols</td>
3449 28 Jul 15 olle 79         <td class="input">
3449 28 Jul 15 olle 80           <span id="listview" class="link" data-protocol-type="list"><img src="../images/listview.png">&nbsp;List layout</span><br>
3449 28 Jul 15 olle 81           <span id="plateview" class="link" data-protocol-type="plate"><img src="../images/plateview.png">&nbsp;Plate layout</span><br>
3449 28 Jul 15 olle 82         </td>
3449 28 Jul 15 olle 83         <td class="status" id="protocol.status"></td>
3449 28 Jul 15 olle 84         <td class="help">
3449 28 Jul 15 olle 85           <span id="protocol.message" class="message"></span>
3449 28 Jul 15 olle 86           The 'list layout' generates a table with one row for each well on the work plate.
3449 28 Jul 15 olle 87           The 'plate layout' generates a grid with wells arranged according to row and column coordinates.
3449 28 Jul 15 olle 88         </td>
3449 28 Jul 15 olle 89       </tr>
3449 28 Jul 15 olle 90       <tr class="align-top">
3449 28 Jul 15 olle 91         <td class="prompt">Export files</td>
3449 28 Jul 15 olle 92         <td class="input" id="export" style="white-space: nowrap; line-height: 1.5em;">
3449 28 Jul 15 olle 93           <i>Qubit</i>
3449 28 Jul 15 olle 94           <div id="exportQubit"></div>
3449 28 Jul 15 olle 95           <i>Caliper - 96 wells</i>
3449 28 Jul 15 olle 96           <div id="exportCaliper96"></div>
3449 28 Jul 15 olle 97           <i>Caliper - 384 wells</i>
3449 28 Jul 15 olle 98           <div id="exportCaliper384"></div>
3449 28 Jul 15 olle 99         </td>
3449 28 Jul 15 olle 100         <td class="status" id="export.status"></td>
3449 28 Jul 15 olle 101         <td class="help">
3449 28 Jul 15 olle 102           <span id="protocol.message" class="message"></span>
3449 28 Jul 15 olle 103           <p>
3449 28 Jul 15 olle 104           Select what to export. Typically, you'll need either the <b>96 or 384</b> version of 
3449 28 Jul 15 olle 105           <b>Caliper</b> files and all of the <b>Qubit</b> files.
3449 28 Jul 15 olle 106           <p>
3449 28 Jul 15 olle 107           Tip! You can run the exporters for any bioplate as a regular plug-in by selecting 
3449 28 Jul 15 olle 108           a bioplate from the list at <a 
3449 28 Jul 15 olle 109           href="<%=request.getContextPath()%>/biomaterials/bioplates/index.jsp?ID=<%=ID%>"
3449 28 Jul 15 olle 110           >Biomaterial LIMS › Bioplates</a> and then use the <b>Export</b> button. 
3449 28 Jul 15 olle 111         </td>
3449 28 Jul 15 olle 112       </tr>
3449 28 Jul 15 olle 113       </table>
3449 28 Jul 15 olle 114     </div>
3449 28 Jul 15 olle 115   </div>
3449 28 Jul 15 olle 116   
3449 28 Jul 15 olle 117   <div id="wizard-status"></div>
3449 28 Jul 15 olle 118   
3449 28 Jul 15 olle 119   </form>
3449 28 Jul 15 olle 120   </div>
3449 28 Jul 15 olle 121   
3449 28 Jul 15 olle 122 </base:body>
3449 28 Jul 15 olle 123 </base:page>
3449 28 Jul 15 olle 124 <%
3449 28 Jul 15 olle 125 }
3449 28 Jul 15 olle 126 finally
3449 28 Jul 15 olle 127 {
3449 28 Jul 15 olle 128   if (dc != null) dc.close();
3449 28 Jul 15 olle 129 }
3449 28 Jul 15 olle 130 %>