start of resolvers

This commit is contained in:
lotte
2018-08-06 15:09:32 +02:00
parent e7ea6294d7
commit 7985ad9644
4 changed files with 46 additions and 8 deletions

View File

@@ -8,12 +8,18 @@ module.exports = {
nameSpace: '/' nameSpace: '/'
}, },
// The REST API server settings. // The REST API server settings.
// rest: {
// ssl: true,
// host: 'dspace7.4science.it',
// port: 443,
// // NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
// nameSpace: '/dspace-spring-rest/api'
// },
rest: { rest: {
ssl: true, ssl: false,
host: 'dspace7.4science.it', host: 'dspace7-internal.atmire.com',
port: 443, port: 80,
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript nameSpace: '/rest/api'
nameSpace: '/dspace-spring-rest/api'
}, },
// Caching settings // Caching settings
cache: { cache: {

View File

@@ -0,0 +1,21 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router';
import { Collection } from '../core/shared/collection.model';
import { Observable } from 'rxjs/Observable';
import { CollectionDataService } from '../core/data/collection-data.service';
import { RemoteData } from '../core/data/remote-data';
import { filter } from 'rxjs/operators';
@Injectable()
export class CollectionPageResolverService implements Resolve<RemoteData<Collection>> {
constructor(private collectionService: CollectionDataService, private router: Router) {
}
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<RemoteData<Collection>> | Promise<RemoteData<Collection>> | RemoteData<Collection> {
const id = route.params.id;
console.log(id);
// const collection = this.collectionService.findById(id).pipe(filter((c) => c.hasSucceeded));
return this.collectionService.findById(id).pipe(filter((c) => c.hasSucceeded));
// return Observable.of(new RemoteData(false, false, true, null, new Collection()));
}
}

View File

@@ -2,12 +2,21 @@ import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router'; import { RouterModule } from '@angular/router';
import { CollectionPageComponent } from './collection-page.component'; import { CollectionPageComponent } from './collection-page.component';
import { CollectionPageResolverService } from './collection-page-resolver.service';
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: ':id', component: CollectionPageComponent, pathMatch: 'full' } {
path: ':id',
component: CollectionPageComponent,
pathMatch: 'full',
resolve: { collection: CollectionPageResolverService }
}
]) ])
],
providers: [
CollectionPageResolverService
] ]
}) })
export class CollectionPageRoutingModule { export class CollectionPageRoutingModule {

View File

@@ -44,6 +44,8 @@ export class CollectionPageComponent implements OnInit, OnDestroy {
private metadata: MetadataService, private metadata: MetadataService,
private route: ActivatedRoute private route: ActivatedRoute
) { ) {
console.log('component');
console.log('Collections data:', this.route.snapshot.data);
this.paginationConfig = new PaginationComponentOptions(); this.paginationConfig = new PaginationComponentOptions();
this.paginationConfig.id = 'collection-page-pagination'; this.paginationConfig.id = 'collection-page-pagination';
this.paginationConfig.pageSize = 5; this.paginationConfig.pageSize = 5;