Skip to content

Commit

Permalink
refactor(app-global, app-routing-module): Replaces string literals wi…
Browse files Browse the repository at this point in the history
…th constants (#1210)
  • Loading branch information
irmastnt committed Sep 26, 2023
1 parent 7a17d7c commit a70388c
Show file tree
Hide file tree
Showing 4 changed files with 153 additions and 61 deletions.
22 changes: 12 additions & 10 deletions apps/dsp-app/src/app/app-global.ts
@@ -1,3 +1,4 @@
import { RouteConstants } from '@dasch-swiss/vre/shared/app-config';
import { StringLiteral } from '@dasch-swiss/dsp-js';

import { MenuItem } from './main/declarations/menu-item';
Expand All @@ -8,31 +9,31 @@ export class AppGlobal {
{
label: 'Project information',
shortLabel: 'Project',
route: 'info',
route: RouteConstants.info,
icon: 'assignment',
},
{
label: 'Project members',
shortLabel: 'Members',
route: 'collaboration',
route: RouteConstants.collaboration,
icon: 'group',
},
{
label: 'Permission groups',
shortLabel: 'Groups',
route: 'permissions',
route: RouteConstants.permissions,
icon: 'lock_open',
},
{
label: 'Data model',
shortLabel: 'Data model',
route: 'ontologies',
route: RouteConstants.ontologies,
icon: 'bubble_chart',
},
{
label: 'Lists',
shortLabel: 'Lists',
route: 'lists',
route: RouteConstants.lists,
icon: 'list',
},
];
Expand All @@ -42,13 +43,13 @@ export class AppGlobal {
{
label: 'Dashboard',
shortLabel: 'Dashboard',
route: '/dashboard',
route: RouteConstants.dashboardRelative,
icon: 'dashboard',
},
{
label: 'My Projects',
shortLabel: 'Projects',
route: '/projects',
route: RouteConstants.projectRelative,
icon: 'assignment',
},
// label to reactivate when dsp-app will be used as a research platform again: -->
Expand All @@ -61,7 +62,7 @@ export class AppGlobal {
{
label: 'My Account',
shortLabel: 'Account',
route: '/account',
route: RouteConstants.userAccountRelative,
icon: 'settings',
},
];
Expand All @@ -71,13 +72,13 @@ export class AppGlobal {
{
label: 'All projects',
shortLabel: 'Projects',
route: 'projects',
route: RouteConstants.projects,
icon: 'assignment',
},
{
label: 'All users',
shortLabel: 'Users',
route: 'users',
route: RouteConstants.users,
icon: 'group',
},
];
Expand Down Expand Up @@ -115,3 +116,4 @@ export class AppGlobal {
},
];
}

103 changes: 52 additions & 51 deletions apps/dsp-app/src/app/app-routing.module.ts
@@ -1,7 +1,6 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { HintComponent } from './main/action/hint/hint.component';
import { LoginFormComponent } from './main/action/login-form/login-form.component';
import { CookiePolicyComponent } from './main/cookie-policy/cookie-policy.component';
import { AuthGuard } from './main/guard/auth.guard';
import { HelpComponent } from './main/help/help.component';
Expand Down Expand Up @@ -29,117 +28,114 @@ import { UserComponent } from './user/user.component';
import { ResourceComponent } from './workspace/resource/resource.component';
import { ResultsComponent } from './workspace/results/results.component';
import {ProjectFormComponent} from "@dsp-app/src/app/project/project-form/project-form.component";
import { RouteConstants } from '@dasch-swiss/vre/shared/app-config';

