3538 |
13 Oct 15 |
olle |
var ExtractionReg = function() |
3538 |
13 Oct 15 |
olle |
2 |
{ |
3538 |
13 Oct 15 |
olle |
var exreg = {}; |
3538 |
13 Oct 15 |
olle |
var debug = 0; |
3538 |
13 Oct 15 |
olle |
5 |
|
3538 |
13 Oct 15 |
olle |
var reagentFileIsValid = false; |
3538 |
13 Oct 15 |
olle |
var consumablesFileIsValid = false; |
3538 |
13 Oct 15 |
olle |
var jsonConsumables = {}; |
3538 |
13 Oct 15 |
olle |
9 |
|
3538 |
13 Oct 15 |
olle |
// Page initialization |
3538 |
13 Oct 15 |
olle |
exreg.initPage = function() |
3538 |
13 Oct 15 |
olle |
12 |
{ |
3538 |
13 Oct 15 |
olle |
// Step 1 |
3538 |
13 Oct 15 |
olle |
Events.addEventHandler('step-1', 'wizard-validate', exreg.validateStep1); |
3538 |
13 Oct 15 |
olle |
Events.addEventHandler('consumablesFile', 'change', exreg.consumablesFileOnChange); |
3609 |
19 Nov 15 |
olle |
Events.addEventHandler('expirationDate', 'blur', Wizard.validateDate); |
3609 |
19 Nov 15 |
olle |
Events.addEventHandler('expirationDate', 'blur', exreg.expirationDateOnChange); |
3538 |
13 Oct 15 |
olle |
18 |
|
3538 |
13 Oct 15 |
olle |
// Step 2 |
3538 |
13 Oct 15 |
olle |
Events.addEventHandler('step-2', 'wizard-initialize', exreg.initializeStep2); |
3538 |
13 Oct 15 |
olle |
21 |
/* |
3538 |
13 Oct 15 |
olle |
Events.addEventHandler('step-2', 'wizard-validate', exreg.validateStep2); |
3538 |
13 Oct 15 |
olle |
23 |
*/ |
3538 |
13 Oct 15 |
olle |
24 |
|
3538 |
13 Oct 15 |
olle |
Buttons.addClickHandler('downloadReagentLotNoFile', exreg.downloadReagentLotNoFile); |
3538 |
13 Oct 15 |
olle |
26 |
|
3538 |
13 Oct 15 |
olle |
// Navigation |
3538 |
13 Oct 15 |
olle |
Buttons.addClickHandler('gocancel', Wizard.cancelWizard); |
3538 |
13 Oct 15 |
olle |
Buttons.addClickHandler('gorestart', Wizard.restartWizard); |
3538 |
13 Oct 15 |
olle |
Buttons.addClickHandler('gonext', Wizard.goNextOnClick); |
3538 |
13 Oct 15 |
olle |
Buttons.addClickHandler('goregister', Wizard.goRegister); |
3538 |
13 Oct 15 |
olle |
32 |
/* |
3538 |
13 Oct 15 |
olle |
Buttons.addClickHandler('gocreate', exreg.createProtocol); |
3538 |
13 Oct 15 |
olle |
34 |
*/ |
3538 |
13 Oct 15 |
olle |
35 |
|
3538 |
13 Oct 15 |
olle |
// Final registration |
3538 |
13 Oct 15 |
olle |
Events.addEventHandler('wizard', 'wizard-submit', exreg.submit); |
3538 |
13 Oct 15 |
olle |
38 |
|
3538 |
13 Oct 15 |
olle |
exreg.initializeStep1(); |
3538 |
13 Oct 15 |
olle |
40 |
} |
3538 |
13 Oct 15 |
olle |
41 |
|
3538 |
13 Oct 15 |
olle |
exreg.initializeStep1 = function() |
3538 |
13 Oct 15 |
olle |
43 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
45 |
|
3538 |
13 Oct 15 |
olle |
Wizard.setCurrentStep(1); |
3538 |
13 Oct 15 |
olle |
Doc.show('step-1'); |
3538 |
13 Oct 15 |
olle |
Doc.show('gonext'); |
3538 |
13 Oct 15 |
olle |
49 |
} |
3538 |
13 Oct 15 |
olle |
50 |
|
3538 |
13 Oct 15 |
olle |
exreg.validateStep1 = function(event) |
3538 |
13 Oct 15 |
olle |
52 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
//alert("exreg.validateStep1(): consumablesFileIsValid = " + consumablesFileIsValid); |
3538 |
13 Oct 15 |
olle |
if (!consumablesFileIsValid) |
3538 |
13 Oct 15 |
olle |
56 |
{ |
3538 |
13 Oct 15 |
olle |
event.preventDefault(); |
3538 |
13 Oct 15 |
olle |
58 |
} |
3538 |
13 Oct 15 |
olle |
else |
3538 |
13 Oct 15 |
olle |
60 |
{ |
3538 |
13 Oct 15 |
olle |
Wizard.setInputStatus('consumablesFile', 'valid'); |
3538 |
13 Oct 15 |
olle |
62 |
} |
3538 |
13 Oct 15 |
olle |
63 |
} |
3538 |
13 Oct 15 |
olle |
64 |
|
3538 |
13 Oct 15 |
olle |
exreg.consumablesFileOnChange = function() |
3538 |
13 Oct 15 |
olle |
66 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
var file = frm.consumablesFile.files[0]; |
3538 |
13 Oct 15 |
olle |
69 |
|
3538 |
13 Oct 15 |
olle |
var reader = new FileReader(); |
3538 |
13 Oct 15 |
olle |
reader.onload = exreg.consumablesFileLoaded; |
3538 |
13 Oct 15 |
olle |
reader.readAsText(file); |
3538 |
13 Oct 15 |
olle |
73 |
} |
3538 |
13 Oct 15 |
olle |
74 |
|
3538 |
13 Oct 15 |
olle |
exreg.consumablesFileLoaded = function(event) |
3538 |
13 Oct 15 |
olle |
76 |
{ |
3538 |
13 Oct 15 |
olle |
exreg.parseConsumablesFile(event.target.result); |
3538 |
13 Oct 15 |
olle |
78 |
} |
3538 |
13 Oct 15 |
olle |
79 |
|
3538 |
13 Oct 15 |
olle |
exreg.parseConsumablesFile = function(data) |
3538 |
13 Oct 15 |
olle |
81 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3551 |
20 Oct 15 |
olle |
var expirationDate = frm.expirationDate.value; |
3551 |
20 Oct 15 |
olle |
84 |
|
3538 |
13 Oct 15 |
olle |
consumablesFileIsValid = false; |
3538 |
13 Oct 15 |
olle |
86 |
|
3538 |
13 Oct 15 |
olle |
// Column data are stored in JSONArrays |
3538 |
13 Oct 15 |
olle |
var jsonHeaders = []; |
3551 |
20 Oct 15 |
olle |
var jsonKitName = []; |
3538 |
13 Oct 15 |
olle |
var jsonLibraryPrepBox1 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexKit = []; |
3538 |
13 Oct 15 |
olle |
var jsonContentSetBox3 = []; |
3538 |
13 Oct 15 |
olle |
var jsonOligoPoolA_FPA = []; |
3538 |
13 Oct 15 |
olle |
var jsonOligoPoolB_FPB = []; |
3538 |
13 Oct 15 |
olle |
var jsonOligoHybridizationSequencingReagent3 = []; |
3538 |
13 Oct 15 |
olle |
var jsonStringentWash1_SW1 = []; |
3538 |
13 Oct 15 |
olle |
var jsonExtensionLigationMix3 = []; |
3538 |
13 Oct 15 |
olle |
var jsonPcrMasterMix2_PMM2 = []; |
3538 |
13 Oct 15 |
olle |
var jsonUB1 = []; |
3538 |
13 Oct 15 |
olle |
var jsonTDP = []; |
3538 |
13 Oct 15 |
olle |
var jsonFilterplate = []; |
3538 |
13 Oct 15 |
olle |
102 |
|
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA701 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA702 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA703 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA704 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA705 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA706 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA707 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA708 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA709 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA710 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA711 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA712 = []; |
3538 |
13 Oct 15 |
olle |
115 |
|
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA501 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA502 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA503 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA504 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA505 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA506 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA507 = []; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA508 = []; |
3538 |
13 Oct 15 |
olle |
124 |
|
3551 |
20 Oct 15 |
olle |
var jsonExpirationDate = []; |
3551 |
20 Oct 15 |
olle |
126 |
|
3538 |
13 Oct 15 |
olle |
// Find column separator as first character after first occurrence of search string |
3538 |
13 Oct 15 |
olle |
var separator = ExtractUtils.findSeparator(data, "Consumables"); |
3538 |
13 Oct 15 |
olle |
if (separator == null) |
3538 |
13 Oct 15 |
olle |
130 |
{ |
3538 |
13 Oct 15 |
olle |
// Comma is default separator |
3538 |
13 Oct 15 |
olle |
separator = ','; |
3538 |
13 Oct 15 |
olle |
133 |
} |
3538 |
13 Oct 15 |
olle |
//alert("add_consumables_lot_number_file.js::parseConsumablesFile(): separator = \"" + separator + "\""); |
3538 |
13 Oct 15 |
olle |
var columnSplitRegexp = new RegExp(" *" + separator + " *",''); |
3538 |
13 Oct 15 |
olle |
var lines = data.split(/[\n\r]+/); |
3538 |
13 Oct 15 |
olle |
//alert("add_consumables_lot_number_file.js::parseConsumablesFile(): lines.length = " + lines.length); |
3538 |
13 Oct 15 |
olle |
//var columns = lines[0].split(columnSplitRegexp); |
3538 |
13 Oct 15 |
olle |
139 |
|
3538 |
13 Oct 15 |
olle |
var numImported = 0; |
3538 |
13 Oct 15 |
olle |
for (var i = 1; i < lines.length; i++) |
3538 |
13 Oct 15 |
olle |
142 |
{ |
3538 |
13 Oct 15 |
olle |
if (lines[i].match(/^\s*$/)) continue; // Ignore empty lines |
3538 |
13 Oct 15 |
olle |
var columns = lines[i].split(columnSplitRegexp); |
3538 |
13 Oct 15 |
olle |
//alert("add_consumables_lot_number_file.js::parseConsumablesFile(): i = " + i + " columns[0] = " + columns[0] + " columns[1] = " + columns[1]); |
3538 |
13 Oct 15 |
olle |
// First column is either empty, or equal to barcode sequence for index primers |
3538 |
13 Oct 15 |
olle |
header = columns[1]; |
3538 |
13 Oct 15 |
olle |
firstDataIndex = 2; |
3538 |
13 Oct 15 |
olle |
// Skip lines without data |
3538 |
13 Oct 15 |
olle |
if (header != '') |
3538 |
13 Oct 15 |
olle |
151 |
{ |
3538 |
13 Oct 15 |
olle |
jsonHeaders[jsonHeaders.length] = header; |
3538 |
13 Oct 15 |
olle |
153 |
|
3538 |
13 Oct 15 |
olle |
for (var j = 0; j < (columns.length - firstDataIndex); j++) |
3538 |
13 Oct 15 |
olle |
155 |
{ |
3538 |
13 Oct 15 |
olle |
var data = columns[firstDataIndex + j]; |
3538 |
13 Oct 15 |
olle |
if (header == 'TruSight Tumor Library Preparation partI') |
3538 |
13 Oct 15 |
olle |
158 |
{ |
3551 |
20 Oct 15 |
olle |
jsonKitName[j] = data; |
3538 |
13 Oct 15 |
olle |
160 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'TruSight Tumor Library Prep Box 1') |
3538 |
13 Oct 15 |
olle |
162 |
{ |
3538 |
13 Oct 15 |
olle |
jsonLibraryPrepBox1[j] = data; |
3538 |
13 Oct 15 |
olle |
164 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'TruSight Tumor Index Kit') |
3538 |
13 Oct 15 |
olle |
166 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexKit[j] = data; |
3538 |
13 Oct 15 |
olle |
168 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'TruSight Tumor Content Set Box 3') |
3538 |
13 Oct 15 |
olle |
170 |
{ |
3538 |
13 Oct 15 |
olle |
jsonContentSetBox3[j] = data; |
3538 |
13 Oct 15 |
olle |
172 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'TruSight Tumor Oligo Pool A (FPA)') |
3538 |
13 Oct 15 |
olle |
174 |
{ |
3538 |
13 Oct 15 |
olle |
jsonOligoPoolA_FPA[j] = data; |
3538 |
13 Oct 15 |
olle |
176 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'TruSight Tumor Oligo Pool B (FPB)') |
3538 |
13 Oct 15 |
olle |
178 |
{ |
3538 |
13 Oct 15 |
olle |
jsonOligoPoolB_FPB[j] = data; |
3538 |
13 Oct 15 |
olle |
180 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Oligo Hybridization for Sequencing Reagent 3 (OHS3)') |
3538 |
13 Oct 15 |
olle |
182 |
{ |
3538 |
13 Oct 15 |
olle |
jsonOligoHybridizationSequencingReagent3[j] = data; |
3538 |
13 Oct 15 |
olle |
184 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Stringent Wash 1 (SW1)') |
3538 |
13 Oct 15 |
olle |
186 |
{ |
3538 |
13 Oct 15 |
olle |
jsonStringentWash1_SW1[j] = data; |
3538 |
13 Oct 15 |
olle |
188 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Extension Ligation Mix 3 (ELM3)') |
3538 |
13 Oct 15 |
olle |
190 |
{ |
3538 |
13 Oct 15 |
olle |
jsonExtensionLigationMix3[j] = data; |
3538 |
13 Oct 15 |
olle |
192 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'PCR Master Mix 2 (PMM2)') |
3538 |
13 Oct 15 |
olle |
194 |
{ |
3538 |
13 Oct 15 |
olle |
jsonPcrMasterMix2_PMM2[j] = data; |
3538 |
13 Oct 15 |
olle |
196 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'UB1') |
3538 |
13 Oct 15 |
olle |
198 |
{ |
3538 |
13 Oct 15 |
olle |
jsonUB1[j] = data; |
3538 |
13 Oct 15 |
olle |
200 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'TDP') |
3538 |
13 Oct 15 |
olle |
202 |
{ |
3538 |
13 Oct 15 |
olle |
jsonTDP[j] = data; |
3538 |
13 Oct 15 |
olle |
204 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Filterplate') |
3538 |
13 Oct 15 |
olle |
206 |
{ |
3538 |
13 Oct 15 |
olle |
jsonFilterplate[j] = data; |
3538 |
13 Oct 15 |
olle |
208 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A701') |
3538 |
13 Oct 15 |
olle |
210 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA701[j] = data; |
3538 |
13 Oct 15 |
olle |
212 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A702') |
3538 |
13 Oct 15 |
olle |
214 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA702[j] = data; |
3538 |
13 Oct 15 |
olle |
216 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A703') |
3538 |
13 Oct 15 |
olle |
218 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA703[j] = data; |
3538 |
13 Oct 15 |
olle |
220 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A704') |
3538 |
13 Oct 15 |
olle |
222 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA704[j] = data; |
3538 |
13 Oct 15 |
olle |
224 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A705') |
3538 |
13 Oct 15 |
olle |
226 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA705[j] = data; |
3538 |
13 Oct 15 |
olle |
228 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A706') |
3538 |
13 Oct 15 |
olle |
230 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA706[j] = data; |
3538 |
13 Oct 15 |
olle |
232 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A707') |
3538 |
13 Oct 15 |
olle |
234 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA707[j] = data; |
3538 |
13 Oct 15 |
olle |
236 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A708') |
3538 |
13 Oct 15 |
olle |
238 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA708[j] = data; |
3538 |
13 Oct 15 |
olle |
240 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A709') |
3538 |
13 Oct 15 |
olle |
242 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA709[j] = data; |
3538 |
13 Oct 15 |
olle |
244 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A710') |
3538 |
13 Oct 15 |
olle |
246 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA710[j] = data; |
3538 |
13 Oct 15 |
olle |
248 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A711') |
3538 |
13 Oct 15 |
olle |
250 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA711[j] = data; |
3538 |
13 Oct 15 |
olle |
252 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A712') |
3538 |
13 Oct 15 |
olle |
254 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA712[j] = data; |
3538 |
13 Oct 15 |
olle |
256 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A501') |
3538 |
13 Oct 15 |
olle |
258 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA501[j] = data; |
3538 |
13 Oct 15 |
olle |
260 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A502') |
3538 |
13 Oct 15 |
olle |
262 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA502[j] = data; |
3538 |
13 Oct 15 |
olle |
264 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A503') |
3538 |
13 Oct 15 |
olle |
266 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA503[j] = data; |
3538 |
13 Oct 15 |
olle |
268 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A504') |
3538 |
13 Oct 15 |
olle |
270 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA504[j] = data; |
3538 |
13 Oct 15 |
olle |
272 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A505') |
3538 |
13 Oct 15 |
olle |
274 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA505[j] = data; |
3538 |
13 Oct 15 |
olle |
276 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A506') |
3538 |
13 Oct 15 |
olle |
278 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA506[j] = data; |
3538 |
13 Oct 15 |
olle |
280 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A507') |
3538 |
13 Oct 15 |
olle |
282 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA507[j] = data; |
3538 |
13 Oct 15 |
olle |
284 |
} |
3538 |
13 Oct 15 |
olle |
else if (header == 'Index Primer A508') |
3538 |
13 Oct 15 |
olle |
286 |
{ |
3538 |
13 Oct 15 |
olle |
jsonIndexPrimerA508[j] = data; |
3538 |
13 Oct 15 |
olle |
288 |
} |
3609 |
19 Nov 15 |
olle |
// Expiration date is set to same date for all kits in same consumables file |
3551 |
20 Oct 15 |
olle |
jsonExpirationDate[j] = expirationDate; |
3538 |
13 Oct 15 |
olle |
291 |
} |
3538 |
13 Oct 15 |
olle |
292 |
} |
3538 |
13 Oct 15 |
olle |
293 |
} |
3551 |
20 Oct 15 |
olle |
// Add header for expiration date |
3551 |
20 Oct 15 |
olle |
jsonHeaders[jsonHeaders.length] = "Expiration date"; |
3538 |
13 Oct 15 |
olle |
296 |
|
3538 |
13 Oct 15 |
olle |
jsonConsumables['Headers'] = jsonHeaders; |
3538 |
13 Oct 15 |
olle |
298 |
|
3551 |
20 Oct 15 |
olle |
jsonConsumables['KitName'] = jsonKitName; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['LibraryPrepBox1'] = jsonLibraryPrepBox1; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexKit'] = jsonIndexKit; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['ContentSetBox3'] = jsonContentSetBox3; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['OligoPoolA_FPA'] = jsonOligoPoolA_FPA; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['OligoPoolB_FPB'] = jsonOligoPoolB_FPB; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['OligoHybridizationSequencingReagent3'] = jsonOligoHybridizationSequencingReagent3; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['StringentWash1_SW1'] = jsonStringentWash1_SW1; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['ExtensionLigationMix3'] = jsonExtensionLigationMix3; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['PcrMasterMix2_PMM2'] = jsonPcrMasterMix2_PMM2; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['UB1'] = jsonUB1; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['TDP'] = jsonTDP; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['Filterplate'] = jsonFilterplate; |
3538 |
13 Oct 15 |
olle |
312 |
|
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA701'] = jsonIndexPrimerA701; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA702'] = jsonIndexPrimerA702; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA703'] = jsonIndexPrimerA703; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA704'] = jsonIndexPrimerA704; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA705'] = jsonIndexPrimerA705; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA706'] = jsonIndexPrimerA706; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA707'] = jsonIndexPrimerA707; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA708'] = jsonIndexPrimerA708; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA709'] = jsonIndexPrimerA709; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA710'] = jsonIndexPrimerA710; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA711'] = jsonIndexPrimerA711; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA712'] = jsonIndexPrimerA712; |
3538 |
13 Oct 15 |
olle |
325 |
|
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA501'] = jsonIndexPrimerA501; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA502'] = jsonIndexPrimerA502; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA503'] = jsonIndexPrimerA503; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA504'] = jsonIndexPrimerA504; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA505'] = jsonIndexPrimerA505; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA506'] = jsonIndexPrimerA506; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA507'] = jsonIndexPrimerA507; |
3538 |
13 Oct 15 |
olle |
jsonConsumables['IndexPrimerA508'] = jsonIndexPrimerA508; |
3538 |
13 Oct 15 |
olle |
334 |
|
3551 |
20 Oct 15 |
olle |
jsonConsumables['ExpirationDate'] = jsonExpirationDate; |
3551 |
20 Oct 15 |
olle |
336 |
|
3538 |
13 Oct 15 |
olle |
Wizard.setInputStatus('consumablesFile', 'valid'); |
3538 |
13 Oct 15 |
olle |
consumablesFileIsValid = true; |
3538 |
13 Oct 15 |
olle |
339 |
} |
3538 |
13 Oct 15 |
olle |
340 |
|
3609 |
19 Nov 15 |
olle |
exreg.expirationDateOnChange = function() |
3538 |
13 Oct 15 |
olle |
342 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
344 |
|
3609 |
19 Nov 15 |
olle |
var expirationDateIsValid = Wizard.isValid('expirationDate'); |
3609 |
19 Nov 15 |
olle |
346 |
|
3609 |
19 Nov 15 |
olle |
if (!expirationDateIsValid) return; |
3538 |
13 Oct 15 |
olle |
348 |
|
3609 |
19 Nov 15 |
olle |
var expirationDate = frm.expirationDate.value; |
3538 |
13 Oct 15 |
olle |
350 |
|
3609 |
19 Nov 15 |
olle |
// Update expiration date in jsonConsumables JSONObject, if consumables file already has been loaded |
3609 |
19 Nov 15 |
olle |
var jsonExpirationDate = jsonConsumables['ExpirationDate']; |
3609 |
19 Nov 15 |
olle |
if (jsonExpirationDate) |
3538 |
13 Oct 15 |
olle |
354 |
{ |
3609 |
19 Nov 15 |
olle |
for (var j = 0; j < jsonExpirationDate.length; j++) |
3538 |
13 Oct 15 |
olle |
356 |
{ |
3609 |
19 Nov 15 |
olle |
// Expiration date is set to same date for all kits in same consumables file |
3609 |
19 Nov 15 |
olle |
jsonExpirationDate[j] = expirationDate; |
3538 |
13 Oct 15 |
olle |
359 |
} |
3609 |
19 Nov 15 |
olle |
jsonConsumables['ExpirationDate'] = jsonExpirationDate; |
3538 |
13 Oct 15 |
olle |
361 |
} |
3538 |
13 Oct 15 |
olle |
362 |
} |
3538 |
13 Oct 15 |
olle |
363 |
|
3538 |
13 Oct 15 |
olle |
exreg.initializeStep2 = function() |
3538 |
13 Oct 15 |
olle |
365 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
var consumablesFileName = frm.consumablesFile.value; |
3538 |
13 Oct 15 |
olle |
Doc.element('detailsConsumablesFileName').innerHTML = '<b>Consumables file: ' + consumablesFileName + '</b>'; |
3538 |
13 Oct 15 |
olle |
//alert("exreg.initializeStep2(): Start consumablesFile = " + consumablesFileName); |
3538 |
13 Oct 15 |
olle |
var html = '<table id="detailsTable" class="step-form">'; |
3538 |
13 Oct 15 |
olle |
371 |
|
3538 |
13 Oct 15 |
olle |
// First header row |
3538 |
13 Oct 15 |
olle |
html += '<thead>'; |
3538 |
13 Oct 15 |
olle |
html += '<tr>'; |
3538 |
13 Oct 15 |
olle |
html += '<th>TruSight Tumor Library Preparation partI</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">TruSight Tumor Library Prep Box 1</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">TruSight Tumor Index Kit</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">TruSight Tumor Content Set Box 3</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">TruSight Tumor Oligo Pool A (FPA)</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">TruSight Tumor Oligo Pool B (FPB)</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">Oligo Hybridization for Sequencing Reagent 3 (OHS3)</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">Stringent Wash 1 (SW1)</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">Extension Ligation Mix 3 (ELM3)</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">PCR Master Mix 2 (PMM2)</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">UB1</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">TDP</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft">Filterplate</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th colspan="12" class="dottedleft">Index 1 Primers Lot Number</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th colspan="8" class="dottedleft">Index 2 Primers Lot Number</th>'; |
3551 |
20 Oct 15 |
olle |
html += '<th class="dottedleft">Expiration date</th>'; |
3538 |
13 Oct 15 |
olle |
html += '</tr>'; |
3538 |
13 Oct 15 |
olle |
// Second header row |
3538 |
13 Oct 15 |
olle |
html += '<tr>'; |
3538 |
13 Oct 15 |
olle |
html += '<th></th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft"></th>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
// Index 1 Primers Lot Number |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">ATCACGAC</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">ACAGTGGT</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">CAGATCCA</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">ACAAACGG</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">ACCCAGCA</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">AACCCCTC</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">CCCAACCT</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">CACCACAC</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">GAAACCCA</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">TGTGACCA</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">AGGGTCAA</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">AGGAGTGG</td>'; |
3538 |
13 Oct 15 |
olle |
// Index 2 Primers Lot Number |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">TGAACCTT</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">TGCTAAGT</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">TGTTCTCT</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">TAAGACAC</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">CTAATCGA</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">CTAGAACA</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">TAAGTTCC</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">TAGACCTA</td>'; |
3538 |
13 Oct 15 |
olle |
html += '</tr>'; |
3538 |
13 Oct 15 |
olle |
// Third header row |
3538 |
13 Oct 15 |
olle |
html += '<tr>'; |
3538 |
13 Oct 15 |
olle |
html += '<th></th>'; |
3538 |
13 Oct 15 |
olle |
html += '<th class="dottedleft"></th>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft"></td>'; |
3538 |
13 Oct 15 |
olle |
// Index 1 Primers Lot Number |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A701</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A702</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A703</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A704</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A705</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A706</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A707</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A708</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A709</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A710</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A711</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A712</td>'; |
3538 |
13 Oct 15 |
olle |
// Index 2 Primers Lot Number |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A501</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A502</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A503</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A504</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A505</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A506</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A507</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">A508</td>'; |
3538 |
13 Oct 15 |
olle |
html += '</tr>'; |
3538 |
13 Oct 15 |
olle |
html += '</thead>'; |
3538 |
13 Oct 15 |
olle |
html += '<tbody>'; |
3538 |
13 Oct 15 |
olle |
470 |
|
3538 |
13 Oct 15 |
olle |
// Get JSONArrays with data for kits |
3538 |
13 Oct 15 |
olle |
472 |
|
3538 |
13 Oct 15 |
olle |
var jsonHeaders = jsonConsumables['Headers']; |
3538 |
13 Oct 15 |
olle |
474 |
|
3551 |
20 Oct 15 |
olle |
var jsonKitName = jsonConsumables['KitName']; |
3538 |
13 Oct 15 |
olle |
var jsonLibraryPrepBox1 = jsonConsumables['LibraryPrepBox1']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexKit = jsonConsumables['IndexKit']; |
3538 |
13 Oct 15 |
olle |
var jsonContentSetBox3 = jsonConsumables['ContentSetBox3']; |
3538 |
13 Oct 15 |
olle |
var jsonOligoPoolA_FPA = jsonConsumables['OligoPoolA_FPA']; |
3538 |
13 Oct 15 |
olle |
var jsonOligoPoolB_FPB = jsonConsumables['OligoPoolB_FPB']; |
3538 |
13 Oct 15 |
olle |
var jsonOligoHybridizationSequencingReagent3 = jsonConsumables['OligoHybridizationSequencingReagent3']; |
3538 |
13 Oct 15 |
olle |
var jsonStringentWash1_SW1 = jsonConsumables['StringentWash1_SW1']; |
3538 |
13 Oct 15 |
olle |
var jsonExtensionLigationMix3 = jsonConsumables['ExtensionLigationMix3']; |
3538 |
13 Oct 15 |
olle |
var jsonPcrMasterMix2_PMM2 = jsonConsumables['PcrMasterMix2_PMM2']; |
3538 |
13 Oct 15 |
olle |
var jsonUB1 = jsonConsumables['UB1']; |
3538 |
13 Oct 15 |
olle |
var jsonTDP = jsonConsumables['TDP']; |
3538 |
13 Oct 15 |
olle |
var jsonFilterplate = jsonConsumables['Filterplate']; |
3538 |
13 Oct 15 |
olle |
488 |
|
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA701 = jsonConsumables['IndexPrimerA701']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA702 = jsonConsumables['IndexPrimerA702']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA703 = jsonConsumables['IndexPrimerA703']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA704 = jsonConsumables['IndexPrimerA704']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA705 = jsonConsumables['IndexPrimerA705']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA706 = jsonConsumables['IndexPrimerA706']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA707 = jsonConsumables['IndexPrimerA707']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA708 = jsonConsumables['IndexPrimerA708']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA709 = jsonConsumables['IndexPrimerA709']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA710 = jsonConsumables['IndexPrimerA710']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA711 = jsonConsumables['IndexPrimerA711']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA712 = jsonConsumables['IndexPrimerA712']; |
3538 |
13 Oct 15 |
olle |
501 |
|
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA501 = jsonConsumables['IndexPrimerA501']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA502 = jsonConsumables['IndexPrimerA502']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA503 = jsonConsumables['IndexPrimerA503']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA504 = jsonConsumables['IndexPrimerA504']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA505 = jsonConsumables['IndexPrimerA505']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA506 = jsonConsumables['IndexPrimerA506']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA507 = jsonConsumables['IndexPrimerA507']; |
3538 |
13 Oct 15 |
olle |
var jsonIndexPrimerA508 = jsonConsumables['IndexPrimerA508']; |
3538 |
13 Oct 15 |
olle |
510 |
|
3551 |
20 Oct 15 |
olle |
var jsonExpirationDate = jsonConsumables['ExpirationDate']; |
3538 |
13 Oct 15 |
olle |
512 |
|
3551 |
20 Oct 15 |
olle |
var numItems = jsonKitName.length; |
3551 |
20 Oct 15 |
olle |
514 |
|
3538 |
13 Oct 15 |
olle |
for (var i = 0; i < numItems; i++) |
3538 |
13 Oct 15 |
olle |
516 |
{ |
3538 |
13 Oct 15 |
olle |
html += '<tr class="highlight">'; |
3551 |
20 Oct 15 |
olle |
html += '<th>' + Strings.encodeTags(jsonKitName[i]) + '</th>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonLibraryPrepBox1[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexKit[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonContentSetBox3[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonOligoPoolA_FPA[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonOligoPoolB_FPB[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonOligoHybridizationSequencingReagent3[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonStringentWash1_SW1[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonExtensionLigationMix3[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonPcrMasterMix2_PMM2[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonUB1[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonTDP[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonFilterplate[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
531 |
|
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA701[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA702[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA703[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA704[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA705[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA706[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA707[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA708[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA709[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA710[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA711[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA712[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
544 |
|
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA501[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA502[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA503[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA504[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA505[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA506[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA507[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonIndexPrimerA508[i]) + '</td>'; |
3538 |
13 Oct 15 |
olle |
553 |
|
3551 |
20 Oct 15 |
olle |
html += '<td class="dottedleft">' + Strings.encodeTags(jsonExpirationDate[i]) + '</td>'; |
3551 |
20 Oct 15 |
olle |
555 |
|
3538 |
13 Oct 15 |
olle |
html += '</tr>'; |
3538 |
13 Oct 15 |
olle |
557 |
} |
3538 |
13 Oct 15 |
olle |
html += '</tbody>'; |
3538 |
13 Oct 15 |
olle |
html += '</table>'; |
3538 |
13 Oct 15 |
olle |
Doc.element('detailsSection').innerHTML = html; |
3538 |
13 Oct 15 |
olle |
561 |
|
3538 |
13 Oct 15 |
olle |
Wizard.setCurrentStep(2); |
3538 |
13 Oct 15 |
olle |
Doc.show('gocancel'); |
3538 |
13 Oct 15 |
olle |
Doc.show('gocreate'); |
3538 |
13 Oct 15 |
olle |
Doc.show('goregister'); |
3538 |
13 Oct 15 |
olle |
566 |
|
3538 |
13 Oct 15 |
olle |
Wizard.keepSessionAlive(); |
3538 |
13 Oct 15 |
olle |
//alert("exreg.initializeStep2(): End consumablesFile = " + consumablesFileName); |
3538 |
13 Oct 15 |
olle |
569 |
} |
3538 |
13 Oct 15 |
olle |
570 |
|
3538 |
13 Oct 15 |
olle |
exreg.downloadReagentLotNoFile = function() |
3538 |
13 Oct 15 |
olle |
572 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
var file = frm.consumablesFile.files[0]; |
3538 |
13 Oct 15 |
olle |
var reagentInfo = {}; |
3538 |
13 Oct 15 |
olle |
var url = '../LibPrep.servlet?ID='+App.getSessionId(); |
3538 |
13 Oct 15 |
olle |
url += '&cmd=PrepareDownloadReagentLotNoFile'; |
3553 |
20 Oct 15 |
olle |
url += '&referenceName='+encodeURIComponent(frm.consumablesFile.value); |
3546 |
16 Oct 15 |
olle |
url += '&expirationDate='+encodeURIComponent(frm.expirationDate.value); |
3538 |
13 Oct 15 |
olle |
580 |
|
3538 |
13 Oct 15 |
olle |
// Reagents |
3538 |
13 Oct 15 |
olle |
reagentInfo = jsonConsumables; |
3538 |
13 Oct 15 |
olle |
583 |
|
3538 |
13 Oct 15 |
olle |
// POST |
3538 |
13 Oct 15 |
olle |
Wizard.showLoadingAnimation('Performing registration...'); |
3538 |
13 Oct 15 |
olle |
Wizard.asyncJsonRequest(url, exreg.downloadReagentLotNoFileResults, 'POST', JSON.stringify(reagentInfo)); |
3538 |
13 Oct 15 |
olle |
587 |
} |
3538 |
13 Oct 15 |
olle |
588 |
|
3538 |
13 Oct 15 |
olle |
exreg.downloadReagentLotNoFileResults = function(response) |
3538 |
13 Oct 15 |
olle |
590 |
{ |
3538 |
13 Oct 15 |
olle |
var tmpFilePath = response; |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
var url = '../LibPrep.servlet?ID='+App.getSessionId(); |
3538 |
13 Oct 15 |
olle |
url += '&cmd=DownloadReagentLotNoFile'; |
3553 |
20 Oct 15 |
olle |
url += '&referenceName='+encodeURIComponent(frm.consumablesFile.value); |
3546 |
16 Oct 15 |
olle |
url += '&expirationDate='+encodeURIComponent(frm.expirationDate.value); |
3538 |
13 Oct 15 |
olle |
url += '&tmpFilePath='+encodeURIComponent(tmpFilePath); |
3538 |
13 Oct 15 |
olle |
window.open(url); |
3538 |
13 Oct 15 |
olle |
599 |
} |
3538 |
13 Oct 15 |
olle |
600 |
|
3538 |
13 Oct 15 |
olle |
601 |
/* |
3538 |
13 Oct 15 |
olle |
exreg.downloadReagentLotNoFile_Old = function() |
3538 |
13 Oct 15 |
olle |
603 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
605 |
|
3538 |
13 Oct 15 |
olle |
var reagentInfo = {}; |
3538 |
13 Oct 15 |
olle |
var url = '../Extraction.servlet?ID='+App.getSessionId(); |
3538 |
13 Oct 15 |
olle |
url += '&cmd=DownloadReagentLotNoFile'; |
3538 |
13 Oct 15 |
olle |
url += '&startListName='+encodeURIComponent(frm.startListName.value); |
3538 |
13 Oct 15 |
olle |
url += '&isolationDate='+encodeURIComponent(frm.isolationDate.value); |
3538 |
13 Oct 15 |
olle |
611 |
|
3538 |
13 Oct 15 |
olle |
// Reagents |
3538 |
13 Oct 15 |
olle |
for (var i = 0; i < exreg.REAGENTS.length; i++) |
3538 |
13 Oct 15 |
olle |
614 |
{ |
3538 |
13 Oct 15 |
olle |
var rg = exreg.REAGENTS[i]; |
3538 |
13 Oct 15 |
olle |
reagentInfo[rg] = frm[rg].value; |
3538 |
13 Oct 15 |
olle |
617 |
} |
3538 |
13 Oct 15 |
olle |
618 |
|
3538 |
13 Oct 15 |
olle |
url += '&reagentInfo=' + encodeURIComponent(JSON.stringify(reagentInfo)); |
3538 |
13 Oct 15 |
olle |
window.open(url); |
3538 |
13 Oct 15 |
olle |
621 |
} |
3538 |
13 Oct 15 |
olle |
622 |
*/ |
3538 |
13 Oct 15 |
olle |
623 |
|
3538 |
13 Oct 15 |
olle |
exreg.validateStep2 = function(event) |
3538 |
13 Oct 15 |
olle |
625 |
{ |
3538 |
13 Oct 15 |
olle |
var valid = true; |
3538 |
13 Oct 15 |
olle |
valid &= consumablesFileIsValid; |
3538 |
13 Oct 15 |
olle |
628 |
|
3538 |
13 Oct 15 |
olle |
//alert("exreg.validateStep2(): valid = " + valid); |
3538 |
13 Oct 15 |
olle |
if (!valid) event.preventDefault(); |
3538 |
13 Oct 15 |
olle |
631 |
} |
3538 |
13 Oct 15 |
olle |
632 |
|
3538 |
13 Oct 15 |
olle |
exreg.submit = function() |
3538 |
13 Oct 15 |
olle |
634 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
636 |
|
3538 |
13 Oct 15 |
olle |
var submitInfo = {}; |
3538 |
13 Oct 15 |
olle |
submitInfo = jsonConsumables; |
3538 |
13 Oct 15 |
olle |
639 |
|
3538 |
13 Oct 15 |
olle |
// Library preparation reagent file |
3553 |
20 Oct 15 |
olle |
submitInfo.referenceName = frm.consumablesFile.value; |
3546 |
16 Oct 15 |
olle |
submitInfo.expirationDate = frm.expirationDate.value; |
3538 |
13 Oct 15 |
olle |
643 |
|
3538 |
13 Oct 15 |
olle |
var url = '../LibPrep.servlet?ID='+App.getSessionId(); |
3627 |
26 Nov 15 |
olle |
url += '&cmd=RegisterKits'; |
3538 |
13 Oct 15 |
olle |
Wizard.showLoadingAnimation('Performing registration...'); |
3538 |
13 Oct 15 |
olle |
Wizard.asyncJsonRequest(url, exreg.submissionResults, 'POST', JSON.stringify(submitInfo)); |
3538 |
13 Oct 15 |
olle |
648 |
} |
3538 |
13 Oct 15 |
olle |
649 |
|
3538 |
13 Oct 15 |
olle |
exreg.submissionResults = function(response) |
3538 |
13 Oct 15 |
olle |
651 |
{ |
3538 |
13 Oct 15 |
olle |
Wizard.showFinalMessage(response.messages); |
3538 |
13 Oct 15 |
olle |
Doc.show('gorestart'); |
3538 |
13 Oct 15 |
olle |
654 |
/* |
3538 |
13 Oct 15 |
olle |
Doc.show('gocreate'); |
3538 |
13 Oct 15 |
olle |
656 |
*/ |
3538 |
13 Oct 15 |
olle |
657 |
} |
3538 |
13 Oct 15 |
olle |
658 |
|
3538 |
13 Oct 15 |
olle |
exreg.createProtocol = function() |
3538 |
13 Oct 15 |
olle |
660 |
{ |
3538 |
13 Oct 15 |
olle |
var frm = document.forms['meludi']; |
3538 |
13 Oct 15 |
olle |
var submitInfo = {}; |
3538 |
13 Oct 15 |
olle |
submitInfo.items = []; |
3538 |
13 Oct 15 |
olle |
664 |
|
3538 |
13 Oct 15 |
olle |
submitInfo.docMode = 'report'; |
3538 |
13 Oct 15 |
olle |
// Get list of selected extract source items |
3538 |
13 Oct 15 |
olle |
var selItemsList = exreg.getSelectedItemsList(); |
3538 |
13 Oct 15 |
olle |
var numItems = selItemsList.length; |
3538 |
13 Oct 15 |
olle |
var totNumItems = numItems; |
3538 |
13 Oct 15 |
olle |
for (var i = 0; i < totNumItems; i++) |
3538 |
13 Oct 15 |
olle |
671 |
{ |
3538 |
13 Oct 15 |
olle |
var item = null; |
3538 |
13 Oct 15 |
olle |
item = selItemsList[i]; |
3538 |
13 Oct 15 |
olle |
submitInfo.items[submitInfo.items.length] = item; |
3538 |
13 Oct 15 |
olle |
675 |
} |
3538 |
13 Oct 15 |
olle |
676 |
|
3538 |
13 Oct 15 |
olle |
// Extraction |
3538 |
13 Oct 15 |
olle |
submitInfo.startListName = frm.startListName.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.isolationDate = frm.isolationDate.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.extractionOperator = frm.extractionOperator.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.extractionProtocol = parseInt(frm.extractionProtocolId.value, 10); |
3538 |
13 Oct 15 |
olle |
var extractionProtocolName = frm.extractionProtocolName.value; |
3538 |
13 Oct 15 |
olle |
var protocolVersionNo = ''; |
3538 |
13 Oct 15 |
olle |
if (extractionProtocolName) |
3538 |
13 Oct 15 |
olle |
685 |
{ |
3538 |
13 Oct 15 |
olle |
protocolVersionNo = extractionProtocolName; |
3538 |
13 Oct 15 |
olle |
// Remove part of string up to and including last "v" |
3538 |
13 Oct 15 |
olle |
var vIndex = protocolVersionNo.indexOf('v'); |
3538 |
13 Oct 15 |
olle |
while (vIndex >= 0) |
3538 |
13 Oct 15 |
olle |
690 |
{ |
3538 |
13 Oct 15 |
olle |
// Remove part of string up to and including first "v" |
3538 |
13 Oct 15 |
olle |
protocolVersionNo = protocolVersionNo.substring(vIndex + 1); |
3538 |
13 Oct 15 |
olle |
vIndex = protocolVersionNo.indexOf('v'); |
3538 |
13 Oct 15 |
olle |
694 |
} |
3538 |
13 Oct 15 |
olle |
695 |
} |
3538 |
13 Oct 15 |
olle |
var protocolPreviewFlag = null; |
3538 |
13 Oct 15 |
olle |
if (trackingProtocolPreview) |
3538 |
13 Oct 15 |
olle |
698 |
{ |
3538 |
13 Oct 15 |
olle |
protocolPreviewFlag = 'true'; |
3538 |
13 Oct 15 |
olle |
700 |
} |
3538 |
13 Oct 15 |
olle |
submitInfo.extractionProtocolName = extractionProtocolName; |
3538 |
13 Oct 15 |
olle |
submitInfo.protocolVersionNo = protocolVersionNo; |
3538 |
13 Oct 15 |
olle |
submitInfo.protocolPreviewFlag = protocolPreviewFlag; |
3538 |
13 Oct 15 |
olle |
submitInfo.dnaDefaultVolume = ExtractUtils.getNumber(frm.dnaDefaultVolume.value); |
3538 |
13 Oct 15 |
olle |
705 |
|
3538 |
13 Oct 15 |
olle |
// QIAcube |
3538 |
13 Oct 15 |
olle |
submitInfo.qiacubeDate = frm.qiacubeDate.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.qiacubeOperator = frm.qiacubeOperator.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.qiacubeRunNo = parseInt(frm.qiacubeRunNo.value, 10); |
3538 |
13 Oct 15 |
olle |
710 |
|
3538 |
13 Oct 15 |
olle |
// Specimen reagents |
3538 |
13 Oct 15 |
olle |
submitInfo.xyleneSpecimen = frm.xyleneSpecimen.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.etoh995Specimen = frm.etoh995Specimen.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.allPrepFfpeKit = frm.allPrepFfpeKit.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferPkdSpecimen = frm.bufferPkdSpecimen.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferAtlSpecimen = frm.bufferAtlSpecimen.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.proteinaseKSpecimen = frm.proteinaseKSpecimen.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.rnaseASpecimen = frm.rnaseASpecimen.value; |
3538 |
13 Oct 15 |
olle |
719 |
|
3538 |
13 Oct 15 |
olle |
// QIAcube |
3538 |
13 Oct 15 |
olle |
submitInfo.etoh995 = frm.etoh995.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferRlt = frm.bufferRlt.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferFrn = frm.bufferFrn.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferRpe = frm.bufferRpe.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferAl = frm.bufferAl.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferAw1 = frm.bufferAw1.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferAw2 = frm.bufferAw2.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferAte = frm.bufferAte.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.bufferRdd = frm.bufferRdd.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.rnaseFreeWater = frm.rnaseFreeWater.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.dnaseMix = frm.dnaseMix.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.rneasyMinEluteSpinColumn = frm.rneasyMinEluteSpinColumn.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.qiaampMinEluteSpinColumn = frm.qiaampMinEluteSpinColumn.value; |
3538 |
13 Oct 15 |
olle |
734 |
|
3538 |
13 Oct 15 |
olle |
// Quality control reagents |
3538 |
13 Oct 15 |
olle |
submitInfo.kapaSybrFast = frm.kapaSybrFast.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.qualityControlPrimersQcpRgt = frm.qualityControlPrimersQcpRgt.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.qualityControlTemplateQct = frm.qualityControlTemplateQct.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.qubitDnaHighSens = frm.qubitDnaHighSens.value; |
3538 |
13 Oct 15 |
olle |
submitInfo.qubitDnaBroadRange = frm.qubitDnaBroadRange.value; |
3538 |
13 Oct 15 |
olle |
741 |
|
3538 |
13 Oct 15 |
olle |
// Save values in hidden input fields for retrieval after HTML request |
3538 |
13 Oct 15 |
olle |
var submitInfoJsonStr = JSON.stringify(submitInfo); |
3538 |
13 Oct 15 |
olle |
frm.hiddenSubmitInfo.value = submitInfoJsonStr; |
3538 |
13 Oct 15 |
olle |
frm.hiddenNumItems.value = submitInfo.items.length; |
3538 |
13 Oct 15 |
olle |
frm.hiddenCounterBalanceInfoRow.value = counterBalanceInfoRow; |
3538 |
13 Oct 15 |
olle |
747 |
|
3538 |
13 Oct 15 |
olle |
// Calling frm.submit() will change jsp file to extraction_protocol2.jsp |
3538 |
13 Oct 15 |
olle |
frm.submit(); |
3538 |
13 Oct 15 |
olle |
750 |
} |
3538 |
13 Oct 15 |
olle |
751 |
|
3538 |
13 Oct 15 |
olle |
return exreg; |
3538 |
13 Oct 15 |
olle |
753 |
}(); |
3538 |
13 Oct 15 |
olle |
754 |
|
3538 |
13 Oct 15 |
olle |
Doc.onLoad(ExtractionReg.initPage); |
3538 |
13 Oct 15 |
olle |
756 |
|