import React, { useEffect, useState } from "react"; import { useRecoilValue } from "recoil"; import { gisStationsStaticDistrictState } from "../features/gisStationState"; function DataSheet() { // useState für uniqueAreas und stationListing const [uniqueAreas, setUniqueAreas] = useState([]); const [stationListing, setStationListing] = useState([]); const GisStationsStaticDistrict = useRecoilValue( gisStationsStaticDistrictState ); useEffect(() => { console.log( "GisStationsStaticDistrict in DataSheet:", GisStationsStaticDistrict ); const seenNames = new Set(); const filteredAreas = GisStationsStaticDistrict.filter((item) => { const isUnique = !seenNames.has(item.Area_Name); if (isUnique) { seenNames.add(item.Area_Name); } return isUnique; }); setUniqueAreas(filteredAreas); // Erzeugen von stationListing aus uniqueAreas und alphabetisches Sortieren const newStationListing = filteredAreas .map((area, index) => ({ id: index + 1, // Zuweisung einer eindeutigen ID name: area.Area_Name, })) .sort((a, b) => a.name.localeCompare(b.name)); // Alphabetisches Sortieren der Namen setStationListing(newStationListing); }, [GisStationsStaticDistrict]); const [checkedStations, setCheckedStations] = useState({}); const handleCheckboxChange = (id) => { setCheckedStations((prev) => ({ ...prev, [id]: !prev[id], })); }; const handleStationChange = (event) => { console.log("Station selected:", event.target.value); }; const resetView = () => { console.log("View has been reset"); }; return (
{/* Dropdown */} {/* Icon */} Expand
{/* Liste der Stationen mit Checkboxen */} {stationListing.map((station) => (
handleCheckboxChange(station.id)} />
))}
); } export default DataSheet;