CST-5309 changes for error page component

This commit is contained in:
nikunj59
2022-06-07 15:34:47 +05:30
committed by Luca Giamminonni
parent 43f4ff7cde
commit a9fcdce960
8 changed files with 83 additions and 1 deletions

View File

@@ -107,6 +107,8 @@ export function getPageInternalServerErrorRoute() {
return `/${INTERNAL_SERVER_ERROR}`;
}
export const ERROR_PAGE = 'error'
export const INFO_MODULE_PATH = 'info';
export function getInfoModulePath() {
return `/${INFO_MODULE_PATH}`;

View File

@@ -8,6 +8,7 @@ import {
ACCESS_CONTROL_MODULE_PATH,
ADMIN_MODULE_PATH,
BITSTREAM_MODULE_PATH,
ERROR_PAGE,
FORBIDDEN_PATH,
FORGOT_PASSWORD_PATH,
INFO_MODULE_PATH,
@@ -31,11 +32,13 @@ import { GroupAdministratorGuard } from './core/data/feature-authorization/featu
import { ThemedPageInternalServerErrorComponent } from './page-internal-server-error/themed-page-internal-server-error.component';
import { ServerCheckGuard } from './core/server-check/server-check.guard';
import { MenuResolver } from './menu.resolver';
import { ThemedPageErrorComponent } from './page-error/themed-page-error.component';
@NgModule({
imports: [
RouterModule.forRoot([
{ path: INTERNAL_SERVER_ERROR, component: ThemedPageInternalServerErrorComponent },
{ path: ERROR_PAGE , component: ThemedPageErrorComponent },
{
path: '',
canActivate: [AuthBlockingGuard],

View File

@@ -0,0 +1,10 @@
<div class="page-internal-server-error container">
<h1>{{status}}</h1>
<h2><small>{{"error-page.description." + status | translate}}</small></h2>
<br/>
<p>{{"error-page." + code | translate}}</p>
<br/>
<p class="text-center">
<a href="/home" class="btn btn-primary">{{ status + ".link.home-page" | translate}}</a>
</p>
</div>

View File

@@ -0,0 +1,27 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
/**
* This component representing the `PageError` DSpace page.
*/
@Component({
selector: 'ds-page-error',
styleUrls: ['./page-error.component.scss'],
templateUrl: './page-error.component.html',
changeDetection: ChangeDetectionStrategy.Default
})
export class PageErrorComponent {
status: number;
code: string;
/**
* Initialize instance variables
*
* @param {ActivatedRoute} activatedRoute
*/
constructor(private activatedRoute: ActivatedRoute) {
this.activatedRoute.queryParams.subscribe((params) => {
this.status = params['status'];
this.code = params['code'];
});
}
}

View File

@@ -0,0 +1,26 @@
import { Component } from '@angular/core';
import { ThemedComponent } from '../shared/theme-support/themed.component';
import { PageErrorComponent } from './page-error.component';
/**
* Themed wrapper for PageErrorComponent
*/
@Component({
selector: 'ds-themed-search-page',
styleUrls: [],
templateUrl: '../shared/theme-support/themed.component.html',
})
export class ThemedPageErrorComponent extends ThemedComponent<PageErrorComponent> {
protected getComponentName(): string {
return 'PageErrorComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../themes/${themeName}/app/page-error/page-error.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import(`src/app/page-error/page-error.component`);
}
}

View File

@@ -40,6 +40,8 @@ import {
import {
PageInternalServerErrorComponent
} from './page-internal-server-error/page-internal-server-error.component';
import { ThemedPageErrorComponent } from './page-error/themed-page-error.component';
import { PageErrorComponent } from './page-error/page-error.component';
const IMPORTS = [
CommonModule,
@@ -74,7 +76,9 @@ const DECLARATIONS = [
ThemedForbiddenComponent,
IdleModalComponent,
ThemedPageInternalServerErrorComponent,
PageInternalServerErrorComponent
PageInternalServerErrorComponent,
ThemedPageErrorComponent,
PageErrorComponent
];
const EXPORTS = [

View File

@@ -27,6 +27,16 @@
"404.page-not-found": "page not found",
"error-page.description.401": "unauthorized",
"error-page.description.403": "forbidden",
"error-page.description.500": "Service Unavailable",
"error-page.description.404": "page not found",
"error-page.orcid.generic-error": "An error occurred during login via ORCID. Make sure you have shared your ORCID account email address with DSpace. If the error persists, contact the administrator",
"access-status.embargo.listelement.badge": "Embargo",
"access-status.metadata.only.listelement.badge": "Metadata only",