[DURACOM-191] fix routing modules

This commit is contained in:
Andrea Barbasso
2024-03-05 08:14:13 +01:00
parent 923c375d67
commit 5ec649f329
12 changed files with 284 additions and 188 deletions

View File

@@ -2,7 +2,6 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { AdminLdnServicesRoutingModule } from './admin-ldn-services-routing.module'; import { AdminLdnServicesRoutingModule } from './admin-ldn-services-routing.module';
import { LdnServicesOverviewComponent } from './ldn-services-directory/ldn-services-directory.component'; import { LdnServicesOverviewComponent } from './ldn-services-directory/ldn-services-directory.component';
import { SharedModule } from '../../shared/shared.module';
import { LdnServiceFormComponent } from './ldn-service-form/ldn-service-form.component'; import { LdnServiceFormComponent } from './ldn-service-form/ldn-service-form.component';
import { FormsModule } from '@angular/forms'; import { FormsModule } from '@angular/forms';
import { LdnItemfiltersService } from './ldn-services-data/ldn-itemfilters-data.service'; import { LdnItemfiltersService } from './ldn-services-data/ldn-itemfilters-data.service';
@@ -11,7 +10,6 @@ import { LdnItemfiltersService } from './ldn-services-data/ldn-itemfilters-data.
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
SharedModule,
AdminLdnServicesRoutingModule, AdminLdnServicesRoutingModule,
FormsModule FormsModule
], ],

View File

