import React from 'react' import { connect } from 'react-redux'; import cn from 'classnames'; import { SideMenuitem, SavedSearchList, Progress, Popup } from 'UI' import stl from './sessionMenu.css'; import { fetchWatchdogStatus } from 'Duck/watchdogs'; import { clearEvents } from 'Duck/filters'; import { issues_types } from 'Types/session/issue' import { fetchList as fetchSessionList } from 'Duck/sessions'; function SessionsMenu(props) { const { activeTab, keyMap, wdTypeCount, toggleRehydratePanel } = props; const onMenuItemClick = (filter) => { props.onMenuItemClick(filter) } const capturingAll = props.captureRate && props.captureRate.get('captureAll'); return (
Sessions
{capturingAll && Manage} { !capturingAll && (
} content={ `Capturing ${props.captureRate.get('rate')}% of all sessions. Click to manage capture rate. ` } size="tiny" inverted position="top right" /> )}
onMenuItemClick({ name: 'All', type: 'all' })} />
{ issues_types.filter(item => item.visible).map(item => ( onMenuItemClick(item)} /> ))}
onMenuItemClick({ name: 'Bookmarks', type: 'bookmark' })} />
) } export default connect(state => ({ activeTab: state.getIn([ 'search', 'activeTab' ]), keyMap: state.getIn([ 'sessions', 'keyMap' ]), wdTypeCount: state.getIn([ 'sessions', 'wdTypeCount' ]), captureRate: state.getIn(['watchdogs', 'captureRate']), filters: state.getIn([ 'filters', 'appliedFilter' ]), sessionsLoading: state.getIn([ 'sessions', 'fetchLiveListRequest', 'loading' ]), }), { fetchWatchdogStatus, clearEvents, fetchSessionList })(SessionsMenu);