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 (
);
}
});