Merge pull request #1459 from CICBA/fix-collection-load

Fix to collection selection window not loading successfully.
This commit is contained in:
Tim Donohue
2021-12-20 11:15:13 -06:00
committed by GitHub
2 changed files with 15 additions and 15 deletions

View File

@@ -11,8 +11,8 @@
aria-labelledby="dropdownMenuButton" aria-labelledby="dropdownMenuButton"
(scroll)="onScroll($event)" (scroll)="onScroll($event)"
infiniteScroll infiniteScroll
[infiniteScrollDistance]="5" [infiniteScrollDistance]="1.5"
[infiniteScrollThrottle]="300" [infiniteScrollThrottle]="0"
[infiniteScrollUpDistance]="1.5" [infiniteScrollUpDistance]="1.5"
[fromRoot]="true" [fromRoot]="true"
[scrollWindow]="false" [scrollWindow]="false"
@@ -21,7 +21,7 @@
<button class="dropdown-item disabled" *ngIf="searchListCollection?.length == 0 && !(isLoading | async)"> <button class="dropdown-item disabled" *ngIf="searchListCollection?.length == 0 && !(isLoading | async)">
{{'submission.sections.general.no-collection' | translate}} {{'submission.sections.general.no-collection' | translate}}
</button> </button>
<ng-container *ngIf="searchListCollection?.length > 0 && !(isLoading | async)"> <ng-container *ngIf="searchListCollection?.length > 0">
<button *ngFor="let listItem of searchListCollection" <button *ngFor="let listItem of searchListCollection"
class="dropdown-item collection-item" class="dropdown-item collection-item"
title="{{ listItem.collection.name }}" title="{{ listItem.collection.name }}"

View File

@@ -223,8 +223,9 @@ export class CollectionDropdownComponent implements OnInit, OnDestroy {
switchMap((collectionsRD: RemoteData<PaginatedList<Collection>>) => { switchMap((collectionsRD: RemoteData<PaginatedList<Collection>>) => {
this.searchComplete.emit(); this.searchComplete.emit();
if (collectionsRD.hasSucceeded && collectionsRD.payload.totalElements > 0) { if (collectionsRD.hasSucceeded && collectionsRD.payload.totalElements > 0) {
if ( (this.searchListCollection.length + findOptions.elementsPerPage) >= collectionsRD.payload.totalElements ) { if (this.searchListCollection.length >= collectionsRD.payload.totalElements) {
this.hasNextPage = false; this.hasNextPage = false;
}
this.emitSelectionEvents(collectionsRD); this.emitSelectionEvents(collectionsRD);
return observableFrom(collectionsRD.payload.page).pipe( return observableFrom(collectionsRD.payload.page).pipe(
mergeMap((collection: Collection) => collection.parentCommunity.pipe( mergeMap((collection: Collection) => collection.parentCommunity.pipe(
@@ -236,7 +237,6 @@ export class CollectionDropdownComponent implements OnInit, OnDestroy {
))), ))),
reduce((acc: any, value: any) => [...acc, value], []), reduce((acc: any, value: any) => [...acc, value], []),
); );
}
} else { } else {
this.hasNextPage = false; this.hasNextPage = false;
return observableOf([]); return observableOf([]);