$(function() { if(config.currentMethod == 'create' || config.currentMethod == 'edit' || config.currentMethod == 'track') { computeIndex(); $('#impact, #chance').change(function(){computeIndex()}); } if(config.currentMethod == 'batchcreate') { $("[id^=impact]").each(function() { if(this.id != 'impact%s') computeIndex(this); }) } if(config.currentMethod == 'batchedit') { $("[id^=impact]").each(function() { computeIndex(this); }) $("[id^='impact'], [id^='chance']").change(function(){computeIndex(this)}); } }) $('#importLinesBtn').on('click', function() { setTimeout(function() { $("[id^=priValue]").each(function() { $('select[id^=pri]').trigger('chosen:updated'); $(this).find("[id$='_chosen']").find('span').addClass('pri-middle'); }) }, 500); }); /** * computeIndex * * @param object obj * @param int number * @access public * @return void */ function computeIndex(obj = '', number = '') { if(obj) { var selectID = obj.id; if(!number) var number = $('#' + selectID).attr('data-number'); var impact = $('#impact' + number).val(); var chance = $('#chance' + number).val(); } else { var impact = $('#impact').val(); var chance = $('#chance').val(); } var ratio = parseInt(impact * chance); var pri = ''; var priColor = ''; if(0 < ratio && ratio <= 5) pri = 'low'; if(5 < ratio && ratio <= 12) pri = 'middle'; if(15 <= ratio && ratio <= 25) pri = 'high'; if(pri == 'low') priColor = 'pri-low'; if(pri == 'middle') priColor = 'pri-middle'; if(pri == 'high') priColor = 'pri-high'; if(obj) { $('#ratio' + number).val(ratio); $('#pri' + number).val(pri); $('#pri' + number).trigger("chosen:updated") $('#pri' + number).chosen(); $('#pri' + number).attr('disabled', true); $('#priValue' + number +' .chosen-container-single .chosen-single>span').attr("class", priColor); $('input[name="pri[' + number + ']"]').remove(); $('#pri' + number).after(""); } else { $('#ratio').val(ratio); $('#pri').val(pri); $('#pri').trigger("chosen:updated") $('#pri').chosen(); $('#pri').attr('disabled', true); $('#priValue .chosen-container-single .chosen-single>span').attr("class", priColor); $('input[name="pri"]').remove(); $('#pri').after(""); } }