import React from 'react' import {connect} from 'react-redux' import {Link} from 'react-router' import Details from '../details' import Status from '../status' import PageHeader from 'components/page-header' import ProtocolName from 'components/routeservers/protocols/name' import RoutesView from './view' import SearchInput from 'components/search-input' import BgpAttributesModal from './bgp-attributes-modal' import RoutesLoadingIndicator from './loading-indicator' // Actions import {setRoutesFilterValue} from '../actions' import {loadRouteserverProtocol} from 'components/routeservers/actions' // Constants import {ROUTES_RECEIVED, ROUTES_FILTERED, ROUTES_NOT_EXPORTED} from './actions'; class RoutesPage extends React.Component { setFilter(value) { this.props.dispatch( setRoutesFilterValue(value) ); } componentDidMount() { // Assert neighbors for RS are loaded this.props.dispatch( loadRouteserverProtocol(parseInt(this.props.params.routeserverId)) ); } render() { return(
»
this.setFilter(e.target.value)} />
); } } export default connect( (state) => { let received = { loading: state.routes.receivedLoading, totalResults: state.routes.receivedTotalResults, }; let filtered = { loading: state.routes.filteredLoading, totalResults: state.routes.filteredTotalResults, }; let notExported = { loading: state.routes.notExportedLoading, totalResults: state.routes.notExportedTotalResults, }; return({ filterQuery: state.routes.filterQuery, routes: { [ROUTES_RECEIVED]: received, [ROUTES_FILTERED]: filtered, [ROUTES_NOT_EXPORTED]: notExported } }); } )(RoutesPage);