CST-5253] Finished functionalities

This commit is contained in:
Rezart Vata
2022-04-27 20:18:33 +02:00
parent 13dac1af0e
commit aa78a2991c
13 changed files with 183 additions and 81 deletions

View File

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

View File

@@ -0,0 +1,8 @@
import { getWorkspaceItemModuleRoute } from '../app-routing-paths';
import { URLCombiner } from '../core/url-combiner/url-combiner';
export function getWorkspaceItemViewRoute(wfiId: string) {
return new URLCombiner(getWorkspaceItemModuleRoute(), wfiId, WORKSPACE_ITEM_VIEW_PATH).toString();
}
export const WORKSPACE_ITEM_VIEW_PATH = 'view';

View File

@@ -4,6 +4,8 @@ import { RouterModule } from '@angular/router';
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
import { ThemedSubmissionEditComponent } from '../submission/edit/themed-submission-edit.component';
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
import { ThemedFullItemPageComponent } from '../item-page/full/themed-full-item-page.component';
import { ItemFromWorkspaceResolver } from './item-from-workspace.resolver';
@NgModule({
imports: [
@@ -17,7 +19,17 @@ import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.reso
breadcrumb: I18nBreadcrumbResolver
},
data: { title: 'submission.edit.title', breadcrumbKey: 'submission.edit' }
}
},
{
canActivate: [AuthenticatedGuard],
path: ':id/view',
component: ThemedFullItemPageComponent,
resolve: {
dso: ItemFromWorkspaceResolver,
breadcrumb: I18nBreadcrumbResolver
},
data: { title: 'workspace-item.view.title', breadcrumbKey: 'workspace-item.view' }
},
])
]
})

View File

@@ -3,6 +3,7 @@ import { NgModule } from '@angular/core';
import { SharedModule } from '../shared/shared.module';
import { WorkspaceitemsEditPageRoutingModule } from './workspaceitems-edit-page-routing.module';
import { SubmissionModule } from '../submission/submission.module';
import { ItemFromWorkspaceResolver } from './item-from-workspace.resolver';
@NgModule({
imports: [
@@ -11,7 +12,8 @@ import { SubmissionModule } from '../submission/submission.module';
SharedModule,
SubmissionModule,
],
declarations: []
declarations: [],
providers: [ItemFromWorkspaceResolver]
})
/**
* This module handles all modules that need to access the workspaceitems edit page.