Bug with optional routes: move the error case in the end of all routes
This commit is contained in:
parent
513bb83769
commit
1839b3a82a
|
@ -95,8 +95,7 @@ const routes: Routes = [
|
||||||
data: {hasSidebar: false}
|
data: {hasSidebar: false}
|
||||||
},
|
},
|
||||||
{path: 'user-info', loadChildren: () => import('./login/libUser.module').then(m => m.LibUserModule)},
|
{path: 'user-info', loadChildren: () => import('./login/libUser.module').then(m => m.LibUserModule)},
|
||||||
{path: 'error', component: OpenaireErrorPageComponent},
|
{path: 'error', component: OpenaireErrorPageComponent}
|
||||||
{path: '**', pathMatch: 'full', component: OpenaireErrorPageComponent}
|
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
@ -107,7 +106,7 @@ const routes: Routes = [
|
||||||
})
|
})
|
||||||
export class AppRoutingModule {
|
export class AppRoutingModule {
|
||||||
subs = [];
|
subs = [];
|
||||||
routes =[];
|
enabledRoutes =[];
|
||||||
ngOnDestroy() {
|
ngOnDestroy() {
|
||||||
for (let sub of this.subs) {
|
for (let sub of this.subs) {
|
||||||
sub.unsubscribe();
|
sub.unsubscribe();
|
||||||
|
@ -118,39 +117,39 @@ export class AppRoutingModule {
|
||||||
if (data) {
|
if (data) {
|
||||||
if (data['pages']) {
|
if (data['pages']) {
|
||||||
for (var i = 0; i < data['pages'].length; i++) {
|
for (var i = 0; i < data['pages'].length; i++) {
|
||||||
this.routes[data['pages'][i]['route']] = data['pages'][i]['isEnabled'];
|
this.enabledRoutes[data['pages'][i]['route']] = data['pages'][i]['isEnabled'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.getRoutes();
|
this.getOptionalRoutes();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
// this.handleError('Error getting community information (e.g. pages,entities) for community with id: ' + this.communityId, error);
|
// this.handleError('Error getting community information (e.g. pages,entities) for community with id: ' + this.communityId, error);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
getRoutes(){
|
getOptionalRoutes(){
|
||||||
let optionalRoutes = [
|
let optionalRoutes = [
|
||||||
// Deposit Pages
|
// Deposit Pages
|
||||||
{ path: 'participate/deposit-datasets', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
{ path: 'participate/deposit-datasets', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
||||||
{ path: 'participate/deposit-datasets-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
{ path: 'participate/deposit-datasets-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
||||||
{ path: 'participate/deposit-subject-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
{ path: 'participate/deposit-subject-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
||||||
{ path: 'participate/deposit-publications', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
{ path: 'participate/deposit-publications', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
||||||
{ path: 'participate/deposit-publications-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
{ path: 'participate/deposit-publications-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
|
||||||
|
|
||||||
{ path: 'participate/deposit/learn-how', loadChildren: () => import('./deposit/deposit.module').then(m => m.LibDepositModule)},
|
|
||||||
{ path: 'participate/deposit/search', loadChildren: () => import('./deposit/searchDataprovidersToDeposit.module').then(m => m.LibSearchDataprovidersToDepositModule)},
|
|
||||||
// Linking Pages
|
|
||||||
{ path: 'myclaims', loadChildren: () => import('./claims/myClaims/myClaims.module').then(m => m.LibMyClaimsModule)},
|
|
||||||
{ path: 'participate/claim', loadChildren: () => import('./claims/linking/linkingGeneric.module').then(m => m.LibLinkingGenericModule)},
|
|
||||||
{ path: 'participate/direct-claim', loadChildren: () => import('./claims/directLinking/directLinking.module').then(m => m.LibDirectLinkingModule)},
|
|
||||||
{path: 'develop', loadChildren: () => import('./develop/develop.module').then(m => m.DevelopModule)}
|
|
||||||
];
|
|
||||||
|
|
||||||
|
{ path: 'participate/deposit/learn-how', loadChildren: () => import('./deposit/deposit.module').then(m => m.LibDepositModule)},
|
||||||
|
{ path: 'participate/deposit/search', loadChildren: () => import('./deposit/searchDataprovidersToDeposit.module').then(m => m.LibSearchDataprovidersToDepositModule)},
|
||||||
|
// Linking Pages
|
||||||
|
{ path: 'myclaims', loadChildren: () => import('./claims/myClaims/myClaims.module').then(m => m.LibMyClaimsModule)},
|
||||||
|
{ path: 'participate/claim', loadChildren: () => import('./claims/linking/linkingGeneric.module').then(m => m.LibLinkingGenericModule)},
|
||||||
|
{ path: 'participate/direct-claim', loadChildren: () => import('./claims/directLinking/directLinking.module').then(m => m.LibDirectLinkingModule)},
|
||||||
|
{path: 'develop', loadChildren: () => import('./develop/develop.module').then(m => m.DevelopModule)}
|
||||||
|
];
|
||||||
for (var i = 0; i <optionalRoutes.length; i++) {
|
for (var i = 0; i <optionalRoutes.length; i++) {
|
||||||
if(this.routes["/"+optionalRoutes[i].path]){
|
if(this.enabledRoutes[("/"+optionalRoutes[i].path)]){
|
||||||
this.router.config.push(optionalRoutes[i]);
|
this.router.config.push(optionalRoutes[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.router.config.push({path: '**', pathMatch: 'full', component: OpenaireErrorPageComponent});
|
||||||
return routes;
|
return routes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue