Coerce numbers for bib IDs in Angular staff catalog
authorBill Erickson <berickxx@gmail.com>
Wed, 27 Mar 2019 16:43:32 +0000 (12:43 -0400)
committerDan Wells <dbw2@calvin.edu>
Thu, 28 Mar 2019 13:51:54 +0000 (09:51 -0400)
Under some circumstances, the search results screen in the new
experimental Angular staff catalog did not display any results (though
it did show the pager, facets, etc.).

This was traced back to the results array attempting to be populated
with ID values of '-1' instead of the real IDs.  Coercing the incoming
IDs to numbers appears to resolve the issue.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Open-ILS/src/eg2/src/app/share/catalog/bib-record.service.ts
Open-ILS/src/eg2/src/app/share/catalog/search-context.ts

index d536c8b..b2058e7 100644 (file)
@@ -33,7 +33,7 @@ export class BibRecordSummary {
     net: NetService;
 
     constructor(record: IdlObject, orgId: number, orgDepth: number) {
-        this.id = record.id();
+        this.id = Number(record.id());
         this.record = record;
         this.orgId = orgId;
         this.orgDepth = orgDepth;
@@ -221,7 +221,7 @@ export class BibRecordService {
         // Reconsider this approach (see also note above about API).
         this.getBibSummary(metabib.master_record(), orgId, orgDepth)
         .subscribe(summary => {
-            summary.metabibId = metabib.id();
+            summary.metabibId = Number(metabib.id());
             summary.metabibRecords =
                 metabib.source_maps().map(m => Number(m.source()));
 
index 7e5f810..f18a8cd 100644 (file)
@@ -276,7 +276,7 @@ export class CatalogSearchContext {
     }
 
     addResultId(id: number, resultIdx: number ): void {
-        this.resultIds[resultIdx + this.pager.offset] = id;
+        this.resultIds[resultIdx + this.pager.offset] = Number(id);
     }
 
     // Return the record at the requested index.