6783 |
25 Jul 22 |
olle |
var Istat = function() |
6783 |
25 Jul 22 |
olle |
2 |
{ |
6783 |
25 Jul 22 |
olle |
var istat = {}; |
6783 |
25 Jul 22 |
olle |
var debug = 0; |
6783 |
25 Jul 22 |
olle |
5 |
|
6783 |
25 Jul 22 |
olle |
var caseInfo; |
6783 |
25 Jul 22 |
olle |
7 |
|
6783 |
25 Jul 22 |
olle |
var usesSitePrefix = false; |
6783 |
25 Jul 22 |
olle |
var referralPrefix = ''; |
6783 |
25 Jul 22 |
olle |
var referralNumDigits = 5; |
6783 |
25 Jul 22 |
olle |
//var refVariantDefault = 'kit1_standard'; |
6783 |
25 Jul 22 |
olle |
var refVariantDefault = 'lucas-sticker-form'; |
6783 |
25 Jul 22 |
olle |
13 |
|
6783 |
25 Jul 22 |
olle |
var refStartItemIdPure; |
6783 |
25 Jul 22 |
olle |
var itemIsValid = false; |
6783 |
25 Jul 22 |
olle |
16 |
|
6783 |
25 Jul 22 |
olle |
istat.initPage = function() |
6783 |
25 Jul 22 |
olle |
18 |
{ |
6783 |
25 Jul 22 |
olle |
//alert("generate-referral-forms_alt_lucas.js::initPage(): Start"); |
6783 |
25 Jul 22 |
olle |
// Step 1 |
6783 |
25 Jul 22 |
olle |
21 |
/* |
6783 |
25 Jul 22 |
olle |
Events.addEventHandler('step-1', 'wizard-validate', istat.validateStep1); |
6783 |
25 Jul 22 |
olle |
Events.addEventHandler('sites', 'change', istat.siteAndVariantOnChange); |
6783 |
25 Jul 22 |
olle |
//Events.addEventHandler('referralvariant', 'change', istat.siteAndVariantOnChange); |
6783 |
25 Jul 22 |
olle |
Buttons.addClickHandler('gonext', Wizard.goNextOnClick); |
6783 |
25 Jul 22 |
olle |
26 |
|
6783 |
25 Jul 22 |
olle |
// Step 2 |
6783 |
25 Jul 22 |
olle |
Events.addEventHandler('step-2', 'wizard-validate', istat.validateStep2); |
6783 |
25 Jul 22 |
olle |
29 |
*/ |
6783 |
25 Jul 22 |
olle |
Events.addEventHandler('step-1', 'wizard-validate', istat.validateStep2); |
6783 |
25 Jul 22 |
olle |
Events.addEventHandler('itemName', 'keypress', Wizard.focusOnEnter); |
6783 |
25 Jul 22 |
olle |
Events.addEventHandler('itemName', 'blur', istat.itemNameOnChange); |
6783 |
25 Jul 22 |
olle |
Buttons.addClickHandler('gonext', Wizard.goNextOnClick); |
6783 |
25 Jul 22 |
olle |
34 |
|
6783 |
25 Jul 22 |
olle |
// Step 2 |
6783 |
25 Jul 22 |
olle |
Buttons.addClickHandler('downloadformbatch1', istat.downloadFormBatch1); |
6783 |
25 Jul 22 |
olle |
Buttons.addClickHandler('downloadformbatch2', istat.downloadFormBatch2); |
6783 |
25 Jul 22 |
olle |
Buttons.addClickHandler('downloadlabelfile', istat.downloadLabelFile); |
6783 |
25 Jul 22 |
olle |
Buttons.addClickHandler('updateuseditemidlist', istat.updateUsedItemIdDigitsList); |
6783 |
25 Jul 22 |
olle |
40 |
|
6783 |
25 Jul 22 |
olle |
// Navigation |
6783 |
25 Jul 22 |
olle |
Buttons.addClickHandler('gocancel', Wizard.cancelWizard); |
6783 |
25 Jul 22 |
olle |
Buttons.addClickHandler('gorestart', Wizard.restartWizard); |
6783 |
25 Jul 22 |
olle |
44 |
|
6783 |
25 Jul 22 |
olle |
Doc.show('step-1'); |
6783 |
25 Jul 22 |
olle |
Doc.show('gonext'); |
6783 |
25 Jul 22 |
olle |
Doc.addClass('gonext', 'disabled'); |
6783 |
25 Jul 22 |
olle |
48 |
|
6783 |
25 Jul 22 |
olle |
refStartItemIdPure = ''; |
6783 |
25 Jul 22 |
olle |
50 |
|
6783 |
25 Jul 22 |
olle |
51 |
/* |
6783 |
25 Jul 22 |
olle |
// Load sites |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=GetSites'; |
6783 |
25 Jul 22 |
olle |
Doc.addClass('sites', 'list-loading'); |
6783 |
25 Jul 22 |
olle |
frm.sites[0] = new Option('loading...'); |
6783 |
25 Jul 22 |
olle |
Wizard.asyncJsonRequest(url, istat.sitesLoaded); |
6783 |
25 Jul 22 |
olle |
59 |
*/ |
6783 |
25 Jul 22 |
olle |
60 |
|
6783 |
25 Jul 22 |
olle |
// Load permissions |
6783 |
25 Jul 22 |
olle |
istat.initPermissions(); |
6783 |
25 Jul 22 |
olle |
// Load configuration |
6783 |
25 Jul 22 |
olle |
istat.loadConfiguration(); |
6783 |
25 Jul 22 |
olle |
65 |
// |
6783 |
25 Jul 22 |
olle |
istat.initializeStep2(); |
6783 |
25 Jul 22 |
olle |
67 |
} |
6783 |
25 Jul 22 |
olle |
68 |
|
6783 |
25 Jul 22 |
olle |
istat.initPermissions = function() |
6783 |
25 Jul 22 |
olle |
70 |
{ |
6783 |
25 Jul 22 |
olle |
// Get permission information |
6783 |
25 Jul 22 |
olle |
var url = '../Install.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=GetPermissions'; |
6783 |
25 Jul 22 |
olle |
var request = Ajax.getXmlHttpRequest(); |
6783 |
25 Jul 22 |
olle |
request.open("GET", url, true); |
6783 |
25 Jul 22 |
olle |
Ajax.setReadyStateHandler(request, istat.onPermissionsLoaded, istat.onPermissionsLoaded); |
6783 |
25 Jul 22 |
olle |
request.send(null); |
6783 |
25 Jul 22 |
olle |
78 |
} |
6783 |
25 Jul 22 |
olle |
79 |
|
6783 |
25 Jul 22 |
olle |
// Callback when permission information is ready |
6783 |
25 Jul 22 |
olle |
istat.onPermissionsLoaded = function(request) |
6783 |
25 Jul 22 |
olle |
82 |
{ |
6783 |
25 Jul 22 |
olle |
if (debug) App.debug(Strings.encodeTags(request.responseText)); |
6783 |
25 Jul 22 |
olle |
var response; |
6783 |
25 Jul 22 |
olle |
var error = false; |
6783 |
25 Jul 22 |
olle |
try |
6783 |
25 Jul 22 |
olle |
87 |
{ |
6783 |
25 Jul 22 |
olle |
response = JSON.parse(request.responseText); |
6783 |
25 Jul 22 |
olle |
if (response.status != 'ok') |
6783 |
25 Jul 22 |
olle |
90 |
{ |
6783 |
25 Jul 22 |
olle |
error = response.message || response.stacktrace || 'Unexpected error'; |
6783 |
25 Jul 22 |
olle |
92 |
} |
6783 |
25 Jul 22 |
olle |
93 |
} |
6783 |
25 Jul 22 |
olle |
catch (ex) |
6783 |
25 Jul 22 |
olle |
95 |
{ |
6783 |
25 Jul 22 |
olle |
error = ex; |
6783 |
25 Jul 22 |
olle |
97 |
} |
6783 |
25 Jul 22 |
olle |
98 |
|
6783 |
25 Jul 22 |
olle |
if (error) |
6783 |
25 Jul 22 |
olle |
100 |
{ |
6783 |
25 Jul 22 |
olle |
alert(error); |
6783 |
25 Jul 22 |
olle |
return; |
6783 |
25 Jul 22 |
olle |
103 |
} |
6783 |
25 Jul 22 |
olle |
104 |
|
6783 |
25 Jul 22 |
olle |
myPermissions = response.permissions; |
6783 |
25 Jul 22 |
olle |
//var isAdmin = myPermissions['Administrator'] == 1; |
6783 |
25 Jul 22 |
olle |
//var noProjectIsActive = !App.getActiveProjectId(); |
6783 |
25 Jul 22 |
olle |
108 |
} |
6783 |
25 Jul 22 |
olle |
109 |
|
6783 |
25 Jul 22 |
olle |
istat.loadConfiguration = function() |
6783 |
25 Jul 22 |
olle |
111 |
{ |
6783 |
25 Jul 22 |
olle |
var url = '../Session.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=GetConfiguration' |
6783 |
25 Jul 22 |
olle |
var request = Ajax.getXmlHttpRequest(); |
6783 |
25 Jul 22 |
olle |
request.open("GET", url, true); |
6783 |
25 Jul 22 |
olle |
Ajax.setReadyStateHandler(request, istat.onConfiguration, istat.onConfiguration); |
6783 |
25 Jul 22 |
olle |
request.send(null); |
6783 |
25 Jul 22 |
olle |
118 |
} |
6783 |
25 Jul 22 |
olle |
119 |
|
6783 |
25 Jul 22 |
olle |
istat.onConfiguration = function(request) |
6783 |
25 Jul 22 |
olle |
121 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
123 |
|
6783 |
25 Jul 22 |
olle |
if (debug) |
6783 |
25 Jul 22 |
olle |
125 |
{ |
6783 |
25 Jul 22 |
olle |
App.debug(Strings.encodeTags(request.responseText)); |
6783 |
25 Jul 22 |
olle |
127 |
} |
6783 |
25 Jul 22 |
olle |
128 |
|
6783 |
25 Jul 22 |
olle |
var response; |
6783 |
25 Jul 22 |
olle |
var error = false; |
6783 |
25 Jul 22 |
olle |
try |
6783 |
25 Jul 22 |
olle |
132 |
{ |
6783 |
25 Jul 22 |
olle |
response = JSON.parse(request.responseText); |
6783 |
25 Jul 22 |
olle |
if (response.status != 'ok') |
6783 |
25 Jul 22 |
olle |
135 |
{ |
6783 |
25 Jul 22 |
olle |
error = response.message || response.stacktrace || 'Unexpected error'; |
6783 |
25 Jul 22 |
olle |
137 |
} |
6783 |
25 Jul 22 |
olle |
138 |
} |
6783 |
25 Jul 22 |
olle |
catch (ex) |
6783 |
25 Jul 22 |
olle |
140 |
{ |
6783 |
25 Jul 22 |
olle |
error = ex; |
6783 |
25 Jul 22 |
olle |
142 |
} |
6783 |
25 Jul 22 |
olle |
if (error) App.debug(error); |
6783 |
25 Jul 22 |
olle |
144 |
|
6783 |
25 Jul 22 |
olle |
// Get configuration result |
6783 |
25 Jul 22 |
olle |
var conf = response.configuration; |
6783 |
25 Jul 22 |
olle |
// Check for uses site prefix flag |
6783 |
25 Jul 22 |
olle |
usesSitePrefix = conf.usesSitePrefix; |
6783 |
25 Jul 22 |
olle |
referralPrefix = conf.referralPrefix; |
6783 |
25 Jul 22 |
olle |
referralNumDigits = conf.referralNumDigits; |
6783 |
25 Jul 22 |
olle |
//alert("generate-referral-forms.js::onConfiguration(): usesSitePrefix = " + usesSitePrefix + " referralPrefix = " + referralPrefix + " referralNumDigits = " + referralNumDigits); |
6783 |
25 Jul 22 |
olle |
152 |
/* |
6783 |
25 Jul 22 |
olle |
// Check for project focus default |
6783 |
25 Jul 22 |
olle |
var projectFocusDefault = conf.projectFocusDefault; |
6783 |
25 Jul 22 |
olle |
if (projectFocusDefault != null) |
6783 |
25 Jul 22 |
olle |
156 |
{ |
6783 |
25 Jul 22 |
olle |
frm.projectFocus.value = projectFocusDefault; |
6783 |
25 Jul 22 |
olle |
streg.projectFocusOnChange(); |
6783 |
25 Jul 22 |
olle |
159 |
} |
6783 |
25 Jul 22 |
olle |
// Check for specimen type default |
6783 |
25 Jul 22 |
olle |
var specimenTypeDefault = conf.specimenTypeDefault; |
6783 |
25 Jul 22 |
olle |
if (specimenTypeDefault != null) |
6783 |
25 Jul 22 |
olle |
163 |
{ |
6783 |
25 Jul 22 |
olle |
frm.specimenType.value = specimenTypeDefault; |
6783 |
25 Jul 22 |
olle |
165 |
} |
6783 |
25 Jul 22 |
olle |
// Check for specimen input type default |
6783 |
25 Jul 22 |
olle |
var specimenInputTypeDefault = conf.specimenInputTypeDefault; |
6783 |
25 Jul 22 |
olle |
if (specimenInputTypeDefault != null) |
6783 |
25 Jul 22 |
olle |
169 |
{ |
6783 |
25 Jul 22 |
olle |
frm.specimenInputType.value = specimenInputTypeDefault; |
6783 |
25 Jul 22 |
olle |
171 |
} |
6783 |
25 Jul 22 |
olle |
// Check for extracts from first specimen only default |
6783 |
25 Jul 22 |
olle |
var extractsFromFirstSpecimenOnlyDefault = conf.extractsFromFirstSpecimenOnlyDefault; |
6783 |
25 Jul 22 |
olle |
if (extractsFromFirstSpecimenOnlyDefault != null) |
6783 |
25 Jul 22 |
olle |
175 |
{ |
6783 |
25 Jul 22 |
olle |
frm.extractsFromFirstSpecimenOnlyCB.checked = extractsFromFirstSpecimenOnlyDefault; |
6783 |
25 Jul 22 |
olle |
177 |
} |
6783 |
25 Jul 22 |
olle |
178 |
*/ |
6783 |
25 Jul 22 |
olle |
179 |
|
6783 |
25 Jul 22 |
olle |
180 |
/* |
6783 |
25 Jul 22 |
olle |
// Continue with initializing info for case |
6783 |
25 Jul 22 |
olle |
var url = '../LabelGeneration.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=CountCases'; |
6783 |
25 Jul 22 |
olle |
Wizard.showLoadingAnimation('Loading cases...'); |
6783 |
25 Jul 22 |
olle |
Wizard.asyncJsonRequest(url, streg.caseInfoLoadedStep1); |
6783 |
25 Jul 22 |
olle |
186 |
*/ |
6783 |
25 Jul 22 |
olle |
if (usesSitePrefix) |
6783 |
25 Jul 22 |
olle |
188 |
{ |
6783 |
25 Jul 22 |
olle |
// Load sites |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=GetSites'; |
6783 |
25 Jul 22 |
olle |
Doc.addClass('sites', 'list-loading'); |
6783 |
25 Jul 22 |
olle |
frm.sites[0] = new Option('loading...'); |
6783 |
25 Jul 22 |
olle |
Wizard.asyncJsonRequest(url, istat.sitesLoaded); |
6783 |
25 Jul 22 |
olle |
196 |
} |
6783 |
25 Jul 22 |
olle |
197 |
} |
6783 |
25 Jul 22 |
olle |
198 |
|
6783 |
25 Jul 22 |
olle |
istat.sitesLoaded = function(response) |
6783 |
25 Jul 22 |
olle |
200 |
{ |
6783 |
25 Jul 22 |
olle |
Doc.removeClass('sites', 'list-loading'); |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
var sites = response.sites; |
6783 |
25 Jul 22 |
olle |
frm.sites.length = 0; |
6783 |
25 Jul 22 |
olle |
//frm.sites[0] = new Option('All sites together', ''); |
6783 |
25 Jul 22 |
olle |
frm.sites[0] = new Option('- Select site -', ''); |
6783 |
25 Jul 22 |
olle |
for (var i = 0; i < sites.length; i++) |
6783 |
25 Jul 22 |
olle |
208 |
{ |
6783 |
25 Jul 22 |
olle |
var s = sites[i]; |
6783 |
25 Jul 22 |
olle |
//var option = new Option(s.name, s.prefix); |
6783 |
25 Jul 22 |
olle |
var option = new Option(s.name + ' [' + s.prefix + ']', s.prefix); |
6783 |
25 Jul 22 |
olle |
frm.sites[frm.sites.length] = option; |
6783 |
25 Jul 22 |
olle |
213 |
} |
6783 |
25 Jul 22 |
olle |
214 |
} |
6783 |
25 Jul 22 |
olle |
215 |
|
6783 |
25 Jul 22 |
olle |
istat.siteAndVariantOnChange = function() |
6783 |
25 Jul 22 |
olle |
217 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
var site = frm.sites.value; |
6783 |
25 Jul 22 |
olle |
//var refVariant = frm.referralvariant.value; |
6783 |
25 Jul 22 |
olle |
var refVariant = refVariantDefault; |
6783 |
25 Jul 22 |
olle |
var siteAndVariantAreValid = false; |
6783 |
25 Jul 22 |
olle |
if (site != '' && refVariant != '') |
6783 |
25 Jul 22 |
olle |
224 |
{ |
6783 |
25 Jul 22 |
olle |
siteAndVariantAreValid = true; |
6783 |
25 Jul 22 |
olle |
226 |
} |
6783 |
25 Jul 22 |
olle |
if (siteAndVariantAreValid) |
6783 |
25 Jul 22 |
olle |
228 |
{ |
6783 |
25 Jul 22 |
olle |
// Check if multiple template files for same referral from type |
6783 |
25 Jul 22 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=GetReferralTemplateInfo'; |
6783 |
25 Jul 22 |
olle |
url += '&site='+encodeURIComponent(site); |
6783 |
25 Jul 22 |
olle |
url += '&referralvariant='+encodeURIComponent(refVariant); |
6783 |
25 Jul 22 |
olle |
Wizard.showLoadingAnimation('Getting referral template info...', 'ref-gen-progress'); |
6783 |
25 Jul 22 |
olle |
Wizard.asyncJsonRequest(url, istat.preValidateStep1); |
6783 |
25 Jul 22 |
olle |
236 |
} |
6783 |
25 Jul 22 |
olle |
else |
6783 |
25 Jul 22 |
olle |
238 |
{ |
6783 |
25 Jul 22 |
olle |
Doc.addClass('gonext', 'disabled'); |
6783 |
25 Jul 22 |
olle |
240 |
} |
6783 |
25 Jul 22 |
olle |
241 |
} |
6783 |
25 Jul 22 |
olle |
242 |
|
6783 |
25 Jul 22 |
olle |
istat.preValidateStep1 = function(response) |
6783 |
25 Jul 22 |
olle |
244 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
246 |
|
6783 |
25 Jul 22 |
olle |
var jsonMultTemplates = response.multTemplates; |
6783 |
25 Jul 22 |
olle |
if (jsonMultTemplates.length > 0) |
6783 |
25 Jul 22 |
olle |
249 |
{ |
6783 |
25 Jul 22 |
olle |
// List multiple templates/type |
6783 |
25 Jul 22 |
olle |
//var html = '<table id="templateFilesTable" class="step-form">'; |
6783 |
25 Jul 22 |
olle |
var html = '<br>'; |
6783 |
25 Jul 22 |
olle |
html += '<table id="templateFilesTable">'; |
6783 |
25 Jul 22 |
olle |
// Header row |
6783 |
25 Jul 22 |
olle |
html += '<tr>'; |
6783 |
25 Jul 22 |
olle |
html += '<th>Multiple template files for same type</th>'; |
6783 |
25 Jul 22 |
olle |
html += '<th>Template type</th>'; |
6783 |
25 Jul 22 |
olle |
html += '</tr>'; |
6783 |
25 Jul 22 |
olle |
// File list |
6783 |
25 Jul 22 |
olle |
for (var i = 0; i < jsonMultTemplates.length; i++) |
6783 |
25 Jul 22 |
olle |
261 |
{ |
6783 |
25 Jul 22 |
olle |
//var filename = jsonMultTemplates[i]; |
6783 |
25 Jul 22 |
olle |
var jsonMultTempl = jsonMultTemplates[i]; |
6783 |
25 Jul 22 |
olle |
var filename = jsonMultTempl['file']; |
6783 |
25 Jul 22 |
olle |
var type = jsonMultTempl['type']; |
6783 |
25 Jul 22 |
olle |
html += '<tr>'; |
6783 |
25 Jul 22 |
olle |
html += '<td> ' + filename + '</td>'; |
6783 |
25 Jul 22 |
olle |
html += '<td> ' + type + '</td>'; |
6783 |
25 Jul 22 |
olle |
html += '</tr>'; |
6783 |
25 Jul 22 |
olle |
270 |
} |
6783 |
25 Jul 22 |
olle |
html += '</table>'; |
6783 |
25 Jul 22 |
olle |
Doc.element('step1message').innerHTML = html; |
6783 |
25 Jul 22 |
olle |
273 |
|
6783 |
25 Jul 22 |
olle |
// Display extra checkbox to confirm use of multiple templates/type |
6783 |
25 Jul 22 |
olle |
var confirmMsg = 'Check to verify use of multiple template files for same type.'; |
6783 |
25 Jul 22 |
olle |
Wizard.showGoNextConfirmation(true, confirmMsg); |
6783 |
25 Jul 22 |
olle |
return; |
6783 |
25 Jul 22 |
olle |
278 |
} |
6783 |
25 Jul 22 |
olle |
else |
6783 |
25 Jul 22 |
olle |
280 |
{ |
6783 |
25 Jul 22 |
olle |
Doc.removeClass('gonext', 'disabled'); |
6783 |
25 Jul 22 |
olle |
282 |
} |
6783 |
25 Jul 22 |
olle |
283 |
} |
6783 |
25 Jul 22 |
olle |
284 |
|
6783 |
25 Jul 22 |
olle |
istat.validateStep1 = function(event) |
6783 |
25 Jul 22 |
olle |
286 |
{ |
6783 |
25 Jul 22 |
olle |
istat.initializeStep2(); |
6783 |
25 Jul 22 |
olle |
288 |
} |
6783 |
25 Jul 22 |
olle |
289 |
|
6783 |
25 Jul 22 |
olle |
istat.initializeStep2 = function(response) |
6783 |
25 Jul 22 |
olle |
291 |
{ |
6783 |
25 Jul 22 |
olle |
//alert("generate-referral-forms_alt_lucas.js::initializeStep2(): Start"); |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
//Wizard.setCurrentStep(2); |
6783 |
25 Jul 22 |
olle |
Wizard.setCurrentStep(1); |
6783 |
25 Jul 22 |
olle |
296 |
|
6783 |
25 Jul 22 |
olle |
//istat.selectOptionsDisabled('sites', true); |
6783 |
25 Jul 22 |
olle |
//istat.selectOptionsDisabled('referralvariant', true); |
6783 |
25 Jul 22 |
olle |
299 |
|
6783 |
25 Jul 22 |
olle |
// Get referral start info |
6783 |
25 Jul 22 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=GetReferralStartInfo'; |
6783 |
25 Jul 22 |
olle |
Wizard.showLoadingAnimation('Getting referral start info...', 'ref-gen-progress'); |
6783 |
25 Jul 22 |
olle |
Wizard.asyncJsonRequest(url, istat.initializeStep2a); |
6783 |
25 Jul 22 |
olle |
305 |
} |
6783 |
25 Jul 22 |
olle |
306 |
|
6783 |
25 Jul 22 |
olle |
istat.initializeStep2a = function(response) |
6783 |
25 Jul 22 |
olle |
308 |
{ |
6783 |
25 Jul 22 |
olle |
//alert("generate-referral-forms_alt_lucas.js::initializeStep2a(): Start"); |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
311 |
|
6783 |
25 Jul 22 |
olle |
var jsonRefStartInfo = response.refStartInfo; |
6783 |
25 Jul 22 |
olle |
313 |
|
6783 |
25 Jul 22 |
olle |
//var site = frm.sites.value; |
6783 |
25 Jul 22 |
olle |
//var refVariant = frm.referralvariant.value; |
6783 |
25 Jul 22 |
olle |
var refVariant = refVariantDefault; |
6783 |
25 Jul 22 |
olle |
317 |
|
6783 |
25 Jul 22 |
olle |
// Initialize number of referral forms to generate |
6803 |
23 Aug 22 |
olle |
var nofFormSetsDefault = 20; |
6783 |
25 Jul 22 |
olle |
if (refVariant == 'kit2_neoadjuvant') |
6783 |
25 Jul 22 |
olle |
321 |
{ |
6783 |
25 Jul 22 |
olle |
nofFormSetsDefault = 25; |
6783 |
25 Jul 22 |
olle |
323 |
} |
6783 |
25 Jul 22 |
olle |
frm.nofFormSets.value = nofFormSetsDefault; |
6783 |
25 Jul 22 |
olle |
325 |
|
6783 |
25 Jul 22 |
olle |
if (referralPrefix == null || referralPrefix == '') |
6783 |
25 Jul 22 |
olle |
327 |
{ |
6783 |
25 Jul 22 |
olle |
referralPrefix = 'LB'; |
6783 |
25 Jul 22 |
olle |
329 |
} |
6783 |
25 Jul 22 |
olle |
refStartItemIdPure = jsonRefStartInfo['startItemIdDigitsPure']; |
6783 |
25 Jul 22 |
olle |
//alert("generate-referral-forms.js::initializeStep2a(): refStartItemIdPure = " + refStartItemIdPure); |
6783 |
25 Jul 22 |
olle |
var lastUpdated = jsonRefStartInfo['lastUpdated']; |
6783 |
25 Jul 22 |
olle |
// Add site prefix to referral pure start item id |
6783 |
25 Jul 22 |
olle |
//var refStartItemId = referralPrefix + site + refStartItemIdPure; |
6783 |
25 Jul 22 |
olle |
var refStartItemId = referralPrefix + refStartItemIdPure; |
6783 |
25 Jul 22 |
olle |
if (lastUpdated != null && lastUpdated != '') |
6783 |
25 Jul 22 |
olle |
337 |
{ |
6783 |
25 Jul 22 |
olle |
Doc.element('referralIdLastUpdated').innerHTML = lastUpdated; |
6783 |
25 Jul 22 |
olle |
339 |
} |
6783 |
25 Jul 22 |
olle |
frm.itemName.value = refStartItemId; |
6783 |
25 Jul 22 |
olle |
341 |
|
6783 |
25 Jul 22 |
olle |
Doc.show('gonext'); |
6783 |
25 Jul 22 |
olle |
343 |
|
6783 |
25 Jul 22 |
olle |
//Doc.show('step-2'); |
6783 |
25 Jul 22 |
olle |
Doc.show('step-1'); |
6783 |
25 Jul 22 |
olle |
346 |
} |
6783 |
25 Jul 22 |
olle |
347 |
|
6783 |
25 Jul 22 |
olle |
istat.itemNameOnChange = function() |
6783 |
25 Jul 22 |
olle |
349 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
var itemName = frm.itemName.value.toUpperCase(); |
6783 |
25 Jul 22 |
olle |
itemIsValid = false; |
6783 |
25 Jul 22 |
olle |
Doc.addClass('gonext', 'disabled'); |
6783 |
25 Jul 22 |
olle |
if (itemName == '') |
6783 |
25 Jul 22 |
olle |
355 |
{ |
6783 |
25 Jul 22 |
olle |
Wizard.setInputStatus('itemName', 'invalid', 'Missing'); |
6783 |
25 Jul 22 |
olle |
frm.itemName.focus(); |
6783 |
25 Jul 22 |
olle |
return; |
6783 |
25 Jul 22 |
olle |
359 |
} |
6783 |
25 Jul 22 |
olle |
//alert("generate-referral-forms.js::itemNameOnChange(): itemName = " + itemName) |
6783 |
25 Jul 22 |
olle |
361 |
/* |
6783 |
25 Jul 22 |
olle |
if (!Meludi.isValidCaseName(caseName, true)) // Allow C/D suffix to be used |
6783 |
25 Jul 22 |
olle |
363 |
{ |
6783 |
25 Jul 22 |
olle |
Wizard.setInputStatus('caseName', 'invalid', 'Only 7-digits name + optional \'C\' or \'D\' is allowed.'); |
6783 |
25 Jul 22 |
olle |
frm.caseName.focus(); |
6783 |
25 Jul 22 |
olle |
return; |
6783 |
25 Jul 22 |
olle |
367 |
} |
6783 |
25 Jul 22 |
olle |
// Check if pure case name < stored next pure case name |
6783 |
25 Jul 22 |
olle |
var currefStartCaseIdPure = caseName.substring(2); |
6783 |
25 Jul 22 |
olle |
if (currefStartCaseIdPure < refStartCaseIdPure) |
6783 |
25 Jul 22 |
olle |
371 |
{ |
6783 |
25 Jul 22 |
olle |
var confirmMsg = 'Check to verify use of pure SCAN-B ID < ' + refStartCaseIdPure + ' (stored value).'; |
6783 |
25 Jul 22 |
olle |
Wizard.showGoNextConfirmation(true, confirmMsg); |
6783 |
25 Jul 22 |
olle |
return; |
6783 |
25 Jul 22 |
olle |
375 |
} |
6783 |
25 Jul 22 |
olle |
376 |
*/ |
6783 |
25 Jul 22 |
olle |
Wizard.setInputStatus('itemName'); |
6783 |
25 Jul 22 |
olle |
if (itemName == '') |
6783 |
25 Jul 22 |
olle |
379 |
{ |
6783 |
25 Jul 22 |
olle |
Wizard.setInputStatus('itemName', 'invalid', 'Missing'); |
6783 |
25 Jul 22 |
olle |
frm.itemName.focus(); |
6783 |
25 Jul 22 |
olle |
382 |
} |
6783 |
25 Jul 22 |
olle |
else if (!Meludi.isValidCaseName2(itemName, referralPrefix, referralNumDigits)) |
6783 |
25 Jul 22 |
olle |
384 |
{ |
6783 |
25 Jul 22 |
olle |
Wizard.setInputStatus('itemName', 'invalid', 'Only name = "' + referralPrefix + '" + ' + referralNumDigits + ' digits is allowed.'); |
6783 |
25 Jul 22 |
olle |
frm.itemName.focus(); |
6783 |
25 Jul 22 |
olle |
387 |
} |
6783 |
25 Jul 22 |
olle |
else |
6783 |
25 Jul 22 |
olle |
389 |
{ |
6783 |
25 Jul 22 |
olle |
Wizard.setInputStatus('itemName', 'valid'); |
6783 |
25 Jul 22 |
olle |
itemIsValid = true; |
6783 |
25 Jul 22 |
olle |
392 |
} |
6783 |
25 Jul 22 |
olle |
393 |
/* |
6783 |
25 Jul 22 |
olle |
// Check if pure case name < stored next pure case name |
6783 |
25 Jul 22 |
olle |
var currefStartCaseIdPure = caseName.substring(2); |
6783 |
25 Jul 22 |
olle |
if (currefStartCaseIdPure < refStartCaseIdPure) |
6783 |
25 Jul 22 |
olle |
397 |
{ |
6783 |
25 Jul 22 |
olle |
var confirmMsg = 'Check to verify use of pure SCAN-B ID < ' + refStartCaseIdPure + ' (stored value).'; |
6783 |
25 Jul 22 |
olle |
Wizard.showGoNextConfirmation(true, confirmMsg); |
6783 |
25 Jul 22 |
olle |
return; |
6783 |
25 Jul 22 |
olle |
401 |
} |
6783 |
25 Jul 22 |
olle |
402 |
*/ |
6783 |
25 Jul 22 |
olle |
403 |
|
6783 |
25 Jul 22 |
olle |
frm.itemName.value = itemName; |
6783 |
25 Jul 22 |
olle |
Wizard.setInputStatus('itemName', 'valid'); |
6783 |
25 Jul 22 |
olle |
itemIsValid = true; |
6783 |
25 Jul 22 |
olle |
Doc.removeClass('gonext', 'disabled'); |
6783 |
25 Jul 22 |
olle |
408 |
} |
6783 |
25 Jul 22 |
olle |
409 |
|
6783 |
25 Jul 22 |
olle |
istat.validateStep2 = function(event) |
6783 |
25 Jul 22 |
olle |
411 |
{ |
6783 |
25 Jul 22 |
olle |
var valid = true; |
6783 |
25 Jul 22 |
olle |
valid &= Wizard.isValid('itemName'); |
6783 |
25 Jul 22 |
olle |
if (!valid) event.preventDefault(); |
6783 |
25 Jul 22 |
olle |
415 |
|
6783 |
25 Jul 22 |
olle |
istat.generateReferralForms(); |
6783 |
25 Jul 22 |
olle |
417 |
} |
6783 |
25 Jul 22 |
olle |
418 |
|
6783 |
25 Jul 22 |
olle |
istat.generateReferralForms = function() |
6783 |
25 Jul 22 |
olle |
420 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
//var refVariant = frm.referralvariant.value; |
6783 |
25 Jul 22 |
olle |
var refVariant = refVariantDefault; |
6783 |
25 Jul 22 |
olle |
var startItemName = frm.itemName.value; |
6783 |
25 Jul 22 |
olle |
var nofFormSets = frm.nofFormSets.value; |
6783 |
25 Jul 22 |
olle |
426 |
|
6783 |
25 Jul 22 |
olle |
Doc.addClass('itemName', 'disabled'); |
6783 |
25 Jul 22 |
olle |
Doc.addClass('nofFormSets', 'disabled'); |
6783 |
25 Jul 22 |
olle |
429 |
|
6783 |
25 Jul 22 |
olle |
Doc.hide('gonext'); |
6783 |
25 Jul 22 |
olle |
431 |
|
6783 |
25 Jul 22 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=GenerateReferralForms'; |
6783 |
25 Jul 22 |
olle |
url += '&referralvariant='+encodeURIComponent(refVariant); |
6783 |
25 Jul 22 |
olle |
url += '&startitemname='+encodeURIComponent(startItemName); |
6783 |
25 Jul 22 |
olle |
url += '&nofformsets='+encodeURIComponent(nofFormSets); |
6783 |
25 Jul 22 |
olle |
437 |
|
6783 |
25 Jul 22 |
olle |
Wizard.showLoadingAnimation('Generating referral forms...', 'ref-gen-progress'); |
6783 |
25 Jul 22 |
olle |
Wizard.asyncJsonRequest(url, istat.initializeStep3); |
6783 |
25 Jul 22 |
olle |
440 |
/* |
6783 |
25 Jul 22 |
olle |
// POST |
6783 |
25 Jul 22 |
olle |
Wizard.showLoadingAnimation('Generating referral forms...', 'ref-gen-progress'); |
6783 |
25 Jul 22 |
olle |
Wizard.asyncJsonRequest(url, istat.initializeStep2, 'POST', formData); |
6783 |
25 Jul 22 |
olle |
444 |
*/ |
6783 |
25 Jul 22 |
olle |
445 |
} |
6783 |
25 Jul 22 |
olle |
446 |
|
6783 |
25 Jul 22 |
olle |
istat.initializeStep3 = function(response) |
6783 |
25 Jul 22 |
olle |
448 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
Wizard.setCurrentStep(3); |
6783 |
25 Jul 22 |
olle |
Wizard.showFinalMessage(response.messages); |
6783 |
25 Jul 22 |
olle |
452 |
|
6783 |
25 Jul 22 |
olle |
Doc.hide('gonext'); |
6783 |
25 Jul 22 |
olle |
Doc.show('downloadformbatch1'); |
6783 |
25 Jul 22 |
olle |
Doc.show('downloadformbatch2'); |
6783 |
25 Jul 22 |
olle |
Doc.show('downloadlabelfile'); |
6783 |
25 Jul 22 |
olle |
Doc.show('updateuseditemidlist'); |
6783 |
25 Jul 22 |
olle |
458 |
|
6783 |
25 Jul 22 |
olle |
Doc.show('step-3'); |
6783 |
25 Jul 22 |
olle |
460 |
} |
6783 |
25 Jul 22 |
olle |
461 |
|
6783 |
25 Jul 22 |
olle |
istat.initializeStep3a = function(response) |
6783 |
25 Jul 22 |
olle |
463 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
Wizard.setCurrentStep(3); |
6783 |
25 Jul 22 |
olle |
Wizard.showFinalMessage(response.messages); |
6783 |
25 Jul 22 |
olle |
467 |
|
6783 |
25 Jul 22 |
olle |
Doc.show('gorestart'); |
6783 |
25 Jul 22 |
olle |
Doc.hide('gonext'); |
6783 |
25 Jul 22 |
olle |
Doc.show('downloadformbatch1'); |
6783 |
25 Jul 22 |
olle |
Doc.show('downloadformbatch2'); |
6783 |
25 Jul 22 |
olle |
Doc.show('downloadlabelfile'); |
6783 |
25 Jul 22 |
olle |
Doc.show('updateuseditemidlist'); |
6783 |
25 Jul 22 |
olle |
Doc.addClass('updateuseditemidlist', 'disabled'); |
6783 |
25 Jul 22 |
olle |
475 |
|
6783 |
25 Jul 22 |
olle |
Doc.show('step-3'); |
6783 |
25 Jul 22 |
olle |
477 |
} |
6783 |
25 Jul 22 |
olle |
478 |
|
6783 |
25 Jul 22 |
olle |
istat.downloadFormBatch1 = function() |
6783 |
25 Jul 22 |
olle |
480 |
{ |
6783 |
25 Jul 22 |
olle |
istat.downloadFormBatch(1); |
6783 |
25 Jul 22 |
olle |
482 |
} |
6783 |
25 Jul 22 |
olle |
483 |
|
6783 |
25 Jul 22 |
olle |
istat.downloadFormBatch2 = function() |
6783 |
25 Jul 22 |
olle |
485 |
{ |
6783 |
25 Jul 22 |
olle |
istat.downloadFormBatch(2); |
6783 |
25 Jul 22 |
olle |
487 |
} |
6783 |
25 Jul 22 |
olle |
488 |
|
6783 |
25 Jul 22 |
olle |
istat.downloadFormBatch = function(batchType) |
6783 |
25 Jul 22 |
olle |
490 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
var startItemName = frm.itemName.value; |
6783 |
25 Jul 22 |
olle |
var nofFormSets = frm.nofFormSets.value; |
6783 |
25 Jul 22 |
olle |
494 |
|
6783 |
25 Jul 22 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=DownloadFormBatchFile'; |
6783 |
25 Jul 22 |
olle |
url += '&batchType='+batchType; |
6783 |
25 Jul 22 |
olle |
url += '&startitemname='+encodeURIComponent(startItemName); |
6783 |
25 Jul 22 |
olle |
url += '&nofformsets='+encodeURIComponent(nofFormSets); |
6783 |
25 Jul 22 |
olle |
window.open(url); |
6783 |
25 Jul 22 |
olle |
501 |
} |
6783 |
25 Jul 22 |
olle |
502 |
|
6783 |
25 Jul 22 |
olle |
istat.downloadLabelFile = function() |
6783 |
25 Jul 22 |
olle |
504 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
var startItemName = frm.itemName.value; |
6783 |
25 Jul 22 |
olle |
var nofFormSets = frm.nofFormSets.value; |
6783 |
25 Jul 22 |
olle |
var preview = false; |
6783 |
25 Jul 22 |
olle |
509 |
|
6783 |
25 Jul 22 |
olle |
var url = '../LabelGeneration.servlet?ID=' + App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=GetSerumLabelFile'; |
6783 |
25 Jul 22 |
olle |
url += '&startitemname='+encodeURIComponent(startItemName); |
6783 |
25 Jul 22 |
olle |
url += '&nofformsets='+encodeURIComponent(nofFormSets); |
6783 |
25 Jul 22 |
olle |
url += '&preview=' + preview; |
6783 |
25 Jul 22 |
olle |
515 |
|
6783 |
25 Jul 22 |
olle |
if (preview) |
6783 |
25 Jul 22 |
olle |
517 |
{ |
6783 |
25 Jul 22 |
olle |
Doc.hide('previewWrapper'); |
6783 |
25 Jul 22 |
olle |
url += '&preview=1'; |
6783 |
25 Jul 22 |
olle |
520 |
|
6783 |
25 Jul 22 |
olle |
Wizard.showLoadingAnimation('Working...'); |
6783 |
25 Jul 22 |
olle |
Doc.hide('navigation'); |
6783 |
25 Jul 22 |
olle |
Wizard.asyncJsonRequest(url, istat.onPreviewLoaded); |
6783 |
25 Jul 22 |
olle |
524 |
} |
6783 |
25 Jul 22 |
olle |
else |
6783 |
25 Jul 22 |
olle |
526 |
{ |
6783 |
25 Jul 22 |
olle |
//window.location = url; |
6783 |
25 Jul 22 |
olle |
window.open(url); |
6783 |
25 Jul 22 |
olle |
529 |
} |
6783 |
25 Jul 22 |
olle |
530 |
} |
6783 |
25 Jul 22 |
olle |
531 |
|
6783 |
25 Jul 22 |
olle |
istat.updateUsedItemIdDigitsList = function() |
6783 |
25 Jul 22 |
olle |
533 |
{ |
6783 |
25 Jul 22 |
olle |
var frm = document.forms['meludi']; |
6783 |
25 Jul 22 |
olle |
var startItemName = frm.itemName.value; |
6783 |
25 Jul 22 |
olle |
var nofFormSets = frm.nofFormSets.value; |
6783 |
25 Jul 22 |
olle |
537 |
|
6783 |
25 Jul 22 |
olle |
var url = '../ReferralGenerator.servlet?ID='+App.getSessionId(); |
6783 |
25 Jul 22 |
olle |
url += '&cmd=UpdateUsedItemIdDigitsList'; |
6783 |
25 Jul 22 |
olle |
url += '&startitemname='+encodeURIComponent(startItemName); |
6783 |
25 Jul 22 |
olle |
url += '&nofformsets='+encodeURIComponent(nofFormSets); |
6783 |
25 Jul 22 |
olle |
542 |
|
6783 |
25 Jul 22 |
olle |
Wizard.asyncJsonRequest(url, istat.initializeStep3a); |
6783 |
25 Jul 22 |
olle |
544 |
} |
6783 |
25 Jul 22 |
olle |
545 |
|
6783 |
25 Jul 22 |
olle |
istat.selectOptionsDisabled = function(id, value) |
6783 |
25 Jul 22 |
olle |
547 |
{ |
6783 |
25 Jul 22 |
olle |
var op = document.getElementById(id).getElementsByTagName('option'); |
6783 |
25 Jul 22 |
olle |
for (var i = 0; i < op.length; i++) |
6783 |
25 Jul 22 |
olle |
550 |
{ |
6783 |
25 Jul 22 |
olle |
op[i].disabled = value; |
6783 |
25 Jul 22 |
olle |
552 |
} |
6783 |
25 Jul 22 |
olle |
553 |
} |
6783 |
25 Jul 22 |
olle |
554 |
|
6783 |
25 Jul 22 |
olle |
return istat; |
6783 |
25 Jul 22 |
olle |
556 |
}(); |
6783 |
25 Jul 22 |
olle |
557 |
|
6783 |
25 Jul 22 |
olle |
Doc.onLoad(Istat.initPage); |
6783 |
25 Jul 22 |
olle |
559 |
|