62589: Loading components for item and collection select lists

This commit is contained in:
Kristof De Langhe
2019-09-30 16:17:18 +02:00
parent 3c8e35e4d2
commit b8a466d12b
5 changed files with 20 additions and 8 deletions

View File

@@ -198,9 +198,11 @@
"error.browse-by": "Error fetching items", "error.browse-by": "Error fetching items",
"error.collection": "Error fetching collection", "error.collection": "Error fetching collection",
"error.collections": "Error fetching collections",
"error.community": "Error fetching community", "error.community": "Error fetching community",
"error.default": "Error", "error.default": "Error",
"error.item": "Error fetching item", "error.item": "Error fetching item",
"error.items": "Error fetching items",
"error.objects": "Error fetching objects", "error.objects": "Error fetching objects",
"error.recent-submissions": "Error fetching recent submissions", "error.recent-submissions": "Error fetching recent submissions",
"error.search-results": "Error fetching search results", "error.search-results": "Error fetching search results",
@@ -430,9 +432,11 @@
"loading.browse-by": "Loading items...", "loading.browse-by": "Loading items...",
"loading.browse-by-page": "Loading page...", "loading.browse-by-page": "Loading page...",
"loading.collection": "Loading collection...", "loading.collection": "Loading collection...",
"loading.collections": "Loading collections...",
"loading.community": "Loading community...", "loading.community": "Loading community...",
"loading.default": "Loading...", "loading.default": "Loading...",
"loading.item": "Loading item...", "loading.item": "Loading item...",
"loading.items": "Loading items...",
"loading.mydspace-results": "Loading items...", "loading.mydspace-results": "Loading items...",
"loading.objects": "Loading...", "loading.objects": "Loading...",
"loading.recent-submissions": "Loading recent submissions...", "loading.recent-submissions": "Loading recent submissions...",

View File

@@ -8,7 +8,7 @@ import { Collection } from '../../core/shared/collection.model';
import { SearchConfigurationService } from '../../+search-page/search-service/search-configuration.service'; import { SearchConfigurationService } from '../../+search-page/search-service/search-configuration.service';
import { PaginatedSearchOptions } from '../../+search-page/paginated-search-options.model'; import { PaginatedSearchOptions } from '../../+search-page/paginated-search-options.model';
import { PaginatedList } from '../../core/data/paginated-list'; import { PaginatedList } from '../../core/data/paginated-list';
import { map, switchMap, take, tap } from 'rxjs/operators'; import { map, startWith, switchMap, take, tap } from 'rxjs/operators';
import { getRemoteDataPayload, getSucceededRemoteData, toDSpaceObjectListRD } from '../../core/shared/operators'; import { getRemoteDataPayload, getSucceededRemoteData, toDSpaceObjectListRD } from '../../core/shared/operators';
import { SearchService } from '../../+search-page/search-service/search.service'; import { SearchService } from '../../+search-page/search-service/search.service';
import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model';
@@ -128,10 +128,12 @@ export class CollectionItemMapperComponent implements OnInit {
scope: undefined, scope: undefined,
dsoType: DSpaceObjectType.ITEM, dsoType: DSpaceObjectType.ITEM,
sort: this.defaultSortOptions sort: this.defaultSortOptions
})); })).pipe(
toDSpaceObjectListRD(),
startWith(undefined)
);
} }
}), })
toDSpaceObjectListRD()
); );
} }

View File

@@ -11,7 +11,7 @@ import { getRemoteDataPayload, getSucceededRemoteData, toDSpaceObjectListRD } fr
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { SearchService } from '../../../+search-page/search-service/search.service'; import { SearchService } from '../../../+search-page/search-service/search.service';
import { SearchConfigurationService } from '../../../+search-page/search-service/search-configuration.service'; import { SearchConfigurationService } from '../../../+search-page/search-service/search-configuration.service';
import { map, switchMap, take } from 'rxjs/operators'; import { map, startWith, switchMap, take } from 'rxjs/operators';
import { ItemDataService } from '../../../core/data/item-data.service'; import { ItemDataService } from '../../../core/data/item-data.service';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { NotificationsService } from '../../../shared/notifications/notifications.service';
@@ -112,9 +112,11 @@ export class ItemCollectionMapperComponent implements OnInit {
return this.searchService.search(Object.assign(new PaginatedSearchOptions(searchOptions), { return this.searchService.search(Object.assign(new PaginatedSearchOptions(searchOptions), {
query: this.buildQuery([...itemCollectionsRD.payload.page, owningCollectionRD.payload], searchOptions.query), query: this.buildQuery([...itemCollectionsRD.payload.page, owningCollectionRD.payload], searchOptions.query),
dsoType: DSpaceObjectType.COLLECTION dsoType: DSpaceObjectType.COLLECTION
})); })).pipe(
}), toDSpaceObjectListRD(),
toDSpaceObjectListRD() startWith(undefined)
);
})
) as Observable<RemoteData<PaginatedList<Collection>>>; ) as Observable<RemoteData<PaginatedList<Collection>>>;
} }

View File

@@ -24,6 +24,8 @@
</table> </table>
</div> </div>
</ds-pagination> </ds-pagination>
<ds-error *ngIf="collectionsRD?.hasFailed" message="{{'error.collections' | translate}}"></ds-error>
<ds-loading *ngIf="!collectionsRD || collectionsRD?.isLoading" message="{{'loading.collections' | translate}}"></ds-loading>
<div> <div>
<button class="btn btn-outline-secondary collection-cancel float-left" (click)="onCancel()">{{cancelButton | translate}}</button> <button class="btn btn-outline-secondary collection-cancel float-left" (click)="onCancel()">{{cancelButton | translate}}</button>
<button *ngIf="dangerConfirm" class="btn btn-danger collection-confirm float-right" (click)="confirmSelected()">{{confirmButton | translate}}</button> <button *ngIf="dangerConfirm" class="btn btn-danger collection-confirm float-right" (click)="confirmSelected()">{{confirmButton | translate}}</button>

View File

@@ -28,6 +28,8 @@
</table> </table>
</div> </div>
</ds-pagination> </ds-pagination>
<ds-error *ngIf="itemsRD?.hasFailed" message="{{'error.items' | translate}}"></ds-error>
<ds-loading *ngIf="!itemsRD || itemsRD?.isLoading" message="{{'loading.items' | translate}}"></ds-loading>
<div> <div>
<button class="btn btn-outline-secondary item-cancel float-left" (click)="onCancel()">{{cancelButton | translate}}</button> <button class="btn btn-outline-secondary item-cancel float-left" (click)="onCancel()">{{cancelButton | translate}}</button>
<button *ngIf="dangerConfirm" class="btn btn-danger item-confirm float-right" (click)="confirmSelected()">{{confirmButton | translate}}</button> <button *ngIf="dangerConfirm" class="btn btn-danger item-confirm float-right" (click)="confirmSelected()">{{confirmButton | translate}}</button>