';
html += '';
}
$('#attach-list-'+postCode+' tbody').html(html);
}
},
function() {}, //Error
false //Don't show the loader
);
}
//Mark this file as skipable
globalUploadList[globalUploadCounter].skip = true;
gobalUpload = null;
gloabalUploadErrorHandling = false;
uploadRemovePauseProgress('#upload-current-progress_'+globalUploadCounter);
//uploadCleanItemIcons();
uploadSetItemCheckIcon('#upload-item-icon_'+globalUploadCounter);
globalUploadCounter++;
var file = getCurrentFileToUpload();
if (file !== false) {
uploadTusFile(file);
//Operations after upload finished
//In Request page (Edit/View)
if ($('#request-page-type').length > 0) {
switch($('#request-page-type').val()) {
case 'request-edit':
//Load the attachment list
break;
case 'request-view':
break;
}
}
} else {
//Upload loop complete
uploadSetPlayBtn();
globalUploadInProgress = false;
hideUploadWarning();
$('#btn-tus-upload').hide();
//Operations after upload loop finished
//In Request page (Edit/View)
if ($('#request-page-type').length > 0) {
switch($('#request-page-type').val()) {
case 'request-edit':
break;
case 'request-view':
document.location.hash = replaceTimestamp(document.location.hash, 2);
//Load all comments to show the attachemts
/*var requestID = $('#request-id').length > 0 ? parseInt($('#request-id').val()) : 0;
var centerID = $('#center-id').length > 0 ? parseInt($('#center-id').val()) : 0;
if (requestID > 0 && centerID > 0) {
request('/api/request/requestLoadAllComments', {requestID:requestID, centerID:centerID},
function(ret) { //success (ret.status ok)
if (typeof ret.html !== 'undefined')
$('#request-comment-wrapper').html(ret.html);
if (typeof ret.log !== 'undefined')
console.log(ret.log);
},
function(ret) { //error (ret.status err)
},
false
);
}*/
break;
}
}
console.log('List complete');
}
}
});
// Start the upload
gobalUpload.start();
}
function uploadReset() {
if (globalUploadTimeout != null) {
clearTimeout(globalUploadTimeout);
globalUploadTimeout = null;
}
if (gobalUpload != null) {
gobalUpload.abort();
gobalUpload = null;
}
globalUploadInProgress = false;
gloabalUploadErrorHandling = false;
globalUploadCounter = 0;
globalUploadList = [];
uploadSetPlayBtn();
uploadRemovePauseProgress('#upload-current-progress_'+globalUploadCounter);
uploadCleanItemIcons();
$('#tus-upload-control').trigger('reset');
}
function request(url, data, successFunc, errorFunc, allowLoader, synchronous) {
if (!isOnline()) {
showMessage(glbAppOffline);
return false;
}
if (typeof allowLoader === 'undefined') allowLoader = true;
if (typeof synchronous !== 'undefined' && synchronous) ajaxRunning = false;
//console.log(isOnline());
if (!ajaxRunning) {
if (allowLoader) showLoader();
ajaxRunning = true;
ajaxRef = $.ajax({
dataType: 'json',
url: url,
data: data,
headers : {'api-key':apyKey, 'appRequestType':'web'},
method: 'POST',
success: function(ret) {
ajaxRunning = false;
hideLoader();
if (ret.status.toLowerCase() == 'ok') {
if (typeof ret.userLang !== 'undefined') {
document.documentElement.lang = ret.userLang;
}
if (typeof ret.userId !== 'undefined') {
$('#user-id').val(ret.userId);
}
if (typeof ret.groupId !== 'undefined') {
$('#group-id').val(ret.groupId);
}
//For Dream Integration
if (typeof ret.username !== 'undefined') {
$('#user-username').val(ret.username);
}
successFunc(ret);
} else {
if (typeof errorFunc === 'undefined') {
showMessage(ret.msg, ret.jsArgs);
} else {
errorFunc(ret);
}
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
ajaxRunning = false;
hideLoader();
if (XMLHttpRequest.readyState == 4) {
if (errorThrown != '') {
showMessage(errorThrown);
} else {
showMessage(glbGenericError+' (Err. cod. 0)');
}
//showMessage(errorThrown);
//showMessage(glbGenericError+' (Err. cod. 0)');
}
else if (XMLHttpRequest.readyState == 0) {
showMessage(glbGenericError+' (Err. cod. 1)');
}
else {
showMessage(glbGenericError+' (Err. cod. 2)');
}
}
});
}
}
function requestUpload(formElement, url, successFunc, errorFunc, allowLoader) {
if (!isOnline()) {
showMessage(glbAppOffline);
return false;
}
if (typeof allowLoader === 'undefined') allowLoader = true;
if (!ajaxRunning) {
if (allowLoader) showLoader();
ajaxRunning = true;
var data = new FormData(formElement);
ajaxRef = $.ajax({
dataType: 'json',
url: url,
data: data,
headers : {'api-key':apyKey, 'appRequestType':'web'},
method: 'POST',
enctype: 'multipart/form-data',
processData: false,
contentType: false,
cache: false,
success: function(ret) {
ajaxRunning = false;
hideLoader();
if (ret.status.toLowerCase() == 'ok') {
successFunc(ret);
} else {
errorFunc(ret);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
ajaxRunning = false;
hideLoader();
showMessage(XMLHttpRequest.statusText);
}
});
}
}
//ICD-10 dialog
//WARNING: this HTML code also is in requestEdit.view (ECD-10 section)
function setDeseaseCheckboxesList() {
var list = [];
$('.desease-id-checkbox').each(function() {
var label = $(this).data('label');
var id = $(this).val();
if ($(this).is(':checked')) {
list.push('
'+label+'
');
globalICD10List[id] = label;
}
});
//Also in requestEdit.view!!
if (list.length > 0) {
$('#icd10-list-content').empty();
for(var i = 0; i < list.length; i++) {
$('#icd10-list-content').append(list[i]);
}
$('#icd10-list-content').append('');
} else {
$('#icd10-list-content').empty();
}
}
//Wizard dialogs
//WARNING: this HTML code also is in requestEdit.view (Wizards section)
function setWizardCheckboxesList(checkboxClass, WizardContainer) {
var list = [];
$('.'+checkboxClass).each(function() {
var label = $(this).data('label');
if ($(this).is(':checked')) {
list.push('
'+label+'
');
}
});
//Also in requestEdit.view!!
if (list.length > 0) {
$('#'+WizardContainer).empty();
for(var i = 0; i < list.length; i++) {
$('#'+WizardContainer).append(list[i]);
}
$('#'+WizardContainer).append('');
} else {
$('#'+WizardContainer).empty();
}
}
//https://stackoverflow.com/questions/18299806/how-to-check-file-mime-type-with-javascript-before-upload
function checkImageFile(fileElement) {
//var fileElement = document.getElementById("your-files");
if (window.FileReader && window.Blob) {
var files = fileElement.files
for (var i = 0; i < files.length; i++) {
console.log("Filename: " + files[i].name);
console.log("Type: " + files[i].type);
console.log("Size: " + (files[i].size/1024).toFixed(2) + " mb");
}
}
return false;
}
function preparePage() {
showLoader();
}
function handlePage(ret, element, callbackFunc) {
if (typeof element === 'undefined' || element == null)
element = '#main';
$(element).html(ret.html);
if (isFunction(callbackFunc))
callbackFunc();
}
function toggleTranfer() { //Show/Hide Transfer Manager
var windowHeight = $(window).height();
$('#transfer-manager').height((windowHeight/1.5));
var elementHeight = $('#transfer-manager').height();
var position = $('#transfer-manager').offset();
var topLimit = (windowHeight-elementHeight);
var bottomLimit = (windowHeight+elementHeight);
var toPosition = 0;
if (position.top <= topLimit) {
toPosition = bottomLimit;
} else {
toPosition = topLimit;
}
$('#transfer-manager').animate({
top:toPosition
}, 'fast', function() {
resizeTranfer();
});
}
function resizeTranfer() {
var position = $('#transfer-manager').offset();
var windowHeight = $(window).height();
var elementHeight = $('#transfer-manager').height();
var topLimit = (windowHeight-elementHeight);
if (position.top <= topLimit) {
$('#transfer-manager').css({top:topLimit});
}
$('#upload-list-table-wrapper').height(elementHeight-80);
}
function hideTranfer() {
var windowHeight = $(window).height();
var elementHeight = $('#transfer-manager').height();
var position = $('#transfer-manager').offset();
$('#transfer-manager').animate({
top:(windowHeight+elementHeight)
}, 'fast');
}
function cleanUploadItems() {
if (globalUploadList.length > 0) {
var c = 0;
for(var i = 0; i < globalUploadList.length; i++) {
if (typeof globalUploadList[i].skip !== 'undefined') {
$('#upload-item-row_'+i).remove();
c++;
}
}
if (c == globalUploadList.length) {
//globalUploadList = [];
}
}
}
function uploadReset() {
if (gobalUpload != null) {
gobalUpload.abort();
gobalUpload = null;
}
if (globalUploadInterval != null) {
clearInterval(globalUploadInterval);
globalUploadInterval = null;
}
globalUploadInProgress = false;
globalUploadList = [];
globalUploadCounter = 0;
$('#tus-upload-control').reset();
}
function uploadSetPauseBtn() {
$('#btn-tus-upload').removeClass('btn-primary').addClass('btn-warning').find('span').removeClass('icon-play2').addClass('icon-pause');
}
function uploadSetPlayBtn() {
$('#btn-tus-upload').removeClass('btn-warning').addClass('btn-primary').find('span').removeClass('icon-pause').addClass('icon-play2');
}
function uploadSetItemPlayIcon(jQueryElement) {
//uploadCleanItemIcons();
$(jQueryElement).html('');
}
function uploadSetItemPauseIcon(jQueryElement) {
//uploadCleanItemIcons();
$(jQueryElement).html('');
}
function uploadSetItemCheckIcon(jQueryElement) {
$(jQueryElement).html('');
}
function uploadCleanItemIcons() {
$('.upload-item-icon').html('');
}
function uploadRemovePauseProgress(jQueryElement) {
$(jQueryElement).removeClass('progress-bar-animated');
$(jQueryElement).removeClass('progress-bar-striped');
}
function uploadSetPauseProgress(jQueryElement) {
$(jQueryElement).addClass('progress-bar-animated');
$(jQueryElement).addClass('progress-bar-striped');
}
function getCurrentFileToUpload() {
if (globalUploadList.length > 0) {
for(var i = globalUploadCounter; i < globalUploadList.length; i++) {
if (typeof globalUploadList[i].skip === 'undefined') {
globalUploadCounter = i;
return globalUploadList[i];
}
}
}
return false;
}
function gotoDest(destination) {
if (typeof destination === 'undefined') destination = '';
document.location.hash = '#/'+destination;
}
function showLoader() {
$('#loader-wrapper').show();
$('#overlay').show();
}
function hideLoader() {
$('#loader-wrapper').fadeOut();
$('#overlay').hide();
}
function showAnimatedLoader() {
$('#overlay').show();
}
function hideAnimatedLoader() {
$('#overlay').hide();
}
function isFunction(functionToCheck) {
return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';
}
function replaceTimestamp(currentHash, position) {
var s = currentHash.split('/');
s[position] = new Date().getTime();
return s.join('/');
}
function replaceHashParameter(hash, value, position) {
var s = hash.split('/');
s[position] = value;
return s.join('/');
}
function showUploadWarning() {
$('#upload-warning-wrapper').show();
}
function hideUploadWarning() {
$('#upload-warning-wrapper').fadeOut();
}
function showMessage(msg, params) {
var btnData = [{text: 'Ok', style: 'primary', close: true, click: function() {}}];
if (typeof params !== 'undefined' && params != null) {
if (typeof params.button !== 'undefined') {
switch (params.button) {
case 'login':
btnData[0].text = glbCancelButton;
btnData[0].style = 'light';
btnData.push({text: glbLoginButton, style: 'warning', close: true, click: function() {
//gotoDest();
document.location.href = '/';
}});
break;
case 'refresh-page':
btnData[0].click = function() {
document.location.reload();
}
break;
case 'refresh-hash':
btnData[0].click = function() {
//Update also the record ID in address bar
if (typeof params.recordId !== 'undefined' && typeof params.idPosition !== 'undefined') {
var hash = document.location.hash;
hash = replaceHashParameter(hash, params.recordId, params.idPosition);
document.location.hash = replaceTimestamp(hash, 2);
} else {
//Just update the timestamp
document.location.hash = replaceTimestamp(document.location.hash, 2);
}
}
break;
case 'refresh-user-edit':
btnData[0].click = function() {
var hash = replaceTimestamp(document.location.hash, 2);
document.location.hash = replaceHashParameter(hash, params.userId, 3);
}
break;
case 'goto':
if (typeof params.destination !== 'undefined')
gotoDest(params.destination);
/*btnData[0].click = function() {
if (typeof params.destination !== 'undefined')
gotoDest(params.destination);
}*/
break;
}
}
if (typeof params.dialogType !== 'undefined') {
switch(params.dialogType) {
case 'sessionExpired':
msg = glbSessionExpired;
break;
}
}
}
eModal.alert({
title:glbAppTitle,
message:msg,
buttons: btnData
});
}
function showConfirmCancel(title, msg, callback) {
eModal.alert({
title:title,
message:msg,
buttons: [
{text: 'Ok', style: 'primary', close: true, click: function() {
callback();
}},
{text: glbCancelButton, style: 'warning', close: true, click: function() {}}
]
});
}
function isOnline() {
return window.navigator.onLine;
}
function getLanguage() {
var lang = $.trim($('html').attr('lang'));
if (lang == '') lang = 'en';
return lang;
}
function numbLocalize(numb) {
var lang = getLanguage();
if (lang != 'en') {
numb = numb.replace('.', ',');
}
return numb;
}
function choosenHideDeleteCross() {
$('.search-choice-close').hide();
$('.chosen-container-multi .chosen-choices .search-choice').addClass('chosen-remove-padding');
}
// Initialize and add the map
function initMap(lat, lng) {
if ($('#map').length > 0) {
var place = {lat: parseFloat(lat), lng: parseFloat(lng)};
var map = new google.maps.Map(
document.getElementById('map'), {zoom: 4, center: place});
var marker = new google.maps.Marker({position: place, map: map});
}
}
function wsConnect() {
if (typeof appWebSocket !== 'undefined') {
appWebSocket.close();
}
//console.log('Connecting...');
if (typeof appWebSocket !== 'undefined' && appWebSocket.readyState == 1) return; //Already opened
appWebSocket = new WebSocket(glbWSEndpoint);
appWebSocket.onmessage = function(event) {
try {
wsData = $.parseJSON(event.data); //Global variable
//showDreamForm(wsData.centerName);
if (wsData.op == 'show-integration') {
showDreamForm(wsData.centerName);
/*if ($('#process-path').length > 0) {
var processPath = $('#process-path').val();
wsSend(JSON.stringify({op:"check-process", processpath:processPath}), false);
}*/
}
if (wsData.op == 'show-process-button') {
if ($('#process-path').length > 0) {
var processPath = $('#process-path').val();
wsSend(JSON.stringify({op:"check-process", processpath:processPath}), false);
}
}
if (wsData.op == 'hide-integration') {
hideDreamForm();
hideAnimatedLoader();
}
//wsConnectionCounter++;
if (wsData.op == 'response-data') {
//console.log(data.dreamData)
if (typeof wsData.dreamData != 'undefined') {
hideAnimatedLoader();
if ($('#request_dream_data').length > 0) {
$('#request_dream_data').val(JSON.stringify(wsData.dreamData));
if (typeof wsData.dreamData.Anagrafica !== 'undefined') {
if (!$.isEmptyObject(wsData.dreamData.Anagrafica)) {
var registry = wsData.dreamData.Anagrafica;
if (typeof registry.Nome !== 'undefined') {
$('#request_name').val(registry.Nome.trim());
}
if (typeof registry.Cognome !== 'undefined') {
$('#request_surname').val(registry.Cognome.trim());
}
if (typeof registry.sesso !== 'undefined') {
$('#request_gender').val(registry.sesso.toLowerCase().trim());
}
if (typeof registry.dataNascita !== 'undefined') {
var birthDate = new Date(registry.dataNascita);
var year = birthDate.getFullYear();
var month = parseInt(birthDate.getMonth())+1;
var day = birthDate.getDate();
$('#request_birth_year').val(year);
$('#request_birth_month').val(month);
$('#request_birth_month_day').val(day);
$('#birth-as-date-radio').trigger('click');
}
var rcode = $('#request-unique-code').val();
wsSend(JSON.stringify({op:"write-record", rcode:rcode, username:$('#user-username').val(), idAnagrafica:registry.idAnagrafica}), false);
} else {
$('#request_name').val('');
$('#request_surname').val('');
$('#request_surname').val('');
$('#request_birth_year').val('0');
$('#request_birth_month').val('0');
$('#request_birth_month_day').val('0');
$('#request_dream_data').val('');
$('#dream_code').addClass('is-invalid');
}
}
}
//console.log(wsData.dreamData);
}
}
if (wsData.op == 'response-evt-id') {
$('#request-dream-evt-id').val(wsData.evtId);
console.log('Evt id: '+wsData.evtId);
}
if (wsData.op == 'response-data-error') {
//console.log(wsData.dreamData)
hideAnimatedLoader();
showMessage(wsData.msg);
}
if (wsData.op == 'process-error') {
hideAnimatedLoader();
showMessage(wsData.msg);
}
if (wsData.op == 'process-opened') {
hideAnimatedLoader();
}
if (wsData.op == 'process-check') {
hideAnimatedLoader();
console.log('process', wsData.msg);
if (wsData.msg) { //true
$('.btn-run-process').show();
}
}
$('.ws-cc-code-container').prop('disabled', false);
} catch (error) {
showMessage(error);
console.log('Parser error: '+error);
hideAnimatedLoader();
}
//console.log(event.data);
}
appWebSocket.onopen = function(evt) {
console.log('WS Opened');
};
appWebSocket.onclose = function(evt) {
hideDreamForm();
$('.btn-run-process').hide();
hideAnimatedLoader();
//showReconnectBtn();
console.log('WS Closed');
};
appWebSocket.onerror = function(evt) {
hideDreamForm();
$('.btn-run-process').hide();
hideAnimatedLoader();
console.log('WS Error');
};
}
function wsSend(message, showLoader) {
if (typeof showLoader === 'undefined')
showLoader = true;
if (typeof appWebSocket === 'undefined') {
appWebSocket.close();
wsConnect();
}
if (appWebSocket.readyState != 1) {
appWebSocket.close();
wsConnect();
}
if (typeof appWebSocket !== 'undefined') {
if (appWebSocket.readyState == 1) { //Open
if (showLoader) {
showAnimatedLoader();
$('.ws-cc-code-container').prop('disabled', true);
}
appWebSocket.send(message);
}
}
}
function wsClose() {
if (typeof appWebSocket !== 'undefined') {
appWebSocket.close();
}
}
function hideDreamForm() {
//Hide the Dream integration in new/edit request page
//hideReconnectBtn();
$('.dream-wrapper').hide();
$('.cc-wrapper').removeClass('col-lg-2');
$('.cc-wrapper').addClass('col-lg-5');
}
function showDreamForm(centerName) {
//hideReconnectBtn();
$('.dream-italy-wrapper').hide();
$('.cc-wrapper').removeClass('col-lg-5').removeClass('col-lg-2');
$('.cc-wrapper').addClass('col-lg-2');
$('.ws-cc-name').html(unescape(centerName));
$('.dream-wrapper').show();
}
function showReconnectBtn() {
if (wsConnectionCounter > 0)
$('.ws-reconnect-wrapper').show();
else
hideReconnectBtn();
}
function hideReconnectBtn() {
$('.ws-reconnect-wrapper').hide();
}
function stringfyNull(value) {
if (value == null) {
return '';
} else {
return value;
}
}
function clearCareGiverFields() {
$('#request_cgprovince').val('0');
$('#request_cgcity').prop('disabled', true).empty();
$('#request_name').val('');
$('#request_surname').val('');
$('#request_gender').val('');
$('#request_birth_year').val('0');
$('#request_birth_month').val('0');
$('#request_birth_month_day').val('0');
$('#birth-as-date-radio').trigger('click');
$('#request_medremarks').html('');
$('#request_cgnamesurname').val('');
$('#request_cgphone').val('');
$('#request_cgemail').val('');
$('#request_cgmmgnamesurname').val('');
$('#request_cgmmgphone').val('');
$('#request_cgmmgemail').val('');
$('#request_cg_file_list').empty();
$('#request_cg_input_list').empty();
}
function readSingleFile(e) {
var file = e.target.files[0];
if (!file) {
return;
}
var reader = new FileReader();
reader.onload = function(e) {
var contents = e.target.result;
displayContents(contents);
};
reader.readAsText(file);
}
function displayContents(contents) {
console.log(contents);
}