return this.basket.getRecordIds().then(ids => {
+ const pageIds =
+ ids.slice(ctx.pager.offset, ctx.pager.limit + ctx.pager.offset);
+
// Map our list of IDs into a search results object
// the search context can understand.
const result = {
count: ids.length,
- ids: ids.map(id => [id])
+ ids: pageIds.map(id => [id])
};
this.applyResultData(ctx, result);
// Returns a void promise once all records have been retrieved
fetchBibSummaries(ctx: CatalogSearchContext): Promise<void> {
- const depth = ctx.global ?
- ctx.org.root().ou_type().depth() :
- ctx.searchOrg.ou_type().depth();
+ const org = ctx.global ? ctx.org.root() : ctx.searchOrg;
+ const depth = org.ou_type().depth();
const isMeta = ctx.termSearch.isMetarecordSearch();
let observable: Observable<BibRecordSummary>;
+ const options: any = {pref_ou: ctx.prefOu};
+
+ if (ctx.showResultExtras) {
+ options.flesh_copies = true;
+ options.copy_depth = depth;
+ options.copy_limit = 5;
+ options.pref_ou = ctx.prefOu;
+ }
+
if (isMeta) {
observable = this.bibService.getMetabibSummaries(
- ctx.currentResultIds(), ctx.searchOrg.id(), ctx.isStaff);
+ ctx.currentResultIds(), ctx.searchOrg.id(), ctx.isStaff, options);
} else {
observable = this.bibService.getBibSummaries(
- ctx.currentResultIds(), ctx.searchOrg.id(), ctx.isStaff);
+ ctx.currentResultIds(), ctx.searchOrg.id(), ctx.isStaff, options);
}
return observable.pipe(map(summary => {
}
fetchCopyLocations(contextOrg: number | IdlObject): Promise<any> {
- const orgIds = this.org.fullPath(contextOrg, true);
+ const contextOrgId: any = this.org.get(contextOrg).id();
+
+ // we ordinarily want the shelving locations associated with
+ // all ancestors and descendants of the context OU, but
+ // if the context OU is the root, we intentionally want
+ // only the ones owned by the root OU
+ const orgIds: any[] = contextOrgId === this.org.root().id()
+ ? [contextOrgId]
+ : this.org.fullPath(contextOrg, true);
+
this.copyLocations = [];
return this.pcrud.search('acpl',