const routes: Routes = [
{
path: '',
path: RouteConstants.home,
component: OverviewComponent,
},
{
path: 'help',
path: RouteConstants.help,
component: HelpComponent,
},
{
path: 'login',
component: LoginFormComponent,
},
{
path: 'project/create-new',
path: RouteConstants.createNewProjectRelative,
canActivate: [AuthGuard],
component: ProjectFormComponent
},
{
path: 'project/:uuid',
path: RouteConstants.projectUuidRelative,
component: ProjectComponent,
children: [
{ path: 'edit',
{ path: RouteConstants.edit,
canActivate: [AuthGuard],
component: ProjectFormComponent
},
{
path: '',
component: DescriptionComponent
path: RouteConstants.home,
component: DescriptionComponent,
},
{
path: 'add-ontology',
path: RouteConstants.addOntology,
component: OntologyFormComponent,
canActivate: [AuthGuard],
},
{
path: 'ontology',
path: RouteConstants.ontology,
component: HintComponent,
data: { topic: 'ontology' },
},
{
path: 'data-models',
component: DataModelsComponent
path: RouteConstants.dataModels,
component: DataModelsComponent,
},
{
path: 'ontology/:onto',
path: RouteConstants.ontologyRelative,
component: OntologyComponent,
canActivate: [AuthGuard],
},
{
path: 'ontology/:onto/editor/:view',
path: RouteConstants.OntologyEditorViewRelative,
component: OntologyComponent,
canActivate: [AuthGuard],
},
{
path: 'ontology/:onto/:class',
path: RouteConstants.OntologyClassRelative,
component: OntologyClassInstanceComponent,
},
{
path: 'ontology/:onto/:class/conf',
path: RouteConstants.OntologyClassConfRelative,
component: StatusComponent,
data: {
status: 501,
status: RouteConstants.notImplemented,
comment:
'Here you will be able to configure the resource class.',
},
canActivate: [AuthGuard],
},
{
path: 'ontology/:onto/:class/:instance',
path: RouteConstants.OntologyClassInstanceRelative,
component: OntologyClassInstanceComponent,
},
{
path: 'add-list',
path: RouteConstants.addList,
component: ListInfoFormComponent,
canActivate: [AuthGuard],
},
{
path: 'list',
path: RouteConstants.list,
component: HintComponent,
data: { topic: 'list' },
},
{
path: 'list/:list',
path: `${RouteConstants.list}/:${RouteConstants.listParameter}`,
component: ListComponent
},
{
path: 'settings',
path: RouteConstants.settings,
component: SettingsComponent,
canActivate: [AuthGuard],
children: [
{
path: '',
path: RouteConstants.home,
pathMatch: 'full',
redirectTo: 'collaboration',
redirectTo: RouteConstants.collaboration,
},
{
path: 'collaboration',
path: RouteConstants.collaboration,
component: CollaborationComponent,
},
{
path: 'permissions',
path: RouteConstants.permissions,
component: PermissionComponent,
},
],
},
{
path: '**',
path: RouteConstants.notFoundWildcard,
component: StatusComponent,
data: { status: 404 },
data: { status: RouteConstants.notFound },
},
],
},
Expand All @@ -150,17 +146,17 @@ const routes: Routes = [
},
*/
{
path: 'profile',
path: RouteConstants.profile,
component: UserComponent,
canActivate: [AuthGuard],
},
{
path: 'account',
path: RouteConstants.userAccount,
component: UserComponent,
canActivate: [AuthGuard],
},
{
path: 'projects',
path: RouteConstants.projects,
component: UserComponent,
canActivate: [AuthGuard],
},
Expand All @@ -170,70 +166,75 @@ const routes: Routes = [
canActivate: [AuthGuard]
}, */
{
path: 'system',
path: RouteConstants.system,
component: SystemComponent,
canActivate: [AuthGuard],
children: [
{
path: '',
path: RouteConstants.home,
pathMatch: 'full',
redirectTo: 'projects',
redirectTo: RouteConstants.systemProjects,
},
{
path: 'projects',
path: RouteConstants.systemProjects,
component: ProjectsComponent,
},
{
path: 'users',
path: RouteConstants.systemUsers,
component: UsersComponent,
},
],
},
{
path: 'search',
path: RouteConstants.search,
children: [
{
path: ':mode/:q/:project',
path: RouteConstants.searchProjectRelative,
component: ResultsComponent,
},
{
path: ':mode/:q',
path: RouteConstants.searchRelative,
component: ResultsComponent,
},
],
},
{
path: 'resource',
path: RouteConstants.resource,
children: [
{
path: ':project/:resource/:value',
path: RouteConstants.projectResourceValueRelative,
component: ResourceComponent,
},
{
path: ':project/:resource',
path: RouteConstants.projectResourceRelative,
component: ResourceComponent,
},
],
runGuardsAndResolvers: 'always',
},
{
path: 'cookie-policy',
path: RouteConstants.cookiePolicy,
component: CookiePolicyComponent,
},
{
path: 'teapot',
path: RouteConstants.teapot,
component: StatusComponent,
data: { status: 418 },
},
{
path: '**',
path: RouteConstants.notFoundWildcard,
component: StatusComponent,
data: { status: 404 },
data: { status: RouteConstants.notFound },
},
];

@NgModule({
imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' })],
imports: [
RouterModule.forRoot(routes, {
bindToComponentInputs: true,
onSameUrlNavigation: 'reload',
}),
],
exports: [RouterModule],
})
export class AppRoutingModule {}
1 change: 1 addition & 0 deletions libs/vre/shared/app-config/src/index.ts
Expand Up @@ -2,6 +2,7 @@ export * from './lib/app-config/app-config.service';
export * from './lib/app-config/app-config';
export * from './lib/app-config/dsp-api-tokens';
export * from './lib/app-config/dsp-app-config';
export * from './lib/app-config/app-constants';
export * from './lib/app-config/dsp-config';
export * from './lib/app-config/dsp-iiif-config';
export * from './lib/app-config/dsp-instrumentation-config';
Expand Down

0 comments on commit a70388c

Please sign in to comment.