JSFiddle - React, Tailwind, and code Playground

by Michael Prosser

JavaScript

function inConfigurationMaster(configuration_master,index,url){
		
  for(j=0;j<configuration_master[index]['requirements'].length;j++){

    if(configuration_master[index]['requirements'][j]['url'] == url){

      return true;

    }

  }

}

function getAdditionalFormsFromConfiguration(configuration_master,configuration){
		
		var additional_forms = [];
		
		for(var i=0;i<configuration.length;i++){
			
			for(j=0;j<configuration[i]['requirements'].length;j++){
			
				if(!inConfigurationMaster(configuration_master,i,configuration[i]['requirements'][j]['url'])){
					
					var form = [];
					
					form['completed'] = configuration[i]['requirements'][j]['completed'];
					form['name'] = configuration[i]['requirements'][j]['name'];
					form['icon'] = configuration[i]['requirements'][j]['icon'];
					form['url'] = configuration[i]['requirements'][j]['url'];
					form['type_id'] = configuration[i]['requirements'][j]['type_id'];
					form['type'] = configuration[i]['requirements'][j]['type'];
					form['stage_index'] = i;
					
					additional_forms.push(form);
					
				}
			
			}
			
		}
		
		return additional_forms;
		
}

function removeAdditionalForm(configuration,form){

	form = form[0];
		
  var new_requirements = [];

  for(i=0;i<configuration[form['stage_index']]['requirements'].length;i++){
  
  	if(configuration[form['stage_index']]['requirements'][i]['url'] == form['url']){

			

    } else {

      var requirement = [];

      var item = configuration[form['stage_index']]['requirements'][i];

			 var requirement = {
       
       	completed: item.completed,
        name: item.name,
        icon: item.icon,
        url: item.url,
        type_id: item.type_id,
        type: item.type
       
       }
      
			new_requirements.push(requirement);

    }

  }

  configuration[form['stage_index']]['requirements'] = new_requirements;

  return JSON.stringify(configuration,true);

}

var configuration_master =...