mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
101623: Override createAndSendGetRequest in BrowseDefinitionDataService
This commit is contained in:
@@ -19,11 +19,12 @@ const ENTRY_COMPONENTS = [
|
||||
BrowseByTitlePageComponent,
|
||||
BrowseByMetadataPageComponent,
|
||||
BrowseByDatePageComponent,
|
||||
BrowseByTaxonomyPageComponent,
|
||||
|
||||
ThemedBrowseByMetadataPageComponent,
|
||||
ThemedBrowseByDatePageComponent,
|
||||
ThemedBrowseByTitlePageComponent,
|
||||
|
||||
ThemedBrowseByTaxonomyPageComponent,
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
@@ -36,8 +37,6 @@ const ENTRY_COMPONENTS = [
|
||||
declarations: [
|
||||
BrowseBySwitcherComponent,
|
||||
ThemedBrowseBySwitcherComponent,
|
||||
BrowseByTaxonomyPageComponent,
|
||||
ThemedBrowseByTaxonomyPageComponent,
|
||||
...ENTRY_COMPONENTS
|
||||
],
|
||||
exports: [
|
||||
|
@@ -1,3 +1,4 @@
|
||||
// eslint-disable-next-line max-classes-per-file
|
||||
import { Injectable } from '@angular/core';
|
||||
import { BROWSE_DEFINITION } from '../shared/browse-definition.resource-type';
|
||||
import { RequestService } from '../data/request.service';
|
||||
@@ -17,18 +18,14 @@ import { take } from 'rxjs/operators';
|
||||
import { BrowseDefinitionRestRequest } from '../data/request.models';
|
||||
import { BrowseDefinition } from '../shared/browse-definition.model';
|
||||
|
||||
|
||||
class BrowseDefinitionFindAllDataImpl extends FindAllDataImpl<BrowseDefinition> {
|
||||
/**
|
||||
* Create a GET request for the given href, and send it.
|
||||
* Use a GET request specific for BrowseDefinitions.
|
||||
*
|
||||
* @param href$ The url of browse we want to retrieve. Can be a string or
|
||||
* an Observable<string>
|
||||
* @param useCachedVersionIfAvailable If this is true, the request will only be sent if there's
|
||||
* no valid cached version. Defaults to true
|
||||
*/
|
||||
createAndSendGetRequest(href$: string | Observable<string>, useCachedVersionIfAvailable: boolean = true) {
|
||||
export const createAndSendBrowseDefinitionGetRequest = (requestService: RequestService,
|
||||
responseMsToLive: number,
|
||||
href$: string | Observable<string>,
|
||||
useCachedVersionIfAvailable: boolean = true): void => {
|
||||
if (isNotEmpty(href$)) {
|
||||
if (typeof href$ === 'string') {
|
||||
href$ = observableOf(href$);
|
||||
@@ -38,14 +35,22 @@ class BrowseDefinitionFindAllDataImpl extends FindAllDataImpl<BrowseDefinition>
|
||||
isNotEmptyOperator(),
|
||||
take(1)
|
||||
).subscribe((href: string) => {
|
||||
const requestId = this.requestService.generateRequestId();
|
||||
const requestId = requestService.generateRequestId();
|
||||
const request = new BrowseDefinitionRestRequest(requestId, href);
|
||||
if (hasValue(this.responseMsToLive)) {
|
||||
request.responseMsToLive = this.responseMsToLive;
|
||||
if (hasValue(responseMsToLive)) {
|
||||
request.responseMsToLive = responseMsToLive;
|
||||
}
|
||||
this.requestService.send(request, useCachedVersionIfAvailable);
|
||||
requestService.send(request, useCachedVersionIfAvailable);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Custom extension of {@link FindAllDataImpl} to be able to send BrowseDefinitionRestRequests
|
||||
*/
|
||||
class BrowseDefinitionFindAllDataImpl extends FindAllDataImpl<BrowseDefinition> {
|
||||
createAndSendGetRequest(href$: string | Observable<string>, useCachedVersionIfAvailable: boolean = true) {
|
||||
createAndSendBrowseDefinitionGetRequest(this.requestService, this.responseMsToLive, href$, useCachedVersionIfAvailable);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,5 +92,9 @@ export class BrowseDefinitionDataService extends IdentifiableDataService<BrowseD
|
||||
findAll(options: FindListOptions = {}, useCachedVersionIfAvailable = true, reRequestOnStale = true, ...linksToFollow: FollowLinkConfig<BrowseDefinition>[]): Observable<RemoteData<PaginatedList<BrowseDefinition>>> {
|
||||
return this.findAllData.findAll(options, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow);
|
||||
}
|
||||
|
||||
createAndSendGetRequest(href$: string | Observable<string>, useCachedVersionIfAvailable: boolean = true) {
|
||||
createAndSendBrowseDefinitionGetRequest(this.requestService, this.responseMsToLive, href$, useCachedVersionIfAvailable);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user