@@ -3,52 +3,90 @@ import { Route, RouterModule } from '@angular/router';
import { AuthenticatedGuard } from '../../core/auth/authenticated.guard'; import { AuthenticatedGuard } from '../../core/auth/authenticated.guard';
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service'; import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service';
import { QUALITY_ASSURANCE_EDIT_PATH } from './admin-notifications-routing-paths'; import { PUBLICATION_CLAIMS_PATH, 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 { QualityAssuranceBreadcrumbResolver } from '../../core/breadcrumbs/quality-assurance-breadcrumb.resolver';
import { QualityAssuranceBreadcrumbService } from '../../core/breadcrumbs/quality-assurance-breadcrumb.service'; import { QualityAssuranceBreadcrumbService } from '../../core/breadcrumbs/quality-assurance-breadcrumb.service';
import { import {
SourceDataResolver 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 {
QualityAssuranceSourcePageResolver
} from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page-resolver.service';
import {
QualityAssuranceEventsPageResolver
} from '../../quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.resolver';
import {
QualityAssuranceTopicsPageResolver
} from '../../quality-assurance-notifications-pages/quality-assurance-topics-page/quality-assurance-topics-page-resolver.service';
import {
AdminNotificationsPublicationClaimPageComponent
} from './admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component';
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 {
QualityAssuranceSourcePageComponent
} from '../../quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page.component';
import {
QualityAssuranceEventsPageComponent
} from '../../quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.component';
const providers = [ const providers = [
I18nBreadcrumbResolver, I18nBreadcrumbResolver,
I18nBreadcrumbsService, I18nBreadcrumbsService,
SourceDataResolver, SourceDataResolver,
AdminQualityAssuranceTopicsPageResolver, QualityAssuranceTopicsPageResolver,
AdminQualityAssuranceEventsPageResolver, QualityAssuranceEventsPageResolver,
AdminQualityAssuranceSourcePageResolver, QualityAssuranceSourcePageResolver,
QualityAssuranceBreadcrumbResolver, QualityAssuranceBreadcrumbResolver,
QualityAssuranceBreadcrumbService QualityAssuranceBreadcrumbService
]; ];
export const ROUTES: Route[] = [ export const ROUTES: Route[] = [
RouterModule.forChild([ RouterModule.forChild([
{
canActivate: [ AuthenticatedGuard ],
path: `${PUBLICATION_CLAIMS_PATH}`,
component: AdminNotificationsPublicationClaimPageComponent,
pathMatch: 'full',
resolve: {
breadcrumb: I18nBreadcrumbResolver,
suggestionTargetParams: AdminNotificationsPublicationClaimPageResolver
},
providers,
data: {
title: 'admin.notifications.publicationclaim.page.title',
breadcrumbKey: 'admin.notifications.publicationclaim',
showBreadcrumbsFluid: false
}
},
{ {
canActivate: [AuthenticatedGuard], canActivate: [AuthenticatedGuard],
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId`, path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId`,
component: AdminQualityAssuranceTopicsPageComponent, component: QualityAssuranceTopicsPageComponent,
pathMatch: 'full', pathMatch: 'full',
resolve: { resolve: {
breadcrumb: QualityAssuranceBreadcrumbResolver, breadcrumb: QualityAssuranceBreadcrumbResolver,
openaireQualityAssuranceTopicsParams: AdminQualityAssuranceTopicsPageResolver openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver
},
providers,
data: {
title: 'admin.quality-assurance.page.title',
breadcrumbKey: 'admin.quality-assurance',
showBreadcrumbsFluid: false
}
},
{
canActivate: [ AuthenticatedGuard ],
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId/target/:targetId`,
component: QualityAssuranceTopicsPageComponent,
pathMatch: 'full',
resolve: {
breadcrumb: I18nBreadcrumbResolver,
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver
}, },
providers, providers,
data: { data: {
@@ -60,11 +98,11 @@ export const ROUTES: Route[] = [
{ {
canActivate: [AuthenticatedGuard], canActivate: [AuthenticatedGuard],
path: `${QUALITY_ASSURANCE_EDIT_PATH}`, path: `${QUALITY_ASSURANCE_EDIT_PATH}`,
component: AdminQualityAssuranceSourcePageComponent, component: QualityAssuranceSourcePageComponent,
pathMatch: 'full', pathMatch: 'full',
resolve: { resolve: {
breadcrumb: I18nBreadcrumbResolver, breadcrumb: I18nBreadcrumbResolver,
openaireQualityAssuranceSourceParams: AdminQualityAssuranceSourcePageResolver, openaireQualityAssuranceSourceParams: QualityAssuranceSourcePageResolver,
sourceData: SourceDataResolver sourceData: SourceDataResolver
}, },
providers, providers,
@@ -77,11 +115,11 @@ export const ROUTES: Route[] = [
{ {
canActivate: [AuthenticatedGuard], canActivate: [AuthenticatedGuard],
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId/:topicId`, path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId/:topicId`,
component: AdminQualityAssuranceEventsPageComponent, component: QualityAssuranceEventsPageComponent,
pathMatch: 'full', pathMatch: 'full',
resolve: { resolve: {
breadcrumb: QualityAssuranceBreadcrumbResolver, breadcrumb: QualityAssuranceBreadcrumbResolver,
openaireQualityAssuranceEventsParams: AdminQualityAssuranceEventsPageResolver openaireQualityAssuranceEventsParams: QualityAssuranceEventsPageResolver
}, },
providers, providers,
data: { data: {

View File

@@ -2,7 +2,6 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { FilteredCollectionsComponent } from './filtered-collections/filtered-collections.component'; import { FilteredCollectionsComponent } from './filtered-collections/filtered-collections.component';
import { RouterModule } from '@angular/router'; import { RouterModule } from '@angular/router';
import { SharedModule } from '../../shared/shared.module';
import { FormModule } from '../../shared/form/form.module'; import { FormModule } from '../../shared/form/form.module';
import { FilteredItemsComponent } from './filtered-items/filtered-items.component'; import { FilteredItemsComponent } from './filtered-items/filtered-items.component';
import { AdminReportsRoutingModule } from './admin-reports-routing.module'; import { AdminReportsRoutingModule } from './admin-reports-routing.module';
@@ -12,7 +11,6 @@ import { FiltersComponent } from './filters-section/filters-section.component';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
SharedModule,
RouterModule, RouterModule,
FormModule, FormModule,
AdminReportsRoutingModule, AdminReportsRoutingModule,

View File

@@ -44,19 +44,20 @@ import { EffectsModule } from '@ngrx/effects';
import { submissionReducers, SubmissionState } from './submission/submission.reducers'; import { submissionReducers, SubmissionState } from './submission/submission.reducers';
import { submissionEffects } from './submission/submission.effects'; import { submissionEffects } from './submission/submission.effects';
import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-check-guard.guard'; import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-check-guard.guard';
import { NOTIFICATIONS_MODULE_PATH } from './admin/admin-routing-paths';
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forRoot([ RouterModule.forRoot([
{ path: INTERNAL_SERVER_ERROR, component: ThemedPageInternalServerErrorComponent }, {path: INTERNAL_SERVER_ERROR, component: ThemedPageInternalServerErrorComponent},
{ path: ERROR_PAGE , component: ThemedPageErrorComponent }, {path: ERROR_PAGE, component: ThemedPageErrorComponent},
{ {
path: '', path: '',
canActivate: [AuthBlockingGuard], canActivate: [AuthBlockingGuard],
canActivateChild: [ServerCheckGuard], canActivateChild: [ServerCheckGuard],
resolve: [MenuResolver], resolve: [MenuResolver],
children: [ children: [
{ path: '', redirectTo: '/home', pathMatch: 'full' }, {path: '', redirectTo: '/home', pathMatch: 'full'},
{ {
path: 'reload/:rnd', path: 'reload/:rnd',
component: ThemedPageNotFoundComponent, component: ThemedPageNotFoundComponent,
@@ -67,7 +68,7 @@ import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-c
path: 'home', path: 'home',
loadChildren: () => import('./home-page/home-page-routes') loadChildren: () => import('./home-page/home-page-routes')
.then((m) => m.ROUTES), .then((m) => m.ROUTES),
data: { showBreadcrumbs: false }, data: {showBreadcrumbs: false},
canActivate: [EndUserAgreementCurrentUserGuard] canActivate: [EndUserAgreementCurrentUserGuard]
}, },
{ {
@@ -160,19 +161,18 @@ import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-c
.then((m) => m.ROUTES), .then((m) => m.ROUTES),
canActivate: [EndUserAgreementCurrentUserGuard] canActivate: [EndUserAgreementCurrentUserGuard]
}, },
// TODO: switch routing modules to routing files {
// { path: NOTIFICATIONS_MODULE_PATH,
// path: NOTIFICATIONS_MODULE_PATH, loadChildren: () => import('./admin/admin-notifications/admin-notifications-routes')
// loadChildren: () => import('./admin/admin-notifications/admin-notifications.module') .then((m) => m.ROUTES),
// .then((m) => m.AdminNotificationsModule), canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard]
// canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard] },
// }, {
// { path: NOTIFICATIONS_MODULE_PATH,
// path: NOTIFICATIONS_MODULE_PATH, loadChildren: () => import('./quality-assurance-notifications-pages/notifications-pages-routes')
// loadChildren: () => import('./quality-assurance-notifications-pages/notifications-pages.module') .then((m) => m.ROUTES),
// .then((m) => m.NotificationsPageModule), canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard]
// canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard] },
// },
{ {
path: 'login', path: 'login',
loadChildren: () => import('./login-page/login-page-routes') loadChildren: () => import('./login-page/login-page-routes')
@@ -189,9 +189,9 @@ import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-c
.then((m) => m.ROUTES), .then((m) => m.ROUTES),
providers: [ providers: [
importProvidersFrom( importProvidersFrom(
StoreModule.forFeature('submission', submissionReducers, storeModuleConfig as StoreConfig<SubmissionState, Action>), StoreModule.forFeature('submission', submissionReducers, storeModuleConfig as StoreConfig<SubmissionState, Action>),
EffectsModule.forFeature(submissionEffects), EffectsModule.forFeature(submissionEffects),
)], )],
canActivate: [EndUserAgreementCurrentUserGuard] canActivate: [EndUserAgreementCurrentUserGuard]
}, },
{ {
@@ -234,7 +234,8 @@ import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-c
.then((m) => m.ROUTES), .then((m) => m.ROUTES),
canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard] canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard]
}, },
{ path: SUGGESTION_MODULE_PATH, {
path: SUGGESTION_MODULE_PATH,
loadChildren: () => import('./suggestions-page/suggestions-page.module') loadChildren: () => import('./suggestions-page/suggestions-page.module')
.then((m) => m.SuggestionsPageModule), .then((m) => m.SuggestionsPageModule),
canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard] canActivate: [AuthenticatedGuard, EndUserAgreementCurrentUserGuard]
@@ -274,7 +275,7 @@ import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-c
.then((m) => m.ROUTES), .then((m) => m.ROUTES),
canActivate: [AuthenticatedGuard] canActivate: [AuthenticatedGuard]
}, },
{ path: '**', pathMatch: 'full', component: ThemedPageNotFoundComponent } {path: '**', pathMatch: 'full', component: ThemedPageNotFoundComponent}
] ]
} }
], { ], {
@@ -285,7 +286,7 @@ import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-c
initialNavigation: 'enabledBlocking', initialNavigation: 'enabledBlocking',
preloadingStrategy: NoPreloading, preloadingStrategy: NoPreloading,
onSameUrlNavigation: 'reload', onSameUrlNavigation: 'reload',
}) })
], ],
exports: [RouterModule], exports: [RouterModule],
}) })

View File

@@ -3,10 +3,16 @@ import { EPersonDataService } from '../../../../core/eperson/eperson-data.servic
import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../../../../core/shared/operators'; import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../../../../core/shared/operators';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { EPerson } from '../../../../core/eperson/models/eperson.model'; import { EPerson } from '../../../../core/eperson/models/eperson.model';
import { AsyncPipe, NgIf } from '@angular/common';
@Component({ @Component({
selector: 'ds-eperson-data', selector: 'ds-eperson-data',
templateUrl: './ePerson-data.component.html', templateUrl: './ePerson-data.component.html',
standalone: true,
imports: [
NgIf,
AsyncPipe
],
styleUrls: ['./ePerson-data.component.scss'] styleUrls: ['./ePerson-data.component.scss']
}) })
/** /**

View File

@@ -1,5 +1,5 @@
import { Component, Input, OnInit } from '@angular/core'; import { Component, Input, OnInit } from '@angular/core';
import { Router } from '@angular/router'; import { Router, RouterLink } from '@angular/router';
import { Observable, Subscription } from 'rxjs'; import { Observable, Subscription } from 'rxjs';
import { distinctUntilChanged, take } from 'rxjs/operators'; import { distinctUntilChanged, take } from 'rxjs/operators';
@@ -12,6 +12,10 @@ import { PaginationService } from '../../../core/pagination/pagination.service';
import { SuggestionTarget } from '../../../core/notifications/models/suggestion-target.model'; import { SuggestionTarget } from '../../../core/notifications/models/suggestion-target.model';
import { SuggestionTargetsStateService } from '../suggestion-targets.state.service'; import { SuggestionTargetsStateService } from '../suggestion-targets.state.service';
import { SuggestionsService } from '../../suggestions.service'; import { SuggestionsService } from '../../suggestions.service';
import { LoadingComponent } from '../../../shared/loading/loading.component';
import { AsyncPipe, NgIf } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
/** /**
* Component to display the Suggestion Target list. * Component to display the Suggestion Target list.
@@ -20,6 +24,15 @@ import { SuggestionsService } from '../../suggestions.service';
selector: 'ds-publication-claim', selector: 'ds-publication-claim',
templateUrl: './publication-claim.component.html', templateUrl: './publication-claim.component.html',
styleUrls: ['./publication-claim.component.scss'], styleUrls: ['./publication-claim.component.scss'],
imports: [
LoadingComponent,
AsyncPipe,
TranslateModule,
PaginationComponent,
NgIf,
RouterLink
],
standalone: true
}) })
export class PublicationClaimComponent implements OnInit { export class PublicationClaimComponent implements OnInit {

View File

@@ -4,6 +4,9 @@ import { SuggestionTargetsStateService } from '../suggestion-targets/suggestion-
import { SuggestionsService } from '../suggestions.service'; import { SuggestionsService } from '../suggestions.service';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model'; import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
import { RouterLink } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
/** /**
* Show suggestions notification, used on myDSpace and Profile pages * Show suggestions notification, used on myDSpace and Profile pages
@@ -11,6 +14,14 @@ import { SuggestionTarget } from '../../core/notifications/models/suggestion-tar
@Component({ @Component({
selector: 'ds-suggestions-notification', selector: 'ds-suggestions-notification',
templateUrl: './suggestions-notification.component.html', templateUrl: './suggestions-notification.component.html',
standalone: true,
imports: [
RouterLink,
TranslateModule,
AsyncPipe,
NgIf,
NgForOf
],
styleUrls: ['./suggestions-notification.component.scss'] styleUrls: ['./suggestions-notification.component.scss']
}) })
export class SuggestionsNotificationComponent implements OnInit { export class SuggestionsNotificationComponent implements OnInit {

View File

@@ -9,6 +9,9 @@ import { trigger } from '@angular/animations';
import { fromTopEnter } from '../../shared/animations/fromTop'; import { fromTopEnter } from '../../shared/animations/fromTop';
import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model'; import { SuggestionTarget } from '../../core/notifications/models/suggestion-target.model';
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { RouterLink } from '@angular/router';
/** /**
* Show suggestions on a popover window, used on the homepage * Show suggestions on a popover window, used on the homepage
@@ -22,6 +25,14 @@ import { SuggestionTarget } from '../../core/notifications/models/suggestion-tar
fromTopEnter fromTopEnter
]) ])
], ],
imports: [
AsyncPipe,
TranslateModule,
RouterLink,
NgIf,
NgForOf
],
standalone: true
}) })
export class SuggestionsPopupComponent implements OnInit, OnDestroy { export class SuggestionsPopupComponent implements OnInit, OnDestroy {

View File

@@ -0,0 +1,140 @@
import { Route } from '@angular/router';
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service';
import {
NOTIFICATIONS_RECITER_SUGGESTION_PATH,
QUALITY_ASSURANCE_EDIT_PATH
} from './notifications-pages-routing-paths';
import {
NotificationsSuggestionTargetsPageComponent
} from './notifications-suggestion-targets-page/notifications-suggestion-targets-page.component';
import {
AdminNotificationsPublicationClaimPageResolver
} from './notifications-suggestion-targets-page/notifications-suggestion-targets-page-resolver.service';
import {
QualityAssuranceTopicsPageComponent
} from './quality-assurance-topics-page/quality-assurance-topics-page.component';
import {
QualityAssuranceEventsPageComponent
} from './quality-assurance-events-page/quality-assurance-events-page.component';
import {
QualityAssuranceTopicsPageResolver
} from './quality-assurance-topics-page/quality-assurance-topics-page-resolver.service';
import {
QualityAssuranceEventsPageResolver
} from './quality-assurance-events-page/quality-assurance-events-page.resolver';
import {
QualityAssuranceSourcePageComponent
} from './quality-assurance-source-page-component/quality-assurance-source-page.component';
import {
QualityAssuranceSourcePageResolver
} from './quality-assurance-source-page-component/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 { SourceDataResolver } from './quality-assurance-source-page-component/quality-assurance-source-data.resolver';
const providers = [
I18nBreadcrumbResolver,
I18nBreadcrumbsService,
AdminNotificationsPublicationClaimPageResolver,
SourceDataResolver,
QualityAssuranceSourcePageResolver,
QualityAssuranceTopicsPageResolver,
QualityAssuranceEventsPageResolver,
QualityAssuranceSourcePageResolver,
QualityAssuranceBreadcrumbResolver,
QualityAssuranceBreadcrumbService
];
export const ROUTES: Route[] = [
{
canActivate: [AuthenticatedGuard],
path: `${NOTIFICATIONS_RECITER_SUGGESTION_PATH}`,
component: NotificationsSuggestionTargetsPageComponent,
pathMatch: 'full',
providers,
resolve: {
breadcrumb: I18nBreadcrumbResolver,
reciterSuggestionTargetParams: AdminNotificationsPublicationClaimPageResolver
},
data: {
title: 'admin.notifications.recitersuggestion.page.title',
breadcrumbKey: 'admin.notifications.recitersuggestion',
showBreadcrumbsFluid: false
}
},
{
canActivate: [AuthenticatedGuard],
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId`,
component: QualityAssuranceTopicsPageComponent,
pathMatch: 'full',
providers,
resolve: {
breadcrumb: QualityAssuranceBreadcrumbResolver,
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver
},
data: {
title: 'admin.quality-assurance.page.title',
breadcrumbKey: 'admin.quality-assurance',
showBreadcrumbsFluid: false
}
},
{
canActivate: [AuthenticatedGuard],
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId/target/:targetId`,
component: QualityAssuranceTopicsPageComponent,
pathMatch: 'full',
providers,
resolve: {
breadcrumb: I18nBreadcrumbResolver,
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver
},
data: {
title: 'admin.quality-assurance.page.title',
breadcrumbKey: 'admin.quality-assurance',
showBreadcrumbsFluid: false
}
},
{
canActivate: [AuthenticatedGuard],
path: `${QUALITY_ASSURANCE_EDIT_PATH}`,
component: QualityAssuranceSourcePageComponent,
pathMatch: 'full',
providers,
resolve: {
breadcrumb: I18nBreadcrumbResolver,
openaireQualityAssuranceSourceParams: QualityAssuranceSourcePageResolver,
sourceData: SourceDataResolver
},
data: {
title: 'admin.notifications.source.breadcrumbs',
breadcrumbKey: 'admin.notifications.source',
showBreadcrumbsFluid: false
}
},
{
canActivate: [AuthenticatedGuard],
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId/:topicId`,
component: QualityAssuranceEventsPageComponent,
pathMatch: 'full',
providers,
resolve: {
breadcrumb: QualityAssuranceBreadcrumbResolver,
openaireQualityAssuranceEventsParams: QualityAssuranceEventsPageResolver
},
data: {
title: 'admin.notifications.event.page.title',
breadcrumbKey: 'admin.notifications.event',
showBreadcrumbsFluid: false
}
}
];
/**
* Routing module for the Notifications section of the admin sidebar
*/
export class NotificationsPageRoutingModule {
}

View File

@@ -1,122 +0,0 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
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 { 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';
import { QualityAssuranceTopicsPageResolver } from './quality-assurance-topics-page/quality-assurance-topics-page-resolver.service';
import { QualityAssuranceEventsPageResolver } from './quality-assurance-events-page/quality-assurance-events-page.resolver';
import { QualityAssuranceSourcePageComponent } from './quality-assurance-source-page-component/quality-assurance-source-page.component';
import { QualityAssuranceSourcePageResolver } from './quality-assurance-source-page-component/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 {
SourceDataResolver
} from './quality-assurance-source-page-component/quality-assurance-source-data.resolver';
@NgModule({
imports: [
RouterModule.forChild([
{
canActivate: [ AuthenticatedGuard ],
path: `${NOTIFICATIONS_RECITER_SUGGESTION_PATH}`,
component: NotificationsSuggestionTargetsPageComponent,
pathMatch: 'full',
resolve: {
breadcrumb: I18nBreadcrumbResolver,
reciterSuggestionTargetParams: AdminNotificationsPublicationClaimPageResolver
},
data: {
title: 'admin.notifications.recitersuggestion.page.title',
breadcrumbKey: 'admin.notifications.recitersuggestion',
showBreadcrumbsFluid: false
}
},
{
canActivate: [ AuthenticatedGuard ],
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId`,
component: QualityAssuranceTopicsPageComponent,
pathMatch: 'full',
resolve: {
breadcrumb: QualityAssuranceBreadcrumbResolver,
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver
},
data: {
title: 'admin.quality-assurance.page.title',
breadcrumbKey: 'admin.quality-assurance',
showBreadcrumbsFluid: false
}
},
{
canActivate: [ AuthenticatedGuard ],
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId/target/:targetId`,
component: QualityAssuranceTopicsPageComponent,
pathMatch: 'full',
resolve: {
breadcrumb: I18nBreadcrumbResolver,
openaireQualityAssuranceTopicsParams: QualityAssuranceTopicsPageResolver
},
data: {
title: 'admin.quality-assurance.page.title',
breadcrumbKey: 'admin.quality-assurance',
showBreadcrumbsFluid: false
}
},
{
canActivate: [ AuthenticatedGuard ],
path: `${QUALITY_ASSURANCE_EDIT_PATH}`,
component: QualityAssuranceSourcePageComponent,
pathMatch: 'full',
resolve: {
breadcrumb: I18nBreadcrumbResolver,
openaireQualityAssuranceSourceParams: QualityAssuranceSourcePageResolver,
sourceData: SourceDataResolver
},
data: {
title: 'admin.notifications.source.breadcrumbs',
breadcrumbKey: 'admin.notifications.source',
showBreadcrumbsFluid: false
}
},
{
canActivate: [ AuthenticatedGuard ],
path: `${QUALITY_ASSURANCE_EDIT_PATH}/:sourceId/:topicId`,
component: QualityAssuranceEventsPageComponent,
pathMatch: 'full',
resolve: {
breadcrumb: QualityAssuranceBreadcrumbResolver,
openaireQualityAssuranceEventsParams: QualityAssuranceEventsPageResolver
},
data: {
title: 'admin.notifications.event.page.title',
breadcrumbKey: 'admin.notifications.event',
showBreadcrumbsFluid: false
}
}
])
],
providers: [
I18nBreadcrumbResolver,
I18nBreadcrumbsService,
AdminNotificationsPublicationClaimPageResolver,
SourceDataResolver,
QualityAssuranceSourcePageResolver,
QualityAssuranceTopicsPageResolver,
QualityAssuranceEventsPageResolver,
QualityAssuranceSourcePageResolver,
QualityAssuranceBreadcrumbResolver,
QualityAssuranceBreadcrumbService
]
})
/**
* Routing module for the Notifications section of the admin sidebar
*/
export class NotificationsPageRoutingModule {
}

View File

@@ -1,27 +1,22 @@
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { NotificationsPageRoutingModule } from './notifications-pages-routing.module';
import { NotificationsSuggestionTargetsPageComponent } from './notifications-suggestion-targets-page/notifications-suggestion-targets-page.component'; import { NotificationsSuggestionTargetsPageComponent } from './notifications-suggestion-targets-page/notifications-suggestion-targets-page.component';
import { QualityAssuranceTopicsPageComponent } from './quality-assurance-topics-page/quality-assurance-topics-page.component'; import { QualityAssuranceTopicsPageComponent } from './quality-assurance-topics-page/quality-assurance-topics-page.component';
import { QualityAssuranceEventsPageComponent } from './quality-assurance-events-page/quality-assurance-events-page.component'; import { QualityAssuranceEventsPageComponent } from './quality-assurance-events-page/quality-assurance-events-page.component';
import { QualityAssuranceSourcePageComponent } from './quality-assurance-source-page-component/quality-assurance-source-page.component'; import { QualityAssuranceSourcePageComponent } from './quality-assurance-source-page-component/quality-assurance-source-page.component';
import { NotificationsModule } from '../notifications/notifications.module'; import { NotificationsModule } from '../notifications/notifications.module';
import { SharedModule } from '../shared/shared.module';
import { CoreModule } from '../core/core.module'; import { CoreModule } from '../core/core.module';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, CommonModule,
SharedModule,
CoreModule.forRoot(), CoreModule.forRoot(),
NotificationsPageRoutingModule, NotificationsModule,
NotificationsModule QualityAssuranceEventsPageComponent,
QualityAssuranceTopicsPageComponent
], ],
declarations: [ declarations: [
NotificationsSuggestionTargetsPageComponent,
QualityAssuranceTopicsPageComponent,
QualityAssuranceEventsPageComponent,
QualityAssuranceSourcePageComponent QualityAssuranceSourcePageComponent
], ],
entryComponents: [] entryComponents: []

View File

@@ -1,9 +1,16 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import {
PublicationClaimComponent
} from '../../notifications/suggestion-targets/publication-claim/publication-claim.component';
@Component({ @Component({
selector: 'ds-notifications-reciter-page', selector: 'ds-notifications-reciter-page',
templateUrl: './notifications-suggestion-targets-page.component.html', templateUrl: './notifications-suggestion-targets-page.component.html',
styleUrls: ['./notifications-suggestion-targets-page.component.scss'] styleUrls: ['./notifications-suggestion-targets-page.component.scss'],
imports: [
PublicationClaimComponent
],
standalone: true
}) })
export class NotificationsSuggestionTargetsPageComponent { export class NotificationsSuggestionTargetsPageComponent {