/* --------------------------------------------------------------------------- */ function clear_value( element_id ) { $( element_id ).val(""); } /* --------------------------------------------------------------------------- */ function disable_form_on_enter(element_id){ $(element_id).on("keypress", function (event) { var keyPressed = event.keyCode || event.which; if (keyPressed === 13) { //alert("You pressed the Enter key!!"); event.preventDefault(); return false; } }); }; /* --------------------------------------------------------------------------- */ function modal_ajax_process ( title, button, step, form_id, notify = 'modal', notify_div = '' ) { $('#Modal_1 .modal_button_1').removeAttr('disabled'); $('#Modal_1 .modal-title').html( title ); $.ajax({ url: step[0], method: 'POST', success: function( result ) { //console.log(result); $('#Modal_1 .modal-body').empty(); $('#Modal_1 .modal-body').html(result); disable_form_on_enter('form input'); // REMOVE PREVIOUS CLICK FUNCTION AND ADD NEW ONE $('#Modal_1 .modal_button_1').unbind('click'); $('#Modal_1 .modal_button_1').on('click').click(function() { var form = $(form_id); //alert ( form_id + ' = ' + form.serialize() ); if(!$(form_id)[0].checkValidity()) { $(form_id)[0].reportValidity(); //$(form_id).find("#submit-hidden").click(); return false; } $('#Modal_1 .modal_button_1').attr('disabled','disabled'); let formToWorkOn = document.querySelector(form_id); var formData = new FormData(formToWorkOn); $.ajax({ url: step[1], method: 'POST', //data: form.serialize(), data: formData, async: true, cache: false, contentType: false, processData: false, success: function( result,textStatus, jqXHR ) { //alert(result); if (step[2]) { eval( step[2] ); } // ***** START - BRING THIS INTO PANEL ***** if ( notify == 'modal') { // SHOW FINAL NOTIFICATION MODAL //modal_alert( result, 'ok', true); if(jqXHR.status==200){ modal_alert( result, 'ok', true); }else if(jqXHR.status==250){ modal_alert( result, 'warn', true); }else if(jqXHR.status==260){ modal_alert( result, 'error', true); }else{ modal_alert( result, 'ok', true); } } else if ( notify == 'inline') { // SHOW FINAL NOTIFICATION MESSAGE INLINE if(jqXHR.status==200){ inline_alert( result, 'ok', notify_div); }else if(jqXHR.status==250){ inline_alert( result, 'warn', notify_div); }else if(jqXHR.status==260){ inline_alert( result, 'error', notify_div); }else{ inline_alert( result, 'error', notify_div); } /* $(notify_div).html(result); autoCloseAlert(); */ $('#Modal_1').modal('hide'); $('#Modal_2').modal('dispose'); } else if ( notify == 'none') { // SKIP FINAL NOTIFICATION MODAL $('#Modal_1').modal('hide'); $('#Modal_2').modal('dispose'); } // ***** END - BRING THIS INTO PANEL ***** }, error: function( xhr, status, error ) { if (xhr.status == 404 || xhr.status == 400) { modal_alert( xhr.responseText, 'error'); }else{ modal_alert( xhr.responseText, 'warn'); } }, }); }); }, error: function( xhr, status, error ) { if (xhr.status == 404 || xhr.status == 400) { modal_alert( xhr.responseText, 'error'); }else{ modal_alert( xhr.responseText, 'warn'); } }, }); //END-AJAX() $('#Modal_1 .modal_button_1').html( button[0] ); $('#Modal_1 .modal_button_2').html( button[1] ); $('#Modal_1').modal('show'); } /* --------------------------------------------------------------------------- */ function modal_alert( message, status, refresh=false ) { if ( status == "error" ) { color = '#FF0000'; icon = ''; text = 'Error'; $('#Modal_2 .modal-header').css('color', '#000000'); $('#Modal_2 .modal-header').css('background-color', '#FF0000'); $('#Modal_2 .modal-title').html(icon +' '+ text); $('#Modal_2 .modal-body').html( message ); $('#Modal_2 .modal_button_1').html(icon +' OK'); } if ( status == "warn" ) { color = '#FF0000'; icon = ''; text = 'Warning'; $('#Modal_2 .modal-header').css('color', '#000000'); $('#Modal_2 .modal-header').css('background-color', '#FFFF00'); $('#Modal_2 .modal-title').html(icon +' '+ text); $('#Modal_2 .modal-body').html( message ); $('#Modal_2 .modal_button_1').html(icon +' OK'); } if ( status == "ok" ) { color = '#00FF00'; icon = ''; text = 'Success'; $('#Modal_2 .modal-header').css('color', '#FFFFFF'); $('#Modal_2 .modal-header').css('background-color', '#00FF00'); $('#Modal_2 .modal-title').html(' Success'); $('#Modal_2 .modal-body').html( message ); $('#Modal_2 .modal_button_1').html(' OK'); if ( refresh ) { $('#Modal_2').on('hidden.bs.modal', function (e) { //location.reload(true); $('#Modal_1').modal('dispose'); $('#Modal_2').modal('dispose'); }); } } $('#Modal_1').modal('hide'); $('#Modal_2').modal('show'); $('#Modal_3').modal('hide'); } /* --------------------------------------------------------------------------- */ function inline_alert( message, status, notify_div ) { if ( status == "error" ) { var errorClass = 'alert-danger'; }else if ( status == "warn" ) { var errorClass = 'alert-warning'; }else if ( status == "ok" ) { var errorClass = 'alert-success'; } var alert_message = ''; alert_message += '
'; alert_message += ''; alert_message += '

'; alert_message += message; alert_message += '

'; alert_message += '
'; $(notify_div).html(alert_message); autoCloseAlert(); } /* --------------------------------------------------------------------------- */ function checkinput(input) { if (input.value != "") { input.setCustomValidity(''); } } /* --------------------------------------------------------------------------- */ function autoCloseAlert() { window.setTimeout(function() { $(".alert").fadeTo(500, 0).slideUp(500, function(){ $(this).remove(); }); }, 4000); } function field_validation_ajax_process ( element_id, form_id, notify = 'modal') { var element = $('#' + element_id); if(notify=='inline') { element.removeClass("is-invalid"); $(".validation-feedback-" + element_id).removeClass('invalid-feedback') $(".validation-feedback-" + element_id).html(''); //element.next(".validation-feedback").removeClass('invalid-feedback') //element.next(".validation-feedback").html(''); } var form = $(form_id); var validateurl = 'https://www.covemarine.com/core/ajax/validate.php'; $.ajax({ url: validateurl, method: 'POST', data: form.serialize() + "&validate_field=" + element_id, dataType: 'JSON', success: function( result,textStatus, jqXHR ) { var error_count = Object.keys(result).length; if(error_count > 0) { var error_string = ''; $.each(result, function(key, val){ if(notify=='inline') { element.addClass("is-invalid"); $(".validation-feedback-" + element_id).addClass('invalid-feedback') $(".validation-feedback-" + element_id).html(val); //element.next(".validation-feedback").addClass('invalid-feedback') //element.next(".validation-feedback").html(val); } error_string += val + '
'; }); if ( notify == 'modal') { modal_alert( error_string, 'error' ); } } else { return true; } }, error: function( xhr, status, error ) { if (xhr.status == 404 || xhr.status == 400) { modal_alert( xhr.responseText, 'error'); }else{ modal_alert( xhr.responseText, 'warn'); } }, }); } /* --------------------------------------------------------------------------- */ function validate_form_field(element_id,form_id) { var form = $('#'+form_id); var formID = '#'+form_id; var notify_type = form.attr("data-validate-display-edit"); if(notify_type==''){ notify_type = 'inline'; } field_validation_ajax_process( element_id , formID , notify_type); } /* --------------------------------------------------------------------------- */ function form_validate_save(form_id, url, notify_form_type='modal', notify_div='', fileinputID='', validateFileUpload=false) { var form = $('#'+form_id); var notify_type = form.attr("data-validate-display-save"); if(notify_type==''){ notify_type = 'inline'; } if(notify_type=='inline') { $('input').removeClass("is-invalid"); $("[class*=validation-feedback]").removeClass("invalid-feedback"); $("[class*=validation-feedback]").html(""); //$('.validation-feedback').removeClass("invalid-feedback"); //$('.validation-feedback').html(""); } var validateurl = 'https://www.covemarine.com/core/ajax/validate.php'; $.ajax({ url: validateurl, method: 'POST', data: form.serialize(), dataType: 'JSON', success: function( result,textStatus, jqXHR ) { var error_count = Object.keys(result).length; if(error_count > 0) { var error_string = ''; $.each(result, function(key, val){ if(notify_type=='inline') { $('input[name='+key+']').addClass('is-invalid '); $(".validation-feedback-" + key).addClass('invalid-feedback') $(".validation-feedback-" + key).html(val); //$('input[name='+key+']').next(".validation-feedback").html(val); //$('input[name='+key+']').next(".validation-feedback").addClass('invalid-feedback'); } error_string += val + '
'; }); if ( notify_type == 'modal') { modal_alert( error_string, 'error' ); } } else { if(fileinputID != '' && validateFileUpload==true) { if($('#'+fileinputID).fileinput('getFilesCount')==0){ modal_alert( 'Please select file', 'error' ); return; } } $.ajax({ url: url, method: 'POST', data: form.serialize(), processData: false, dataType: 'JSON', //contentType: false, success: function( result,textStatus, jqXHR ) { $("#validate_id").val(result.record_id); if(result.status==200) { if(fileinputID != '') { $('#'+fileinputID).fileinput('upload'); } } // ***** START - BRING THIS INTO PANEL ***** if ( notify_form_type == 'modal') { // SHOW FINAL NOTIFICATION MODAL if(jqXHR.status==200){ modal_alert( result.content, 'ok', true); }else if(jqXHR.status==250){ modal_alert( result.content, 'warn', true); }else if(jqXHR.status==260){ modal_alert( result.content, 'error', true); }else{ modal_alert( result.content, 'error', true); } } else if ( notify_form_type == 'inline') { // SHOW FINAL NOTIFICATION MESSAGE INLINE if(jqXHR.status==200){ inline_alert( result.content, 'ok', notify_div); }else if(jqXHR.status==250){ inline_alert( result.content, 'warn', notify_div); }else if(jqXHR.status==260){ inline_alert( result.content, 'error', notify_div); }else{ inline_alert( result.content, 'error', notify_div); } $('#Modal_1').modal('hide'); $('#Modal_2').modal('dispose'); }else if ( notify_form_type == 'replace') { $(notify_div).html(result.content); $('#Modal_1').modal('hide'); $('#Modal_2').modal('dispose'); } else if ( notify_form_type == 'none') { // SKIP FINAL NOTIFICATION MODAL $('#Modal_1').modal('hide'); $('#Modal_2').modal('dispose'); } // ***** END - BRING THIS INTO PANEL ***** }, error: function( xhr, status, error ) { if (xhr.status == 404 || xhr.status == 400) { modal_alert( xhr.responseText, 'error'); }else{ modal_alert( xhr.responseText, 'warn'); } }, }); } }, error: function( xhr, status, error ) { if (xhr.status == 404 || xhr.status == 400) { modal_alert( xhr.responseText, 'error'); }else{ modal_alert( xhr.responseText, 'warn'); } }, }); } /* --------------------------------------------------------------------------- */ function copy_to_clipboard( element_id ) { var copyText = $( element_id ).val() navigator.clipboard.writeText(copyText); } /* --------------------------------------------------------------------------- */ function fun_ajax_replace(url,form_id,element_id) { var form = $(form_id); $.ajax({ url: url, method: 'POST', data: form.serialize() + '&request_type=ajax', success: function( result,textStatus, jqXHR ) { $(element_id).html(result); }, error: function( xhr, status, error ) { if (xhr.status == 404 || xhr.status == 400) { modal_alert( xhr.responseText, 'error'); }else{ modal_alert( xhr.responseText, 'warn'); } }, }); } /* --------------------------------------------------------------------------- */ function fun_search(url,form_id,element_id) { fun_ajax_replace(url,form_id,element_id); } /* --------------------------------------------------------------------------- */ function fun_pagination(url,form_id,element_id) { fun_ajax_replace(url,form_id,element_id); } function ajax_process(form_id,step,notify='modal',notify_div='') { var form = $(form_id); if(!$(form_id)[0].checkValidity()) { $(form_id)[0].reportValidity(); return false; } $.ajax({ url: step[0], method: 'POST', data: form.serialize(), success: function( result,textStatus, jqXHR ) { if (step[1]) { eval( step[1] ); } // ***** START - BRING THIS INTO PANEL ***** if ( notify == 'modal') { // SHOW FINAL NOTIFICATION MODAL //modal_alert( result, 'ok', true); if(jqXHR.status==200){ modal_alert( result, 'ok', true); }else if(jqXHR.status==250){ modal_alert( result, 'warn', true); }else if(jqXHR.status==260){ modal_alert( result, 'error', true); }else{ modal_alert( result, 'ok', true); } } else if ( notify == 'inline') { // SHOW FINAL NOTIFICATION MESSAGE INLINE if(jqXHR.status==200){ inline_alert( result, 'ok', notify_div); }else if(jqXHR.status==250){ inline_alert( result, 'warn', notify_div); }else if(jqXHR.status==260){ inline_alert( result, 'error', notify_div); }else{ inline_alert( result, 'error', notify_div); } /* $(notify_div).html(result); autoCloseAlert(); */ $('#Modal_1').modal('hide'); $('#Modal_2').modal('dispose'); } else if ( notify == 'none') { // SKIP FINAL NOTIFICATION MODAL $('#Modal_1').modal('hide'); $('#Modal_2').modal('dispose'); } // ***** END - BRING THIS INTO PANEL ***** }, error: function( xhr, status, error ) { if (xhr.status == 404 || xhr.status == 400) { modal_alert( xhr.responseText, 'error'); }else{ modal_alert( xhr.responseText, 'warn'); } }, }); } function custom_modal_ajax_process ( title, buttons, url) { $('#Modal_3 .modal-title').html( title ); $('#Modal_3 .modal-footer').html(''); $.each(buttons, function(key, value) { $('#Modal_3 .modal-footer').append(value); }); $.ajax({ url: url, method: 'POST', success: function( result ) { $('#Modal_3 .modal-body').empty(); $('#Modal_3 .modal-body').html(result); disable_form_on_enter('form input'); }, error: function( xhr, status, error ) { if (xhr.status == 404 || xhr.status == 400) { modal_alert( xhr.responseText, 'error'); }else{ modal_alert( xhr.responseText, 'warn'); } }, }); //END-AJAX() $('#Modal_3').modal('show'); } /* --------------------------------------------------------------------------- */ function form_validate_submit(form_id) { var form = $('#'+form_id); var notify_type = form.attr("data-validate-display-save"); if(notify_type==''){ notify_type = 'inline'; } if(notify_type=='inline') { $('input').removeClass("is-invalid"); $("[class*=validation-feedback]").removeClass("invalid-feedback"); $("[class*=validation-feedback]").html(""); //$('.validation-feedback').removeClass("invalid-feedback"); //$('.validation-feedback').html(""); } var validateurl = 'https://www.covemarine.com/core/ajax/validate.php'; $.ajax({ url: validateurl, method: 'POST', data: form.serialize(), dataType: 'JSON', success: function( result,textStatus, jqXHR ) { var error_count = Object.keys(result).length; if(error_count > 0) { var error_string = ''; $.each(result, function(key, val){ if(notify_type=='inline') { $('input[name='+key+']').addClass('is-invalid '); $('select[name='+key+']').addClass('is-invalid '); $(".validation-feedback-" + key).addClass('invalid-feedback') $(".validation-feedback-" + key).html(val); //$('input[name='+key+']').next(".validation-feedback").html(val); //$('input[name='+key+']').next(".validation-feedback").addClass('invalid-feedback'); } error_string += val + '
'; }); if ( notify_type == 'modal') { modal_alert( error_string, 'error' ); } } else { form.submit(); } }, error: function( xhr, status, error ) { if (xhr.status == 404 || xhr.status == 400) { modal_alert( xhr.responseText, 'error'); }else{ modal_alert( xhr.responseText, 'warn'); } }, }); }