@@ -6,10 +6,11 @@ import { debounce } from "lodash";
6
6
interface Props {
7
7
data : Array < any > ;
8
8
eventTypeLabels : any ;
9
+ eventTypes : Array < { value : string ; color : string } > ;
9
10
setDateRange : ( range : { fromTimestamp : string ; toTimestamp : string } ) => void ;
10
11
}
11
12
12
- const EventTypeTimeChart = ( { data, eventTypeLabels, setDateRange } : Props ) => {
13
+ const EventTypeTimeChart = ( { data, eventTypeLabels, eventTypes , setDateRange } : Props ) => {
13
14
const chartRef = useRef < any > ( null ) ;
14
15
15
16
const debouncedSetDateRange = useRef (
@@ -43,14 +44,21 @@ const EventTypeTimeChart = ({ data, eventTypeLabels, setDateRange }: Props) => {
43
44
} , { } ) ;
44
45
45
46
// 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
+ ) ;
47
52
48
53
// Prepare series data for each event type
49
- const series = eventTypes . map ( ( eventType ) => ( {
54
+ const series = eventTypesSet . map ( ( eventType ) => ( {
50
55
name : eventTypeLabels [ eventType ] || eventType ,
51
56
type : "bar" ,
52
57
stack : "total" ,
53
58
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
+ } ,
54
62
} ) ) ;
55
63
56
64
const handleChartEvents = ( params : any ) => {
0 commit comments