mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-14 13:33:03 +00:00
[DURACOM-191] fix routing modules
This commit is contained in:
@@ -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
|
||||||
],
|
],
|
||||||
|
@@ -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: {
|
||||||
|
@@ -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,
|
||||||
|
@@ -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],
|
||||||
})
|
})
|
||||||
|
@@ -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']
|
||||||
})
|
})
|
||||||
/**
|
/**
|
||||||
|
@@ -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 {
|
||||||
|
|
||||||
|
@@ -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 {
|
||||||
|
@@ -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 {
|
||||||
|
|
||||||
|
@@ -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 {
|
||||||
|
|
||||||
|
}
|
@@ -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 {
|
|
||||||
|
|
||||||
}
|
|
@@ -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: []
|
||||||
|
@@ -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 {
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user