import { connectPlayer } from 'App/player'; import React from 'react'; import BottomBlock from '../BottomBlock'; import EventRow from './components/EventRow'; import { TYPES } from 'Types/session/event'; import { Icon } from 'UI'; import { Tooltip } from 'react-tippy'; import stl from './overviewPanel.module.css'; interface Props { resourceList: any[]; exceptionsList: any[]; eventsList: any[]; endTime: number; } function OverviewPanel(props: Props) { const { resourceList, exceptionsList, eventsList, endTime } = props; const clickRageList = React.useMemo(() => { return eventsList.filter((item: any) => item.type === TYPES.CLICKRAGE); }, [eventsList]); const containerRef = React.useRef(null); const innerRef = React.createRef(); const scale = 100 / endTime; let width = 100; const SPEED = 5; const onWheel = (e: React.UIEvent) => { e.preventDefault(); e.stopPropagation(); const delta = e.deltaY; if (delta > 0) { width += SPEED; } else { width -= SPEED; } if (width < 100) { width = 100; } if (innerRef.current) { innerRef.current.style.width = width + '%'; if (containerRef.current) { containerRef.current.style.left = (100 - width) / 2 + '%'; } } }; const renderNetworkElement = (item: any) => { return
; }; const renderClickRageElement = (item: any) => { return (
); }; const renderExceptionElement = (item: any) => { // console.log('item', item); return ( {'Exception'}
{item.message}
} delay={0} position="top" > ); }; return (
Overview
); } export default connectPlayer((state: any) => ({ resourceList: state.resourceList, exceptionsList: state.exceptionsList, eventsList: state.eventList, endTime: state.endTime, }))(OverviewPanel); const VerticalPointerLine = connectPlayer((state: any) => ({ time: state.time, scale: 100 / state.endTime, }))(({ time, scale }: any) => { const left = time * scale; return
; });