5425 |
14 May 19 |
nicklas |
1 |
<%@ page |
5425 |
14 May 19 |
nicklas |
2 |
pageEncoding="UTF-8" |
5425 |
14 May 19 |
nicklas |
3 |
session="false" |
5425 |
14 May 19 |
nicklas |
4 |
import="net.sf.basedb.core.User" |
5425 |
14 May 19 |
nicklas |
5 |
import="net.sf.basedb.core.DbControl" |
5425 |
14 May 19 |
nicklas |
6 |
import="net.sf.basedb.core.SessionControl" |
5425 |
14 May 19 |
nicklas |
7 |
import="net.sf.basedb.core.Application" |
5425 |
14 May 19 |
nicklas |
8 |
import="net.sf.basedb.util.Values" |
5425 |
14 May 19 |
nicklas |
9 |
import="net.sf.basedb.clients.web.Base" |
5425 |
14 May 19 |
nicklas |
10 |
import="net.sf.basedb.clients.web.util.HTML" |
5425 |
14 May 19 |
nicklas |
11 |
import="net.sf.basedb.clients.web.extensions.ExtensionsControl" |
5425 |
14 May 19 |
nicklas |
12 |
%> |
5425 |
14 May 19 |
nicklas |
13 |
<%@ taglib prefix="base" uri="/WEB-INF/base.tld" %> |
5425 |
14 May 19 |
nicklas |
14 |
<%@ taglib prefix="p" uri="/WEB-INF/path.tld" %> |
5425 |
14 May 19 |
nicklas |
15 |
<% |
5425 |
14 May 19 |
nicklas |
16 |
final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true); |
5425 |
14 May 19 |
nicklas |
17 |
final String ID = sc.getId(); |
5425 |
14 May 19 |
nicklas |
18 |
final float scale = Base.getScale(sc); |
5425 |
14 May 19 |
nicklas |
19 |
final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie"); |
5425 |
14 May 19 |
nicklas |
20 |
DbControl dc = null; |
5425 |
14 May 19 |
nicklas |
21 |
try |
5425 |
14 May 19 |
nicklas |
22 |
{ |
5425 |
14 May 19 |
nicklas |
23 |
dc = sc.newDbControl(); |
5425 |
14 May 19 |
nicklas |
24 |
final User user = User.getById(dc, sc.getLoggedInUserId()); |
5425 |
14 May 19 |
nicklas |
25 |
%> |
5425 |
14 May 19 |
nicklas |
26 |
<base:page type="default" > |
5425 |
14 May 19 |
nicklas |
27 |
<base:head |
5425 |
14 May 19 |
nicklas |
28 |
scripts="~../reggie-2.js,~lib_registration.js" |
5425 |
14 May 19 |
nicklas |
29 |
styles="path.css,~../css/reggie-2.css" |
5425 |
14 May 19 |
nicklas |
30 |
> |
5425 |
14 May 19 |
nicklas |
31 |
<style> |
5425 |
14 May 19 |
nicklas |
32 |
.date-col |
5425 |
14 May 19 |
nicklas |
33 |
{ |
5425 |
14 May 19 |
nicklas |
34 |
width: 12em; |
5425 |
14 May 19 |
nicklas |
35 |
} |
5425 |
14 May 19 |
nicklas |
36 |
|
5425 |
14 May 19 |
nicklas |
37 |
.operator-col input |
5425 |
14 May 19 |
nicklas |
38 |
{ |
5425 |
14 May 19 |
nicklas |
39 |
width: 95%; |
5425 |
14 May 19 |
nicklas |
40 |
} |
5425 |
14 May 19 |
nicklas |
41 |
|
5425 |
14 May 19 |
nicklas |
42 |
</style> |
5425 |
14 May 19 |
nicklas |
43 |
|
5425 |
14 May 19 |
nicklas |
44 |
</base:head> |
5425 |
14 May 19 |
nicklas |
45 |
<base:body> |
5425 |
14 May 19 |
nicklas |
46 |
|
5425 |
14 May 19 |
nicklas |
47 |
<p:path><p:pathelement |
5425 |
14 May 19 |
nicklas |
48 |
title="Reggie" href="<%="../index.jsp?ID="+ID%>" |
5425 |
14 May 19 |
nicklas |
49 |
/><p:pathelement title="MIPs library registration" |
5425 |
14 May 19 |
nicklas |
50 |
/></p:path> |
5425 |
14 May 19 |
nicklas |
51 |
|
5425 |
14 May 19 |
nicklas |
52 |
<div class="content"> |
5425 |
14 May 19 |
nicklas |
53 |
|
5425 |
14 May 19 |
nicklas |
54 |
<form name="reggie" id="wizard" class="wizard"> |
5425 |
14 May 19 |
nicklas |
55 |
|
5425 |
14 May 19 |
nicklas |
56 |
<div class="step" id="step-1"> |
5425 |
14 May 19 |
nicklas |
57 |
<div class="step-no">1</div> |
5425 |
14 May 19 |
nicklas |
58 |
<div class="step-title">Select MIPs work plate</div> |
5425 |
14 May 19 |
nicklas |
59 |
<div class="step-content"> |
5425 |
14 May 19 |
nicklas |
60 |
|
5425 |
14 May 19 |
nicklas |
61 |
<table class="step-form"> |
5425 |
14 May 19 |
nicklas |
62 |
<tr> |
5425 |
14 May 19 |
nicklas |
63 |
<td class="prompt">MIPs plate</td> |
5425 |
14 May 19 |
nicklas |
64 |
<td class="input"> |
5425 |
14 May 19 |
nicklas |
65 |
<select class="required" name="bioplate" id="bioplate"></select> |
5425 |
14 May 19 |
nicklas |
66 |
</td> |
5425 |
14 May 19 |
nicklas |
67 |
<td class="status" id="bioplate.status"></td> |
5425 |
14 May 19 |
nicklas |
68 |
<td class="help"> |
5425 |
14 May 19 |
nicklas |
69 |
<span id="bioplate.message" class="message"></span> |
5425 |
14 May 19 |
nicklas |
70 |
Select an existing work plate. The list contain all plates that |
5425 |
14 May 19 |
nicklas |
71 |
has not yet been processed (determined by the absence of a 'creation' date). |
5425 |
14 May 19 |
nicklas |
72 |
</td> |
5425 |
14 May 19 |
nicklas |
73 |
</tr> |
5425 |
14 May 19 |
nicklas |
74 |
<tr class="align-top"> |
5425 |
14 May 19 |
nicklas |
75 |
<td class="prompt">Outcome</td> |
5425 |
14 May 19 |
nicklas |
76 |
<td class="input"> |
5425 |
14 May 19 |
nicklas |
77 |
<label><input type="radio" name="outcome" id="outcomeSuccess" |
5425 |
14 May 19 |
nicklas |
78 |
checked>Success</label> - continue processing<br> |
5425 |
14 May 19 |
nicklas |
79 |
|
5425 |
14 May 19 |
nicklas |
80 |
<label><input type="radio" name="outcome" id="outcomeFailed" |
5425 |
14 May 19 |
nicklas |
81 |
>Failure</label> - no further processing |
5425 |
14 May 19 |
nicklas |
82 |
</td> |
5425 |
14 May 19 |
nicklas |
83 |
<td class="status"></td> |
5425 |
14 May 19 |
nicklas |
84 |
<td class="help"> |
5425 |
14 May 19 |
nicklas |
85 |
Select the <b>Failure</b> option if further processing to pooled libraries is not possible. |
5425 |
14 May 19 |
nicklas |
86 |
Existing DNA will be flagged and added to the <b>Flagged DNA</b> list. |
5425 |
14 May 19 |
nicklas |
87 |
</td> |
5425 |
14 May 19 |
nicklas |
88 |
</tr> |
5425 |
14 May 19 |
nicklas |
89 |
</table> |
5425 |
14 May 19 |
nicklas |
90 |
</div> |
5425 |
14 May 19 |
nicklas |
91 |
</div> |
5425 |
14 May 19 |
nicklas |
92 |
|
5425 |
14 May 19 |
nicklas |
93 |
<div class="step" id="step-2"> |
5425 |
14 May 19 |
nicklas |
94 |
<div class="step-no">2</div> |
5425 |
14 May 19 |
nicklas |
95 |
<div class="step-title">Full plate registration</div> |
5425 |
14 May 19 |
nicklas |
96 |
<div class="step-content"> |
5425 |
14 May 19 |
nicklas |
97 |
|
5425 |
14 May 19 |
nicklas |
98 |
<table class="step-form"> |
5425 |
14 May 19 |
nicklas |
99 |
<tr> |
5425 |
14 May 19 |
nicklas |
100 |
<td class="prompt">Step</td> |
5425 |
14 May 19 |
nicklas |
101 |
<td class="date-col"><b>Date</b></td> |
5425 |
14 May 19 |
nicklas |
102 |
<td class="operator-col"><b>Operator</b></td> |
5425 |
14 May 19 |
nicklas |
103 |
<td class="status"></td> |
5425 |
14 May 19 |
nicklas |
104 |
<td class="help" rowspan="3"> |
5450 |
27 May 19 |
nicklas |
105 |
Enter date and operator for each step of the MIPs library preparation. |
5425 |
14 May 19 |
nicklas |
106 |
(YYYYMMDD or MMDD) |
5425 |
14 May 19 |
nicklas |
107 |
</td> |
5425 |
14 May 19 |
nicklas |
108 |
</tr> |
5425 |
14 May 19 |
nicklas |
109 |
|
5425 |
14 May 19 |
nicklas |
110 |
<tbody> |
5425 |
14 May 19 |
nicklas |
111 |
<tr> |
5450 |
27 May 19 |
nicklas |
112 |
<td class="subprompt">Hybridization</td> |
5425 |
14 May 19 |
nicklas |
113 |
<td class="date-col"> |
5450 |
27 May 19 |
nicklas |
114 |
<input type="text" name="hybridizationDate" id="hybridizationDate" |
5450 |
27 May 19 |
nicklas |
115 |
class="auto-init" data-auto-init="focus-on-enter" data-next-focus="hybridizationOperator" |
5425 |
14 May 19 |
nicklas |
116 |
style="width: 8em;" maxlength="10"> |
5425 |
14 May 19 |
nicklas |
117 |
<base:icon |
5450 |
27 May 19 |
nicklas |
118 |
id="hybridizationDateCalendar" |
5425 |
14 May 19 |
nicklas |
119 |
subclass="auto-init" |
5425 |
14 May 19 |
nicklas |
120 |
data-auto-init="calendar" |
5450 |
27 May 19 |
nicklas |
121 |
data-textarea-id="hybridizationDate" |
5425 |
14 May 19 |
nicklas |
122 |
data-date-format="yyyyMMdd" |
5450 |
27 May 19 |
nicklas |
123 |
data-title="Hybridization date" |
5425 |
14 May 19 |
nicklas |
124 |
image="calendar.png" |
5425 |
14 May 19 |
nicklas |
125 |
tooltip="Select a date from a calendar" |
5425 |
14 May 19 |
nicklas |
126 |
tabindex="-1" |
5425 |
14 May 19 |
nicklas |
127 |
/> |
5425 |
14 May 19 |
nicklas |
128 |
</td> |
5425 |
14 May 19 |
nicklas |
129 |
<td class="operator-col"> |
5450 |
27 May 19 |
nicklas |
130 |
<input type="text" name="hybridizationOperator" id="hybridizationOperator" |
5450 |
27 May 19 |
nicklas |
131 |
class="auto-init" data-auto-init="focus-on-enter" data-next-focus="pcrDate" |
5450 |
27 May 19 |
nicklas |
132 |
value="<%=HTML.encodeTags(user.getName())%>" maxlength="255"> |
5450 |
27 May 19 |
nicklas |
133 |
</td> |
5450 |
27 May 19 |
nicklas |
134 |
<td class="status" id="hybridizationDate.status"></td> |
5450 |
27 May 19 |
nicklas |
135 |
<td class="help"> |
5450 |
27 May 19 |
nicklas |
136 |
<span id="hybridizationDate.message" class="message"></span> |
5450 |
27 May 19 |
nicklas |
137 |
</td> |
5450 |
27 May 19 |
nicklas |
138 |
</tr> |
5450 |
27 May 19 |
nicklas |
139 |
<tr> |
5450 |
27 May 19 |
nicklas |
140 |
<td class="subprompt">PCR</td> |
5450 |
27 May 19 |
nicklas |
141 |
<td class="date-col"> |
5450 |
27 May 19 |
nicklas |
142 |
<input type="text" name="pcrDate" id="pcrDate" |
5450 |
27 May 19 |
nicklas |
143 |
class="auto-init" data-auto-init="focus-on-enter" data-next-focus="pcrOperator" |
5450 |
27 May 19 |
nicklas |
144 |
style="width: 8em;" maxlength="10"> |
5450 |
27 May 19 |
nicklas |
145 |
<base:icon |
5450 |
27 May 19 |
nicklas |
146 |
id="pcrDateCalendar" |
5450 |
27 May 19 |
nicklas |
147 |
subclass="auto-init" |
5450 |
27 May 19 |
nicklas |
148 |
data-auto-init="calendar" |
5450 |
27 May 19 |
nicklas |
149 |
data-textarea-id="pcrDate" |
5450 |
27 May 19 |
nicklas |
150 |
data-date-format="yyyyMMdd" |
5450 |
27 May 19 |
nicklas |
151 |
data-title="PCR date" |
5450 |
27 May 19 |
nicklas |
152 |
image="calendar.png" |
5450 |
27 May 19 |
nicklas |
153 |
tooltip="Select a date from a calendar" |
5450 |
27 May 19 |
nicklas |
154 |
tabindex="-1" |
5450 |
27 May 19 |
nicklas |
155 |
/> |
5450 |
27 May 19 |
nicklas |
156 |
</td> |
5450 |
27 May 19 |
nicklas |
157 |
<td class="operator-col"> |
5450 |
27 May 19 |
nicklas |
158 |
<input type="text" name="pcrOperator" id="pcrOperator" |
5425 |
14 May 19 |
nicklas |
159 |
class="auto-init" data-auto-init="focus-on-enter" data-next-focus="cleanupDate" |
5425 |
14 May 19 |
nicklas |
160 |
value="<%=HTML.encodeTags(user.getName())%>" maxlength="255"> |
5425 |
14 May 19 |
nicklas |
161 |
</td> |
5450 |
27 May 19 |
nicklas |
162 |
<td class="status" id="pcrDate.status"></td> |
5425 |
14 May 19 |
nicklas |
163 |
<td class="help"> |
5450 |
27 May 19 |
nicklas |
164 |
<span id="pcrDate.message" class="message"></span> |
5425 |
14 May 19 |
nicklas |
165 |
</td> |
5425 |
14 May 19 |
nicklas |
166 |
</tr> |
5425 |
14 May 19 |
nicklas |
167 |
<tr> |
5425 |
14 May 19 |
nicklas |
168 |
<td class="subprompt">Cleanup</td> |
5425 |
14 May 19 |
nicklas |
169 |
<td class="date-col"> |
5425 |
14 May 19 |
nicklas |
170 |
<input type="text" name="cleanupDate" id="cleanupDate" |
5425 |
14 May 19 |
nicklas |
171 |
class="auto-init" data-auto-init="focus-on-enter" data-next-focus="cleanupOperator" |
5425 |
14 May 19 |
nicklas |
172 |
style="width: 8em;" maxlength="10"> |
5425 |
14 May 19 |
nicklas |
173 |
<base:icon |
5425 |
14 May 19 |
nicklas |
174 |
id="cleanupDateCalendar" |
5425 |
14 May 19 |
nicklas |
175 |
subclass="auto-init" |
5425 |
14 May 19 |
nicklas |
176 |
data-auto-init="calendar" |
5425 |
14 May 19 |
nicklas |
177 |
data-textarea-id="cleanupDate" |
5425 |
14 May 19 |
nicklas |
178 |
data-date-format="yyyyMMdd" |
5425 |
14 May 19 |
nicklas |
179 |
data-title="Cleanup date" |
5425 |
14 May 19 |
nicklas |
180 |
image="calendar.png" |
5425 |
14 May 19 |
nicklas |
181 |
tooltip="Select a date from a calendar" |
5425 |
14 May 19 |
nicklas |
182 |
tabindex="-1" |
5425 |
14 May 19 |
nicklas |
183 |
/> |
5425 |
14 May 19 |
nicklas |
184 |
</td> |
5425 |
14 May 19 |
nicklas |
185 |
<td class="operator-col"> |
5425 |
14 May 19 |
nicklas |
186 |
<input type="text" name="cleanupOperator" id="cleanupOperator" |
5429 |
16 May 19 |
nicklas |
187 |
class="auto-init" data-auto-init="focus-on-enter" data-next-focus="barcodeTemplate" |
5425 |
14 May 19 |
nicklas |
188 |
value="<%=HTML.encodeTags(user.getName())%>" maxlength="255"> |
5425 |
14 May 19 |
nicklas |
189 |
</td> |
5425 |
14 May 19 |
nicklas |
190 |
<td class="status" id="cleanupDate.status"></td> |
5425 |
14 May 19 |
nicklas |
191 |
<td class="help"> |
5425 |
14 May 19 |
nicklas |
192 |
<span id="cleanupDate.message" class="message"></span> |
5425 |
14 May 19 |
nicklas |
193 |
</td> |
5425 |
14 May 19 |
nicklas |
194 |
</tr> |
5425 |
14 May 19 |
nicklas |
195 |
</tbody> |
5425 |
14 May 19 |
nicklas |
196 |
|
5425 |
14 May 19 |
nicklas |
197 |
<tr> |
5429 |
16 May 19 |
nicklas |
198 |
<td class="prompt">Barcode template</td> |
5429 |
16 May 19 |
nicklas |
199 |
<td class="input" colspan="2"> |
5429 |
16 May 19 |
nicklas |
200 |
<select name="barcodeTemplate" id="barcodeTemplate" |
5429 |
16 May 19 |
nicklas |
201 |
class="required auto-init" data-auto-init="focus-on-enter" data-next-focus="libProtocol" |
5429 |
16 May 19 |
nicklas |
202 |
></select> |
5429 |
16 May 19 |
nicklas |
203 |
</td> |
5429 |
16 May 19 |
nicklas |
204 |
<td class="status" id="barcodeTemplate.status"></td> |
5429 |
16 May 19 |
nicklas |
205 |
<td class="help"> |
5429 |
16 May 19 |
nicklas |
206 |
<span id="barcodeTemplate.message" class="message"></span> |
5429 |
16 May 19 |
nicklas |
207 |
Select barcode layout template that was used to assign barcodes to the libraries. |
5429 |
16 May 19 |
nicklas |
208 |
</td> |
5429 |
16 May 19 |
nicklas |
209 |
</tr> |
5429 |
16 May 19 |
nicklas |
210 |
<tr> |
5425 |
14 May 19 |
nicklas |
211 |
<td class="prompt">Protocol</td> |
5425 |
14 May 19 |
nicklas |
212 |
<td class="input" colspan="2"> |
5425 |
14 May 19 |
nicklas |
213 |
<select name="libProtocol" id="libProtocol" |
5425 |
14 May 19 |
nicklas |
214 |
class="auto-init" data-auto-init="focus-on-enter" data-next-focus="libComments" |
5425 |
14 May 19 |
nicklas |
215 |
></select> |
5425 |
14 May 19 |
nicklas |
216 |
</td> |
5425 |
14 May 19 |
nicklas |
217 |
<td class="status" id="libProtocol.status"></td> |
5425 |
14 May 19 |
nicklas |
218 |
<td class="help"> |
5425 |
14 May 19 |
nicklas |
219 |
<span id="libProtocol.message" class="message"></span> |
5425 |
14 May 19 |
nicklas |
220 |
Select the protocol used for library preparation. |
5425 |
14 May 19 |
nicklas |
221 |
</td> |
5425 |
14 May 19 |
nicklas |
222 |
</tr> |
5425 |
14 May 19 |
nicklas |
223 |
<tr class="align-top"> |
5425 |
14 May 19 |
nicklas |
224 |
<td class="prompt">Comments</td> |
5425 |
14 May 19 |
nicklas |
225 |
<td class="input" colspan="2"> |
5425 |
14 May 19 |
nicklas |
226 |
<textarea rows="4" name="libComments" id="libComments"></textarea> |
5425 |
14 May 19 |
nicklas |
227 |
</td> |
5425 |
14 May 19 |
nicklas |
228 |
<td class="status" id="libComments.status"></td> |
5425 |
14 May 19 |
nicklas |
229 |
<td class="help"> |
5425 |
14 May 19 |
nicklas |
230 |
<span id="libComments.message" class="message"></span> |
5425 |
14 May 19 |
nicklas |
231 |
Comments about the library preparation. |
5425 |
14 May 19 |
nicklas |
232 |
</td> |
5425 |
14 May 19 |
nicklas |
233 |
</tr> |
5425 |
14 May 19 |
nicklas |
234 |
</table> |
5425 |
14 May 19 |
nicklas |
235 |
</div> |
5425 |
14 May 19 |
nicklas |
236 |
</div> |
5425 |
14 May 19 |
nicklas |
237 |
|
5425 |
14 May 19 |
nicklas |
238 |
<div id="wizard-status"></div> |
5425 |
14 May 19 |
nicklas |
239 |
|
5425 |
14 May 19 |
nicklas |
240 |
<table class="navigation" id="navigation"> |
5425 |
14 May 19 |
nicklas |
241 |
<tr> |
5425 |
14 May 19 |
nicklas |
242 |
<td><base:button id="gocancel" title="Cancel" /></td> |
5425 |
14 May 19 |
nicklas |
243 |
<td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td> |
5425 |
14 May 19 |
nicklas |
244 |
<td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>" /></td> |
5425 |
14 May 19 |
nicklas |
245 |
<td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td> |
5425 |
14 May 19 |
nicklas |
246 |
<td id="gonext-message" class="message"></td> |
5425 |
14 May 19 |
nicklas |
247 |
</tr> |
5425 |
14 May 19 |
nicklas |
248 |
</table> |
5425 |
14 May 19 |
nicklas |
249 |
|
5425 |
14 May 19 |
nicklas |
250 |
</form> |
5425 |
14 May 19 |
nicklas |
251 |
</div> |
5425 |
14 May 19 |
nicklas |
252 |
|
5425 |
14 May 19 |
nicklas |
253 |
</base:body> |
5425 |
14 May 19 |
nicklas |
254 |
</base:page> |
5425 |
14 May 19 |
nicklas |
255 |
<% |
5425 |
14 May 19 |
nicklas |
256 |
} |
5425 |
14 May 19 |
nicklas |
257 |
finally |
5425 |
14 May 19 |
nicklas |
258 |
{ |
5425 |
14 May 19 |
nicklas |
259 |
if (dc != null) dc.close(); |
5425 |
14 May 19 |
nicklas |
260 |
} |
5425 |
14 May 19 |
nicklas |
261 |
%> |