JSFiddle - React, Tailwind, and code Playground

by Abdul Ahmad

HTML

<textarea id='input-area'></textarea>
<button id='input-area-confirm'>
transform
</button>
<div id='output'>

</div>

JavaScript

$(function() {
	$('#input-area-confirm').on('click', function() {
  	var result = transform($('#input-area').val());
    $('#output').html(result);
  });
});

function transform(word) {
	var split = word.split(' + ');
  return wrapInIfNull(split);
}

function wrapInIfNull(array) {
	var result = '';
	for(var i = 0; i < array.length; i++) {
  	var temp = array[i].replace('integer(', 'integer(if_null(');
    temp = temp.replace(')', ',0))');
    if(i !== array.length - 1) temp += ' + ';
  	result += wrapInDiv(temp);
  }
  return result;
}
function wrapInDiv(word) {
	return '<div>' + word + '</div>';
}

/*

      expression: if(( is_null(integer($underresponsive_q15_frequency) ) | is_null(integer($underresponsive_q16_frequency) ) | is_null(integer($underresponsive_q17_frequency) ) | is_null(integer($underresponsive_q18_frequency) ) | is_null(integer($underresponsive_q19_frequency) ) | is_null(integer($underresponsive_q20_frequency) ) | is_null(integer($underresponsive_q21_frequency))  ), 'Not scored due to missing values', string(integer(if_null($underresponsive_q15_frequency,0)) +
integer(if_null($underresponsive_q16_frequency,0)) +
integer(if_null($underresponsive_q17_frequency,0)) +
integer(if_null($underresponsive_q18_frequency,0)) +
integer(if_null($underresponsive_q19_frequency,0)) +
integer(if_null($underresponsive_q20_frequency,0)) +
integer(if_null($underresponsive_q21_frequency,0))))


*/