import React, { useEffect } from 'react'; import { Avatar, List, Progress, Typography, Pagination } from 'antd'; import cn from 'classnames'; import { useStore } from '@/mstore'; import { observer } from 'mobx-react-lite'; import { metricService } from '@/services'; interface Props { list: any; selected?: any; onClickHandler?: (event: any, data: any) => void; metric?: any; total?: number; paginated?: boolean; } function CardSessionsByList({ list, selected, paginated, onClickHandler = () => null, metric, total }: Props) { const { dashboardStore, metricStore, sessionStore } = useStore(); const drillDownPeriod = dashboardStore.drillDownPeriod; const params = { density: 35 }; const metricParams = { ...params }; const [loading, setLoading] = React.useState(false); const data = paginated ? metric?.data[0]?.values : list; const loadData = async (page: number) => { const timestamps = drillDownPeriod.toTimestamps(); const payload = { ...metricParams, ...timestamps, ...metric?.toJson() }; const params = { ...drillDownPeriod, ...payload, key: metric.predefinedKey }; setLoading(true); const data = await metricService.getMetricChartData(metric, { ...params, page, limit: 20 }, false); metric.setData(data, drillDownPeriod); setLoading(false); }; return (