forked from archfirst/angular-patterns
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.controller.js
42 lines (34 loc) · 1.07 KB
/
app.controller.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
(function() {
'use strict';
angular
.module('app')
.controller('AppController', AppController);
AppController.$inject = ['$state', 'routerHelper'];
/* @ngInject */
function AppController($state, routerHelper) {
var vm = this;
var states = routerHelper.getStates();
vm.isActive = isActive;
vm.navRoutes = [];
activate();
function activate() {
getNavRoutes();
}
function getNavRoutes() {
vm.navRoutes = states
.filter(function(r) {
return r.settings && r.settings.nav;
})
.sort(function(r1, r2) {
return r1.settings.nav - r2.settings.nav;
});
}
function isActive(route) {
if (!route.title || !$state.current || !$state.current.title) {
return '';
}
var menuName = route.title;
return $state.current.title.substr(0, menuName.length) === menuName ? 'active' : '';
}
}
})();