diff --git a/src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page-resolver.service.ts b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service.ts similarity index 78% rename from src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page-resolver.service.ts rename to src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service.ts index df1f4b81e6..add9a504dd 100644 --- a/src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page-resolver.service.ts +++ b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service.ts @@ -4,7 +4,7 @@ import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/r /** * Interface for the route parameters. */ -export interface AdminNotificationsSuggestionTargetsPageParams { +export interface AdminNotificationsPublicationClaimPageParams { pageId?: string; pageSize?: number; currentPage?: number; @@ -14,7 +14,7 @@ export interface AdminNotificationsSuggestionTargetsPageParams { * This class represents a resolver that retrieve the route data before the route is activated. */ @Injectable() -export class AdminNotificationsSuggestionTargetsPageResolver implements Resolve { +export class AdminNotificationsPublicationClaimPageResolver implements Resolve { /** * Method for resolving the parameters in the current route. @@ -22,7 +22,7 @@ export class AdminNotificationsSuggestionTargetsPageResolver implements Resolve< * @param {RouterStateSnapshot} state The current RouterStateSnapshot * @returns AdminNotificationsSuggestionTargetsPageParams Emits the route parameters */ - resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): AdminNotificationsSuggestionTargetsPageParams { + resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): AdminNotificationsPublicationClaimPageParams { return { pageId: route.queryParams.pageId, pageSize: parseInt(route.queryParams.pageSize, 10), diff --git a/src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.html b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.html similarity index 100% rename from src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.html rename to src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.html diff --git a/src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.scss b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.scss similarity index 100% rename from src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.scss rename to src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.scss diff --git a/src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.spec.ts b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts similarity index 95% rename from src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.spec.ts rename to src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts index f9e407f402..c0209da898 100644 --- a/src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.spec.ts +++ b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts @@ -1,6 +1,6 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { AdminNotificationsSuggestionTargetsPageComponent } from './admin-notifications-suggestion-targets-page.component'; +import { AdminNotificationsSuggestionTargetsPageComponent } from './admin-notifications-publication-claim-page.component'; import { NO_ERRORS_SCHEMA } from '@angular/core'; import { CommonModule } from '@angular/common'; import { TranslateModule } from '@ngx-translate/core'; diff --git a/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.ts b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.ts new file mode 100644 index 0000000000..10023ead93 --- /dev/null +++ b/src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'ds-admin-notifications-publication-claim-page', + templateUrl: './admin-notifications-publication-claim-page.component.html', + styleUrls: ['./admin-notifications-publication-claim-page.component.scss'] +}) +export class AdminNotificationsSuggestionTargetsPageComponent { + +} diff --git a/src/app/admin/admin-notifications/admin-notifications-routing-paths.ts b/src/app/admin/admin-notifications/admin-notifications-routing-paths.ts index 7ae141335f..f92a96d242 100644 --- a/src/app/admin/admin-notifications/admin-notifications-routing-paths.ts +++ b/src/app/admin/admin-notifications/admin-notifications-routing-paths.ts @@ -2,7 +2,7 @@ import { URLCombiner } from '../../core/url-combiner/url-combiner'; import { getNotificationsModuleRoute } from '../admin-routing-paths'; export const QUALITY_ASSURANCE_EDIT_PATH = 'quality-assurance'; -export const PUBLICATION_CLAIMS_PATH = 'publication-claims'; +export const PUBLICATION_CLAIMS_PATH = 'publication-claim'; export function getQualityAssuranceRoute(id: string) { return new URLCombiner(getNotificationsModuleRoute(), QUALITY_ASSURANCE_EDIT_PATH, id).toString(); diff --git a/src/app/admin/admin-notifications/admin-notifications-routing.module.ts b/src/app/admin/admin-notifications/admin-notifications-routing.module.ts index 782c592e5d..648bdc0a1f 100644 --- a/src/app/admin/admin-notifications/admin-notifications-routing.module.ts +++ b/src/app/admin/admin-notifications/admin-notifications-routing.module.ts @@ -5,8 +5,8 @@ import { AuthenticatedGuard } from '../../core/auth/authenticated.guard'; import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service'; import { PUBLICATION_CLAIMS_PATH } from './admin-notifications-routing-paths'; -import { AdminNotificationsSuggestionTargetsPageComponent } from './admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component'; -import { AdminNotificationsSuggestionTargetsPageResolver } from './admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page-resolver.service'; +import { AdminNotificationsSuggestionTargetsPageComponent } from './admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component'; +import { AdminNotificationsPublicationClaimPageResolver } from './admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service'; import { QUALITY_ASSURANCE_EDIT_PATH } from './admin-notifications-routing-paths'; import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component'; import { AdminQualityAssuranceEventsPageComponent } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.component'; @@ -30,11 +30,11 @@ import { pathMatch: 'full', resolve: { breadcrumb: I18nBreadcrumbResolver, - reciterSuggestionTargetParams: AdminNotificationsSuggestionTargetsPageResolver + suggestionTargetParams: AdminNotificationsPublicationClaimPageResolver }, data: { - title: 'admin.notifications.recitersuggestion.page.title', - breadcrumbKey: 'admin.notifications.recitersuggestion', + title: 'admin.notifications.publicationclaim.page.title', + breadcrumbKey: 'admin.notifications.publicationclaim', showBreadcrumbsFluid: false } }, @@ -89,7 +89,7 @@ import { providers: [ I18nBreadcrumbResolver, I18nBreadcrumbsService, - AdminNotificationsSuggestionTargetsPageResolver, + AdminNotificationsPublicationClaimPageResolver, SourceDataResolver, AdminQualityAssuranceSourcePageResolver, AdminQualityAssuranceTopicsPageResolver, diff --git a/src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.ts b/src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.ts deleted file mode 100644 index a9a77f5089..0000000000 --- a/src/app/admin/admin-notifications/admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'ds-admin-notifications-reciter-page', - templateUrl: './admin-notifications-suggestion-targets-page.component.html', - styleUrls: ['./admin-notifications-suggestion-targets-page.component.scss'] -}) -export class AdminNotificationsSuggestionTargetsPageComponent { - -} diff --git a/src/app/admin/admin-notifications/admin-notifications.module.ts b/src/app/admin/admin-notifications/admin-notifications.module.ts index 93e184c942..3566bdd91a 100644 --- a/src/app/admin/admin-notifications/admin-notifications.module.ts +++ b/src/app/admin/admin-notifications/admin-notifications.module.ts @@ -3,7 +3,7 @@ import { NgModule } from '@angular/core'; import { CoreModule } from '../../core/core.module'; import { SharedModule } from '../../shared/shared.module'; import { AdminNotificationsRoutingModule } from './admin-notifications-routing.module'; -import { AdminNotificationsSuggestionTargetsPageComponent } from './admin-notifications-suggestion-targets-page/admin-notifications-suggestion-targets-page.component'; +import { AdminNotificationsSuggestionTargetsPageComponent } from './admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component'; import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component'; import { AdminQualityAssuranceEventsPageComponent } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.component'; import { AdminQualityAssuranceSourcePageComponent } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page.component'; diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts index 987ab5e603..f151f10f66 100644 --- a/src/app/core/core.module.ts +++ b/src/app/core/core.module.ts @@ -185,8 +185,8 @@ import { FlatBrowseDefinition } from './shared/flat-browse-definition.model'; import { ValueListBrowseDefinition } from './shared/value-list-browse-definition.model'; import { NonHierarchicalBrowseDefinition } from './shared/non-hierarchical-browse-definition'; import { BulkAccessConditionOptions } from './config/models/bulk-access-condition-options.model'; -import { SuggestionTarget } from './suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; -import { SuggestionSource } from './suggestion-notifications/reciter-suggestions/models/suggestion-source.model'; +import { SuggestionTarget } from './suggestion-notifications/models/suggestion-target.model'; +import { SuggestionSource } from './suggestion-notifications/models/suggestion-source.model'; /** * When not in production, endpoint responses can be mocked for testing purposes diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-objects.resource-type.ts b/src/app/core/suggestion-notifications/models/suggestion-objects.resource-type.ts similarity index 76% rename from src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-objects.resource-type.ts rename to src/app/core/suggestion-notifications/models/suggestion-objects.resource-type.ts index 8f87027a8c..8f83d86376 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-objects.resource-type.ts +++ b/src/app/core/suggestion-notifications/models/suggestion-objects.resource-type.ts @@ -1,4 +1,4 @@ -import { ResourceType } from '../../../shared/resource-type'; +import { ResourceType } from '../../shared/resource-type'; /** * The resource type for the Suggestion object diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-source-object.resource-type.ts b/src/app/core/suggestion-notifications/models/suggestion-source-object.resource-type.ts similarity index 77% rename from src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-source-object.resource-type.ts rename to src/app/core/suggestion-notifications/models/suggestion-source-object.resource-type.ts index 2e26fe4301..e319ed5109 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-source-object.resource-type.ts +++ b/src/app/core/suggestion-notifications/models/suggestion-source-object.resource-type.ts @@ -1,4 +1,4 @@ -import { ResourceType } from '../../../shared/resource-type'; +import { ResourceType } from '../../shared/resource-type'; /** * The resource type for the Suggestion Source object diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-source.model.ts b/src/app/core/suggestion-notifications/models/suggestion-source.model.ts similarity index 71% rename from src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-source.model.ts rename to src/app/core/suggestion-notifications/models/suggestion-source.model.ts index 007520800d..12d9d7e9d8 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-source.model.ts +++ b/src/app/core/suggestion-notifications/models/suggestion-source.model.ts @@ -1,11 +1,11 @@ import { autoserialize, deserialize } from 'cerialize'; import { SUGGESTION_SOURCE } from './suggestion-source-object.resource-type'; -import { excludeFromEquals } from '../../../utilities/equals.decorators'; -import { ResourceType } from '../../../shared/resource-type'; -import { HALLink } from '../../../shared/hal-link.model'; -import { typedObject } from '../../../cache/builders/build-decorators'; -import {CacheableObject} from '../../../cache/cacheable-object.model'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; +import { ResourceType } from '../../shared/resource-type'; +import { HALLink } from '../../shared/hal-link.model'; +import { typedObject } from '../../cache/builders/build-decorators'; +import {CacheableObject} from '../../cache/cacheable-object.model'; /** * The interface representing the Suggestion Source model diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-target-object.resource-type.ts b/src/app/core/suggestion-notifications/models/suggestion-target-object.resource-type.ts similarity index 77% rename from src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-target-object.resource-type.ts rename to src/app/core/suggestion-notifications/models/suggestion-target-object.resource-type.ts index 71dd41912a..81b1b5c261 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-target-object.resource-type.ts +++ b/src/app/core/suggestion-notifications/models/suggestion-target-object.resource-type.ts @@ -1,4 +1,4 @@ -import { ResourceType } from '../../../shared/resource-type'; +import { ResourceType } from '../../shared/resource-type'; /** * The resource type for the Suggestion Target object diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model.ts b/src/app/core/suggestion-notifications/models/suggestion-target.model.ts similarity index 75% rename from src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model.ts rename to src/app/core/suggestion-notifications/models/suggestion-target.model.ts index 2afe170e77..99d9a8628a 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model.ts +++ b/src/app/core/suggestion-notifications/models/suggestion-target.model.ts @@ -1,12 +1,12 @@ import { autoserialize, deserialize } from 'cerialize'; -import { CacheableObject } from '../../../cache/cacheable-object.model'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { SUGGESTION_TARGET } from './suggestion-target-object.resource-type'; -import { excludeFromEquals } from '../../../utilities/equals.decorators'; -import { ResourceType } from '../../../shared/resource-type'; -import { HALLink } from '../../../shared/hal-link.model'; -import { typedObject } from '../../../cache/builders/build-decorators'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; +import { ResourceType } from '../../shared/resource-type'; +import { HALLink } from '../../shared/hal-link.model'; +import { typedObject } from '../../cache/builders/build-decorators'; /** * The interface representing the Suggestion Target model diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion.model.ts b/src/app/core/suggestion-notifications/models/suggestion.model.ts similarity index 74% rename from src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion.model.ts rename to src/app/core/suggestion-notifications/models/suggestion.model.ts index c36d36794b..ad58b1cfe5 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/models/suggestion.model.ts +++ b/src/app/core/suggestion-notifications/models/suggestion.model.ts @@ -1,13 +1,16 @@ import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; import { SUGGESTION } from './suggestion-objects.resource-type'; -import { excludeFromEquals } from '../../../utilities/equals.decorators'; -import { ResourceType } from '../../../shared/resource-type'; -import { HALLink } from '../../../shared/hal-link.model'; -import { typedObject } from '../../../cache/builders/build-decorators'; -import { MetadataMap, MetadataMapSerializer } from '../../../shared/metadata.models'; -import {CacheableObject} from '../../../cache/cacheable-object.model'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; +import { ResourceType } from '../../shared/resource-type'; +import { HALLink } from '../../shared/hal-link.model'; +import { typedObject } from '../../cache/builders/build-decorators'; +import { MetadataMap, MetadataMapSerializer } from '../../shared/metadata.models'; +import {CacheableObject} from '../../cache/cacheable-object.model'; +/** + * The interface representing Suggestion Evidences such as scores (authorScore, datescore) + */ export interface SuggestionEvidences { [sectionId: string]: { score: string; diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/source/suggestion-source-data.service.ts b/src/app/core/suggestion-notifications/source/suggestion-source-data.service.ts similarity index 80% rename from src/app/core/suggestion-notifications/reciter-suggestions/source/suggestion-source-data.service.ts rename to src/app/core/suggestion-notifications/source/suggestion-source-data.service.ts index 15b067f2ed..f00a84c95b 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/source/suggestion-source-data.service.ts +++ b/src/app/core/suggestion-notifications/source/suggestion-source-data.service.ts @@ -1,24 +1,27 @@ import { Injectable } from '@angular/core'; -import { dataService } from '../../../data/base/data-service.decorator'; +import { dataService } from '../../data/base/data-service.decorator'; import { SUGGESTION_SOURCE } from '../models/suggestion-source-object.resource-type'; -import { IdentifiableDataService } from '../../../data/base/identifiable-data.service'; +import { IdentifiableDataService } from '../../data/base/identifiable-data.service'; import { SuggestionSource } from '../models/suggestion-source.model'; -import { FindAllData, FindAllDataImpl } from '../../../data/base/find-all-data'; +import { FindAllData, FindAllDataImpl } from '../../data/base/find-all-data'; import { Store } from '@ngrx/store'; -import { RequestService } from '../../../data/request.service'; -import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service'; -import { CoreState } from '../../../core-state.model'; -import { ObjectCacheService } from '../../../cache/object-cache.service'; -import { HALEndpointService } from '../../../shared/hal-endpoint.service'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { RequestService } from '../../data/request.service'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CoreState } from '../../core-state.model'; +import { ObjectCacheService } from '../../cache/object-cache.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { HttpClient } from '@angular/common/http'; -import { FindListOptions } from '../../../data/find-list-options.model'; -import { FollowLinkConfig } from '../../../../shared/utils/follow-link-config.model'; -import { PaginatedList } from '../../../data/paginated-list.model'; -import { RemoteData } from '../../../data/remote-data'; +import { FindListOptions } from '../../data/find-list-options.model'; +import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; +import { PaginatedList } from '../../data/paginated-list.model'; +import { RemoteData } from '../../data/remote-data'; import { Observable } from 'rxjs/internal/Observable'; -import { DefaultChangeAnalyzer } from '../../../data/default-change-analyzer.service'; +import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service'; +/** + * Service that retrieves Suggestion Source data + */ @Injectable() @dataService(SUGGESTION_SOURCE) export class SuggestionSourceDataService extends IdentifiableDataService { diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/source/suggestions-source-data.service.spec.ts b/src/app/core/suggestion-notifications/source/suggestions-source-data.service.spec.ts similarity index 76% rename from src/app/core/suggestion-notifications/reciter-suggestions/source/suggestions-source-data.service.spec.ts rename to src/app/core/suggestion-notifications/source/suggestions-source-data.service.spec.ts index 5f8d51a641..28f34b863d 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/source/suggestions-source-data.service.spec.ts +++ b/src/app/core/suggestion-notifications/source/suggestions-source-data.service.spec.ts @@ -1,25 +1,25 @@ import { TestScheduler } from 'rxjs/testing'; -import { RequestService } from '../../../data/request.service'; -import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../../../cache/object-cache.service'; -import { HALEndpointService } from '../../../shared/hal-endpoint.service'; -import { RequestEntry } from '../../../data/request-entry.model'; +import { RequestService } from '../../data/request.service'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../../cache/object-cache.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { RequestEntry } from '../../data/request-entry.model'; import { cold, getTestScheduler } from 'jasmine-marbles'; -import { RestResponse } from '../../../cache/response.models'; +import { RestResponse } from '../../cache/response.models'; import { of as observableOf } from 'rxjs'; import { Store } from '@ngrx/store'; -import { CoreState } from '../../../core-state.model'; +import { CoreState } from '../../core-state.model'; import { HttpClient } from '@angular/common/http'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { DefaultChangeAnalyzer } from '../../../data/default-change-analyzer.service'; -import { testFindAllDataImplementation } from '../../../data/base/find-all-data.spec'; -import { FindAllData } from '../../../data/base/find-all-data'; -import { GetRequest } from '../../../data/request.models'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service'; +import { testFindAllDataImplementation } from '../../data/base/find-all-data.spec'; +import { FindAllData } from '../../data/base/find-all-data'; +import { GetRequest } from '../../data/request.models'; import { createSuccessfulRemoteDataObject$ -} from '../../../../shared/remote-data.utils'; -import { RemoteData } from '../../../data/remote-data'; -import { RequestEntryState } from '../../../data/request-entry-state.model'; +} from '../../../shared/remote-data.utils'; +import { RemoteData } from '../../data/remote-data'; +import { RequestEntryState } from '../../data/request-entry-state.model'; import { SuggestionSourceDataService } from './suggestion-source-data.service'; import { SuggestionSource } from '../models/suggestion-source.model'; diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/suggestion-data.service.spec.ts b/src/app/core/suggestion-notifications/suggestion-data.service.spec.ts similarity index 87% rename from src/app/core/suggestion-notifications/reciter-suggestions/suggestion-data.service.spec.ts rename to src/app/core/suggestion-notifications/suggestion-data.service.spec.ts index 93b29eff06..a854514c89 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/suggestion-data.service.spec.ts +++ b/src/app/core/suggestion-notifications/suggestion-data.service.spec.ts @@ -1,25 +1,25 @@ import { TestScheduler } from 'rxjs/testing'; import { SuggestionDataServiceImpl, SuggestionsDataService } from './suggestions-data.service'; -import { RequestService } from '../../data/request.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../../cache/object-cache.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { RequestService } from '../data/request.service'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { HttpClient } from '@angular/common/http'; -import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service'; +import { DefaultChangeAnalyzer } from '../data/default-change-analyzer.service'; import { Suggestion } from './models/suggestion.model'; import { cold, getTestScheduler } from 'jasmine-marbles'; -import { RequestEntry } from '../../data/request-entry.model'; -import { RestResponse } from '../../cache/response.models'; +import { RequestEntry } from '../data/request-entry.model'; +import { RestResponse } from '../cache/response.models'; import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { RemoteData } from '../../data/remote-data'; -import { RequestEntryState } from '../../data/request-entry-state.model'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { RemoteData } from '../data/remote-data'; +import { RequestEntryState } from '../data/request-entry-state.model'; import { SuggestionSource } from './models/suggestion-source.model'; import { SuggestionTarget } from './models/suggestion-target.model'; import { SuggestionSourceDataService } from './source/suggestion-source-data.service'; import { SuggestionTargetDataService } from './target/suggestion-target-data.service'; -import { RequestParam } from '../../cache/models/request-param.model'; +import { RequestParam } from '../cache/models/request-param.model'; describe('SuggestionDataService test', () => { let scheduler: TestScheduler; diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/suggestions-data.service.ts b/src/app/core/suggestion-notifications/suggestions-data.service.ts similarity index 87% rename from src/app/core/suggestion-notifications/reciter-suggestions/suggestions-data.service.ts rename to src/app/core/suggestion-notifications/suggestions-data.service.ts index 58fb165031..72476f6a15 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/suggestions-data.service.ts +++ b/src/app/core/suggestion-notifications/suggestions-data.service.ts @@ -5,26 +5,26 @@ import { Store } from '@ngrx/store'; import { Observable } from 'rxjs'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../../cache/object-cache.service'; -import { dataService } from '../../cache/builders/build-decorators'; -import { RequestService } from '../../data/request.service'; -import { DataService } from '../../data/data.service'; -import { ChangeAnalyzer } from '../../data/change-analyzer'; -import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service'; -import { RemoteData } from '../../data/remote-data'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { dataService } from '../cache/builders/build-decorators'; +import { RequestService } from '../data/request.service'; +import { DataService } from '../data/data.service'; +import { ChangeAnalyzer } from '../data/change-analyzer'; +import { DefaultChangeAnalyzer } from '../data/default-change-analyzer.service'; +import { RemoteData } from '../data/remote-data'; import { SUGGESTION } from './models/suggestion-objects.resource-type'; -import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { PaginatedList } from '../../data/paginated-list.model'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { PaginatedList } from '../data/paginated-list.model'; import { SuggestionSource } from './models/suggestion-source.model'; import { SuggestionTarget } from './models/suggestion-target.model'; import { Suggestion } from './models/suggestion.model'; -import { RequestParam } from '../../cache/models/request-param.model'; -import { NoContent } from '../../shared/NoContent.model'; -import {CoreState} from '../../core-state.model'; -import {FindListOptions} from '../../data/find-list-options.model'; +import { RequestParam } from '../cache/models/request-param.model'; +import { NoContent } from '../shared/NoContent.model'; +import {CoreState} from '../core-state.model'; +import {FindListOptions} from '../data/find-list-options.model'; import { SuggestionSourceDataService } from './source/suggestion-source-data.service'; import { SuggestionTargetDataService } from './target/suggestion-target-data.service'; diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/target/suggestion-target-data.service.ts b/src/app/core/suggestion-notifications/target/suggestion-target-data.service.ts similarity index 83% rename from src/app/core/suggestion-notifications/reciter-suggestions/target/suggestion-target-data.service.ts rename to src/app/core/suggestion-notifications/target/suggestion-target-data.service.ts index 5a5f91a87b..a2f1507b10 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/target/suggestion-target-data.service.ts +++ b/src/app/core/suggestion-notifications/target/suggestion-target-data.service.ts @@ -1,25 +1,25 @@ import { Injectable } from '@angular/core'; -import { dataService } from '../../../data/base/data-service.decorator'; +import { dataService } from '../../data/base/data-service.decorator'; -import { IdentifiableDataService } from '../../../data/base/identifiable-data.service'; +import { IdentifiableDataService } from '../../data/base/identifiable-data.service'; import { SuggestionTarget } from '../models/suggestion-target.model'; -import { FindAllData, FindAllDataImpl } from '../../../data/base/find-all-data'; +import { FindAllData, FindAllDataImpl } from '../../data/base/find-all-data'; import { Store } from '@ngrx/store'; -import { RequestService } from '../../../data/request.service'; -import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service'; -import { CoreState } from '../../../core-state.model'; -import { ObjectCacheService } from '../../../cache/object-cache.service'; -import { HALEndpointService } from '../../../shared/hal-endpoint.service'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { RequestService } from '../../data/request.service'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CoreState } from '../../core-state.model'; +import { ObjectCacheService } from '../../cache/object-cache.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { HttpClient } from '@angular/common/http'; -import { FindListOptions } from '../../../data/find-list-options.model'; -import { FollowLinkConfig } from '../../../../shared/utils/follow-link-config.model'; -import { PaginatedList } from '../../../data/paginated-list.model'; -import { RemoteData } from '../../../data/remote-data'; +import { FindListOptions } from '../../data/find-list-options.model'; +import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; +import { PaginatedList } from '../../data/paginated-list.model'; +import { RemoteData } from '../../data/remote-data'; import { Observable } from 'rxjs/internal/Observable'; -import { RequestParam } from '../../../cache/models/request-param.model'; -import { SearchData, SearchDataImpl } from '../../../data/base/search-data'; -import { DefaultChangeAnalyzer } from '../../../data/default-change-analyzer.service'; +import { RequestParam } from '../../cache/models/request-param.model'; +import { SearchData, SearchDataImpl } from '../../data/base/search-data'; +import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service'; import { SUGGESTION_TARGET } from '../models/suggestion-target-object.resource-type'; @Injectable() diff --git a/src/app/core/suggestion-notifications/reciter-suggestions/target/suggestions-target-data.service.spec.ts b/src/app/core/suggestion-notifications/target/suggestions-target-data.service.spec.ts similarity index 77% rename from src/app/core/suggestion-notifications/reciter-suggestions/target/suggestions-target-data.service.spec.ts rename to src/app/core/suggestion-notifications/target/suggestions-target-data.service.spec.ts index ba5900b79f..9207603a5a 100644 --- a/src/app/core/suggestion-notifications/reciter-suggestions/target/suggestions-target-data.service.spec.ts +++ b/src/app/core/suggestion-notifications/target/suggestions-target-data.service.spec.ts @@ -1,30 +1,30 @@ import { TestScheduler } from 'rxjs/testing'; -import { RequestService } from '../../../data/request.service'; -import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../../../cache/object-cache.service'; -import { HALEndpointService } from '../../../shared/hal-endpoint.service'; -import { RequestEntry } from '../../../data/request-entry.model'; +import { RequestService } from '../../data/request.service'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../../cache/object-cache.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { RequestEntry } from '../../data/request-entry.model'; import { cold, getTestScheduler } from 'jasmine-marbles'; -import { RestResponse } from '../../../cache/response.models'; +import { RestResponse } from '../../cache/response.models'; import { of as observableOf } from 'rxjs'; import { Store } from '@ngrx/store'; -import { CoreState } from '../../../core-state.model'; +import { CoreState } from '../../core-state.model'; import { HttpClient } from '@angular/common/http'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { SearchData } from '../../../data/base/search-data'; -import { testSearchDataImplementation } from '../../../data/base/search-data.spec'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { SearchData } from '../../data/base/search-data'; +import { testSearchDataImplementation } from '../../data/base/search-data.spec'; import { SuggestionTargetDataService } from './suggestion-target-data.service'; -import { DefaultChangeAnalyzer } from '../../../data/default-change-analyzer.service'; +import { DefaultChangeAnalyzer } from '../../data/default-change-analyzer.service'; import { SuggestionTarget } from '../models/suggestion-target.model'; -import { testFindAllDataImplementation } from '../../../data/base/find-all-data.spec'; -import { FindAllData } from '../../../data/base/find-all-data'; -import { GetRequest } from '../../../data/request.models'; +import { testFindAllDataImplementation } from '../../data/base/find-all-data.spec'; +import { FindAllData } from '../../data/base/find-all-data'; +import { GetRequest } from '../../data/request.models'; import { createSuccessfulRemoteDataObject$ -} from '../../../../shared/remote-data.utils'; -import { RequestParam } from '../../../cache/models/request-param.model'; -import { RemoteData } from '../../../data/remote-data'; -import { RequestEntryState } from '../../../data/request-entry-state.model'; +} from '../../../shared/remote-data.utils'; +import { RequestParam } from '../../cache/models/request-param.model'; +import { RemoteData } from '../../data/remote-data'; +import { RequestEntryState } from '../../data/request-entry-state.model'; describe('SuggestionTargetDataService test', () => { let scheduler: TestScheduler; diff --git a/src/app/menu.resolver.ts b/src/app/menu.resolver.ts index b5d8608d06..fc6eb00195 100644 --- a/src/app/menu.resolver.ts +++ b/src/app/menu.resolver.ts @@ -561,13 +561,13 @@ export class MenuResolver implements Resolve { } as LinkMenuItemModel, }, { - id: 'notifications_reciter', + id: 'notifications_publication-claim', parentID: 'notifications', active: false, visible: authorized, model: { type: MenuItemType.LINK, - text: 'menu.section.notifications_reciter', + text: 'menu.section.notifications_publication-claim', link: '/admin/notifications/' + PUBLICATION_CLAIMS_PATH } as LinkMenuItemModel, }, diff --git a/src/app/notifications/notifications-effects.ts b/src/app/notifications/notifications-effects.ts index 9f19058aab..a73fd04fc0 100644 --- a/src/app/notifications/notifications-effects.ts +++ b/src/app/notifications/notifications-effects.ts @@ -1,6 +1,6 @@ import { QualityAssuranceSourceEffects } from './qa/source/quality-assurance-source.effects'; import { QualityAssuranceTopicsEffects } from './qa/topics/quality-assurance-topics.effects'; -import { SuggestionTargetsEffects } from '../suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.effects'; +import { SuggestionTargetsEffects } from '../suggestion-notifications/suggestion-targets/suggestion-targets.effects'; export const notificationsEffects = [ QualityAssuranceTopicsEffects, diff --git a/src/app/notifications/notifications.module.ts b/src/app/notifications/notifications.module.ts index 98832b86b7..cd8cb99811 100644 --- a/src/app/notifications/notifications.module.ts +++ b/src/app/notifications/notifications.module.ts @@ -26,29 +26,29 @@ import { QualityAssuranceSourceService } from './qa/source/quality-assurance-sou import { QualityAssuranceSourceDataService } from '../core/notifications/qa/source/quality-assurance-source-data.service'; -import { SuggestionTargetsComponent } from '../suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.component'; -import { SuggestionActionsComponent } from '../suggestion-notifications/reciter-suggestions/suggestion-actions/suggestion-actions.component'; +import { SuggestionTargetsComponent } from '../suggestion-notifications/suggestion-targets/suggestion-targets.component'; +import { SuggestionActionsComponent } from '../suggestion-notifications/suggestion-actions/suggestion-actions.component'; import { SuggestionListElementComponent -} from '../suggestion-notifications/reciter-suggestions/suggestion-list-element/suggestion-list-element.component'; +} from '../suggestion-notifications/suggestion-list-element/suggestion-list-element.component'; import { SuggestionEvidencesComponent -} from '../suggestion-notifications/reciter-suggestions/suggestion-list-element/suggestion-evidences/suggestion-evidences.component'; -import { SuggestionsPopupComponent } from '../suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component'; +} from '../suggestion-notifications/suggestion-list-element/suggestion-evidences/suggestion-evidences.component'; +import { SuggestionsPopupComponent } from '../suggestion-notifications/suggestions-popup/suggestions-popup.component'; import { SuggestionsNotificationComponent -} from '../suggestion-notifications/reciter-suggestions/suggestions-notification/suggestions-notification.component'; -import { SuggestionsService } from '../suggestion-notifications/reciter-suggestions/suggestions.service'; -import { SuggestionsDataService } from '../core/suggestion-notifications/reciter-suggestions/suggestions-data.service'; +} from '../suggestion-notifications/suggestions-notification/suggestions-notification.component'; +import { SuggestionsService } from '../suggestion-notifications/suggestions.service'; +import { SuggestionsDataService } from '../core/suggestion-notifications/suggestions-data.service'; import { SuggestionSourceDataService -} from '../core/suggestion-notifications/reciter-suggestions/source/suggestion-source-data.service'; +} from '../core/suggestion-notifications/source/suggestion-source-data.service'; import { SuggestionTargetDataService -} from '../core/suggestion-notifications/reciter-suggestions/target/suggestion-target-data.service'; +} from '../core/suggestion-notifications/target/suggestion-target-data.service'; import { SuggestionTargetsStateService -} from '../suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.state.service'; +} from '../suggestion-notifications/suggestion-targets/suggestion-targets.state.service'; const MODULES = [ diff --git a/src/app/notifications/notifications.reducer.ts b/src/app/notifications/notifications.reducer.ts index ba7fcc6c58..cced6755fa 100644 --- a/src/app/notifications/notifications.reducer.ts +++ b/src/app/notifications/notifications.reducer.ts @@ -1,7 +1,7 @@ import { ActionReducerMap, createFeatureSelector } from '@ngrx/store'; import { qualityAssuranceSourceReducer, QualityAssuranceSourceState } from './qa/source/quality-assurance-source.reducer'; import { qualityAssuranceTopicsReducer, QualityAssuranceTopicState, } from './qa/topics/quality-assurance-topics.reducer'; -import { SuggestionTargetsReducer, SuggestionTargetState } from '../suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.reducer'; +import { SuggestionTargetsReducer, SuggestionTargetState } from '../suggestion-notifications/suggestion-targets/suggestion-targets.reducer'; /** * The OpenAIRE State diff --git a/src/app/shared/mocks/reciter-suggestion-targets.mock.ts b/src/app/shared/mocks/publication-claim-targets.mock.ts similarity index 96% rename from src/app/shared/mocks/reciter-suggestion-targets.mock.ts rename to src/app/shared/mocks/publication-claim-targets.mock.ts index 489bb7733d..1d7688c1e3 100644 --- a/src/app/shared/mocks/reciter-suggestion-targets.mock.ts +++ b/src/app/shared/mocks/publication-claim-targets.mock.ts @@ -1,5 +1,5 @@ import { ResourceType } from '../../core/shared/resource-type'; -import { SuggestionTarget } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; +import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model'; // REST Mock --------------------------------------------------------------------- // ------------------------------------------------------------------------------- diff --git a/src/app/shared/mocks/reciter-suggestion.mock.ts b/src/app/shared/mocks/publication-claim.mock.ts similarity index 98% rename from src/app/shared/mocks/reciter-suggestion.mock.ts rename to src/app/shared/mocks/publication-claim.mock.ts index b2dd0e7b12..143b54d8dd 100644 --- a/src/app/shared/mocks/reciter-suggestion.mock.ts +++ b/src/app/shared/mocks/publication-claim.mock.ts @@ -2,8 +2,8 @@ // REST Mock --------------------------------------------------------------------- // ------------------------------------------------------------------------------- -import { Suggestion } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion.model'; -import { SUGGESTION } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion-objects.resource-type'; +import { Suggestion } from '../../core/suggestion-notifications/models/suggestion.model'; +import { SUGGESTION } from '../../core/suggestion-notifications/models/suggestion-objects.resource-type'; export const mockSuggestionPublicationOne: Suggestion = { id: '24694773', diff --git a/src/app/shared/mocks/suggestion.mock.ts b/src/app/shared/mocks/suggestion.mock.ts index d4ada21bf8..ed7f9045d5 100644 --- a/src/app/shared/mocks/suggestion.mock.ts +++ b/src/app/shared/mocks/suggestion.mock.ts @@ -1349,8 +1349,8 @@ export function getMockSuggestionsService(): any { deleteReviewedSuggestion: jasmine.createSpy('deleteReviewedSuggestion'), retrieveCurrentUserSuggestions: jasmine.createSpy('retrieveCurrentUserSuggestions'), getTargetUuid: jasmine.createSpy('getTargetUuid'), - notMine: observableOf(null), - notMineMultiple: observableOf({success: 1, fails: 0}), + ignoreSuggestion: observableOf(null), + ignoreSuggestionMultiple: observableOf({success: 1, fails: 0}), approveAndImportMultiple: observableOf({success: 1, fails: 0}), approveAndImport: observableOf({id: '1234'}), isCollectionFixed: false, diff --git a/src/app/suggestion-notifications/reciter-suggestions/selectors.ts b/src/app/suggestion-notifications/selectors.ts similarity index 50% rename from src/app/suggestion-notifications/reciter-suggestions/selectors.ts rename to src/app/suggestion-notifications/selectors.ts index f031b71711..97ed3a8360 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/selectors.ts +++ b/src/app/suggestion-notifications/selectors.ts @@ -1,44 +1,44 @@ import {createFeatureSelector, createSelector, MemoizedSelector} from '@ngrx/store'; -import { suggestionNotificationsSelector, SuggestionNotificationsState } from '../../notifications/notifications.reducer'; -import { SuggestionTarget } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; +import { suggestionNotificationsSelector, SuggestionNotificationsState } from '../notifications/notifications.reducer'; +import { SuggestionTarget } from '../core/suggestion-notifications/models/suggestion-target.model'; import { SuggestionTargetState } from './suggestion-targets/suggestion-targets.reducer'; -import {subStateSelector} from '../../submission/selectors'; +import {subStateSelector} from '../submission/selectors'; /** * Returns the Reciter Suggestion Target state. - * @function _getReciterSuggestionTargetState + * @function _getSuggestionTargetState * @param {AppState} state Top level state. * @return {SuggestionNotificationsState} */ -const _getReciterSuggestionTargetState = createFeatureSelector('suggestionNotifications'); +const _getSuggestionTargetState = createFeatureSelector('suggestionNotifications'); // Reciter Suggestion Targets // ---------------------------------------------------------------------------- /** - * Returns the Reciter Suggestion Targets State. - * @function reciterSuggestionTargetStateSelector + * Returns the Suggestion Targets State. + * @function suggestionTargetStateSelector * @return {SuggestionNotificationsState} */ -export function reciterSuggestionTargetStateSelector(): MemoizedSelector { +export function suggestionTargetStateSelector(): MemoizedSelector { return subStateSelector(suggestionNotificationsSelector, 'suggestionTarget'); } /** - * Returns the Reciter Suggestion Targets list. - * @function reciterSuggestionTargetObjectSelector + * Returns the Suggestion Targets list. + * @function suggestionTargetObjectSelector * @return {SuggestionTarget[]} */ -export function reciterSuggestionTargetObjectSelector(): MemoizedSelector { - return subStateSelector(reciterSuggestionTargetStateSelector(), 'targets'); +export function suggestionTargetObjectSelector(): MemoizedSelector { + return subStateSelector(suggestionTargetStateSelector(), 'targets'); } /** - * Returns true if the Reciter Suggestion Targets are loaded. - * @function isReciterSuggestionTargetLoadedSelector + * Returns true if the Suggestion Targets are loaded. + * @function isSuggestionTargetLoadedSelector * @return {boolean} */ -export const isReciterSuggestionTargetLoadedSelector = createSelector(_getReciterSuggestionTargetState, +export const isSuggestionTargetLoadedSelector = createSelector(_getSuggestionTargetState, (state: SuggestionNotificationsState) => state.suggestionTarget.loaded ); @@ -47,51 +47,51 @@ export const isReciterSuggestionTargetLoadedSelector = createSelector(_getRecite * @function isDeduplicationSetsProcessingSelector * @return {boolean} */ -export const isReciterSuggestionTargetProcessingSelector = createSelector(_getReciterSuggestionTargetState, +export const isReciterSuggestionTargetProcessingSelector = createSelector(_getSuggestionTargetState, (state: SuggestionNotificationsState) => state.suggestionTarget.processing ); /** * Returns the total available pages of Reciter Suggestion Targets. - * @function getreciterSuggestionTargetTotalPagesSelector + * @function getSuggestionTargetTotalPagesSelector * @return {number} */ -export const getReciterSuggestionTargetTotalPagesSelector = createSelector(_getReciterSuggestionTargetState, +export const getSuggestionTargetTotalPagesSelector = createSelector(_getSuggestionTargetState, (state: SuggestionNotificationsState) => state.suggestionTarget.totalPages ); /** - * Returns the current page of Reciter Suggestion Targets. - * @function getreciterSuggestionTargetCurrentPageSelector + * Returns the current page of Suggestion Targets. + * @function getSuggestionTargetCurrentPageSelector * @return {number} */ -export const getReciterSuggestionTargetCurrentPageSelector = createSelector(_getReciterSuggestionTargetState, +export const getSuggestionTargetCurrentPageSelector = createSelector(_getSuggestionTargetState, (state: SuggestionNotificationsState) => state.suggestionTarget.currentPage ); /** - * Returns the total number of Reciter Suggestion Targets. - * @function getreciterSuggestionTargetTotalsSelector + * Returns the total number of Suggestion Targets. + * @function getSuggestionTargetTotalsSelector * @return {number} */ -export const getReciterSuggestionTargetTotalsSelector = createSelector(_getReciterSuggestionTargetState, +export const getSuggestionTargetTotalsSelector = createSelector(_getSuggestionTargetState, (state: SuggestionNotificationsState) => state.suggestionTarget.totalElements ); /** * Returns Suggestion Targets for the current user. - * @function getCurrentUserReciterSuggestionTargetSelector + * @function getCurrentUserSuggestionTargetSelector * @return {SuggestionTarget[]} */ -export const getCurrentUserSuggestionTargetsSelector = createSelector(_getReciterSuggestionTargetState, +export const getCurrentUserSuggestionTargetsSelector = createSelector(_getSuggestionTargetState, (state: SuggestionNotificationsState) => state.suggestionTarget.currentUserTargets ); /** * Returns whether or not the user has consulted their suggestions - * @function getCurrentUserReciterSuggestionTargetSelector + * @function getCurrentUserSuggestionTargetSelector * @return {boolean} */ -export const getCurrentUserSuggestionTargetsVisitedSelector = createSelector(_getReciterSuggestionTargetState, +export const getCurrentUserSuggestionTargetsVisitedSelector = createSelector(_getSuggestionTargetState, (state: SuggestionNotificationsState) => state.suggestionTarget.currentUserTargetsVisited ); diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestion-actions/suggestion-actions.component.html b/src/app/suggestion-notifications/suggestion-actions/suggestion-actions.component.html similarity index 89% rename from src/app/suggestion-notifications/reciter-suggestions/suggestion-actions/suggestion-actions.component.html rename to src/app/suggestion-notifications/suggestion-actions/suggestion-actions.component.html index 4d9fdb8b8e..24e970a818 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestion-actions/suggestion-actions.component.html +++ b/src/app/suggestion-notifications/suggestion-actions/suggestion-actions.component.html @@ -19,8 +19,8 @@ - + diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.component.scss b/src/app/suggestion-notifications/suggestion-targets/suggestion-targets.component.scss similarity index 100% rename from src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.component.scss rename to src/app/suggestion-notifications/suggestion-targets/suggestion-targets.component.scss diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.component.ts b/src/app/suggestion-notifications/suggestion-targets/suggestion-targets.component.ts similarity index 80% rename from src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.component.ts rename to src/app/suggestion-notifications/suggestion-targets/suggestion-targets.component.ts index cfa168e2b8..e469ac1386 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.component.ts +++ b/src/app/suggestion-notifications/suggestion-targets/suggestion-targets.component.ts @@ -4,13 +4,13 @@ import { Router } from '@angular/router'; import { Observable, Subscription } from 'rxjs'; import { distinctUntilChanged, take } from 'rxjs/operators'; -import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; -import { hasValue } from '../../../shared/empty.util'; -import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; +import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model'; +import { hasValue } from '../../shared/empty.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; import { SuggestionTargetsStateService } from './suggestion-targets.state.service'; -import { getSuggestionPageRoute } from '../../../suggestions-page/suggestions-page-routing-paths'; +import { getSuggestionPageRoute } from '../../suggestions-page/suggestions-page-routing-paths'; import { SuggestionsService } from '../suggestions.service'; -import { PaginationService } from '../../../core/pagination/pagination.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; /** * Component to display the Suggestion Target list. @@ -69,8 +69,8 @@ export class SuggestionTargetsComponent implements OnInit { * Component initialization. */ ngOnInit(): void { - this.targets$ = this.suggestionTargetsStateService.getReciterSuggestionTargets(); - this.totalElements$ = this.suggestionTargetsStateService.getReciterSuggestionTargetsTotals(); + this.targets$ = this.suggestionTargetsStateService.getSuggestionTargets(); + this.totalElements$ = this.suggestionTargetsStateService.getSuggestionTargetsTotals(); } /** @@ -78,7 +78,7 @@ export class SuggestionTargetsComponent implements OnInit { */ ngAfterViewInit(): void { this.subs.push( - this.suggestionTargetsStateService.isReciterSuggestionTargetsLoaded().pipe( + this.suggestionTargetsStateService.isSuggestionTargetsLoaded().pipe( take(1) ).subscribe(() => { this.getSuggestionTargets(); @@ -93,7 +93,7 @@ export class SuggestionTargetsComponent implements OnInit { * 'true' if the targets are loading, 'false' otherwise. */ public isTargetsLoading(): Observable { - return this.suggestionTargetsStateService.isReciterSuggestionTargetsLoading(); + return this.suggestionTargetsStateService.isSuggestionTargetsLoading(); } /** @@ -103,7 +103,7 @@ export class SuggestionTargetsComponent implements OnInit { * 'true' if there are operations running on the targets (ex.: a REST call), 'false' otherwise. */ public isTargetsProcessing(): Observable { - return this.suggestionTargetsStateService.isReciterSuggestionTargetsProcessing(); + return this.suggestionTargetsStateService.isSuggestionTargetsProcessing(); } /** @@ -136,7 +136,7 @@ export class SuggestionTargetsComponent implements OnInit { distinctUntilChanged(), take(1) ).subscribe((options: PaginationComponentOptions) => { - this.suggestionTargetsStateService.dispatchRetrieveReciterSuggestionTargets( + this.suggestionTargetsStateService.dispatchRetrieveSuggestionTargets( this.source, options.pageSize, options.currentPage diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.effects.ts b/src/app/suggestion-notifications/suggestion-targets/suggestion-targets.effects.ts similarity index 91% rename from src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.effects.ts rename to src/app/suggestion-notifications/suggestion-targets/suggestion-targets.effects.ts index 850c82972e..63964b7721 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.effects.ts +++ b/src/app/suggestion-notifications/suggestion-targets/suggestion-targets.effects.ts @@ -14,10 +14,10 @@ import { RetrieveTargetsBySourceAction, SuggestionTargetActionTypes, } from './suggestion-targets.actions'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; import { SuggestionsService } from '../suggestions.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model'; /** * Provides effect methods for the Suggestion Targets actions. diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.reducer.ts b/src/app/suggestion-notifications/suggestion-targets/suggestion-targets.reducer.ts similarity index 95% rename from src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.reducer.ts rename to src/app/suggestion-notifications/suggestion-targets/suggestion-targets.reducer.ts index 2d315e6995..09ead019d1 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.reducer.ts +++ b/src/app/suggestion-notifications/suggestion-targets/suggestion-targets.reducer.ts @@ -1,5 +1,5 @@ import { SuggestionTargetActionTypes, SuggestionTargetsActions } from './suggestion-targets.actions'; -import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; +import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model'; /** * The interface representing the OpenAIRE suggestion targets state. diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.state.service.ts b/src/app/suggestion-notifications/suggestion-targets/suggestion-targets.state.service.ts similarity index 54% rename from src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.state.service.ts rename to src/app/suggestion-notifications/suggestion-targets/suggestion-targets.state.service.ts index da347a1e8b..7e0e6ad836 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.state.service.ts +++ b/src/app/suggestion-notifications/suggestion-targets/suggestion-targets.state.service.ts @@ -7,20 +7,20 @@ import { map } from 'rxjs/operators'; import { getCurrentUserSuggestionTargetsSelector, getCurrentUserSuggestionTargetsVisitedSelector, - getReciterSuggestionTargetCurrentPageSelector, - getReciterSuggestionTargetTotalsSelector, - isReciterSuggestionTargetLoadedSelector, + getSuggestionTargetCurrentPageSelector, + getSuggestionTargetTotalsSelector, + isSuggestionTargetLoadedSelector, isReciterSuggestionTargetProcessingSelector, - reciterSuggestionTargetObjectSelector + suggestionTargetObjectSelector } from '../selectors'; -import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; +import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model'; import { ClearSuggestionTargetsAction, MarkUserSuggestionsAsVisitedAction, RefreshUserSuggestionsAction, RetrieveTargetsBySourceAction } from './suggestion-targets.actions'; -import { SuggestionNotificationsState } from '../../../notifications/notifications.reducer'; +import { SuggestionNotificationsState } from '../../notifications/notifications.reducer'; /** * The service handling the Suggestion targets State. @@ -35,80 +35,80 @@ export class SuggestionTargetsStateService { constructor(private store: Store) { } /** - * Returns the list of Reciter Suggestion Targets from the state. + * Returns the list of Suggestion Targets from the state. * - * @return Observable - * The list of Reciter Suggestion Targets. + * @return Observable + * The list of Suggestion Targets. */ - public getReciterSuggestionTargets(): Observable { - return this.store.pipe(select(reciterSuggestionTargetObjectSelector())); + public getSuggestionTargets(): Observable { + return this.store.pipe(select(suggestionTargetObjectSelector())); } /** - * Returns the information about the loading status of the Reciter Suggestion Targets (if it's running or not). + * Returns the information about the loading status of the Suggestion Targets (if it's running or not). * * @return Observable * 'true' if the targets are loading, 'false' otherwise. */ - public isReciterSuggestionTargetsLoading(): Observable { + public isSuggestionTargetsLoading(): Observable { return this.store.pipe( - select(isReciterSuggestionTargetLoadedSelector), + select(isSuggestionTargetLoadedSelector), map((loaded: boolean) => !loaded) ); } /** - * Returns the information about the loading status of the Reciter Suggestion Targets (whether or not they were loaded). + * Returns the information about the loading status of the Suggestion Targets (whether or not they were loaded). * * @return Observable * 'true' if the targets are loaded, 'false' otherwise. */ - public isReciterSuggestionTargetsLoaded(): Observable { - return this.store.pipe(select(isReciterSuggestionTargetLoadedSelector)); + public isSuggestionTargetsLoaded(): Observable { + return this.store.pipe(select(isSuggestionTargetLoadedSelector)); } /** - * Returns the information about the processing status of the Reciter Suggestion Targets (if it's running or not). + * Returns the information about the processing status of the Suggestion Targets (if it's running or not). * * @return Observable * 'true' if there are operations running on the targets (ex.: a REST call), 'false' otherwise. */ - public isReciterSuggestionTargetsProcessing(): Observable { + public isSuggestionTargetsProcessing(): Observable { return this.store.pipe(select(isReciterSuggestionTargetProcessingSelector)); } /** - * Returns, from the state, the total available pages of the Reciter Suggestion Targets. + * Returns, from the state, the total available pages of the Suggestion Targets. * * @return Observable - * The number of the Reciter Suggestion Targets pages. + * The number of the Suggestion Targets pages. */ - public getReciterSuggestionTargetsTotalPages(): Observable { - return this.store.pipe(select(getReciterSuggestionTargetTotalsSelector)); + public getSuggestionTargetsTotalPages(): Observable { + return this.store.pipe(select(getSuggestionTargetTotalsSelector)); } /** - * Returns the current page of the Reciter Suggestion Targets, from the state. + * Returns the current page of the Suggestion Targets, from the state. * * @return Observable - * The number of the current Reciter Suggestion Targets page. + * The number of the current Suggestion Targets page. */ - public getReciterSuggestionTargetsCurrentPage(): Observable { - return this.store.pipe(select(getReciterSuggestionTargetCurrentPageSelector)); + public getSuggestionTargetsCurrentPage(): Observable { + return this.store.pipe(select(getSuggestionTargetCurrentPageSelector)); } /** - * Returns the total number of the Reciter Suggestion Targets. + * Returns the total number of the Suggestion Targets. * * @return Observable - * The number of the Reciter Suggestion Targets. + * The number of the Suggestion Targets. */ - public getReciterSuggestionTargetsTotals(): Observable { - return this.store.pipe(select(getReciterSuggestionTargetTotalsSelector)); + public getSuggestionTargetsTotals(): Observable { + return this.store.pipe(select(getSuggestionTargetTotalsSelector)); } /** - * Dispatch a request to change the Reciter Suggestion Targets state, retrieving the targets from the server. + * Dispatch a request to change the Suggestion Targets state, retrieving the targets from the server. * * @param source * the source for which to retrieve suggestion targets @@ -117,15 +117,15 @@ export class SuggestionTargetsStateService { * @param currentPage * The number of the current page. */ - public dispatchRetrieveReciterSuggestionTargets(source: string, elementsPerPage: number, currentPage: number): void { + public dispatchRetrieveSuggestionTargets(source: string, elementsPerPage: number, currentPage: number): void { this.store.dispatch(new RetrieveTargetsBySourceAction(source, elementsPerPage, currentPage)); } /** - * Returns, from the state, the reciter suggestion targets for the current user. + * Returns, from the state, the suggestion targets for the current user. * * @return Observable - * The Reciter Suggestion Targets object. + * The Suggestion Targets object. */ public getCurrentUserSuggestionTargets(): Observable { return this.store.pipe(select(getCurrentUserSuggestionTargetsSelector)); diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestion.service.spec.ts b/src/app/suggestion-notifications/suggestion.service.spec.ts similarity index 83% rename from src/app/suggestion-notifications/reciter-suggestions/suggestion.service.spec.ts rename to src/app/suggestion-notifications/suggestion.service.spec.ts index 6abed7a1ce..c7d0c7a4bf 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestion.service.spec.ts +++ b/src/app/suggestion-notifications/suggestion.service.spec.ts @@ -1,30 +1,30 @@ import { SuggestionsService } from './suggestions.service'; -import { AuthService } from '../../core/auth/auth.service'; -import { ResearcherProfileDataService } from '../../core/profile/researcher-profile-data.service'; +import { AuthService } from '../core/auth/auth.service'; +import { ResearcherProfileDataService } from '../core/profile/researcher-profile-data.service'; import { SuggestionsDataService -} from '../../core/suggestion-notifications/reciter-suggestions/suggestions-data.service'; +} from '../core/suggestion-notifications/suggestions-data.service'; import { SuggestionSourceDataService -} from '../../core/suggestion-notifications/reciter-suggestions/source/suggestion-source-data.service'; +} from '../core/suggestion-notifications/source/suggestion-source-data.service'; import { SuggestionTargetDataService -} from '../../core/suggestion-notifications/reciter-suggestions/target/suggestion-target-data.service'; +} from '../core/suggestion-notifications/target/suggestion-target-data.service'; import { TestScheduler } from 'rxjs/testing'; import { getTestScheduler } from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; -import { FindListOptions } from '../../core/data/find-list-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { ResearcherProfile } from '../../core/profile/model/researcher-profile.model'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; -import { mockSuggestionPublicationOne } from '../../shared/mocks/reciter-suggestion.mock'; -import { ResourceType } from '../../core/shared/resource-type'; +import { FindListOptions } from '../core/data/find-list-options.model'; +import { SortDirection, SortOptions } from '../core/cache/models/sort-options.model'; +import { ResearcherProfile } from '../core/profile/model/researcher-profile.model'; +import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; +import { mockSuggestionPublicationOne } from '../shared/mocks/publication-claim.mock'; +import { ResourceType } from '../core/shared/resource-type'; import { SuggestionTarget -} from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; +} from '../core/suggestion-notifications/models/suggestion-target.model'; describe('SuggestionsService test', () => { let scheduler: TestScheduler; @@ -151,14 +151,14 @@ describe('SuggestionsService test', () => { it('should delete suggestion', () => { spyOn(service, 'deleteReviewedSuggestion').and.returnValue(createSuccessfulRemoteDataObject$({})); - service.notMine('1234'); + service.ignoreSuggestion('1234'); expect(service.deleteReviewedSuggestion).toHaveBeenCalledWith('1234'); }); it('should delete suggestions', () => { spyOn(service, 'notMine'); - service.notMineMultiple([mockSuggestionPublicationOne]); - expect(service.notMine).toHaveBeenCalledWith(mockSuggestionPublicationOne.id); + service.ignoreSuggestionMultiple([mockSuggestionPublicationOne]); + expect(service.ignoreSuggestion).toHaveBeenCalledWith(mockSuggestionPublicationOne.id); }); it('should get target Uuid', () => { diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestions-notification/suggestions-notification.component.html b/src/app/suggestion-notifications/suggestions-notification/suggestions-notification.component.html similarity index 100% rename from src/app/suggestion-notifications/reciter-suggestions/suggestions-notification/suggestions-notification.component.html rename to src/app/suggestion-notifications/suggestions-notification/suggestions-notification.component.html diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestions-notification/suggestions-notification.component.scss b/src/app/suggestion-notifications/suggestions-notification/suggestions-notification.component.scss similarity index 100% rename from src/app/suggestion-notifications/reciter-suggestions/suggestions-notification/suggestions-notification.component.scss rename to src/app/suggestion-notifications/suggestions-notification/suggestions-notification.component.scss diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestions-notification/suggestions-notification.component.ts b/src/app/suggestion-notifications/suggestions-notification/suggestions-notification.component.ts similarity index 75% rename from src/app/suggestion-notifications/reciter-suggestions/suggestions-notification/suggestions-notification.component.ts rename to src/app/suggestion-notifications/suggestions-notification/suggestions-notification.component.ts index 23b34c4de9..dfa1e187e3 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestions-notification/suggestions-notification.component.ts +++ b/src/app/suggestion-notifications/suggestions-notification/suggestions-notification.component.ts @@ -1,11 +1,14 @@ import { Component, OnInit } from '@angular/core'; -import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; +import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model'; import { TranslateService } from '@ngx-translate/core'; import { SuggestionTargetsStateService } from '../suggestion-targets/suggestion-targets.state.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { SuggestionsService } from '../suggestions.service'; import { Observable } from 'rxjs'; +/** + * Show suggestions notification, used on myDSpace and Profile pages + */ @Component({ selector: 'ds-suggestions-notification', templateUrl: './suggestions-notification.component.html', @@ -22,13 +25,13 @@ export class SuggestionsNotificationComponent implements OnInit { constructor( private translateService: TranslateService, - private reciterSuggestionStateService: SuggestionTargetsStateService, + private suggestionTargetsStateService: SuggestionTargetsStateService, private notificationsService: NotificationsService, private suggestionsService: SuggestionsService ) { } ngOnInit() { - this.suggestionsRD$ = this.reciterSuggestionStateService.getCurrentUserSuggestionTargets(); + this.suggestionsRD$ = this.suggestionTargetsStateService.getCurrentUserSuggestionTargets(); } /** diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.html b/src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.html similarity index 100% rename from src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.html rename to src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.html diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.scss b/src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.scss similarity index 100% rename from src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.scss rename to src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.scss diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.spec.ts b/src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.spec.ts similarity index 92% rename from src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.spec.ts rename to src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.spec.ts index aade2c78fa..8a5721968b 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.spec.ts +++ b/src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.spec.ts @@ -3,11 +3,11 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { SuggestionsPopupComponent } from './suggestions-popup.component'; import { TranslateModule } from '@ngx-translate/core'; import { SuggestionTargetsStateService } from '../suggestion-targets/suggestion-targets.state.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; import { NO_ERRORS_SCHEMA } from '@angular/core'; import { of as observableOf } from 'rxjs'; -import { mockSuggestionTargetsObjectOne } from '../../../shared/mocks/reciter-suggestion-targets.mock'; +import { mockSuggestionTargetsObjectOne } from '../../shared/mocks/publication-claim-targets.mock'; import { SuggestionsService } from '../suggestions.service'; describe('SuggestionsPopupComponent', () => { diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.ts b/src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.ts similarity index 75% rename from src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.ts rename to src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.ts index 39be112bd2..2eb5cec6da 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestions-popup/suggestions-popup.component.ts +++ b/src/app/suggestion-notifications/suggestions-popup/suggestions-popup.component.ts @@ -1,13 +1,16 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { SuggestionTargetsStateService } from '../suggestion-targets/suggestion-targets.state.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { SuggestionsService } from '../suggestions.service'; import { takeUntil } from 'rxjs/operators'; -import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; -import { isNotEmpty } from '../../../shared/empty.util'; +import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model'; +import { isNotEmpty } from '../../shared/empty.util'; import { combineLatest, Subject } from 'rxjs'; +/** + * Show suggestions on a popover window, used on the homepage + */ @Component({ selector: 'ds-suggestions-popup', templateUrl: './suggestions-popup.component.html', @@ -21,7 +24,7 @@ export class SuggestionsPopupComponent implements OnInit, OnDestroy { constructor( private translateService: TranslateService, - private reciterSuggestionStateService: SuggestionTargetsStateService, + private suggestionTargetsStateService: SuggestionTargetsStateService, private notificationsService: NotificationsService, private suggestionsService: SuggestionsService ) { } @@ -33,14 +36,14 @@ export class SuggestionsPopupComponent implements OnInit, OnDestroy { public initializePopup() { const notifier = new Subject(); this.subscription = combineLatest([ - this.reciterSuggestionStateService.getCurrentUserSuggestionTargets(), - this.reciterSuggestionStateService.hasUserVisitedSuggestions() + this.suggestionTargetsStateService.getCurrentUserSuggestionTargets(), + this.suggestionTargetsStateService.hasUserVisitedSuggestions() ]).pipe(takeUntil(notifier)).subscribe(([suggestions, visited]) => { - this.reciterSuggestionStateService.dispatchRefreshUserSuggestionsAction(); + this.suggestionTargetsStateService.dispatchRefreshUserSuggestionsAction(); if (isNotEmpty(suggestions)) { if (!visited) { suggestions.forEach((suggestionTarget: SuggestionTarget) => this.showNotificationForNewSuggestions(suggestionTarget)); - this.reciterSuggestionStateService.dispatchMarkUserSuggestionsAsVisitedAction(); + this.suggestionTargetsStateService.dispatchMarkUserSuggestionsAsVisitedAction(); notifier.next(null); notifier.complete(); } diff --git a/src/app/suggestion-notifications/reciter-suggestions/suggestions.service.ts b/src/app/suggestion-notifications/suggestions.service.ts similarity index 84% rename from src/app/suggestion-notifications/reciter-suggestions/suggestions.service.ts rename to src/app/suggestion-notifications/suggestions.service.ts index b760ddf34d..d4e8825f63 100644 --- a/src/app/suggestion-notifications/reciter-suggestions/suggestions.service.ts +++ b/src/app/suggestion-notifications/suggestions.service.ts @@ -3,38 +3,41 @@ import { Injectable } from '@angular/core'; import { of, forkJoin, Observable } from 'rxjs'; import { catchError, map, mergeMap, take } from 'rxjs/operators'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { SuggestionTarget } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; -import { AuthService } from '../../core/auth/auth.service'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { ResearcherProfile } from '../../core/profile/model/researcher-profile.model'; +import { SortDirection, SortOptions } from '../core/cache/models/sort-options.model'; +import { RemoteData } from '../core/data/remote-data'; +import { PaginatedList } from '../core/data/paginated-list.model'; +import { SuggestionTarget } from '../core/suggestion-notifications/models/suggestion-target.model'; +import { AuthService } from '../core/auth/auth.service'; +import { hasValue, isNotEmpty } from '../shared/empty.util'; +import { ResearcherProfile } from '../core/profile/model/researcher-profile.model'; import { getAllSucceededRemoteDataPayload, getFinishedRemoteData, getFirstSucceededRemoteDataPayload, getFirstSucceededRemoteListPayload -} from '../../core/shared/operators'; -import { Suggestion } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion.model'; -import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; +} from '../core/shared/operators'; +import { Suggestion } from '../core/suggestion-notifications/models/suggestion.model'; +import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; import { TranslateService } from '@ngx-translate/core'; -import { NoContent } from '../../core/shared/NoContent.model'; -import { environment } from '../../../environments/environment'; -import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; -import {FindListOptions} from '../../core/data/find-list-options.model'; -import {SuggestionConfig} from '../../../config/layout-config.interfaces'; -import { ResearcherProfileDataService } from '../../core/profile/researcher-profile-data.service'; +import { NoContent } from '../core/shared/NoContent.model'; +import { environment } from '../../environments/environment'; +import { WorkspaceItem } from '../core/submission/models/workspaceitem.model'; +import {FindListOptions} from '../core/data/find-list-options.model'; +import {SuggestionConfig} from '../../config/layout-config.interfaces'; +import { ResearcherProfileDataService } from '../core/profile/researcher-profile-data.service'; import { SuggestionSourceDataService -} from '../../core/suggestion-notifications/reciter-suggestions/source/suggestion-source-data.service'; +} from '../core/suggestion-notifications/source/suggestion-source-data.service'; import { SuggestionTargetDataService -} from '../../core/suggestion-notifications/reciter-suggestions/target/suggestion-target-data.service'; +} from '../core/suggestion-notifications/target/suggestion-target-data.service'; import { SuggestionsDataService -} from '../../core/suggestion-notifications/reciter-suggestions/suggestions-data.service'; +} from '../core/suggestion-notifications/suggestions-data.service'; +/** + * useful for multiple approvals and ignores operation + * */ export interface SuggestionBulkResult { success: number; fails: number; @@ -199,7 +202,7 @@ export class SuggestionsService { * Perform the delete operation over a single suggestion. * @param suggestionId */ - public notMine(suggestionId): Observable> { + public ignoreSuggestion(suggestionId): Observable> { return this.deleteReviewedSuggestion(suggestionId).pipe( catchError((error) => of(null)) ); @@ -229,8 +232,8 @@ export class SuggestionsService { * Perform a bulk notMine operation. * @param suggestions the array containing the suggestions */ - public notMineMultiple(suggestions: Suggestion[]): Observable { - return forkJoin(suggestions.map((suggestion: Suggestion) => this.notMine(suggestion.id))) + public ignoreSuggestionMultiple(suggestions: Suggestion[]): Observable { + return forkJoin(suggestions.map((suggestion: Suggestion) => this.ignoreSuggestion(suggestion.id))) .pipe(map((results: RemoteData[]) => { return { success: results.filter((result) => result != null).length, diff --git a/src/app/suggestions-page/suggestions-page-routing.module.ts b/src/app/suggestions-page/suggestions-page-routing.module.ts index 05dc6321b7..0a7d9bd90c 100644 --- a/src/app/suggestions-page/suggestions-page-routing.module.ts +++ b/src/app/suggestions-page/suggestions-page-routing.module.ts @@ -4,7 +4,7 @@ import { RouterModule } from '@angular/router'; import { SuggestionsPageResolver } from './suggestions-page.resolver'; import { SuggestionsPageComponent } from './suggestions-page.component'; import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; -import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { ItemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.resolver'; @NgModule({ imports: [ @@ -13,11 +13,11 @@ import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.reso path: ':targetId', resolve: { suggestionTargets: SuggestionsPageResolver, - breadcrumb: I18nBreadcrumbResolver + breadcrumb: ItemBreadcrumbResolver//I18nBreadcrumbResolver }, data: { - title: 'admin.notifications.recitersuggestion.page.title', - breadcrumbKey: 'admin.notifications.recitersuggestion', + title: 'admin.notifications.publicationclaim.page.title', + breadcrumbKey: 'admin.notifications.publicationclaim', showBreadcrumbsFluid: false }, canActivate: [AuthenticatedGuard], @@ -27,7 +27,8 @@ import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.reso ]) ], providers: [ - SuggestionsPageResolver + SuggestionsPageResolver, + ItemBreadcrumbResolver ] }) export class SuggestionsPageRoutingModule { diff --git a/src/app/suggestions-page/suggestions-page.component.html b/src/app/suggestions-page/suggestions-page.component.html index 59b6f58c5f..f8b14f6728 100644 --- a/src/app/suggestions-page/suggestions-page.component.html +++ b/src/app/suggestions-page/suggestions-page.component.html @@ -19,7 +19,7 @@ [isBulk]="true" [isCollectionFixed]="isCollectionFixed(suggestionsRD.page)" (approveAndImport)="approveAndImportAllSelected($event)" - (notMineClicked)="notMineAllSelected()"> + (ignoreSuggestionClicked)="ignoreSuggestionAllSelected()"> @@ -35,7 +35,7 @@ [object]="object" [isSelected]="selectedSuggestions[object.id]" [isCollectionFixed]="isCollectionFixed([object])" - (notMineClicked)="notMine($event)" + (ignoreSuggestionClicked)="ignoreSuggestion($event)" (selected)="onSelected(object, $event)" (approveAndImport)="approveAndImport($event)"> diff --git a/src/app/suggestions-page/suggestions-page.component.spec.ts b/src/app/suggestions-page/suggestions-page.component.spec.ts index 0b0e235082..78cf087362 100644 --- a/src/app/suggestions-page/suggestions-page.component.spec.ts +++ b/src/app/suggestions-page/suggestions-page.component.spec.ts @@ -10,23 +10,23 @@ import { SuggestionsPageComponent } from './suggestions-page.component'; import { SuggestionApproveAndImport, SuggestionListElementComponent -} from '../suggestion-notifications/reciter-suggestions/suggestion-list-element/suggestion-list-element.component'; -import { SuggestionsService } from '../suggestion-notifications/reciter-suggestions/suggestions.service'; +} from '../suggestion-notifications/suggestion-list-element/suggestion-list-element.component'; +import { SuggestionsService } from '../suggestion-notifications/suggestions.service'; import { getMockSuggestionNotificationsStateService, getMockSuggestionsService } from '../shared/mocks/suggestion.mock'; import { buildPaginatedList, PaginatedList } from '../core/data/paginated-list.model'; -import { Suggestion } from '../core/suggestion-notifications/reciter-suggestions/models/suggestion.model'; -import { mockSuggestionPublicationOne, mockSuggestionPublicationTwo } from '../shared/mocks/reciter-suggestion.mock'; -import { SuggestionEvidencesComponent } from '../suggestion-notifications/reciter-suggestions/suggestion-list-element/suggestion-evidences/suggestion-evidences.component'; +import { Suggestion } from '../core/suggestion-notifications/models/suggestion.model'; +import { mockSuggestionPublicationOne, mockSuggestionPublicationTwo } from '../shared/mocks/publication-claim.mock'; +import { SuggestionEvidencesComponent } from '../suggestion-notifications/suggestion-list-element/suggestion-evidences/suggestion-evidences.component'; import { ObjectKeysPipe } from '../shared/utils/object-keys-pipe'; import { VarDirective } from '../shared/utils/var.directive'; import { ActivatedRoute, Router } from '@angular/router'; import { RouterStub } from '../shared/testing/router.stub'; -import { mockSuggestionTargetsObjectOne } from '../shared/mocks/reciter-suggestion-targets.mock'; +import { mockSuggestionTargetsObjectOne } from '../shared/mocks/publication-claim-targets.mock'; import { AuthService } from '../core/auth/auth.service'; import { NotificationsService } from '../shared/notifications/notifications.service'; import { NotificationsServiceStub } from '../shared/testing/notifications-service.stub'; import { getMockTranslateService } from '../shared/mocks/translate.service.mock'; -import { SuggestionTargetsStateService } from '../suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.state.service'; +import { SuggestionTargetsStateService } from '../suggestion-notifications/suggestion-targets/suggestion-targets.state.service'; import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; import { createSuccessfulRemoteDataObject } from '../shared/remote-data.utils'; import { PageInfo } from '../core/shared/page-info.model'; @@ -138,7 +138,7 @@ describe('SuggestionPageComponent', () => { scheduler.schedule(() => fixture.detectChanges()); scheduler.flush(); - component.notMine('1'); + component.ignoreSuggestion('1'); expect(mockSuggestionsService.notMine).toHaveBeenCalledWith('1'); expect(mockSuggestionsTargetStateService.dispatchRefreshUserSuggestionsAction).toHaveBeenCalled(); expect(component.updatePage).toHaveBeenCalled(); @@ -149,7 +149,7 @@ describe('SuggestionPageComponent', () => { scheduler.schedule(() => fixture.detectChanges()); scheduler.flush(); - component.notMineAllSelected(); + component.ignoreSuggestionAllSelected(); expect(mockSuggestionsService.notMineMultiple).toHaveBeenCalled(); expect(mockSuggestionsTargetStateService.dispatchRefreshUserSuggestionsAction).toHaveBeenCalled(); expect(component.updatePage).toHaveBeenCalled(); diff --git a/src/app/suggestions-page/suggestions-page.component.ts b/src/app/suggestions-page/suggestions-page.component.ts index b4ca0108d5..4883ed8406 100644 --- a/src/app/suggestions-page/suggestions-page.component.ts +++ b/src/app/suggestions-page/suggestions-page.component.ts @@ -9,14 +9,14 @@ import { SortDirection, SortOptions, } from '../core/cache/models/sort-options.m import { PaginatedList } from '../core/data/paginated-list.model'; import { RemoteData } from '../core/data/remote-data'; import { getFirstSucceededRemoteDataPayload } from '../core/shared/operators'; -import { SuggestionBulkResult, SuggestionsService } from '../suggestion-notifications/reciter-suggestions/suggestions.service'; +import { SuggestionBulkResult, SuggestionsService } from '../suggestion-notifications/suggestions.service'; import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; -import { Suggestion } from '../core/suggestion-notifications/reciter-suggestions/models/suggestion.model'; -import { SuggestionTarget } from '../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; +import { Suggestion } from '../core/suggestion-notifications/models/suggestion.model'; +import { SuggestionTarget } from '../core/suggestion-notifications/models/suggestion-target.model'; import { AuthService } from '../core/auth/auth.service'; -import { SuggestionApproveAndImport } from '../suggestion-notifications/reciter-suggestions/suggestion-list-element/suggestion-list-element.component'; +import { SuggestionApproveAndImport } from '../suggestion-notifications/suggestion-list-element/suggestion-list-element.component'; import { NotificationsService } from '../shared/notifications/notifications.service'; -import { SuggestionTargetsStateService } from '../suggestion-notifications/reciter-suggestions/suggestion-targets/suggestion-targets.state.service'; +import { SuggestionTargetsStateService } from '../suggestion-notifications/suggestion-targets/suggestion-targets.state.service'; import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; import { PaginationService } from '../core/pagination/pagination.service'; import { WorkspaceItem } from '../core/submission/models/workspaceitem.model'; @@ -155,8 +155,8 @@ export class SuggestionsPageComponent implements OnInit { * Used to delete a suggestion. * @suggestionId */ - notMine(suggestionId) { - this.suggestionService.notMine(suggestionId).subscribe((res) => { + ignoreSuggestion(suggestionId) { + this.suggestionService.ignoreSuggestion(suggestionId).subscribe((res) => { this.suggestionTargetsStateService.dispatchRefreshUserSuggestionsAction(); this.updatePage(); }); @@ -165,10 +165,10 @@ export class SuggestionsPageComponent implements OnInit { /** * Used to delete all selected suggestions. */ - notMineAllSelected() { + ignoreSuggestionAllSelected() { this.isBulkOperationPending = true; this.suggestionService - .notMineMultiple(Object.values(this.selectedSuggestions)) + .ignoreSuggestionMultiple(Object.values(this.selectedSuggestions)) .subscribe((results: SuggestionBulkResult) => { this.suggestionTargetsStateService.dispatchRefreshUserSuggestionsAction(); this.updatePage(); diff --git a/src/app/suggestions-page/suggestions-page.module.ts b/src/app/suggestions-page/suggestions-page.module.ts index f5397cbdce..e25e483e39 100644 --- a/src/app/suggestions-page/suggestions-page.module.ts +++ b/src/app/suggestions-page/suggestions-page.module.ts @@ -4,8 +4,8 @@ import { CommonModule } from '@angular/common'; import { SuggestionsPageComponent } from './suggestions-page.component'; import { SharedModule } from '../shared/shared.module'; import { SuggestionsPageRoutingModule } from './suggestions-page-routing.module'; -import { SuggestionsService } from '../suggestion-notifications/reciter-suggestions/suggestions.service'; -import { SuggestionsDataService } from '../core/suggestion-notifications/reciter-suggestions/suggestions-data.service'; +import { SuggestionsService } from '../suggestion-notifications/suggestions.service'; +import { SuggestionsDataService } from '../core/suggestion-notifications/suggestions-data.service'; import { NotificationsModule } from '../notifications/notifications.module'; @NgModule({ diff --git a/src/app/suggestions-page/suggestions-page.resolver.ts b/src/app/suggestions-page/suggestions-page.resolver.ts index 6d05c0bc84..dde5b847f5 100644 --- a/src/app/suggestions-page/suggestions-page.resolver.ts +++ b/src/app/suggestions-page/suggestions-page.resolver.ts @@ -6,10 +6,10 @@ import { find } from 'rxjs/operators'; import { RemoteData } from '../core/data/remote-data'; import { hasValue } from '../shared/empty.util'; -import { SuggestionTarget } from '../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model'; +import { SuggestionTarget } from '../core/suggestion-notifications/models/suggestion-target.model'; import { SuggestionTargetDataService -} from '../core/suggestion-notifications/reciter-suggestions/target/suggestion-target-data.service'; +} from '../core/suggestion-notifications/target/suggestion-target-data.service'; /** * This class represents a resolver that requests a specific collection before the route is activated diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 0e5ea85074..989d2ea9fb 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -24,9 +24,9 @@ "404.page-not-found": "page not found", - "admin.notifications.recitersuggestion.breadcrumbs": "Suggestions", + "admin.notifications.publicationclaim.breadcrumbs": "Suggestions", - "admin.notifications.recitersuggestion.page.title": "Suggestions", + "admin.notifications.publicationclaim.page.title": "Suggestions", "error-page.description.401": "unauthorized", @@ -2950,7 +2950,7 @@ "menu.section.quality-assurance": "Quality Assurance", - "menu.section.notifications_reciter": "Publication Claim", + "menu.section.notifications_publication-claim": "Publication Claim", "menu.section.pin": "Pin sidebar", @@ -3562,63 +3562,67 @@ "media-viewer.playlist": "Playlist", - "reciter.suggestion.loading": "Loading ...", + "suggestion.loading": "Loading ...", - "reciter.suggestion.title": "Suggestions", + "suggestion.title": "Publication Claims", - "reciter.suggestion.targets.description": "Below you can see all the suggestions ", + "suggestion.title.breadcrumbs": "Publication Claims", - "reciter.suggestion.targets": "Current Suggestions", + "suggestion.targets.description": "Below you can see all the suggestions ", - "reciter.suggestion.table.name": "Researcher Name", + "suggestion.targets": "Current Suggestions", - "reciter.suggestion.table.actions": "Actions", + "suggestion.table.name": "Researcher Name", - "reciter.suggestion.button.review": "Review {{ total }} suggestion(s)", + "suggestion.table.actions": "Actions", - "reciter.suggestion.noTargets": "No target found.", + "suggestion.button.review": "Review {{ total }} suggestion(s)", - "reciter.suggestion.target.error.service.retrieve": "An error occurred while loading the Suggestion targets", + "suggestion.button.review.title": "Review {{ total }} suggestion(s) for ", - "reciter.suggestion.evidence.type": "Type", + "suggestion.noTargets": "No target found.", - "reciter.suggestion.evidence.score": "Score", + "suggestion.target.error.service.retrieve": "An error occurred while loading the Suggestion targets", - "reciter.suggestion.evidence.notes": "Notes", + "suggestion.evidence.type": "Type", - "reciter.suggestion.approveAndImport": "Approve & import", + "suggestion.evidence.score": "Score", - "reciter.suggestion.approveAndImport.success": "The suggestion has been imported successfully. View.", + "suggestion.evidence.notes": "Notes", - "reciter.suggestion.approveAndImport.bulk": "Approve & import Selected", + "suggestion.approveAndImport": "Approve & import", - "reciter.suggestion.approveAndImport.bulk.success": "{{ count }} suggestions have been imported successfully ", + "suggestion.approveAndImport.success": "The suggestion has been imported successfully. View.", - "reciter.suggestion.approveAndImport.bulk.error": "{{ count }} suggestions haven't been imported due to unexpected server errors", + "suggestion.approveAndImport.bulk": "Approve & import Selected", - "reciter.suggestion.notMine": "Not mine", + ".suggestion.approveAndImport.bulk.success": "{{ count }} suggestions have been imported successfully ", - "reciter.suggestion.notMine.success": "The suggestion has been discarded", + "suggestion.approveAndImport.bulk.error": "{{ count }} suggestions haven't been imported due to unexpected server errors", - "reciter.suggestion.notMine.bulk": "Not mine Selected", + "suggestion.ignoreSuggestion": "Ignore Suggestion", - "reciter.suggestion.notMine.bulk.success": "{{ count }} suggestions have been discarded ", + "suggestion.ignoreSuggestion.success": "The suggestion has been discarded", - "reciter.suggestion.notMine.bulk.error": "{{ count }} suggestions haven't been discarded due to unexpected server errors", + "suggestion.ignoreSuggestion.bulk": "Ignore Suggestion Selected", - "reciter.suggestion.seeEvidence": "See evidence", + "suggestion.ignoreSuggestion.bulk.success": "{{ count }} suggestions have been discarded ", - "reciter.suggestion.hideEvidence": "Hide evidence", + "suggestion.ignoreSuggestion.bulk.error": "{{ count }} suggestions haven't been discarded due to unexpected server errors", - "reciter.suggestion.suggestionFor": "Suggestion for", + "suggestion.seeEvidence": "See evidence", - "reciter.suggestion.source.openaire": "OpenAIRE Graph", + "suggestion.hideEvidence": "Hide evidence", - "reciter.suggestion.from.source": "from the ", + "suggestion.suggestionFor": "Suggestion for", - "reciter.suggestion.totalScore": "Total Score", + "suggestion.source.openaire": "OpenAIRE Graph", - "reciter.suggestion.type.openaire": "OpenAIRE", + "suggestion.from.source": "from the ", + + "suggestion.totalScore": "Total Score", + + "suggestion.type.openaire": "OpenAIRE", "register-email.title": "New user registration",