3176 |
06 Mar 15 |
olle |
var PrepDetails = function() |
3176 |
06 Mar 15 |
olle |
2 |
{ |
3176 |
06 Mar 15 |
olle |
var details = {}; |
3176 |
06 Mar 15 |
olle |
var debug = 0; |
3176 |
06 Mar 15 |
olle |
5 |
|
3176 |
06 Mar 15 |
olle |
// Page initialization |
3176 |
06 Mar 15 |
olle |
details.initPage = function() |
3176 |
06 Mar 15 |
olle |
8 |
{ |
3176 |
06 Mar 15 |
olle |
Buttons.addClickHandler('close', App.closeWindow); |
3176 |
06 Mar 15 |
olle |
Buttons.addClickHandler('btnSave', details.saveDetails); |
3176 |
06 Mar 15 |
olle |
11 |
/* |
3176 |
06 Mar 15 |
olle |
Events.addEventHandler('dnaVolume', 'keypress', Events.numberOnly); |
3176 |
06 Mar 15 |
olle |
Events.addEventHandler('rnaVolume', 'keypress', Events.numberOnly); |
3176 |
06 Mar 15 |
olle |
14 |
*/ |
3176 |
06 Mar 15 |
olle |
15 |
|
3176 |
06 Mar 15 |
olle |
var index = Data.int('page-data', 'index'); |
3176 |
06 Mar 15 |
olle |
var frm = document.forms['prepdetails']; |
3176 |
06 Mar 15 |
olle |
var pfrm = window.opener.document.forms['meludi']; |
3176 |
06 Mar 15 |
olle |
//var specimen = pfrm.extractSourceItems[index].specimen; |
3176 |
06 Mar 15 |
olle |
var selItemsList = getSelectedItemsList(); |
3176 |
06 Mar 15 |
olle |
var item = selItemsList[index]; |
3176 |
06 Mar 15 |
olle |
var specimen = item; |
3176 |
06 Mar 15 |
olle |
23 |
|
3176 |
06 Mar 15 |
olle |
frm.qiacubePosition.value = specimen.qiacubePosition; |
3176 |
06 Mar 15 |
olle |
details.checkForm(); |
3176 |
06 Mar 15 |
olle |
frm.qiacubePosition.focus(); |
3176 |
06 Mar 15 |
olle |
27 |
} |
3176 |
06 Mar 15 |
olle |
28 |
|
3176 |
06 Mar 15 |
olle |
details.checkForm = function() |
3176 |
06 Mar 15 |
olle |
30 |
{ |
3176 |
06 Mar 15 |
olle |
var frm = document.forms['prepdetails']; |
3176 |
06 Mar 15 |
olle |
32 |
|
3176 |
06 Mar 15 |
olle |
var index = Data.int('page-data', 'index'); |
3176 |
06 Mar 15 |
olle |
var selItemsList = getSelectedItemsList(); |
3176 |
06 Mar 15 |
olle |
var item = selItemsList[index]; |
3176 |
06 Mar 15 |
olle |
36 |
|
3176 |
06 Mar 15 |
olle |
// Qiacube position |
3176 |
06 Mar 15 |
olle |
var qiacubePositionStr = frm.qiacubePosition.value; |
3352 |
26 May 15 |
olle |
if (ExtractUtils.isSpecimen(item)) |
3176 |
06 Mar 15 |
olle |
40 |
{ |
3176 |
06 Mar 15 |
olle |
// Check prefix indicating QIAcube instrument |
3176 |
06 Mar 15 |
olle |
var qiacubeInstrPrefix = qiacubePositionStr.substring(0,1); |
3176 |
06 Mar 15 |
olle |
if (/^[A-Z]$/.test(qiacubeInstrPrefix) == false) |
3176 |
06 Mar 15 |
olle |
44 |
{ |
3176 |
06 Mar 15 |
olle |
Forms.showNotification('qiacubePosition', 'QIAcube instrument prefix must be uppercase letter A-Z.'); |
3176 |
06 Mar 15 |
olle |
return false; |
3176 |
06 Mar 15 |
olle |
47 |
} |
3176 |
06 Mar 15 |
olle |
// Remove prefix indicating QIAcube instrument |
3176 |
06 Mar 15 |
olle |
qiacubePositionStr = qiacubePositionStr.substring(1); |
3176 |
06 Mar 15 |
olle |
var qiacubePosition = parseInt(qiacubePositionStr, 10); |
3176 |
06 Mar 15 |
olle |
if (qiacubePosition < 1 || qiacubePosition > 12) |
3176 |
06 Mar 15 |
olle |
52 |
{ |
3176 |
06 Mar 15 |
olle |
Forms.showNotification('qiacubePosition', 'QIAcube position must be between 1 and 12.'); |
3176 |
06 Mar 15 |
olle |
return false; |
3176 |
06 Mar 15 |
olle |
55 |
} |
3176 |
06 Mar 15 |
olle |
56 |
} |
3176 |
06 Mar 15 |
olle |
else |
3176 |
06 Mar 15 |
olle |
58 |
{ |
3176 |
06 Mar 15 |
olle |
if (qiacubePositionStr) |
3176 |
06 Mar 15 |
olle |
60 |
{ |
3176 |
06 Mar 15 |
olle |
Forms.showNotification('qiacubePosition', 'Input RNA and DNA do not have a QIAcube position.'); |
3176 |
06 Mar 15 |
olle |
return false; |
3176 |
06 Mar 15 |
olle |
63 |
} |
3176 |
06 Mar 15 |
olle |
64 |
} |
3176 |
06 Mar 15 |
olle |
return true; |
3176 |
06 Mar 15 |
olle |
66 |
} |
3176 |
06 Mar 15 |
olle |
67 |
|
3176 |
06 Mar 15 |
olle |
details.saveDetails = function() |
3176 |
06 Mar 15 |
olle |
69 |
{ |
3176 |
06 Mar 15 |
olle |
if (!details.checkForm()) return; |
3176 |
06 Mar 15 |
olle |
71 |
|
3176 |
06 Mar 15 |
olle |
var index = Data.int('page-data', 'index'); |
3176 |
06 Mar 15 |
olle |
var mode = Data.get('page-data', 'mode'); |
3176 |
06 Mar 15 |
olle |
//var specimen = window.opener.document.forms['meludi'].extractSourceItems[index].specimen; |
3176 |
06 Mar 15 |
olle |
//var specimen = pfrm.extractSourceItems[index].specimen; |
3176 |
06 Mar 15 |
olle |
var selItemsList = getSelectedItemsList(); |
3176 |
06 Mar 15 |
olle |
var item = selItemsList[index]; |
3176 |
06 Mar 15 |
olle |
var specimen = item; |
3176 |
06 Mar 15 |
olle |
var frm = document.forms['prepdetails']; |
3176 |
06 Mar 15 |
olle |
80 |
|
3176 |
06 Mar 15 |
olle |
specimen.qiacubePosition = frm.qiacubePosition.value; |
3176 |
06 Mar 15 |
olle |
if (mode != null && mode == 'ExtractionReg') |
3176 |
06 Mar 15 |
olle |
83 |
{ |
3176 |
06 Mar 15 |
olle |
window.opener.ExtractionReg.updateDetailsTable(); |
3176 |
06 Mar 15 |
olle |
85 |
} |
3176 |
06 Mar 15 |
olle |
else |
3176 |
06 Mar 15 |
olle |
87 |
{ |
3176 |
06 Mar 15 |
olle |
window.opener.ExtractionPrep.updateDetailsTable(); |
3176 |
06 Mar 15 |
olle |
89 |
} |
3176 |
06 Mar 15 |
olle |
window.close(); |
3176 |
06 Mar 15 |
olle |
91 |
} |
3176 |
06 Mar 15 |
olle |
92 |
|
3176 |
06 Mar 15 |
olle |
getSelectedItemsList = function() |
3176 |
06 Mar 15 |
olle |
94 |
{ |
3176 |
06 Mar 15 |
olle |
var pfrm = window.opener.document.forms['meludi']; |
3176 |
06 Mar 15 |
olle |
96 |
|
3176 |
06 Mar 15 |
olle |
// Get number of selected extract source items |
3176 |
06 Mar 15 |
olle |
var numItems = 0; |
3176 |
06 Mar 15 |
olle |
var selItemsList = []; |
3176 |
06 Mar 15 |
olle |
for (var i = 0; i < pfrm.extractSourceItems.length; i++) |
3176 |
06 Mar 15 |
olle |
101 |
{ |
3176 |
06 Mar 15 |
olle |
if (pfrm.extractSourceItems[i].selected) |
3176 |
06 Mar 15 |
olle |
103 |
{ |
3212 |
27 Mar 15 |
olle |
if (pfrm.extractSourceItems[i].item != null) |
3176 |
06 Mar 15 |
olle |
105 |
{ |
3212 |
27 Mar 15 |
olle |
selItemsList[numItems] = pfrm.extractSourceItems[i].item; |
3176 |
06 Mar 15 |
olle |
numItems++; |
3176 |
06 Mar 15 |
olle |
108 |
} |
3176 |
06 Mar 15 |
olle |
109 |
} |
3176 |
06 Mar 15 |
olle |
110 |
} |
3176 |
06 Mar 15 |
olle |
return selItemsList; |
3176 |
06 Mar 15 |
olle |
112 |
} |
3176 |
06 Mar 15 |
olle |
113 |
|
3176 |
06 Mar 15 |
olle |
return details; |
3176 |
06 Mar 15 |
olle |
115 |
}(); |
3176 |
06 Mar 15 |
olle |
116 |
|
3176 |
06 Mar 15 |
olle |
Doc.onLoad(PrepDetails.initPage); |
3176 |
06 Mar 15 |
olle |
118 |
|