3441 |
21 Jul 15 |
olle |
var CreateStartList = function() |
3441 |
21 Jul 15 |
olle |
2 |
{ |
3441 |
21 Jul 15 |
olle |
var createstartlist = {}; |
3441 |
21 Jul 15 |
olle |
4 |
|
3441 |
21 Jul 15 |
olle |
var debug = 0; |
3441 |
21 Jul 15 |
olle |
6 |
|
3441 |
21 Jul 15 |
olle |
// Page initialization |
3441 |
21 Jul 15 |
olle |
createstartlist.initPage = function() |
3441 |
21 Jul 15 |
olle |
9 |
{ |
3441 |
21 Jul 15 |
olle |
// Step 1 |
3441 |
21 Jul 15 |
olle |
Events.addEventHandler('step-1', 'wizard-validate', createstartlist.validateStep1); |
3441 |
21 Jul 15 |
olle |
12 |
|
3441 |
21 Jul 15 |
olle |
// Navigation |
3441 |
21 Jul 15 |
olle |
Buttons.addClickHandler('gocancel', Wizard.cancelWizard); |
3441 |
21 Jul 15 |
olle |
Buttons.addClickHandler('gorestart', Wizard.restartWizard); |
3441 |
21 Jul 15 |
olle |
Buttons.addClickHandler('gonext', Wizard.goNextOnClick); |
3441 |
21 Jul 15 |
olle |
Buttons.addClickHandler('goregister', Wizard.goRegister); |
3441 |
21 Jul 15 |
olle |
18 |
|
3441 |
21 Jul 15 |
olle |
// Final registration |
3441 |
21 Jul 15 |
olle |
Events.addEventHandler('wizard', 'wizard-submit', createstartlist.submit); |
3441 |
21 Jul 15 |
olle |
21 |
|
3441 |
21 Jul 15 |
olle |
var url = '../Extraction.servlet?ID='+App.getSessionId(); |
3441 |
21 Jul 15 |
olle |
url += '&cmd=GetStartPlates'; |
3441 |
21 Jul 15 |
olle |
url += '&orderDesc=true'; |
3441 |
21 Jul 15 |
olle |
Wizard.showLoadingAnimation('Loading items...'); |
3441 |
21 Jul 15 |
olle |
Wizard.asyncJsonRequest(url, createstartlist.initializeStep1); |
3441 |
21 Jul 15 |
olle |
27 |
} |
3441 |
21 Jul 15 |
olle |
28 |
|
3441 |
21 Jul 15 |
olle |
createstartlist.initializeStep1 = function(response) |
3441 |
21 Jul 15 |
olle |
30 |
{ |
3441 |
21 Jul 15 |
olle |
var frm = document.forms['meludi']; |
3441 |
21 Jul 15 |
olle |
var plates = response.plates; |
3441 |
21 Jul 15 |
olle |
33 |
|
3441 |
21 Jul 15 |
olle |
var startPlate = frm.startPlate; |
3441 |
21 Jul 15 |
olle |
if (plates.length > 0) |
3441 |
21 Jul 15 |
olle |
36 |
{ |
3441 |
21 Jul 15 |
olle |
for (var i=0; i < plates.length; i++) |
3441 |
21 Jul 15 |
olle |
38 |
{ |
3441 |
21 Jul 15 |
olle |
var plate = plates[i]; |
3441 |
21 Jul 15 |
olle |
var name = (i+1) + ': ' + Strings.encodeTags(plate.name); |
3441 |
21 Jul 15 |
olle |
if (plate.sourceItemNames) |
3441 |
21 Jul 15 |
olle |
42 |
{ |
3441 |
21 Jul 15 |
olle |
name += ' -- ('; |
3441 |
21 Jul 15 |
olle |
name += plate.sourceItemNames.length; |
3441 |
21 Jul 15 |
olle |
if (plate.numberExtraQiacubeItems) |
3441 |
21 Jul 15 |
olle |
46 |
{ |
3441 |
21 Jul 15 |
olle |
name += ' + ' + plate.numberExtraQiacubeItems; |
3441 |
21 Jul 15 |
olle |
48 |
} |
3441 |
21 Jul 15 |
olle |
name += ')'; |
3441 |
21 Jul 15 |
olle |
50 |
} |
3441 |
21 Jul 15 |
olle |
if (plate.extractionDate) |
3441 |
21 Jul 15 |
olle |
52 |
{ |
3441 |
21 Jul 15 |
olle |
name += ' -- [' + createstartlist.asDate(plate.extractionDate) + ']'; |
3441 |
21 Jul 15 |
olle |
54 |
} |
3441 |
21 Jul 15 |
olle |
//var selected = i == (plates.length - 1); |
3441 |
21 Jul 15 |
olle |
var selected = true; |
3441 |
21 Jul 15 |
olle |
// Only include start DNA plate with item names in annotations |
3441 |
21 Jul 15 |
olle |
if (plate.sourceItemNames.length > 0 || (plate.numberExtraQiacubeItems != null && plate.numberExtraQiacubeItems > 0)) |
3441 |
21 Jul 15 |
olle |
59 |
{ |
3441 |
21 Jul 15 |
olle |
var option = new Option(name, plate.id, selected, selected); |
3441 |
21 Jul 15 |
olle |
option.plate = plate; |
3441 |
21 Jul 15 |
olle |
option.selected = true |
3441 |
21 Jul 15 |
olle |
startPlate.options[startPlate.length] = option; |
3441 |
21 Jul 15 |
olle |
64 |
} |
3441 |
21 Jul 15 |
olle |
65 |
} |
3441 |
21 Jul 15 |
olle |
//startPlate.options[0].selected = true; |
3441 |
21 Jul 15 |
olle |
67 |
} |
3441 |
21 Jul 15 |
olle |
else |
3441 |
21 Jul 15 |
olle |
69 |
{ |
3441 |
21 Jul 15 |
olle |
Wizard.setFatalError('No start DNA plates available.'); |
3441 |
21 Jul 15 |
olle |
return; |
3441 |
21 Jul 15 |
olle |
72 |
} |
3441 |
21 Jul 15 |
olle |
Doc.show('step-1'); |
3441 |
21 Jul 15 |
olle |
Doc.show('gocancel'); |
3441 |
21 Jul 15 |
olle |
Doc.hide('gonext'); |
3441 |
21 Jul 15 |
olle |
Doc.show('goregister'); |
3441 |
21 Jul 15 |
olle |
Doc.hide('extractSourceItems'); |
3441 |
21 Jul 15 |
olle |
78 |
} |
3441 |
21 Jul 15 |
olle |
79 |
|
3441 |
21 Jul 15 |
olle |
createstartlist.validateStep1 = function(event) |
3441 |
21 Jul 15 |
olle |
81 |
{ |
3441 |
21 Jul 15 |
olle |
var frm = document.forms['meludi']; |
3441 |
21 Jul 15 |
olle |
var startItemList = null; |
3441 |
21 Jul 15 |
olle |
var jsonStartPlateIds = []; |
3441 |
21 Jul 15 |
olle |
var numSelected = 0; |
3441 |
21 Jul 15 |
olle |
for (var i = 0; i < frm.startPlate.length; i++) |
3441 |
21 Jul 15 |
olle |
87 |
{ |
3441 |
21 Jul 15 |
olle |
if (frm.startPlate[i].selected) |
3441 |
21 Jul 15 |
olle |
89 |
{ |
3441 |
21 Jul 15 |
olle |
var jsonStartPlate = {}; |
3441 |
21 Jul 15 |
olle |
jsonStartPlate.id = frm.startPlate[i].value; |
3441 |
21 Jul 15 |
olle |
jsonStartPlateIds[numSelected] = jsonStartPlate; |
3441 |
21 Jul 15 |
olle |
numSelected++; |
3441 |
21 Jul 15 |
olle |
94 |
} |
3441 |
21 Jul 15 |
olle |
95 |
} |
3441 |
21 Jul 15 |
olle |
if (numSelected == 0) |
3441 |
21 Jul 15 |
olle |
97 |
{ |
3441 |
21 Jul 15 |
olle |
event.preventDefault(); |
3441 |
21 Jul 15 |
olle |
99 |
} |
3441 |
21 Jul 15 |
olle |
100 |
} |
3441 |
21 Jul 15 |
olle |
101 |
|
3441 |
21 Jul 15 |
olle |
createstartlist.submit = function() |
3441 |
21 Jul 15 |
olle |
103 |
{ |
3441 |
21 Jul 15 |
olle |
var frm = document.forms['meludi']; |
3441 |
21 Jul 15 |
olle |
var startItemList = null; |
3441 |
21 Jul 15 |
olle |
var jsonStartPlateIds = []; |
3441 |
21 Jul 15 |
olle |
var numSelected = 0; |
3441 |
21 Jul 15 |
olle |
for (var i = 0; i < frm.startPlate.length; i++) |
3441 |
21 Jul 15 |
olle |
109 |
{ |
3441 |
21 Jul 15 |
olle |
if (frm.startPlate[i].selected) |
3441 |
21 Jul 15 |
olle |
111 |
{ |
3441 |
21 Jul 15 |
olle |
var jsonStartPlate = {}; |
3441 |
21 Jul 15 |
olle |
jsonStartPlate.id = frm.startPlate[i].value; |
3441 |
21 Jul 15 |
olle |
jsonStartPlateIds[numSelected] = jsonStartPlate; |
3441 |
21 Jul 15 |
olle |
numSelected++; |
3441 |
21 Jul 15 |
olle |
116 |
} |
3441 |
21 Jul 15 |
olle |
117 |
} |
3441 |
21 Jul 15 |
olle |
if (numSelected == 0) |
3441 |
21 Jul 15 |
olle |
119 |
{ |
3441 |
21 Jul 15 |
olle |
event.preventDefault(); |
3441 |
21 Jul 15 |
olle |
121 |
} |
3441 |
21 Jul 15 |
olle |
122 |
|
3441 |
21 Jul 15 |
olle |
frm.startPlate.disabled = true; |
3441 |
21 Jul 15 |
olle |
124 |
|
3441 |
21 Jul 15 |
olle |
var submitInfo = {}; |
3441 |
21 Jul 15 |
olle |
126 |
|
3441 |
21 Jul 15 |
olle |
submitInfo.startplates = jsonStartPlateIds; |
3441 |
21 Jul 15 |
olle |
128 |
|
3441 |
21 Jul 15 |
olle |
var url = '../Extraction.servlet?ID='+App.getSessionId(); |
3441 |
21 Jul 15 |
olle |
url += '&cmd=CreateStartListsFromStartPlates'; |
3441 |
21 Jul 15 |
olle |
Wizard.showLoadingAnimation('Performing registration...'); |
3441 |
21 Jul 15 |
olle |
Wizard.asyncJsonRequest(url, createstartlist.submissionResults, 'POST', JSON.stringify(submitInfo)); |
3441 |
21 Jul 15 |
olle |
133 |
} |
3441 |
21 Jul 15 |
olle |
134 |
|
3441 |
21 Jul 15 |
olle |
createstartlist.submissionResults = function(response) |
3441 |
21 Jul 15 |
olle |
136 |
{ |
3441 |
21 Jul 15 |
olle |
Wizard.showFinalMessage(response.messages); |
3441 |
21 Jul 15 |
olle |
Doc.show('gorestart'); |
3441 |
21 Jul 15 |
olle |
139 |
} |
3441 |
21 Jul 15 |
olle |
140 |
|
3441 |
21 Jul 15 |
olle |
141 |
|
3441 |
21 Jul 15 |
olle |
// Format value as a date in format yyyy-mm-dd |
3441 |
21 Jul 15 |
olle |
createstartlist.asDate = function(value) |
3441 |
21 Jul 15 |
olle |
144 |
{ |
3441 |
21 Jul 15 |
olle |
if (!value) return ''; |
3441 |
21 Jul 15 |
olle |
if (value.length == 8) |
3441 |
21 Jul 15 |
olle |
147 |
{ |
3441 |
21 Jul 15 |
olle |
value = value.substr(0, 4) + '-' + value.substr(4, 2) + '-' + value.substr(6, 2); |
3441 |
21 Jul 15 |
olle |
149 |
} |
3441 |
21 Jul 15 |
olle |
return value; |
3441 |
21 Jul 15 |
olle |
151 |
} |
3441 |
21 Jul 15 |
olle |
152 |
|
3441 |
21 Jul 15 |
olle |
return createstartlist; |
3441 |
21 Jul 15 |
olle |
154 |
}(); |
3441 |
21 Jul 15 |
olle |
155 |
|
3441 |
21 Jul 15 |
olle |
Doc.onLoad(CreateStartList.initPage); |