import { connectPlayer } from 'App/player'; import { toggleBottomBlock } from 'Duck/components/player'; import React from 'react'; import BottomBlock from '../BottomBlock'; import EventRow from './components/EventRow'; import { TYPES } from 'Types/session/event'; import { connect } from 'react-redux'; import TimelineScale from './components/TimelineScale'; import FeatureSelection from './components/FeatureSelection/FeatureSelection'; import TimelinePointer from './components/TimelinePointer'; import VerticalPointerLine from './components/VerticalPointerLine'; import cn from 'classnames'; import VerticalLine from './components/VerticalLine'; import OverviewPanelContainer from './components/OverviewPanelContainer'; interface Props { resourceList: any[]; exceptionsList: any[]; eventsList: any[]; toggleBottomBlock: any; stackEventList: any[]; issuesList: any[]; } function OverviewPanel(props: Props) { const { resourceList, exceptionsList, eventsList, stackEventList, issuesList } = props; const clickRageList = React.useMemo(() => { return eventsList.filter((item: any) => item.type === TYPES.CLICKRAGE); }, [eventsList]); const [selectedFeatures, setSelectedFeatures] = React.useState(['PERFORMANCE', 'ERRORS', 'EVENTS']); const resources: any = React.useMemo(() => { return { NETWORK: resourceList, ERRORS: exceptionsList, EVENTS: stackEventList, CLICKRAGE: clickRageList, PERFORMANCE: issuesList, }; }, [resourceList, exceptionsList, stackEventList, clickRageList, issuesList]); return ( Overview
{selectedFeatures.map((feature: any, index: number) => (
} />
))}
); } export default connect( (state: any) => ({ issuesList: state.getIn(['sessions', 'current', 'issues']), }), { toggleBottomBlock, } )( connectPlayer((state: any) => ({ resourceList: state.resourceList.filter((r: any) => r.isRed() || r.isYellow()), exceptionsList: state.exceptionsList, eventsList: state.eventList, stackEventList: state.stackList, }))(OverviewPanel) );