LP1806087 Org setting to enable experimental staff catalog
[Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / nav.component.ts
index c477c11..54bbcbe 100644 (file)
@@ -1,6 +1,7 @@
 import {Component, OnInit, ViewChild} from '@angular/core';
 import {ActivatedRoute, Router} from '@angular/router';
 import {Location} from '@angular/common';
+import {OrgService} from '@eg/core/org.service';
 import {AuthService} from '@eg/core/auth.service';
 import {PcrudService} from '@eg/core/pcrud.service';
 import {LocaleService} from '@eg/core/locale.service';
@@ -18,8 +19,12 @@ export class StaffNavComponent implements OnInit {
     locales: any[];
     currentLocale: any;
 
+    // When active, show a link to the experimental Angular staff catalog
+    showAngularCatalog: boolean;
+
     constructor(
         private router: Router,
+        private org: OrgService,
         private auth: AuthService,
         private pcrud: PcrudService,
         private locale: LocaleService,
@@ -38,6 +43,15 @@ export class StaffNavComponent implements OnInit {
                     l => l.code() === this.locale.currentLocaleCode())[0];
             }
         );
+
+        // NOTE: this can eventually go away.
+        // Avoid attempts to fetch org settings if the user has not yet 
+        // logged in (e.g. this is the login page).
+        if (this.user()) {
+            this.org.settings('ui.staff.angular_catalog.enabled')
+            .then(settings => this.showAngularCatalog = 
+                Boolean(settings['ui.staff.angular_catalog.enabled']));
+        }
     }
 
     user() {