4915 |
16 Jul 18 |
olle |
var Istat = function() |
4915 |
16 Jul 18 |
olle |
2 |
{ |
4915 |
16 Jul 18 |
olle |
var istat = {}; |
4915 |
16 Jul 18 |
olle |
var debug = 0; |
4915 |
16 Jul 18 |
olle |
5 |
|
4915 |
16 Jul 18 |
olle |
var refVariantDefault = 'kit1_standard'; |
4915 |
16 Jul 18 |
olle |
7 |
|
4915 |
16 Jul 18 |
olle |
// Page initialization |
4915 |
16 Jul 18 |
olle |
istat.initPage = function() |
4915 |
16 Jul 18 |
olle |
10 |
{ |
4915 |
16 Jul 18 |
olle |
// Step 1 |
4915 |
16 Jul 18 |
olle |
Events.addEventHandler('step-1', 'wizard-validate', istat.validateStep1); |
4915 |
16 Jul 18 |
olle |
Events.addEventHandler('extractSourceItems', 'change', istat.sourceItemsOnChange); |
4915 |
16 Jul 18 |
olle |
Buttons.addClickHandler('gonext', Wizard.goNextOnClick); |
4915 |
16 Jul 18 |
olle |
15 |
|
4915 |
16 Jul 18 |
olle |
// Step 2 |
4915 |
16 Jul 18 |
olle |
Buttons.addClickHandler('downloadformbatch2', istat.downloadFormBatch2); |
5069 |
01 Nov 18 |
olle |
Buttons.addClickHandler('downloadffpesectionlabelfile', istat.downloadFfpeSectionLabelFile); |
5069 |
01 Nov 18 |
olle |
Buttons.addClickHandler('downloadheglasslabelfile', istat.downloadHeGlassLabelFile); |
5127 |
21 Nov 18 |
olle |
Buttons.addClickHandler('formsok', istat.formsOk); |
4915 |
16 Jul 18 |
olle |
21 |
|
4915 |
16 Jul 18 |
olle |
// Navigation |
4915 |
16 Jul 18 |
olle |
Buttons.addClickHandler('gocancel', Wizard.cancelWizard); |
4915 |
16 Jul 18 |
olle |
Buttons.addClickHandler('gorestart', Wizard.restartWizard); |
4915 |
16 Jul 18 |
olle |
25 |
|
4915 |
16 Jul 18 |
olle |
// Get FFPE block items |
4915 |
16 Jul 18 |
olle |
var url = '../Extraction.servlet?ID='+App.getSessionId(); |
5061 |
30 Oct 18 |
olle |
url += '&cmd=GetFfpeBlocksUnusedForSectionOrderForm'; |
4915 |
16 Jul 18 |
olle |
Wizard.showLoadingAnimation('Loading unprocessed items...'); |
4915 |
16 Jul 18 |
olle |
Wizard.asyncJsonRequest(url, istat.initializeStep1); |
4915 |
16 Jul 18 |
olle |
31 |
} |
4915 |
16 Jul 18 |
olle |
32 |
|
4915 |
16 Jul 18 |
olle |
istat.initializeStep1 = function(response) |
4915 |
16 Jul 18 |
olle |
34 |
{ |
4915 |
16 Jul 18 |
olle |
var frm = document.forms['meludi']; |
4915 |
16 Jul 18 |
olle |
var items = response.items; |
4915 |
16 Jul 18 |
olle |
37 |
|
4915 |
16 Jul 18 |
olle |
var sourceItemList = frm.extractSourceItems; |
4915 |
16 Jul 18 |
olle |
if (items.length) |
4915 |
16 Jul 18 |
olle |
40 |
{ |
4915 |
16 Jul 18 |
olle |
var numItems = items.length; |
4915 |
16 Jul 18 |
olle |
for (var i=0; i < items.length; i++) |
4915 |
16 Jul 18 |
olle |
43 |
{ |
4915 |
16 Jul 18 |
olle |
var item = items[i]; |
4915 |
16 Jul 18 |
olle |
var name = (i+1) + ': ' + Strings.encodeTags(item.name); |
5084 |
12 Nov 18 |
olle |
46 |
/* |
4915 |
16 Jul 18 |
olle |
if (item.pad) |
4915 |
16 Jul 18 |
olle |
48 |
{ |
4915 |
16 Jul 18 |
olle |
name += ' -- (PAD: ' + Strings.encodeTags(item.pad + ')'); |
4915 |
16 Jul 18 |
olle |
50 |
} |
5084 |
12 Nov 18 |
olle |
51 |
*/ |
5084 |
12 Nov 18 |
olle |
if (item.materialNumber) |
5084 |
12 Nov 18 |
olle |
53 |
{ |
5084 |
12 Nov 18 |
olle |
name += ' -- (Mtrl-no: ' + Strings.encodeTags(item.materialNumber + ')'); |
5084 |
12 Nov 18 |
olle |
55 |
} |
4915 |
16 Jul 18 |
olle |
var selected = i < 8; |
4915 |
16 Jul 18 |
olle |
var option = new Option(name, item.id, selected, selected); |
4915 |
16 Jul 18 |
olle |
option.item = item; |
5048 |
22 Oct 18 |
olle |
if (item.yellowLabel) |
5048 |
22 Oct 18 |
olle |
60 |
{ |
5048 |
22 Oct 18 |
olle |
option.className = 'yellow'; |
5048 |
22 Oct 18 |
olle |
62 |
} |
4915 |
16 Jul 18 |
olle |
sourceItemList.options[sourceItemList.length] = option; |
4915 |
16 Jul 18 |
olle |
64 |
} |
4915 |
16 Jul 18 |
olle |
istat.sourceItemsOnChange(); |
4915 |
16 Jul 18 |
olle |
66 |
} |
4915 |
16 Jul 18 |
olle |
else |
4915 |
16 Jul 18 |
olle |
68 |
{ |
4915 |
16 Jul 18 |
olle |
Wizard.setFatalError('No FFPE block items available.'); |
4915 |
16 Jul 18 |
olle |
return; |
4915 |
16 Jul 18 |
olle |
71 |
} |
4915 |
16 Jul 18 |
olle |
72 |
|
4915 |
16 Jul 18 |
olle |
Doc.show('step-1'); |
4915 |
16 Jul 18 |
olle |
Doc.show('gonext'); |
4915 |
16 Jul 18 |
olle |
75 |
} |
4915 |
16 Jul 18 |
olle |
76 |
|
4915 |
16 Jul 18 |
olle |
istat.sourceItemsOnChange = function() |
4915 |
16 Jul 18 |
olle |
78 |
{ |
4915 |
16 Jul 18 |
olle |
sourceItemListIsValid = false; |
4915 |
16 Jul 18 |
olle |
Wizard.setInputStatus('extractSourceItems'); |
4915 |
16 Jul 18 |
olle |
81 |
|
4915 |
16 Jul 18 |
olle |
var frm = document.forms['meludi']; |
4915 |
16 Jul 18 |
olle |
var sourceItemList = frm.extractSourceItems; |
4915 |
16 Jul 18 |
olle |
84 |
|
4915 |
16 Jul 18 |
olle |
var numSelected = 0; |
4915 |
16 Jul 18 |
olle |
for (var i = 0; i < sourceItemList.length; i++) |
4915 |
16 Jul 18 |
olle |
87 |
{ |
4915 |
16 Jul 18 |
olle |
if (sourceItemList[i].selected) numSelected++; |
4915 |
16 Jul 18 |
olle |
89 |
} |
4915 |
16 Jul 18 |
olle |
90 |
|
4915 |
16 Jul 18 |
olle |
if (numSelected < 1) |
4915 |
16 Jul 18 |
olle |
92 |
{ |
4915 |
16 Jul 18 |
olle |
Wizard.setInputStatus('extractSourceItems', 'invalid', 'Must select a number of FFPE block items.'); |
4915 |
16 Jul 18 |
olle |
return; |
4915 |
16 Jul 18 |
olle |
95 |
} |
4915 |
16 Jul 18 |
olle |
96 |
|
4915 |
16 Jul 18 |
olle |
sourceItemListIsValid = true; |
4915 |
16 Jul 18 |
olle |
Wizard.setInputStatus('extractSourceItems', 'valid'); |
4915 |
16 Jul 18 |
olle |
99 |
} |
4915 |
16 Jul 18 |
olle |
100 |
|
4915 |
16 Jul 18 |
olle |
istat.validateStep1 = function(event) |
4915 |
16 Jul 18 |
olle |
102 |
{ |
4915 |
16 Jul 18 |
olle |
if (!sourceItemListIsValid) |
4915 |
16 Jul 18 |
olle |
104 |
{ |
4915 |
16 Jul 18 |
olle |
event.preventDefault(); |
4915 |
16 Jul 18 |
olle |
106 |
} |
4915 |
16 Jul 18 |
olle |
var valid = true; |
4915 |
16 Jul 18 |
olle |
108 |
|
4915 |
16 Jul 18 |
olle |
istat.generateReferralForms(); |
4915 |
16 Jul 18 |
olle |
110 |
} |
4915 |
16 Jul 18 |
olle |
111 |
|
4915 |
16 Jul 18 |
olle |
istat.generateReferralForms = function() |
4915 |
16 Jul 18 |
olle |
113 |
{ |
4915 |
16 Jul 18 |
olle |
var frm = document.forms['meludi']; |
4915 |
16 Jul 18 |
olle |
var refVariant = refVariantDefault; |
4915 |
16 Jul 18 |
olle |
var ffpeBlockList = istat.getSelectedItemsList(); |
4915 |
16 Jul 18 |
olle |
117 |
|
4915 |
16 Jul 18 |
olle |
Doc.addClass('extractSourceItems', 'disabled'); |
4915 |
16 Jul 18 |
olle |
119 |
|
4915 |
16 Jul 18 |
olle |
Doc.hide('gonext'); |
4915 |
16 Jul 18 |
olle |
121 |
|
4915 |
16 Jul 18 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
4915 |
16 Jul 18 |
olle |
url += '&cmd=GenerateFfpeSectionOrderForm'; |
4915 |
16 Jul 18 |
olle |
url += '&referralvariant='+encodeURIComponent(refVariant); |
4915 |
16 Jul 18 |
olle |
url += '&ffpeblocklist='+encodeURIComponent(JSON.stringify(ffpeBlockList)); |
4915 |
16 Jul 18 |
olle |
126 |
|
4915 |
16 Jul 18 |
olle |
Wizard.showLoadingAnimation('Generating referral forms...', 'ref-gen-progress'); |
4915 |
16 Jul 18 |
olle |
Wizard.asyncJsonRequest(url, istat.initializeStep2); |
4915 |
16 Jul 18 |
olle |
129 |
/* |
4915 |
16 Jul 18 |
olle |
// POST |
4915 |
16 Jul 18 |
olle |
Wizard.showLoadingAnimation('Generating referral forms...', 'ref-gen-progress'); |
4915 |
16 Jul 18 |
olle |
Wizard.asyncJsonRequest(url, istat.initializeStep2, 'POST', formData); |
4915 |
16 Jul 18 |
olle |
133 |
*/ |
4915 |
16 Jul 18 |
olle |
134 |
} |
4915 |
16 Jul 18 |
olle |
135 |
|
4915 |
16 Jul 18 |
olle |
istat.initializeStep2 = function(response) |
4915 |
16 Jul 18 |
olle |
137 |
{ |
4915 |
16 Jul 18 |
olle |
var frm = document.forms['meludi']; |
4915 |
16 Jul 18 |
olle |
frm.extractSourceItems.disabled = true; |
4915 |
16 Jul 18 |
olle |
140 |
|
4915 |
16 Jul 18 |
olle |
Wizard.setCurrentStep(2); |
4915 |
16 Jul 18 |
olle |
Wizard.showFinalMessage(response.messages); |
4915 |
16 Jul 18 |
olle |
143 |
|
4915 |
16 Jul 18 |
olle |
Doc.hide('gonext'); |
4915 |
16 Jul 18 |
olle |
Doc.show('downloadformbatch2'); |
5069 |
01 Nov 18 |
olle |
Doc.show('downloadffpesectionlabelfile'); |
5069 |
01 Nov 18 |
olle |
Doc.show('downloadheglasslabelfile'); |
5127 |
21 Nov 18 |
olle |
Doc.show('formsok'); |
4915 |
16 Jul 18 |
olle |
149 |
|
4915 |
16 Jul 18 |
olle |
Doc.show('step-2'); |
4915 |
16 Jul 18 |
olle |
151 |
} |
4915 |
16 Jul 18 |
olle |
152 |
|
5213 |
09 Jan 19 |
olle |
istat.initializeStep2a = function(response) |
5213 |
09 Jan 19 |
olle |
154 |
{ |
5213 |
09 Jan 19 |
olle |
var frm = document.forms['meludi']; |
5213 |
09 Jan 19 |
olle |
frm.extractSourceItems.disabled = true; |
5213 |
09 Jan 19 |
olle |
157 |
|
5213 |
09 Jan 19 |
olle |
Wizard.setCurrentStep(3); |
5213 |
09 Jan 19 |
olle |
Wizard.showFinalMessage(response.messages); |
5213 |
09 Jan 19 |
olle |
160 |
|
5213 |
09 Jan 19 |
olle |
Doc.show('gorestart'); |
5213 |
09 Jan 19 |
olle |
Doc.hide('gonext'); |
5213 |
09 Jan 19 |
olle |
Doc.show('downloadformbatch2'); |
5213 |
09 Jan 19 |
olle |
Doc.show('downloadffpesectionlabelfile'); |
5213 |
09 Jan 19 |
olle |
Doc.show('downloadheglasslabelfile'); |
5213 |
09 Jan 19 |
olle |
166 |
|
5213 |
09 Jan 19 |
olle |
Doc.show('step-3'); |
5213 |
09 Jan 19 |
olle |
168 |
} |
5213 |
09 Jan 19 |
olle |
169 |
|
4915 |
16 Jul 18 |
olle |
istat.downloadFormBatch2 = function() |
4915 |
16 Jul 18 |
olle |
171 |
{ |
4915 |
16 Jul 18 |
olle |
istat.downloadFormBatch(2); |
4915 |
16 Jul 18 |
olle |
173 |
} |
4915 |
16 Jul 18 |
olle |
174 |
|
4915 |
16 Jul 18 |
olle |
istat.downloadFormBatch = function(batchType) |
4915 |
16 Jul 18 |
olle |
176 |
{ |
4915 |
16 Jul 18 |
olle |
var frm = document.forms['meludi']; |
4915 |
16 Jul 18 |
olle |
var ffpeBlockList = istat.getSelectedItemsList(); |
4915 |
16 Jul 18 |
olle |
var startItemName = ffpeBlockList[0].name; |
4915 |
16 Jul 18 |
olle |
var endItemName = ffpeBlockList[ffpeBlockList.length - 1].name; |
4915 |
16 Jul 18 |
olle |
var nofFfpeBlocks = ffpeBlockList.length; |
5215 |
09 Jan 19 |
olle |
var altFilename = 'FFPE_Section_Order_Form'; |
4915 |
16 Jul 18 |
olle |
183 |
|
4915 |
16 Jul 18 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
4915 |
16 Jul 18 |
olle |
url += '&cmd=DownloadFormBatchFile'; |
4915 |
16 Jul 18 |
olle |
url += '&batchType='+batchType; |
4915 |
16 Jul 18 |
olle |
url += '&startitemname='+encodeURIComponent(startItemName); |
4915 |
16 Jul 18 |
olle |
url += '&enditemname='+encodeURIComponent(endItemName); |
4915 |
16 Jul 18 |
olle |
url += '&nofFfpeBlocks='+encodeURIComponent(nofFfpeBlocks); |
5215 |
09 Jan 19 |
olle |
url += '&altfilename='+encodeURIComponent(altFilename); |
4915 |
16 Jul 18 |
olle |
window.open(url); |
4915 |
16 Jul 18 |
olle |
192 |
} |
4915 |
16 Jul 18 |
olle |
193 |
|
5069 |
01 Nov 18 |
olle |
istat.downloadFfpeSectionLabelFile = function() |
5069 |
01 Nov 18 |
olle |
195 |
{ |
5069 |
01 Nov 18 |
olle |
var frm = document.forms['meludi']; |
5069 |
01 Nov 18 |
olle |
var ffpeBlockList = istat.getSelectedItemsList(); |
5069 |
01 Nov 18 |
olle |
var preview = false; |
5069 |
01 Nov 18 |
olle |
199 |
|
5069 |
01 Nov 18 |
olle |
var url = '../LabelGeneration.servlet?ID=' + App.getSessionId(); |
5069 |
01 Nov 18 |
olle |
url += '&cmd=GetFfpeSectionLabelFile'; |
5069 |
01 Nov 18 |
olle |
url += '&ffpeblocklist='+encodeURIComponent(JSON.stringify(ffpeBlockList)); |
5069 |
01 Nov 18 |
olle |
url += '&preview=' + preview; |
5069 |
01 Nov 18 |
olle |
204 |
|
5069 |
01 Nov 18 |
olle |
if (preview) |
5069 |
01 Nov 18 |
olle |
206 |
{ |
5069 |
01 Nov 18 |
olle |
Doc.hide('previewWrapper'); |
5069 |
01 Nov 18 |
olle |
url += '&preview=1'; |
5069 |
01 Nov 18 |
olle |
209 |
|
5069 |
01 Nov 18 |
olle |
Wizard.showLoadingAnimation('Working...'); |
5069 |
01 Nov 18 |
olle |
Doc.hide('navigation'); |
5069 |
01 Nov 18 |
olle |
Wizard.asyncJsonRequest(url, istat.onPreviewLoaded); |
5069 |
01 Nov 18 |
olle |
213 |
} |
5069 |
01 Nov 18 |
olle |
else |
5069 |
01 Nov 18 |
olle |
215 |
{ |
5084 |
12 Nov 18 |
olle |
//window.location = url; |
5084 |
12 Nov 18 |
olle |
window.open(url); |
5069 |
01 Nov 18 |
olle |
218 |
} |
5069 |
01 Nov 18 |
olle |
219 |
} |
5069 |
01 Nov 18 |
olle |
220 |
|
5069 |
01 Nov 18 |
olle |
istat.downloadHeGlassLabelFile = function() |
5069 |
01 Nov 18 |
olle |
222 |
{ |
5069 |
01 Nov 18 |
olle |
var frm = document.forms['meludi']; |
5069 |
01 Nov 18 |
olle |
var ffpeBlockList = istat.getSelectedItemsList(); |
5069 |
01 Nov 18 |
olle |
var preview = false; |
5069 |
01 Nov 18 |
olle |
226 |
|
5069 |
01 Nov 18 |
olle |
var url = '../LabelGeneration.servlet?ID=' + App.getSessionId(); |
5069 |
01 Nov 18 |
olle |
url += '&cmd=GetHeGlassLabelFile'; |
5069 |
01 Nov 18 |
olle |
url += '&ffpeblocklist='+encodeURIComponent(JSON.stringify(ffpeBlockList)); |
5069 |
01 Nov 18 |
olle |
url += '&preview=' + preview; |
5069 |
01 Nov 18 |
olle |
231 |
|
5069 |
01 Nov 18 |
olle |
if (preview) |
5069 |
01 Nov 18 |
olle |
233 |
{ |
5069 |
01 Nov 18 |
olle |
Doc.hide('previewWrapper'); |
5069 |
01 Nov 18 |
olle |
url += '&preview=1'; |
5069 |
01 Nov 18 |
olle |
236 |
|
5069 |
01 Nov 18 |
olle |
Wizard.showLoadingAnimation('Working...'); |
5069 |
01 Nov 18 |
olle |
Doc.hide('navigation'); |
5069 |
01 Nov 18 |
olle |
Wizard.asyncJsonRequest(url, istat.onPreviewLoaded); |
5069 |
01 Nov 18 |
olle |
240 |
} |
5069 |
01 Nov 18 |
olle |
else |
5069 |
01 Nov 18 |
olle |
242 |
{ |
5084 |
12 Nov 18 |
olle |
//window.location = url; |
5084 |
12 Nov 18 |
olle |
window.open(url); |
5069 |
01 Nov 18 |
olle |
245 |
} |
5069 |
01 Nov 18 |
olle |
246 |
} |
5069 |
01 Nov 18 |
olle |
247 |
|
5127 |
21 Nov 18 |
olle |
istat.formsOk = function() |
5127 |
21 Nov 18 |
olle |
249 |
{ |
5127 |
21 Nov 18 |
olle |
var frm = document.forms['meludi']; |
5127 |
21 Nov 18 |
olle |
var ffpeBlockList = istat.getSelectedItemsList(); |
5127 |
21 Nov 18 |
olle |
252 |
|
5127 |
21 Nov 18 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
5127 |
21 Nov 18 |
olle |
url += '&cmd=RegisterFfpeSectionOrderFormsAsOk'; |
5127 |
21 Nov 18 |
olle |
url += '&ffpeblocklist='+encodeURIComponent(JSON.stringify(ffpeBlockList)); |
5127 |
21 Nov 18 |
olle |
256 |
|
5127 |
21 Nov 18 |
olle |
Wizard.showLoadingAnimation('Registering forms as OK...', 'ref-gen-progress'); |
5213 |
09 Jan 19 |
olle |
//Wizard.asyncJsonRequest(url, istat.initializeStep2); |
5213 |
09 Jan 19 |
olle |
Wizard.asyncJsonRequest(url, istat.initializeStep2a); |
5127 |
21 Nov 18 |
olle |
260 |
} |
5127 |
21 Nov 18 |
olle |
261 |
|
4915 |
16 Jul 18 |
olle |
istat.getSelectedItemsList = function() |
4915 |
16 Jul 18 |
olle |
263 |
{ |
4915 |
16 Jul 18 |
olle |
var frm = document.forms['meludi']; |
4915 |
16 Jul 18 |
olle |
265 |
|
4915 |
16 Jul 18 |
olle |
// Get number of selected extract source items |
4915 |
16 Jul 18 |
olle |
var numItems = 0; |
4915 |
16 Jul 18 |
olle |
var selItemsList = []; |
4915 |
16 Jul 18 |
olle |
for (var i = 0; i < frm.extractSourceItems.length; i++) |
4915 |
16 Jul 18 |
olle |
270 |
{ |
4915 |
16 Jul 18 |
olle |
if (frm.extractSourceItems[i].selected) |
4915 |
16 Jul 18 |
olle |
272 |
{ |
4915 |
16 Jul 18 |
olle |
if (frm.extractSourceItems[i].item != null) |
4915 |
16 Jul 18 |
olle |
274 |
{ |
4915 |
16 Jul 18 |
olle |
selItemsList[numItems] = frm.extractSourceItems[i].item; |
4915 |
16 Jul 18 |
olle |
numItems++; |
4915 |
16 Jul 18 |
olle |
277 |
} |
4915 |
16 Jul 18 |
olle |
278 |
} |
4915 |
16 Jul 18 |
olle |
279 |
} |
4915 |
16 Jul 18 |
olle |
return selItemsList; |
4915 |
16 Jul 18 |
olle |
281 |
} |
4915 |
16 Jul 18 |
olle |
282 |
|
4915 |
16 Jul 18 |
olle |
return istat; |
4915 |
16 Jul 18 |
olle |
284 |
}(); |
4915 |
16 Jul 18 |
olle |
285 |
|
4915 |
16 Jul 18 |
olle |
Doc.onLoad(Istat.initPage); |
4915 |
16 Jul 18 |
olle |
287 |
|