62180: fixed non-uuid paths

This commit is contained in:
lotte
2019-05-13 10:39:01 +02:00
parent 187c70847c
commit 7a4edd1567
2 changed files with 78 additions and 70 deletions

View File

@@ -36,9 +36,6 @@
[title]="'collection.page.license'"> [title]="'collection.page.license'">
</ds-comcol-page-content> </ds-comcol-page-content>
</div> </div>
</div>
<ds-error *ngIf="collectionRD?.hasFailed" message="{{'error.collection' | translate}}"></ds-error>
<ds-loading *ngIf="collectionRD?.isLoading" message="{{'loading.collection' | translate}}"></ds-loading>
<br> <br>
<ng-container *ngVar="(itemRD$ | async) as itemRD"> <ng-container *ngVar="(itemRD$ | async) as itemRD">
<div *ngIf="itemRD?.hasSucceeded" @fadeIn> <div *ngIf="itemRD?.hasSucceeded" @fadeIn>
@@ -51,8 +48,15 @@
(paginationChange)="onPaginationChange($event)"> (paginationChange)="onPaginationChange($event)">
</ds-viewable-collection> </ds-viewable-collection>
</div> </div>
<ds-error *ngIf="itemRD?.hasFailed" message="{{'error.recent-submissions' | translate}}"></ds-error> <ds-error *ngIf="itemRD?.hasFailed"
<ds-loading *ngIf="!itemRD || itemRD.isLoading" message="{{'loading.recent-submissions' | translate}}"></ds-loading> message="{{'error.recent-submissions' | translate}}"></ds-error>
<ds-loading *ngIf="!itemRD || itemRD.isLoading"
message="{{'loading.recent-submissions' | translate}}"></ds-loading>
</ng-container> </ng-container>
</div> </div>
<ds-error *ngIf="collectionRD?.hasFailed"
message="{{'error.collection' | translate}}"></ds-error>
<ds-loading *ngIf="collectionRD?.isLoading"
message="{{'loading.collection' | translate}}"></ds-loading>
</div>
</div> </div>

View File

@@ -16,8 +16,9 @@ import { Item } from '../core/shared/item.model';
import { fadeIn, fadeInOut } from '../shared/animations/fade'; import { fadeIn, fadeInOut } from '../shared/animations/fade';
import { hasValue, isNotEmpty } from '../shared/empty.util'; import { hasValue, isNotEmpty } from '../shared/empty.util';
import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model';
import { filter, first, flatMap, map } from 'rxjs/operators'; import { filter, first, flatMap, map, switchMap } from 'rxjs/operators';
import { redirectToPageNotFoundOn404 } from '../core/shared/operators'; import { PaginatedSearchOptions } from '../+search-page/paginated-search-options.model';
import { getSucceededRemoteData, redirectToPageNotFoundOn404 } from '../core/shared/operators';
@Component({ @Component({
selector: 'ds-collection-page', selector: 'ds-collection-page',
@@ -36,7 +37,6 @@ export class CollectionPageComponent implements OnInit, OnDestroy {
paginationConfig: PaginationComponentOptions; paginationConfig: PaginationComponentOptions;
sortConfig: SortOptions; sortConfig: SortOptions;
private subs: Subscription[] = []; private subs: Subscription[] = [];
private collectionId: string;
constructor( constructor(
private collectionDataService: CollectionDataService, private collectionDataService: CollectionDataService,
@@ -77,24 +77,28 @@ export class CollectionPageComponent implements OnInit, OnDestroy {
this.sortConfig, this.sortConfig,
{ direction: sortDirection, field: this.sortConfig.field } { direction: sortDirection, field: this.sortConfig.field }
); );
this.collectionRD$.subscribe((rd: RemoteData<Collection>) => {
this.collectionId = rd.payload.id;
this.updatePage({ this.updatePage({
pagination: pagination, pagination: pagination,
sort: sort sort: sort
}); });
});
}) })
); );
} }
updatePage(searchOptions) { updatePage(searchOptions) {
this.itemRD$ = this.itemDataService.findAll({ this.itemRD$ = this.collectionRD$.pipe(
scopeID: this.collectionId, getSucceededRemoteData(),
map((rd) => rd.payload.id),
switchMap((id: string) => {
return this.itemDataService.findAll(
new PaginatedSearchOptions({
scope: id,
currentPage: searchOptions.pagination.currentPage, currentPage: searchOptions.pagination.currentPage,
elementsPerPage: searchOptions.pagination.pageSize, elementsPerPage: searchOptions.pagination.pageSize,
sort: searchOptions.sort sort: searchOptions.sort
}); }));
})
)
} }
ngOnDestroy(): void { ngOnDestroy(): void {