extensions/net.sf.basedb.meludi/trunk/resources/libprep/dna_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,~dna_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 <base:body>
3449 28 Jul 15 olle 30
3449 28 Jul 15 olle 31   <p:path><p:pathelement 
3449 28 Jul 15 olle 32     title="MeLuDI" href="<%="../index.jsp?ID="+ID%>" 
3449 28 Jul 15 olle 33     /><p:pathelement title="Lab protocols for DNA preparation" 
3449 28 Jul 15 olle 34     /></p:path>
3449 28 Jul 15 olle 35
3449 28 Jul 15 olle 36   <div class="content">
3449 28 Jul 15 olle 37
3449 28 Jul 15 olle 38   <form name="meludi" action="dna_protocol2.jsp" method="post" target="_blank" id="wizard" class="wizard">
3449 28 Jul 15 olle 39   <input type="hidden" name="ID" value="<%=ID%>">
3449 28 Jul 15 olle 40   <input type="hidden" name="view" value="list">
3449 28 Jul 15 olle 41 <!--
3449 28 Jul 15 olle 42   <input type="hidden" name="poolSchema" value="5by24">
3449 28 Jul 15 olle 43 -->
3449 28 Jul 15 olle 44   <input type="hidden" name="poolSchema" value="2by48">
3449 28 Jul 15 olle 45   
3449 28 Jul 15 olle 46   <div class="step" id="step-1">
3449 28 Jul 15 olle 47     <div class="step-no">1</div>
3449 28 Jul 15 olle 48     <div class="step-title">Select DNA bioplate</div>
3449 28 Jul 15 olle 49     <div class="step-content">
3449 28 Jul 15 olle 50
3449 28 Jul 15 olle 51       <table class="step-form">
3449 28 Jul 15 olle 52       <tr>
3449 28 Jul 15 olle 53         <td class="prompt">DNA bioplate</td>
3449 28 Jul 15 olle 54         <td class="input">
3449 28 Jul 15 olle 55           <select name="bioplate" id="bioplate"></select>
3449 28 Jul 15 olle 56         </td>
3449 28 Jul 15 olle 57         <td class="status" id="bioplate.status"></td>
3449 28 Jul 15 olle 58         <td class="help" rowspan="2">
3449 28 Jul 15 olle 59           <span id="bioplate.message" class="message"></span>
3449 28 Jul 15 olle 60           Select an existing DNA bioplate. The list contain all DNA bioplates that
3449 28 Jul 15 olle 61           has not yet been processed (determined by the absence of a 'creation' date).
3449 28 Jul 15 olle 62         </td>
3449 28 Jul 15 olle 63       </tr>
3449 28 Jul 15 olle 64       <tbody class="info-section">
3449 28 Jul 15 olle 65       <tr>
3449 28 Jul 15 olle 66         <td class="prompt">Comments</td>
3449 28 Jul 15 olle 67         <td class="info" id="comments"></td>
3449 28 Jul 15 olle 68         <td class="status"></td>
3449 28 Jul 15 olle 69         <td class="help"></td>
3449 28 Jul 15 olle 70       </tr>
3449 28 Jul 15 olle 71       </tbody>
3449 28 Jul 15 olle 72       <tr>
3449 28 Jul 15 olle 73         <td class="prompt">Stratagene conc.</td>
3449 28 Jul 15 olle 74         <td class="input">
3449 28 Jul 15 olle 75           <input type="text" name="stratageneConc" id="stratageneConc"
3449 28 Jul 15 olle 76             style="width: 10em;" maxlength="8"> (ng/µl)
3449 28 Jul 15 olle 77         </td>
3449 28 Jul 15 olle 78         <td class="status" id="stratagene.status"></td>
3449 28 Jul 15 olle 79         <td class="help">
3449 28 Jul 15 olle 80           <span id="stratagene.message" class="message"></span>
3449 28 Jul 15 olle 81           If the current Stratagene concentration is given, the wizard will calculate volumes
3449 28 Jul 15 olle 82           to use automatically.
3449 28 Jul 15 olle 83         </td>
3449 28 Jul 15 olle 84       </tr>
3449 28 Jul 15 olle 85       <tr class="align-top">
3449 28 Jul 15 olle 86         <td class="prompt">Lab protocols</td>
3449 28 Jul 15 olle 87         <td class="input">
3449 28 Jul 15 olle 88           <span id="listview" class="link" data-protocol-type="list"><img src="../images/listview.png">&nbsp;List layout</span><br>
3449 28 Jul 15 olle 89           <span id="plateview" class="link" data-protocol-type="plate"><img src="../images/plateview.png">&nbsp;Plate layout</span><br>
3449 28 Jul 15 olle 90         </td>
3449 28 Jul 15 olle 91         <td class="status" id="protocol.status"></td>
3449 28 Jul 15 olle 92         <td class="help">
3449 28 Jul 15 olle 93           <span id="protocol.message" class="message"></span>
3449 28 Jul 15 olle 94           The 'list layout' generates a table with one row for each well on the work plate.
3449 28 Jul 15 olle 95           The 'plate layout' generates a grid with wells arranged according to row and column coordinates.
3449 28 Jul 15 olle 96         </td>
3449 28 Jul 15 olle 97       </tr>
3449 28 Jul 15 olle 98       </table>
3449 28 Jul 15 olle 99     </div>
3449 28 Jul 15 olle 100   </div>
3449 28 Jul 15 olle 101   
3449 28 Jul 15 olle 102   <div id="wizard-status"></div>
3449 28 Jul 15 olle 103   
3449 28 Jul 15 olle 104   </form>
3449 28 Jul 15 olle 105   </div>
3449 28 Jul 15 olle 106   
3449 28 Jul 15 olle 107 </base:body>
3449 28 Jul 15 olle 108 </base:page>
3449 28 Jul 15 olle 109 <%
3449 28 Jul 15 olle 110 }
3449 28 Jul 15 olle 111 finally
3449 28 Jul 15 olle 112 {
3449 28 Jul 15 olle 113   if (dc != null) dc.close();
3449 28 Jul 15 olle 114 }
3449 28 Jul 15 olle 115 %>