@@ -6,10 +6,11 @@ import { debounce } from "lodash";
66interface Props {
77 data : Array < any > ;
88 eventTypeLabels : any ;
9+ eventTypes : Array < { value : string ; color : string } > ;
910 setDateRange : ( range : { fromTimestamp : string ; toTimestamp : string } ) => void ;
1011}
1112
12- const EventTypeTimeChart = ( { data, eventTypeLabels, setDateRange } : Props ) => {
13+ const EventTypeTimeChart = ( { data, eventTypeLabels, eventTypes , setDateRange } : Props ) => {
1314 const chartRef = useRef < any > ( null ) ;
1415
1516 const debouncedSetDateRange = useRef (
@@ -43,14 +44,21 @@ const EventTypeTimeChart = ({ data, eventTypeLabels, setDateRange }: Props) => {
4344 } , { } ) ;
4445
4546 // Get unique event types
46- const eventTypes = [ ...new Set ( data . map ( ( log : any ) => log . eventType ) ) ] ;
47+ const eventTypesSet = [ ...new Set ( data . map ( ( log : any ) => log . eventType ) ) ] ;
48+
49+ const colorMap : { [ key : string ] : string } = Object . fromEntries (
50+ eventTypes . map ( ( et ) => [ et . value , et . color ] )
51+ ) ;
4752
4853 // Prepare series data for each event type
49- const series = eventTypes . map ( ( eventType ) => ( {
54+ const series = eventTypesSet . map ( ( eventType ) => ( {
5055 name : eventTypeLabels [ eventType ] || eventType ,
5156 type : "bar" ,
5257 stack : "total" ,
5358 data : fullDateRange . map ( ( date ) => groupedData [ date ] ?. [ eventType ] || 0 ) , // Fill gaps with 0
59+ itemStyle : {
60+ color : colorMap [ eventType ] || "#8c8c8c" , // Use predefined color or fallback
61+ } ,
5462 } ) ) ;
5563
5664 const handleChartEvents = ( params : any ) => {
0 commit comments