mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 02:24:11 +00:00
Fix merge conflicts
This commit is contained in:
@@ -4,11 +4,7 @@ import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/r
|
||||
/**
|
||||
* Interface for the route parameters.
|
||||
*/
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service.ts
|
||||
export interface NotificationsSuggestionTargetsPageParams {
|
||||
========
|
||||
export interface AdminNotificationsPublicationClaimPageParams {
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service.ts
|
||||
pageId?: string;
|
||||
pageSize?: number;
|
||||
currentPage?: number;
|
||||
@@ -18,11 +14,7 @@ export interface AdminNotificationsPublicationClaimPageParams {
|
||||
* This class represents a resolver that retrieve the route data before the route is activated.
|
||||
*/
|
||||
@Injectable()
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service.ts
|
||||
export class NotificationsSuggestionTargetsPageResolver implements Resolve<NotificationsSuggestionTargetsPageParams> {
|
||||
========
|
||||
export class AdminNotificationsPublicationClaimPageResolver implements Resolve<AdminNotificationsPublicationClaimPageParams> {
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service.ts
|
||||
|
||||
/**
|
||||
* Method for resolving the parameters in the current route.
|
||||
@@ -30,11 +22,7 @@ export class AdminNotificationsPublicationClaimPageResolver implements Resolve<A
|
||||
* @param {RouterStateSnapshot} state The current RouterStateSnapshot
|
||||
* @returns AdminNotificationsSuggestionTargetsPageParams Emits the route parameters
|
||||
*/
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service.ts
|
||||
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): NotificationsSuggestionTargetsPageParams {
|
||||
========
|
||||
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): AdminNotificationsPublicationClaimPageParams {
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service.ts
|
||||
return {
|
||||
pageId: route.queryParams.pageId,
|
||||
pageSize: parseInt(route.queryParams.pageSize, 10),
|
||||
|
@@ -1,23 +1,15 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.spec.ts
|
||||
import { NotificationsSuggestionTargetsPageComponent } from './notifications-suggestion-targets-page.component';
|
||||
========
|
||||
import { AdminNotificationsPublicationClaimPageComponent } from './admin-notifications-publication-claim-page.component';
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import {
|
||||
NotificationsSuggestionTargetsPageComponent
|
||||
} from '../../../quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component';
|
||||
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.spec.ts
|
||||
describe('NotificationsSuggestionTargetsPageComponent', () => {
|
||||
let component: NotificationsSuggestionTargetsPageComponent;
|
||||
let fixture: ComponentFixture<NotificationsSuggestionTargetsPageComponent>;
|
||||
========
|
||||
describe('AdminNotificationsPublicationClaimPageComponent', () => {
|
||||
let component: AdminNotificationsPublicationClaimPageComponent;
|
||||
let fixture: ComponentFixture<AdminNotificationsPublicationClaimPageComponent>;
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
@@ -26,17 +18,10 @@ describe('AdminNotificationsPublicationClaimPageComponent', () => {
|
||||
TranslateModule.forRoot()
|
||||
],
|
||||
declarations: [
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.spec.ts
|
||||
NotificationsSuggestionTargetsPageComponent
|
||||
],
|
||||
providers: [
|
||||
NotificationsSuggestionTargetsPageComponent
|
||||
========
|
||||
AdminNotificationsPublicationClaimPageComponent
|
||||
],
|
||||
providers: [
|
||||
AdminNotificationsPublicationClaimPageComponent
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
@@ -44,11 +29,7 @@ describe('AdminNotificationsPublicationClaimPageComponent', () => {
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.spec.ts
|
||||
fixture = TestBed.createComponent(NotificationsSuggestionTargetsPageComponent);
|
||||
========
|
||||
fixture = TestBed.createComponent(AdminNotificationsPublicationClaimPageComponent);
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
@@ -6,19 +6,34 @@ import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.r
|
||||
import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service';
|
||||
import { PUBLICATION_CLAIMS_PATH } from './admin-notifications-routing-paths';
|
||||
import { AdminNotificationsPublicationClaimPageComponent } 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';
|
||||
import { AdminQualityAssuranceTopicsPageResolver } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page-resolver.service';
|
||||
import { AdminQualityAssuranceEventsPageResolver } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.resolver';
|
||||
import { AdminQualityAssuranceSourcePageComponent } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page.component';
|
||||
import { AdminQualityAssuranceSourcePageResolver } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page-resolver.service';
|
||||
import { QualityAssuranceBreadcrumbResolver } from '../../core/breadcrumbs/quality-assurance-breadcrumb.resolver';
|
||||
import { QualityAssuranceBreadcrumbService } from '../../core/breadcrumbs/quality-assurance-breadcrumb.service';
|
||||
import {
|
||||
AdminNotificationsPublicationClaimPageResolver
|
||||
} from '../../quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service';
|
||||
import {
|
||||
QualityAssuranceTopicsPageComponent
|
||||
} from '../../quality-assurance-notifications-pages/quality-assurance-topics-page/quality-assurance-topics-page.component';
|
||||
import {
|
||||
QualityAssuranceTopicsPageResolver
|
||||
} from '../../quality-assurance-notifications-pages/quality-assurance-topics-page/quality-assurance-topics-page-resolver.service';
|
||||
import {
|
||||
SourceDataResolver
|
||||
} from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.resolver';
|
||||
} from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-data.resolver';
|
||||
import {
|
||||
QualityAssuranceEventsPageResolver
|
||||
} from '../../quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.resolver';
|
||||
import {
|
||||
QualityAssuranceEventsPageComponent
|
||||
} from '../../quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.component';
|
||||
import {
|
||||
QualityAssuranceSourcePageResolver
|
||||
} from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page-resolver.service';
|
||||
import {
|
||||
QualityAssuranceSourcePageComponent
|
||||
} from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page.component';
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -41,11 +56,11 @@ import {
|
||||
{
|
||||
canActivate: [ AuthenticatedGuard ],
|
||||
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId`,
|
||||
component: AdminQualityAssuranceTopicsPageComponent,
|
||||
component: QualityAssuranceTopicsPageComponent,
|
||||
pathMatch: 'full',
|
||||
resolve: {
|
||||
breadcrumb: QualityAssuranceBreadcrumbResolver,
|
||||
openaireQualityAssuranceTopicsParams: AdminQualityAssuranceTopicsPageResolver
|
||||
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver
|
||||
},
|
||||
data: {
|
||||
title: 'admin.quality-assurance.page.title',
|
||||
@@ -56,11 +71,11 @@ import {
|
||||
{
|
||||
canActivate: [ AuthenticatedGuard ],
|
||||
path: `${QUALITY_ASSURANCE_EDIT_PATH}`,
|
||||
component: AdminQualityAssuranceSourcePageComponent,
|
||||
component: QualityAssuranceSourcePageComponent,
|
||||
pathMatch: 'full',
|
||||
resolve: {
|
||||
breadcrumb: I18nBreadcrumbResolver,
|
||||
openaireQualityAssuranceSourceParams: AdminQualityAssuranceSourcePageResolver,
|
||||
openaireQualityAssuranceSourceParams: QualityAssuranceSourcePageResolver,
|
||||
sourceData: SourceDataResolver
|
||||
},
|
||||
data: {
|
||||
@@ -72,11 +87,11 @@ import {
|
||||
{
|
||||
canActivate: [ AuthenticatedGuard ],
|
||||
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId/:topicId`,
|
||||
component: AdminQualityAssuranceEventsPageComponent,
|
||||
component: QualityAssuranceEventsPageComponent,
|
||||
pathMatch: 'full',
|
||||
resolve: {
|
||||
breadcrumb: QualityAssuranceBreadcrumbResolver,
|
||||
openaireQualityAssuranceEventsParams: AdminQualityAssuranceEventsPageResolver
|
||||
openaireQualityAssuranceEventsParams: QualityAssuranceEventsPageResolver
|
||||
},
|
||||
data: {
|
||||
title: 'admin.notifications.event.page.title',
|
||||
@@ -91,10 +106,10 @@ import {
|
||||
I18nBreadcrumbsService,
|
||||
AdminNotificationsPublicationClaimPageResolver,
|
||||
SourceDataResolver,
|
||||
AdminQualityAssuranceSourcePageResolver,
|
||||
AdminQualityAssuranceTopicsPageResolver,
|
||||
AdminQualityAssuranceEventsPageResolver,
|
||||
AdminQualityAssuranceSourcePageResolver,
|
||||
QualityAssuranceSourcePageResolver,
|
||||
QualityAssuranceTopicsPageResolver,
|
||||
QualityAssuranceEventsPageResolver,
|
||||
QualityAssuranceSourcePageResolver,
|
||||
QualityAssuranceBreadcrumbResolver,
|
||||
QualityAssuranceBreadcrumbService
|
||||
]
|
||||
|
@@ -4,11 +4,14 @@ import { CoreModule } from '../../core/core.module';
|
||||
import { SharedModule } from '../../shared/shared.module';
|
||||
import { AdminNotificationsRoutingModule } from './admin-notifications-routing.module';
|
||||
import { AdminNotificationsPublicationClaimPageComponent } 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';
|
||||
import { NotificationsModule } from '../../notifications/notifications.module';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
@@ -19,9 +22,6 @@ import { NotificationsModule } from '../../notifications/notifications.module';
|
||||
],
|
||||
declarations: [
|
||||
AdminNotificationsPublicationClaimPageComponent,
|
||||
AdminQualityAssuranceTopicsPageComponent,
|
||||
AdminQualityAssuranceEventsPageComponent,
|
||||
AdminQualityAssuranceSourcePageComponent
|
||||
],
|
||||
entryComponents: []
|
||||
})
|
||||
|
@@ -18,3 +18,8 @@ export function getLdnServicesModuleRoute() {
|
||||
export function getNotificatioQualityAssuranceRoute() {
|
||||
return new URLCombiner(`/${NOTIFICATIONS_MODULE_PATH}`, getQualityAssuranceEditRoute()).toString();
|
||||
}
|
||||
|
||||
|
||||
export function getNotificationsModuleRoute() {
|
||||
return new URLCombiner(getAdminModuleRoute(), NOTIFICATIONS_MODULE_PATH).toString();
|
||||
}
|
||||
|
@@ -6,12 +6,17 @@ import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.reso
|
||||
import { AdminWorkflowPageComponent } from './admin-workflow-page/admin-workflow-page.component';
|
||||
import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service';
|
||||
import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component';
|
||||
import { LDN_PATH, REGISTRIES_MODULE_PATH } from './admin-routing-paths';
|
||||
import { LDN_PATH, NOTIFICATIONS_MODULE_PATH, REGISTRIES_MODULE_PATH } from './admin-routing-paths';
|
||||
import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{
|
||||
path: NOTIFICATIONS_MODULE_PATH,
|
||||
loadChildren: () => import('./admin-notifications/admin-notifications.module')
|
||||
.then((m) => m.AdminNotificationsModule),
|
||||
},
|
||||
{
|
||||
path: REGISTRIES_MODULE_PATH,
|
||||
loadChildren: () => import('./admin-registries/admin-registries.module')
|
||||
|
@@ -185,8 +185,6 @@ 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 './notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
import { SuggestionSource } from './notifications/reciter-suggestions/models/suggestion-source.model';
|
||||
import { LdnServicesService } from '../admin/admin-ldn-services/ldn-services-data/ldn-services-data.service';
|
||||
import { LdnService } from '../admin/admin-ldn-services/ldn-services-model/ldn-services.model';
|
||||
import { LdnItemfiltersService } from '../admin/admin-ldn-services/ldn-services-data/ldn-itemfilters-data.service';
|
||||
@@ -197,6 +195,8 @@ import {
|
||||
import { SubmissionCoarNotifyConfig } from '../submission/sections/section-coar-notify/submission-coar-notify.config';
|
||||
import { NotifyRequestsStatus } from '../item-page/simple/notify-requests-status/notify-requests-status.model';
|
||||
import { NotifyRequestsStatusDataService } from './data/notify-services-status-data.service';
|
||||
import { SuggestionTarget } from './notifications/models/suggestion-target.model';
|
||||
import { SuggestionSource } from './notifications/models/suggestion-source.model';
|
||||
|
||||
|
||||
/**
|
||||
|
@@ -110,19 +110,6 @@ export class WorkspaceitemDataService extends IdentifiableDataService<WorkspaceI
|
||||
return this.rdbService.buildFromRequestUUID(requestId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete an existing object on the server
|
||||
* @param href The self link of the object to be removed
|
||||
* @param copyVirtualMetadata (optional parameter) the identifiers of the relationship types for which the virtual
|
||||
* metadata should be saved as real metadata
|
||||
* @return A RemoteData observable with an empty payload, but still representing the state of the request: statusCode,
|
||||
* errorMessage, timeCompleted, etc
|
||||
* Only emits once all request related to the DSO has been invalidated.
|
||||
*/
|
||||
deleteByHref(href: string, copyVirtualMetadata?: string[]): Observable<RemoteData<NoContent>> {
|
||||
return this.deleteData.deleteByHref(href, copyVirtualMetadata);
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a new FindListRequest with given search method
|
||||
*
|
||||
|
@@ -5,6 +5,7 @@ import { BrowseDefinition } from '../../../core/shared/browse-definition.model';
|
||||
import { hasValue } from '../../../shared/empty.util';
|
||||
import { VALUE_LIST_BROWSE_DEFINITION } from '../../../core/shared/value-list-browse-definition.resource-type';
|
||||
import { ImageField } from '../../simple/field-components/specific-field/item-page-field.component';
|
||||
import { environment } from '../../../../environments/environment';
|
||||
|
||||
/**
|
||||
* This component renders the configured 'values' into the ds-metadata-field-wrapper component.
|
||||
@@ -96,4 +97,14 @@ export class MetadataValuesComponent implements OnChanges {
|
||||
}
|
||||
return queryParams;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if the given link value is an internal link.
|
||||
* @param linkValue - The link value to check.
|
||||
* @returns True if the link value starts with the base URL defined in the environment configuration, false otherwise.
|
||||
*/
|
||||
hasInternalLink(linkValue: string): boolean {
|
||||
return linkValue.startsWith(environment.ui.baseUrl);
|
||||
}
|
||||
}
|
||||
|
@@ -47,7 +47,7 @@ import {
|
||||
import {
|
||||
ExportBatchSelectorComponent
|
||||
} from './shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component';
|
||||
import { NOTIFICATIONS_RECITER_SUGGESTION_PATH } from './quality-assurance-notifications-pages/notifications-pages-routing-paths';
|
||||
import { PUBLICATION_CLAIMS_PATH } from './admin/admin-notifications/admin-notifications-routing-paths';
|
||||
|
||||
/**
|
||||
* Creates all of the app's menus
|
||||
@@ -171,7 +171,8 @@ export class MenuResolver implements Resolve<boolean> {
|
||||
this.authorizationService.isAuthorized(FeatureID.AdministratorOf),
|
||||
this.authorizationService.isAuthorized(FeatureID.CanSubmit),
|
||||
this.authorizationService.isAuthorized(FeatureID.CanEditItem),
|
||||
]).subscribe(([isCollectionAdmin, isCommunityAdmin, isSiteAdmin, canSubmit, canEditItem]) => {
|
||||
this.authorizationService.isAuthorized(FeatureID.CanSeeQA)
|
||||
]).subscribe(([isCollectionAdmin, isCommunityAdmin, isSiteAdmin, canSubmit, canEditItem, canSeeQa]) => {
|
||||
const newSubMenuList = [
|
||||
{
|
||||
id: 'new_community',
|
||||
@@ -387,6 +388,41 @@ export class MenuResolver implements Resolve<boolean> {
|
||||
icon: 'heartbeat',
|
||||
index: 11
|
||||
},
|
||||
/* Notifications */
|
||||
{
|
||||
id: 'notifications',
|
||||
active: false,
|
||||
visible: canSeeQa || isSiteAdmin,
|
||||
model: {
|
||||
type: MenuItemType.TEXT,
|
||||
text: 'menu.section.notifications'
|
||||
} as TextMenuItemModel,
|
||||
icon: 'bell',
|
||||
index: 4
|
||||
},
|
||||
{
|
||||
id: 'notifications_quality-assurance',
|
||||
parentID: 'notifications',
|
||||
active: false,
|
||||
visible: canSeeQa,
|
||||
model: {
|
||||
type: MenuItemType.LINK,
|
||||
text: 'menu.section.quality-assurance',
|
||||
link: '/notifications/quality-assurance'
|
||||
} as LinkMenuItemModel,
|
||||
},
|
||||
{
|
||||
id: 'notifications_publication-claim',
|
||||
parentID: 'notifications',
|
||||
active: false,
|
||||
visible: isSiteAdmin,
|
||||
model: {
|
||||
type: MenuItemType.LINK,
|
||||
text: 'menu.section.notifications_publication-claim',
|
||||
link: '/admin/notifications/' + PUBLICATION_CLAIMS_PATH
|
||||
} as LinkMenuItemModel,
|
||||
},
|
||||
/* Admin Search */
|
||||
];
|
||||
menuList.forEach((menuSection) => this.menuService.addSection(MenuID.ADMIN, Object.assign(menuSection, {
|
||||
shouldPersistOnRouteChange: true
|
||||
@@ -556,47 +592,9 @@ export class MenuResolver implements Resolve<boolean> {
|
||||
* Create menu sections dependent on whether or not the current user is a site administrator
|
||||
*/
|
||||
createSiteAdministratorMenuSections() {
|
||||
combineLatest([
|
||||
this.authorizationService.isAuthorized(FeatureID.AdministratorOf),
|
||||
this.authorizationService.isAuthorized(FeatureID.CanSeeQA)
|
||||
])
|
||||
.subscribe(([authorized, canSeeQA]) => {
|
||||
this.authorizationService.isAuthorized(FeatureID.AdministratorOf)
|
||||
.subscribe((authorized) => {
|
||||
const menuList = [
|
||||
/* Notifications */
|
||||
{
|
||||
id: 'notifications',
|
||||
active: false,
|
||||
visible: authorized && canSeeQA,
|
||||
model: {
|
||||
type: MenuItemType.TEXT,
|
||||
text: 'menu.section.notifications'
|
||||
} as TextMenuItemModel,
|
||||
icon: 'bell',
|
||||
index: 4
|
||||
},
|
||||
{
|
||||
id: 'notifications_quality-assurance',
|
||||
parentID: 'notifications',
|
||||
active: false,
|
||||
visible: authorized,
|
||||
model: {
|
||||
type: MenuItemType.LINK,
|
||||
text: 'menu.section.quality-assurance',
|
||||
link: '/notifications/quality-assurance'
|
||||
} as LinkMenuItemModel,
|
||||
},
|
||||
{
|
||||
id: 'notifications_reciter',
|
||||
parentID: 'notifications',
|
||||
active: false,
|
||||
visible: authorized,
|
||||
model: {
|
||||
type: MenuItemType.LINK,
|
||||
text: 'menu.section.notifications_reciter',
|
||||
link: '/notifications/' + NOTIFICATIONS_RECITER_SUGGESTION_PATH
|
||||
} as LinkMenuItemModel,
|
||||
},
|
||||
/* Admin Search */
|
||||
{
|
||||
id: 'admin_search',
|
||||
active: false,
|
||||
|
@@ -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/suggestion-targets/suggestion-targets.effects';
|
||||
import { SuggestionTargetsEffects } from './suggestion-targets/suggestion-targets.effects';
|
||||
|
||||
export const notificationsEffects = [
|
||||
QualityAssuranceTopicsEffects,
|
||||
|
@@ -26,29 +26,23 @@ import { QualityAssuranceSourceService } from './qa/source/quality-assurance-sou
|
||||
import {
|
||||
QualityAssuranceSourceDataService
|
||||
} from '../core/notifications/qa/source/quality-assurance-source-data.service';
|
||||
import { PublicationClaimComponent } from '../suggestion-notifications/suggestion-targets/publication-claim/publication-claim.component';
|
||||
import { SuggestionActionsComponent } from '../suggestion-notifications/suggestion-actions/suggestion-actions.component';
|
||||
import {
|
||||
SuggestionListElementComponent
|
||||
} from '../suggestion-notifications/suggestion-list-element/suggestion-list-element.component';
|
||||
|
||||
import { SuggestionsPopupComponent } from './suggestions-popup/suggestions-popup.component';
|
||||
import { SuggestionSourceDataService } from '../core/notifications/source/suggestion-source-data.service';
|
||||
import { SuggestionTargetDataService } from '../core/notifications/target/suggestion-target-data.service';
|
||||
import { SuggestionsDataService } from '../core/notifications/suggestions-data.service';
|
||||
import { PublicationClaimComponent } from '../notifications/suggestion-targets/publication-claim/publication-claim.component';
|
||||
|
||||
import { SuggestionsNotificationComponent } from './suggestions-notification/suggestions-notification.component';
|
||||
import { SuggestionsService } from './suggestions.service';
|
||||
import { SuggestionTargetsStateService } from './suggestion-targets/suggestion-targets.state.service';
|
||||
import { SuggestionActionsComponent } from './suggestion-actions/suggestion-actions.component';
|
||||
import { SuggestionListElementComponent } from './suggestion-list-element/suggestion-list-element.component';
|
||||
import {
|
||||
SuggestionEvidencesComponent
|
||||
} 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/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/source/suggestion-source-data.service';
|
||||
import {
|
||||
SuggestionTargetDataService
|
||||
} from '../core/suggestion-notifications/target/suggestion-target-data.service';
|
||||
import {
|
||||
SuggestionTargetsStateService
|
||||
} from '../suggestion-notifications/suggestion-targets/suggestion-targets.state.service';
|
||||
} from './suggestion-list-element/suggestion-evidences/suggestion-evidences.component';
|
||||
|
||||
|
||||
|
||||
|
||||
const MODULES = [
|
||||
|
@@ -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/suggestion-targets/suggestion-targets.reducer';
|
||||
import { SuggestionTargetsReducer, SuggestionTargetState } from './suggestion-targets/suggestion-targets.reducer';
|
||||
|
||||
/**
|
||||
* The OpenAIRE State
|
||||
|
@@ -1,15 +1,12 @@
|
||||
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';
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-actions/suggestion-actions.component.ts
|
||||
import { Suggestion } from '../../../core/notifications/reciter-suggestions/models/suggestion.model';
|
||||
========
|
||||
import { Suggestion } from '../../core/suggestion-notifications/models/suggestion.model';
|
||||
>>>>>>>> main:src/app/notifications/suggestion-actions/suggestion-actions.component.ts
|
||||
import { SuggestionApproveAndImport } from '../suggestion-list-element/suggestion-list-element.component';
|
||||
|
||||
import { Collection } from '../../core/shared/collection.model';
|
||||
import { take } from 'rxjs/operators';
|
||||
import { CreateItemParentSelectorComponent } from '../../shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component';
|
||||
import { Suggestion } from '../../core/notifications/models/suggestion.model';
|
||||
import { SuggestionApproveAndImport } from '../suggestion-list-element/suggestion-list-element.component';
|
||||
|
||||
/**
|
||||
* Show and trigger the actions to submit for a suggestion
|
||||
|
@@ -1,11 +1,7 @@
|
||||
import { Component, Input } from '@angular/core';
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-list-element/suggestion-evidences/suggestion-evidences.component.ts
|
||||
import { fadeIn } from '../../../../shared/animations/fade';
|
||||
import { SuggestionEvidences } from '../../../../core/notifications/reciter-suggestions/models/suggestion.model';
|
||||
========
|
||||
import { fadeIn } from '../../../shared/animations/fade';
|
||||
import { SuggestionEvidences } from '../../../core/suggestion-notifications/models/suggestion.model';
|
||||
>>>>>>>> main:src/app/notifications/suggestion-list-element/suggestion-evidences/suggestion-evidences.component.ts
|
||||
import { SuggestionEvidences } from '../../../core/notifications/models/suggestion.model';
|
||||
|
||||
|
||||
/**
|
||||
* Show suggestion evidences such as score (authorScore, dateScore)
|
||||
|
@@ -1,18 +1,12 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
|
||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-list-element/suggestion-list-element.component.ts
|
||||
import { fadeIn } from '../../../shared/animations/fade';
|
||||
import { Suggestion } from '../../../core/notifications/reciter-suggestions/models/suggestion.model';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
import { isNotEmpty } from '../../../shared/empty.util';
|
||||
========
|
||||
import { Suggestion } from 'src/app/core/notifications/models/suggestion.model';
|
||||
import { fadeIn } from '../../shared/animations/fade';
|
||||
import { Suggestion } from '../../core/suggestion-notifications/models/suggestion.model';
|
||||
import { Item } from '../../core/shared/item.model';
|
||||
import { isNotEmpty } from '../../shared/empty.util';
|
||||
>>>>>>>> main:src/app/notifications/suggestion-list-element/suggestion-list-element.component.ts
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* A simple interface to unite a specific suggestion and the id of the chosen collection
|
||||
|
@@ -4,17 +4,14 @@ import { Router } from '@angular/router';
|
||||
import { Observable, Subscription } from 'rxjs';
|
||||
import { distinctUntilChanged, take } from 'rxjs/operators';
|
||||
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-targets/suggestion-targets.component.ts
|
||||
import { SuggestionTarget } from '../../../core/notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
========
|
||||
import { SuggestionTarget } from '../../../core/suggestion-notifications/models/suggestion-target.model';
|
||||
>>>>>>>> main:src/app/notifications/suggestion-targets/publication-claim/publication-claim.component.ts
|
||||
|
||||
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 { SuggestionsService } from '../../suggestions.service';
|
||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||
import { SuggestionTarget } from '../../../core/notifications/models/suggestion-target.model';
|
||||
import { SuggestionTargetsStateService } from '../suggestion-targets.state.service';
|
||||
import { SuggestionsService } from '../../suggestions.service';
|
||||
|
||||
/**
|
||||
* Component to display the Suggestion Target list.
|
||||
|
@@ -1,12 +1,8 @@
|
||||
/* eslint-disable max-classes-per-file */
|
||||
import { Action } from '@ngrx/store';
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-targets/suggestion-targets.actions.ts
|
||||
import { type } from '../../../shared/ngrx/type';
|
||||
import { SuggestionTarget } from '../../../core/notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
========
|
||||
import { type } from '../../shared/ngrx/type';
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model';
|
||||
>>>>>>>> main:src/app/notifications/suggestion-targets/suggestion-targets.actions.ts
|
||||
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
|
||||
|
||||
|
||||
/**
|
||||
* For each action type in an action group, make a simple
|
||||
|
@@ -15,13 +15,9 @@ import {
|
||||
} from './suggestion-targets.actions';
|
||||
import { PaginatedList } from '../../core/data/paginated-list.model';
|
||||
import { SuggestionsService } from '../suggestions.service';
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-targets/suggestion-targets.effects.ts
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { SuggestionTarget } from '../../../core/notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
========
|
||||
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
|
||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model';
|
||||
>>>>>>>> main:src/app/notifications/suggestion-targets/suggestion-targets.effects.ts
|
||||
|
||||
|
||||
/**
|
||||
* Provides effect methods for the Suggestion Targets actions.
|
||||
@@ -80,12 +76,8 @@ export class SuggestionTargetsEffects {
|
||||
}),
|
||||
catchError((errors) => of(errors))
|
||||
);
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-targets/suggestion-targets.effects.ts
|
||||
})), { dispatch: false });
|
||||
========
|
||||
}))
|
||||
);
|
||||
>>>>>>>> main:src/app/notifications/suggestion-targets/suggestion-targets.effects.ts
|
||||
|
||||
/**
|
||||
* Initialize the effect class variables.
|
||||
|
@@ -1,9 +1,6 @@
|
||||
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
|
||||
import { SuggestionTargetActionTypes, SuggestionTargetsActions } from './suggestion-targets.actions';
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-targets/suggestion-targets.reducer.ts
|
||||
import { SuggestionTarget } from '../../../core/notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
========
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model';
|
||||
>>>>>>>> main:src/app/notifications/suggestion-targets/suggestion-targets.reducer.ts
|
||||
|
||||
|
||||
/**
|
||||
* The interface representing the OpenAIRE suggestion targets state.
|
||||
|
@@ -4,31 +4,23 @@ import { select, Store } from '@ngrx/store';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
|
||||
import {
|
||||
getCurrentUserSuggestionTargetsSelector,
|
||||
getCurrentUserSuggestionTargetsVisitedSelector,
|
||||
getSuggestionTargetCurrentPageSelector,
|
||||
getSuggestionTargetTotalsSelector,
|
||||
isSuggestionTargetLoadedSelector,
|
||||
isReciterSuggestionTargetProcessingSelector,
|
||||
suggestionTargetObjectSelector
|
||||
} from '../selectors';
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-targets/suggestion-targets.state.service.ts
|
||||
import { SuggestionTarget } from '../../../core/notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
========
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model';
|
||||
>>>>>>>> main:src/app/notifications/suggestion-targets/suggestion-targets.state.service.ts
|
||||
|
||||
import {
|
||||
ClearSuggestionTargetsAction,
|
||||
MarkUserSuggestionsAsVisitedAction,
|
||||
RefreshUserSuggestionsAction,
|
||||
RetrieveTargetsBySourceAction
|
||||
} from './suggestion-targets.actions';
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestion-targets/suggestion-targets.state.service.ts
|
||||
import { SuggestionNotificationsState } from '../../notifications.reducer';
|
||||
========
|
||||
import { SuggestionNotificationsState } from '../../notifications/notifications.reducer';
|
||||
>>>>>>>> main:src/app/notifications/suggestion-targets/suggestion-targets.state.service.ts
|
||||
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
|
||||
import {
|
||||
getCurrentUserSuggestionTargetsSelector, getCurrentUserSuggestionTargetsVisitedSelector,
|
||||
getSuggestionTargetCurrentPageSelector,
|
||||
getSuggestionTargetTotalsSelector,
|
||||
isReciterSuggestionTargetProcessingSelector,
|
||||
isSuggestionTargetLoadedSelector,
|
||||
suggestionTargetObjectSelector
|
||||
} from '../../suggestion-notifications/selectors';
|
||||
|
||||
/**
|
||||
* The service handling the Suggestion targets State.
|
||||
|
@@ -1,13 +1,6 @@
|
||||
import { SuggestionsService } from './suggestions.service';
|
||||
import { ResearcherProfileDataService } from '../core/profile/researcher-profile-data.service';
|
||||
import {
|
||||
SuggestionsDataService
|
||||
} from '../core/suggestion-notifications/suggestions-data.service';
|
||||
|
||||
|
||||
import {
|
||||
SuggestionTargetDataService
|
||||
} 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';
|
||||
@@ -18,11 +11,11 @@ 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 { SuggestionsDataService } from '../core/notifications/suggestions-data.service';
|
||||
import { SuggestionTargetDataService } from '../core/notifications/target/suggestion-target-data.service';
|
||||
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
|
||||
|
||||
|
||||
import {
|
||||
SuggestionTarget
|
||||
} from '../core/suggestion-notifications/models/suggestion-target.model';
|
||||
|
||||
describe('SuggestionsService test', () => {
|
||||
let scheduler: TestScheduler;
|
||||
|
@@ -1,13 +1,9 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestions-notification/suggestions-notification.component.ts
|
||||
import { SuggestionTarget } from '../../../core/notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
========
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model';
|
||||
>>>>>>>> main:src/app/notifications/suggestions-notification/suggestions-notification.component.ts
|
||||
|
||||
import { SuggestionTargetsStateService } from '../suggestion-targets/suggestion-targets.state.service';
|
||||
import { SuggestionsService } from '../suggestions.service';
|
||||
import { Observable } from 'rxjs';
|
||||
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
|
||||
|
||||
/**
|
||||
* Show suggestions notification, used on myDSpace and Profile pages
|
||||
|
@@ -2,13 +2,13 @@ import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||
import { SuggestionTargetsStateService } from '../suggestion-targets/suggestion-targets.state.service';
|
||||
import { SuggestionsService } from '../suggestions.service';
|
||||
import { take, takeUntil } from 'rxjs/operators';
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model';
|
||||
import { isNotEmpty } from '../../shared/empty.util';
|
||||
import { combineLatest, Observable, of, Subject } from 'rxjs';
|
||||
import { trigger } from '@angular/animations';
|
||||
|
||||
|
||||
import { fromTopEnter } from '../../shared/animations/fromTop';
|
||||
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
|
||||
|
||||
/**
|
||||
* Show suggestions on a popover window, used on the homepage
|
||||
|
@@ -1,68 +1,27 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
|
||||
import { of, forkJoin, Observable } from 'rxjs';
|
||||
import { catchError, map, mergeMap, take } from 'rxjs/operators';
|
||||
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestions.service.ts
|
||||
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/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 { FindListOptions } from '../core/data/find-list-options.model';
|
||||
import { PaginatedList } from '../core/data/paginated-list.model';
|
||||
import { SuggestionTarget } from '../core/suggestion-notifications/models/suggestion-target.model';
|
||||
import { hasValue, isNotEmpty } from '../shared/empty.util';
|
||||
import { ResearcherProfile } from '../core/profile/model/researcher-profile.model';
|
||||
>>>>>>>> main:src/app/notifications/suggestions.service.ts
|
||||
import {
|
||||
getAllSucceededRemoteDataPayload,
|
||||
getFinishedRemoteData,
|
||||
getFirstSucceededRemoteDataPayload,
|
||||
getFirstSucceededRemoteListPayload
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/suggestions.service.ts
|
||||
} from '../../core/shared/operators';
|
||||
import { Suggestion } from '../../core/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';
|
||||
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/notifications/reciter-suggestions/source/suggestion-source-data.service';
|
||||
import {
|
||||
SuggestionTargetDataService
|
||||
} from '../../core/notifications/reciter-suggestions/target/suggestion-target-data.service';
|
||||
import {
|
||||
SuggestionsDataService
|
||||
} from '../../core/notifications/reciter-suggestions/suggestions-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/suggestion-config.interfaces';
|
||||
import { RemoteData } from '../core/data/remote-data';
|
||||
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
|
||||
import { SuggestionsDataService } from '../core/notifications/suggestions-data.service';
|
||||
import { SuggestionTargetDataService } from '../core/notifications/target/suggestion-target-data.service';
|
||||
import { ResearcherProfileDataService } from '../core/profile/researcher-profile-data.service';
|
||||
import {
|
||||
SuggestionTargetDataService
|
||||
} from '../core/suggestion-notifications/target/suggestion-target-data.service';
|
||||
import {
|
||||
SuggestionsDataService
|
||||
} from '../core/suggestion-notifications/suggestions-data.service';
|
||||
import { NoContent } from '../core/shared/NoContent.model';
|
||||
import { getFirstSucceededRemoteListPayload, getFirstSucceededRemoteDataPayload, getAllSucceededRemoteDataPayload, getFinishedRemoteData } from '../core/shared/operators';
|
||||
import { getSuggestionPageRoute } from '../suggestions-page/suggestions-page-routing-paths';
|
||||
>>>>>>>> main:src/app/notifications/suggestions.service.ts
|
||||
import { environment } from '../../environments/environment';
|
||||
import { SuggestionConfig } from '../../config/suggestion-config.interfaces';
|
||||
import { Suggestion } from '../core/notifications/models/suggestion.model';
|
||||
import { ResearcherProfile } from '../core/profile/model/researcher-profile.model';
|
||||
import { hasValue, isNotEmpty } from '../shared/empty.util';
|
||||
import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service';
|
||||
import { WorkspaceItem } from '../core/submission/models/workspaceitem.model';
|
||||
|
||||
|
||||
/**
|
||||
* useful for multiple approvals and ignores operation
|
||||
|
@@ -6,7 +6,7 @@ import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.reso
|
||||
import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service';
|
||||
import { NOTIFICATIONS_RECITER_SUGGESTION_PATH } from './notifications-pages-routing-paths';
|
||||
import { NotificationsSuggestionTargetsPageComponent } from './notifications-suggestion-targets-page/notifications-suggestion-targets-page.component';
|
||||
import { NotificationsSuggestionTargetsPageResolver } from './notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service';
|
||||
import { AdminNotificationsPublicationClaimPageResolver } from './notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service';
|
||||
import { QUALITY_ASSURANCE_EDIT_PATH } from './notifications-pages-routing-paths';
|
||||
import { QualityAssuranceTopicsPageComponent } from './quality-assurance-topics-page/quality-assurance-topics-page.component';
|
||||
import { QualityAssuranceEventsPageComponent } from './quality-assurance-events-page/quality-assurance-events-page.component';
|
||||
@@ -30,7 +30,7 @@ import {
|
||||
pathMatch: 'full',
|
||||
resolve: {
|
||||
breadcrumb: I18nBreadcrumbResolver,
|
||||
reciterSuggestionTargetParams: NotificationsSuggestionTargetsPageResolver
|
||||
reciterSuggestionTargetParams: AdminNotificationsPublicationClaimPageResolver
|
||||
},
|
||||
data: {
|
||||
title: 'admin.notifications.recitersuggestion.page.title',
|
||||
@@ -104,7 +104,7 @@ import {
|
||||
providers: [
|
||||
I18nBreadcrumbResolver,
|
||||
I18nBreadcrumbsService,
|
||||
NotificationsSuggestionTargetsPageResolver,
|
||||
AdminNotificationsPublicationClaimPageResolver,
|
||||
SourceDataResolver,
|
||||
QualityAssuranceSourcePageResolver,
|
||||
QualityAssuranceTopicsPageResolver,
|
||||
|
@@ -4,11 +4,8 @@ import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/r
|
||||
/**
|
||||
* Interface for the route parameters.
|
||||
*/
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service.ts
|
||||
export interface NotificationsSuggestionTargetsPageParams {
|
||||
========
|
||||
|
||||
export interface AdminNotificationsPublicationClaimPageParams {
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service.ts
|
||||
pageId?: string;
|
||||
pageSize?: number;
|
||||
currentPage?: number;
|
||||
@@ -18,11 +15,8 @@ export interface AdminNotificationsPublicationClaimPageParams {
|
||||
* This class represents a resolver that retrieve the route data before the route is activated.
|
||||
*/
|
||||
@Injectable()
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service.ts
|
||||
export class NotificationsSuggestionTargetsPageResolver implements Resolve<NotificationsSuggestionTargetsPageParams> {
|
||||
========
|
||||
|
||||
export class AdminNotificationsPublicationClaimPageResolver implements Resolve<AdminNotificationsPublicationClaimPageParams> {
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service.ts
|
||||
|
||||
/**
|
||||
* Method for resolving the parameters in the current route.
|
||||
@@ -30,11 +24,8 @@ export class AdminNotificationsPublicationClaimPageResolver implements Resolve<A
|
||||
* @param {RouterStateSnapshot} state The current RouterStateSnapshot
|
||||
* @returns AdminNotificationsSuggestionTargetsPageParams Emits the route parameters
|
||||
*/
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service.ts
|
||||
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): NotificationsSuggestionTargetsPageParams {
|
||||
========
|
||||
|
||||
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): AdminNotificationsPublicationClaimPageParams {
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page-resolver.service.ts
|
||||
return {
|
||||
pageId: route.queryParams.pageId,
|
||||
pageSize: parseInt(route.queryParams.pageSize, 10),
|
||||
|
@@ -1 +1 @@
|
||||
<ds-suggestion-target [source]="'oaire'"></ds-suggestion-target>
|
||||
<ds-publication-claim [source]="'oaire'"></ds-publication-claim>
|
||||
|
@@ -1,23 +1,16 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.spec.ts
|
||||
import { NotificationsSuggestionTargetsPageComponent } from './notifications-suggestion-targets-page.component';
|
||||
========
|
||||
import { AdminNotificationsPublicationClaimPageComponent } from './admin-notifications-publication-claim-page.component';
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import {
|
||||
AdminNotificationsPublicationClaimPageComponent
|
||||
} from '../../admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component';
|
||||
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.spec.ts
|
||||
describe('NotificationsSuggestionTargetsPageComponent', () => {
|
||||
let component: NotificationsSuggestionTargetsPageComponent;
|
||||
let fixture: ComponentFixture<NotificationsSuggestionTargetsPageComponent>;
|
||||
========
|
||||
describe('AdminNotificationsPublicationClaimPageComponent', () => {
|
||||
let component: AdminNotificationsPublicationClaimPageComponent;
|
||||
let fixture: ComponentFixture<AdminNotificationsPublicationClaimPageComponent>;
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
@@ -26,29 +19,18 @@ describe('AdminNotificationsPublicationClaimPageComponent', () => {
|
||||
TranslateModule.forRoot()
|
||||
],
|
||||
declarations: [
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.spec.ts
|
||||
NotificationsSuggestionTargetsPageComponent
|
||||
],
|
||||
providers: [
|
||||
NotificationsSuggestionTargetsPageComponent
|
||||
========
|
||||
AdminNotificationsPublicationClaimPageComponent
|
||||
],
|
||||
providers: [
|
||||
AdminNotificationsPublicationClaimPageComponent
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
<<<<<<<< HEAD:src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.spec.ts
|
||||
fixture = TestBed.createComponent(NotificationsSuggestionTargetsPageComponent);
|
||||
========
|
||||
fixture = TestBed.createComponent(AdminNotificationsPublicationClaimPageComponent);
|
||||
>>>>>>>> main:src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { ResourceType } from '../../core/shared/resource-type';
|
||||
import { SuggestionTarget } from '../../core/suggestion-notifications/models/suggestion-target.model';
|
||||
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
|
||||
|
||||
// REST Mock ---------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------
|
||||
|
@@ -2,8 +2,9 @@
|
||||
// REST Mock ---------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
import { Suggestion } from '../../core/suggestion-notifications/models/suggestion.model';
|
||||
import { SUGGESTION } from '../../core/suggestion-notifications/models/suggestion-objects.resource-type';
|
||||
|
||||
import { Suggestion } from '../../core/notifications/models/suggestion.model';
|
||||
import { SUGGESTION } from '../../core/notifications/models/suggestion-objects.resource-type';
|
||||
|
||||
export const mockSuggestionPublicationOne: Suggestion = {
|
||||
id: '24694773',
|
||||
|
@@ -1,13 +1,9 @@
|
||||
import {createFeatureSelector, createSelector, MemoizedSelector} from '@ngrx/store';
|
||||
<<<<<<<< HEAD:src/app/notifications/reciter-suggestions/selectors.ts
|
||||
import { suggestionNotificationsSelector, SuggestionNotificationsState } from '../notifications.reducer';
|
||||
import { SuggestionTarget } from '../../core/notifications/reciter-suggestions/models/suggestion-target.model';
|
||||
========
|
||||
import { suggestionNotificationsSelector, SuggestionNotificationsState } from '../notifications/notifications.reducer';
|
||||
import { SuggestionTarget } from '../core/suggestion-notifications/models/suggestion-target.model';
|
||||
>>>>>>>> main:src/app/suggestion-notifications/selectors.ts
|
||||
import { SuggestionTargetState } from './suggestion-targets/suggestion-targets.reducer';
|
||||
|
||||
import {subStateSelector} from '../submission/selectors';
|
||||
import { SuggestionTargetState } from '../notifications/suggestion-targets/suggestion-targets.reducer';
|
||||
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
|
||||
|
||||
/**
|
||||
* Returns the Reciter Suggestion Target state.
|
||||
|
@@ -7,14 +7,9 @@ import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
|
||||
import { SuggestionsPageComponent } from './suggestions-page.component';
|
||||
import {
|
||||
SuggestionApproveAndImport,
|
||||
SuggestionListElementComponent
|
||||
} 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 { 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';
|
||||
@@ -24,13 +19,21 @@ 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/suggestion-targets/suggestion-targets.state.service';
|
||||
import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service';
|
||||
import { createSuccessfulRemoteDataObject } from '../shared/remote-data.utils';
|
||||
import { TestScheduler } from 'rxjs/testing';
|
||||
import { getTestScheduler } from 'jasmine-marbles';
|
||||
import { PaginationServiceStub } from '../shared/testing/pagination-service.stub';
|
||||
import { PaginationService } from '../core/pagination/pagination.service';
|
||||
import {
|
||||
SuggestionEvidencesComponent
|
||||
} from '../notifications/suggestion-list-element/suggestion-evidences/suggestion-evidences.component';
|
||||
import {
|
||||
SuggestionApproveAndImport,
|
||||
SuggestionListElementComponent
|
||||
} from '../notifications/suggestion-list-element/suggestion-list-element.component';
|
||||
import { SuggestionsService } from '../notifications/suggestions.service';
|
||||
import { SuggestionTargetsStateService } from '../notifications/suggestion-targets/suggestion-targets.state.service';
|
||||
|
||||
describe('SuggestionPageComponent', () => {
|
||||
let component: SuggestionsPageComponent;
|
||||
|
@@ -9,14 +9,9 @@ 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/suggestions.service';
|
||||
import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.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/suggestion-list-element/suggestion-list-element.component';
|
||||
import { NotificationsService } from '../shared/notifications/notifications.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';
|
||||
@@ -25,6 +20,11 @@ import {redirectOn4xx} from '../core/shared/authorized.operators';
|
||||
import {
|
||||
getWorkspaceItemEditRoute
|
||||
} from '../workflowitems-edit-page/workflowitems-edit-page-routing-paths';
|
||||
import { Suggestion } from '../core/notifications/models/suggestion.model';
|
||||
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
|
||||
import { SuggestionBulkResult, SuggestionsService } from '../notifications/suggestions.service';
|
||||
import { SuggestionTargetsStateService } from '../notifications/suggestion-targets/suggestion-targets.state.service';
|
||||
import { SuggestionApproveAndImport } from '../notifications/suggestion-list-element/suggestion-list-element.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-suggestion-page',
|
||||
|
@@ -4,9 +4,9 @@ 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/suggestions.service';
|
||||
import { SuggestionsDataService } from '../core/suggestion-notifications/suggestions-data.service';
|
||||
import { NotificationsModule } from '../notifications/notifications.module';
|
||||
import { SuggestionsDataService } from '../core/notifications/suggestions-data.service';
|
||||
import { SuggestionsService } from '../notifications/suggestions.service';
|
||||
|
||||
@NgModule({
|
||||
declarations: [SuggestionsPageComponent],
|
||||
|
@@ -6,10 +6,9 @@ import { find } from 'rxjs/operators';
|
||||
|
||||
import { RemoteData } from '../core/data/remote-data';
|
||||
import { hasValue } from '../shared/empty.util';
|
||||
import { SuggestionTarget } from '../core/suggestion-notifications/models/suggestion-target.model';
|
||||
import {
|
||||
SuggestionTargetDataService
|
||||
} from '../core/suggestion-notifications/target/suggestion-target-data.service';
|
||||
import { SuggestionTarget } from '../core/notifications/models/suggestion-target.model';
|
||||
import { SuggestionTargetDataService } from '../core/notifications/target/suggestion-target-data.service';
|
||||
|
||||
|
||||
/**
|
||||
* This class represents a resolver that requests a specific collection before the route is activated
|
||||
|
@@ -5639,4 +5639,332 @@
|
||||
"admin.notifications.publicationclaim.breadcrumbs": "Publication Claim",
|
||||
|
||||
"admin.notifications.publicationclaim.page.title": "Publication Claim",
|
||||
|
||||
"coar-notify-support.title": "COAR Notify Protocol",
|
||||
|
||||
"coar-notify-support-title.content": "Here, we fully support the COAR Notify protocol, which is designed to enhance the communication between repositories. To learn more about the COAR Notify protocol, you can visit their official website <a href=\"https://notify.coar-repositories.org/\">here</a>.",
|
||||
|
||||
"coar-notify-support.ldn-inbox.title": "LDN InBox",
|
||||
|
||||
"coar-notify-support.ldn-inbox.content": "For your convenience, our LDN (Linked Data Notifications) InBox is easily accessible at {ldnInboxUrl}. The LDN InBox enables seamless communication and data exchange, ensuring efficient and effective collaboration.",
|
||||
|
||||
"coar-notify-support.message-moderation.title": "Message Moderation",
|
||||
|
||||
"coar-notify-support.message-moderation.content": "To ensure a secure and productive environment, all incoming LDN messages are moderated. If you are planning to exchange information with us, kindly reach out via our dedicated Feedback form. You can access the Feedback form by clicking <a href=\"info/feedback\">here</a>.",
|
||||
|
||||
"service.overview.delete.header": "Delete Service",
|
||||
|
||||
"ldn-registered-services.title": "Registered Services",
|
||||
"ldn-registered-services.table.name": "Name",
|
||||
"ldn-registered-services.table.description": "Description",
|
||||
"ldn-registered-services.table.status": "Status",
|
||||
"ldn-registered-services.table.action": "Action",
|
||||
"ldn-registered-services.new": "NEW",
|
||||
"ldn-registered-services.new.breadcrumbs": "Registered Services",
|
||||
|
||||
"ldn-service.overview.table.enabled": "Enabled",
|
||||
"ldn-service.overview.table.disabled": "Disabled",
|
||||
"ldn-service.overview.table.clickToEnable": "Click to enable",
|
||||
"ldn-service.overview.table.clickToDisable": "Click to disable",
|
||||
|
||||
"ldn-edit-registered-service.title": "Edit Service",
|
||||
"ldn-create-service.title": "Create service",
|
||||
"service.overview.create.modal": "Create Service",
|
||||
"service.overview.create.body": "Please confirm the creation of this service.",
|
||||
"ldn-service-status": "Status",
|
||||
"service.confirm.create": "Create",
|
||||
"service.refuse.create": "Cancel",
|
||||
"ldn-register-new-service.title": "Register a new service",
|
||||
"ldn-new-service.form.label.submit": "Save",
|
||||
"ldn-new-service.form.label.name": "Name",
|
||||
"ldn-new-service.form.label.description": "Description",
|
||||
"ldn-new-service.form.label.url": "Service URL",
|
||||
"ldn-new-service.form.label.ip-range": "Service IP range",
|
||||
"ldn-new-service.form.label.score": "Level of trust",
|
||||
"ldn-new-service.form.label.ldnUrl": "LDN Inbox URL",
|
||||
"ldn-new-service.form.placeholder.name": "Please provide service name",
|
||||
"ldn-new-service.form.placeholder.description": "Please provide a description regarding your service",
|
||||
"ldn-new-service.form.placeholder.url": "Please input the URL for users to check out more information about the service",
|
||||
"ldn-new-service.form.placeholder.lowerIp": "IPv4 range lower bound",
|
||||
"ldn-new-service.form.placeholder.upperIp": "IPv4 range upper bound",
|
||||
"ldn-new-service.form.placeholder.ldnUrl": "Please specify the URL of the LDN Inbox",
|
||||
"ldn-new-service.form.placeholder.score": "Please enter a value between 0 and 1. Use the “.” as decimal separator",
|
||||
"ldn-service.form.label.placeholder.default-select": "Select a pattern",
|
||||
|
||||
"ldn-service.form.pattern.ack-accept.label": "Acknowledge and Accept",
|
||||
"ldn-service.form.pattern.ack-accept.description": "This pattern is used to acknowledge and accept a request (offer). It implies an intention to act on the request.",
|
||||
"ldn-service.form.pattern.ack-accept.category": "Acknowledgements",
|
||||
|
||||
"ldn-service.form.pattern.ack-reject.label": "Acknowledge and Reject",
|
||||
"ldn-service.form.pattern.ack-reject.description": "This pattern is used to acknowledge and reject a request (offer). It signifies no further action regarding the request.",
|
||||
"ldn-service.form.pattern.ack-reject.category": "Acknowledgements",
|
||||
|
||||
"ldn-service.form.pattern.ack-tentative-accept.label": "Acknowledge and Tentatively Accept",
|
||||
"ldn-service.form.pattern.ack-tentative-accept.description": "This pattern is used to acknowledge and tentatively accept a request (offer). It implies an intention to act, which may change.",
|
||||
"ldn-service.form.pattern.ack-tentative-accept.category": "Acknowledgements",
|
||||
|
||||
"ldn-service.form.pattern.ack-tentative-reject.label": "Acknowledge and Tentatively Reject",
|
||||
"ldn-service.form.pattern.ack-tentative-reject.description": "This pattern is used to acknowledge and tentatively reject a request (offer). It signifies no further action, subject to change.",
|
||||
"ldn-service.form.pattern.ack-tentative-reject.category": "Acknowledgements",
|
||||
|
||||
"ldn-service.form.pattern.announce-endorsement.label": "Announce Endorsement",
|
||||
"ldn-service.form.pattern.announce-endorsement.description": "This pattern is used to announce the existence of an endorsement, referencing the endorsed resource.",
|
||||
"ldn-service.form.pattern.announce-endorsement.category": "Announcements",
|
||||
|
||||
"ldn-service.form.pattern.announce-ingest.label": "Announce Ingest",
|
||||
"ldn-service.form.pattern.announce-ingest.description": "This pattern is used to announce that a resource has been ingested.",
|
||||
"ldn-service.form.pattern.announce-ingest.category": "Announcements",
|
||||
|
||||
"ldn-service.form.pattern.announce-relationship.label": "Announce Relationship",
|
||||
"ldn-service.form.pattern.announce-relationship.description": "This pattern is used to announce a relationship between two resources.",
|
||||
"ldn-service.form.pattern.announce-relationship.category": "Announcements",
|
||||
|
||||
"ldn-service.form.pattern.announce-review.label": "Announce Review",
|
||||
"ldn-service.form.pattern.announce-review.description": "This pattern is used to announce the existence of a review, referencing the reviewed resource.",
|
||||
"ldn-service.form.pattern.announce-review.category": "Announcements",
|
||||
|
||||
"ldn-service.form.pattern.announce-service-result.label": "Announce Service Result",
|
||||
"ldn-service.form.pattern.announce-service-result.description": "This pattern is used to announce the existence of a 'service result', referencing the relevant resource.",
|
||||
"ldn-service.form.pattern.announce-service-result.category": "Announcements",
|
||||
|
||||
"ldn-service.form.pattern.request-endorsement.label": "Request Endorsement",
|
||||
"ldn-service.form.pattern.request-endorsement.description": "This pattern is used to request endorsement of a resource owned by the origin system.",
|
||||
"ldn-service.form.pattern.request-endorsement.category": "Requests",
|
||||
|
||||
"ldn-service.form.pattern.request-ingest.label": "Request Ingest",
|
||||
"ldn-service.form.pattern.request-ingest.description": "This pattern is used to request that the target system ingest a resource.",
|
||||
"ldn-service.form.pattern.request-ingest.category": "Requests",
|
||||
|
||||
"ldn-service.form.pattern.request-review.label": "Request Review",
|
||||
"ldn-service.form.pattern.request-review.description": "This pattern is used to request a review of a resource owned by the origin system.",
|
||||
"ldn-service.form.pattern.request-review.category": "Requests",
|
||||
|
||||
"ldn-service.form.pattern.undo-offer.label": "Undo Offer",
|
||||
"ldn-service.form.pattern.undo-offer.description": "This pattern is used to undo (retract) an offer previously made.",
|
||||
"ldn-service.form.pattern.undo-offer.category": "Undo",
|
||||
|
||||
"ldn-new-service.form.label.placeholder.selectedItemFilter": "No Item Filter Selected",
|
||||
"ldn-new-service.form.label.ItemFilter": "Item Filter",
|
||||
"ldn-new-service.form.label.automatic": "Automatic",
|
||||
"ldn-new-service.form.error.name": "Name is required",
|
||||
"ldn-new-service.form.error.url": "URL is required",
|
||||
"ldn-new-service.form.error.ipRange": "Please enter a valid IP range",
|
||||
"ldn-new-service.form.hint.ipRange": "Please enter a valid IpV4 in both range bounds (note: for single IP, please enter the same value in both fields)",
|
||||
"ldn-new-service.form.error.ldnurl": "LDN URL is required",
|
||||
"ldn-new-service.form.error.patterns": "At least a pattern is required",
|
||||
"ldn-new-service.form.error.score": "Please enter a valid score (between 0 and 1). Use the “.” as decimal separator",
|
||||
|
||||
"ldn-new-service.form.label.inboundPattern": "Inbound Pattern",
|
||||
"ldn-new-service.form.label.addPattern": "+ Add more",
|
||||
"ldn-new-service.form.label.removeItemFilter": "Remove",
|
||||
"ldn-register-new-service.breadcrumbs": "New Service",
|
||||
"service.overview.delete.body": "Are you sure you want to delete this service?",
|
||||
"service.overview.edit.body": "Do you confirm the changes?",
|
||||
"service.overview.edit.modal": "Edit Service",
|
||||
"service.detail.update": "Confirm",
|
||||
"service.detail.return": "Cancel",
|
||||
"service.overview.reset-form.body": "Are you sure you want to discard the changes and leave?",
|
||||
"service.overview.reset-form.modal": "Discard Changes",
|
||||
"service.overview.reset-form.reset-confirm": "Discard",
|
||||
"admin.registries.services-formats.modify.success.head": "Successful Edit",
|
||||
"admin.registries.services-formats.modify.success.content": "The service has been edited",
|
||||
"admin.registries.services-formats.modify.failure.head": "Failed Edit",
|
||||
"admin.registries.services-formats.modify.failure.content": "The service has not been edited",
|
||||
"ldn-service-notification.created.success.title": "Successful Create",
|
||||
"ldn-service-notification.created.success.body": "The service has been created",
|
||||
"ldn-service-notification.created.failure.title": "Failed Create",
|
||||
"ldn-service-notification.created.failure.body": "The service has not been created",
|
||||
"ldn-service-notification.created.warning.title": "Please select at least one Inbound Pattern",
|
||||
"ldn-enable-service.notification.success.title": "Successful status updated",
|
||||
"ldn-enable-service.notification.success.content": "The service status has been updated",
|
||||
"ldn-service-delete.notification.success.title": "Successful Deletion",
|
||||
"ldn-service-delete.notification.success.content": "The service has been deleted",
|
||||
"ldn-service-delete.notification.error.title": "Failed Deletion",
|
||||
"ldn-service-delete.notification.error.content": "The service has not been deleted",
|
||||
"service.overview.reset-form.reset-return": "Cancel",
|
||||
"service.overview.delete": "Delete service",
|
||||
"ldn-edit-service.title": "Edit service",
|
||||
"ldn-edit-service.form.label.name": "Name",
|
||||
"ldn-edit-service.form.label.description": "Description",
|
||||
"ldn-edit-service.form.label.url": "Service URL",
|
||||
"ldn-edit-service.form.label.ldnUrl": "LDN Inbox URL",
|
||||
"ldn-edit-service.form.label.inboundPattern": "Inbound Pattern",
|
||||
"ldn-edit-service.form.label.noInboundPatternSelected": "No Inbound Pattern",
|
||||
"ldn-edit-service.form.label.selectedItemFilter": "Selected Item Filter",
|
||||
"ldn-edit-service.form.label.selectItemFilter": "No Item Filter",
|
||||
"ldn-edit-service.form.label.automatic": "Automatic",
|
||||
"ldn-edit-service.form.label.addInboundPattern": "+ Add more",
|
||||
"ldn-edit-service.form.label.submit": "Save",
|
||||
"ldn-edit-service.breadcrumbs": "Edit Service",
|
||||
"ldn-service.control-constaint-select-none": "Select none",
|
||||
|
||||
"ldn-register-new-service.notification.error.title": "Error",
|
||||
"ldn-register-new-service.notification.error.content": "An error occurred while creating this process",
|
||||
"ldn-register-new-service.notification.success.title": "Success",
|
||||
"ldn-register-new-service.notification.success.content": "The process was successfully created",
|
||||
|
||||
"info.coar-notify-support.title": "Notify Support",
|
||||
|
||||
"info.coar-notify.breadcrumbs": "Notify Support",
|
||||
|
||||
"submission.sections.notify.info": "The selected service is compatible with the item according to its current status. {{ service.name }}: {{ service.description }}",
|
||||
|
||||
"item.qa-event-notification.check.notification-info": "There are {{num}} pending review to check",
|
||||
|
||||
"item.qa-event-notification-info.check.button": "Check",
|
||||
|
||||
"mydspace.qa-event-notification.check.notification-info": "There are {{num}} pending review to check",
|
||||
|
||||
"mydspace.qa-event-notification-info.check.button": "Check",
|
||||
|
||||
"item.page.endorsed-by": "Endorsement",
|
||||
|
||||
"item.page.is-reviewed-by": "Review",
|
||||
|
||||
"item.page.is-supplemented-by": "Dataset",
|
||||
|
||||
"item.page.endorsment": "Endorsment",
|
||||
|
||||
"item.page.review": "Review",
|
||||
|
||||
"item.page.dataset": "Dataset",
|
||||
"menu.section.icon.ldn_services": "LDN Services overview",
|
||||
"menu.section.services": "LDN Services",
|
||||
|
||||
"menu.section.services_new": "LDN Service",
|
||||
|
||||
"mydspace.import": "Import",
|
||||
|
||||
"mydspace.notification.suggestion": "We found <b>{{count}} publications</b><br> in the {{source}} that seems to be related to your profile.<br> Please <a href='/suggestions/{{suggestionId}}'>review the suggestions</a>",
|
||||
|
||||
"mydspace.notification.suggestion.page": "We found <b>{{count}} {{type}}</b> in the {{source}} that seems to be related to your profile. Please <a href='/suggestions/{{suggestionId}}'>review the suggestions.</a>",
|
||||
|
||||
"quality-assurance.topics.description-with-target": "Below you can see all the topics received from the subscriptions to {{source}} in regards to the",
|
||||
"quality-assurance.events.description": "Below the list of all the suggestions for the selected topic <b>{{topic}}</b>, related to <b>{{source}}</b>.",
|
||||
|
||||
"quality-assurance.events.description-with-topic-and-target": "Below the list of all the suggestions for the selected topic <b>{{topic}}</b>, related to <b>{{source}}</b> and ",
|
||||
|
||||
"quality-assurance.event.table.event.message.serviceUrl": "Service URL:",
|
||||
|
||||
"quality-assurance.event.table.event.message.link": "Link:",
|
||||
|
||||
"service.detail.delete.cancel": "Cancel",
|
||||
|
||||
"service.detail.delete.button": "Delete service",
|
||||
|
||||
"service.detail.delete.header": "Delete service",
|
||||
|
||||
"service.detail.delete.body": "Are you sure you want to delete the current service?",
|
||||
|
||||
"service.detail.delete.confirm": "Delete service",
|
||||
|
||||
"service.detail.delete.success": "The service was successfully deleted.",
|
||||
|
||||
"service.detail.delete.error": "Something went wrong when deleting the service",
|
||||
|
||||
"service.overview.table.id": "Services ID",
|
||||
|
||||
"service.overview.table.name": "Name",
|
||||
|
||||
"service.overview.table.start": "Start time (UTC)",
|
||||
|
||||
"service.overview.table.status": "Status",
|
||||
|
||||
"service.overview.table.user": "User",
|
||||
|
||||
"service.overview.title": "Services Overview",
|
||||
|
||||
"service.overview.breadcrumbs": "Services Overview",
|
||||
|
||||
"service.overview.table.actions": "Actions",
|
||||
|
||||
"service.overview.table.description": "Description",
|
||||
|
||||
"reciter.suggestion.loading": "Loading ...",
|
||||
|
||||
"reciter.suggestion.title": "Suggestions",
|
||||
|
||||
"reciter.suggestion.targets.description": "Below you can see all the suggestions ",
|
||||
|
||||
"reciter.suggestion.targets": "Current Suggestions",
|
||||
|
||||
"reciter.suggestion.table.name": "Researcher Name",
|
||||
|
||||
"reciter.suggestion.table.actions": "Actions",
|
||||
|
||||
"reciter.suggestion.button.review": "Review {{ total }} suggestion(s)",
|
||||
|
||||
"reciter.suggestion.noTargets": "No target found.",
|
||||
|
||||
"reciter.suggestion.target.error.service.retrieve": "An error occurred while loading the Suggestion targets",
|
||||
|
||||
"reciter.suggestion.evidence.type": "Type",
|
||||
|
||||
"reciter.suggestion.evidence.score": "Score",
|
||||
|
||||
"reciter.suggestion.evidence.notes": "Notes",
|
||||
|
||||
"reciter.suggestion.approveAndImport": "Approve & import",
|
||||
|
||||
"reciter.suggestion.approveAndImport.success": "The suggestion has been imported successfully. <a href='/workspaceitems/{{workspaceItemId}}/edit'>View.</a>",
|
||||
|
||||
"reciter.suggestion.approveAndImport.bulk": "Approve & import Selected",
|
||||
|
||||
"reciter.suggestion.approveAndImport.bulk.success": "{{ count }} suggestions have been imported successfully ",
|
||||
|
||||
"reciter.suggestion.approveAndImport.bulk.error": "{{ count }} suggestions haven't been imported due to unexpected server errors",
|
||||
|
||||
"reciter.suggestion.notMine": "Not mine",
|
||||
|
||||
"reciter.suggestion.notMine.success": "The suggestion has been discarded",
|
||||
|
||||
"reciter.suggestion.notMine.bulk": "Not mine Selected",
|
||||
|
||||
"reciter.suggestion.notMine.bulk.success": "{{ count }} suggestions have been discarded ",
|
||||
|
||||
"reciter.suggestion.notMine.bulk.error": "{{ count }} suggestions haven't been discarded due to unexpected server errors",
|
||||
|
||||
"reciter.suggestion.seeEvidence": "See evidence",
|
||||
|
||||
"reciter.suggestion.hideEvidence": "Hide evidence",
|
||||
|
||||
"reciter.suggestion.suggestionFor": "Suggestion for",
|
||||
|
||||
"reciter.suggestion.source.oaire": "OpenAIRE Graph",
|
||||
|
||||
"reciter.suggestion.from.source": "from the ",
|
||||
|
||||
"reciter.suggestion.totalScore": "Total Score",
|
||||
|
||||
"reciter.suggestion.type.oaire": "OpenAIRE",
|
||||
|
||||
"submission.sections.submit.progressbar.coarnotify": "COAR Notify",
|
||||
|
||||
"submission.section.section-coar-notify.control.request-review.label": "You can request a review to one of the following services",
|
||||
|
||||
"submission.section.section-coar-notify.control.request-endorsement.label": "You can request an Endorsement to one of the following overlay journals",
|
||||
|
||||
"submission.section.section-coar-notify.control.request-ingest.label": "You can request to ingest a copy of your submission to one of the following services",
|
||||
|
||||
"submission.section.section-coar-notify.dropdown.no-data": "No data available",
|
||||
|
||||
"submission.section.section-coar-notify.dropdown.select-none": "Select none",
|
||||
|
||||
"submission.section.section-coar-notify.small.notification": "Select a service for {{ pattern }} of this item",
|
||||
|
||||
"submission.section.section-coar-notify.selection.description": "Selected service's description:",
|
||||
|
||||
"submission.section.section-coar-notify.selection.no-description": "No further information is available",
|
||||
|
||||
"submission.section.section-coar-notify.notification.error": "The selected service is not suitable for the current item. Please check the description for details about which record can be managed by this service.",
|
||||
|
||||
"submission.section.section-coar-notify.info.no-pattern": "No patterns found in the submission.",
|
||||
|
||||
"error.validation.coarnotify.invalidfilter": "Invalid filter, try to select another service or none.",
|
||||
|
||||
"request-status-alert-box.accepted": "The requested {{ offerType }} for <a href='{{serviceUrl}}' target='_blank'> {{ serviceName }} </a> has been taken in charge.",
|
||||
|
||||
"request-status-alert-box.rejected": "The requested {{ offerType }} for <a href='{{serviceUrl}}' target='_blank'> {{ serviceName }} </a> has been rejected.",
|
||||
|
||||
"request-status-alert-box.requested": "The requested {{ offerType }} for <a href='{{serviceUrl}}' target='_blank'> {{ serviceName }} </a> is pending.",
|
||||
}
|
||||
|
@@ -324,6 +324,4 @@ export const environment: BuildConfig = {
|
||||
enabled: true
|
||||
}
|
||||
],
|
||||
|
||||
suggestion: []
|
||||
};
|
||||
|
Reference in New Issue
Block a user