-<!doctype html>
-<html ng-app="egHome" lang="[% ctx.locale %]">
- <head>
- <title>[% l('Evergreen Staff') %]</title>
- <base href="/eg/staff/">
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <!-- TODO: remote hosted CSS should be hosted locally instead -->
- <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />
- </head>
- <body>
- [%
- # load the navbar server-side to speed up initial page display
- INCLUDE "staff/t_navbar.tt2";
- %]
+[%
+ WRAPPER "staff/t_base.tt2";
+ ctx.page_title = l("Home");
+ ctx.page_app = "egHome";
+%]
- <!-- angular route-specific view -->
- <div ng-view></div>
- </body>
- [% INCLUDE "staff/t_base_js.tt2" %]
+[% BLOCK APP_JS %]
+<script src="[% ctx.media_prefix %]/js/ui/default/staff/app.js"></script>
+[% END %]
+
+<div ng-view></div>
+
+[% END %]
- <!-- angular-driven controllers -->
- <script src="[% ctx.media_prefix %]/js/ui/default/staff/app.js"></script>
- <script src="[% ctx.media_prefix %]/js/ui/default/staff/navbar.js"></script>
-</html>
+<!--
+ main navigation bar
+
+ note the use of target="_self" for navigation links.
+ this tells angular to treat the href as a new page
+ and not an intra-app route. This is necessary when
+ moving between applications.
+-->
+
<div class="navbar navbar-default navbar-static-top" ng-controller="NavCtrl">
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
+
+ <!-- circulation -->
<li class="dropdown">
<a href="javascript:;" class="dropdown-toggle"
data-toggle="dropdown">[% l('Circulation') %]<b class="caret"></b></a>
<ul class="dropdown-menu">
- <!-- note the use of target="_self" - this tells angular to
- treat the href has a new page and not a intra-page route -->
- <li><a href="./circ/patron/search" target="_self">[% l('Patron Search') %]</a></li>
- <li><a href="javascript:;">Stuff 2</a></li>
- <li><a href="javascript:;">Stuff 3</a></li>
+ <li><a href="./circ/patron/search"
+ target="_self">[% l('Patron Search') %]</a></li>
<li class="divider"></li>
- <li class="dropdown-header">A Sub Menu</li>
- <li><a href="javascript:;">Other Stuff</a></li>
+ <li class="dropdown-header">Sub Menu Test</li>
+ <li><a href="javascript:;">Test Item</a></li>
</ul>
</li>
+
+ <!-- cataloging -->
<li class="dropdown">
<a href="javascript:;" class="dropdown-toggle"
- data-toggle="dropdown">Thing 2<b class="caret"></b></a>
+ data-toggle="dropdown">[% l('Cataloging') %]<b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="javascript:;">Stuff 1</a></li>
- <li><a href="javascript:;">Stuff 2</a></li>
- <li><a href="javascript:;">Stuff 3</a></li>
- <li><a href="javascript:;">...</a></li>
- <li class="divider"></li>
- <li class="dropdown-header">A Sub Menu</li>
- <li><a href="javascript:;">Other Stuff</a></li>
+ <li><a href="./cat/bucket/record/view"
+ target="_self">[% l('Record Buckets') %]</a></li>
</ul>
</li>
</ul>
+
+ <!-- entries along the right side of the navbar -->
<ul class="nav navbar-nav navbar-right">
- <!-- ng-cloak tells angular to hide unresolved page variables.
- When a value is populated, it will un-hide -->
- <li><a ng-cloak>{{username}}</a></li>
- <li><a href="./login" ng-click="logout()" target="_self">[% l('Log Out') %]</a></li>
+ <li><a ng-cloak ng-show="username" href="./" target="_self"
+ ng-init="workstation = '[% l('<none>') %]'">
+ [% l('{{username}} @ {{workstation}}') %]
+ </a></li>
+ <li><a href="./login" ng-click="logout()"
+ target="_self">[% l('Log Out') %]</a></li>
</ul>
</div>
</div>
/**
* Free-floating controller which can be used by any app.
*/
-function NavCtrl($scope, egStartup, egAuth) {
+function NavCtrl($scope, egStartup, egAuth, egEnv) {
$scope.logout = function() {
egAuth.logout();
if (!egAuth.user()) return;
$scope.username = egAuth.user().usrname();
- // TODO: add workstation
+
+ // TODO: move workstation into egAuth
+ if (egEnv.aws) {
+ $scope.workstation =
+ egEnv.aws.map[egAuth.user().wsid()].name();
+ }
}
);
}
// minify-safe dependency injection
-NavCtrl.$inject = ['$scope', 'egStartup', 'egAuth'];
+NavCtrl.$inject = ['$scope', 'egStartup', 'egAuth', 'egEnv'];