mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-15 22:13:02 +00:00
[CST-5249] Removed Openaire prefix on Suggestion classes
This commit is contained in:
@@ -87,6 +87,7 @@ import { SourceDataResolver } from './admin-quality-assurance-source-page-compon
|
||||
I18nBreadcrumbsService,
|
||||
AdminNotificationsSuggestionTargetsPageResolver,
|
||||
SourceDataResolver,
|
||||
AdminQualityAssuranceSourcePageResolver,
|
||||
AdminQualityAssuranceTopicsPageResolver,
|
||||
AdminQualityAssuranceEventsPageResolver,
|
||||
]
|
||||
|
@@ -166,9 +166,9 @@ import { SearchConfig } from './shared/search/search-filters/search-config.model
|
||||
import { SequenceService } from './shared/sequence.service';
|
||||
import { CoreState } from './core-state.model';
|
||||
import { GroupDataService } from './eperson/group-data.service';
|
||||
import { OpenaireSuggestionTarget } from './suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { OpenaireSuggestion } from './suggestion-notifications/reciter-suggestions/models/openaire-suggestion.model';
|
||||
import { OpenaireSuggestionSource } from './suggestion-notifications/reciter-suggestions/models/openaire-suggestion-source.model';
|
||||
import { SuggestionTarget } from './suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
import { Suggestion } from './suggestion-notifications/reciter-suggestions/models/suggestion.model';
|
||||
import { SuggestionSource } from './suggestion-notifications/reciter-suggestions/models/suggestion-source.model';
|
||||
import { ResearcherProfileService } from './profile/researcher-profile.service';
|
||||
import { ProfileClaimService } from '../profile-page/profile-claim/profile-claim.service';
|
||||
import { ResearcherProfile } from './profile/model/researcher-profile.model';
|
||||
@@ -372,9 +372,9 @@ export const models =
|
||||
ShortLivedToken,
|
||||
Registration,
|
||||
UsageReport,
|
||||
OpenaireSuggestion,
|
||||
OpenaireSuggestionTarget,
|
||||
OpenaireSuggestionSource,
|
||||
Suggestion,
|
||||
SuggestionTarget,
|
||||
SuggestionSource,
|
||||
QualityAssuranceTopicObject,
|
||||
QualityAssuranceEventObject,
|
||||
Root,
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import { autoserialize, deserialize } from 'cerialize';
|
||||
|
||||
import { SUGGESTION_SOURCE } from './openaire-suggestion-objects.resource-type';
|
||||
import { SUGGESTION_SOURCE } from './suggestion-objects.resource-type';
|
||||
import { excludeFromEquals } from '../../../utilities/equals.decorators';
|
||||
import { ResourceType } from '../../../shared/resource-type';
|
||||
import { HALLink } from '../../../shared/hal-link.model';
|
||||
@@ -11,7 +11,7 @@ import {CacheableObject} from '../../../cache/cacheable-object.model';
|
||||
* The interface representing the Suggestion Source model
|
||||
*/
|
||||
@typedObject
|
||||
export class OpenaireSuggestionSource implements CacheableObject {
|
||||
export class SuggestionSource implements CacheableObject {
|
||||
/**
|
||||
* A string representing the kind of object, e.g. community, item, …
|
||||
*/
|
@@ -1,6 +1,6 @@
|
||||
import { autoserialize, deserialize } from 'cerialize';
|
||||
|
||||
import { SUGGESTION_TARGET } from './openaire-suggestion-objects.resource-type';
|
||||
import { SUGGESTION_TARGET } from './suggestion-objects.resource-type';
|
||||
import { excludeFromEquals } from '../../../utilities/equals.decorators';
|
||||
import { ResourceType } from '../../../shared/resource-type';
|
||||
import { HALLink } from '../../../shared/hal-link.model';
|
||||
@@ -11,7 +11,7 @@ import {CacheableObject} from '../../../cache/cacheable-object.model';
|
||||
* The interface representing the Suggestion Target model
|
||||
*/
|
||||
@typedObject
|
||||
export class OpenaireSuggestionTarget implements CacheableObject {
|
||||
export class SuggestionTarget implements CacheableObject {
|
||||
/**
|
||||
* A string representing the kind of object, e.g. community, item, …
|
||||
*/
|
@@ -1,6 +1,6 @@
|
||||
import { autoserialize, autoserializeAs, deserialize } from 'cerialize';
|
||||
|
||||
import { SUGGESTION } from './openaire-suggestion-objects.resource-type';
|
||||
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';
|
||||
@@ -18,7 +18,7 @@ export interface SuggestionEvidences {
|
||||
* The interface representing the Suggestion Source model
|
||||
*/
|
||||
@typedObject
|
||||
export class OpenaireSuggestion implements CacheableObject {
|
||||
export class Suggestion implements CacheableObject {
|
||||
/**
|
||||
* A string representing the kind of object, e.g. community, item, …
|
||||
*/
|
@@ -15,12 +15,12 @@ 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_TARGET } from './models/openaire-suggestion-objects.resource-type';
|
||||
import { SUGGESTION_TARGET } from './models/suggestion-objects.resource-type';
|
||||
import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model';
|
||||
import { PaginatedList } from '../../data/paginated-list.model';
|
||||
import { OpenaireSuggestionSource } from './models/openaire-suggestion-source.model';
|
||||
import { OpenaireSuggestionTarget } from './models/openaire-suggestion-target.model';
|
||||
import { OpenaireSuggestion } from './models/openaire-suggestion.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';
|
||||
@@ -31,7 +31,7 @@ import {FindListOptions} from '../../data/find-list-options.model';
|
||||
/**
|
||||
* A private DataService implementation to delegate specific methods to.
|
||||
*/
|
||||
class SuggestionDataServiceImpl extends DataService<OpenaireSuggestion> {
|
||||
class SuggestionDataServiceImpl extends DataService<Suggestion> {
|
||||
/**
|
||||
* The REST endpoint.
|
||||
*/
|
||||
@@ -46,7 +46,7 @@ class SuggestionDataServiceImpl extends DataService<OpenaireSuggestion> {
|
||||
* @param {HALEndpointService} halService
|
||||
* @param {NotificationsService} notificationsService
|
||||
* @param {HttpClient} http
|
||||
* @param {ChangeAnalyzer<OpenaireSuggestion>} comparator
|
||||
* @param {ChangeAnalyzer<Suggestion>} comparator
|
||||
*/
|
||||
constructor(
|
||||
protected requestService: RequestService,
|
||||
@@ -56,7 +56,7 @@ class SuggestionDataServiceImpl extends DataService<OpenaireSuggestion> {
|
||||
protected halService: HALEndpointService,
|
||||
protected notificationsService: NotificationsService,
|
||||
protected http: HttpClient,
|
||||
protected comparator: ChangeAnalyzer<OpenaireSuggestion>) {
|
||||
protected comparator: ChangeAnalyzer<Suggestion>) {
|
||||
super();
|
||||
}
|
||||
}
|
||||
@@ -64,7 +64,7 @@ class SuggestionDataServiceImpl extends DataService<OpenaireSuggestion> {
|
||||
/**
|
||||
* A private DataService implementation to delegate specific methods to.
|
||||
*/
|
||||
class SuggestionTargetsDataServiceImpl extends DataService<OpenaireSuggestionTarget> {
|
||||
class SuggestionTargetsDataServiceImpl extends DataService<SuggestionTarget> {
|
||||
/**
|
||||
* The REST endpoint.
|
||||
*/
|
||||
@@ -79,7 +79,7 @@ class SuggestionTargetsDataServiceImpl extends DataService<OpenaireSuggestionTar
|
||||
* @param {HALEndpointService} halService
|
||||
* @param {NotificationsService} notificationsService
|
||||
* @param {HttpClient} http
|
||||
* @param {ChangeAnalyzer<OpenaireSuggestionTarget>} comparator
|
||||
* @param {ChangeAnalyzer<SuggestionTarget>} comparator
|
||||
*/
|
||||
constructor(
|
||||
protected requestService: RequestService,
|
||||
@@ -89,7 +89,7 @@ class SuggestionTargetsDataServiceImpl extends DataService<OpenaireSuggestionTar
|
||||
protected halService: HALEndpointService,
|
||||
protected notificationsService: NotificationsService,
|
||||
protected http: HttpClient,
|
||||
protected comparator: ChangeAnalyzer<OpenaireSuggestionTarget>) {
|
||||
protected comparator: ChangeAnalyzer<SuggestionTarget>) {
|
||||
super();
|
||||
}
|
||||
}
|
||||
@@ -97,7 +97,7 @@ class SuggestionTargetsDataServiceImpl extends DataService<OpenaireSuggestionTar
|
||||
/**
|
||||
* A private DataService implementation to delegate specific methods to.
|
||||
*/
|
||||
class SuggestionSourcesDataServiceImpl extends DataService<OpenaireSuggestionSource> {
|
||||
class SuggestionSourcesDataServiceImpl extends DataService<SuggestionSource> {
|
||||
/**
|
||||
* The REST endpoint.
|
||||
*/
|
||||
@@ -112,7 +112,7 @@ class SuggestionSourcesDataServiceImpl extends DataService<OpenaireSuggestionSou
|
||||
* @param {HALEndpointService} halService
|
||||
* @param {NotificationsService} notificationsService
|
||||
* @param {HttpClient} http
|
||||
* @param {ChangeAnalyzer<OpenaireSuggestionSource>} comparator
|
||||
* @param {ChangeAnalyzer<SuggestionSource>} comparator
|
||||
*/
|
||||
constructor(
|
||||
protected requestService: RequestService,
|
||||
@@ -122,7 +122,7 @@ class SuggestionSourcesDataServiceImpl extends DataService<OpenaireSuggestionSou
|
||||
protected halService: HALEndpointService,
|
||||
protected notificationsService: NotificationsService,
|
||||
protected http: HttpClient,
|
||||
protected comparator: ChangeAnalyzer<OpenaireSuggestionSource>) {
|
||||
protected comparator: ChangeAnalyzer<SuggestionSource>) {
|
||||
super();
|
||||
}
|
||||
}
|
||||
@@ -132,7 +132,7 @@ class SuggestionSourcesDataServiceImpl extends DataService<OpenaireSuggestionSou
|
||||
*/
|
||||
@Injectable()
|
||||
@dataService(SUGGESTION_TARGET)
|
||||
export class OpenaireSuggestionsDataService {
|
||||
export class SuggestionsDataService {
|
||||
protected searchFindBySourceMethod = 'findBySource';
|
||||
protected searchFindByTargetMethod = 'findByTarget';
|
||||
protected searchFindByTargetAndSourceMethod = 'findByTargetAndSource';
|
||||
@@ -160,9 +160,9 @@ export class OpenaireSuggestionsDataService {
|
||||
* @param {HALEndpointService} halService
|
||||
* @param {NotificationsService} notificationsService
|
||||
* @param {HttpClient} http
|
||||
* @param {DefaultChangeAnalyzer<OpenaireSuggestion>} comparatorSuggestions
|
||||
* @param {DefaultChangeAnalyzer<OpenaireSuggestionSource>} comparatorSources
|
||||
* @param {DefaultChangeAnalyzer<OpenaireSuggestionTarget>} comparatorTargets
|
||||
* @param {DefaultChangeAnalyzer<Suggestion>} comparatorSuggestions
|
||||
* @param {DefaultChangeAnalyzer<SuggestionSource>} comparatorSources
|
||||
* @param {DefaultChangeAnalyzer<SuggestionTarget>} comparatorTargets
|
||||
*/
|
||||
constructor(
|
||||
protected requestService: RequestService,
|
||||
@@ -171,9 +171,9 @@ export class OpenaireSuggestionsDataService {
|
||||
protected halService: HALEndpointService,
|
||||
protected notificationsService: NotificationsService,
|
||||
protected http: HttpClient,
|
||||
protected comparatorSuggestions: DefaultChangeAnalyzer<OpenaireSuggestion>,
|
||||
protected comparatorSources: DefaultChangeAnalyzer<OpenaireSuggestionSource>,
|
||||
protected comparatorTargets: DefaultChangeAnalyzer<OpenaireSuggestionTarget>,
|
||||
protected comparatorSuggestions: DefaultChangeAnalyzer<Suggestion>,
|
||||
protected comparatorSources: DefaultChangeAnalyzer<SuggestionSource>,
|
||||
protected comparatorTargets: DefaultChangeAnalyzer<SuggestionTarget>,
|
||||
) {
|
||||
this.suggestionsDataService = new SuggestionDataServiceImpl(requestService, rdbService, null, objectCache, halService, notificationsService, http, comparatorSuggestions);
|
||||
this.suggestionSourcesDataService = new SuggestionSourcesDataServiceImpl(requestService, rdbService, null, objectCache, halService, notificationsService, http, comparatorSources);
|
||||
@@ -185,10 +185,10 @@ export class OpenaireSuggestionsDataService {
|
||||
*
|
||||
* @param options
|
||||
* Find list options object.
|
||||
* @return Observable<RemoteData<PaginatedList<OpenaireSuggestionSource>>>
|
||||
* @return Observable<RemoteData<PaginatedList<SuggestionSource>>>
|
||||
* The list of Suggestion Sources.
|
||||
*/
|
||||
public getSources(options: FindListOptions = {}): Observable<RemoteData<PaginatedList<OpenaireSuggestionSource>>> {
|
||||
public getSources(options: FindListOptions = {}): Observable<RemoteData<PaginatedList<SuggestionSource>>> {
|
||||
return this.suggestionSourcesDataService.findAll(options);
|
||||
}
|
||||
|
||||
@@ -201,14 +201,14 @@ export class OpenaireSuggestionsDataService {
|
||||
* Find list options object.
|
||||
* @param linksToFollow
|
||||
* List of {@link FollowLinkConfig} that indicate which {@link HALLink}s should be automatically resolved.
|
||||
* @return Observable<RemoteData<PaginatedList<OpenaireSuggestionTarget>>>
|
||||
* @return Observable<RemoteData<PaginatedList<SuggestionTarget>>>
|
||||
* The list of Suggestion Target.
|
||||
*/
|
||||
public getTargets(
|
||||
source: string,
|
||||
options: FindListOptions = {},
|
||||
...linksToFollow: FollowLinkConfig<OpenaireSuggestionTarget>[]
|
||||
): Observable<RemoteData<PaginatedList<OpenaireSuggestionTarget>>> {
|
||||
...linksToFollow: FollowLinkConfig<SuggestionTarget>[]
|
||||
): Observable<RemoteData<PaginatedList<SuggestionTarget>>> {
|
||||
options.searchParams = [new RequestParam('source', source)];
|
||||
|
||||
return this.suggestionTargetsDataService.searchBy(this.searchFindBySourceMethod, options, true, true, ...linksToFollow);
|
||||
@@ -223,14 +223,14 @@ export class OpenaireSuggestionsDataService {
|
||||
* Find list options object.
|
||||
* @param linksToFollow
|
||||
* List of {@link FollowLinkConfig} that indicate which {@link HALLink}s should be automatically resolved.
|
||||
* @return Observable<RemoteData<PaginatedList<OpenaireSuggestionTarget>>>
|
||||
* @return Observable<RemoteData<PaginatedList<SuggestionTarget>>>
|
||||
* The list of Suggestion Target.
|
||||
*/
|
||||
public getTargetsByUser(
|
||||
userId: string,
|
||||
options: FindListOptions = {},
|
||||
...linksToFollow: FollowLinkConfig<OpenaireSuggestionTarget>[]
|
||||
): Observable<RemoteData<PaginatedList<OpenaireSuggestionTarget>>> {
|
||||
...linksToFollow: FollowLinkConfig<SuggestionTarget>[]
|
||||
): Observable<RemoteData<PaginatedList<SuggestionTarget>>> {
|
||||
options.searchParams = [new RequestParam('target', userId)];
|
||||
|
||||
return this.suggestionTargetsDataService.searchBy(this.searchFindByTargetMethod, options, true, true, ...linksToFollow);
|
||||
@@ -242,10 +242,10 @@ export class OpenaireSuggestionsDataService {
|
||||
* @param targetId
|
||||
* The target id to retrieve.
|
||||
*
|
||||
* @return Observable<RemoteData<OpenaireSuggestionTarget>>
|
||||
* @return Observable<RemoteData<SuggestionTarget>>
|
||||
* The list of Suggestion Target.
|
||||
*/
|
||||
public getTargetById(targetId: string): Observable<RemoteData<OpenaireSuggestionTarget>> {
|
||||
public getTargetById(targetId: string): Observable<RemoteData<SuggestionTarget>> {
|
||||
return this.suggestionTargetsDataService.findById(targetId);
|
||||
}
|
||||
|
||||
@@ -261,7 +261,7 @@ export class OpenaireSuggestionsDataService {
|
||||
* Used to fetch Suggestion notification for user
|
||||
* @suggestionId
|
||||
*/
|
||||
public getSuggestion(suggestionId: string, ...linksToFollow: FollowLinkConfig<OpenaireSuggestion>[]): Observable<RemoteData<OpenaireSuggestion>> {
|
||||
public getSuggestion(suggestionId: string, ...linksToFollow: FollowLinkConfig<Suggestion>[]): Observable<RemoteData<Suggestion>> {
|
||||
return this.suggestionsDataService.findById(suggestionId, true, true, ...linksToFollow);
|
||||
}
|
||||
|
||||
@@ -276,15 +276,15 @@ export class OpenaireSuggestionsDataService {
|
||||
* Find list options object.
|
||||
* @param linksToFollow
|
||||
* List of {@link FollowLinkConfig} that indicate which {@link HALLink}s should be automatically resolved.
|
||||
* @return Observable<RemoteData<PaginatedList<OpenaireSuggestion>>>
|
||||
* @return Observable<RemoteData<PaginatedList<Suggestion>>>
|
||||
* The list of Suggestion.
|
||||
*/
|
||||
public getSuggestionsByTargetAndSource(
|
||||
target: string,
|
||||
source: string,
|
||||
options: FindListOptions = {},
|
||||
...linksToFollow: FollowLinkConfig<OpenaireSuggestion>[]
|
||||
): Observable<RemoteData<PaginatedList<OpenaireSuggestion>>> {
|
||||
...linksToFollow: FollowLinkConfig<Suggestion>[]
|
||||
): Observable<RemoteData<PaginatedList<Suggestion>>> {
|
||||
options.searchParams = [
|
||||
new RequestParam('target', target),
|
||||
new RequestParam('source', source)
|
@@ -1,9 +1,9 @@
|
||||
import { ResourceType } from '../../core/shared/resource-type';
|
||||
import { OpenaireSuggestionTarget } from '../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
|
||||
// REST Mock ---------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------
|
||||
export const mockSuggestionTargetsObjectOne: OpenaireSuggestionTarget = {
|
||||
export const mockSuggestionTargetsObjectOne: SuggestionTarget = {
|
||||
type: new ResourceType('suggestiontarget'),
|
||||
id: 'reciter:gf3d657-9d6d-4a87-b905-fef0f8cae26',
|
||||
display: 'Bollini, Andrea',
|
||||
@@ -22,7 +22,7 @@ export const mockSuggestionTargetsObjectOne: OpenaireSuggestionTarget = {
|
||||
}
|
||||
};
|
||||
|
||||
export const mockSuggestionTargetsObjectTwo: OpenaireSuggestionTarget = {
|
||||
export const mockSuggestionTargetsObjectTwo: SuggestionTarget = {
|
||||
type: new ResourceType('suggestiontarget'),
|
||||
id: 'reciter:nhy567-9d6d-ty67-b905-fef0f8cae26',
|
||||
display: 'Digilio, Andrea',
|
||||
|
@@ -2,10 +2,10 @@
|
||||
// REST Mock ---------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
import { OpenaireSuggestion } from '../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion.model';
|
||||
import { SUGGESTION } from '../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-objects.resource-type';
|
||||
import { Suggestion } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion.model';
|
||||
import { SUGGESTION } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion-objects.resource-type';
|
||||
|
||||
export const mockSuggestionPublicationOne: OpenaireSuggestion = {
|
||||
export const mockSuggestionPublicationOne: Suggestion = {
|
||||
id: '24694772',
|
||||
display: 'publication one',
|
||||
source: 'reciter',
|
||||
@@ -107,7 +107,7 @@ export const mockSuggestionPublicationOne: OpenaireSuggestion = {
|
||||
}
|
||||
};
|
||||
|
||||
export const mockSuggestionPublicationTwo: OpenaireSuggestion = {
|
||||
export const mockSuggestionPublicationTwo: Suggestion = {
|
||||
id: '24694772',
|
||||
display: 'publication two',
|
||||
source: 'reciter',
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import {createFeatureSelector, createSelector, MemoizedSelector} from '@ngrx/store';
|
||||
import { suggestionNotificationsSelector, SuggestionNotificationsState } from '../suggestion-notifications.reducer';
|
||||
import { OpenaireSuggestionTarget } from '../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
import { SuggestionTargetState } from './suggestion-targets/suggestion-targets.reducer';
|
||||
import {subStateSelector} from '../../submission/selectors';
|
||||
|
||||
@@ -10,7 +10,7 @@ import {subStateSelector} from '../../submission/selectors';
|
||||
* @param {AppState} state Top level state.
|
||||
* @return {SuggestionNotificationsState}
|
||||
*/
|
||||
const _getReciterSuggestionTargetState = createFeatureSelector<SuggestionNotificationsState>('openaire');
|
||||
const _getReciterSuggestionTargetState = createFeatureSelector<SuggestionNotificationsState>('suggestion-notifications');
|
||||
|
||||
// Reciter Suggestion Targets
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -29,8 +29,8 @@ export function reciterSuggestionTargetStateSelector(): MemoizedSelector<Suggest
|
||||
* @function reciterSuggestionTargetObjectSelector
|
||||
* @return {OpenaireReciterSuggestionTarget[]}
|
||||
*/
|
||||
export function reciterSuggestionTargetObjectSelector(): MemoizedSelector<SuggestionNotificationsState, OpenaireSuggestionTarget[]> {
|
||||
return subStateSelector<SuggestionNotificationsState, OpenaireSuggestionTarget[]>(reciterSuggestionTargetStateSelector(), 'targets');
|
||||
export function reciterSuggestionTargetObjectSelector(): MemoizedSelector<SuggestionNotificationsState, SuggestionTarget[]> {
|
||||
return subStateSelector<SuggestionNotificationsState, SuggestionTarget[]>(reciterSuggestionTargetStateSelector(), 'targets');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -81,7 +81,7 @@ export const getreciterSuggestionTargetTotalsSelector = createSelector(_getRecit
|
||||
/**
|
||||
* Returns Suggestion Targets for the current user.
|
||||
* @function getCurrentUserReciterSuggestionTargetSelector
|
||||
* @return {OpenaireSuggestionTarget[]}
|
||||
* @return {SuggestionTarget[]}
|
||||
*/
|
||||
export const getCurrentUserSuggestionTargetsSelector = createSelector(_getReciterSuggestionTargetState,
|
||||
(state: SuggestionNotificationsState) => state.suggestionTarget.currentUserTargets
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { ItemType } from '../../../core/shared/item-relationships/item-type.model';
|
||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { OpenaireSuggestion } from '../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion.model';
|
||||
import { Suggestion } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion.model';
|
||||
import { SuggestionApproveAndImport } from '../suggestion-list-element/suggestion-list-element.component';
|
||||
import { Collection } from '../../../core/shared/collection.model';
|
||||
import { take } from 'rxjs/operators';
|
||||
@@ -14,7 +14,7 @@ import { CreateItemParentSelectorComponent } from '../../../shared/dso-selector/
|
||||
})
|
||||
export class SuggestionActionsComponent {
|
||||
|
||||
@Input() object: OpenaireSuggestion;
|
||||
@Input() object: Suggestion;
|
||||
|
||||
@Input() isBulk = false;
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import { Component, Input } from '@angular/core';
|
||||
import { fadeIn } from '../../../../shared/animations/fade';
|
||||
import { SuggestionEvidences } from '../../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion.model';
|
||||
import { SuggestionEvidences } from '../../../../core/suggestion-notifications/reciter-suggestions/models/suggestion.model';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-suggestion-evidences',
|
||||
|
@@ -3,12 +3,12 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||
|
||||
import { fadeIn } from '../../../shared/animations/fade';
|
||||
import { OpenaireSuggestion } from '../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion.model';
|
||||
import { Suggestion } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion.model';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
import { isNotEmpty } from '../../../shared/empty.util';
|
||||
|
||||
export interface SuggestionApproveAndImport {
|
||||
suggestion: OpenaireSuggestion;
|
||||
suggestion: Suggestion;
|
||||
collectionId: string;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ export interface SuggestionApproveAndImport {
|
||||
})
|
||||
export class SuggestionListElementComponent implements OnInit {
|
||||
|
||||
@Input() object: OpenaireSuggestion;
|
||||
@Input() object: Suggestion;
|
||||
|
||||
@Input() isSelected = false;
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/* eslint-disable max-classes-per-file */
|
||||
import { Action } from '@ngrx/store';
|
||||
import { type } from '../../../shared/ngrx/type';
|
||||
import { OpenaireSuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
|
||||
/**
|
||||
* For each action type in an action group, make a simple
|
||||
@@ -66,7 +66,7 @@ export class RetrieveAllTargetsErrorAction implements Action {
|
||||
export class AddTargetAction implements Action {
|
||||
type = SuggestionTargetActionTypes.ADD_TARGETS;
|
||||
payload: {
|
||||
targets: OpenaireSuggestionTarget[];
|
||||
targets: SuggestionTarget[];
|
||||
totalPages: number;
|
||||
currentPage: number;
|
||||
totalElements: number;
|
||||
@@ -84,7 +84,7 @@ export class AddTargetAction implements Action {
|
||||
* @param totalElements
|
||||
* the total available Suggestion Targets
|
||||
*/
|
||||
constructor(targets: OpenaireSuggestionTarget[], totalPages: number, currentPage: number, totalElements: number) {
|
||||
constructor(targets: SuggestionTarget[], totalPages: number, currentPage: number, totalElements: number) {
|
||||
this.payload = {
|
||||
targets,
|
||||
totalPages,
|
||||
@@ -102,7 +102,7 @@ export class AddTargetAction implements Action {
|
||||
export class AddUserSuggestionsAction implements Action {
|
||||
type = SuggestionTargetActionTypes.ADD_USER_SUGGESTIONS;
|
||||
payload: {
|
||||
suggestionTargets: OpenaireSuggestionTarget[];
|
||||
suggestionTargets: SuggestionTarget[];
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -111,7 +111,7 @@ export class AddUserSuggestionsAction implements Action {
|
||||
* @param suggestionTargets
|
||||
* the user suggestions target
|
||||
*/
|
||||
constructor(suggestionTargets: OpenaireSuggestionTarget[]) {
|
||||
constructor(suggestionTargets: SuggestionTarget[]) {
|
||||
this.payload = { suggestionTargets };
|
||||
}
|
||||
|
||||
|
@@ -4,7 +4,7 @@ import { Router } from '@angular/router';
|
||||
import { Observable, Subscription } from 'rxjs';
|
||||
import { distinctUntilChanged, take } from 'rxjs/operators';
|
||||
|
||||
import { OpenaireSuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
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 { SuggestionTargetsStateService } from './suggestion-targets.state.service';
|
||||
@@ -39,7 +39,7 @@ export class SuggestionTargetsComponent implements OnInit {
|
||||
/**
|
||||
* The Suggestion Target list.
|
||||
*/
|
||||
public targets$: Observable<OpenaireSuggestionTarget[]>;
|
||||
public targets$: Observable<SuggestionTarget[]>;
|
||||
/**
|
||||
* The total number of Suggestion Targets.
|
||||
*/
|
||||
@@ -144,7 +144,7 @@ export class SuggestionTargetsComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
public getTargetUuid(target: OpenaireSuggestionTarget) {
|
||||
public getTargetUuid(target: SuggestionTarget) {
|
||||
return this.suggestionService.getTargetUuid(target);
|
||||
}
|
||||
}
|
||||
|
@@ -18,7 +18,7 @@ import { PaginatedList } from '../../../core/data/paginated-list.model';
|
||||
import { SuggestionsService } from '../suggestions.service';
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { AuthActionTypes, RetrieveAuthenticatedEpersonSuccessAction } from '../../../core/auth/auth.actions';
|
||||
import { OpenaireSuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
import { EPerson } from '../../../core/eperson/models/eperson.model';
|
||||
|
||||
/**
|
||||
@@ -38,7 +38,7 @@ export class SuggestionTargetsEffects {
|
||||
action.payload.elementsPerPage,
|
||||
action.payload.currentPage
|
||||
).pipe(
|
||||
map((targets: PaginatedList<OpenaireSuggestionTarget>) =>
|
||||
map((targets: PaginatedList<SuggestionTarget>) =>
|
||||
new AddTargetAction(targets.page, targets.totalPages, targets.currentPage, targets.totalElements)
|
||||
),
|
||||
catchError((error: Error) => {
|
||||
@@ -68,7 +68,7 @@ export class SuggestionTargetsEffects {
|
||||
ofType(AuthActionTypes.RETRIEVE_AUTHENTICATED_EPERSON_SUCCESS),
|
||||
switchMap((action: RetrieveAuthenticatedEpersonSuccessAction) => {
|
||||
return this.suggestionsService.retrieveCurrentUserSuggestions(action.payload).pipe(
|
||||
map((suggestionTargets: OpenaireSuggestionTarget[]) => new AddUserSuggestionsAction(suggestionTargets))
|
||||
map((suggestionTargets: SuggestionTarget[]) => new AddUserSuggestionsAction(suggestionTargets))
|
||||
);
|
||||
}));
|
||||
|
||||
@@ -83,7 +83,7 @@ export class SuggestionTargetsEffects {
|
||||
switchMap((userId: string) => {
|
||||
return this.suggestionsService.retrieveCurrentUserSuggestions(userId)
|
||||
.pipe(
|
||||
map((suggestionTargets: OpenaireSuggestionTarget[]) => new AddUserSuggestionsAction(suggestionTargets)),
|
||||
map((suggestionTargets: SuggestionTarget[]) => new AddUserSuggestionsAction(suggestionTargets)),
|
||||
catchError((errors) => of(errors))
|
||||
);
|
||||
}),
|
||||
|
@@ -1,17 +1,17 @@
|
||||
import { SuggestionTargetActionTypes, SuggestionTargetsActions } from './suggestion-targets.actions';
|
||||
import { OpenaireSuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
|
||||
/**
|
||||
* The interface representing the OpenAIRE suggestion targets state.
|
||||
*/
|
||||
export interface SuggestionTargetState {
|
||||
targets: OpenaireSuggestionTarget[];
|
||||
targets: SuggestionTarget[];
|
||||
processing: boolean;
|
||||
loaded: boolean;
|
||||
totalPages: number;
|
||||
currentPage: number;
|
||||
totalElements: number;
|
||||
currentUserTargets: OpenaireSuggestionTarget[];
|
||||
currentUserTargets: SuggestionTarget[];
|
||||
currentUserTargetsVisited: boolean;
|
||||
}
|
||||
|
||||
|
@@ -13,7 +13,7 @@ import {
|
||||
isreciterSuggestionTargetProcessingSelector,
|
||||
reciterSuggestionTargetObjectSelector
|
||||
} from '../selectors';
|
||||
import { OpenaireSuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
import {
|
||||
ClearSuggestionTargetsAction,
|
||||
MarkUserSuggestionsAsVisitedAction,
|
||||
@@ -40,7 +40,7 @@ export class SuggestionTargetsStateService {
|
||||
* @return Observable<OpenaireReciterSuggestionTarget>
|
||||
* The list of Reciter Suggestion Targets.
|
||||
*/
|
||||
public getReciterSuggestionTargets(): Observable<OpenaireSuggestionTarget[]> {
|
||||
public getReciterSuggestionTargets(): Observable<SuggestionTarget[]> {
|
||||
return this.store.pipe(select(reciterSuggestionTargetObjectSelector()));
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ export class SuggestionTargetsStateService {
|
||||
* @return Observable<OpenaireReciterSuggestionTarget>
|
||||
* The Reciter Suggestion Targets object.
|
||||
*/
|
||||
public getCurrentUserSuggestionTargets(): Observable<OpenaireSuggestionTarget[]> {
|
||||
public getCurrentUserSuggestionTargets(): Observable<SuggestionTarget[]> {
|
||||
return this.store.pipe(select(getCurrentUserSuggestionTargetsSelector));
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { OpenaireSuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/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';
|
||||
@@ -18,7 +18,7 @@ export class SuggestionsNotificationComponent implements OnInit {
|
||||
/**
|
||||
* The user suggestion targets.
|
||||
*/
|
||||
suggestionsRD$: Observable<OpenaireSuggestionTarget[]>;
|
||||
suggestionsRD$: Observable<SuggestionTarget[]>;
|
||||
|
||||
constructor(
|
||||
private translateService: TranslateService,
|
||||
@@ -35,7 +35,7 @@ export class SuggestionsNotificationComponent implements OnInit {
|
||||
* Interpolated params to build the notification suggestions notification.
|
||||
* @param suggestionTarget
|
||||
*/
|
||||
public getNotificationSuggestionInterpolation(suggestionTarget: OpenaireSuggestionTarget): any {
|
||||
public getNotificationSuggestionInterpolation(suggestionTarget: SuggestionTarget): any {
|
||||
return this.suggestionsService.getNotificationSuggestionInterpolation(suggestionTarget);
|
||||
}
|
||||
|
||||
|
@@ -4,7 +4,7 @@ import { SuggestionTargetsStateService } from '../suggestion-targets/suggestion-
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { SuggestionsService } from '../suggestions.service';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { OpenaireSuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
import { isNotEmpty } from '../../../shared/empty.util';
|
||||
import { combineLatest, Subject } from 'rxjs';
|
||||
|
||||
@@ -38,7 +38,7 @@ export class SuggestionsPopupComponent implements OnInit, OnDestroy {
|
||||
]).pipe(takeUntil(notifier)).subscribe(([suggestions, visited]) => {
|
||||
if (isNotEmpty(suggestions)) {
|
||||
if (!visited) {
|
||||
suggestions.forEach((suggestionTarget: OpenaireSuggestionTarget) => this.showNotificationForNewSuggestions(suggestionTarget));
|
||||
suggestions.forEach((suggestionTarget: SuggestionTarget) => this.showNotificationForNewSuggestions(suggestionTarget));
|
||||
this.reciterSuggestionStateService.dispatchMarkUserSuggestionsAsVisitedAction();
|
||||
notifier.next(null);
|
||||
notifier.complete();
|
||||
@@ -52,7 +52,7 @@ export class SuggestionsPopupComponent implements OnInit, OnDestroy {
|
||||
* @param suggestionTarget
|
||||
* @private
|
||||
*/
|
||||
private showNotificationForNewSuggestions(suggestionTarget: OpenaireSuggestionTarget): void {
|
||||
private showNotificationForNewSuggestions(suggestionTarget: SuggestionTarget): void {
|
||||
const content = this.translateService.instant(this.labelPrefix + 'notification.suggestion',
|
||||
this.suggestionsService.getNotificationSuggestionInterpolation(suggestionTarget));
|
||||
this.notificationsService.success('', content, {timeOut:0}, true);
|
||||
|
@@ -3,11 +3,11 @@ import { Injectable } from '@angular/core';
|
||||
import { of, forkJoin, Observable } from 'rxjs';
|
||||
import { catchError, map, mergeMap, take } from 'rxjs/operators';
|
||||
|
||||
import { OpenaireSuggestionsDataService } from '../../core/suggestion-notifications/reciter-suggestions/openaire-suggestions-data.service';
|
||||
import { SuggestionsDataService } from '../../core/suggestion-notifications/reciter-suggestions/suggestions-data.service';
|
||||
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 { OpenaireSuggestionTarget } from '../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
import { ResearcherProfileService } from '../../core/profile/researcher-profile.service';
|
||||
import { AuthService } from '../../core/auth/auth.service';
|
||||
import { EPerson } from '../../core/eperson/models/eperson.model';
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
getFirstSucceededRemoteDataPayload,
|
||||
getFirstSucceededRemoteListPayload
|
||||
} from '../../core/shared/operators';
|
||||
import { OpenaireSuggestion } from '../../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion.model';
|
||||
import { Suggestion } from '../../core/suggestion-notifications/reciter-suggestions/models/suggestion.model';
|
||||
import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { NoContent } from '../../core/shared/NoContent.model';
|
||||
@@ -43,12 +43,12 @@ export class SuggestionsService {
|
||||
* Initialize the service variables.
|
||||
* @param {AuthService} authService
|
||||
* @param {ResearcherProfileService} researcherProfileService
|
||||
* @param {OpenaireSuggestionsDataService} suggestionsDataService
|
||||
* @param {SuggestionsDataService} suggestionsDataService
|
||||
*/
|
||||
constructor(
|
||||
private authService: AuthService,
|
||||
private researcherProfileService: ResearcherProfileService,
|
||||
private suggestionsDataService: OpenaireSuggestionsDataService,
|
||||
private suggestionsDataService: SuggestionsDataService,
|
||||
private translateService: TranslateService
|
||||
) {
|
||||
}
|
||||
@@ -65,7 +65,7 @@ export class SuggestionsService {
|
||||
* @return Observable<PaginatedList<OpenaireReciterSuggestionTarget>>
|
||||
* The list of Suggestion Targets.
|
||||
*/
|
||||
public getTargets(source, elementsPerPage, currentPage): Observable<PaginatedList<OpenaireSuggestionTarget>> {
|
||||
public getTargets(source, elementsPerPage, currentPage): Observable<PaginatedList<SuggestionTarget>> {
|
||||
const sortOptions = new SortOptions('display', SortDirection.ASC);
|
||||
|
||||
const findListOptions: FindListOptions = {
|
||||
@@ -77,7 +77,7 @@ export class SuggestionsService {
|
||||
return this.suggestionsDataService.getTargets(source, findListOptions).pipe(
|
||||
getFinishedRemoteData(),
|
||||
take(1),
|
||||
map((rd: RemoteData<PaginatedList<OpenaireSuggestionTarget>>) => {
|
||||
map((rd: RemoteData<PaginatedList<SuggestionTarget>>) => {
|
||||
if (rd.hasSucceeded) {
|
||||
return rd.payload;
|
||||
} else {
|
||||
@@ -98,10 +98,10 @@ export class SuggestionsService {
|
||||
* The page number to retrieve
|
||||
* @param sortOptions
|
||||
* The sort options
|
||||
* @return Observable<RemoteData<PaginatedList<OpenaireSuggestion>>>
|
||||
* @return Observable<RemoteData<PaginatedList<Suggestion>>>
|
||||
* The list of Suggestion.
|
||||
*/
|
||||
public getSuggestions(targetId: string, elementsPerPage, currentPage, sortOptions: SortOptions): Observable<PaginatedList<OpenaireSuggestion>> {
|
||||
public getSuggestions(targetId: string, elementsPerPage, currentPage, sortOptions: SortOptions): Observable<PaginatedList<Suggestion>> {
|
||||
const [source, target] = targetId.split(':');
|
||||
|
||||
const findListOptions: FindListOptions = {
|
||||
@@ -145,7 +145,7 @@ export class SuggestionsService {
|
||||
* @param userUuid
|
||||
* The EPerson id for which to retrieve suggestion targets
|
||||
*/
|
||||
public retrieveCurrentUserSuggestions(userUuid: string): Observable<OpenaireSuggestionTarget[]> {
|
||||
public retrieveCurrentUserSuggestions(userUuid: string): Observable<SuggestionTarget[]> {
|
||||
return this.researcherProfileService.findById(userUuid).pipe(
|
||||
getFirstSucceededRemoteDataPayload(),
|
||||
mergeMap((profile: ResearcherProfile) => {
|
||||
@@ -173,7 +173,7 @@ export class SuggestionsService {
|
||||
* @private
|
||||
*/
|
||||
public approveAndImport(workspaceitemService: WorkspaceitemDataService,
|
||||
suggestion: OpenaireSuggestion,
|
||||
suggestion: Suggestion,
|
||||
collectionId: string): Observable<WorkspaceItem> {
|
||||
|
||||
const resolvedCollectionId = this.resolveCollectionId(suggestion, collectionId);
|
||||
@@ -201,10 +201,10 @@ export class SuggestionsService {
|
||||
* @param collectionId the collectionId
|
||||
*/
|
||||
public approveAndImportMultiple(workspaceitemService: WorkspaceitemDataService,
|
||||
suggestions: OpenaireSuggestion[],
|
||||
suggestions: Suggestion[],
|
||||
collectionId: string): Observable<SuggestionBulkResult> {
|
||||
|
||||
return forkJoin(suggestions.map((suggestion: OpenaireSuggestion) =>
|
||||
return forkJoin(suggestions.map((suggestion: Suggestion) =>
|
||||
this.approveAndImport(workspaceitemService, suggestion, collectionId)))
|
||||
.pipe(map((results: WorkspaceItem[]) => {
|
||||
return {
|
||||
@@ -218,8 +218,8 @@ export class SuggestionsService {
|
||||
* Perform a bulk notMine operation.
|
||||
* @param suggestions the array containing the suggestions
|
||||
*/
|
||||
public notMineMultiple(suggestions: OpenaireSuggestion[]): Observable<SuggestionBulkResult> {
|
||||
return forkJoin(suggestions.map((suggestion: OpenaireSuggestion) => this.notMine(suggestion.id)))
|
||||
public notMineMultiple(suggestions: Suggestion[]): Observable<SuggestionBulkResult> {
|
||||
return forkJoin(suggestions.map((suggestion: Suggestion) => this.notMine(suggestion.id)))
|
||||
.pipe(map((results: RemoteData<NoContent>[]) => {
|
||||
return {
|
||||
success: results.filter((result) => result != null).length,
|
||||
@@ -234,7 +234,7 @@ export class SuggestionsService {
|
||||
* @param target
|
||||
* @return the researchUuid
|
||||
*/
|
||||
public getTargetUuid(target: OpenaireSuggestionTarget): string {
|
||||
public getTargetUuid(target: SuggestionTarget): string {
|
||||
const tokens = target.id.split(':');
|
||||
return tokens.length === 2 ? tokens[1] : null;
|
||||
}
|
||||
@@ -243,7 +243,7 @@ export class SuggestionsService {
|
||||
* Interpolated params to build the notification suggestions notification.
|
||||
* @param suggestionTarget
|
||||
*/
|
||||
public getNotificationSuggestionInterpolation(suggestionTarget: OpenaireSuggestionTarget): any {
|
||||
public getNotificationSuggestionInterpolation(suggestionTarget: SuggestionTarget): any {
|
||||
return {
|
||||
count: suggestionTarget.total,
|
||||
source: this.translateService.instant(this.translateSuggestionSource(suggestionTarget.source)),
|
||||
@@ -266,7 +266,7 @@ export class SuggestionsService {
|
||||
* @param suggestion
|
||||
* @param collectionId
|
||||
*/
|
||||
public resolveCollectionId(suggestion: OpenaireSuggestion, collectionId): string {
|
||||
public resolveCollectionId(suggestion: Suggestion, collectionId): string {
|
||||
if (hasValue(collectionId)) {
|
||||
return collectionId;
|
||||
}
|
||||
@@ -280,13 +280,13 @@ export class SuggestionsService {
|
||||
* in the configuration.
|
||||
* @param suggestions
|
||||
*/
|
||||
public isCollectionFixed(suggestions: OpenaireSuggestion[]): boolean {
|
||||
public isCollectionFixed(suggestions: Suggestion[]): boolean {
|
||||
return this.getFixedCollectionIds(suggestions).length === 1;
|
||||
}
|
||||
|
||||
private getFixedCollectionIds(suggestions: OpenaireSuggestion[]): string[] {
|
||||
private getFixedCollectionIds(suggestions: Suggestion[]): string[] {
|
||||
const collectionIds = {};
|
||||
suggestions.forEach((suggestion: OpenaireSuggestion) => {
|
||||
suggestions.forEach((suggestion: Suggestion) => {
|
||||
const conf = environment.suggestion.find((suggestionConf: SuggestionConfig) => suggestionConf.source === suggestion.source);
|
||||
if (hasValue(conf)) {
|
||||
collectionIds[conf.collectionId] = true;
|
||||
|
@@ -12,7 +12,7 @@ import { QualityAssuranceSourceObject } from '../core/suggestion-notifications/q
|
||||
* @param {AppState} state Top level state.
|
||||
* @return {SuggestionNotificationsState}
|
||||
*/
|
||||
const _getNotificationsState = createFeatureSelector<SuggestionNotificationsState>('notifications');
|
||||
const _getNotificationsState = createFeatureSelector<SuggestionNotificationsState>('suggestion-notifications');
|
||||
|
||||
// Quality Assurance topics
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@@ -34,13 +34,13 @@ import {SuggestionActionsComponent} from './reciter-suggestions/suggestion-actio
|
||||
import {SuggestionTargetsComponent} from './reciter-suggestions/suggestion-targets/suggestion-targets.component';
|
||||
import {SuggestionTargetsStateService} from './reciter-suggestions/suggestion-targets/suggestion-targets.state.service';
|
||||
import {SuggestionsService} from './reciter-suggestions/suggestions.service';
|
||||
import {OpenaireSuggestionsDataService} from '../core/suggestion-notifications/reciter-suggestions/openaire-suggestions-data.service';
|
||||
import {SuggestionsDataService} from '../core/suggestion-notifications/reciter-suggestions/suggestions-data.service';
|
||||
|
||||
const MODULES = [
|
||||
CommonModule,
|
||||
SharedModule,
|
||||
CoreModule.forRoot(),
|
||||
StoreModule.forFeature('notifications', suggestionNotificationsReducers, storeModuleConfig as StoreConfig<SuggestionNotificationsState, Action>),
|
||||
StoreModule.forFeature('suggestion-notifications', suggestionNotificationsReducers, storeModuleConfig as StoreConfig<SuggestionNotificationsState, Action>),
|
||||
EffectsModule.forFeature(suggestionNotificationsEffects),
|
||||
TranslateModule
|
||||
];
|
||||
@@ -72,7 +72,7 @@ const PROVIDERS = [
|
||||
QualityAssuranceEventRestService,
|
||||
SuggestionTargetsStateService,
|
||||
SuggestionsService,
|
||||
OpenaireSuggestionsDataService
|
||||
SuggestionsDataService
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
@@ -21,4 +21,4 @@ export const suggestionNotificationsReducers: ActionReducerMap<SuggestionNotific
|
||||
suggestionTarget: SuggestionTargetsReducer
|
||||
};
|
||||
|
||||
export const suggestionNotificationsSelector = createFeatureSelector<SuggestionNotificationsState>('notifications');
|
||||
export const suggestionNotificationsSelector = createFeatureSelector<SuggestionNotificationsState>('suggestion-notifications');
|
||||
|
@@ -9,9 +9,9 @@ import { of as observableOf } from 'rxjs';
|
||||
import { SuggestionsPageComponent } from './suggestions-page.component';
|
||||
import { SuggestionListElementComponent } from '../suggestion-notifications/reciter-suggestions/suggestion-list-element/suggestion-list-element.component';
|
||||
import { SuggestionsService } from '../suggestion-notifications/reciter-suggestions/suggestions.service';
|
||||
import { getMockSuggestionNotificationsStateService, getMockSuggestionsService } from '../shared/mocks/openaire.mock';
|
||||
import { getMockSuggestionNotificationsStateService, getMockSuggestionsService } from '../shared/mocks/suggestion.mock';
|
||||
import { buildPaginatedList, PaginatedList } from '../core/data/paginated-list.model';
|
||||
import { OpenaireSuggestion } from '../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion.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 { ObjectKeysPipe } from '../shared/utils/object-keys-pipe';
|
||||
@@ -38,7 +38,7 @@ describe('SuggestionPageComponent', () => {
|
||||
let scheduler: TestScheduler;
|
||||
const mockSuggestionsService = getMockSuggestionsService();
|
||||
const mockSuggestionsTargetStateService = getMockSuggestionNotificationsStateService();
|
||||
const suggestionTargetsList: PaginatedList<OpenaireSuggestion> = buildPaginatedList(new PageInfo(), [mockSuggestionPublicationOne, mockSuggestionPublicationTwo]);
|
||||
const suggestionTargetsList: PaginatedList<Suggestion> = buildPaginatedList(new PageInfo(), [mockSuggestionPublicationOne, mockSuggestionPublicationTwo]);
|
||||
const router = new RouterStub();
|
||||
const routeStub = {
|
||||
data: observableOf({
|
||||
|
@@ -11,8 +11,8 @@ import { RemoteData } from '../core/data/remote-data';
|
||||
import { getFirstSucceededRemoteDataPayload } from '../core/shared/operators';
|
||||
import { SuggestionBulkResult, SuggestionsService } from '../suggestion-notifications/reciter-suggestions/suggestions.service';
|
||||
import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model';
|
||||
import { OpenaireSuggestion } from '../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion.model';
|
||||
import { OpenaireSuggestionTarget } from '../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.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 { AuthService } from '../core/auth/auth.service';
|
||||
import { SuggestionApproveAndImport } from '../suggestion-notifications/reciter-suggestions/suggestion-list-element/suggestion-list-element.component';
|
||||
import { NotificationsService } from '../shared/notifications/notifications.service';
|
||||
@@ -56,18 +56,18 @@ export class SuggestionsPageComponent implements OnInit {
|
||||
/**
|
||||
* A list of remote data objects of suggestions
|
||||
*/
|
||||
suggestionsRD$: BehaviorSubject<PaginatedList<OpenaireSuggestion>> = new BehaviorSubject<PaginatedList<OpenaireSuggestion>>({} as any);
|
||||
suggestionsRD$: BehaviorSubject<PaginatedList<Suggestion>> = new BehaviorSubject<PaginatedList<Suggestion>>({} as any);
|
||||
|
||||
targetRD$: Observable<RemoteData<OpenaireSuggestionTarget>>;
|
||||
targetRD$: Observable<RemoteData<SuggestionTarget>>;
|
||||
targetId$: Observable<string>;
|
||||
|
||||
suggestionTarget: OpenaireSuggestionTarget;
|
||||
suggestionTarget: SuggestionTarget;
|
||||
suggestionId: any;
|
||||
suggestionSource: any;
|
||||
researcherName: any;
|
||||
researcherUuid: any;
|
||||
|
||||
selectedSuggestions: { [id: string]: OpenaireSuggestion } = {};
|
||||
selectedSuggestions: { [id: string]: Suggestion } = {};
|
||||
isBulkOperationPending = false;
|
||||
|
||||
constructor(
|
||||
@@ -85,17 +85,17 @@ export class SuggestionsPageComponent implements OnInit {
|
||||
|
||||
ngOnInit(): void {
|
||||
this.targetRD$ = this.route.data.pipe(
|
||||
map((data: Data) => data.suggestionTargets as RemoteData<OpenaireSuggestionTarget>),
|
||||
map((data: Data) => data.suggestionTargets as RemoteData<SuggestionTarget>),
|
||||
redirectOn4xx(this.router, this.authService)
|
||||
);
|
||||
|
||||
this.targetId$ = this.targetRD$.pipe(
|
||||
getFirstSucceededRemoteDataPayload(),
|
||||
map((target: OpenaireSuggestionTarget) => target.id)
|
||||
map((target: SuggestionTarget) => target.id)
|
||||
);
|
||||
this.targetRD$.pipe(
|
||||
getFirstSucceededRemoteDataPayload()
|
||||
).subscribe((suggestionTarget: OpenaireSuggestionTarget) => {
|
||||
).subscribe((suggestionTarget: SuggestionTarget) => {
|
||||
this.suggestionTarget = suggestionTarget;
|
||||
this.suggestionId = suggestionTarget.id;
|
||||
this.researcherName = suggestionTarget.display;
|
||||
@@ -135,7 +135,7 @@ export class SuggestionsPageComponent implements OnInit {
|
||||
);
|
||||
}),
|
||||
take(1)
|
||||
).subscribe((results: PaginatedList<OpenaireSuggestion>) => {
|
||||
).subscribe((results: PaginatedList<Suggestion>) => {
|
||||
this.processing$.next(false);
|
||||
this.suggestionsRD$.next(results);
|
||||
this.suggestionService.clearSuggestionRequests();
|
||||
@@ -232,7 +232,7 @@ export class SuggestionsPageComponent implements OnInit {
|
||||
* @param object the suggestions
|
||||
* @param selected the new selected value for the suggestion
|
||||
*/
|
||||
onSelected(object: OpenaireSuggestion, selected: boolean) {
|
||||
onSelected(object: Suggestion, selected: boolean) {
|
||||
if (selected) {
|
||||
this.selectedSuggestions[object.id] = object;
|
||||
} else {
|
||||
@@ -244,7 +244,7 @@ export class SuggestionsPageComponent implements OnInit {
|
||||
* When Toggle Select All occurs.
|
||||
* @param suggestions all the visible suggestions inside the page
|
||||
*/
|
||||
onToggleSelectAll(suggestions: OpenaireSuggestion[]) {
|
||||
onToggleSelectAll(suggestions: Suggestion[]) {
|
||||
if ( this.getSelectedSuggestionsCount() > 0) {
|
||||
this.selectedSuggestions = {};
|
||||
} else {
|
||||
@@ -265,7 +265,7 @@ export class SuggestionsPageComponent implements OnInit {
|
||||
* Return true if all the suggestion are configured with the same fixed collection in the configuration.
|
||||
* @param suggestions
|
||||
*/
|
||||
isCollectionFixed(suggestions: OpenaireSuggestion[]): boolean {
|
||||
isCollectionFixed(suggestions: Suggestion[]): boolean {
|
||||
return this.suggestionService.isCollectionFixed(suggestions);
|
||||
}
|
||||
|
||||
|
@@ -5,7 +5,7 @@ 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 { OpenaireSuggestionsDataService } from '../core/suggestion-notifications/reciter-suggestions/openaire-suggestions-data.service';
|
||||
import { SuggestionsDataService } from '../core/suggestion-notifications/reciter-suggestions/suggestions-data.service';
|
||||
import {SuggestionNotificationsModule} from '../suggestion-notifications/suggestion-notifications.module';
|
||||
|
||||
@NgModule({
|
||||
@@ -17,7 +17,7 @@ import {SuggestionNotificationsModule} from '../suggestion-notifications/suggest
|
||||
SuggestionsPageRoutingModule
|
||||
],
|
||||
providers: [
|
||||
OpenaireSuggestionsDataService,
|
||||
SuggestionsDataService,
|
||||
SuggestionsService
|
||||
]
|
||||
})
|
||||
|
@@ -6,15 +6,15 @@ import { find } from 'rxjs/operators';
|
||||
|
||||
import { RemoteData } from '../core/data/remote-data';
|
||||
import { hasValue } from '../shared/empty.util';
|
||||
import { OpenaireSuggestionsDataService } from '../core/suggestion-notifications/reciter-suggestions/openaire-suggestions-data.service';
|
||||
import { OpenaireSuggestionTarget } from '../core/suggestion-notifications/reciter-suggestions/models/openaire-suggestion-target.model';
|
||||
import { SuggestionsDataService } from '../core/suggestion-notifications/reciter-suggestions/suggestions-data.service';
|
||||
import { SuggestionTarget } from '../core/suggestion-notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
|
||||
/**
|
||||
* This class represents a resolver that requests a specific collection before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
export class SuggestionsPageResolver implements Resolve<RemoteData<OpenaireSuggestionTarget>> {
|
||||
constructor(private suggestionsDataService: OpenaireSuggestionsDataService) {
|
||||
export class SuggestionsPageResolver implements Resolve<RemoteData<SuggestionTarget>> {
|
||||
constructor(private suggestionsDataService: SuggestionsDataService) {
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -24,7 +24,7 @@ export class SuggestionsPageResolver implements Resolve<RemoteData<OpenaireSugge
|
||||
* @returns Observable<<RemoteData<Collection>> Emits the found collection based on the parameters in the current route,
|
||||
* or an error if something went wrong
|
||||
*/
|
||||
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<RemoteData<OpenaireSuggestionTarget>> {
|
||||
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<RemoteData<SuggestionTarget>> {
|
||||
return this.suggestionsDataService.getTargetById(route.params.targetId).pipe(
|
||||
find((RD) => hasValue(RD.hasFailed) || RD.hasSucceeded),
|
||||
);
|
||||
|
Reference in New Issue
Block a user