const formsUtils = {}; // Function: window.open with post parameters (new tab) formsUtils.loadWindowPostBlankTab = function(url, params){ if(typeof params === "undefined"){ params = {}; } params.url = url; params.linkName = ATOMICVARIABLES.linkName; formsUtils.loadWindowPost(contextPathJS+"menu.SystamOpenNewAction", params, '_blank'); }; // Function: window.open with post parameters (same window) formsUtils.loadWindowPostSelf = function(url, params){ formsUtils.loadWindowPost(url, params, '_self'); }; formsUtils.loadWindowPostSelfInNewTab = function(url, params){ if(typeof params === "undefined"){ params = {}; } params.url = url; params.linkName = ATOMICVARIABLES.linkName; formsUtils.loadWindowPost(contextPathJS+"menu.SystamOpenNewAction", params, '_self'); }; formsUtils.loadWindowPostBlankWin = function(url, params, options){ if(typeof params === "undefined"){ params = {}; } params.url = url; params.linkName = ATOMICVARIABLES.linkName; formsUtils.loadWindowPost(contextPathJS+"menu.SystamOpenNewAction", params , "newWindowBlank", options) }; formsUtils.loadWindowExternal = function(url, params){ formsUtils.loadWindowPost(url, params, '_blank'); }; // Function: window.open with post parameters formsUtils.loadWindowPost = function(url, params, target, options){ if (typeof target === 'undefined'){ target = "_blank"; } let $form = $('
'); $form.attr('action',url); if (typeof params === 'undefined'){ params = {}; } for (let key in params){ $form.append(''); } $('body').append($form); if (typeof options !== 'undefined'){ let optionsText = ""; for (let key in options){ optionsText += key+"="+options[key]+","; } window.open("",target,optionsText); } $form.submit(); $form.remove(); }; formsUtils.loadExternalLink = function(url){ window.open(url, '_blank'); }; formsUtils.submitForm = function($form, parms){ //Remove areyousure validation $("form").removeClass("dirty"); if(typeof parms === "undefined") { parms = {} } parms.withReturn = true; if(typeof parms.issubmaintenance === "undefined" || parms.issubmaintenance == null){ parms.issubmaintenance = false; } if(typeof parms.mytablerowselected === "undefined"){ if(parms.issubmaintenance){ parms.mytablerowselected = MYTABLEROWSELECTED.submytablerowselecteds.get('default'); }else{ parms.mytablerowselected = MYTABLEROWSELECTED; } } $("#"+ $form.attr("id")).systamDateTimeStoreMillisFormatWhenSubmit({sourceselector:'.datetimepicker-input'}); let cursorclick = '#mainlisttab'; if(typeof parms !== "undefined"){ if(typeof parms.cursorclick !== "undefined" && parms.cursorclick !== ""){ cursorclick = parms.cursorclick; } } if (typeof parms.formdata === 'undefined'){ parms.formdata = $form.serialize(); } $.ajax({ url: $form.attr("action"), type: 'post', dataType:'json', data: parms.formdata, success: function(response){ parms.mytablerowselected.setmytablerowid(response.resultid); parms.mytablerowselected.rows_selected = [response.systamidentifier]; formsUtils.formListAndShowMessageWithResponseJSON(response, parms); if (typeof parms !== "undefined" && typeof parms.callbackSuccess === "function") { parms.callbackSuccess(); } if(typeof parms !== "undefined" && typeof parms.callback === "function"){ parms.callback(); } if(typeof parms !== "undefined" && typeof parms.callbackResponse === "function"){ parms.callbackResponse(response); } }, error: function(jqXHR, textStatus, errorThrown){ $(cursorclick).click(); //select the id and put the response in the html if(typeof parms !== "undefined" && typeof parms === "undefined"){ parms = {}; } parms.statusAlert = "danger"; parms.messageAlert = 'error(s):'+textStatus; formsUtils.showToast("errorAlert", parms); if (typeof parms !== "undefined" && typeof parms.callbackError === "function") { parms.callbackError(); } if(typeof parms !== "undefined" && typeof parms.callback === "function"){ parms.callback(); } if(typeof parms !== "undefined" && typeof parms.callbackResponse === "function"){ parms.callbackResponse(response); } } }); }; formsUtils.submitFormWithReturnMessage = function($form, parms){ //Remove areyousure validation $("form").removeClass("dirty").trigger('clean.areYouSure'); if(typeof parms === "undefined") { parms = {} } if(typeof parms.issubmaintenance === "undefined" || parms.issubmaintenance == null){ parms.issubmaintenance = false; } if(typeof parms.mytablerowselected === "undefined"){ if(parms.issubmaintenance){ parms.mytablerowselected = MYTABLEROWSELECTED.submytablerowselecteds.get('default'); }else{ parms.mytablerowselected = MYTABLEROWSELECTED; } } $("#"+ $form.attr("id")).systamDateTimeStoreMillisFormatWhenSubmit({sourceselector:'.datetimepicker-input'}); if (typeof parms.formdata === 'undefined'){ parms.formdata = $form.serialize(); } $.ajax({ url: $form.attr("action"), type: 'post', dataType:'json', data: parms.formdata, success: function(response){ if(parms.issubmaintenance) { $("#" + $form.attr("id")).removeClass("dirty"); } parms.mytablerowselected.setmytablerowid(response.resultid); parms.mytablerowselected.rows_selected = [response.systamidentifier]; formsUtils.showMessageWithResponseJSON(response, parms); if (typeof parms !== "undefined" && typeof parms.callbackSuccess === "function") { parms.callbackSuccess(); } if(typeof parms !== "undefined" && typeof parms.callback === "function"){ parms.callback(); } //to allow to do things with response if(typeof parms !== "undefined" && typeof parms.callbackResponse === "function"){ parms.callbackResponse(response); } }, error: function(response,jqXHR, textStatus, errorThrown){ if(typeof parms === "undefined"){ parms = {}; } parms.statusAlert = "danger"; parms.messageAlert = 'error(s):'+textStatus; formsUtils.showToast("toastFormId", parms); if (typeof parms !== "undefined" && typeof parms.callbackError === "function") { parms.callbackError(); } if(typeof parms !== "undefined" && typeof parms.callback === "function"){ parms.callback(); } if(typeof parms !== "undefined" && typeof parms.callbackResponse === "function"){ parms.callbackResponse(response); } } }); }; formsUtils.showToast = function(idAlert, parmsAlert){ if(typeof idAlert === "undefined" || idAlert == null || idAlert === ""){ idAlert = "toastDefault"; } idAlert = replaceSpecialCharacters(idAlert); let defaults= { statusAlert: "info", //success, danger, warning, info messageAlert: "", titleAlert: "", titleSmallAlert: "", iconTitleAlert: "", iconMessageAlert: "", divContainerAlertId: "toastContainer", delayAlert: 3000, autohideAlert: true, withHeaderAlert: false, callback: null, }; let options = $.extend(true, {}, defaults, parmsAlert); if(options.iconMessageAlert === "" && options.statusAlert !== ""){ switch (options.statusAlert) { case "success": options.iconMessageAlert = "fal fa-check-circle"; break; case "danger": options.iconMessageAlert = "fal fa-exclamation-circle"; break; case "warning": options.iconMessageAlert = "fal fa-exclamation-triangle"; break; case "info": options.iconMessageAlert = "fal fa-info-circle"; break; } } //Delete before insert $("#"+options.divContainerAlertId+" #"+idAlert).remove(); let toastMessage = ''; if(options.messageAlert !== ""){ $("#"+options.divContainerAlertId).append(toastMessage); $("#"+idAlert).toast('show'); } }; formsUtils.formListAndShowMessageWithResponseJSON = function(responseJSON, parms){ //Remove areyousure validation $("form").removeClass("dirty").trigger('clean.areYouSure'); formsUtils.showMessageWithResponseJSON(responseJSON, parms); let cursorclick = '#mainlisttab'; if(typeof parms !== "undefined"){ if(typeof parms.cursorclick !== "undefined" && parms.cursorclick !== ""){ cursorclick = parms.cursorclick; } } $(cursorclick).click(); }; formsUtils.showMessageWithResponseJSON = function(responseJSON, parms){ //Remove areyousure validation $("form").removeClass("dirty"); if(typeof parms === "undefined"){ parms = {}; } if(typeof parms.mytablerowselected !== "undefined" && typeof parms.issubmaintenance !== "undefined"){ parms.mytablerowselected.setmytablerowid(responseJSON.resultid); if (typeof responseJSON.systamidentifier !== 'undefined' && responseJSON.systamidentifier !=='') { parms.mytablerowselected.rows_selected = [responseJSON.systamidentifier]; } else { parms.mytablerowselected.rows_selected = []; } //Move to the page where is the added element if (typeof TOPNAVBARSYSTAM !== 'undefined' && TOPNAVBARSYSTAM !== null && typeof TOPNAVBARSYSTAM.options !== 'undefined' && TOPNAVBARSYSTAM.options.leftsectionfixedoptions !== 'undefined' ) { let isEditTab = false; let isSubMaintenanceEditTab = false; if ($("#navbarheadersystamdiv").find("#edittab").hasClass("active")) { isEditTab = true; } if(parms.issubmaintenance){ $(parms.cursorclick).click(); if ($("#editValue").hasClass("active")) { isSubMaintenanceEditTab = true; } } if(parms.withReturn && ((!parms.issubmaintenance && !isEditTab) || (parms.issubmaintenance && !isSubMaintenanceEditTab))){ datatablesCleanState(parms.issubmaintenance, parms.mytablerowselected); datatablesCleanFilters(parms.issubmaintenance, parms.mytablerowselected); } if (typeof parms.mytablerowselected.mytable !== 'undefined' && parms.mytablerowselected.mytable !== null && isServerSide(parms.mytablerowselected.mytable)){ parms.mytablerowselected.serverSideAddClick = responseJSON.resultid; } if(parms.issubmaintenance && !parms.withReturn){ if (typeof parms.mytablerowselected.skipWithReturn === 'undefined' || !parms.mytablerowselected.skipWithReturn) { if (typeof responseJSON.systamidentifier !== 'undefined' && responseJSON.systamidentifier !== '') { parms.mytablerowselected.afterInsert = { systamidentifier: responseJSON.systamidentifier, enabled: true }; systamJumpToDataBySystamIdentifier(parms.issubmaintenance, parms.mytablerowselected, responseJSON.systamidentifier); } } }else if(!parms.issubmaintenance && !parms.withReturn){ if (typeof responseJSON.systamidentifier !== 'undefined') { let id; parms.mytablerowselected.setmytablerowid(responseJSON.systamidentifier); if(responseJSON.systamidentifier.includes('_STM_SEPARATOR_STM_')){ let idCompose = responseJSON.systamidentifier.split('_STM_SEPARATOR_STM_'); if(idCompose.length > 2){ id = idCompose[0]; for(let i in idCompose){ if(i > 0){ id += '_ESPAI_'+idCompose[i]; } } }else{ id = idCompose[1]; } }else{ id = responseJSON.systamidentifier; } if(id !== ""){ if(typeof responseJSON.extradata !== "undefined" && responseJSON.extradata !== null && responseJSON.extradata !== ""){ parms.mytablerowselected.options.mytablerowkey = $.extend(true, {}, parms.mytablerowselected.getmytablerowkey(), responseJSON.extradata); } let editParms = parms.mytablerowselected.getmytablerowkey(); editParms.id = id; delete editParms.description; delete editParms.systamidentifier; parms.mytablerowselected.seteditparmssysmlinkwrapper(editParms); if(typeof parms.mytablerowselected.functionCalculateTopnavbar !== "undefined" && parms.mytablerowselected.functionCalculateTopnavbar != null){ TOPNAVBARSYSTAM.draw(parms.mytablerowselected.functionCalculateTopnavbar()); }else{ TOPNAVBARSYSTAM.draw(); } $("#edittab").removeClass("disabled"); $("#viewtab").removeClass("disabled"); editViewClick(parms.issubmaintenance, parms.mytablerowselected); } } } } systamLoading(false); } parms.statusAlert = typeof responseJSON.alertlevel !== "undefined" ? responseJSON.alertlevel : "info"; parms.messageAlert = typeof responseJSON.code !== "undefined" && typeof responseJSON.alertmessage !=="undefined" ? ((responseJSON.code === 0 || responseJSON.code === "0") ? responseJSON.alertmessage : (typeof responseJSON.message !== "undefined" && responseJSON.message !== "" ? responseJSON.message :labels.getLbl("AVIS", 211))) : ""; formsUtils.showToast(typeof responseJSON.resultid !== "undefined" ? responseJSON.resultid : "", parms); }; formsUtils.checkAreYouSure = function(functionToExecute, formSelector){ let $form = "form"; if(typeof formSelector !== "undefined"){ $form = formSelector; } if($($form).hasClass('dirty')){ dialogsUtils.showDialogConfirm({ title: labels.getLbl("AVIS", 306), message: labels.getLbl("AVIS", 307), callback1: function(){ $($form).removeClass('dirty'); functionToExecute() } }); }else{ functionToExecute() } }; formsUtils.addDirtyAreYouSure = function(formSelector){ let $form = "form"; if(typeof formSelector !== "undefined"){ $form = formSelector; } $($form).trigger('dirty.areYouSure',[$($form)]).trigger('change.areYouSure',[$($form)]); }; formsUtils.removeDirtyAreYouSure = function(formSelector){ let $form = "form"; if(typeof formSelector !== "undefined"){ $form = formSelector; } $($form).removeClass("dirty").trigger('clean.areYouSure'); };