mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
[DURACOM-191] Provide resolver in root
This commit is contained in:
@@ -26,9 +26,7 @@ import {
|
||||
const providers = [
|
||||
I18nBreadcrumbResolver,
|
||||
I18nBreadcrumbsService,
|
||||
SourceDataResolver,
|
||||
QualityAssuranceTopicsPageResolver,
|
||||
QualityAssuranceEventsPageResolver,
|
||||
QualityAssuranceSourcePageResolver,
|
||||
QualityAssuranceBreadcrumbResolver,
|
||||
QualityAssuranceBreadcrumbService,
|
||||
|
@@ -9,7 +9,7 @@ import { EditBitstreamFormatComponent } from './edit-bitstream-format/edit-bitst
|
||||
const BITSTREAMFORMAT_EDIT_PATH = ':id/edit';
|
||||
const BITSTREAMFORMAT_ADD_PATH = 'add';
|
||||
|
||||
const providers = [BitstreamFormatsResolver];
|
||||
const providers = [];
|
||||
|
||||
export const ROUTES: Route[] = [
|
||||
{
|
||||
|
@@ -14,7 +14,7 @@ import { getFirstCompletedRemoteData } from '../../../core/shared/operators';
|
||||
/**
|
||||
* This class represents a resolver that requests a specific bitstreamFormat before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class BitstreamFormatsResolver implements Resolve<RemoteData<BitstreamFormat>> {
|
||||
constructor(private bitstreamFormatDataService: BitstreamFormatDataService) {
|
||||
}
|
||||
|
@@ -22,7 +22,6 @@ const EDIT_BITSTREAM_AUTHORIZATIONS_PATH = ':id/authorizations';
|
||||
*/
|
||||
|
||||
const providers = [
|
||||
BitstreamPageResolver,
|
||||
BitstreamBreadcrumbResolver,
|
||||
BitstreamBreadcrumbsService,
|
||||
];
|
||||
|
@@ -27,7 +27,7 @@ export const BITSTREAM_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Bitstream>[] = [
|
||||
/**
|
||||
* This class represents a resolver that requests a specific bitstream before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class BitstreamPageResolver implements Resolve<RemoteData<Bitstream>> {
|
||||
constructor(private bitstreamService: BitstreamDataService) {
|
||||
}
|
||||
|
@@ -21,7 +21,7 @@ import { hasValue } from '../shared/empty.util';
|
||||
/**
|
||||
* The class that resolves the BreadcrumbConfig object for a DSpaceObject on a browse by page
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class BrowseByDSOBreadcrumbResolver {
|
||||
constructor(protected breadcrumbService: DSOBreadcrumbsService, protected dataService: DSpaceObjectDataService) {
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@ import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.ser
|
||||
* This class resolves a BreadcrumbConfig object with an i18n key string for a route
|
||||
* It adds the metadata field of the current browse-by page
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class BrowseByI18nBreadcrumbResolver extends I18nBreadcrumbResolver {
|
||||
constructor(protected breadcrumbService: I18nBreadcrumbsService) {
|
||||
super(breadcrumbService);
|
||||
|
@@ -13,10 +13,6 @@ export const ROUTES: Route[] = [
|
||||
breadcrumb: BrowseByDSOBreadcrumbResolver,
|
||||
menu: DSOEditMenuResolver,
|
||||
},
|
||||
providers: [
|
||||
BrowseByI18nBreadcrumbResolver,
|
||||
BrowseByDSOBreadcrumbResolver,
|
||||
],
|
||||
children: [
|
||||
{
|
||||
path: ':id',
|
||||
|
@@ -34,8 +34,6 @@ export const ROUTES: Route[] = [
|
||||
component: CreateCollectionPageComponent,
|
||||
canActivate: [AuthenticatedGuard, CreateCollectionPageGuard],
|
||||
providers: [
|
||||
CollectionPageResolver,
|
||||
ItemTemplatePageResolver,
|
||||
CollectionBreadcrumbResolver,
|
||||
DSOBreadcrumbsService,
|
||||
LinkService,
|
||||
@@ -52,8 +50,6 @@ export const ROUTES: Route[] = [
|
||||
menu: DSOEditMenuResolver,
|
||||
},
|
||||
providers: [
|
||||
CollectionPageResolver,
|
||||
ItemTemplatePageResolver,
|
||||
CollectionBreadcrumbResolver,
|
||||
DSOBreadcrumbsService,
|
||||
LinkService,
|
||||
|
@@ -31,7 +31,7 @@ export const COLLECTION_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Collection>[] = [
|
||||
/**
|
||||
* This class represents a resolver that requests a specific collection before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class CollectionPageResolver implements Resolve<RemoteData<Collection>> {
|
||||
constructor(
|
||||
private collectionService: CollectionDataService,
|
||||
|
@@ -25,10 +25,6 @@ export const ROUTES: Route[] = [
|
||||
resolve: {
|
||||
breadcrumb: I18nBreadcrumbResolver,
|
||||
},
|
||||
providers: [
|
||||
ResourcePolicyResolver,
|
||||
ResourcePolicyTargetResolver,
|
||||
],
|
||||
data: { breadcrumbKey: 'collection.edit' },
|
||||
component: EditCollectionPageComponent,
|
||||
canActivate: [CollectionAdministratorGuard],
|
||||
|
@@ -16,7 +16,7 @@ import { followLink } from '../../shared/utils/follow-link-config.model';
|
||||
/**
|
||||
* This class represents a resolver that requests a specific collection's item template before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ItemTemplatePageResolver implements Resolve<RemoteData<Item>> {
|
||||
constructor(
|
||||
public dsoNameService: DSONameService,
|
||||
|
@@ -30,7 +30,6 @@ export const ROUTES: Route[] = [
|
||||
component: CreateCommunityPageComponent,
|
||||
canActivate: [AuthenticatedGuard, CreateCommunityPageGuard],
|
||||
providers: [
|
||||
CommunityPageResolver,
|
||||
CommunityBreadcrumbResolver,
|
||||
DSOBreadcrumbsService,
|
||||
LinkService,
|
||||
@@ -46,7 +45,6 @@ export const ROUTES: Route[] = [
|
||||
menu: DSOEditMenuResolver,
|
||||
},
|
||||
providers: [
|
||||
CommunityPageResolver,
|
||||
CommunityBreadcrumbResolver,
|
||||
DSOBreadcrumbsService,
|
||||
LinkService,
|
||||
|
@@ -31,7 +31,7 @@ export const COMMUNITY_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Community>[] = [
|
||||
/**
|
||||
* This class represents a resolver that requests a specific community before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class CommunityPageResolver implements Resolve<RemoteData<Community>> {
|
||||
constructor(
|
||||
private communityService: CommunityDataService,
|
||||
|
@@ -23,10 +23,6 @@ export const ROUTES: Route[] = [
|
||||
resolve: {
|
||||
breadcrumb: I18nBreadcrumbResolver,
|
||||
},
|
||||
providers: [
|
||||
ResourcePolicyResolver,
|
||||
ResourcePolicyTargetResolver,
|
||||
],
|
||||
data: { breadcrumbKey: 'community.edit' },
|
||||
component: EditCommunityPageComponent,
|
||||
canActivate: [CommunityAdministratorGuard],
|
||||
|
@@ -16,7 +16,7 @@ import { getFirstCompletedRemoteData } from '../../shared/operators';
|
||||
/**
|
||||
* This class represents a resolver that requests a specific item before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class SubmissionObjectResolver<T> implements Resolve<RemoteData<T>> {
|
||||
constructor(
|
||||
protected dataService: IdentifiableDataService<any>,
|
||||
|
@@ -10,16 +10,10 @@ export const ROUTES: Route[] = [
|
||||
path: '',
|
||||
component: ThemedForgotEmailComponent,
|
||||
data: { title: 'forgot-password.title' },
|
||||
providers: [
|
||||
ItemPageResolver,
|
||||
],
|
||||
},
|
||||
{
|
||||
path: ':token',
|
||||
component: ThemedForgotPasswordFormComponent,
|
||||
canActivate: [RegistrationGuard],
|
||||
providers: [
|
||||
ItemPageResolver,
|
||||
],
|
||||
},
|
||||
];
|
||||
|
@@ -11,7 +11,6 @@ export const ROUTES: Route[] = [
|
||||
path: '',
|
||||
component: ThemedHomePageComponent,
|
||||
providers: [
|
||||
HomePageResolver,
|
||||
provideSuggestionNotifications(),
|
||||
],
|
||||
pathMatch: 'full',
|
||||
|
@@ -13,7 +13,7 @@ import { Site } from '../core/shared/site.model';
|
||||
/**
|
||||
* The class that resolve the Site object for a route
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class HomePageResolver implements Resolve<Site> {
|
||||
constructor(private siteService: SiteDataService) {
|
||||
}
|
||||
|
@@ -59,8 +59,6 @@ export const ROUTES: Route[] = [
|
||||
providers: [
|
||||
I18nBreadcrumbResolver,
|
||||
I18nBreadcrumbsService,
|
||||
ResourcePolicyResolver,
|
||||
ResourcePolicyTargetResolver,
|
||||
ItemPageReinstateGuard,
|
||||
ItemPageWithdrawGuard,
|
||||
ItemPageAdministratorGuard,
|
||||
|
@@ -33,12 +33,10 @@ export const ROUTES: Route[] = [
|
||||
menu: DSOEditMenuResolver,
|
||||
},
|
||||
providers: [
|
||||
ItemPageResolver,
|
||||
ItemBreadcrumbResolver,
|
||||
DSOBreadcrumbsService,
|
||||
LinkService,
|
||||
ItemPageAdministratorGuard,
|
||||
VersionResolver,
|
||||
OrcidPageGuard,
|
||||
],
|
||||
runGuardsAndResolvers: 'always',
|
||||
@@ -100,12 +98,10 @@ export const ROUTES: Route[] = [
|
||||
},
|
||||
],
|
||||
providers: [
|
||||
ItemPageResolver,
|
||||
ItemBreadcrumbResolver,
|
||||
DSOBreadcrumbsService,
|
||||
LinkService,
|
||||
ItemPageAdministratorGuard,
|
||||
VersionResolver,
|
||||
OrcidPageGuard,
|
||||
],
|
||||
},
|
||||
|
@@ -19,7 +19,7 @@ import { getItemPageRoute } from './item-page-routing-paths';
|
||||
* This class represents a resolver that requests a specific item before the route is activated and will redirect to the
|
||||
* entity page
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ItemPageResolver extends ItemResolver {
|
||||
constructor(
|
||||
protected itemService: ItemDataService,
|
||||
|
@@ -35,7 +35,7 @@ export const ITEM_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Item>[] = [
|
||||
/**
|
||||
* This class represents a resolver that requests a specific item before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ItemResolver implements Resolve<RemoteData<Item>> {
|
||||
constructor(
|
||||
protected itemService: ItemDataService,
|
||||
|
@@ -29,7 +29,7 @@ export const VERSION_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig<Version>[] = [
|
||||
/**
|
||||
* This class represents a resolver that requests a specific version before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class VersionResolver implements Resolve<RemoteData<Version>> {
|
||||
constructor(
|
||||
protected versionService: VersionDataService,
|
||||
|
@@ -18,7 +18,7 @@ import { Process } from './processes/process.model';
|
||||
/**
|
||||
* This class represents a resolver that requests a specific process before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ProcessBreadcrumbResolver implements Resolve<BreadcrumbConfig<Process>> {
|
||||
constructor(protected breadcrumbService: ProcessBreadcrumbsService, private processService: ProcessDataService) {
|
||||
}
|
||||
|
@@ -11,9 +11,6 @@ import { ProcessPageResolver } from './process-page.resolver';
|
||||
export const ROUTES: Route[] = [
|
||||
{
|
||||
path: '',
|
||||
providers: [
|
||||
ProcessPageResolver,
|
||||
],
|
||||
resolve: { breadcrumb: I18nBreadcrumbResolver },
|
||||
data: { breadcrumbKey: 'process.overview' },
|
||||
canActivate: [AuthenticatedGuard],
|
||||
|
@@ -19,7 +19,7 @@ export const PROCESS_PAGE_FOLLOW_LINKS = [
|
||||
/**
|
||||
* This class represents a resolver that requests a specific process before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ProcessPageResolver implements Resolve<RemoteData<Process>> {
|
||||
constructor(private processService: ProcessDataService) {
|
||||
}
|
||||
|
@@ -24,10 +24,8 @@ const providers = [
|
||||
I18nBreadcrumbResolver,
|
||||
I18nBreadcrumbsService,
|
||||
AdminNotificationsPublicationClaimPageResolver,
|
||||
SourceDataResolver,
|
||||
QualityAssuranceSourcePageResolver,
|
||||
QualityAssuranceTopicsPageResolver,
|
||||
QualityAssuranceEventsPageResolver,
|
||||
QualityAssuranceSourcePageResolver,
|
||||
QualityAssuranceBreadcrumbResolver,
|
||||
QualityAssuranceBreadcrumbService,
|
||||
|
@@ -17,7 +17,7 @@ export interface AssuranceEventsPageParams {
|
||||
/**
|
||||
* This class represents a resolver that retrieve the route data before the route is activated.
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class QualityAssuranceEventsPageResolver implements Resolve<AssuranceEventsPageParams> {
|
||||
|
||||
/**
|
||||
|
@@ -16,7 +16,7 @@ import { QualityAssuranceSourceService } from '../../notifications/qa/source/qua
|
||||
/**
|
||||
* This class represents a resolver that retrieve the route data before the route is activated.
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class SourceDataResolver implements Resolve<Observable<QualityAssuranceSourceObject[]>> {
|
||||
private pageSize = environment.qualityAssuranceConfig.pageSize;
|
||||
/**
|
||||
|
@@ -11,7 +11,7 @@ import { RemoteData } from '../core/data/remote-data';
|
||||
import { getFirstCompletedRemoteData } from '../core/shared/operators';
|
||||
import { Registration } from '../core/shared/registration.model';
|
||||
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
/**
|
||||
* Resolver to resolve a Registration object based on the provided token
|
||||
*/
|
||||
|
@@ -11,17 +11,11 @@ export const ROUTES: Route[] = [
|
||||
{
|
||||
path: '',
|
||||
component: ThemedRegisterEmailComponent,
|
||||
providers: [
|
||||
ItemPageResolver,
|
||||
],
|
||||
data: { title: 'register-email.title' },
|
||||
},
|
||||
{
|
||||
path: ':token',
|
||||
component: ThemedCreateProfileComponent,
|
||||
providers: [
|
||||
ItemPageResolver,
|
||||
],
|
||||
canActivate: [
|
||||
RegistrationGuard,
|
||||
EndUserAgreementCookieGuard,
|
||||
|
@@ -13,7 +13,6 @@ export const ROUTES: Route[] = [
|
||||
{
|
||||
path: ':token',
|
||||
providers: [
|
||||
RequestCopyResolver,
|
||||
GrantDenyRequestCopyComponent,
|
||||
],
|
||||
resolve: {
|
||||
|
@@ -14,7 +14,7 @@ import { getFirstCompletedRemoteData } from '../core/shared/operators';
|
||||
/**
|
||||
* Resolves an {@link ItemRequest} from the token found in the route's parameters
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class RequestCopyResolver implements Resolve<RemoteData<ItemRequest>> {
|
||||
|
||||
constructor(
|
||||
|
@@ -21,7 +21,7 @@ import { isEmpty } from '../../empty.util';
|
||||
/**
|
||||
* This class represents a resolver that requests a specific item before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ResourcePolicyTargetResolver implements Resolve<RemoteData<DSpaceObject>> {
|
||||
/**
|
||||
* The data service used to make request.
|
||||
|
@@ -17,7 +17,7 @@ import { followLink } from '../../utils/follow-link-config.model';
|
||||
/**
|
||||
* This class represents a resolver that requests a specific item before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ResourcePolicyResolver implements Resolve<RemoteData<ResourcePolicy>> {
|
||||
|
||||
constructor(private resourcePolicyService: ResourcePolicyDataService, private router: Router) {
|
||||
|
@@ -14,9 +14,6 @@ import { ThemedSiteStatisticsPageComponent } from './site-statistics-page/themed
|
||||
const providers = [
|
||||
I18nBreadcrumbResolver,
|
||||
I18nBreadcrumbsService,
|
||||
CollectionPageResolver,
|
||||
CommunityPageResolver,
|
||||
ItemResolver,
|
||||
];
|
||||
|
||||
export const ROUTES: Route[] = [
|
||||
|
@@ -19,7 +19,6 @@ export const ROUTES: Route[] = [
|
||||
showBreadcrumbsFluid: false,
|
||||
},
|
||||
providers: [
|
||||
SuggestionsPageResolver,
|
||||
PublicationClaimBreadcrumbResolver,
|
||||
provideSuggestionNotifications(),
|
||||
],
|
||||
|
@@ -15,7 +15,7 @@ import { hasValue } from '../shared/empty.util';
|
||||
/**
|
||||
* This class represents a resolver that requests a specific collection before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class SuggestionsPageResolver implements Resolve<RemoteData<SuggestionTarget>> {
|
||||
constructor(private suggestionsDataService: SuggestionTargetDataService) {
|
||||
}
|
||||
|
@@ -10,7 +10,7 @@ import { WorkflowItemDataService } from '../core/submission/workflowitem-data.se
|
||||
/**
|
||||
* This class represents a resolver that requests a specific item before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ItemFromWorkflowResolver extends SubmissionObjectResolver<Item> implements Resolve<RemoteData<Item>> {
|
||||
constructor(
|
||||
private workflowItemService: WorkflowItemDataService,
|
||||
|
@@ -15,7 +15,7 @@ import { followLink } from '../shared/utils/follow-link-config.model';
|
||||
/**
|
||||
* This class represents a resolver that requests a specific workflow item before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class WorkflowItemPageResolver implements Resolve<RemoteData<WorkflowItem>> {
|
||||
constructor(private workflowItemService: WorkflowItemDataService) {
|
||||
}
|
||||
|
@@ -22,7 +22,7 @@ export const ROUTES: Routes = [
|
||||
{
|
||||
path: ':id',
|
||||
resolve: { wfi: WorkflowItemPageResolver },
|
||||
providers: [WorkflowItemPageResolver, ItemFromWorkflowResolver, provideSubmission()],
|
||||
providers: [provideSubmission()],
|
||||
children: [
|
||||
{
|
||||
canActivate: [AuthenticatedGuard],
|
||||
|
@@ -10,7 +10,7 @@ import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.
|
||||
/**
|
||||
* This class represents a resolver that requests a specific item before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class ItemFromWorkspaceResolver extends SubmissionObjectResolver<Item> implements Resolve<RemoteData<Item>> {
|
||||
constructor(
|
||||
private workspaceItemService: WorkspaceitemDataService,
|
||||
|
@@ -15,7 +15,7 @@ import { followLink } from '../shared/utils/follow-link-config.model';
|
||||
/**
|
||||
* This class represents a resolver that requests a specific workflow item before the route is activated
|
||||
*/
|
||||
@Injectable()
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class WorkspaceItemPageResolver implements Resolve<RemoteData<WorkflowItem>> {
|
||||
constructor(private workspaceItemService: WorkspaceitemDataService) {
|
||||
}
|
||||
|
@@ -11,8 +11,6 @@ import { ThemedWorkspaceItemsDeletePageComponent } from './workspaceitems-delete
|
||||
import { WorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page/workspaceitems-delete-page.component';
|
||||
|
||||
const providers = [
|
||||
WorkspaceItemPageResolver,
|
||||
ItemFromWorkspaceResolver,
|
||||
provideSubmission(),
|
||||
];
|
||||
|
||||
|
Reference in New Issue
Block a user