Skip to content

Commit

Permalink
Reviewpage redesign (#1373)
Browse files Browse the repository at this point in the history
  • Loading branch information
theosanderson committed Mar 22, 2024
1 parent 0e68d98 commit b1639c2
Show file tree
Hide file tree
Showing 9 changed files with 31 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class DatasetCitationsController(
@GetMapping("/get-user-cited-by-dataset")
fun getUserCitedByDataset(@UsernameFromJwt username: String): CitedBy {
val statusFilter = listOf(APPROVED_FOR_RELEASE)
val userSequences = submissionDatabaseService.getSequences(username, null, null, statusFilter)
val userSequences = submissionDatabaseService.getSequences(username, null, null, statusFilter, statusFilter)
return datasetCitationsService.getUserCitedByDataset(userSequences.sequenceEntries)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,8 @@ class SubmissionController(
)
@RequestParam(required = false)
statusesFilter: List<Status>?,
@RequestParam(required = false)
initialStatusesFilter: List<Status>?,
@UsernameFromJwt username: String,
@RequestParam(required = false, defaultValue = "INCLUDE_WARNINGS")
warningsFilter: WarningsFilter,
Expand All @@ -275,6 +277,7 @@ class SubmissionController(
organism,
groupsFilter,
statusesFilter,
initialStatusesFilter,
warningsFilter,
page,
size,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,7 @@ class SubmissionDatabaseService(
organism: Organism?,
groupsFilter: List<String>?,
statusesFilter: List<Status>?,
statusesInitialFilter: List<Status>?,
warningsFilter: WarningsFilter? = null,
page: Int? = null,
size: Int? = null,
Expand All @@ -431,6 +432,7 @@ class SubmissionDatabaseService(
}

val listOfStatuses = statusesFilter ?: Status.entries
val listOfInitialStatuses = statusesInitialFilter ?: Status.entries

sequenceEntriesTableProvider.get(organism).let { table ->
val baseQuery = table
Expand All @@ -456,7 +458,8 @@ class SubmissionDatabaseService(
)
.select(
where = {
table.groupNameIsOneOf(validatedGroupNames)
table.statusIsOneOf(listOfInitialStatuses) and
table.groupNameIsOneOf(validatedGroupNames)
},
)
.orderBy(table.accessionColumn)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class CitationEndpointsTest(
@Test
fun `WHEN calling get user cited by dataset of non-existing user THEN returns empty results`() {
every {
submissionDatabaseService.getSequences(any(), any(), any(), any())
submissionDatabaseService.getSequences(any(), any(), any(), any(), any())
} returns GetSequenceResponse(sequenceEntries = emptyList(), statusCounts = emptyMap())

client.getUserCitedByDataset()
Expand All @@ -88,7 +88,7 @@ class CitationEndpointsTest(
@Test
fun `WHEN calling get dataset cited by publication of existing dataset THEN returns results`() {
every {
submissionDatabaseService.getSequences(any(), any(), any(), any())
submissionDatabaseService.getSequences(any(), any(), any(), any(), any())
} returns GetSequenceResponse(
sequenceEntries = listOf(
SequenceEntryStatus(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ class SubmissionControllerClient(private val mockMvc: MockMvc, private val objec
organism: String = DEFAULT_ORGANISM,
groupsFilter: List<String>? = null,
statusesFilter: List<Status>? = null,
initialStatusesFilter: List<Status>? = null,
warningsFilter: WarningsFilter? = null,
jwt: String? = jwtForDefaultUser,
page: Int? = null,
Expand All @@ -96,6 +97,7 @@ class SubmissionControllerClient(private val mockMvc: MockMvc, private val objec
.withAuth(jwt)
.param("groupsFilter", groupsFilter?.joinToString { it })
.param("statusesFilter", statusesFilter?.joinToString { it.name })
.param("initialStatusesFilter", initialStatusesFilter?.joinToString { it.name })
.param("warningsFilter", warningsFilter?.name)
.param("page", page?.toString())
.param("size", size?.toString()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ class SubmissionConvenienceClient(
username: String = DEFAULT_USER_NAME,
groupsFilter: List<String>? = null,
statusesFilter: List<Status>? = null,
initialStatusesFilter: List<Status>? = null,
organism: String = DEFAULT_ORGANISM,
warningsFilter: WarningsFilter = WarningsFilter.INCLUDE_WARNINGS,
page: Int? = null,
Expand All @@ -170,6 +171,7 @@ class SubmissionConvenienceClient(
organism = organism,
groupsFilter = groupsFilter,
statusesFilter = statusesFilter,
initialStatusesFilter = initialStatusesFilter,
warningsFilter = warningsFilter,
jwt = generateJwtFor(username),
page = page,
Expand Down
2 changes: 1 addition & 1 deletion website/src/components/ReviewPage/ReviewCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export const ReviewCard: FC<ReviewCardProps> = ({
const { isLoading, data } = useGetMetadataAndAnnotations(organism, clientConfig, accessToken, sequenceEntryStatus);

return (
<div className='p-3 border rounded-md shadow-lg relative transition-all duration-500'>
<div className='px-3 py-2 relative transition-all duration-500'>
<div className='flex'>
<div className='flex flex-grow flex-wrap '>
<StatusIcon
Expand Down
16 changes: 12 additions & 4 deletions website/src/components/ReviewPage/ReviewPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ const InnerReviewPage: FC<ReviewPageProps> = ({ clientConfig, organism, accessTo
);

const reviewCards = (
<div className='flex flex-col gap-2 py-4'>
<div className='flex flex-col gap-2 py-4 divide-y divide-gray-200'>
{sequences.map((sequence) => {
return (
<div key={sequence.accession}>
Expand Down Expand Up @@ -322,9 +322,17 @@ const InnerReviewPage: FC<ReviewPageProps> = ({ clientConfig, organism, accessTo
<>
<ManagedErrorFeedback message={errorMessage} open={isErrorOpen} onClose={closeErrorFeedback} />
<div className={hooks.getSequences.isLoading ? 'opacity-50 pointer-events-none' : ''}>
<div className='flex sm:justify-between items-bottom flex-col md:flex-row gap-5'>
{controlPanel}
{bulkActionButtons}
<div className='sticky top-0 z-10'>
<div className='flex sm:justify-between items-bottom flex-col md:flex-row gap-5 bg-white pb-1'>
{controlPanel}
{bulkActionButtons}
</div>
<div
className='h-2 w-full'
style={{
background: 'linear-gradient(0deg, rgba(255, 255, 255, 0) 0%,rgba(100, 100, 100, .2) 80%)',
}}
></div>
</div>
{reviewCards}
{pagination}
Expand Down
6 changes: 4 additions & 2 deletions website/src/hooks/useSubmissionOperations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,22 @@ export function useSubmissionOperations(
pageQuery: PageQuery,
) {
const hooks = useMemo(() => backendClientHooks(clientConfig), [clientConfig]);
const [includedStatuses, setIncludedStatuses] = useState<string[]>([
const allRelevantStatuses = [
receivedStatus,
inProcessingStatus,
hasErrorsStatus,
awaitingApprovalStatus,
awaitingApprovalForRevocationStatus,
]);
];
const [includedStatuses, setIncludedStatuses] = useState<string[]>(allRelevantStatuses);
const useGetSequences = hooks.useGetSequences(
{
headers: createAuthorizationHeader(accessToken),
params: {
organism,
},
queries: {
initialStatusesFilter: allRelevantStatuses.join(','),
statusesFilter: includedStatuses.join(','),
page: pageQuery.page - 1,
size: pageQuery.size,
Expand Down

0 comments on commit b1639c2

Please sign in to comment.