From: Bill Erickson Date: Tue, 13 Nov 2018 19:52:34 +0000 (-0500) Subject: basket list display wip X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=0332c36a972c98f1ac267bbdcac282c3b1a35243;p=working%2FEvergreen.git basket list display wip Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html b/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html index be1f5bb386..2485a39914 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html +++ b/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html @@ -10,6 +10,7 @@
diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/basket/basket.component.html b/Open-ILS/src/eg2/src/app/staff/catalog/basket/basket.component.html new file mode 100644 index 0000000000..7a64033abf --- /dev/null +++ b/Open-ILS/src/eg2/src/app/staff/catalog/basket/basket.component.html @@ -0,0 +1,20 @@ +
+
+

Basket View

+
+
+
+ +
+
+
+
+
+ + + + +
+
+ diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/basket/basket.component.ts b/Open-ILS/src/eg2/src/app/staff/catalog/basket/basket.component.ts new file mode 100644 index 0000000000..50affa8b67 --- /dev/null +++ b/Open-ILS/src/eg2/src/app/staff/catalog/basket/basket.component.ts @@ -0,0 +1,60 @@ +import {Component, OnInit, OnDestroy, Input} from '@angular/core'; +import {Router} from '@angular/router'; +import {Observable} from 'rxjs/Observable'; +import {Subscription} from 'rxjs/Subscription'; +import {BibRecordService} from '@eg/share/catalog/bib-record.service'; +import {CatalogService} from '@eg/share/catalog/catalog.service'; +import {StaffCatalogService} from '../catalog.service'; +import {CatalogSearchContext, CatalogSearchState} from '@eg/share/catalog/search-context'; +import {BasketService} from '@eg/share/catalog/basket.service'; + +@Component({ + selector: 'eg-catalog-basket', + templateUrl: 'basket.component.html' +}) +export class BasketComponent implements OnInit, OnDestroy { + + searchContext: CatalogSearchContext; + + constructor( + private router: Router, + private bib: BibRecordService, + private cat: CatalogService, + private staffCat: StaffCatalogService, + private basket: BasketService + ) {} + + ngOnInit() { + this.searchContext = this.staffCat.searchContext; + + this.basket.getRecordIds().then(ids => { + + // Bypass the standard catalog search by providing a + // search result object of our own. + // 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]) + }; + + this.searchContext.reset(); + this.cat.applyResultData(this.searchContext, result); + this.cat.fetchBibSummaries(this.searchContext) + .then(ok => this.fleshSearchResults()); + + }); + } + + ngOnDestroy() { + } + + fleshSearchResults(): void { + const records = this.searchContext.result.records; + if (!records || records.length === 0) { return; } + // Flesh the creator / editor fields with the user object. + this.bib.fleshBibUsers(records.map(r => r.record)); + } +} + + diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/catalog.module.ts b/Open-ILS/src/eg2/src/app/staff/catalog/catalog.module.ts index e490da2b80..172a82993d 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/catalog.module.ts +++ b/Open-ILS/src/eg2/src/app/staff/catalog/catalog.module.ts @@ -15,6 +15,7 @@ import {RecordPaginationComponent} from './record/pagination.component'; import {RecordActionsComponent} from './record/actions.component'; import {HoldingsService} from '@eg/staff/share/holdings.service'; import {BasketActionsComponent} from './basket-actions.component'; +import {BasketComponent} from './basket/basket.component'; @NgModule({ declarations: [ @@ -28,7 +29,8 @@ import {BasketActionsComponent} from './basket-actions.component'; ResultPaginationComponent, RecordPaginationComponent, RecordActionsComponent, - BasketActionsComponent + BasketActionsComponent, + BasketComponent ], imports: [ StaffCommonModule, diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/routing.module.ts b/Open-ILS/src/eg2/src/app/staff/catalog/routing.module.ts index 0e3c96fd00..d92bcf60a7 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/routing.module.ts +++ b/Open-ILS/src/eg2/src/app/staff/catalog/routing.module.ts @@ -4,6 +4,7 @@ import {CatalogComponent} from './catalog.component'; import {ResultsComponent} from './result/results.component'; import {RecordComponent} from './record/record.component'; import {CatalogResolver} from './resolver.service'; +import {BasketComponent} from './basket/basket.component'; const routes: Routes = [{ path: '', @@ -13,6 +14,9 @@ const routes: Routes = [{ path: 'search', component: ResultsComponent }, { + path: 'basket', + component: BasketComponent + }, { path: 'record/:id', component: RecordComponent }, {