import { GridColumn, GridTable } from 'react-basics'; import { useEventDataProperties, useEventDataValues, useMessages } from 'components/hooks'; import { LoadingPanel } from 'components/common/LoadingPanel'; import PieChart from 'components/charts/PieChart'; import { useState } from 'react'; import { CHART_COLORS } from 'lib/constants'; import styles from './EventProperties.module.css'; export function EventProperties({ websiteId }: { websiteId: string }) { const [propertyName, setPropertyName] = useState(''); const [eventName, setEventName] = useState(''); const { formatMessage, labels } = useMessages(); const { data, isLoading, isFetched, error } = useEventDataProperties(websiteId); const { data: values } = useEventDataValues(websiteId, eventName, propertyName); const chartData = propertyName && values ? { labels: values.map(({ value }) => value), datasets: [ { data: values.map(({ total }) => total), backgroundColor: CHART_COLORS, borderWidth: 0, }, ], } : null; const handleRowClick = row => { setEventName(row.eventName); setPropertyName(row.propertyName); }; return (
{row => (
handleRowClick(row)}> {row.eventName}
)}
{row => (
handleRowClick(row)}> {row.propertyName}
)}
{propertyName && (
{propertyName}
)}
); } export default EventProperties;