extensions/net.sf.basedb.reggie/trunk/resources/sampleproc/lysate_reextraction.jsp

Code
Comments
Other
Rev Date Author Line
4089 08 Sep 16 nicklas 1 <%@ page
4089 08 Sep 16 nicklas 2   pageEncoding="UTF-8"
4089 08 Sep 16 nicklas 3   session="false"
4089 08 Sep 16 nicklas 4   import="net.sf.basedb.core.User"
4089 08 Sep 16 nicklas 5   import="net.sf.basedb.core.DbControl"
4089 08 Sep 16 nicklas 6   import="net.sf.basedb.core.SessionControl"
4089 08 Sep 16 nicklas 7   import="net.sf.basedb.core.Application"
4089 08 Sep 16 nicklas 8   import="net.sf.basedb.util.formatter.DateFormatter"
4089 08 Sep 16 nicklas 9   import="net.sf.basedb.util.formatter.Formatter"
4089 08 Sep 16 nicklas 10   import="net.sf.basedb.util.extensions.Extension"
4089 08 Sep 16 nicklas 11   import="net.sf.basedb.clients.web.Base"  
4089 08 Sep 16 nicklas 12   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
4089 08 Sep 16 nicklas 13   import="java.util.Date"
4089 08 Sep 16 nicklas 14 %>
4089 08 Sep 16 nicklas 15 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
4089 08 Sep 16 nicklas 16 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
4089 08 Sep 16 nicklas 17 <%
4089 08 Sep 16 nicklas 18 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
4089 08 Sep 16 nicklas 19 final String ID = sc.getId();
4089 08 Sep 16 nicklas 20 final float scale = Base.getScale(sc);
4089 08 Sep 16 nicklas 21 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
4089 08 Sep 16 nicklas 22 DbControl dc = null;
4089 08 Sep 16 nicklas 23 try
4089 08 Sep 16 nicklas 24 {
4089 08 Sep 16 nicklas 25   dc = sc.newDbControl();
4089 08 Sep 16 nicklas 26   final Extension reggie = ExtensionsControl.get(dc).getExtension("net.sf.basedb.reggie");
4089 08 Sep 16 nicklas 27   final User user = User.getById(dc, sc.getLoggedInUserId());
4089 08 Sep 16 nicklas 28 %>
4089 08 Sep 16 nicklas 29 <base:page type="default" >
4089 08 Sep 16 nicklas 30 <base:head 
4089 08 Sep 16 nicklas 31   scripts="~../reggie-2.js,~lysate_reextraction.js" 
4089 08 Sep 16 nicklas 32   styles="path.css,~../css/reggie-2.css,~../css/lysate_picklist.css"
4089 08 Sep 16 nicklas 33   >
4089 08 Sep 16 nicklas 34 <style>
4089 08 Sep 16 nicklas 35 tr.highlight
4089 08 Sep 16 nicklas 36 {
4089 08 Sep 16 nicklas 37   border-top-width: 1px;
4089 08 Sep 16 nicklas 38   border-top-style: dotted;
4089 08 Sep 16 nicklas 39 }
4089 08 Sep 16 nicklas 40
4089 08 Sep 16 nicklas 41 #lysateTable
4089 08 Sep 16 nicklas 42 {
4089 08 Sep 16 nicklas 43   border-width: 0;
4089 08 Sep 16 nicklas 44   font-size: 100%;
4089 08 Sep 16 nicklas 45 }
4089 08 Sep 16 nicklas 46
4089 08 Sep 16 nicklas 47 #lysateTable td:first-child, #lysateTable th:first-child
4089 08 Sep 16 nicklas 48 {
4089 08 Sep 16 nicklas 49   border-left-width: 0;
4089 08 Sep 16 nicklas 50 }
4089 08 Sep 16 nicklas 51
4089 08 Sep 16 nicklas 52 #protocol-header
4089 08 Sep 16 nicklas 53 {
4089 08 Sep 16 nicklas 54   display: none;
4089 08 Sep 16 nicklas 55 }
6722 04 May 22 nicklas 56
6722 04 May 22 nicklas 57 #protocol-footer
6722 04 May 22 nicklas 58 {
6722 04 May 22 nicklas 59   border-top-width: 1px;
6722 04 May 22 nicklas 60   padding: 0.5em;  
6722 04 May 22 nicklas 61 }
4089 08 Sep 16 nicklas 62 </style>
4089 08 Sep 16 nicklas 63 </base:head>
4089 08 Sep 16 nicklas 64 <base:body>
4089 08 Sep 16 nicklas 65
4089 08 Sep 16 nicklas 66   <p:path><p:pathelement 
4089 08 Sep 16 nicklas 67     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
4089 08 Sep 16 nicklas 68     /><p:pathelement title="Pick lysate for re-extraction" 
4089 08 Sep 16 nicklas 69     /></p:path>
4089 08 Sep 16 nicklas 70
4089 08 Sep 16 nicklas 71   <div class="content">
4089 08 Sep 16 nicklas 72   
4089 08 Sep 16 nicklas 73   <div id="page-data" class="datacontainer"
4089 08 Sep 16 nicklas 74     data-home-url="<%=home%>"
4089 08 Sep 16 nicklas 75   ></div>
4089 08 Sep 16 nicklas 76
4089 08 Sep 16 nicklas 77   <form name="reggie" id="wizard" class="wizard">
4089 08 Sep 16 nicklas 78   
4089 08 Sep 16 nicklas 79   <div class="step auto-hide" id="step-1">
4089 08 Sep 16 nicklas 80     <div class="step-no">1</div>
4089 08 Sep 16 nicklas 81     <div class="step-title">Select lysates that should be picked</div>
4089 08 Sep 16 nicklas 82     <div class="step-content">
4089 08 Sep 16 nicklas 83   
4089 08 Sep 16 nicklas 84       <table class="step-form">
4089 08 Sep 16 nicklas 85       <tr class="align-top">
4089 08 Sep 16 nicklas 86         <td class="prompt">Lysates</td>
4089 08 Sep 16 nicklas 87         <td class="input">
4089 08 Sep 16 nicklas 88           <select name="lysates" id="lysates" class="yellow-label-support" multiple size="15""></select>
4089 08 Sep 16 nicklas 89         </td>
4089 08 Sep 16 nicklas 90         <td class="status" id="lysates.status"></td>
4089 08 Sep 16 nicklas 91         <td class="help">
4089 08 Sep 16 nicklas 92           <span id="lysates.message" class="message" ></span>
4089 08 Sep 16 nicklas 93           The list contain Lysate items that has been selected for
4089 08 Sep 16 nicklas 94           re-extraction (determined by 'AutoProcessing' annotation).<br>
4089 08 Sep 16 nicklas 95           <base:icon image="<%=home+"/images/yellow-label.png"%>" /> = YellowLabel specimen
4089 08 Sep 16 nicklas 96         </td>
4089 08 Sep 16 nicklas 97       </tr>
4089 08 Sep 16 nicklas 98       </table>
4089 08 Sep 16 nicklas 99     </div>
4089 08 Sep 16 nicklas 100   </div>
4089 08 Sep 16 nicklas 101   
4089 08 Sep 16 nicklas 102   <div class="step" id="step-2">
4089 08 Sep 16 nicklas 103     <div class="step-no">2</div>
4089 08 Sep 16 nicklas 104     <div class="step-title">Lysate pick-list protocol</div>
4089 08 Sep 16 nicklas 105     <div class="step-content">
4089 08 Sep 16 nicklas 106       <div class="messagecontainer note" style="margin: 2em; width: 50%; padding: 1em; font-weight: bold;">
4089 08 Sep 16 nicklas 107         It is important that this protocol is printed before 
4089 08 Sep 16 nicklas 108         registration, since the storage locations are replaced 
4089 08 Sep 16 nicklas 109         with the new locations.
4089 08 Sep 16 nicklas 110       </div>
4089 08 Sep 16 nicklas 111       <div id="full-protocol" class="topborder">
4089 08 Sep 16 nicklas 112       
4089 08 Sep 16 nicklas 113         <div id="protocol-header">
4089 08 Sep 16 nicklas 114         <h1>Pick list protocol for lysate re-extraction <span class="reggie">Reggie <%=reggie.getAbout().getVersion() %></span></h1>
4089 08 Sep 16 nicklas 115         </div>
4089 08 Sep 16 nicklas 116         
6722 04 May 22 nicklas 117         <div id="protocol-table" class="nolabels">
6722 04 May 22 nicklas 118           <table id="lysateTable">
6722 04 May 22 nicklas 119           <thead class="bg-filled-100">
6722 04 May 22 nicklas 120             <tr>
6722 04 May 22 nicklas 121             <th>Lysate</th>
6722 04 May 22 nicklas 122             <th class="label">Label¹</th>
6722 04 May 22 nicklas 123             <th>Freezer</th>
6722 04 May 22 nicklas 124             <th>Box</th>
6722 04 May 22 nicklas 125             <th>New box</th>
6722 04 May 22 nicklas 126             <th>Remaing quantity</th>
6722 04 May 22 nicklas 127             <th>Remark</th>
6722 04 May 22 nicklas 128             </tr>
6722 04 May 22 nicklas 129           </thead>
6722 04 May 22 nicklas 130           <tbody id="lysateList"></tbody>
6722 04 May 22 nicklas 131           </table>
6722 04 May 22 nicklas 132           
6722 04 May 22 nicklas 133           <div id="protocol-footer" class="label">
6722 04 May 22 nicklas 134             ¹ Some SCAN-B tubes have a non-standard label.
6722 04 May 22 nicklas 135           </div>
6722 04 May 22 nicklas 136         </div>
4089 08 Sep 16 nicklas 137       </div>
4089 08 Sep 16 nicklas 138     </div>
4089 08 Sep 16 nicklas 139   </div>
4089 08 Sep 16 nicklas 140   <div id="wizard-status"></div>
4089 08 Sep 16 nicklas 141
4089 08 Sep 16 nicklas 142   <table class="navigation" id="navigation">
4089 08 Sep 16 nicklas 143   <tr>
4089 08 Sep 16 nicklas 144     <td><base:button id="gocancel" title="Cancel" /></td>
4089 08 Sep 16 nicklas 145     <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
4089 08 Sep 16 nicklas 146     <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
4089 08 Sep 16 nicklas 147     <td><base:button id="goprint" title="Print&hellip;" image="<%=home+"/images/print.png"%>" /></td>
4089 08 Sep 16 nicklas 148     <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
4089 08 Sep 16 nicklas 149     <td id="gonext-message" class="message"></td>
4089 08 Sep 16 nicklas 150   </tr>
4089 08 Sep 16 nicklas 151   </table>
4089 08 Sep 16 nicklas 152   
4089 08 Sep 16 nicklas 153   </form>
4089 08 Sep 16 nicklas 154   </div>
4089 08 Sep 16 nicklas 155   
4089 08 Sep 16 nicklas 156 </base:body>
4089 08 Sep 16 nicklas 157 </base:page>
4089 08 Sep 16 nicklas 158 <%
4089 08 Sep 16 nicklas 159 }
4089 08 Sep 16 nicklas 160 finally
4089 08 Sep 16 nicklas 161 {
4089 08 Sep 16 nicklas 162   if (dc != null) dc.close();
4089 08 Sep 16 nicklas 163 }
4089 08 Sep 16 nicklas 164 %>