addClick = (index, scales, values, dimensions, context, next) => {
const el = next(index, scales, values, dimensions, context);
const path = el.querySelectorAll("path");
for (let i = 0; i < path.length; i++) {
const d = {idx: index[i], name:values.geometry[index[i]].properties.name};
path[i].addEventListener("click", () => {
const clickedState = stateCodeByName.get(d.name)
const newSet = new Set(selectedStates)
if (clickedState) {
if (newSet.has(clickedState)) {
newSet.delete(clickedState)
} else {
newSet.add(clickedState);
}
viewof selectedStates.values = Array.from(newSet);
}
});
}
return el;
}