run ng update @angular/core@16 @angular/cli@16 --force

This commit is contained in:
Andrea Barbasso
2024-02-12 16:22:22 +01:00
parent a98039c687
commit 9b213b6381
51 changed files with 2187 additions and 406 deletions

View File

@@ -55,17 +55,17 @@
"ts-node": "10.2.1" "ts-node": "10.2.1"
}, },
"dependencies": { "dependencies": {
"@angular/animations": "^15.2.8", "@angular/animations": "^16.2.12",
"@angular/cdk": "^15.2.8", "@angular/cdk": "^15.2.8",
"@angular/common": "^15.2.8", "@angular/common": "^16.2.12",
"@angular/compiler": "^15.2.8", "@angular/compiler": "^16.2.12",
"@angular/core": "^15.2.8", "@angular/core": "^16.2.12",
"@angular/forms": "^15.2.8", "@angular/forms": "^16.2.12",
"@angular/localize": "15.2.8", "@angular/localize": "16.2.12",
"@angular/platform-browser": "^15.2.8", "@angular/platform-browser": "^16.2.12",
"@angular/platform-browser-dynamic": "^15.2.8", "@angular/platform-browser-dynamic": "^16.2.12",
"@angular/platform-server": "^15.2.8", "@angular/platform-server": "^16.2.12",
"@angular/router": "^15.2.8", "@angular/router": "^16.2.12",
"@babel/runtime": "7.21.0", "@babel/runtime": "7.21.0",
"@kolkov/ngx-gallery": "^2.0.1", "@kolkov/ngx-gallery": "^2.0.1",
"@material-ui/core": "^4.11.0", "@material-ui/core": "^4.11.0",
@@ -132,19 +132,19 @@
"sortablejs": "1.15.0", "sortablejs": "1.15.0",
"uuid": "^8.3.2", "uuid": "^8.3.2",
"webfontloader": "1.6.28", "webfontloader": "1.6.28",
"zone.js": "~0.11.5" "zone.js": "~0.13.3"
}, },
"devDependencies": { "devDependencies": {
"@angular-builders/custom-webpack": "~15.0.0", "@angular-builders/custom-webpack": "~15.0.0",
"@angular-devkit/build-angular": "^15.2.6", "@angular-devkit/build-angular": "^16.2.12",
"@angular-eslint/builder": "15.2.1", "@angular-eslint/builder": "15.2.1",
"@angular-eslint/eslint-plugin": "15.2.1", "@angular-eslint/eslint-plugin": "15.2.1",
"@angular-eslint/eslint-plugin-template": "15.2.1", "@angular-eslint/eslint-plugin-template": "15.2.1",
"@angular-eslint/schematics": "15.2.1", "@angular-eslint/schematics": "15.2.1",
"@angular-eslint/template-parser": "15.2.1", "@angular-eslint/template-parser": "15.2.1",
"@angular/cli": "^15.2.6", "@angular/cli": "^16.2.12",
"@angular/compiler-cli": "^15.2.8", "@angular/compiler-cli": "^16.2.12",
"@angular/language-service": "^15.2.8", "@angular/language-service": "^16.2.12",
"@cypress/schematic": "^1.5.0", "@cypress/schematic": "^1.5.0",
"@fortawesome/fontawesome-free": "^6.4.0", "@fortawesome/fontawesome-free": "^6.4.0",
"@ngrx/store-devtools": "^15.4.0", "@ngrx/store-devtools": "^15.4.0",

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
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 { RemoteData } from '../../core/data/remote-data'; import { RemoteData } from '../../core/data/remote-data';
@@ -19,7 +19,7 @@ export const EPERSON_EDIT_FOLLOW_LINKS: FollowLinkConfig<EPerson>[] = [
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
export class EPersonResolver implements Resolve<RemoteData<EPerson>> { export class EPersonResolver {
constructor( constructor(
protected ePersonService: EPersonDataService, protected ePersonService: EPersonDataService,

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
/** /**
* Interface for the route parameters. * Interface for the route parameters.
@@ -14,7 +14,7 @@ export interface AdminQualityAssuranceEventsPageParams {
* This class represents a resolver that retrieve the route data before the route is activated. * This class represents a resolver that retrieve the route data before the route is activated.
*/ */
@Injectable() @Injectable()
export class AdminQualityAssuranceEventsPageResolver implements Resolve<AdminQualityAssuranceEventsPageParams> { export class AdminQualityAssuranceEventsPageResolver {
/** /**
* Method for resolving the parameters in the current route. * Method for resolving the parameters in the current route.

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot, Router } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { PaginatedList } from '../../../core/data/paginated-list.model'; import { PaginatedList } from '../../../core/data/paginated-list.model';
@@ -10,7 +10,7 @@ import {environment} from '../../../../environments/environment';
* This class represents a resolver that retrieve the route data before the route is activated. * This class represents a resolver that retrieve the route data before the route is activated.
*/ */
@Injectable() @Injectable()
export class SourceDataResolver implements Resolve<Observable<QualityAssuranceSourceObject[]>> { export class SourceDataResolver {
private pageSize = environment.qualityAssuranceConfig.pageSize; private pageSize = environment.qualityAssuranceConfig.pageSize;
/** /**
* Initialize the effect class variables. * Initialize the effect class variables.

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
/** /**
* Interface for the route parameters. * Interface for the route parameters.
@@ -14,7 +14,7 @@ export interface AdminQualityAssuranceSourcePageParams {
* This class represents a resolver that retrieve the route data before the route is activated. * This class represents a resolver that retrieve the route data before the route is activated.
*/ */
@Injectable() @Injectable()
export class AdminQualityAssuranceSourcePageResolver implements Resolve<AdminQualityAssuranceSourcePageParams> { export class AdminQualityAssuranceSourcePageResolver {
/** /**
* Method for resolving the parameters in the current route. * Method for resolving the parameters in the current route.

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
/** /**
* Interface for the route parameters. * Interface for the route parameters.
@@ -14,7 +14,7 @@ export interface AdminQualityAssuranceTopicsPageParams {
* This class represents a resolver that retrieve the route data before the route is activated. * This class represents a resolver that retrieve the route data before the route is activated.
*/ */
@Injectable() @Injectable()
export class AdminQualityAssuranceTopicsPageResolver implements Resolve<AdminQualityAssuranceTopicsPageParams> { export class AdminQualityAssuranceTopicsPageResolver {
/** /**
* Method for resolving the parameters in the current route. * Method for resolving the parameters in the current route.

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { RemoteData } from '../../../core/data/remote-data'; import { RemoteData } from '../../../core/data/remote-data';
import { BitstreamFormat } from '../../../core/shared/bitstream-format.model'; import { BitstreamFormat } from '../../../core/shared/bitstream-format.model';
@@ -10,7 +10,7 @@ import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
* This class represents a resolver that requests a specific bitstreamFormat before the route is activated * This class represents a resolver that requests a specific bitstreamFormat before the route is activated
*/ */
@Injectable() @Injectable()
export class BitstreamFormatsResolver implements Resolve<RemoteData<BitstreamFormat>> { export class BitstreamFormatsResolver {
constructor(private bitstreamFormatDataService: BitstreamFormatDataService) { constructor(private bitstreamFormatDataService: BitstreamFormatDataService) {
} }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { Bitstream } from '../core/shared/bitstream.model'; import { Bitstream } from '../core/shared/bitstream.model';
@@ -20,7 +20,7 @@ import { getFirstCompletedRemoteData } from '../core/shared/operators';
* This class represents a resolver that requests a specific bitstream before the route is activated * This class represents a resolver that requests a specific bitstream before the route is activated
*/ */
@Injectable() @Injectable()
export class BitstreamPageResolver implements Resolve<RemoteData<Bitstream>> { export class BitstreamPageResolver {
constructor(private bitstreamService: BitstreamDataService) { constructor(private bitstreamService: BitstreamDataService) {
} }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { Bitstream } from '../core/shared/bitstream.model'; import { Bitstream } from '../core/shared/bitstream.model';
@@ -13,7 +13,7 @@ import { BitstreamDataService } from '../core/data/bitstream-data.service';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class LegacyBitstreamUrlResolver implements Resolve<RemoteData<Bitstream>> { export class LegacyBitstreamUrlResolver {
constructor(protected bitstreamDataService: BitstreamDataService) { constructor(protected bitstreamDataService: BitstreamDataService) {
} }

View File

@@ -1,4 +1,4 @@
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { DSpaceObjectDataService } from '../core/data/dspace-object-data.service'; import { DSpaceObjectDataService } from '../core/data/dspace-object-data.service';
import { hasNoValue, hasValue } from '../shared/empty.util'; import { hasNoValue, hasValue } from '../shared/empty.util';
@@ -17,7 +17,7 @@ import { PAGE_NOT_FOUND_PATH } from '../app-routing-paths';
/** /**
* A guard taking care of the correct route.data being set for the Browse-By components * A guard taking care of the correct route.data being set for the Browse-By components
*/ */
export class BrowseByGuard implements CanActivate { export class BrowseByGuard {
constructor(protected dsoService: DSpaceObjectDataService, constructor(protected dsoService: DSpaceObjectDataService,
protected translate: TranslateService, protected translate: TranslateService,

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Collection } from '../core/shared/collection.model'; import { Collection } from '../core/shared/collection.model';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { CollectionDataService } from '../core/data/collection-data.service'; import { CollectionDataService } from '../core/data/collection-data.service';
@@ -24,7 +24,7 @@ export const COLLECTION_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Collection>[] = [
* This class represents a resolver that requests a specific collection before the route is activated * This class represents a resolver that requests a specific collection before the route is activated
*/ */
@Injectable() @Injectable()
export class CollectionPageResolver implements Resolve<RemoteData<Collection>> { export class CollectionPageResolver {
constructor( constructor(
private collectionService: CollectionDataService, private collectionService: CollectionDataService,
private store: Store<any> private store: Store<any>

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
import { hasNoValue, hasValue } from '../../shared/empty.util'; import { hasNoValue, hasValue } from '../../shared/empty.util';
import { CommunityDataService } from '../../core/data/community-data.service'; import { CommunityDataService } from '../../core/data/community-data.service';
@@ -14,7 +14,7 @@ import { getFirstCompletedRemoteData } from '../../core/shared/operators';
* @class CreateCollectionPageGuard * @class CreateCollectionPageGuard
*/ */
@Injectable() @Injectable()
export class CreateCollectionPageGuard implements CanActivate { export class CreateCollectionPageGuard {
public constructor(private router: Router, private communityService: CommunityDataService) { public constructor(private router: Router, private communityService: CommunityDataService) {
} }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { RemoteData } from '../../core/data/remote-data'; import { RemoteData } from '../../core/data/remote-data';
import { Item } from '../../core/shared/item.model'; import { Item } from '../../core/shared/item.model';
import { ItemTemplateDataService } from '../../core/data/item-template-data.service'; import { ItemTemplateDataService } from '../../core/data/item-template-data.service';
@@ -12,7 +12,7 @@ import { DSONameService } from '../../core/breadcrumbs/dso-name.service';
* This class represents a resolver that requests a specific collection's item template before the route is activated * This class represents a resolver that requests a specific collection's item template before the route is activated
*/ */
@Injectable() @Injectable()
export class ItemTemplatePageResolver implements Resolve<RemoteData<Item>> { export class ItemTemplatePageResolver {
constructor( constructor(
public dsoNameService: DSONameService, public dsoNameService: DSONameService,
private itemTemplateService: ItemTemplateDataService, private itemTemplateService: ItemTemplateDataService,

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { Community } from '../core/shared/community.model'; import { Community } from '../core/shared/community.model';
@@ -24,7 +24,7 @@ export const COMMUNITY_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Community>[] = [
* This class represents a resolver that requests a specific community before the route is activated * This class represents a resolver that requests a specific community before the route is activated
*/ */
@Injectable() @Injectable()
export class CommunityPageResolver implements Resolve<RemoteData<Community>> { export class CommunityPageResolver {
constructor( constructor(
private communityService: CommunityDataService, private communityService: CommunityDataService,
private store: Store<any> private store: Store<any>

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
import { hasNoValue, hasValue } from '../../shared/empty.util'; import { hasNoValue, hasValue } from '../../shared/empty.util';
import { CommunityDataService } from '../../core/data/community-data.service'; import { CommunityDataService } from '../../core/data/community-data.service';
@@ -14,7 +14,7 @@ import { getFirstCompletedRemoteData } from '../../core/shared/operators';
* @class CreateCommunityPageGuard * @class CreateCommunityPageGuard
*/ */
@Injectable() @Injectable()
export class CreateCommunityPageGuard implements CanActivate { export class CreateCommunityPageGuard {
public constructor(private router: Router, private communityService: CommunityDataService) { public constructor(private router: Router, private communityService: CommunityDataService) {
} }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { CanActivate } from '@angular/router';
import { select, Store } from '@ngrx/store'; import { select, Store } from '@ngrx/store';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { distinctUntilChanged, filter, map, take } from 'rxjs/operators'; import { distinctUntilChanged, filter, map, take } from 'rxjs/operators';
@@ -14,7 +14,7 @@ import { isAuthenticationBlocking } from './selectors';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class AuthBlockingGuard implements CanActivate { export class AuthBlockingGuard {
constructor(private store: Store<AppState>) { constructor(private store: Store<AppState>) {
} }

View File

@@ -1,11 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';
ActivatedRouteSnapshot,
CanActivate,
Router,
RouterStateSnapshot,
UrlTree
} from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { map, find, switchMap } from 'rxjs/operators'; import { map, find, switchMap } from 'rxjs/operators';
@@ -20,7 +14,7 @@ import { CoreState } from '../core-state.model';
* @class AuthenticatedGuard * @class AuthenticatedGuard
*/ */
@Injectable({ providedIn: 'root' }) @Injectable({ providedIn: 'root' })
export class AuthenticatedGuard implements CanActivate { export class AuthenticatedGuard {
/** /**
* @constructor * @constructor

View File

@@ -1,6 +1,6 @@
import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model'; import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; import { DSOBreadcrumbsService } from './dso-breadcrumbs.service';
import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../shared/operators'; import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../shared/operators';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
@@ -17,7 +17,7 @@ import { IdentifiableDataService } from '../data/base/identifiable-data.service'
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
export abstract class DSOBreadcrumbResolver<T extends ChildHALResource & DSpaceObject> implements Resolve<BreadcrumbConfig<T>> { export abstract class DSOBreadcrumbResolver<T extends ChildHALResource & DSpaceObject> {
protected constructor( protected constructor(
protected breadcrumbService: DSOBreadcrumbsService, protected breadcrumbService: DSOBreadcrumbsService,
protected dataService: IdentifiableDataService<T>, protected dataService: IdentifiableDataService<T>,

View File

@@ -1,6 +1,6 @@
import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model'; import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { I18nBreadcrumbsService } from './i18n-breadcrumbs.service'; import { I18nBreadcrumbsService } from './i18n-breadcrumbs.service';
import { hasNoValue } from '../../shared/empty.util'; import { hasNoValue } from '../../shared/empty.util';
import { currentPathFromSnapshot } from '../../shared/utils/route.utils'; import { currentPathFromSnapshot } from '../../shared/utils/route.utils';
@@ -11,7 +11,7 @@ import { currentPathFromSnapshot } from '../../shared/utils/route.utils';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class I18nBreadcrumbResolver implements Resolve<BreadcrumbConfig<string>> { export class I18nBreadcrumbResolver {
constructor(protected breadcrumbService: I18nBreadcrumbsService) { constructor(protected breadcrumbService: I18nBreadcrumbsService) {
} }

View File

@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import {QualityAssuranceBreadcrumbService} from './quality-assurance-breadcrumb.service'; import {QualityAssuranceBreadcrumbService} from './quality-assurance-breadcrumb.service';
import {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import {BreadcrumbConfig} from '../../breadcrumbs/breadcrumb/breadcrumb-config.model'; import {BreadcrumbConfig} from '../../breadcrumbs/breadcrumb/breadcrumb-config.model';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class QualityAssuranceBreadcrumbResolver implements Resolve<BreadcrumbConfig<string>> { export class QualityAssuranceBreadcrumbResolver {
constructor(protected breadcrumbService: QualityAssuranceBreadcrumbService) {} constructor(protected breadcrumbService: QualityAssuranceBreadcrumbService) {}
/** /**

View File

@@ -1,5 +1,5 @@
import { AuthorizationDataService } from '../authorization-data.service'; import { AuthorizationDataService } from '../authorization-data.service';
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, ResolveFn } from '@angular/router';
import { RemoteData } from '../../remote-data'; import { RemoteData } from '../../remote-data';
import { Observable, of as observableOf } from 'rxjs'; import { Observable, of as observableOf } from 'rxjs';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
@@ -12,7 +12,9 @@ import { AuthService } from '../../../auth/auth.service';
* Test implementation of abstract class DsoPageSingleFeatureGuard * Test implementation of abstract class DsoPageSingleFeatureGuard
*/ */
class DsoPageSingleFeatureGuardImpl extends DsoPageSingleFeatureGuard<any> { class DsoPageSingleFeatureGuardImpl extends DsoPageSingleFeatureGuard<any> {
constructor(protected resolver: Resolve<RemoteData<any>>, constructor(protected resolver: {
resolve: ResolveFn<RemoteData<any>>;
},
protected authorizationService: AuthorizationDataService, protected authorizationService: AuthorizationDataService,
protected router: Router, protected router: Router,
protected authService: AuthService, protected authService: AuthService,
@@ -30,7 +32,9 @@ describe('DsoPageSingleFeatureGuard', () => {
let authorizationService: AuthorizationDataService; let authorizationService: AuthorizationDataService;
let router: Router; let router: Router;
let authService: AuthService; let authService: AuthService;
let resolver: Resolve<RemoteData<any>>; let resolver: {
resolve: ResolveFn<RemoteData<any>>;
};
let object: DSpaceObject; let object: DSpaceObject;
let route; let route;
let parentRoute; let parentRoute;

View File

@@ -1,5 +1,5 @@
import { AuthorizationDataService } from '../authorization-data.service'; import { AuthorizationDataService } from '../authorization-data.service';
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, ResolveFn } from '@angular/router';
import { RemoteData } from '../../remote-data'; import { RemoteData } from '../../remote-data';
import { Observable, of as observableOf } from 'rxjs'; import { Observable, of as observableOf } from 'rxjs';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
@@ -12,7 +12,9 @@ import { DsoPageSomeFeatureGuard } from './dso-page-some-feature.guard';
* Test implementation of abstract class DsoPageSomeFeatureGuard * Test implementation of abstract class DsoPageSomeFeatureGuard
*/ */
class DsoPageSomeFeatureGuardImpl extends DsoPageSomeFeatureGuard<any> { class DsoPageSomeFeatureGuardImpl extends DsoPageSomeFeatureGuard<any> {
constructor(protected resolver: Resolve<RemoteData<any>>, constructor(protected resolver: {
resolve: ResolveFn<RemoteData<any>>;
},
protected authorizationService: AuthorizationDataService, protected authorizationService: AuthorizationDataService,
protected router: Router, protected router: Router,
protected authService: AuthService, protected authService: AuthService,
@@ -30,7 +32,9 @@ describe('DsoPageSomeFeatureGuard', () => {
let authorizationService: AuthorizationDataService; let authorizationService: AuthorizationDataService;
let router: Router; let router: Router;
let authService: AuthService; let authService: AuthService;
let resolver: Resolve<RemoteData<any>>; let resolver: {
resolve: ResolveFn<RemoteData<any>>;
};
let object: DSpaceObject; let object: DSpaceObject;
let route; let route;
let parentRoute; let parentRoute;

View File

@@ -1,4 +1,4 @@
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, ResolveFn } from '@angular/router';
import { RemoteData } from '../../remote-data'; import { RemoteData } from '../../remote-data';
import { AuthorizationDataService } from '../authorization-data.service'; import { AuthorizationDataService } from '../authorization-data.service';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -14,7 +14,9 @@ import { SomeFeatureAuthorizationGuard } from './some-feature-authorization.guar
* This guard utilizes a resolver to retrieve the relevant object to check authorizations for * This guard utilizes a resolver to retrieve the relevant object to check authorizations for
*/ */
export abstract class DsoPageSomeFeatureGuard<T extends DSpaceObject> extends SomeFeatureAuthorizationGuard { export abstract class DsoPageSomeFeatureGuard<T extends DSpaceObject> extends SomeFeatureAuthorizationGuard {
constructor(protected resolver: Resolve<RemoteData<T>>, constructor(protected resolver: {
resolve: ResolveFn<RemoteData<T>>;
},
protected authorizationService: AuthorizationDataService, protected authorizationService: AuthorizationDataService,
protected router: Router, protected router: Router,
protected authService: AuthService) { protected authService: AuthService) {

View File

@@ -1,4 +1,4 @@
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';
import { AuthorizationDataService } from '../authorization-data.service'; import { AuthorizationDataService } from '../authorization-data.service';
import { FeatureID } from '../feature-id'; import { FeatureID } from '../feature-id';
import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs';
@@ -11,7 +11,7 @@ import { returnForbiddenUrlTreeOrLoginOnAllFalse } from '../../../shared/authori
* doesn't have authorized rights on any of the specified features and/or object. * doesn't have authorized rights on any of the specified features and/or object.
* Override the desired getters in the parent class for checking specific authorization on a list of features and/or object. * Override the desired getters in the parent class for checking specific authorization on a list of features and/or object.
*/ */
export abstract class SomeFeatureAuthorizationGuard implements CanActivate { export abstract class SomeFeatureAuthorizationGuard {
constructor(protected authorizationService: AuthorizationDataService, constructor(protected authorizationService: AuthorizationDataService,
protected router: Router, protected router: Router,
protected authService: AuthService) { protected authService: AuthService) {

View File

@@ -1,4 +1,4 @@
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';
import { Observable, of as observableOf } from 'rxjs'; import { Observable, of as observableOf } from 'rxjs';
import { returnEndUserAgreementUrlTreeOnFalse } from '../shared/authorized.operators'; import { returnEndUserAgreementUrlTreeOnFalse } from '../shared/authorized.operators';
import { environment } from '../../../environments/environment'; import { environment } from '../../../environments/environment';
@@ -7,7 +7,7 @@ import { environment } from '../../../environments/environment';
* An abstract guard for redirecting users to the user agreement page if a certain condition is met * An abstract guard for redirecting users to the user agreement page if a certain condition is met
* That condition is defined by abstract method hasAccepted * That condition is defined by abstract method hasAccepted
*/ */
export abstract class AbstractEndUserAgreementGuard implements CanActivate { export abstract class AbstractEndUserAgreementGuard {
constructor(protected router: Router) { constructor(protected router: Router) {
} }

View File

@@ -1,4 +1,4 @@
import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service';
import { FeatureID } from '../data/feature-authorization/feature-id'; import { FeatureID } from '../data/feature-authorization/feature-id';
@@ -8,7 +8,7 @@ import { Injectable } from '@angular/core';
* An guard for redirecting users to the feedback page if user is authorized * An guard for redirecting users to the feedback page if user is authorized
*/ */
@Injectable() @Injectable()
export class FeedbackGuard implements CanActivate { export class FeedbackGuard {
constructor(private authorizationService: AuthorizationDataService) { constructor(private authorizationService: AuthorizationDataService) {
} }

View File

@@ -1,5 +1,5 @@
import { Inject, Injectable } from '@angular/core'; import { Inject, Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';
import { AppConfig, APP_CONFIG } from '../../../config/app-config.interface'; import { AppConfig, APP_CONFIG } from '../../../config/app-config.interface';
import { isNotEmpty } from '../../shared/empty.util'; import { isNotEmpty } from '../../shared/empty.util';
@@ -8,7 +8,7 @@ import { isNotEmpty } from '../../shared/empty.util';
* When no redirect url is found, the user is redirected to the homepage * When no redirect url is found, the user is redirected to the homepage
*/ */
@Injectable({ providedIn: 'root' }) @Injectable({ providedIn: 'root' })
export class ReloadGuard implements CanActivate { export class ReloadGuard {
constructor( constructor(
private router: Router, private router: Router,
@Inject(APP_CONFIG) private appConfig: AppConfig, @Inject(APP_CONFIG) private appConfig: AppConfig,

View File

@@ -1,12 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree, NavigationStart } from '@angular/router';
ActivatedRouteSnapshot,
CanActivateChild,
Router,
RouterStateSnapshot,
UrlTree,
NavigationStart
} from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { take, map, filter } from 'rxjs/operators'; import { take, map, filter } from 'rxjs/operators';
@@ -21,7 +14,7 @@ import { getPageInternalServerErrorRoute } from '../../app-routing-paths';
* A guard that checks if root api endpoint is reachable. * A guard that checks if root api endpoint is reachable.
* If not redirect to 500 error page * If not redirect to 500 error page
*/ */
export class ServerCheckGuard implements CanActivateChild { export class ServerCheckGuard {
constructor(private router: Router, private rootDataService: RootDataService) { constructor(private router: Router, private rootDataService: RootDataService) {
} }

View File

@@ -1,6 +1,6 @@
import { followLink } from '../../../shared/utils/follow-link-config.model'; import { followLink } from '../../../shared/utils/follow-link-config.model';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { switchMap } from 'rxjs/operators'; import { switchMap } from 'rxjs/operators';
@@ -12,7 +12,7 @@ import { IdentifiableDataService } from '../../data/base/identifiable-data.servi
* This class represents a resolver that requests a specific item before the route is activated * This class represents a resolver that requests a specific item before the route is activated
*/ */
@Injectable() @Injectable()
export class SubmissionObjectResolver<T> implements Resolve<RemoteData<T>> { export class SubmissionObjectResolver<T> {
constructor( constructor(
protected dataService: IdentifiableDataService<any>, protected dataService: IdentifiableDataService<any>,
protected store: Store<any>, protected store: Store<any>,

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { SiteDataService } from '../core/data/site-data.service'; import { SiteDataService } from '../core/data/site-data.service';
import { Site } from '../core/shared/site.model'; import { Site } from '../core/shared/site.model';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -9,7 +9,7 @@ import { take } from 'rxjs/operators';
* The class that resolve the Site object for a route * The class that resolve the Site object for a route
*/ */
@Injectable() @Injectable()
export class HomePageResolver implements Resolve<Site> { export class HomePageResolver {
constructor(private siteService: SiteDataService) { constructor(private siteService: SiteDataService) {
} }

View File

@@ -3,14 +3,7 @@ import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/cor
import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock';
import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { import { ActivatedRoute, ActivatedRouteSnapshot, RouterModule, RouterStateSnapshot, UrlTree } from '@angular/router';
ActivatedRoute,
ActivatedRouteSnapshot,
CanActivate,
RouterModule,
RouterStateSnapshot,
UrlTree
} from '@angular/router';
import { EditItemPageComponent } from './edit-item-page.component'; import { EditItemPageComponent } from './edit-item-page.component';
import { Observable, of as observableOf } from 'rxjs'; import { Observable, of as observableOf } from 'rxjs';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
@@ -21,13 +14,13 @@ describe('ItemPageComponent', () => {
let comp: EditItemPageComponent; let comp: EditItemPageComponent;
let fixture: ComponentFixture<EditItemPageComponent>; let fixture: ComponentFixture<EditItemPageComponent>;
class AcceptAllGuard implements CanActivate { class AcceptAllGuard {
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree { canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {
return observableOf(true); return observableOf(true);
} }
} }
class AcceptNoneGuard implements CanActivate { class AcceptNoneGuard {
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree { canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {
return observableOf(false); return observableOf(false);
} }

View File

@@ -1,6 +1,6 @@
import { fadeIn, fadeInOut } from '../../shared/animations/fade'; import { fadeIn, fadeInOut } from '../../shared/animations/fade';
import { ChangeDetectionStrategy, Component, Injector, OnInit } from '@angular/core'; import { ChangeDetectionStrategy, Component, Injector, OnInit } from '@angular/core';
import { ActivatedRoute, CanActivate, Route, Router, RouterLink, RouterOutlet } from '@angular/router'; import { ActivatedRoute, Route, Router, RouterLink, RouterOutlet, CanActivateFn } from '@angular/router';
import { RemoteData } from '../../core/data/remote-data'; import { RemoteData } from '../../core/data/remote-data';
import { Item } from '../../core/shared/item.model'; import { Item } from '../../core/shared/item.model';
import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs';
@@ -63,8 +63,14 @@ export class EditItemPageComponent implements OnInit {
.map((child: Route) => { .map((child: Route) => {
let enabled = observableOf(true); let enabled = observableOf(true);
if (isNotEmpty(child.canActivate)) { if (isNotEmpty(child.canActivate)) {
enabled = observableCombineLatest(child.canActivate.map((guardConstructor: GenericConstructor<CanActivate>) => { enabled = observableCombineLatest(child.canActivate.map((guardConstructor: GenericConstructor<{
const guard: CanActivate = this.injector.get<CanActivate>(guardConstructor); canActivate: CanActivateFn;
}>) => {
const guard: {
canActivate: CanActivateFn;
} = this.injector.get<{
canActivate: CanActivateFn;
}>(guardConstructor);
return guard.canActivate(this.route.snapshot, this.router.routerState.snapshot); return guard.canActivate(this.route.snapshot, this.router.routerState.snapshot);
}) })
).pipe( ).pipe(

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { ItemDataService } from '../core/data/item-data.service'; import { ItemDataService } from '../core/data/item-data.service';
@@ -27,7 +27,7 @@ export const ITEM_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Item>[] = [
* This class represents a resolver that requests a specific item before the route is activated * This class represents a resolver that requests a specific item before the route is activated
*/ */
@Injectable() @Injectable()
export class ItemResolver implements Resolve<RemoteData<Item>> { export class ItemResolver {
constructor( constructor(
protected itemService: ItemDataService, protected itemService: ItemDataService,
protected store: Store<any>, protected store: Store<any>,

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { RemoteData } from '../../core/data/remote-data'; import { RemoteData } from '../../core/data/remote-data';
import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model';
@@ -21,7 +21,7 @@ export const VERSION_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Version>[] = [
* This class represents a resolver that requests a specific version before the route is activated * This class represents a resolver that requests a specific version before the route is activated
*/ */
@Injectable() @Injectable()
export class VersionResolver implements Resolve<RemoteData<Version>> { export class VersionResolver {
constructor( constructor(
protected versionService: VersionDataService, protected versionService: VersionDataService,
protected store: Store<any>, protected store: Store<any>,

View File

@@ -1,4 +1,4 @@
import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { IdentifierType } from '../core/data/request.models'; import { IdentifierType } from '../core/data/request.models';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -13,7 +13,7 @@ interface LookupParams {
} }
@Injectable() @Injectable()
export class LookupGuard implements CanActivate { export class LookupGuard {
constructor(private dsoService: DsoRedirectService) { constructor(private dsoService: DsoRedirectService) {
} }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { combineLatest as observableCombineLatest, combineLatest, Observable } from 'rxjs'; import { combineLatest as observableCombineLatest, combineLatest, Observable } from 'rxjs';
import { MenuID } from './shared/menu/menu-id.model'; import { MenuID } from './shared/menu/menu-id.model';
import { MenuState } from './shared/menu/menu-state.model'; import { MenuState } from './shared/menu/menu-state.model';
@@ -54,7 +54,7 @@ import {
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class MenuResolver implements Resolve<boolean> { export class MenuResolver {
constructor( constructor(
protected menuService: MenuService, protected menuService: MenuService,
protected browseService: BrowseService, protected browseService: BrowseService,

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, NavigationExtras, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, NavigationExtras, Router, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { first, map } from 'rxjs/operators'; import { first, map } from 'rxjs/operators';
@@ -13,7 +13,7 @@ import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'
* @class MyDSpaceGuard * @class MyDSpaceGuard
*/ */
@Injectable({ providedIn: 'root' }) @Injectable({ providedIn: 'root' })
export class MyDSpaceGuard implements CanActivate { export class MyDSpaceGuard {
/** /**
* @constructor * @constructor

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { Process } from './processes/process.model'; import { Process } from './processes/process.model';
@@ -13,7 +13,7 @@ import { ProcessBreadcrumbsService } from './process-breadcrumbs.service';
* This class represents a resolver that requests a specific process before the route is activated * This class represents a resolver that requests a specific process before the route is activated
*/ */
@Injectable() @Injectable()
export class ProcessBreadcrumbResolver implements Resolve<BreadcrumbConfig<Process>> { export class ProcessBreadcrumbResolver {
constructor(protected breadcrumbService: ProcessBreadcrumbsService, private processService: ProcessDataService) { constructor(protected breadcrumbService: ProcessBreadcrumbsService, private processService: ProcessDataService) {
} }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { Process } from './processes/process.model'; import { Process } from './processes/process.model';
@@ -11,7 +11,7 @@ import { getFirstCompletedRemoteData } from '../core/shared/operators';
* This class represents a resolver that requests a specific process before the route is activated * This class represents a resolver that requests a specific process before the route is activated
*/ */
@Injectable() @Injectable()
export class ProcessPageResolver implements Resolve<RemoteData<Process>> { export class ProcessPageResolver {
constructor(private processService: ProcessDataService) { constructor(private processService: ProcessDataService) {
} }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; import { EpersonRegistrationService } from '../core/data/eperson-registration.service';
import { Registration } from '../core/shared/registration.model'; import { Registration } from '../core/shared/registration.model';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -10,7 +10,7 @@ import { getFirstCompletedRemoteData } from '../core/shared/operators';
/** /**
* Resolver to resolve a Registration object based on the provided token * Resolver to resolve a Registration object based on the provided token
*/ */
export class RegistrationResolver implements Resolve<RemoteData<Registration>> { export class RegistrationResolver {
constructor(private epersonRegistrationService: EpersonRegistrationService) { constructor(private epersonRegistrationService: EpersonRegistrationService) {
} }

View File

@@ -1,4 +1,4 @@
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/internal/Observable'; import { Observable } from 'rxjs/internal/Observable';
import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; import { EpersonRegistrationService } from '../core/data/eperson-registration.service';
@@ -15,7 +15,7 @@ import { redirectOn4xx } from '../core/shared/authorized.operators';
* The guard also adds the resulting RemoteData<Registration> object to the route's data for further usage in components * The guard also adds the resulting RemoteData<Registration> object to the route's data for further usage in components
* The reason this is a guard and not a resolver, is because it has to run before the EndUserAgreementCookieGuard * The reason this is a guard and not a resolver, is because it has to run before the EndUserAgreementCookieGuard
*/ */
export class RegistrationGuard implements CanActivate { export class RegistrationGuard {
constructor(private epersonRegistrationService: EpersonRegistrationService, constructor(private epersonRegistrationService: EpersonRegistrationService,
private router: Router, private router: Router,
private authService: AuthService) { private authService: AuthService) {

View File

@@ -1,4 +1,4 @@
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { ItemRequest } from '../core/shared/item-request.model'; import { ItemRequest } from '../core/shared/item-request.model';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -10,7 +10,7 @@ import { getFirstCompletedRemoteData } from '../core/shared/operators';
* Resolves an {@link ItemRequest} from the token found in the route's parameters * Resolves an {@link ItemRequest} from the token found in the route's parameters
*/ */
@Injectable() @Injectable()
export class RequestCopyResolver implements Resolve<RemoteData<ItemRequest>> { export class RequestCopyResolver {
constructor( constructor(
private itemRequestDataService: ItemRequestDataService, private itemRequestDataService: ItemRequestDataService,

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@Injectable() @Injectable()
@@ -8,7 +8,7 @@ import { Observable } from 'rxjs';
* The format of the key will be "{configuration}.search.title" with: * The format of the key will be "{configuration}.search.title" with:
* - configuration: The current configuration stored in route.params * - configuration: The current configuration stored in route.params
*/ */
export class ConfigurationSearchPageGuard implements CanActivate { export class ConfigurationSearchPageGuard {
canActivate( canActivate(
route: ActivatedRouteSnapshot, route: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean { state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {

View File

@@ -1,4 +1,4 @@
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { combineLatest, Observable, of as observableOf } from 'rxjs'; import { combineLatest, Observable, of as observableOf } from 'rxjs';
import { FeatureID } from '../../core/data/feature-authorization/feature-id'; import { FeatureID } from '../../core/data/feature-authorization/feature-id';
import { MenuService } from '../menu/menu.service'; import { MenuService } from '../menu/menu.service';
@@ -31,7 +31,7 @@ import { Collection } from '../../core/shared/collection.model';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class DSOEditMenuResolver implements Resolve<{ [key: string]: MenuSection[] }> { export class DSOEditMenuResolver {
constructor( constructor(
protected dSpaceObjectDataService: DSpaceObjectDataService, protected dSpaceObjectDataService: DSpaceObjectDataService,

View File

@@ -1,5 +1,5 @@
import { Injectable, Injector } from '@angular/core'; import { Injectable, Injector } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -15,7 +15,7 @@ import { getDataServiceFor } from '../../../core/data/base/data-service.decorato
* This class represents a resolver that requests a specific item before the route is activated * This class represents a resolver that requests a specific item before the route is activated
*/ */
@Injectable() @Injectable()
export class ResourcePolicyTargetResolver implements Resolve<RemoteData<DSpaceObject>> { export class ResourcePolicyTargetResolver {
/** /**
* The data service used to make request. * The data service used to make request.
*/ */

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -14,7 +14,7 @@ import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
* This class represents a resolver that requests a specific item before the route is activated * This class represents a resolver that requests a specific item before the route is activated
*/ */
@Injectable() @Injectable()
export class ResourcePolicyResolver implements Resolve<RemoteData<ResourcePolicy>> { export class ResourcePolicyResolver {
constructor(private resourcePolicyService: ResourcePolicyDataService, private router: Router) { constructor(private resourcePolicyService: ResourcePolicyDataService, private router: Router) {
} }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Resolve } from '@angular/router';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { Item } from '../core/shared/item.model'; import { Item } from '../core/shared/item.model';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
@@ -10,7 +10,7 @@ import { SubmissionObjectResolver } from '../core/submission/resolver/submission
* This class represents a resolver that requests a specific item before the route is activated * This class represents a resolver that requests a specific item before the route is activated
*/ */
@Injectable() @Injectable()
export class ItemFromWorkflowResolver extends SubmissionObjectResolver<Item> implements Resolve<RemoteData<Item>> { export class ItemFromWorkflowResolver extends SubmissionObjectResolver<Item> {
constructor( constructor(
private workflowItemService: WorkflowItemDataService, private workflowItemService: WorkflowItemDataService,
protected store: Store<any> protected store: Store<any>

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { followLink } from '../shared/utils/follow-link-config.model'; import { followLink } from '../shared/utils/follow-link-config.model';
@@ -11,7 +11,7 @@ import { getFirstCompletedRemoteData } from '../core/shared/operators';
* This class represents a resolver that requests a specific workflow item before the route is activated * This class represents a resolver that requests a specific workflow item before the route is activated
*/ */
@Injectable() @Injectable()
export class WorkflowItemPageResolver implements Resolve<RemoteData<WorkflowItem>> { export class WorkflowItemPageResolver {
constructor(private workflowItemService: WorkflowItemDataService) { constructor(private workflowItemService: WorkflowItemDataService) {
} }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Resolve } from '@angular/router';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { Item } from '../core/shared/item.model'; import { Item } from '../core/shared/item.model';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
@@ -10,7 +10,7 @@ import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.
* This class represents a resolver that requests a specific item before the route is activated * This class represents a resolver that requests a specific item before the route is activated
*/ */
@Injectable() @Injectable()
export class ItemFromWorkspaceResolver extends SubmissionObjectResolver<Item> implements Resolve<RemoteData<Item>> { export class ItemFromWorkspaceResolver extends SubmissionObjectResolver<Item> {
constructor( constructor(
private workspaceItemService: WorkspaceitemDataService, private workspaceItemService: WorkspaceitemDataService,
protected store: Store<any> protected store: Store<any>

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { followLink } from '../shared/utils/follow-link-config.model'; import { followLink } from '../shared/utils/follow-link-config.model';
@@ -11,7 +11,7 @@ import { getFirstCompletedRemoteData } from '../core/shared/operators';
* This class represents a resolver that requests a specific workflow item before the route is activated * This class represents a resolver that requests a specific workflow item before the route is activated
*/ */
@Injectable() @Injectable()
export class WorkspaceItemPageResolver implements Resolve<RemoteData<WorkflowItem>> { export class WorkspaceItemPageResolver {
constructor(private workspaceItemService: WorkspaceitemDataService) { constructor(private workspaceItemService: WorkspaceitemDataService) {
} }

2321
yarn.lock

File diff suppressed because it is too large Load Diff