worldStatus= (vizOption,dataType)=>{
const svg = d3.create("svg")
.style("display", "block")
.attr("viewBox", [0, 0, width, height])
.attr("width", width)
.attr("height", height);
svg.append("rect").attr("width",width).attr("height",height).attr("fill","lightgray");
const dateText = svg.append("text")
.attr("id","date")
.attr("font-size","15")
.style("stroke","black")
.style("fill","black")
.text("Test");
const chartContainer = svg.append("g")
const outline = ({type: "Sphere"});
const geoPathGenerator = d3.geoPath().projection(projection);
chartContainer.append("path").attr("d",geoPathGenerator(outline)).attr("fill","#c9e8fd");
const bubbleColor = "red";
let radScale=undefined;
if (vizOption == "bubble") radScale = d3.scaleSqrt().domain(dataExtent.deaths).range([1, width/50]);
const container = chartContainer.append("g");
let dateIndex = dates.length-1;
drawChart();
return svg.node();
function drawChart(){
dateText.text((dataType=="deaths"?"Deaths ":"Confirmed cases ")+" by "+ dates[dateIndex]);
let data = {};
let dData = {};
Object.keys(confirmed_n_death).forEach(function(d){
if (dataType == "confirmed")
data[d] = confirmed_n_death[d].confirmed[dateIndex];
else data[d] = confirmed_n_death[d].deaths[dateIndex];
});
(vizOption=="choropleth")?drawChoropleth(container, worldMap, "name", data, World_choropleth_colorScale,projection)
:drawBubbleChart(container, worldMap, "name", data, radScale, bubbleColor, projection);
}
}