mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-16 06:23:03 +00:00
CST-5253] Finished functionalities
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
@@ -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';
|
@@ -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' }
|
||||
},
|
||||
])
|
||||
]
|
||||
})
|
||||
|
@@ -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.
|
||||
|
Reference in New Issue
Block a user