LP#1806087 Catalog org settings speed improvement
authorBill Erickson <berickxx@gmail.com>
Thu, 6 Dec 2018 16:25:18 +0000 (11:25 -0500)
committerBill Erickson <berickxx@gmail.com>
Mon, 7 Jan 2019 14:58:44 +0000 (09:58 -0500)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/eg2/src/app/core/server-store.service.ts
Open-ILS/src/eg2/src/app/staff/catalog/resolver.service.ts

index 43415c1..ea2d93d 100644 (file)
@@ -65,7 +65,7 @@ export class ServerStoreService {
 
         const values: any = {};
         keys.forEach(key => {
-            if (this.cache[key]) {
+            if (key in this.cache) {
                 values[key] = this.cache[key];
             }
         });
index 729beea..ba31c98 100644 (file)
@@ -38,22 +38,16 @@ export class CatalogResolver implements Resolve<Promise<any[]>> {
     }
 
     fetchSettings(): Promise<any> {
-        const promises = [];
 
-        promises.push(
-            this.store.getItem('eg.search.search_lib').then(
-                id => this.staffCat.defaultSearchOrg = this.org.get(id)
-            )
-        );
-
-        promises.push(
-            this.store.getItem('eg.search.pref_lib').then(
-                id => this.staffCat.prefOrg = this.org.get(id)
-            )
-        );
-
-        return Promise.all(promises);
+        return this.store.getItemBatch([
+            'eg.search.search_lib', 
+            'eg.search.pref_lib'
+        ]).then(settings => {
+            this.staffCat.defaultSearchOrg = 
+                this.org.get(settings['eg.search.search_lib']);
+            this.staffCat.prefOrg = 
+                this.org.get(settings['eg.search.pref_lib']);
+        })
     }
-
 }