Skip to content

Commit 4d85d51

Browse files
authored
[ENG-6719] Show Funder and Grant ID information on registries moderation cards (#855)
- Ticket: https://openscience.atlassian.net/browse/ENG-6719 - Feature flag: n/a ## Purpose Some registries members use funder information to determine priority or relevance of submissions. They currently must drill down several layers within their moderation workflow to find this information.
1 parent 0113de1 commit 4d85d51

17 files changed

+218
-18
lines changed

src/app/features/metadata/services/index.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/app/features/metadata/store/metadata.state.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import { catchError, finalize, tap } from 'rxjs';
55
import { inject, Injectable } from '@angular/core';
66

77
import { handleSectionError } from '@osf/shared/helpers/state-error.handler';
8+
import { MetadataService } from '@osf/shared/services/metadata.service';
89

910
import { CedarMetadataRecord, CedarMetadataRecordJsonApi, MetadataModel } from '../models';
10-
import { MetadataService } from '../services';
1111

1212
import {
1313
AddCedarMetadataRecordToState,

src/app/features/moderation/components/registry-pending-submissions/registry-pending-submissions.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
[submission]="item"
4040
[status]="selectedReviewOption()"
4141
(selected)="navigateToRegistration(item)"
42-
(loadContributors)="loadContributors(item)"
42+
(loadAdditionalData)="loadAdditionalData(item)"
4343
(loadMoreContributors)="loadMoreContributors(item)"
4444
></osf-registry-submission-item>
4545
</div>

src/app/features/moderation/components/registry-pending-submissions/registry-pending-submissions.component.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { RegistrySort, SubmissionReviewStatus } from '../../enums';
2626
import { RegistryModeration } from '../../models';
2727
import {
2828
GetRegistrySubmissionContributors,
29+
GetRegistrySubmissionFunders,
2930
GetRegistrySubmissions,
3031
LoadMoreRegistrySubmissionContributors,
3132
RegistryModerationSelectors,
@@ -63,6 +64,7 @@ export class RegistryPendingSubmissionsComponent implements OnInit {
6364
getRegistrySubmissions: GetRegistrySubmissions,
6465
getRegistrySubmissionContributors: GetRegistrySubmissionContributors,
6566
loadMoreRegistrySubmissionContributors: LoadMoreRegistrySubmissionContributors,
67+
getRegistrySubmissionFunders: GetRegistrySubmissionFunders,
6668
});
6769

6870
readonly submissions = select(RegistryModerationSelectors.getRegistrySubmissions);
@@ -129,6 +131,11 @@ export class RegistryPendingSubmissionsComponent implements OnInit {
129131
this.actions.loadMoreRegistrySubmissionContributors(item.id);
130132
}
131133

134+
loadAdditionalData(item: RegistryModeration) {
135+
this.actions.getRegistrySubmissionContributors(item.id);
136+
this.actions.getRegistrySubmissionFunders(item.id);
137+
}
138+
132139
private getStatusFromQueryParams() {
133140
const queryParams = this.route.snapshot.queryParams;
134141
const statusValues = Object.values(SubmissionReviewStatus);

src/app/features/moderation/components/registry-submission-item/registry-submission-item.component.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,19 @@ <h4>{{ submission().title }}</h4>
6464

6565
<osf-contributors-list
6666
[contributors]="submission().contributors || []"
67-
[isLoading]="!!submission().contributorsLoading || false"
67+
[isLoading]="submission().contributorsLoading || false"
6868
[hasLoadMore]="hasMoreContributors()"
6969
(loadMoreContributors)="loadMoreContributors.emit()"
7070
>
7171
</osf-contributors-list>
7272
</div>
73+
<div>
74+
<osf-funder-awards-list
75+
[funders]="submission().funders || []"
76+
[isLoading]="submission().fundersLoading || false"
77+
[registryId]="submission().id"
78+
></osf-funder-awards-list>
79+
</div>
7380
</p-accordion-content>
7481
</p-accordion-panel>
7582
</p-accordion>

src/app/features/moderation/components/registry-submission-item/registry-submission-item.component.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { ContributorsListComponent } from '@osf/shared/components/contributors-l
1010
import { IconComponent } from '@osf/shared/components/icon/icon.component';
1111
import { TruncatedTextComponent } from '@osf/shared/components/truncated-text/truncated-text.component';
1212
import { DateAgoPipe } from '@osf/shared/pipes/date-ago.pipe';
13+
import { FunderAwardsListComponent } from '@shared/funder-awards-list/funder-awards-list.component';
1314

1415
import { REGISTRY_ACTION_LABEL, ReviewStatusIcon } from '../../constants';
1516
import { ActionStatus, SubmissionReviewStatus } from '../../enums';
@@ -29,6 +30,7 @@ import { RegistryModeration } from '../../models';
2930
AccordionHeader,
3031
AccordionContent,
3132
ContributorsListComponent,
33+
FunderAwardsListComponent,
3234
],
3335
templateUrl: './registry-submission-item.component.html',
3436
styleUrl: './registry-submission-item.component.scss',
@@ -37,9 +39,8 @@ import { RegistryModeration } from '../../models';
3739
export class RegistrySubmissionItemComponent {
3840
status = input.required<SubmissionReviewStatus>();
3941
submission = input.required<RegistryModeration>();
40-
loadContributors = output<void>();
4142
loadMoreContributors = output<void>();
42-
43+
loadAdditionalData = output<void>();
4344
selected = output<void>();
4445

4546
readonly reviewStatusIcon = ReviewStatusIcon;
@@ -67,6 +68,6 @@ export class RegistrySubmissionItemComponent {
6768
});
6869

6970
handleOpen() {
70-
this.loadContributors.emit();
71+
this.loadAdditionalData.emit();
7172
}
7273
}

src/app/features/moderation/components/registry-submissions/registry-submissions.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
[submission]="item"
4040
[status]="selectedReviewOption()"
4141
(selected)="navigateToRegistration(item)"
42-
(loadContributors)="loadContributors(item)"
42+
(loadAdditionalData)="loadAdditionalData(item)"
4343
(loadMoreContributors)="loadMoreContributors(item)"
4444
></osf-registry-submission-item>
4545
</div>

src/app/features/moderation/components/registry-submissions/registry-submissions.component.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { RegistrySort, SubmissionReviewStatus } from '../../enums';
2626
import { RegistryModeration } from '../../models';
2727
import {
2828
GetRegistrySubmissionContributors,
29+
GetRegistrySubmissionFunders,
2930
GetRegistrySubmissions,
3031
LoadMoreRegistrySubmissionContributors,
3132
RegistryModerationSelectors,
@@ -63,6 +64,7 @@ export class RegistrySubmissionsComponent implements OnInit {
6364
getRegistrySubmissions: GetRegistrySubmissions,
6465
getRegistrySubmissionContributors: GetRegistrySubmissionContributors,
6566
loadMoreRegistrySubmissionContributors: LoadMoreRegistrySubmissionContributors,
67+
getRegistrySubmissionFunders: GetRegistrySubmissionFunders,
6668
});
6769

6870
readonly submissions = select(RegistryModerationSelectors.getRegistrySubmissions);
@@ -129,6 +131,11 @@ export class RegistrySubmissionsComponent implements OnInit {
129131
this.actions.loadMoreRegistrySubmissionContributors(item.id);
130132
}
131133

134+
loadAdditionalData(item: RegistryModeration) {
135+
this.actions.getRegistrySubmissionContributors(item.id);
136+
this.actions.getRegistrySubmissionFunders(item.id);
137+
}
138+
132139
private getStatusFromQueryParams() {
133140
const queryParams = this.route.snapshot.queryParams;
134141
const statusValues = Object.values(SubmissionReviewStatus);

src/app/features/moderation/models/registry-moderation.model.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { Funder } from '@osf/features/metadata/models';
12
import { RegistrationReviewStates } from '@osf/shared/enums/registration-review-states.enum';
23
import { RevisionReviewStates } from '@osf/shared/enums/revision-review-states.enum';
34
import { ContributorModel } from '@shared/models/contributors/contributor.model';
@@ -18,4 +19,6 @@ export interface RegistryModeration {
1819
contributors?: ContributorModel[];
1920
totalContributors?: number;
2021
contributorsPage?: number;
22+
funders?: Funder[];
23+
fundersLoading?: boolean;
2124
}

src/app/features/moderation/store/registry-moderation/registry-moderation.actions.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,9 @@ export class LoadMoreRegistrySubmissionContributors {
2727

2828
constructor(public registryId: string) {}
2929
}
30+
31+
export class GetRegistrySubmissionFunders {
32+
static readonly type = `${ACTION_SCOPE} Get Registry Submission Funders`;
33+
34+
constructor(public registryId: string) {}
35+
}

0 commit comments

Comments
 (0)