/*----------------------------------------------------------------------------------| www.giz.de |----/ Deutsche Gesellschaft für International Zusammenarbeit (GIZ) Gmb /-------------------------------------------------------------------------------------------------------/ @version 3.4.x @build 6th January, 2021 @created 15th June, 2012 @package Cost Benefit Projection @subpackage intervention.js @author Llewellyn van der Merwe @owner Deutsche Gesellschaft für International Zusammenarbeit (GIZ) Gmb @copyright Copyright (C) 2015. All Rights Reserved @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html /-------------------------------------------------------------------------------------------------------/ Cost Benefit Projection Tool. /------------------------------------------------------------------------------------------------------*/ // Some Global Values jform_vvvvvvyvwj_required = false; jform_vvvvvwavwk_required = false; // Initial Script jQuery(document).ready(function() { var type_vvvvvvy = jQuery("#jform_type input[type='radio']:checked").val(); vvvvvvy(type_vvvvvvy); var type_vvvvvvz = jQuery("#jform_type input[type='radio']:checked").val(); vvvvvvz(type_vvvvvvz); var company_vvvvvwa = jQuery("#jform_company").val(); vvvvvwa(company_vvvvvwa); }); // the vvvvvvy function function vvvvvvy(type_vvvvvvy) { // set the function logic if (type_vvvvvvy == 2) { jQuery('#jform_interventions').closest('.control-group').show(); // add required attribute to interventions field if (jform_vvvvvvyvwj_required) { updateFieldRequired('interventions',0); jQuery('#jform_interventions').prop('required','required'); jQuery('#jform_interventions').attr('aria-required',true); jQuery('#jform_interventions').addClass('required'); jform_vvvvvvyvwj_required = false; } } else { jQuery('#jform_interventions').closest('.control-group').hide(); // remove required attribute from interventions field if (!jform_vvvvvvyvwj_required) { updateFieldRequired('interventions',1); jQuery('#jform_interventions').removeAttr('required'); jQuery('#jform_interventions').removeAttr('aria-required'); jQuery('#jform_interventions').removeClass('required'); jform_vvvvvvyvwj_required = true; } } } // the vvvvvvz function function vvvvvvz(type_vvvvvvz) { // set the function logic if (type_vvvvvvz == 1) { jQuery('#jform_intervention').closest('.control-group').show(); } else { jQuery('#jform_intervention').closest('.control-group').hide(); } } // the vvvvvwa function function vvvvvwa(company_vvvvvwa) { if (isSet(company_vvvvvwa) && company_vvvvvwa.constructor !== Array) { var temp_vvvvvwa = company_vvvvvwa; var company_vvvvvwa = []; company_vvvvvwa.push(temp_vvvvvwa); } else if (!isSet(company_vvvvvwa)) { var company_vvvvvwa = []; } var company = company_vvvvvwa.some(company_vvvvvwa_SomeFunc); // set this function logic if (company) { jQuery('#jform_country').closest('.control-group').show(); // add required attribute to country field if (jform_vvvvvwavwk_required) { updateFieldRequired('country',0); jQuery('#jform_country').prop('required','required'); jQuery('#jform_country').attr('aria-required',true); jQuery('#jform_country').addClass('required'); jform_vvvvvwavwk_required = false; } } else { jQuery('#jform_country').closest('.control-group').hide(); // remove required attribute from country field if (!jform_vvvvvwavwk_required) { updateFieldRequired('country',1); jQuery('#jform_country').removeAttr('required'); jQuery('#jform_country').removeAttr('aria-required'); jQuery('#jform_country').removeClass('required'); jform_vvvvvwavwk_required = true; } } } // the vvvvvwa Some function function company_vvvvvwa_SomeFunc(company_vvvvvwa) { // set the function logic if (company_vvvvvwa == 0) { return true; } return false; } // update fields required function updateFieldRequired(name, status) { // check if not_required exist if (jQuery('#jform_not_required').length > 0) { var not_required = jQuery('#jform_not_required').val().split(","); if(status == 1) { not_required.push(name); } else { not_required = removeFieldFromNotRequired(not_required, name); } jQuery('#jform_not_required').val(fixNotRequiredArray(not_required).toString()); } } // remove field from not_required function removeFieldFromNotRequired(array, what) { return array.filter(function(element){ return element !== what; }); } // fix not required array function fixNotRequiredArray(array) { var seen = {}; return removeEmptyFromNotRequiredArray(array).filter(function(item) { return seen.hasOwnProperty(item) ? false : (seen[item] = true); }); } // remove empty from not_required array function removeEmptyFromNotRequiredArray(array) { return array.filter(function (el) { // remove ( 一_一) as well - lol return (el.length > 0 && '一_一' !== el); }); } // the isSet function function isSet(val) { if ((val != undefined) && (val != null) && 0 !== val.length){ return true; } return false; } jQuery(document).ready(function() { var inter_type = jQuery("#jform_type input[type='radio']:checked").val(); var interventions = jQuery('#jform_intervention').val(); if (1 == inter_type && interventions) { getBuildTable(interventions,'jform_intervention','nee'); } else if (2 == inter_type && interventions) { getBuildTable(interventions,'jform_interventions','ja'); } jQuery('.save-modal-data').text('Done'); }); function getClusterData(array,idName){ var cluster = JSON.stringify(array); getClusterData_server(cluster,idName).done(function(result) { if(result.table){ buildTable(result.table,idName); // ubdate the main set of values jQuery('#jform_intervention').val(result.values); } else { jQuery('#table_'+idName).remove(); jQuery('#jform_intervention').val(''); jQuery('.btn-wrapper').show(); jQuery('#inputYYYNote').remove(); } }) } function getClusterData_server(cluster,idName){ var getUrl = "index.php?option=com_costbenefitprojection&task=ajax.getClusterData&format=json"; if(token.length > 0 && cluster.length > 0 && idName.length > 0){ var request = 'token='+token+'&idName='+idName+'&cluster='+cluster; } return jQuery.ajax({ type: 'GET', url: getUrl, dataType: 'jsonp', data: request, jsonp: 'callback' }); } function getBuildTable_server(string,idName,cluster){ var getUrl = "index.php?option=com_costbenefitprojection&task=ajax.interventionBuildTable&format=json"; if(token.length > 0 && string.length > 0 && idName.length > 0){ var request = 'token='+token+'&idName='+idName+'&oject='+string+'&cluster='+cluster; } return jQuery.ajax({ type: 'GET', url: getUrl, dataType: 'jsonp', data: request, jsonp: 'callback' }); } function getBuildTable(intervention,idName,cluster){ if ('ne' == cluster) { var intervention = JSON.stringify(intervention); cluster = 'nee'; } getBuildTable_server(intervention,idName,cluster).done(function(result) { if(result){ buildTable(result,idName); } else { jQuery('#table_'+idName).remove(); } }) } function buildTable(result,idName){ jQuery('#table_'+idName).remove(); jQuery('#'+idName).closest('.control-group').append(result); // check if we have cross match values if (jQuery(".eRrOr").length > 0){ jQuery('.btn-wrapper').hide(); if (jQuery('#inputYYYNote').length <= 0){ jQuery('#system-message-container').append('

Values cross match between selected interventions please update all in red!

'); } } else { jQuery('.btn-wrapper').show(); jQuery('#inputYYYNote').remove(); } } function updateSelection(row) { var groupId = jQuery(row).find("select:first").attr("id"); var percentValue = jQuery(row).find(".text_area:first").val(); var arr = groupId.split('-'); if (arr[1] != 1) { var selection = {}; jQuery(row).find("select:first option").each(function() { // first get the values and text selection[jQuery(this).text()] = jQuery(this).val(); }); jQuery.each(causerisk, function(i, group){ jQuery(row).find("select:first option[value='"+group+"']").remove(); }); if (percentValue) { var text = jQuery(row).find(".chzn-single:first span").text(); jQuery(row).find("select:first").append(jQuery('