Skip to content

Commit 0cef559

Browse files
committed
get contributors for collections moderation cards
1 parent c59579f commit 0cef559

File tree

4 files changed

+100
-47
lines changed

4 files changed

+100
-47
lines changed

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

Lines changed: 73 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -2,53 +2,82 @@
22
@let attributes = currentSubmissionAttributes();
33

44
@if (action && attributes) {
5-
<div class="p-3">
6-
<div class="flex align-items-center gap-2">
7-
<osf-icon
8-
[class]="reviewStatusIcon[submission().reviewsState].value"
9-
[iconClass]="reviewStatusIcon[submission().reviewsState].icon"
10-
></osf-icon>
5+
<div class="resource">
6+
<p-accordion (onOpen)="handleOpen()">
7+
<p-accordion-panel value="0">
8+
<p-accordion-header class="flex flex-row align-items-start gap-3 p-3">
9+
<div osfStopPropagation class="flex align-items-baseline gap-2 font-normal">
10+
<div class="p-3">
11+
<div class="flex align-items-center gap-2">
12+
<osf-icon
13+
[class]="reviewStatusIcon[submission().reviewsState].value"
14+
[iconClass]="reviewStatusIcon[submission().reviewsState].icon"
15+
></osf-icon>
1116

12-
<p-button class="link-btn-no-padding" link (onClick)="handleNavigation()" [label]="submission().title" />
13-
</div>
17+
<p-button
18+
class="link-btn-no-padding"
19+
link
20+
(onClick)="handleNavigation()"
21+
[label]="submission().title"
22+
/>
23+
</div>
1424

15-
<p class="flex flex-wrap gap-1 mt-2">
16-
@switch (action.toState) {
17-
@case (SubmissionReviewStatus.Pending) {
18-
<span class="capitalize">{{ 'moderation.submissionReview.submitted' | translate }}</span>
19-
}
20-
@case (SubmissionReviewStatus.Accepted) {
21-
@if (!collectionProvider()?.reviewsWorkflow) {
22-
<span class="capitalize">{{ 'moderation.submissionReview.submitted' | translate }}</span>
23-
} @else {
24-
<span class="capitalize">{{ 'moderation.submissionReview.accepted' | translate }}</span>
25-
}
26-
}
27-
@case (SubmissionReviewStatus.Rejected) {
28-
<span class="capitalize">{{ 'moderation.submissionReview.rejected' | translate }}</span>
29-
}
30-
@case (SubmissionReviewStatus.Removed) {
31-
<span class="capitalize">{{ 'moderation.submissionReview.withdrawn' | translate }}</span>
32-
}
33-
}
34-
<span>{{ action.dateCreated | dateAgo }}</span>
35-
<span>{{ 'moderation.submissionReview.by' | translate }}</span>
36-
<span>{{ action.createdBy }}</span>
37-
</p>
25+
<p class="flex flex-wrap gap-1 mt-2">
26+
@switch (action.toState) {
27+
@case (SubmissionReviewStatus.Pending) {
28+
<span class="capitalize">{{ 'moderation.submissionReview.submitted' | translate }}</span>
29+
}
30+
@case (SubmissionReviewStatus.Accepted) {
31+
@if (!collectionProvider()?.reviewsWorkflow) {
32+
<span class="capitalize">{{ 'moderation.submissionReview.submitted' | translate }}</span>
33+
} @else {
34+
<span class="capitalize">{{ 'moderation.submissionReview.accepted' | translate }}</span>
35+
}
36+
}
37+
@case (SubmissionReviewStatus.Rejected) {
38+
<span class="capitalize">{{ 'moderation.submissionReview.rejected' | translate }}</span>
39+
}
40+
@case (SubmissionReviewStatus.Removed) {
41+
<span class="capitalize">{{ 'moderation.submissionReview.withdrawn' | translate }}</span>
42+
}
43+
}
44+
<span>{{ action.dateCreated | dateAgo }}</span>
45+
<span>{{ 'moderation.submissionReview.by' | translate }}</span>
46+
<span>{{ action.createdBy }}</span>
47+
</p>
3848

39-
<div class="flex mt-2 flex-wrap">
40-
@for (attribute of attributes; track attribute.key) {
41-
@if (!$first) {
42-
<span class="mx-1 flex align-items-start">|</span>
43-
}
44-
<p class="font-normal">
45-
<span class="font-bold">test {{ attribute.label }}:</span> {{ attribute.value }}
46-
</p>
47-
}
48-
</div>
49+
<div class="flex mt-2 flex-wrap">
50+
@for (attribute of attributes; track attribute.key) {
51+
@if (!$first) {
52+
<span class="mx-1 flex align-items-start">|</span>
53+
}
54+
<p class="font-normal">
55+
<span class="font-bold">test {{ attribute.label }}:</span> {{ attribute.value }}
56+
</p>
57+
}
58+
</div>
4959

50-
@if (action.comment) {
51-
<osf-truncated-text class="block font-italic mt-2" [text]="action.comment" />
52-
}
60+
@if (action.comment) {
61+
<osf-truncated-text class="block font-italic mt-2" [text]="action.comment" />
62+
}
63+
</div>
64+
</div>
65+
</p-accordion-header>
66+
67+
<p-accordion-content>
68+
<div class="flex align-content-start gap-1 p-3 pt-0 ml-3">
69+
<p>{{ 'common.labels.contributors' | translate }}:</p>
70+
<p>{{ !!submission().contributorsLoading }}</p>
71+
<osf-contributors-list
72+
[contributors]="submission().contributors!"
73+
[isLoading]="!!submission().contributorsLoading"
74+
[hasLoadMore]="hasMoreContributors()"
75+
(loadMoreContributors)="loadMoreContributors.emit()"
76+
>
77+
</osf-contributors-list>
78+
</div>
79+
</p-accordion-content>
80+
</p-accordion-panel>
81+
</p-accordion>
5382
</div>
5483
}

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

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,23 @@ import { CollectionsSelectors } from '@osf/shared/stores/collections';
1616

