JSFiddle - React, Tailwind, and code Playground

by Patricia Warwick

JavaScript

function update(selectedOption) {//  console.log(selectedOption) OK

// Define color scale

    if (selectedOption == "Not Resolved") { // console.log(selectedOption)
       var color = d3.scale.linear()
      .domain([0, 80])
      .range(["LightCyan","Crimson"]);
    } else if (selectedOption == "Resolved"){ // console.log(selectedOption)
        color = d3.scale.linear()
      .domain([0, 20])
      .range(["LightCyan","Crimson"]);
    } else if (selectedOption == "Fatal"){ // console.log(selectedOption)
       color = d3.scale.linear()
      .domain([0, 0.2])
      .range(["LightCyan","Crimson"]);
     }

    // Load the data from the csv file 
     d3.csv(phuCSV, function(cases) { 
 
        cases = cases.filter(function(d) {
           var keyDate = parseDate(d.Case_Reported_Date); //console.log("keyDate ", keyDate); 
           var daysDiff = d3.timeDay.count(keyDate, filterDate);  // console.log ("daysDiff ", daysDiff);
           return daysDiff <= maxDays; 
         });

        cases = cases.filter(function(d) { // console.log("selectedOption ",selectedOption, " d.Outcome1 ",d.Outcome1)
          return d.Outcome1 == selectedOption; 
       });

    // count the consoles for each PHU
     cases = d3.nest()
        .key(function(d, i) { 
             return d.Reporting_PHU; // sort by PHU
        })
        .rollup(function(v) { return v.length; })
        .sortKeys(d3.ascending)
        .entries(cases);

    cases.forEach(function(d) { 
        d.values = +d.values; 
      });

    // calculate the rates - divide count by population
     d3.csv(phuPopulationCSV, function(PHUpopulation) { 
        cases.forEach(function(d) {
            PHUpopulation.forEach (function(e) { 
              if (e.Reporting_PHU == d.key) { 
                  d.rate = d.values/e.Population*100000; //  console.log ("e.Population ",e.Population); // number
                  d.count = d.values;
                 } // end if
            }) // end PHUs.forEach 
         }) // end...