mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-09 19:13:08 +00:00
[CST-5249] Renamed nbevent and nbtopics
This commit is contained in:
@@ -23,11 +23,11 @@ import { SourceDataResolver } from './admin-quality-assurance-source-page-compon
|
||||
pathMatch: 'full',
|
||||
resolve: {
|
||||
breadcrumb: I18nBreadcrumbResolver,
|
||||
openaireBrokerTopicsParams: AdminQualityAssuranceTopicsPageResolver
|
||||
openaireQualityAssuranceTopicsParams: AdminQualityAssuranceTopicsPageResolver
|
||||
},
|
||||
data: {
|
||||
title: 'admin.notifications.broker.page.title',
|
||||
breadcrumbKey: 'admin.notifications.broker',
|
||||
title: 'admin.quality-assurance.page.title',
|
||||
breadcrumbKey: 'admin.quality-assurance',
|
||||
showBreadcrumbsFluid: false
|
||||
}
|
||||
},
|
||||
@@ -38,7 +38,7 @@ import { SourceDataResolver } from './admin-quality-assurance-source-page-compon
|
||||
pathMatch: 'full',
|
||||
resolve: {
|
||||
breadcrumb: I18nBreadcrumbResolver,
|
||||
openaireBrokerSourceParams: AdminQualityAssuranceSourcePageResolver,
|
||||
openaireQualityAssuranceSourceParams: AdminQualityAssuranceSourcePageResolver,
|
||||
sourceData: SourceDataResolver
|
||||
},
|
||||
data: {
|
||||
@@ -54,7 +54,7 @@ import { SourceDataResolver } from './admin-quality-assurance-source-page-compon
|
||||
pathMatch: 'full',
|
||||
resolve: {
|
||||
breadcrumb: I18nBreadcrumbResolver,
|
||||
openaireBrokerEventsParams: AdminQualityAssuranceEventsPageResolver
|
||||
openaireQualityAssuranceEventsParams: AdminQualityAssuranceEventsPageResolver
|
||||
},
|
||||
data: {
|
||||
title: 'admin.notifications.event.page.title',
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-notification-broker-page',
|
||||
selector: 'ds-notification-qa-page',
|
||||
templateUrl: './admin-quality-assurance-topics-page.component.html'
|
||||
})
|
||||
export class AdminQualityAssuranceTopicsPageComponent {
|
||||
|
@@ -38,15 +38,15 @@ describe('QualityAssuranceEventRestService', () => {
|
||||
let http: HttpClient;
|
||||
let comparator: any;
|
||||
|
||||
const endpointURL = 'https://rest.api/rest/api/integration/nbtopics';
|
||||
const endpointURL = 'https://rest.api/rest/api/integration/qatopics';
|
||||
const requestUUID = '8b3c913a-5a4b-438b-9181-be1a5b4a1c8a';
|
||||
const topic = 'ENRICH!MORE!PID';
|
||||
|
||||
const pageInfo = new PageInfo();
|
||||
const array = [ qualityAssuranceEventObjectMissingPid, qualityAssuranceEventObjectMissingPid2 ];
|
||||
const paginatedList = buildPaginatedList(pageInfo, array);
|
||||
const brokerEventObjectRD = createSuccessfulRemoteDataObject(qualityAssuranceEventObjectMissingPid);
|
||||
const brokerEventObjectMissingProjectRD = createSuccessfulRemoteDataObject(qualityAssuranceEventObjectMissingProjectFound);
|
||||
const qaEventObjectRD = createSuccessfulRemoteDataObject(qualityAssuranceEventObjectMissingPid);
|
||||
const qaEventObjectMissingProjectRD = createSuccessfulRemoteDataObject(qualityAssuranceEventObjectMissingProjectFound);
|
||||
const paginatedListRD = createSuccessfulRemoteDataObject(paginatedList);
|
||||
|
||||
const status = 'ACCEPTED';
|
||||
@@ -82,7 +82,7 @@ describe('QualityAssuranceEventRestService', () => {
|
||||
|
||||
rdbService = jasmine.createSpyObj('rdbService', {
|
||||
buildSingle: cold('(a)', {
|
||||
a: brokerEventObjectRD
|
||||
a: qaEventObjectRD
|
||||
}),
|
||||
buildList: cold('(a)', {
|
||||
a: paginatedListRD
|
||||
@@ -122,7 +122,7 @@ describe('QualityAssuranceEventRestService', () => {
|
||||
beforeEach(() => {
|
||||
serviceASAny.requestService.getByHref.and.returnValue(observableOf(responseCacheEntry));
|
||||
serviceASAny.requestService.getByUUID.and.returnValue(observableOf(responseCacheEntry));
|
||||
serviceASAny.rdbService.buildFromRequestUUID.and.returnValue(observableOf(brokerEventObjectRD));
|
||||
serviceASAny.rdbService.buildFromRequestUUID.and.returnValue(observableOf(qaEventObjectRD));
|
||||
});
|
||||
|
||||
it('should proxy the call to dataservice.searchBy', () => {
|
||||
@@ -151,7 +151,7 @@ describe('QualityAssuranceEventRestService', () => {
|
||||
beforeEach(() => {
|
||||
serviceASAny.requestService.getByHref.and.returnValue(observableOf(responseCacheEntry));
|
||||
serviceASAny.requestService.getByUUID.and.returnValue(observableOf(responseCacheEntry));
|
||||
serviceASAny.rdbService.buildFromRequestUUID.and.returnValue(observableOf(brokerEventObjectRD));
|
||||
serviceASAny.rdbService.buildFromRequestUUID.and.returnValue(observableOf(qaEventObjectRD));
|
||||
});
|
||||
|
||||
it('should proxy the call to dataservice.findById', () => {
|
||||
@@ -165,7 +165,7 @@ describe('QualityAssuranceEventRestService', () => {
|
||||
it('should return a RemoteData<QualityAssuranceEventObject> for the object with the given URL', () => {
|
||||
const result = service.getEvent(qualityAssuranceEventObjectMissingPid.id);
|
||||
const expected = cold('(a)', {
|
||||
a: brokerEventObjectRD
|
||||
a: qaEventObjectRD
|
||||
});
|
||||
expect(result).toBeObservable(expected);
|
||||
});
|
||||
@@ -175,7 +175,7 @@ describe('QualityAssuranceEventRestService', () => {
|
||||
beforeEach(() => {
|
||||
serviceASAny.requestService.getByHref.and.returnValue(observableOf(responseCacheEntry));
|
||||
serviceASAny.requestService.getByUUID.and.returnValue(observableOf(responseCacheEntry));
|
||||
serviceASAny.rdbService.buildFromRequestUUID.and.returnValue(observableOf(brokerEventObjectRD));
|
||||
serviceASAny.rdbService.buildFromRequestUUID.and.returnValue(observableOf(qaEventObjectRD));
|
||||
});
|
||||
|
||||
it('should proxy the call to dataservice.patch', () => {
|
||||
@@ -199,7 +199,7 @@ describe('QualityAssuranceEventRestService', () => {
|
||||
beforeEach(() => {
|
||||
serviceASAny.requestService.getByHref.and.returnValue(observableOf(responseCacheEntryB));
|
||||
serviceASAny.requestService.getByUUID.and.returnValue(observableOf(responseCacheEntryB));
|
||||
serviceASAny.rdbService.buildFromRequestUUID.and.returnValue(observableOf(brokerEventObjectMissingProjectRD));
|
||||
serviceASAny.rdbService.buildFromRequestUUID.and.returnValue(observableOf(qaEventObjectMissingProjectRD));
|
||||
});
|
||||
|
||||
it('should proxy the call to dataservice.postOnRelated', () => {
|
||||
|
@@ -33,7 +33,7 @@ class DataServiceImpl extends DataService<QualityAssuranceEventObject> {
|
||||
/**
|
||||
* The REST endpoint.
|
||||
*/
|
||||
protected linkPath = 'nbevents';
|
||||
protected linkPath = 'qaevents';
|
||||
|
||||
/**
|
||||
* Initialize service variables
|
||||
|
@@ -6,4 +6,4 @@ import { ResourceType } from '../../../shared/resource-type';
|
||||
* Needs to be in a separate file to prevent circular
|
||||
* dependencies in webpack.
|
||||
*/
|
||||
export const QUALITY_ASSURANCE_EVENT_OBJECT = new ResourceType('nbevent');
|
||||
export const QUALITY_ASSURANCE_EVENT_OBJECT = new ResourceType('qaevent');
|
||||
|
@@ -11,16 +11,16 @@ import { RemoteData } from '../../../data/remote-data';
|
||||
import {CacheableObject} from '../../../cache/cacheable-object.model';
|
||||
|
||||
/**
|
||||
* The interface representing the Notifications Broker event message
|
||||
* The interface representing the Quality Assurance event message
|
||||
*/
|
||||
export interface QualityAssuranceEventMessageObject {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* The interface representing the Notifications Broker event message
|
||||
* The interface representing the Quality Assurance event message
|
||||
*/
|
||||
export interface OpenaireBrokerEventMessageObject {
|
||||
export interface OpenaireQualityAssuranceEventMessageObject {
|
||||
/**
|
||||
* The type of 'value'
|
||||
*/
|
||||
@@ -74,7 +74,7 @@ export interface OpenaireBrokerEventMessageObject {
|
||||
}
|
||||
|
||||
/**
|
||||
* The interface representing the Notifications Broker event model
|
||||
* The interface representing the Quality Assurance event model
|
||||
*/
|
||||
@typedObject
|
||||
export class QualityAssuranceEventObject implements CacheableObject {
|
||||
@@ -84,19 +84,19 @@ export class QualityAssuranceEventObject implements CacheableObject {
|
||||
static type = QUALITY_ASSURANCE_EVENT_OBJECT;
|
||||
|
||||
/**
|
||||
* The Notifications Broker event uuid inside DSpace
|
||||
* The Quality Assurance event uuid inside DSpace
|
||||
*/
|
||||
@autoserialize
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* The universally unique identifier of this Notifications Broker event
|
||||
* The universally unique identifier of this Quality Assurance event
|
||||
*/
|
||||
@autoserializeAs(String, 'id')
|
||||
uuid: string;
|
||||
|
||||
/**
|
||||
* The Notifications Broker event original id (ex.: the source archive OAI-PMH identifier)
|
||||
* The Quality Assurance event original id (ex.: the source archive OAI-PMH identifier)
|
||||
*/
|
||||
@autoserialize
|
||||
originalId: string;
|
||||
@@ -114,13 +114,13 @@ export class QualityAssuranceEventObject implements CacheableObject {
|
||||
trust: number;
|
||||
|
||||
/**
|
||||
* The timestamp Notifications Broker event was saved in DSpace
|
||||
* The timestamp Quality Assurance event was saved in DSpace
|
||||
*/
|
||||
@autoserialize
|
||||
eventDate: string;
|
||||
|
||||
/**
|
||||
* The Notifications Broker event status (ACCEPTED, REJECTED, DISCARDED, PENDING)
|
||||
* The Quality Assurance event status (ACCEPTED, REJECTED, DISCARDED, PENDING)
|
||||
*/
|
||||
@autoserialize
|
||||
status: string;
|
||||
@@ -129,7 +129,7 @@ export class QualityAssuranceEventObject implements CacheableObject {
|
||||
* The suggestion data. Data may vary depending on the source
|
||||
*/
|
||||
@autoserialize
|
||||
message: OpenaireBrokerEventMessageObject;
|
||||
message: OpenaireQualityAssuranceEventMessageObject;
|
||||
|
||||
/**
|
||||
* The type of this ConfigObject
|
||||
|
@@ -6,4 +6,4 @@ import { ResourceType } from '../../../shared/resource-type';
|
||||
* Needs to be in a separate file to prevent circular
|
||||
* dependencies in webpack.
|
||||
*/
|
||||
export const QUALITY_ASSURANCE_SOURCE_OBJECT = new ResourceType('nbsource');
|
||||
export const QUALITY_ASSURANCE_SOURCE_OBJECT = new ResourceType('qasource');
|
||||
|
@@ -6,4 +6,4 @@ import { ResourceType } from '../../../shared/resource-type';
|
||||
* Needs to be in a separate file to prevent circular
|
||||
* dependencies in webpack.
|
||||
*/
|
||||
export const QUALITY_ASSURANCE_TOPIC_OBJECT = new ResourceType('nbtopic');
|
||||
export const QUALITY_ASSURANCE_TOPIC_OBJECT = new ResourceType('qatopic');
|
||||
|
@@ -32,13 +32,13 @@ describe('QualityAssuranceSourceRestService', () => {
|
||||
let http: HttpClient;
|
||||
let comparator: any;
|
||||
|
||||
const endpointURL = 'https://rest.api/rest/api/integration/nbsources';
|
||||
const endpointURL = 'https://rest.api/rest/api/integration/qasources';
|
||||
const requestUUID = '8b3c913a-5a4b-438b-9181-be1a5b4a1c8a';
|
||||
|
||||
const pageInfo = new PageInfo();
|
||||
const array = [ qualityAssuranceSourceObjectMorePid, qualityAssuranceSourceObjectMoreAbstract ];
|
||||
const paginatedList = buildPaginatedList(pageInfo, array);
|
||||
const brokerSourceObjectRD = createSuccessfulRemoteDataObject(qualityAssuranceSourceObjectMorePid);
|
||||
const qaSourceObjectRD = createSuccessfulRemoteDataObject(qualityAssuranceSourceObjectMorePid);
|
||||
const paginatedListRD = createSuccessfulRemoteDataObject(paginatedList);
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -56,7 +56,7 @@ describe('QualityAssuranceSourceRestService', () => {
|
||||
|
||||
rdbService = jasmine.createSpyObj('rdbService', {
|
||||
buildSingle: cold('(a)', {
|
||||
a: brokerSourceObjectRD
|
||||
a: qaSourceObjectRD
|
||||
}),
|
||||
buildList: cold('(a)', {
|
||||
a: paginatedListRD
|
||||
@@ -118,7 +118,7 @@ describe('QualityAssuranceSourceRestService', () => {
|
||||
it('should return a RemoteData<QualityAssuranceSourceObject> for the object with the given URL', () => {
|
||||
const result = service.getSource(qualityAssuranceSourceObjectMorePid.id);
|
||||
const expected = cold('(a)', {
|
||||
a: brokerSourceObjectRD
|
||||
a: qaSourceObjectRD
|
||||
});
|
||||
expect(result).toBeObservable(expected);
|
||||
});
|
||||
|
@@ -31,7 +31,7 @@ class DataServiceImpl extends DataService<QualityAssuranceSourceObject> {
|
||||
/**
|
||||
* The REST endpoint.
|
||||
*/
|
||||
protected linkPath = 'nbsources';
|
||||
protected linkPath = 'qasources';
|
||||
|
||||
/**
|
||||
* Initialize service variables
|
||||
@@ -100,7 +100,7 @@ export class QualityAssuranceSourceRestService {
|
||||
* The list of Quality Assurance source.
|
||||
*/
|
||||
public getSources(options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig<QualityAssuranceSourceObject>[]): Observable<RemoteData<PaginatedList<QualityAssuranceSourceObject>>> {
|
||||
return this.dataService.getBrowseEndpoint(options, 'nbsources').pipe(
|
||||
return this.dataService.getBrowseEndpoint(options, 'qasources').pipe(
|
||||
take(1),
|
||||
mergeMap((href: string) => this.dataService.findAllByHref(href, options, true, true, ...linksToFollow)),
|
||||
);
|
||||
@@ -110,7 +110,7 @@ export class QualityAssuranceSourceRestService {
|
||||
* Clear FindAll source requests from cache
|
||||
*/
|
||||
public clearFindAllSourceRequests() {
|
||||
this.requestService.setStaleByHrefSubstring('nbsources');
|
||||
this.requestService.setStaleByHrefSubstring('qasources');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -125,7 +125,7 @@ export class QualityAssuranceSourceRestService {
|
||||
*/
|
||||
public getSource(id: string, ...linksToFollow: FollowLinkConfig<QualityAssuranceSourceObject>[]): Observable<RemoteData<QualityAssuranceSourceObject>> {
|
||||
const options = {};
|
||||
return this.dataService.getBrowseEndpoint(options, 'nbsources').pipe(
|
||||
return this.dataService.getBrowseEndpoint(options, 'qasources').pipe(
|
||||
take(1),
|
||||
mergeMap((href: string) => this.dataService.findByHref(href + '/' + id, true, true, ...linksToFollow))
|
||||
);
|
||||
|
@@ -32,13 +32,13 @@ describe('QualityAssuranceTopicRestService', () => {
|
||||
let http: HttpClient;
|
||||
let comparator: any;
|
||||
|
||||
const endpointURL = 'https://rest.api/rest/api/integration/nbtopics';
|
||||
const endpointURL = 'https://rest.api/rest/api/integration/qatopics';
|
||||
const requestUUID = '8b3c913a-5a4b-438b-9181-be1a5b4a1c8a';
|
||||
|
||||
const pageInfo = new PageInfo();
|
||||
const array = [ qualityAssuranceTopicObjectMorePid, qualityAssuranceTopicObjectMoreAbstract ];
|
||||
const paginatedList = buildPaginatedList(pageInfo, array);
|
||||
const brokerTopicObjectRD = createSuccessfulRemoteDataObject(qualityAssuranceTopicObjectMorePid);
|
||||
const qaTopicObjectRD = createSuccessfulRemoteDataObject(qualityAssuranceTopicObjectMorePid);
|
||||
const paginatedListRD = createSuccessfulRemoteDataObject(paginatedList);
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -56,7 +56,7 @@ describe('QualityAssuranceTopicRestService', () => {
|
||||
|
||||
rdbService = jasmine.createSpyObj('rdbService', {
|
||||
buildSingle: cold('(a)', {
|
||||
a: brokerTopicObjectRD
|
||||
a: qaTopicObjectRD
|
||||
}),
|
||||
buildList: cold('(a)', {
|
||||
a: paginatedListRD
|
||||
@@ -118,7 +118,7 @@ describe('QualityAssuranceTopicRestService', () => {
|
||||
it('should return a RemoteData<QualityAssuranceTopicObject> for the object with the given URL', () => {
|
||||
const result = service.getTopic(qualityAssuranceTopicObjectMorePid.id);
|
||||
const expected = cold('(a)', {
|
||||
a: brokerTopicObjectRD
|
||||
a: qaTopicObjectRD
|
||||
});
|
||||
expect(result).toBeObservable(expected);
|
||||
});
|
||||
|
@@ -31,7 +31,7 @@ class DataServiceImpl extends DataService<QualityAssuranceTopicObject> {
|
||||
/**
|
||||
* The REST endpoint.
|
||||
*/
|
||||
protected linkPath = 'nbtopics';
|
||||
protected linkPath = 'qatopics';
|
||||
|
||||
/**
|
||||
* Initialize service variables
|
||||
@@ -100,7 +100,7 @@ export class QualityAssuranceTopicRestService {
|
||||
* The list of Quality Assurance topics.
|
||||
*/
|
||||
public getTopics(options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig<QualityAssuranceTopicObject>[]): Observable<RemoteData<PaginatedList<QualityAssuranceTopicObject>>> {
|
||||
return this.dataService.getBrowseEndpoint(options, 'nbtopics').pipe(
|
||||
return this.dataService.getBrowseEndpoint(options, 'qatopics').pipe(
|
||||
take(1),
|
||||
mergeMap((href: string) => this.dataService.findAllByHref(href, options, true, true, ...linksToFollow)),
|
||||
);
|
||||
@@ -110,7 +110,7 @@ export class QualityAssuranceTopicRestService {
|
||||
* Clear FindAll topics requests from cache
|
||||
*/
|
||||
public clearFindAllTopicsRequests() {
|
||||
this.requestService.setStaleByHrefSubstring('nbtopics');
|
||||
this.requestService.setStaleByHrefSubstring('qatopics');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -125,7 +125,7 @@ export class QualityAssuranceTopicRestService {
|
||||
*/
|
||||
public getTopic(id: string, ...linksToFollow: FollowLinkConfig<QualityAssuranceTopicObject>[]): Observable<RemoteData<QualityAssuranceTopicObject>> {
|
||||
const options = {};
|
||||
return this.dataService.getBrowseEndpoint(options, 'nbtopics').pipe(
|
||||
return this.dataService.getBrowseEndpoint(options, 'qatopics').pipe(
|
||||
take(1),
|
||||
mergeMap((href: string) => this.dataService.findByHref(href + '/' + id, true, true, ...linksToFollow))
|
||||
);
|
||||
|
@@ -507,6 +507,29 @@ export class MenuResolver implements Resolve<boolean> {
|
||||
createSiteAdministratorMenuSections() {
|
||||
this.authorizationService.isAuthorized(FeatureID.AdministratorOf).subscribe((authorized) => {
|
||||
const menuList = [
|
||||
/* Notifications */
|
||||
{
|
||||
id: 'notifications',
|
||||
active: false,
|
||||
visible: authorized,
|
||||
model: {
|
||||
type: MenuItemType.TEXT,
|
||||
text: 'menu.section.notifications'
|
||||
} as TextMenuItemModel,
|
||||
icon: 'bell',
|
||||
index: 4
|
||||
},
|
||||
{
|
||||
id: 'notifications_quality-assurance',
|
||||
parentID: 'notifications',
|
||||
active: false,
|
||||
visible: authorized,
|
||||
model: {
|
||||
type: MenuItemType.LINK,
|
||||
text: 'menu.section.quality-assurance',
|
||||
link: '/admin/notifications/quality-assurance'
|
||||
} as LinkMenuItemModel,
|
||||
},
|
||||
/* Admin Search */
|
||||
{
|
||||
id: 'admin_search',
|
||||
|
@@ -26,7 +26,7 @@ describe('NotificationsStateService', () => {
|
||||
if (mode === 'empty') {
|
||||
initialState = {
|
||||
notifications: {
|
||||
brokerTopic: {
|
||||
qaTopic: {
|
||||
topics: [],
|
||||
processing: false,
|
||||
loaded: false,
|
||||
@@ -40,7 +40,7 @@ describe('NotificationsStateService', () => {
|
||||
} else {
|
||||
initialState = {
|
||||
notifications: {
|
||||
brokerTopic: {
|
||||
qaTopic: {
|
||||
topics: [
|
||||
qualityAssuranceTopicObjectMorePid,
|
||||
qualityAssuranceTopicObjectMoreAbstract,
|
||||
@@ -284,7 +284,7 @@ describe('NotificationsStateService', () => {
|
||||
if (mode === 'empty') {
|
||||
initialState = {
|
||||
notifications: {
|
||||
brokerSource: {
|
||||
qaSource: {
|
||||
source: [],
|
||||
processing: false,
|
||||
loaded: false,
|
||||
@@ -298,7 +298,7 @@ describe('NotificationsStateService', () => {
|
||||
} else {
|
||||
initialState = {
|
||||
notifications: {
|
||||
brokerSource: {
|
||||
qaSource: {
|
||||
source: [
|
||||
qualityAssuranceSourceObjectMorePid,
|
||||
qualityAssuranceSourceObjectMoreAbstract,
|
||||
|
@@ -6,13 +6,13 @@ import { qualityAssuranceTopicsReducer, QualityAssuranceTopicState, } from './qa
|
||||
* The OpenAIRE State
|
||||
*/
|
||||
export interface NotificationsState {
|
||||
'brokerTopic': QualityAssuranceTopicState;
|
||||
'brokerSource': QualityAssuranceSourceState;
|
||||
'qaTopic': QualityAssuranceTopicState;
|
||||
'qaSource': QualityAssuranceSourceState;
|
||||
}
|
||||
|
||||
export const notificationsReducers: ActionReducerMap<NotificationsState> = {
|
||||
brokerTopic: qualityAssuranceTopicsReducer,
|
||||
brokerSource: qualityAssuranceSourceReducer
|
||||
qaTopic: qualityAssuranceTopicsReducer,
|
||||
qaSource: qualityAssuranceSourceReducer
|
||||
};
|
||||
|
||||
export const notificationsSelector = createFeatureSelector<NotificationsState>('notifications');
|
||||
|
@@ -2,11 +2,11 @@
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2 class="border-bottom pb-2">{{'notifications.events.title'| translate}}</h2>
|
||||
<p>{{'notifications.broker.events.description'| translate}}</p>
|
||||
<p>{{'quality-assurance.events.description'| translate}}</p>
|
||||
<p>
|
||||
<a class="btn btn-outline-secondary" [routerLink]="['/admin/notifications/quality-assurance']">
|
||||
<i class="fas fa-angle-double-left"></i>
|
||||
{{'notifications.broker.events.back' | translate}}
|
||||
{{'quality-assurance.events.back' | translate}}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
@@ -14,10 +14,10 @@
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h3 class="border-bottom pb-2">
|
||||
{{'notifications.broker.events.topic' | translate}} {{this.showTopic}}
|
||||
{{'quality-assurance.events.topic' | translate}} {{this.showTopic}}
|
||||
</h3>
|
||||
|
||||
<ds-loading class="container" *ngIf="(isEventPageLoading | async)" message="{{'notifications.broker.loading' | translate}}"></ds-loading>
|
||||
<ds-loading class="container" *ngIf="(isEventPageLoading | async)" message="{{'quality-assurance.loading' | translate}}"></ds-loading>
|
||||
|
||||
<ds-pagination *ngIf="!(isEventPageLoading | async)"
|
||||
[paginationOptions]="paginationConfig"
|
||||
@@ -25,20 +25,20 @@
|
||||
[sortOptions]="paginationSortConfig"
|
||||
(paginationChange)="getQualityAssuranceEvents()">
|
||||
|
||||
<ds-loading class="container" *ngIf="(isEventLoading | async)" message="{{'notifications.broker.loading' | translate}}"></ds-loading>
|
||||
<ds-loading class="container" *ngIf="(isEventLoading | async)" message="{{'quality-assurance.loading' | translate}}"></ds-loading>
|
||||
<ng-container *ngIf="!(isEventLoading | async)">
|
||||
<div *ngIf="(eventsUpdated$|async)?.length == 0" class="alert alert-info w-100 mb-2 mt-2" role="alert">
|
||||
{{'notifications.broker.noEvents' | translate}}
|
||||
{{'quality-assurance.noEvents' | translate}}
|
||||
</div>
|
||||
<div *ngIf="(eventsUpdated$|async)?.length != 0" class="table-responsive mt-2">
|
||||
<table id="events" class="table table-striped table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{{'notifications.broker.event.table.trust' | translate}}</th>
|
||||
<th scope="col">{{'notifications.broker.event.table.publication' | translate}}</th>
|
||||
<th *ngIf="hasDetailColumn() && showTopic.indexOf('/PROJECT') == -1" scope="col">{{'notifications.broker.event.table.details' | translate}}</th>
|
||||
<th *ngIf="hasDetailColumn() && showTopic.indexOf('/PROJECT') !== -1" scope="col">{{'notifications.broker.event.table.project-details' | translate}}</th>
|
||||
<th scope="col" class="button-rows">{{'notifications.broker.event.table.actions' | translate}}</th>
|
||||
<th scope="col">{{'quality-assurance.event.table.trust' | translate}}</th>
|
||||
<th scope="col">{{'quality-assurance.event.table.publication' | translate}}</th>
|
||||
<th *ngIf="hasDetailColumn() && showTopic.indexOf('/PROJECT') == -1" scope="col">{{'quality-assurance.event.table.details' | translate}}</th>
|
||||
<th *ngIf="hasDetailColumn() && showTopic.indexOf('/PROJECT') !== -1" scope="col">{{'quality-assurance.event.table.project-details' | translate}}</th>
|
||||
<th scope="col" class="button-rows">{{'quality-assurance.event.table.actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -51,8 +51,8 @@
|
||||
<span *ngIf="!eventElement?.target">{{eventElement.title}}</span>
|
||||
</td>
|
||||
<td *ngIf="showTopic.indexOf('/PID') !== -1">
|
||||
<p><span class="small">{{'notifications.broker.event.table.pidtype' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.type}}</span></p>
|
||||
<p><span class="small">{{'notifications.broker.event.table.pidvalue' | translate}}</span><br>
|
||||
<p><span class="small">{{'quality-assurance.event.table.pidtype' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.type}}</span></p>
|
||||
<p><span class="small">{{'quality-assurance.event.table.pidvalue' | translate}}</span><br>
|
||||
<a *ngIf="hasPIDHref(eventElement.event.message); else noPID" href="{{getPIDHref(eventElement.event.message)}}" target="_blank">
|
||||
{{eventElement.event.message.value}}
|
||||
</a>
|
||||
@@ -60,37 +60,37 @@
|
||||
</p>
|
||||
</td>
|
||||
<td *ngIf="showTopic.indexOf('/SUBJECT') !== -1">
|
||||
<p><span class="small">{{'notifications.broker.event.table.subjectValue' | translate}}</span><br><span class="badge badge-info">{{eventElement.event.message.value}}</span></p>
|
||||
<p><span class="small">{{'quality-assurance.event.table.subjectValue' | translate}}</span><br><span class="badge badge-info">{{eventElement.event.message.value}}</span></p>
|
||||
</td>
|
||||
<td *ngIf="showTopic.indexOf('/ABSTRACT') !== -1">
|
||||
<p class="abstract-container" [class.show]="showMore">
|
||||
<span class="small">{{'notifications.broker.event.table.abstract' | translate}}</span><br>
|
||||
<span class="small">{{'quality-assurance.event.table.abstract' | translate}}</span><br>
|
||||
<span class="text-ellipsis">{{eventElement.event.message.abstract}}</span>
|
||||
</p>
|
||||
<button class="btn btn-outline-primary btn-sm" (click)="showMore = !showMore">
|
||||
<i *ngIf="!showMore" class="fas fa-angle-down"></i>
|
||||
<i *ngIf="showMore" class="fas fa-angle-up"></i>
|
||||
{{ (showMore ? 'notifications.broker.event.table.less': 'notifications.broker.event.table.more') | translate }}
|
||||
{{ (showMore ? 'quality-assurance.event.table.less': 'quality-assurance.event.table.more') | translate }}
|
||||
</button>
|
||||
</td>
|
||||
<td *ngIf="showTopic.indexOf('/PROJECT') !== -1">
|
||||
<p>
|
||||
{{'notifications.broker.event.table.suggestedProject' | translate}}
|
||||
{{'quality-assurance.event.table.suggestedProject' | translate}}
|
||||
</p>
|
||||
<p>
|
||||
<span class="small">{{'notifications.broker.event.table.project' | translate}}</span><br>
|
||||
<span class="small">{{'quality-assurance.event.table.project' | translate}}</span><br>
|
||||
<a href="https://explore.openaire.eu/search/project?projectId={{ eventElement.event.message.openaireId}}" target="_blank">{{eventElement.event.message.title}}</a>
|
||||
</p>
|
||||
<p>
|
||||
<span *ngIf="eventElement.event.message.acronym"><span class="small">{{'notifications.broker.event.table.acronym' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.acronym}}</span><br></span>
|
||||
<span *ngIf="eventElement.event.message.code"><span class="small">{{'notifications.broker.event.table.code' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.code}}</span><br></span>
|
||||
<span *ngIf="eventElement.event.message.funder"><span class="small">{{'notifications.broker.event.table.funder' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.funder}}</span><br></span>
|
||||
<span *ngIf="eventElement.event.message.fundingProgram"><span class="small">{{'notifications.broker.event.table.fundingProgram' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.fundingProgram}}</span><br></span>
|
||||
<span *ngIf="eventElement.event.message.jurisdiction"><span class="small">{{'notifications.broker.event.table.jurisdiction' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.jurisdiction}}</span></span>
|
||||
<span *ngIf="eventElement.event.message.acronym"><span class="small">{{'quality-assurance.event.table.acronym' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.acronym}}</span><br></span>
|
||||
<span *ngIf="eventElement.event.message.code"><span class="small">{{'quality-assurance.event.table.code' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.code}}</span><br></span>
|
||||
<span *ngIf="eventElement.event.message.funder"><span class="small">{{'quality-assurance.event.table.funder' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.funder}}</span><br></span>
|
||||
<span *ngIf="eventElement.event.message.fundingProgram"><span class="small">{{'quality-assurance.event.table.fundingProgram' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.fundingProgram}}</span><br></span>
|
||||
<span *ngIf="eventElement.event.message.jurisdiction"><span class="small">{{'quality-assurance.event.table.jurisdiction' | translate}}</span> <span class="badge badge-info">{{eventElement.event.message.jurisdiction}}</span></span>
|
||||
</p>
|
||||
<hr>
|
||||
<div>
|
||||
{{(eventElement.hasProject ? 'notifications.broker.event.project.found' : 'notifications.broker.event.project.notFound') | translate}}
|
||||
{{(eventElement.hasProject ? 'quality-assurance.event.project.found' : 'quality-assurance.event.project.notFound') | translate}}
|
||||
<a target="_blank" *ngIf="eventElement.hasProject" title="{{eventElement.projectTitle}}" [routerLink]="['/items', eventElement.projectId]">{{eventElement.handle}}</a>
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-outline-primary btn-sm"
|
||||
@@ -114,19 +114,19 @@
|
||||
[disabled]="eventElement.isRunning"
|
||||
(click)="modalChoice('ACCEPTED', eventElement, acceptModal)">
|
||||
<i class="fas fa-check"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.import' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.import' | translate}}</span>
|
||||
</button>
|
||||
<button *ngIf="showTopic.indexOf('/PROJECT') == -1" class="btn btn-outline-success btn-sm button-width" [disabled]="eventElement.isRunning" (click)="executeAction('ACCEPTED', eventElement)">
|
||||
<i class="fas fa-check"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.accept' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.accept' | translate}}</span>
|
||||
</button>
|
||||
<button class="btn btn-outline-dark btn-sm button-width" [disabled]="eventElement.isRunning" (click)="openModal('DISCARDED', eventElement, ignoreModal)">
|
||||
<i class="fas fa-trash-alt"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.ignore' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.ignore' | translate}}</span>
|
||||
</button>
|
||||
<button class="btn btn-outline-danger btn-sm button-width" [disabled]="eventElement.isRunning" (click)="openModal('REJECTED', eventElement, rejectModal)">
|
||||
<i class="fas fa-trash-alt"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.reject' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.reject' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
@@ -142,7 +142,7 @@
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-outline-secondary" [routerLink]="['/admin/notifications/quality-assurance']">
|
||||
<i class="fas fa-angle-double-left"></i>
|
||||
{{'notifications.broker.events.back' | translate}}
|
||||
{{'quality-assurance.events.back' | translate}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -150,58 +150,58 @@
|
||||
|
||||
<ng-template #acceptModal let-modal>
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="acceptModal">{{'notifications.broker.event.sure' | translate}}</h4>
|
||||
<h4 class="modal-title" id="acceptModal">{{'quality-assurance.event.sure' | translate}}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{'notifications.broker.event.accept.description' | translate}}</p>
|
||||
<p>{{'quality-assurance.event.accept.description' | translate}}</p>
|
||||
|
||||
<button class="btn btn-outline-success float-left" (click)="modal.close('do')">
|
||||
<i class="fas fa-check"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.import' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.import' | translate}}</span>
|
||||
</button>
|
||||
<button class="btn btn-outline-secondary float-right" (click)="modal.close('cancel')">
|
||||
<i class="fas fa-close"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.cancel' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.cancel' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #ignoreModal let-modal>
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="ignoreModal">{{'notifications.broker.event.sure' | translate}}</h4>
|
||||
<h4 class="modal-title" id="ignoreModal">{{'quality-assurance.event.sure' | translate}}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{'notifications.broker.event.ignore.description' | translate}}</p>
|
||||
<p>{{'quality-assurance.event.ignore.description' | translate}}</p>
|
||||
|
||||
<!-- textarea class="form-control mb-2" [(ngModel)]="selectedReason" placeholder="{{'notifications.broker.event.reason' |translate}}"></textarea -->
|
||||
<!-- textarea class="form-control mb-2" [(ngModel)]="selectedReason" placeholder="{{'quality-assurance.event.reason' |translate}}"></textarea -->
|
||||
|
||||
<button class="btn btn-outline-danger float-left" (click)="modal.close('do')">
|
||||
<i class="fas fa-trash-alt"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.ignore' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.ignore' | translate}}</span>
|
||||
</button>
|
||||
<button class="btn btn-outline-secondary float-right" (click)="modal.close('cancel')">
|
||||
<i class="fas fa-close"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.cancel' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.cancel' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #rejectModal let-modal>
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="rejectModal">{{'notifications.broker.event.sure' | translate}}</h4>
|
||||
<h4 class="modal-title" id="rejectModal">{{'quality-assurance.event.sure' | translate}}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{'notifications.broker.event.reject.description' | translate}}</p>
|
||||
<p>{{'quality-assurance.event.reject.description' | translate}}</p>
|
||||
|
||||
<!-- textarea class="form-control mb-2" [(ngModel)]="selectedReason" placeholder="{{'notifications.broker.event.reason' |translate}}"></textarea -->
|
||||
<!-- textarea class="form-control mb-2" [(ngModel)]="selectedReason" placeholder="{{'quality-assurance.event.reason' |translate}}"></textarea -->
|
||||
|
||||
<button class="btn btn-outline-danger float-left" (click)="modal.close('do')">
|
||||
<i class="fas fa-trash-alt"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.reject' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.reject' | translate}}</span>
|
||||
</button>
|
||||
<button class="btn btn-outline-secondary float-right" (click)="modal.close('cancel')">
|
||||
<i class="fas fa-close"></i>
|
||||
<span class="d-none d-sm-inline">{{'notifications.broker.event.action.cancel' | translate}}</span>
|
||||
<span class="d-none d-sm-inline">{{'quality-assurance.event.action.cancel' | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
@@ -11,7 +11,7 @@ import { PaginatedList } from '../../../core/data/paginated-list.model';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import {
|
||||
QualityAssuranceEventObject,
|
||||
OpenaireBrokerEventMessageObject
|
||||
OpenaireQualityAssuranceEventMessageObject
|
||||
} from '../../../core/notifications/qa/models/quality-assurance-event.model';
|
||||
import { QualityAssuranceEventRestService } from '../../../core/notifications/qa/events/quality-assurance-event-rest.service';
|
||||
import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model';
|
||||
@@ -242,12 +242,12 @@ export class QualityAssuranceEventsComponent implements OnInit {
|
||||
.subscribe((rd: RemoteData<QualityAssuranceEventObject>) => {
|
||||
if (rd.isSuccess && rd.statusCode === 200) {
|
||||
this.notificationsService.success(
|
||||
this.translateService.instant('notifications.broker.event.action.saved')
|
||||
this.translateService.instant('quality-assurance.event.action.saved')
|
||||
);
|
||||
this.getQualityAssuranceEvents();
|
||||
} else {
|
||||
this.notificationsService.error(
|
||||
this.translateService.instant('notifications.broker.event.action.error')
|
||||
this.translateService.instant('quality-assurance.event.action.error')
|
||||
);
|
||||
}
|
||||
eventData.isRunning = false;
|
||||
@@ -274,7 +274,7 @@ export class QualityAssuranceEventsComponent implements OnInit {
|
||||
.subscribe((rd: RemoteData<QualityAssuranceEventObject>) => {
|
||||
if (rd.isSuccess) {
|
||||
this.notificationsService.success(
|
||||
this.translateService.instant('notifications.broker.event.project.bounded')
|
||||
this.translateService.instant('quality-assurance.event.project.bounded')
|
||||
);
|
||||
eventData.hasProject = true;
|
||||
eventData.projectTitle = projectTitle;
|
||||
@@ -282,7 +282,7 @@ export class QualityAssuranceEventsComponent implements OnInit {
|
||||
eventData.projectId = projectId;
|
||||
} else {
|
||||
this.notificationsService.error(
|
||||
this.translateService.instant('notifications.broker.event.project.error')
|
||||
this.translateService.instant('quality-assurance.event.project.error')
|
||||
);
|
||||
}
|
||||
eventData.isRunning = false;
|
||||
@@ -303,7 +303,7 @@ export class QualityAssuranceEventsComponent implements OnInit {
|
||||
.subscribe((rd: RemoteData<QualityAssuranceEventObject>) => {
|
||||
if (rd.isSuccess) {
|
||||
this.notificationsService.success(
|
||||
this.translateService.instant('notifications.broker.event.project.removed')
|
||||
this.translateService.instant('quality-assurance.event.project.removed')
|
||||
);
|
||||
eventData.hasProject = false;
|
||||
eventData.projectTitle = null;
|
||||
@@ -311,7 +311,7 @@ export class QualityAssuranceEventsComponent implements OnInit {
|
||||
eventData.projectId = null;
|
||||
} else {
|
||||
this.notificationsService.error(
|
||||
this.translateService.instant('notifications.broker.event.project.error')
|
||||
this.translateService.instant('quality-assurance.event.project.error')
|
||||
);
|
||||
}
|
||||
eventData.isRunning = false;
|
||||
@@ -323,7 +323,7 @@ export class QualityAssuranceEventsComponent implements OnInit {
|
||||
* Check if the event has a valid href.
|
||||
* @param event
|
||||
*/
|
||||
public hasPIDHref(event: OpenaireBrokerEventMessageObject): boolean {
|
||||
public hasPIDHref(event: OpenaireQualityAssuranceEventMessageObject): boolean {
|
||||
return this.getPIDHref(event) !== null;
|
||||
}
|
||||
|
||||
@@ -331,7 +331,7 @@ export class QualityAssuranceEventsComponent implements OnInit {
|
||||
* Get the event pid href.
|
||||
* @param event
|
||||
*/
|
||||
public getPIDHref(event: OpenaireBrokerEventMessageObject): string {
|
||||
public getPIDHref(event: OpenaireQualityAssuranceEventMessageObject): string {
|
||||
return this.computePIDHref(event);
|
||||
}
|
||||
|
||||
@@ -419,7 +419,7 @@ export class QualityAssuranceEventsComponent implements OnInit {
|
||||
);
|
||||
}
|
||||
|
||||
protected computePIDHref(event: OpenaireBrokerEventMessageObject) {
|
||||
protected computePIDHref(event: OpenaireQualityAssuranceEventMessageObject) {
|
||||
const type = event.type.toLowerCase();
|
||||
const pid = event.value;
|
||||
let prefix = null;
|
||||
|
@@ -15,7 +15,7 @@ import { DSpaceObject } from '../../../core/shared/dspace-object.model';
|
||||
import {
|
||||
QualityAssuranceEventObject,
|
||||
QualityAssuranceEventMessageObject,
|
||||
OpenaireBrokerEventMessageObject,
|
||||
OpenaireQualityAssuranceEventMessageObject,
|
||||
} from '../../../core/notifications/qa/models/quality-assurance-event.model';
|
||||
import { hasValue, isNotEmpty } from '../../../shared/empty.util';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
@@ -98,7 +98,7 @@ export class ProjectEntryImportModalComponent implements OnInit {
|
||||
/**
|
||||
* The prefix for every i18n key within this modal
|
||||
*/
|
||||
labelPrefix = 'notifications.broker.event.modal.';
|
||||
labelPrefix = 'quality-assurance.event.modal.';
|
||||
/**
|
||||
* The search configuration to retrieve project
|
||||
*/
|
||||
@@ -181,7 +181,7 @@ export class ProjectEntryImportModalComponent implements OnInit {
|
||||
public ngOnInit(): void {
|
||||
this.pagination = Object.assign(new PaginationComponentOptions(), { id: 'notifications-project-bound', pageSize: this.pageSize });
|
||||
this.projectTitle = (this.externalSourceEntry.projectTitle !== null) ? this.externalSourceEntry.projectTitle
|
||||
: (this.externalSourceEntry.event.message as OpenaireBrokerEventMessageObject).title;
|
||||
: (this.externalSourceEntry.event.message as OpenaireQualityAssuranceEventMessageObject).title;
|
||||
this.searchOptions = Object.assign(new PaginatedSearchOptions(
|
||||
{
|
||||
configuration: this.configuration,
|
||||
|
@@ -1,15 +1,15 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2 class="border-bottom pb-2">{{'notifications.broker.title'| translate}}</h2>
|
||||
<p>{{'notifications.broker.source.description'| translate}}</p>
|
||||
<h2 class="border-bottom pb-2">{{'quality-assurance.title'| translate}}</h2>
|
||||
<p>{{'quality-assurance.source.description'| translate}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h3 class="border-bottom pb-2">{{'notifications.broker.source'| translate}}</h3>
|
||||
<h3 class="border-bottom pb-2">{{'quality-assurance.source'| translate}}</h3>
|
||||
|
||||
<ds-loading class="container" *ngIf="(isSourceLoading() | async)" message="{{'notifications.broker.loading' | translate}}"></ds-loading>
|
||||
<ds-loading class="container" *ngIf="(isSourceLoading() | async)" message="{{'quality-assurance.loading' | translate}}"></ds-loading>
|
||||
<ds-pagination *ngIf="!(isSourceLoading() | async)"
|
||||
[paginationOptions]="paginationConfig"
|
||||
[collectionSize]="(totalElements$ | async)"
|
||||
@@ -17,18 +17,18 @@
|
||||
[hideSortOptions]="true"
|
||||
(paginationChange)="getQualityAssuranceSource()">
|
||||
|
||||
<ds-loading class="container" *ngIf="(isSourceProcessing() | async)" message="'notifications.broker.loading' | translate"></ds-loading>
|
||||
<ds-loading class="container" *ngIf="(isSourceProcessing() | async)" message="'quality-assurance.loading' | translate"></ds-loading>
|
||||
<ng-container *ngIf="!(isSourceProcessing() | async)">
|
||||
<div *ngIf="(sources$|async)?.length == 0" class="alert alert-info w-100 mb-2 mt-2" role="alert">
|
||||
{{'notifications.broker.noSource' | translate}}
|
||||
{{'quality-assurance.noSource' | translate}}
|
||||
</div>
|
||||
<div *ngIf="(sources$|async)?.length != 0" class="table-responsive mt-2">
|
||||
<table id="epeople" class="table table-striped table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{{'notifications.broker.table.source' | translate}}</th>
|
||||
<th scope="col">{{'notifications.broker.table.last-event' | translate}}</th>
|
||||
<th scope="col">{{'notifications.broker.table.actions' | translate}}</th>
|
||||
<th scope="col">{{'quality-assurance.table.source' | translate}}</th>
|
||||
<th scope="col">{{'quality-assurance.table.last-event' | translate}}</th>
|
||||
<th scope="col">{{'quality-assurance.table.actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -39,7 +39,7 @@
|
||||
<div class="btn-group edit-field">
|
||||
<button
|
||||
class="btn btn-outline-primary btn-sm"
|
||||
title="{{'notifications.broker.button.detail' | translate }}"
|
||||
title="{{'quality-assurance.button.detail' | translate }}"
|
||||
[routerLink]="[sourceElement.id]">
|
||||
<span class="badge badge-info">{{sourceElement.totalEvents}}</span>
|
||||
<i class="fas fa-info fa-fw"></i>
|
||||
|
@@ -53,7 +53,7 @@ export class QualityAssuranceSourceEffects {
|
||||
@Effect({ dispatch: false }) retrieveAllSourceErrorAction$ = this.actions$.pipe(
|
||||
ofType(QualityAssuranceSourceActionTypes.RETRIEVE_ALL_SOURCE_ERROR),
|
||||
tap(() => {
|
||||
this.notificationsService.error(null, this.translate.get('notifications.broker.source.error.service.retrieve'));
|
||||
this.notificationsService.error(null, this.translate.get('quality-assurance.source.error.service.retrieve'));
|
||||
})
|
||||
);
|
||||
|
||||
|
@@ -1,15 +1,15 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2 class="border-bottom pb-2">{{'notifications.broker.title'| translate}}</h2>
|
||||
<p>{{'notifications.broker.topics.description'| translate:{source: sourceId} }}</p>
|
||||
<h2 class="border-bottom pb-2">{{'quality-assurance.title'| translate}}</h2>
|
||||
<p>{{'quality-assurance.topics.description'| translate:{source: sourceId} }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h3 class="border-bottom pb-2">{{'notifications.broker.topics'| translate}}</h3>
|
||||
<h3 class="border-bottom pb-2">{{'quality-assurance.topics'| translate}}</h3>
|
||||
|
||||
<ds-loading class="container" *ngIf="(isTopicsLoading() | async)" message="{{'notifications.broker.loading' | translate}}"></ds-loading>
|
||||
<ds-loading class="container" *ngIf="(isTopicsLoading() | async)" message="{{'quality-assurance.loading' | translate}}"></ds-loading>
|
||||
<ds-pagination *ngIf="!(isTopicsLoading() | async)"
|
||||
[paginationOptions]="paginationConfig"
|
||||
[collectionSize]="(totalElements$ | async)"
|
||||
@@ -17,18 +17,18 @@
|
||||
[hideSortOptions]="true"
|
||||
(paginationChange)="getQualityAssuranceTopics()">
|
||||
|
||||
<ds-loading class="container" *ngIf="(isTopicsProcessing() | async)" message="'notifications.broker.loading' | translate"></ds-loading>
|
||||
<ds-loading class="container" *ngIf="(isTopicsProcessing() | async)" message="'quality-assurance.loading' | translate"></ds-loading>
|
||||
<ng-container *ngIf="!(isTopicsProcessing() | async)">
|
||||
<div *ngIf="(topics$|async)?.length == 0" class="alert alert-info w-100 mb-2 mt-2" role="alert">
|
||||
{{'notifications.broker.noTopics' | translate}}
|
||||
{{'quality-assurance.noTopics' | translate}}
|
||||
</div>
|
||||
<div *ngIf="(topics$|async)?.length != 0" class="table-responsive mt-2">
|
||||
<table id="epeople" class="table table-striped table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{{'notifications.broker.table.topic' | translate}}</th>
|
||||
<th scope="col">{{'notifications.broker.table.last-event' | translate}}</th>
|
||||
<th scope="col">{{'notifications.broker.table.actions' | translate}}</th>
|
||||
<th scope="col">{{'quality-assurance.table.topic' | translate}}</th>
|
||||
<th scope="col">{{'quality-assurance.table.last-event' | translate}}</th>
|
||||
<th scope="col">{{'quality-assurance.table.actions' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -39,7 +39,7 @@
|
||||
<div class="btn-group edit-field">
|
||||
<button
|
||||
class="btn btn-outline-primary btn-sm"
|
||||
title="{{'notifications.broker.button.detail' | translate }}"
|
||||
title="{{'quality-assurance.button.detail' | translate }}"
|
||||
[routerLink]="[topicElement.id]">
|
||||
<span class="badge badge-info">{{topicElement.totalEvents}}</span>
|
||||
<i class="fas fa-info fa-fw"></i>
|
||||
|
@@ -53,7 +53,7 @@ export class QualityAssuranceTopicsEffects {
|
||||
@Effect({ dispatch: false }) retrieveAllTopicsErrorAction$ = this.actions$.pipe(
|
||||
ofType(QualityAssuranceTopicActionTypes.RETRIEVE_ALL_TOPICS_ERROR),
|
||||
tap(() => {
|
||||
this.notificationsService.error(null, this.translate.get('notifications.broker.topic.error.service.retrieve'));
|
||||
this.notificationsService.error(null, this.translate.get('quality-assurance.topic.error.service.retrieve'));
|
||||
})
|
||||
);
|
||||
|
||||
|
@@ -23,7 +23,7 @@ const _getNotificationsState = createFeatureSelector<NotificationsState>('notifi
|
||||
* @return {QualityAssuranceTopicState}
|
||||
*/
|
||||
export function qualityAssuranceTopicsStateSelector(): MemoizedSelector<NotificationsState, QualityAssuranceTopicState> {
|
||||
return subStateSelector<NotificationsState,QualityAssuranceTopicState>(notificationsSelector, 'brokerTopic');
|
||||
return subStateSelector<NotificationsState,QualityAssuranceTopicState>(notificationsSelector, 'qaTopic');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -41,7 +41,7 @@ export function qualityAssuranceTopicsObjectSelector(): MemoizedSelector<Notific
|
||||
* @return {boolean}
|
||||
*/
|
||||
export const isQualityAssuranceTopicsLoadedSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerTopic.loaded
|
||||
(state: NotificationsState) => state.qaTopic.loaded
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -50,7 +50,7 @@ export const isQualityAssuranceTopicsLoadedSelector = createSelector(_getNotific
|
||||
* @return {boolean}
|
||||
*/
|
||||
export const isQualityAssuranceTopicsProcessingSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerTopic.processing
|
||||
(state: NotificationsState) => state.qaTopic.processing
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -59,7 +59,7 @@ export const isQualityAssuranceTopicsProcessingSelector = createSelector(_getNot
|
||||
* @return {number}
|
||||
*/
|
||||
export const getQualityAssuranceTopicsTotalPagesSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerTopic.totalPages
|
||||
(state: NotificationsState) => state.qaTopic.totalPages
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -68,7 +68,7 @@ export const getQualityAssuranceTopicsTotalPagesSelector = createSelector(_getNo
|
||||
* @return {number}
|
||||
*/
|
||||
export const getQualityAssuranceTopicsCurrentPageSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerTopic.currentPage
|
||||
(state: NotificationsState) => state.qaTopic.currentPage
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -77,7 +77,7 @@ export const getQualityAssuranceTopicsCurrentPageSelector = createSelector(_getN
|
||||
* @return {number}
|
||||
*/
|
||||
export const getQualityAssuranceTopicsTotalsSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerTopic.totalElements
|
||||
(state: NotificationsState) => state.qaTopic.totalElements
|
||||
);
|
||||
|
||||
// Quality Assurance source
|
||||
@@ -89,7 +89,7 @@ export const getQualityAssuranceTopicsTotalsSelector = createSelector(_getNotifi
|
||||
* @return {QualityAssuranceSourceState}
|
||||
*/
|
||||
export function qualityAssuranceSourceStateSelector(): MemoizedSelector<NotificationsState, QualityAssuranceSourceState> {
|
||||
return subStateSelector<NotificationsState,QualityAssuranceSourceState>(notificationsSelector, 'brokerSource');
|
||||
return subStateSelector<NotificationsState,QualityAssuranceSourceState>(notificationsSelector, 'qaSource');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -107,7 +107,7 @@ export function qualityAssuranceSourceObjectSelector(): MemoizedSelector<Notific
|
||||
* @return {boolean}
|
||||
*/
|
||||
export const isQualityAssuranceSourceLoadedSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerSource.loaded
|
||||
(state: NotificationsState) => state.qaSource.loaded
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -116,7 +116,7 @@ export const isQualityAssuranceSourceLoadedSelector = createSelector(_getNotific
|
||||
* @return {boolean}
|
||||
*/
|
||||
export const isQualityAssuranceSourceProcessingSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerSource.processing
|
||||
(state: NotificationsState) => state.qaSource.processing
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -125,7 +125,7 @@ export const isQualityAssuranceSourceProcessingSelector = createSelector(_getNot
|
||||
* @return {number}
|
||||
*/
|
||||
export const getQualityAssuranceSourceTotalPagesSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerSource.totalPages
|
||||
(state: NotificationsState) => state.qaSource.totalPages
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -134,7 +134,7 @@ export const getQualityAssuranceSourceTotalPagesSelector = createSelector(_getNo
|
||||
* @return {number}
|
||||
*/
|
||||
export const getQualityAssuranceSourceCurrentPageSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerSource.currentPage
|
||||
(state: NotificationsState) => state.qaSource.currentPage
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -143,5 +143,5 @@ export const getQualityAssuranceSourceCurrentPageSelector = createSelector(_getN
|
||||
* @return {number}
|
||||
*/
|
||||
export const getQualityAssuranceSourceTotalsSelector = createSelector(_getNotificationsState,
|
||||
(state: NotificationsState) => state.brokerSource.totalElements
|
||||
(state: NotificationsState) => state.qaSource.totalElements
|
||||
);
|
||||
|
@@ -1334,37 +1334,37 @@ export const NotificationsMockDspaceObject: SearchResult<DSpaceObject> = Object.
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
export const qualityAssuranceSourceObjectMorePid: QualityAssuranceSourceObject = {
|
||||
type: new ResourceType('nbsource'),
|
||||
type: new ResourceType('qasource'),
|
||||
id: 'ENRICH!MORE!PID',
|
||||
lastEvent: '2020/10/09 10:11 UTC',
|
||||
totalEvents: 33,
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbsources/ENRICH!MORE!PID'
|
||||
href: 'https://rest.api/rest/api/integration/qasources/ENRICH!MORE!PID'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const qualityAssuranceSourceObjectMoreAbstract: QualityAssuranceSourceObject = {
|
||||
type: new ResourceType('nbsource'),
|
||||
type: new ResourceType('qasource'),
|
||||
id: 'ENRICH!MORE!ABSTRACT',
|
||||
lastEvent: '2020/09/08 21:14 UTC',
|
||||
totalEvents: 5,
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbsources/ENRICH!MORE!ABSTRACT'
|
||||
href: 'https://rest.api/rest/api/integration/qasources/ENRICH!MORE!ABSTRACT'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const qualityAssuranceSourceObjectMissingPid: QualityAssuranceSourceObject = {
|
||||
type: new ResourceType('nbsource'),
|
||||
type: new ResourceType('qasource'),
|
||||
id: 'ENRICH!MISSING!PID',
|
||||
lastEvent: '2020/10/01 07:36 UTC',
|
||||
totalEvents: 4,
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbsources/ENRICH!MISSING!PID'
|
||||
href: 'https://rest.api/rest/api/integration/qasources/ENRICH!MISSING!PID'
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -1373,79 +1373,79 @@ export const qualityAssuranceSourceObjectMissingPid: QualityAssuranceSourceObjec
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
export const qualityAssuranceTopicObjectMorePid: QualityAssuranceTopicObject = {
|
||||
type: new ResourceType('nbtopic'),
|
||||
type: new ResourceType('qatopic'),
|
||||
id: 'ENRICH!MORE!PID',
|
||||
name: 'ENRICH/MORE/PID',
|
||||
lastEvent: '2020/10/09 10:11 UTC',
|
||||
totalEvents: 33,
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbtopics/ENRICH!MORE!PID'
|
||||
href: 'https://rest.api/rest/api/integration/qatopics/ENRICH!MORE!PID'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const qualityAssuranceTopicObjectMoreAbstract: QualityAssuranceTopicObject = {
|
||||
type: new ResourceType('nbtopic'),
|
||||
type: new ResourceType('qatopic'),
|
||||
id: 'ENRICH!MORE!ABSTRACT',
|
||||
name: 'ENRICH/MORE/ABSTRACT',
|
||||
lastEvent: '2020/09/08 21:14 UTC',
|
||||
totalEvents: 5,
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbtopics/ENRICH!MORE!ABSTRACT'
|
||||
href: 'https://rest.api/rest/api/integration/qatopics/ENRICH!MORE!ABSTRACT'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const qualityAssuranceTopicObjectMissingPid: QualityAssuranceTopicObject = {
|
||||
type: new ResourceType('nbtopic'),
|
||||
type: new ResourceType('qatopic'),
|
||||
id: 'ENRICH!MISSING!PID',
|
||||
name: 'ENRICH/MISSING/PID',
|
||||
lastEvent: '2020/10/01 07:36 UTC',
|
||||
totalEvents: 4,
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbtopics/ENRICH!MISSING!PID'
|
||||
href: 'https://rest.api/rest/api/integration/qatopics/ENRICH!MISSING!PID'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const qualityAssuranceTopicObjectMissingAbstract: QualityAssuranceTopicObject = {
|
||||
type: new ResourceType('nbtopic'),
|
||||
type: new ResourceType('qatopic'),
|
||||
id: 'ENRICH!MISSING!ABSTRACT',
|
||||
name: 'ENRICH/MISSING/ABSTRACT',
|
||||
lastEvent: '2020/10/08 16:14 UTC',
|
||||
totalEvents: 71,
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbtopics/ENRICH!MISSING!ABSTRACT'
|
||||
href: 'https://rest.api/rest/api/integration/qatopics/ENRICH!MISSING!ABSTRACT'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const qualityAssuranceTopicObjectMissingAcm: QualityAssuranceTopicObject = {
|
||||
type: new ResourceType('nbtopic'),
|
||||
type: new ResourceType('qatopic'),
|
||||
id: 'ENRICH!MISSING!SUBJECT!ACM',
|
||||
name: 'ENRICH/MISSING/SUBJECT/ACM',
|
||||
lastEvent: '2020/09/21 17:51 UTC',
|
||||
totalEvents: 18,
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbtopics/ENRICH!MISSING!SUBJECT!ACM'
|
||||
href: 'https://rest.api/rest/api/integration/qatopics/ENRICH!MISSING!SUBJECT!ACM'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const qualityAssuranceTopicObjectMissingProject: QualityAssuranceTopicObject = {
|
||||
type: new ResourceType('nbtopic'),
|
||||
type: new ResourceType('qatopic'),
|
||||
id: 'ENRICH!MISSING!PROJECT',
|
||||
name: 'ENRICH/MISSING/PROJECT',
|
||||
lastEvent: '2020/09/17 10:28 UTC',
|
||||
totalEvents: 6,
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbtopics/ENRICH!MISSING!PROJECT'
|
||||
href: 'https://rest.api/rest/api/integration/qatopics/ENRICH!MISSING!PROJECT'
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -1456,7 +1456,7 @@ export const qualityAssuranceTopicObjectMissingProject: QualityAssuranceTopicObj
|
||||
export const qualityAssuranceEventObjectMissingPid: QualityAssuranceEventObject = {
|
||||
id: '123e4567-e89b-12d3-a456-426614174001',
|
||||
uuid: '123e4567-e89b-12d3-a456-426614174001',
|
||||
type: new ResourceType('nbevent'),
|
||||
type: new ResourceType('qaevent'),
|
||||
originalId: 'oai:www.openstarts.units.it:10077/21486',
|
||||
title: 'Index nominum et rerum',
|
||||
trust: 0.375,
|
||||
@@ -1476,13 +1476,13 @@ export const qualityAssuranceEventObjectMissingPid: QualityAssuranceEventObject
|
||||
},
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174001',
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174001',
|
||||
},
|
||||
target: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174001/target'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174001/target'
|
||||
},
|
||||
related: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174001/related'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174001/related'
|
||||
}
|
||||
},
|
||||
target: observableOf(createSuccessfulRemoteDataObject(ItemMockPid1)),
|
||||
@@ -1512,13 +1512,13 @@ export const qualityAssuranceEventObjectMissingPid2: QualityAssuranceEventObject
|
||||
},
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174004'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174004'
|
||||
},
|
||||
target: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174004/target'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174004/target'
|
||||
},
|
||||
related: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174004/related'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174004/related'
|
||||
}
|
||||
},
|
||||
target: observableOf(createSuccessfulRemoteDataObject(ItemMockPid2)),
|
||||
@@ -1548,13 +1548,13 @@ export const qualityAssuranceEventObjectMissingPid3: QualityAssuranceEventObject
|
||||
},
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174005'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174005'
|
||||
},
|
||||
target: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174005/target'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174005/target'
|
||||
},
|
||||
related: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174005/related'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174005/related'
|
||||
}
|
||||
},
|
||||
target: observableOf(createSuccessfulRemoteDataObject(ItemMockPid3)),
|
||||
@@ -1584,13 +1584,13 @@ export const qualityAssuranceEventObjectMissingPid4: QualityAssuranceEventObject
|
||||
},
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174006'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174006'
|
||||
},
|
||||
target: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174006/target'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174006/target'
|
||||
},
|
||||
related: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174006/related'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174006/related'
|
||||
}
|
||||
},
|
||||
target: observableOf(createSuccessfulRemoteDataObject(ItemMockPid4)),
|
||||
@@ -1620,13 +1620,13 @@ export const qualityAssuranceEventObjectMissingPid5: QualityAssuranceEventObject
|
||||
},
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174007'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174007'
|
||||
},
|
||||
target: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174007/target'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174007/target'
|
||||
},
|
||||
related: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174007/related'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174007/related'
|
||||
}
|
||||
},
|
||||
target: observableOf(createSuccessfulRemoteDataObject(ItemMockPid5)),
|
||||
@@ -1656,13 +1656,13 @@ export const qualityAssuranceEventObjectMissingPid6: QualityAssuranceEventObject
|
||||
},
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174008'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174008'
|
||||
},
|
||||
target: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174008/target'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174008/target'
|
||||
},
|
||||
related: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174008/related'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174008/related'
|
||||
}
|
||||
},
|
||||
target: observableOf(createSuccessfulRemoteDataObject(ItemMockPid6)),
|
||||
@@ -1692,13 +1692,13 @@ export const qualityAssuranceEventObjectMissingAbstract: QualityAssuranceEventOb
|
||||
},
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174009'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174009'
|
||||
},
|
||||
target: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174009/target'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174009/target'
|
||||
},
|
||||
related: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174009/related'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174009/related'
|
||||
}
|
||||
},
|
||||
target: observableOf(createSuccessfulRemoteDataObject(ItemMockPid7)),
|
||||
@@ -1728,13 +1728,13 @@ export const qualityAssuranceEventObjectMissingProjectFound: QualityAssuranceEve
|
||||
},
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174002'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174002'
|
||||
},
|
||||
target: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174002/target'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174002/target'
|
||||
},
|
||||
related: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174002/related'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174002/related'
|
||||
}
|
||||
},
|
||||
target: createSuccessfulRemoteDataObject$(ItemMockPid8),
|
||||
@@ -1764,13 +1764,13 @@ export const qualityAssuranceEventObjectMissingProjectNotFound: QualityAssurance
|
||||
},
|
||||
_links: {
|
||||
self: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174003'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174003'
|
||||
},
|
||||
target: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174003/target'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174003/target'
|
||||
},
|
||||
related: {
|
||||
href: 'https://rest.api/rest/api/integration/nbevents/123e4567-e89b-12d3-a456-426614174003/related'
|
||||
href: 'https://rest.api/rest/api/integration/qaevents/123e4567-e89b-12d3-a456-426614174003/related'
|
||||
}
|
||||
},
|
||||
target: createSuccessfulRemoteDataObject$(ItemMockPid9),
|
||||
|
@@ -4,7 +4,7 @@ import { hasValue } from './empty.util';
|
||||
/**
|
||||
* Export a function to return a subset of the state by key
|
||||
*/
|
||||
export function keySelector<T, V>(parentSelector: Selector<any, any>, subState: string, key: string): MemoizedSelector<T, V> {
|
||||
export function keySelector<T, V>(parentSelector, subState: string, key: string): MemoizedSelector<T, V> {
|
||||
return createSelector(parentSelector, (state: T) => {
|
||||
if (hasValue(state) && hasValue(state[subState])) {
|
||||
return state[subState][key];
|
||||
@@ -16,7 +16,7 @@ export function keySelector<T, V>(parentSelector: Selector<any, any>, subState:
|
||||
/**
|
||||
* Export a function to return a subset of the state
|
||||
*/
|
||||
export function subStateSelector<T, V>(parentSelector: Selector<any, any>, subState: string): MemoizedSelector<T, V> {
|
||||
export function subStateSelector<T, V>(parentSelector, subState: string): MemoizedSelector<T, V> {
|
||||
return createSelector(parentSelector, (state: T) => {
|
||||
if (hasValue(state) && hasValue(state[subState])) {
|
||||
return state[subState];
|
||||
|
@@ -499,15 +499,15 @@
|
||||
|
||||
"admin.access-control.groups.form.return": "Back",
|
||||
|
||||
"admin.notifications.broker.breadcrumbs": "Quality Assurance",
|
||||
"admin.quality-assurance.breadcrumbs": "Quality Assurance",
|
||||
|
||||
"admin.notifications.event.breadcrumbs": "Broker Suggestions",
|
||||
"admin.notifications.event.breadcrumbs": "Quality Assurance Suggestions",
|
||||
|
||||
"admin.notifications.event.page.title": "Broker Suggestions",
|
||||
"admin.notifications.event.page.title": "Quality Assurance Suggestions",
|
||||
|
||||
"admin.notifications.broker.page.title": "Quality Assurance",
|
||||
"admin.quality-assurance.page.title": "Quality Assurance",
|
||||
|
||||
"admin.notifications.source.breadcrumbs": "Notifications Source",
|
||||
"admin.notifications.source.breadcrumbs": "Quality Assurance Source",
|
||||
|
||||
"admin.search.breadcrumbs": "Administrative Search",
|
||||
|
||||
@@ -2687,7 +2687,7 @@
|
||||
|
||||
"menu.section.notifications": "Notifications",
|
||||
|
||||
"menu.section.notifications_broker": "Quality Assurance",
|
||||
"menu.section.quality-assurance": "Quality Assurance",
|
||||
|
||||
"menu.section.notifications_reciter": "Publication Claim",
|
||||
|
||||
@@ -2863,135 +2863,135 @@
|
||||
|
||||
"none.listelement.badge": "Item",
|
||||
|
||||
"notifications.broker.title": "Notifications",
|
||||
"quality-assurance.title": "Quality Assurance",
|
||||
|
||||
"notifications.broker.topics.description": "Below you can see all the topics received from the subscriptions to {{source}}.",
|
||||
"quality-assurance.topics.description": "Below you can see all the topics received from the subscriptions to {{source}}.",
|
||||
|
||||
"notifications.broker.source.description": "Below you can see all the notification's sources.",
|
||||
"quality-assurance.source.description": "Below you can see all the notification's sources.",
|
||||
|
||||
"notifications.broker.topics": "Current Topics",
|
||||
"quality-assurance.topics": "Current Topics",
|
||||
|
||||
"notifications.broker.source": "Current Sources",
|
||||
"quality-assurance.source": "Current Sources",
|
||||
|
||||
"notifications.broker.table.topic": "Topic",
|
||||
"quality-assurance.table.topic": "Topic",
|
||||
|
||||
"notifications.broker.table.source": "Source",
|
||||
"quality-assurance.table.source": "Source",
|
||||
|
||||
"notifications.broker.table.last-event": "Last Event",
|
||||
"quality-assurance.table.last-event": "Last Event",
|
||||
|
||||
"notifications.broker.table.actions": "Actions",
|
||||
"quality-assurance.table.actions": "Actions",
|
||||
|
||||
"notifications.broker.button.detail": "Show details",
|
||||
"quality-assurance.button.detail": "Show details",
|
||||
|
||||
"notifications.broker.noTopics": "No topics found.",
|
||||
"quality-assurance.noTopics": "No topics found.",
|
||||
|
||||
"notifications.broker.noSource": "No sources found.",
|
||||
"quality-assurance.noSource": "No sources found.",
|
||||
|
||||
"notifications.events.title": "Broker Suggestions",
|
||||
"notifications.events.title": "Quality Assurance Suggestions",
|
||||
|
||||
"notifications.broker.topic.error.service.retrieve": "An error occurred while loading the Quality Assurance topics",
|
||||
"quality-assurance.topic.error.service.retrieve": "An error occurred while loading the Quality Assurance topics",
|
||||
|
||||
"notifications.broker.source.error.service.retrieve": "An error occurred while loading the Quality Assurance source",
|
||||
"quality-assurance.source.error.service.retrieve": "An error occurred while loading the Quality Assurance source",
|
||||
|
||||
"notifications.broker.events.description": "Below the list of all the suggestions for the selected topic.",
|
||||
"quality-assurance.events.description": "Below the list of all the suggestions for the selected topic.",
|
||||
|
||||
"notifications.broker.loading": "Loading ...",
|
||||
"quality-assurance.loading": "Loading ...",
|
||||
|
||||
"notifications.broker.events.topic": "Topic:",
|
||||
"quality-assurance.events.topic": "Topic:",
|
||||
|
||||
"notifications.broker.noEvents": "No suggestions found.",
|
||||
"quality-assurance.noEvents": "No suggestions found.",
|
||||
|
||||
"notifications.broker.event.table.trust": "Trust",
|
||||
"quality-assurance.event.table.trust": "Trust",
|
||||
|
||||
"notifications.broker.event.table.publication": "Publication",
|
||||
"quality-assurance.event.table.publication": "Publication",
|
||||
|
||||
"notifications.broker.event.table.details": "Details",
|
||||
"quality-assurance.event.table.details": "Details",
|
||||
|
||||
"notifications.broker.event.table.project-details": "Project details",
|
||||
"quality-assurance.event.table.project-details": "Project details",
|
||||
|
||||
"notifications.broker.event.table.actions": "Actions",
|
||||
"quality-assurance.event.table.actions": "Actions",
|
||||
|
||||
"notifications.broker.event.action.accept": "Accept suggestion",
|
||||
"quality-assurance.event.action.accept": "Accept suggestion",
|
||||
|
||||
"notifications.broker.event.action.ignore": "Ignore suggestion",
|
||||
"quality-assurance.event.action.ignore": "Ignore suggestion",
|
||||
|
||||
"notifications.broker.event.action.reject": "Reject suggestion",
|
||||
"quality-assurance.event.action.reject": "Reject suggestion",
|
||||
|
||||
"notifications.broker.event.action.import": "Import project and accept suggestion",
|
||||
"quality-assurance.event.action.import": "Import project and accept suggestion",
|
||||
|
||||
"notifications.broker.event.table.pidtype": "PID Type:",
|
||||
"quality-assurance.event.table.pidtype": "PID Type:",
|
||||
|
||||
"notifications.broker.event.table.pidvalue": "PID Value:",
|
||||
"quality-assurance.event.table.pidvalue": "PID Value:",
|
||||
|
||||
"notifications.broker.event.table.subjectValue": "Subject Value:",
|
||||
"quality-assurance.event.table.subjectValue": "Subject Value:",
|
||||
|
||||
"notifications.broker.event.table.abstract": "Abstract:",
|
||||
"quality-assurance.event.table.abstract": "Abstract:",
|
||||
|
||||
"notifications.broker.event.table.suggestedProject": "OpenAIRE Suggested Project data",
|
||||
"quality-assurance.event.table.suggestedProject": "OpenAIRE Suggested Project data",
|
||||
|
||||
"notifications.broker.event.table.project": "Project title:",
|
||||
"quality-assurance.event.table.project": "Project title:",
|
||||
|
||||
"notifications.broker.event.table.acronym": "Acronym:",
|
||||
"quality-assurance.event.table.acronym": "Acronym:",
|
||||
|
||||
"notifications.broker.event.table.code": "Code:",
|
||||
"quality-assurance.event.table.code": "Code:",
|
||||
|
||||
"notifications.broker.event.table.funder": "Funder:",
|
||||
"quality-assurance.event.table.funder": "Funder:",
|
||||
|
||||
"notifications.broker.event.table.fundingProgram": "Funding program:",
|
||||
"quality-assurance.event.table.fundingProgram": "Funding program:",
|
||||
|
||||
"notifications.broker.event.table.jurisdiction": "Jurisdiction:",
|
||||
"quality-assurance.event.table.jurisdiction": "Jurisdiction:",
|
||||
|
||||
"notifications.broker.events.back": "Back to topics",
|
||||
"quality-assurance.events.back": "Back to topics",
|
||||
|
||||
"notifications.broker.event.table.less": "Show less",
|
||||
"quality-assurance.event.table.less": "Show less",
|
||||
|
||||
"notifications.broker.event.table.more": "Show more",
|
||||
"quality-assurance.event.table.more": "Show more",
|
||||
|
||||
"notifications.broker.event.project.found": "Bound to the local record:",
|
||||
"quality-assurance.event.project.found": "Bound to the local record:",
|
||||
|
||||
"notifications.broker.event.project.notFound": "No local record found",
|
||||
"quality-assurance.event.project.notFound": "No local record found",
|
||||
|
||||
"notifications.broker.event.sure": "Are you sure?",
|
||||
"quality-assurance.event.sure": "Are you sure?",
|
||||
|
||||
"notifications.broker.event.ignore.description": "This operation can't be undone. Ignore this suggestion?",
|
||||
"quality-assurance.event.ignore.description": "This operation can't be undone. Ignore this suggestion?",
|
||||
|
||||
"notifications.broker.event.reject.description": "This operation can't be undone. Reject this suggestion?",
|
||||
"quality-assurance.event.reject.description": "This operation can't be undone. Reject this suggestion?",
|
||||
|
||||
"notifications.broker.event.accept.description": "No DSpace project selected. A new project will be created based on the suggestion data.",
|
||||
"quality-assurance.event.accept.description": "No DSpace project selected. A new project will be created based on the suggestion data.",
|
||||
|
||||
"notifications.broker.event.action.cancel": "Cancel",
|
||||
"quality-assurance.event.action.cancel": "Cancel",
|
||||
|
||||
"notifications.broker.event.action.saved": "Your decision has been saved successfully.",
|
||||
"quality-assurance.event.action.saved": "Your decision has been saved successfully.",
|
||||
|
||||
"notifications.broker.event.action.error": "An error has occurred. Your decision has not been saved.",
|
||||
"quality-assurance.event.action.error": "An error has occurred. Your decision has not been saved.",
|
||||
|
||||
"notifications.broker.event.modal.project.title": "Choose a project to bound",
|
||||
"quality-assurance.event.modal.project.title": "Choose a project to bound",
|
||||
|
||||
"notifications.broker.event.modal.project.publication": "Publication:",
|
||||
"quality-assurance.event.modal.project.publication": "Publication:",
|
||||
|
||||
"notifications.broker.event.modal.project.bountToLocal": "Bound to the local record:",
|
||||
"quality-assurance.event.modal.project.bountToLocal": "Bound to the local record:",
|
||||
|
||||
"notifications.broker.event.modal.project.select": "Project search",
|
||||
"quality-assurance.event.modal.project.select": "Project search",
|
||||
|
||||
"notifications.broker.event.modal.project.search": "Search",
|
||||
"quality-assurance.event.modal.project.search": "Search",
|
||||
|
||||
"notifications.broker.event.modal.project.clear": "Clear",
|
||||
"quality-assurance.event.modal.project.clear": "Clear",
|
||||
|
||||
"notifications.broker.event.modal.project.cancel": "Cancel",
|
||||
"quality-assurance.event.modal.project.cancel": "Cancel",
|
||||
|
||||
"notifications.broker.event.modal.project.bound": "Bound project",
|
||||
"quality-assurance.event.modal.project.bound": "Bound project",
|
||||
|
||||
"notifications.broker.event.modal.project.placeholder": "Enter a project name",
|
||||
"quality-assurance.event.modal.project.placeholder": "Enter a project name",
|
||||
|
||||
"notifications.broker.event.modal.project.notFound": "No project found.",
|
||||
"quality-assurance.event.modal.project.notFound": "No project found.",
|
||||
|
||||
"notifications.broker.event.project.bounded": "The project has been linked successfully.",
|
||||
"quality-assurance.event.project.bounded": "The project has been linked successfully.",
|
||||
|
||||
"notifications.broker.event.project.removed": "The project has been successfully unlinked.",
|
||||
"quality-assurance.event.project.removed": "The project has been successfully unlinked.",
|
||||
|
||||
"notifications.broker.event.project.error": "An error has occurred. No operation performed.",
|
||||
"quality-assurance.event.project.error": "An error has occurred. No operation performed.",
|
||||
|
||||
"notifications.broker.event.reason": "Reason",
|
||||
"quality-assurance.event.reason": "Reason",
|
||||
|
||||
|
||||
"orgunit.listelement.badge": "Organizational Unit",
|
||||
|
Reference in New Issue
Block a user