mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
[CST-12145] implementation of item-page & y dspace coar-notify notifications
This commit is contained in:
@@ -49,6 +49,21 @@ import { SourceDataResolver } from './admin-quality-assurance-source-page-compon
|
|||||||
showBreadcrumbsFluid: false
|
showBreadcrumbsFluid: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
canActivate: [ AuthenticatedGuard ],
|
||||||
|
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId/:targetId`,
|
||||||
|
component: AdminQualityAssuranceTopicsPageComponent,
|
||||||
|
pathMatch: 'full',
|
||||||
|
resolve: {
|
||||||
|
breadcrumb: I18nBreadcrumbResolver,
|
||||||
|
openaireQualityAssuranceTopicsParams: AdminQualityAssuranceTopicsPageResolver
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
title: 'admin.quality-assurance.page.title',
|
||||||
|
breadcrumbKey: 'admin.quality-assurance',
|
||||||
|
showBreadcrumbsFluid: false
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
canActivate: [ AuthenticatedGuard ],
|
canActivate: [ AuthenticatedGuard ],
|
||||||
path: `${QUALITY_ASSURANCE_EDIT_PATH}`,
|
path: `${QUALITY_ASSURANCE_EDIT_PATH}`,
|
||||||
|
@@ -86,27 +86,11 @@ export class QualityAssuranceEventDataService extends IdentifiableDataService<Qu
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Service for retrieving Quality Assurance events by topic and target.
|
* Service for retrieving Quality Assurance events by topic and target.
|
||||||
* @param topic The topic of the events to retrieve.
|
|
||||||
* @param target (Optional) The target of the events to retrieve (the item's uuid).
|
|
||||||
* @param options (Optional) The search options to use when retrieving the events.
|
* @param options (Optional) The search options to use when retrieving the events.
|
||||||
* @param linksToFollow (Optional) The links to follow when retrieving the events.
|
* @param linksToFollow (Optional) The links to follow when retrieving the events.
|
||||||
* @returns An observable of the remote data containing the paginated list of Quality Assurance events.
|
* @returns An observable of the remote data containing the paginated list of Quality Assurance events.
|
||||||
*/
|
*/
|
||||||
public getEventsByTopicAndTarget(topic: string, target?: string, options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig<QualityAssuranceEventObject>[]): Observable<RemoteData<PaginatedList<QualityAssuranceEventObject>>> {
|
public searchEventsByTopic(options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig<QualityAssuranceEventObject>[]): Observable<RemoteData<PaginatedList<QualityAssuranceEventObject>>> {
|
||||||
options.searchParams = [
|
|
||||||
{
|
|
||||||
fieldName: 'topic',
|
|
||||||
fieldValue: topic
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
if (hasValue(target)) {
|
|
||||||
options.searchParams.push({
|
|
||||||
fieldName: 'target',
|
|
||||||
fieldValue: target
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.searchData.searchBy('findByTopic', options, true, true, ...linksToFollow);
|
return this.searchData.searchBy('findByTopic', options, true, true, ...linksToFollow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,8 +16,7 @@ import { IdentifiableDataService } from '../../../data/base/identifiable-data.se
|
|||||||
import { dataService } from '../../../data/base/data-service.decorator';
|
import { dataService } from '../../../data/base/data-service.decorator';
|
||||||
import { QUALITY_ASSURANCE_TOPIC_OBJECT } from '../models/quality-assurance-topic-object.resource-type';
|
import { QUALITY_ASSURANCE_TOPIC_OBJECT } from '../models/quality-assurance-topic-object.resource-type';
|
||||||
import { FindAllData, FindAllDataImpl } from '../../../data/base/find-all-data';
|
import { FindAllData, FindAllDataImpl } from '../../../data/base/find-all-data';
|
||||||
import { hasValue } from 'src/app/shared/empty.util';
|
import { SearchData, SearchDataImpl } from '../../../../core/data/base/search-data';
|
||||||
import { SearchData, SearchDataImpl } from 'src/app/core/data/base/search-data';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The service handling all Quality Assurance topic REST requests.
|
* The service handling all Quality Assurance topic REST requests.
|
||||||
@@ -68,34 +67,6 @@ export class QualityAssuranceTopicDataService extends IdentifiableDataService<Qu
|
|||||||
return this.findAllData.findAll(options, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow);
|
return this.findAllData.findAll(options, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieves a paginated list of QualityAssuranceTopicObjects by target and source.
|
|
||||||
* @param target The target to search for (the item's uuid).
|
|
||||||
* @param source The source to search for (optional).
|
|
||||||
* @param options The find list options (optional).
|
|
||||||
* @param useCachedVersionIfAvailable Whether to use a cached version if available (optional, default is true).
|
|
||||||
* @param reRequestOnStale Whether to re-request if the cached version is stale (optional, default is true).
|
|
||||||
* @param linksToFollow The links to follow (optional).
|
|
||||||
* @returns An observable of RemoteData<PaginatedList<QualityAssuranceTopicObject>>.
|
|
||||||
*/
|
|
||||||
public getTopicsByTargetAndSource(target: string, source?: string, options: FindListOptions = {}, useCachedVersionIfAvailable = true, reRequestOnStale = true, ...linksToFollow: FollowLinkConfig<QualityAssuranceTopicObject>[]): Observable<RemoteData<PaginatedList<QualityAssuranceTopicObject>>> {
|
|
||||||
options.searchParams = [
|
|
||||||
{
|
|
||||||
fieldName: 'target',
|
|
||||||
fieldValue: target
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
if (hasValue(source)) {
|
|
||||||
options.searchParams.push({
|
|
||||||
fieldName: 'source',
|
|
||||||
fieldValue: source
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.searchData.searchBy(this.searchByTargetMethod, options, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clear FindAll topics requests from cache
|
* Clear FindAll topics requests from cache
|
||||||
*/
|
*/
|
||||||
|
@@ -1,5 +1,9 @@
|
|||||||
<ng-container *ngIf="events.length > 0">
|
<ng-container *ngIf="(events$ | async)?.length > 0">
|
||||||
asdfasdf
|
<div class="alert alert-info d-flex flex-row">
|
||||||
<ds-alert [type]="AlertTypeInfo" [content]="'asdf' | translate"></ds-alert>
|
<img class="notify-logo" src="assets/images/notify-coar-icon.png" alt="Repository logo">
|
||||||
|
<div class="w-100 d-flex justify-content-between">
|
||||||
|
<div class="pl-4 align-self-center">{{'item.qa-event-notification.check.notification-info' | translate : {num: (events$ | async)?.length} }} </div>
|
||||||
|
<button [routerLink]="['/admin/notifications/quality-assurance', source, item.id]" class="btn btn-primary align-self-center">{{'item.qa-event-notification-info.check.button' | translate }}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
asfasdfasdf
|
|
||||||
|
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
.notify-logo {
|
||||||
|
max-height: var(--ds-header-logo-height);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sections-gap {
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
@@ -1,12 +1,14 @@
|
|||||||
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
|
||||||
import { Item } from '../../../core/shared/item.model';
|
import { Item } from '../../../core/shared/item.model';
|
||||||
import { getFirstCompletedRemoteData, getPaginatedListPayload, getRemoteDataPayload } 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 { 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 { 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 { QualityAssuranceTopicObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-topic.model';
|
||||||
import { Observable, concatMap, from, map, mergeMap, of, switchMap, tap } from 'rxjs';
|
import { Observable, concatMap, from, mergeMap } from 'rxjs';
|
||||||
import { QualityAssuranceEventObject } from 'src/app/core/suggestion-notifications/qa/models/quality-assurance-event.model';
|
import { QualityAssuranceEventObject } from '../../../core/suggestion-notifications/qa/models/quality-assurance-event.model';
|
||||||
import { AlertType } from 'src/app/shared/alert/aletr-type';
|
import { AlertType } from '../../../shared/alert/aletr-type';
|
||||||
|
import { FindListOptions } from '../../../core/data/find-list-options.model';
|
||||||
|
import { RequestParam } from '../../../core/cache/models/request-param.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-qa-event-notification',
|
selector: 'ds-qa-event-notification',
|
||||||
@@ -15,44 +17,73 @@ import { AlertType } from 'src/app/shared/alert/aletr-type';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
providers: [QualityAssuranceTopicDataService, QualityAssuranceEventDataService]
|
providers: [QualityAssuranceTopicDataService, QualityAssuranceEventDataService]
|
||||||
})
|
})
|
||||||
export class QaEventNotificationComponent {
|
/**
|
||||||
|
* Component for displaying quality assurance event notifications for an item.
|
||||||
|
*/
|
||||||
|
export class QaEventNotificationComponent implements OnInit {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The item to display quality assurance event notifications for.
|
||||||
|
*/
|
||||||
@Input() item: Item;
|
@Input() item: Item;
|
||||||
|
|
||||||
events: QualityAssuranceEventObject[] = [];
|
/**
|
||||||
|
* An observable of quality assurance events for the item.
|
||||||
|
*/
|
||||||
|
events$: Observable<QualityAssuranceEventObject[]>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The type of alert to display for the notification.
|
||||||
|
*/
|
||||||
AlertTypeInfo = AlertType.Info;
|
AlertTypeInfo = AlertType.Info;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The source of the quality assurance events.
|
||||||
|
*/
|
||||||
|
source = 'coar-notify';
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private qualityAssuranceEventDataService: QualityAssuranceEventDataService,
|
private qualityAssuranceEventDataService: QualityAssuranceEventDataService,
|
||||||
private qualityAssuranceTopicDataService: QualityAssuranceTopicDataService,
|
private qualityAssuranceTopicDataService: QualityAssuranceTopicDataService,
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit() {
|
||||||
this.getEventsByTopicsAndTarget();
|
this.getEventsByTopicsAndTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
getEventsByTopicsAndTarget(): void {
|
/**
|
||||||
// TODO: add source 'coar-notify'
|
* Retrieves quality assurance events by topics and target.
|
||||||
this.qualityAssuranceTopicDataService.getTopicsByTargetAndSource(this.item.id).pipe(
|
* First, it retrieves the topics by target and source.
|
||||||
|
* -> target: item.id
|
||||||
|
* -> source: 'coar-notify'
|
||||||
|
* Then, it retrieves the events by topic and target.
|
||||||
|
*/
|
||||||
|
getEventsByTopicsAndTarget() {
|
||||||
|
const findListTopicOptions: FindListOptions = {
|
||||||
|
searchParams: [new RequestParam('source', this.source), new RequestParam('target', this.item.id)]
|
||||||
|
};
|
||||||
|
|
||||||
|
// const findListEventOptions: FindListOptions = {
|
||||||
|
// searchParams: [new RequestParam('topic', topic.name), new RequestParam('target', this.item.id)]
|
||||||
|
// };
|
||||||
|
|
||||||
|
this.events$ = this.qualityAssuranceTopicDataService.getTopics(findListTopicOptions).pipe(
|
||||||
getFirstCompletedRemoteData(),
|
getFirstCompletedRemoteData(),
|
||||||
getRemoteDataPayload(),
|
getRemoteDataPayload(),
|
||||||
getPaginatedListPayload(),
|
getPaginatedListPayload(),
|
||||||
tap((topics: QualityAssuranceTopicObject[]) => console.log(topics, 'topics')),
|
|
||||||
mergeMap((topics: QualityAssuranceTopicObject[]) => {
|
mergeMap((topics: QualityAssuranceTopicObject[]) => {
|
||||||
return from(topics).pipe(
|
return from(topics).pipe(
|
||||||
concatMap((topic: QualityAssuranceTopicObject) => {
|
concatMap((topic: QualityAssuranceTopicObject) => {
|
||||||
return this.qualityAssuranceEventDataService.getEventsByTopicAndTarget(topic.name, this.item.id).pipe(
|
const findListEventOptions: FindListOptions = {
|
||||||
tap((events: any) => console.log(events, 'events')),
|
searchParams: [new RequestParam('topic', topic.name), new RequestParam('target', this.item.id)]
|
||||||
);
|
};
|
||||||
|
return this.qualityAssuranceEventDataService.searchEventsByTopic(findListEventOptions);
|
||||||
} )
|
} )
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
getFirstCompletedRemoteData(),
|
getFirstCompletedRemoteData(),
|
||||||
getRemoteDataPayload(),
|
getRemoteDataPayload(),
|
||||||
getPaginatedListPayload(),
|
getPaginatedListPayload(),
|
||||||
).subscribe((events: QualityAssuranceEventObject[]) => {
|
);
|
||||||
this.events = events;
|
|
||||||
console.log(events, 'events2')});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1 +1,11 @@
|
|||||||
<p>my-dspace-qa-events-notifications works!</p>
|
<ng-container *ngIf="(sources$ | async)?.length > 0">
|
||||||
|
<ng-container *ngFor="let source of (sources$ | async)" >
|
||||||
|
<div class="alert alert-info d-flex flex-row" *ngIf="source.totalEvents > 0">
|
||||||
|
<img class="notify-logo" src="assets/images/notify-coar-icon.png" alt="Repository logo">
|
||||||
|
<div class="w-100 d-flex justify-content-between">
|
||||||
|
<div class="pl-4 align-self-center">{{'item.qa-event-notification.check.notification-info' | translate : {num: source.totalEvents} }} </div>
|
||||||
|
<button [routerLink]="['/admin/notifications/quality-assurance', source.id]" class="btn btn-primary align-self-center">{{'item.qa-event-notification-info.check.button' | translate }}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
</ng-container>
|
||||||
|
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
.notify-logo {
|
||||||
|
max-height: var(--ds-header-logo-height);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sections-gap {
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
@@ -1,9 +1,7 @@
|
|||||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
|
||||||
import { QualityAssuranceSourceDataService } from '../../core/suggestion-notifications/qa/source/quality-assurance-source-data.service';
|
import { QualityAssuranceSourceDataService } from '../../core/suggestion-notifications/qa/source/quality-assurance-source-data.service';
|
||||||
import { getFirstCompletedRemoteData } from 'src/app/core/shared/operators';
|
import { getFirstCompletedRemoteData, getPaginatedListPayload, getRemoteDataPayload } from '../../core/shared/operators';
|
||||||
import { map } from 'rxjs';
|
import { Observable, of, tap } from 'rxjs';
|
||||||
import { RemoteData } from 'src/app/core/data/remote-data';
|
|
||||||
import { PaginatedList } from 'src/app/core/data/paginated-list.model';
|
|
||||||
import { QualityAssuranceSourceObject } from 'src/app/core/suggestion-notifications/qa/models/quality-assurance-source.model';
|
import { QualityAssuranceSourceObject } from 'src/app/core/suggestion-notifications/qa/models/quality-assurance-source.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@@ -12,7 +10,9 @@ import { QualityAssuranceSourceObject } from 'src/app/core/suggestion-notificati
|
|||||||
styleUrls: ['./my-dspace-qa-events-notifications.component.scss'],
|
styleUrls: ['./my-dspace-qa-events-notifications.component.scss'],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class MyDspaceQaEventsNotificationsComponent {
|
export class MyDspaceQaEventsNotificationsComponent implements OnInit {
|
||||||
|
|
||||||
|
sources$: Observable<QualityAssuranceSourceObject[]> = of([]);
|
||||||
|
|
||||||
constructor(private qualityAssuranceSourceDataService: QualityAssuranceSourceDataService) { }
|
constructor(private qualityAssuranceSourceDataService: QualityAssuranceSourceDataService) { }
|
||||||
|
|
||||||
@@ -21,19 +21,16 @@ export class MyDspaceQaEventsNotificationsComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getSources() {
|
getSources() {
|
||||||
this.qualityAssuranceSourceDataService.getSource('coar-notify')
|
this.sources$ = this.qualityAssuranceSourceDataService.getSources()
|
||||||
.pipe(
|
.pipe(
|
||||||
getFirstCompletedRemoteData(),
|
getFirstCompletedRemoteData(),
|
||||||
map((rd: RemoteData<QualityAssuranceSourceObject>) => {
|
tap((rd) => {
|
||||||
if (rd.hasSucceeded) {
|
if (rd.hasFailed) {
|
||||||
return rd.payload;
|
throw new Error('Can\'t retrieve Quality Assurance sources');
|
||||||
} else {
|
|
||||||
throw new Error('Can\'t retrieve Quality Assurance source');
|
|
||||||
}
|
}
|
||||||
})
|
}),
|
||||||
)
|
getRemoteDataPayload(),
|
||||||
.subscribe((sources) => {
|
getPaginatedListPayload(),
|
||||||
console.log(sources);
|
);
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -60,6 +60,12 @@ export class QualityAssuranceTopicsComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
public sourceId: string;
|
public sourceId: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This property represents a targetId (item-id) which is used to retrive a topic
|
||||||
|
* @type {string}
|
||||||
|
*/
|
||||||
|
public targetId: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize the component variables.
|
* Initialize the component variables.
|
||||||
* @param {PaginationService} paginationService
|
* @param {PaginationService} paginationService
|
||||||
@@ -80,7 +86,9 @@ export class QualityAssuranceTopicsComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.sourceId = this.activatedRoute.snapshot.paramMap.get('sourceId');
|
this.sourceId = this.activatedRoute.snapshot.paramMap.get('sourceId');
|
||||||
|
this.targetId = this.activatedRoute.snapshot.paramMap.get('targetId');
|
||||||
this.qualityAssuranceTopicsService.setSourceId(this.sourceId);
|
this.qualityAssuranceTopicsService.setSourceId(this.sourceId);
|
||||||
|
this.qualityAssuranceTopicsService.setTargetId(this.targetId);
|
||||||
this.topics$ = this.notificationsStateService.getQualityAssuranceTopics();
|
this.topics$ = this.notificationsStateService.getQualityAssuranceTopics();
|
||||||
this.totalElements$ = this.notificationsStateService.getQualityAssuranceTopicsTotals();
|
this.totalElements$ = this.notificationsStateService.getQualityAssuranceTopicsTotals();
|
||||||
}
|
}
|
||||||
|
@@ -13,6 +13,7 @@ import {
|
|||||||
import { RequestParam } from '../../../core/cache/models/request-param.model';
|
import { RequestParam } from '../../../core/cache/models/request-param.model';
|
||||||
import { FindListOptions } from '../../../core/data/find-list-options.model';
|
import { FindListOptions } from '../../../core/data/find-list-options.model';
|
||||||
import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
|
import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
|
||||||
|
import { hasValue } from '../../../shared/empty.util';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The service handling all Quality Assurance topic requests to the REST service.
|
* The service handling all Quality Assurance topic requests to the REST service.
|
||||||
@@ -33,6 +34,11 @@ export class QualityAssuranceTopicsService {
|
|||||||
*/
|
*/
|
||||||
sourceId: string;
|
sourceId: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* targetId used to get topics
|
||||||
|
*/
|
||||||
|
targetId: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the list of Quality Assurance topics managing pagination and errors.
|
* Return the list of Quality Assurance topics managing pagination and errors.
|
||||||
*
|
*
|
||||||
@@ -53,6 +59,10 @@ export class QualityAssuranceTopicsService {
|
|||||||
searchParams: [new RequestParam('source', this.sourceId)]
|
searchParams: [new RequestParam('source', this.sourceId)]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (hasValue(this.targetId)) {
|
||||||
|
findListOptions.searchParams.push(new RequestParam('target', this.targetId));
|
||||||
|
}
|
||||||
|
|
||||||
return this.qualityAssuranceTopicRestService.getTopics(findListOptions).pipe(
|
return this.qualityAssuranceTopicRestService.getTopics(findListOptions).pipe(
|
||||||
getFirstCompletedRemoteData(),
|
getFirstCompletedRemoteData(),
|
||||||
map((rd: RemoteData<PaginatedList<QualityAssuranceTopicObject>>) => {
|
map((rd: RemoteData<PaginatedList<QualityAssuranceTopicObject>>) => {
|
||||||
@@ -72,4 +82,12 @@ export class QualityAssuranceTopicsService {
|
|||||||
setSourceId(sourceId: string) {
|
setSourceId(sourceId: string) {
|
||||||
this.sourceId = sourceId;
|
this.sourceId = sourceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set targetId which is used to get topics
|
||||||
|
* @param targetId string
|
||||||
|
*/
|
||||||
|
setTargetId(targetId: string) {
|
||||||
|
this.targetId = targetId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2448,6 +2448,10 @@
|
|||||||
|
|
||||||
"item.truncatable-part.show-less": "Collapse",
|
"item.truncatable-part.show-less": "Collapse",
|
||||||
|
|
||||||
|
"item.qa-event-notification.check.notification-info": "There are {{num}} pending review to check",
|
||||||
|
|
||||||
|
"item.qa-event-notification-info.check.button": "Check",
|
||||||
|
|
||||||
"workflow-item.search.result.delete-supervision.modal.header": "Delete Supervision Order",
|
"workflow-item.search.result.delete-supervision.modal.header": "Delete Supervision Order",
|
||||||
|
|
||||||
"workflow-item.search.result.delete-supervision.modal.info": "Are you sure you want to delete Supervision Order",
|
"workflow-item.search.result.delete-supervision.modal.info": "Are you sure you want to delete Supervision Order",
|
||||||
|
@@ -3723,6 +3723,14 @@
|
|||||||
// "item.truncatable-part.show-less": "Collapse",
|
// "item.truncatable-part.show-less": "Collapse",
|
||||||
"item.truncatable-part.show-less": "Riduci",
|
"item.truncatable-part.show-less": "Riduci",
|
||||||
|
|
||||||
|
// "item.qa-event-notification.check.notification-info": "There are {{num}} pending review to check",
|
||||||
|
// TODO New key - Add a translation
|
||||||
|
"item.qa-event-notification.check.notification-info": "There are {{num}} pending review to check",
|
||||||
|
|
||||||
|
// "item.qa-event-notification-info.check.button": "Check",
|
||||||
|
// TODO New key - Add a translation
|
||||||
|
"item.qa-event-notification-info.check.button": "Check",
|
||||||
|
|
||||||
// "workflow-item.search.result.delete-supervision.modal.header": "Delete Supervision Order",
|
// "workflow-item.search.result.delete-supervision.modal.header": "Delete Supervision Order",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"workflow-item.search.result.delete-supervision.modal.header": "Delete Supervision Order",
|
"workflow-item.search.result.delete-supervision.modal.header": "Delete Supervision Order",
|
||||||
|
Reference in New Issue
Block a user