Skip to content

Commit 2ce9b6b

Browse files
abollinienea4science
authored andcommitted
DSC-975 improve handling of bitstream filters
1 parent f71e846 commit 2ce9b6b

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

src/app/core/data/bitstream-data.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ export class BitstreamDataService extends IdentifiableDataService<Bitstream> imp
352352
uuid: string,
353353
bundlename: string,
354354
metadataFilters: MetadataFilter[],
355-
options: FindListOptions,
355+
options?: FindListOptions,
356356
useCachedVersionIfAvailable = true,
357357
reRequestOnStale = true,
358358
...linksToFollow: FollowLinkConfig<Bitstream>[]

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/row/metadata-container/metadata-container.component.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { Bitstream } from '../../../../../../../core/shared/bitstream.model';
1414
import { getFirstCompletedRemoteData } from '../../../../../../../core/shared/operators';
1515
import { map, take } from 'rxjs/operators';
1616
import { BitstreamDataService } from '../../../../../../../core/data/bitstream-data.service';
17+
import { MetadataFilter } from '../../../../../../../core/data/bitstream-data.service';
1718
import { RemoteData } from '../../../../../../../core/data/remote-data';
1819
import { PaginatedList } from '../../../../../../../core/data/paginated-list.model';
1920
import { Observable } from 'rxjs';
@@ -126,7 +127,14 @@ export class MetadataContainerComponent implements OnInit {
126127
}
127128

128129
hasBitstream(): Observable<boolean> {
129-
return this.bitstreamDataService.findAllByItemAndBundleName(this.item, this.field.bitstream.bundle)
130+
let filters: MetadataFilter[] = [];
131+
if (isNotEmpty(this.field.bitstream.metadataValue)) {
132+
filters.push({
133+
metadataName: this.field.bitstream.metadataField,
134+
metadataValue: this.field.bitstream.metadataValue
135+
});
136+
}
137+
return this.bitstreamDataService.findShowableBitstreamsByItem(this.item.uuid, this.field.bitstream.bundle, filters)
130138
.pipe(
131139
getFirstCompletedRemoteData(),
132140
map((response: RemoteData<PaginatedList<Bitstream>>) => {

0 commit comments

Comments
 (0)