5325 |
05 Mar 19 |
olle |
var Istat = function() |
5325 |
05 Mar 19 |
olle |
2 |
{ |
5325 |
05 Mar 19 |
olle |
var istat = {}; |
5325 |
05 Mar 19 |
olle |
var debug = 0; |
5325 |
05 Mar 19 |
olle |
5 |
|
5325 |
05 Mar 19 |
olle |
var caseInfo; |
5325 |
05 Mar 19 |
olle |
7 |
|
5325 |
05 Mar 19 |
olle |
istat.initPage = function() |
5325 |
05 Mar 19 |
olle |
9 |
{ |
5325 |
05 Mar 19 |
olle |
// Step 1 |
5325 |
05 Mar 19 |
olle |
Events.addEventHandler('step-1', 'wizard-validate', istat.validateStep1); |
5325 |
05 Mar 19 |
olle |
Events.addEventHandler('extractSourceItems', 'change', istat.sourceItemsOnChange); |
5325 |
05 Mar 19 |
olle |
13 |
|
5325 |
05 Mar 19 |
olle |
// Navigation |
5325 |
05 Mar 19 |
olle |
Buttons.addClickHandler('gocancel', Wizard.cancelWizard); |
5325 |
05 Mar 19 |
olle |
Buttons.addClickHandler('gorestart', Wizard.restartWizard); |
5325 |
05 Mar 19 |
olle |
Buttons.addClickHandler('gonext', Wizard.goNextOnClick); |
5325 |
05 Mar 19 |
olle |
18 |
|
5325 |
05 Mar 19 |
olle |
// Get case items |
5325 |
05 Mar 19 |
olle |
var url = '../Extraction.servlet?ID='+App.getSessionId(); |
5325 |
05 Mar 19 |
olle |
url += '&cmd=GetCases'; |
5325 |
05 Mar 19 |
olle |
Wizard.showLoadingAnimation('Loading unprocessed items...'); |
5325 |
05 Mar 19 |
olle |
Wizard.asyncJsonRequest(url, istat.initializeStep1); |
5325 |
05 Mar 19 |
olle |
24 |
} |
5325 |
05 Mar 19 |
olle |
25 |
|
5325 |
05 Mar 19 |
olle |
istat.initPermissions = function() |
5325 |
05 Mar 19 |
olle |
27 |
{ |
5325 |
05 Mar 19 |
olle |
// Get permission information |
5325 |
05 Mar 19 |
olle |
var url = '../Install.servlet?ID='+App.getSessionId(); |
5325 |
05 Mar 19 |
olle |
url += '&cmd=GetPermissions'; |
5325 |
05 Mar 19 |
olle |
var request = Ajax.getXmlHttpRequest(); |
5325 |
05 Mar 19 |
olle |
request.open("GET", url, true); |
5325 |
05 Mar 19 |
olle |
Ajax.setReadyStateHandler(request, istat.onPermissionsLoaded, istat.onPermissionsLoaded); |
5325 |
05 Mar 19 |
olle |
request.send(null); |
5325 |
05 Mar 19 |
olle |
35 |
} |
5325 |
05 Mar 19 |
olle |
36 |
|
5325 |
05 Mar 19 |
olle |
// Callback when permission information is ready |
5325 |
05 Mar 19 |
olle |
istat.onPermissionsLoaded = function(request) |
5325 |
05 Mar 19 |
olle |
39 |
{ |
5325 |
05 Mar 19 |
olle |
if (debug) App.debug(Strings.encodeTags(request.responseText)); |
5325 |
05 Mar 19 |
olle |
var response; |
5325 |
05 Mar 19 |
olle |
var error = false; |
5325 |
05 Mar 19 |
olle |
try |
5325 |
05 Mar 19 |
olle |
44 |
{ |
5325 |
05 Mar 19 |
olle |
response = JSON.parse(request.responseText); |
5325 |
05 Mar 19 |
olle |
if (response.status != 'ok') |
5325 |
05 Mar 19 |
olle |
47 |
{ |
5325 |
05 Mar 19 |
olle |
error = response.message || response.stacktrace || 'Unexpected error'; |
5325 |
05 Mar 19 |
olle |
49 |
} |
5325 |
05 Mar 19 |
olle |
50 |
} |
5325 |
05 Mar 19 |
olle |
catch (ex) |
5325 |
05 Mar 19 |
olle |
52 |
{ |
5325 |
05 Mar 19 |
olle |
error = ex; |
5325 |
05 Mar 19 |
olle |
54 |
} |
5325 |
05 Mar 19 |
olle |
55 |
|
5325 |
05 Mar 19 |
olle |
if (error) |
5325 |
05 Mar 19 |
olle |
57 |
{ |
5325 |
05 Mar 19 |
olle |
alert(error); |
5325 |
05 Mar 19 |
olle |
return; |
5325 |
05 Mar 19 |
olle |
60 |
} |
5325 |
05 Mar 19 |
olle |
61 |
|
5325 |
05 Mar 19 |
olle |
myPermissions = response.permissions; |
5325 |
05 Mar 19 |
olle |
//var isAdmin = myPermissions['Administrator'] == 1; |
5325 |
05 Mar 19 |
olle |
//var noProjectIsActive = !App.getActiveProjectId(); |
5325 |
05 Mar 19 |
olle |
65 |
} |
5325 |
05 Mar 19 |
olle |
66 |
|
5325 |
05 Mar 19 |
olle |
istat.initializeStep1 = function(response) |
5325 |
05 Mar 19 |
olle |
68 |
{ |
5325 |
05 Mar 19 |
olle |
var frm = document.forms['meludi']; |
5325 |
05 Mar 19 |
olle |
var items = response.items; |
5325 |
05 Mar 19 |
olle |
71 |
|
5325 |
05 Mar 19 |
olle |
var sourceItemList = frm.extractSourceItems; |
5325 |
05 Mar 19 |
olle |
if (items.length) |
5325 |
05 Mar 19 |
olle |
74 |
{ |
5325 |
05 Mar 19 |
olle |
var numItems = items.length; |
5325 |
05 Mar 19 |
olle |
for (var i=0; i < items.length; i++) |
5325 |
05 Mar 19 |
olle |
77 |
{ |
5325 |
05 Mar 19 |
olle |
var item = items[i]; |
5325 |
05 Mar 19 |
olle |
var name = (i+1) + ': ' + Strings.encodeTags(item.name); |
5325 |
05 Mar 19 |
olle |
var registrationDate = ""; |
5325 |
05 Mar 19 |
olle |
if (item.registrationDate) |
5325 |
05 Mar 19 |
olle |
82 |
{ |
5325 |
05 Mar 19 |
olle |
registrationDate = item.registrationDate; |
5325 |
05 Mar 19 |
olle |
84 |
} |
5325 |
05 Mar 19 |
olle |
if (registrationDate) |
5325 |
05 Mar 19 |
olle |
86 |
{ |
5325 |
05 Mar 19 |
olle |
name += ' -- (Registration date: ' + Strings.encodeTags(registrationDate) + ')'; |
5325 |
05 Mar 19 |
olle |
88 |
} |
5325 |
05 Mar 19 |
olle |
var selected = i == 0; |
5325 |
05 Mar 19 |
olle |
var option = new Option(name, item.id, selected, selected); |
5325 |
05 Mar 19 |
olle |
option.item = item; |
5325 |
05 Mar 19 |
olle |
sourceItemList.options[sourceItemList.length] = option; |
5325 |
05 Mar 19 |
olle |
93 |
} |
5325 |
05 Mar 19 |
olle |
istat.sourceItemsOnChange(); |
5325 |
05 Mar 19 |
olle |
95 |
} |
5325 |
05 Mar 19 |
olle |
else |
5325 |
05 Mar 19 |
olle |
97 |
{ |
5325 |
05 Mar 19 |
olle |
Wizard.setFatalError('No case items available.'); |
5325 |
05 Mar 19 |
olle |
return; |
5325 |
05 Mar 19 |
olle |
100 |
} |
5325 |
05 Mar 19 |
olle |
101 |
|
5325 |
05 Mar 19 |
olle |
Doc.show('step-1'); |
5325 |
05 Mar 19 |
olle |
Doc.show('gonext'); |
5325 |
05 Mar 19 |
olle |
104 |
} |
5325 |
05 Mar 19 |
olle |
105 |
|
5325 |
05 Mar 19 |
olle |
istat.sourceItemsOnChange = function() |
5325 |
05 Mar 19 |
olle |
107 |
{ |
5325 |
05 Mar 19 |
olle |
sourceItemListIsValid = false; |
5325 |
05 Mar 19 |
olle |
Wizard.setInputStatus('extractSourceItems'); |
5325 |
05 Mar 19 |
olle |
110 |
|
5325 |
05 Mar 19 |
olle |
var frm = document.forms['meludi']; |
5325 |
05 Mar 19 |
olle |
var sourceItemList = frm.extractSourceItems; |
5325 |
05 Mar 19 |
olle |
113 |
|
5325 |
05 Mar 19 |
olle |
var numSelected = 0; |
5325 |
05 Mar 19 |
olle |
for (var i = 0; i < sourceItemList.length; i++) |
5325 |
05 Mar 19 |
olle |
116 |
{ |
5325 |
05 Mar 19 |
olle |
if (sourceItemList[i].selected) numSelected++; |
5325 |
05 Mar 19 |
olle |
118 |
} |
5325 |
05 Mar 19 |
olle |
119 |
|
5325 |
05 Mar 19 |
olle |
if (numSelected < 1) |
5325 |
05 Mar 19 |
olle |
121 |
{ |
5325 |
05 Mar 19 |
olle |
Wizard.setInputStatus('extractSourceItems', 'invalid', 'Must select a number of FFPE block items.'); |
5325 |
05 Mar 19 |
olle |
return; |
5325 |
05 Mar 19 |
olle |
124 |
} |
5325 |
05 Mar 19 |
olle |
125 |
|
5325 |
05 Mar 19 |
olle |
sourceItemListIsValid = true; |
5325 |
05 Mar 19 |
olle |
Wizard.setInputStatus('extractSourceItems', 'valid'); |
5325 |
05 Mar 19 |
olle |
128 |
} |
5325 |
05 Mar 19 |
olle |
129 |
|
5325 |
05 Mar 19 |
olle |
istat.validateStep1 = function(event) |
5325 |
05 Mar 19 |
olle |
131 |
{ |
5325 |
05 Mar 19 |
olle |
//alert("case_summary_shortcut.js::validateStep1(): Start"); |
5325 |
05 Mar 19 |
olle |
var valid = true; |
5325 |
05 Mar 19 |
olle |
if (!valid) event.preventDefault(); |
5325 |
05 Mar 19 |
olle |
135 |
|
5325 |
05 Mar 19 |
olle |
istat.caseSummary(); |
5325 |
05 Mar 19 |
olle |
137 |
} |
5325 |
05 Mar 19 |
olle |
138 |
|
5325 |
05 Mar 19 |
olle |
istat.caseSummary = function() |
5325 |
05 Mar 19 |
olle |
140 |
{ |
5325 |
05 Mar 19 |
olle |
//alert("case_summary_shortcut.js::caseSummary(): Start"); |
5325 |
05 Mar 19 |
olle |
var frm = document.forms['meludi']; |
5325 |
05 Mar 19 |
olle |
var caseList = istat.getSelectedItemsList(); |
5325 |
05 Mar 19 |
olle |
var caseName = caseList[0].name; |
5325 |
05 Mar 19 |
olle |
//alert("case_summary_shortcut.js::caseSummary(): caseName = " + caseName); |
5325 |
05 Mar 19 |
olle |
146 |
|
5325 |
05 Mar 19 |
olle |
Doc.addClass('extractSourceItems', 'disabled'); |
5325 |
05 Mar 19 |
olle |
148 |
|
5325 |
05 Mar 19 |
olle |
Doc.hide('gonext'); |
5325 |
05 Mar 19 |
olle |
150 |
|
5325 |
05 Mar 19 |
olle |
var url = 'case_summary.jsp?ID='+App.getSessionId(); |
5325 |
05 Mar 19 |
olle |
url += '&caseName='+encodeURIComponent(caseName); |
5325 |
05 Mar 19 |
olle |
//url += '&pageType='+Data.get('page-data', 'page-type'); |
5325 |
05 Mar 19 |
olle |
//alert("case_summary_shortcut::caseSummary(): url = " + url); |
5325 |
05 Mar 19 |
olle |
location.href = url; |
5325 |
05 Mar 19 |
olle |
156 |
} |
5325 |
05 Mar 19 |
olle |
157 |
|
5325 |
05 Mar 19 |
olle |
istat.getSelectedItemsList = function() |
5325 |
05 Mar 19 |
olle |
159 |
{ |
5325 |
05 Mar 19 |
olle |
var frm = document.forms['meludi']; |
5325 |
05 Mar 19 |
olle |
161 |
|
5325 |
05 Mar 19 |
olle |
// Get number of selected extract source items |
5325 |
05 Mar 19 |
olle |
var numItems = 0; |
5325 |
05 Mar 19 |
olle |
var selItemsList = []; |
5325 |
05 Mar 19 |
olle |
for (var i = 0; i < frm.extractSourceItems.length; i++) |
5325 |
05 Mar 19 |
olle |
166 |
{ |
5325 |
05 Mar 19 |
olle |
if (frm.extractSourceItems[i].selected) |
5325 |
05 Mar 19 |
olle |
168 |
{ |
5325 |
05 Mar 19 |
olle |
if (frm.extractSourceItems[i].item != null) |
5325 |
05 Mar 19 |
olle |
170 |
{ |
5325 |
05 Mar 19 |
olle |
selItemsList[numItems] = frm.extractSourceItems[i].item; |
5325 |
05 Mar 19 |
olle |
numItems++; |
5325 |
05 Mar 19 |
olle |
173 |
} |
5325 |
05 Mar 19 |
olle |
174 |
} |
5325 |
05 Mar 19 |
olle |
175 |
} |
5325 |
05 Mar 19 |
olle |
return selItemsList; |
5325 |
05 Mar 19 |
olle |
177 |
} |
5325 |
05 Mar 19 |
olle |
178 |
|
5325 |
05 Mar 19 |
olle |
return istat; |
5325 |
05 Mar 19 |
olle |
180 |
}(); |
5325 |
05 Mar 19 |
olle |
181 |
|
5325 |
05 Mar 19 |
olle |
Doc.onLoad(Istat.initPage); |
5325 |
05 Mar 19 |
olle |
183 |
|