1717
import { ReviewStatusIcon } from '../../constants';
1818
import { SubmissionReviewStatus } from '../../enums';
19+
import { Accordion, AccordionContent, AccordionHeader, AccordionPanel } from 'primeng/accordion';
20+
import { ContributorsListComponent } from '@osf/shared/components/contributors-list/contributors-list.component';
1921

2022
@Component({
2123
selector: 'osf-submission-item',
22-
imports: [TranslatePipe, IconComponent, DateAgoPipe, Button, TruncatedTextComponent],
24+
imports: [
25+
TranslatePipe,
26+
IconComponent,
27+
DateAgoPipe,
28+
Button,
29+
TruncatedTextComponent,
30+
Accordion,
31+
AccordionPanel,
32+
AccordionHeader,
33+
AccordionContent,
34+
ContributorsListComponent,
35+
],
2336
templateUrl: './collection-submission-item.component.html',
2437
styleUrl: './collection-submission-item.component.scss',
2538
changeDetection: ChangeDetectionStrategy.OnPush,
@@ -56,6 +69,17 @@ export class CollectionSubmissionItemComponent {
5669
.filter((attribute) => attribute.value);
5770
});
5871

72+
hasMoreContributors = computed(() => {
73+
// alert('hasMoreContributors', submission.contributors, submission.totalContributors);
74+
const submission = this.submission();
75+
console.log('hasMoreContributors', submission.contributors, submission.totalContributors);
76+
if (submission.contributors && submission.totalContributors) {
77+
return submission.contributors.length < submission.totalContributors;
78+
}
79+
80+
return false;
81+
});
82+
5983
handleNavigation() {
6084
const currentStatus = this.activatedRoute.snapshot.queryParams['status'];
6185
const queryParams = currentStatus ? { status: currentStatus, mode: 'moderation' } : {};

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export class PreprintSubmissionItemComponent {
5252

5353
hasMoreContributors = computed(() => {
5454
const submission = this.submission();
55-
console.log('submission ', submission);
55+
console.log('hasMoreContributors ', submission);
5656
return submission.contributors.length < submission.totalContributors;
5757
});
5858

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export class RegistrySubmissionItemComponent {
6262
const submission = this.submission();
6363
console.log('submission');
6464
console.log(submission);
65-
console.log('after submission');
65+
console.log('after submission', submission.contributors.length, submission.totalContributors);
6666
return submission.contributors.length < submission.totalContributors;
6767
});
6868

0 commit comments

Comments
 (0)