dataPS = fetchedDataPS.reduce((groups, d) => {
const group = groups.find((g) => g.code === d.code);
const currentValue = {
code: d.code,
gebiet_name: d.name,
gemeinde: d.gemeindename,
anschlussvertrag: d.anschlussvertrag,
typ: d.anschlussvertrag === "NA" ? d.typ : "Anschlussvertrag",
label: d.anschlussvertrag === "NA" ? "Gemeindegebiet:" : "Anschlussvertrag:"
};
const bfsCodes = {
code: d.code,
gebiet_name: d.name,
schulgebiet: d.schulgebiet,
anschlussvertrag: d.anschlussvertrag
};
if (group) {
group.gdeInfo.push(bfsCodes);
group.typesByCode[currentValue.code] = currentValue.type;
} else {
groups.push({
code: d.code,
gebiet_name: d.name,
name: d.gemeindename,
typ: d.anschlussvertrag === "NA" ? d.typ : "Anschlussvertrag",
anschlussvertrag: d.anschlussvertrag,
label:
d.anschlussvertrag === "NA" ? "Gemeindegebiet" : "Anschlussvertrag",
gdeInfo: [bfsCodes],
typesByCode: {
[currentValue.code]: currentValue.typ
}
});
}
return groups.sort(asc((d) => d.code));
}, [])