import * as React from 'react'; import { QueryStore } from 'shared/components/query/QueryStore'; import { Observer, observer } from 'mobx-react'; import { expr } from 'mobx-utils'; import LoadingIndicator from 'shared/components/loadingIndicator/LoadingIndicator'; export const StudySelectorStats: React.FunctionComponent<{ store: QueryStore; }> = observer(props => { if ( !props.store.cancerTypes.isPending && !props.store.cancerStudies.isPending && !props.store.profiledSamplesCount.isPending ) { return ( {() => { let numSelectedStudies = expr( () => props.store.selectableSelectedStudyIds.length ); return ( <> { if (numSelectedStudies) props.store.showSelectedStudiesOnly = !props .store.showSelectedStudiesOnly; }} > {numSelectedStudies}{' '} {numSelectedStudies === 1 ? 'study' : 'studies'}{' '} selected ( {props.store.sampleCountForSelectedStudies} {' '} samples) {props.store.selectableSelectedStudies.length > 0 && ( props.store.studyListLogic.mainView.clearAllSelection() } > Deselect all )} ); }} ); } else { return ( ); } });