LPLP1835982 Holds grid user barcode text generator; handle null
authorBill Erickson <berickxx@gmail.com>
Fri, 3 Jan 2020 20:41:03 +0000 (15:41 -0500)
committerJane Sandberg <sandbej@linnbenton.edu>
Sat, 18 Jan 2020 18:40:03 +0000 (10:40 -0800)
Adds a new text generator for the patron barcode template in the staff
catalog holds grid.  Also adds a name field to the <eg-grid-column/>
to support the text generator.

Teach the cell text generator internals to translate undefined and null
values to '' so generator authors don't have to.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Open-ILS/src/eg2/src/app/share/grid/grid.ts
Open-ILS/src/eg2/src/app/staff/share/holds/grid.component.html
Open-ILS/src/eg2/src/app/staff/share/holds/grid.component.ts

index 59baa63..e4f6715 100644 (file)
@@ -822,7 +822,8 @@ export class GridContext {
 
     getColumnTextContent(row: any, col: GridColumn): string {
         if (this.columnHasTextGenerator(col)) {
-            return this.cellTextGenerator[col.name](row);
+            const str = this.cellTextGenerator[col.name](row);
+            return (str === null || str === undefined)  ? '' : str;
         } else {
             if (col.cellTemplate) {
                 return ''; // avoid 'undefined' values
index b3c7705..7e44d6a 100644 (file)
           {{hold.ucard_barcode}}
         </a>
       </ng-template>
-      <eg-grid-column i18n-label label="Patron Barcode" 
+      <eg-grid-column i18n-label label="Patron Barcode" name="patron_barcode"
         [cellTemplate]="userBarcodeTmpl" [hidden]="true"></eg-grid-column>
 
       <eg-grid-column i18n-label label="Patron alias" path="usr_alias"></eg-grid-column>
index 666a4f9..ff25149 100644 (file)
@@ -148,7 +148,8 @@ export class HoldsGridComponent implements OnInit {
         // Text-ify function for cells that use display templates.
         this.cellTextGenerator = {
             title: row => row.title,
-            cp_barcode: row => (row.cp_barcode == null) ? '' : row.cp_barcode
+            cp_barcode: row => (row.cp_barcode == null) ? '' : row.cp_barcode,
+            patron_barcode: row => row.ucard_barcode
         };
     }