diff --git a/src/app/core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service.ts b/src/app/core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service.ts
index 0f52771f51..92ae87e252 100644
--- a/src/app/core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service.ts
+++ b/src/app/core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service.ts
@@ -17,6 +17,7 @@ import { dataService } from '../../../data/base/data-service.decorator';
import { QUALITY_ASSURANCE_TOPIC_OBJECT } from '../models/quality-assurance-topic-object.resource-type';
import { FindAllData, FindAllDataImpl } from '../../../data/base/find-all-data';
import { hasValue } from 'src/app/shared/empty.util';
+import { SearchData, SearchDataImpl } from 'src/app/core/data/base/search-data';
/**
* The service handling all Quality Assurance topic REST requests.
@@ -26,6 +27,9 @@ import { hasValue } from 'src/app/shared/empty.util';
export class QualityAssuranceTopicDataService extends IdentifiableDataService {
private findAllData: FindAllData;
+ private searchData: SearchData;
+
+ private searchByTargetMethod = 'byTarget';
/**
* Initialize service variables
@@ -44,6 +48,7 @@ export class QualityAssuranceTopicDataService extends IdentifiableDataServiceqa-event-notification works!
+ 0">
+ asdfasdf
+
+
+asfasdfasdf
diff --git a/src/app/item-page/simple/qa-event-notification/qa-event-notification.component.ts b/src/app/item-page/simple/qa-event-notification/qa-event-notification.component.ts
index b5163e0757..ecb9904cef 100644
--- a/src/app/item-page/simple/qa-event-notification/qa-event-notification.component.ts
+++ b/src/app/item-page/simple/qa-event-notification/qa-event-notification.component.ts
@@ -1,8 +1,12 @@
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import { Item } from '../../../core/shared/item.model';
-import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
+import { getFirstCompletedRemoteData, getPaginatedListPayload, getRemoteDataPayload } from '../../../core/shared/operators';
import { QualityAssuranceEventDataService } from '../../../core/suggestion-notifications/qa/events/quality-assurance-event-data.service';
import { QualityAssuranceTopicDataService } from '../../../core/suggestion-notifications/qa/topics/quality-assurance-topic-data.service';
+import { QualityAssuranceTopicObject } from 'src/app/core/suggestion-notifications/qa/models/quality-assurance-topic.model';
+import { Observable, concatMap, from, map, mergeMap, of, switchMap, tap } from 'rxjs';
+import { QualityAssuranceEventObject } from 'src/app/core/suggestion-notifications/qa/models/quality-assurance-event.model';
+import { AlertType } from 'src/app/shared/alert/aletr-type';
@Component({
selector: 'ds-qa-event-notification',
@@ -15,20 +19,40 @@ export class QaEventNotificationComponent {
@Input() item: Item;
+ events: QualityAssuranceEventObject[] = [];
+
+ AlertTypeInfo = AlertType.Info;
+
constructor(
- protected qualityAssuranceEventDataService: QualityAssuranceEventDataService,
- protected qualityAssuranceTopicDataService: QualityAssuranceTopicDataService,
+ private qualityAssuranceEventDataService: QualityAssuranceEventDataService,
+ private qualityAssuranceTopicDataService: QualityAssuranceTopicDataService,
) { }
ngOnInit(): void {
- this.getTopics();
+ this.getEventsByTopicsAndTarget();
}
- getTopics(): void {
- this.qualityAssuranceTopicDataService.getTopicsByTargetAndSource(this.item.id, 'coar-notify', {}, true, true).pipe(
+ getEventsByTopicsAndTarget(): void {
+ // TODO: add source 'coar-notify'
+ this.qualityAssuranceTopicDataService.getTopicsByTargetAndSource(this.item.id).pipe(
getFirstCompletedRemoteData(),
- ).subscribe((topics) => {
- console.log(topics);
- });
+ getRemoteDataPayload(),
+ getPaginatedListPayload(),
+ tap((topics: QualityAssuranceTopicObject[]) => console.log(topics, 'topics')),
+ mergeMap((topics: QualityAssuranceTopicObject[]) => {
+ return from(topics).pipe(
+ concatMap((topic: QualityAssuranceTopicObject) => {
+ return this.qualityAssuranceEventDataService.getEventsByTopicAndTarget(topic.name, this.item.id).pipe(
+ tap((events: any) => console.log(events, 'events')),
+ );
+ } )
+ );
+ }),
+ getFirstCompletedRemoteData(),
+ getRemoteDataPayload(),
+ getPaginatedListPayload(),
+ ).subscribe((events: QualityAssuranceEventObject[]) => {
+ this.events = events;
+ console.log(events, 'events2')});
}
}