import _ from 'underscore' import React from 'react' import {connect} from 'react-redux' import {Link} from 'react-router' import {replace} from 'react-router-redux' import {filtersEqual} from 'components/filters/groups' import FilterReason from 'components/routeservers/communities/filter-reason' import NoexportReason from 'components/routeservers/communities/noexport-reason' import BgpAttributesModal from 'components/routeservers/routes/bgp-attributes-modal' import LoadingIndicator from 'components/loading-indicator/small' import ResultsTable from './table' import {loadResults, reset} from './actions' import {RoutesPaginator, RoutesPaginationInfo} from './pagination' import {RoutesHeader} from 'components/routeservers/routes/view' const ResultsView = function(props) { if(!props.routes) { return null; } if(props.routes.length == 0) { return null; } const type = props.type; return (
No prefixes could be found for {this.props.query}
); } } const NoResultsFallback = connect( (state) => { let total = state.lookup.totalRoutes; let query = state.lookup.query; let isLoading = state.lookup.isLoading; let show = false; if (total == 0 && query != "" && isLoading == false) { show = true; } return { show: show, query: state.lookup.query } } )(NoResultsView); class LookupResults extends React.Component { dispatchLookup() { const query = this.props.query; const pageImported = this.props.pagination.imported.page; const pageFiltered = this.props.pagination.filtered.page; const filters = this.props.filtersApplied; if (query == "") { // Dispatch reset and transition to main page this.props.dispatch(reset()); this.props.dispatch(replace("/")); } else { this.props.dispatch( loadResults(query, filters, pageImported, pageFiltered) ); } } componentDidMount() { // Dispatch query this.dispatchLookup(); } componentDidUpdate(prevProps) { if(this.props.query != prevProps.query || this.props.pagination.filtered.page != prevProps.pagination.filtered.page || this.props.pagination.imported.page != prevProps.pagination.imported.page || !filtersEqual(this.props.filtersApplied, prevProps.filtersApplied)) { this.dispatchLookup(); } } render() { if(this.props.isLoading) { return