-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
84 lines (82 loc) · 2.77 KB
/
app.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
'use strict';
var catsApp = angular.module('catsApp', ['ui.router', 'ui.bootstrap', 'ipCookie', 'angular-growl']);
catsApp.config(function ($stateProvider) {
$stateProvider.
state('list', {
url: "/",
controller: listController,
templateUrl: 'list.html',
data: {
authenticate: true
}
}).
state('filteredList', {
url: "/list/:status",
controller: listController,
templateUrl: 'list.html',
data: {
authenticate: true
}
}).
state('addCat', {
url: "/add",
controller: medicalIntakeController,
templateUrl: 'medical-intake-form.html',
data: {
authenticate: true
}
}).
state('editCat', {
url: "/edit/:catId",
controller: editIntakeController,
templateUrl: 'medical-intake-form.html',
data: {
authenticate: true
},
resolve: {
catQueryResult: function (getOneCat, $stateParams, catState) {
var id = $stateParams.catId;
return getOneCat.getData(id, catState);
}
}
}).
state('login', {
url: "/login",
controller: loginController,
templateUrl: 'login.html',
data: {
authenticate: false
}
}).
state('logout', {
url: "/logout",
controller: function(catState) {
catState.logout();
},
templateUrl: 'logout.html',
data: {
authenticate: false
}
});
})
.run(function ($rootScope, $state, $stateParams, catState) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
// register listener to watch route changes
$rootScope.$on("$stateChangeStart",
function (event, toState, toParams, fromState, fromParams) {
// TODO: replace with real role/privs like passport
if (toState.data.authenticate &&
(!catState.getState().token || !catState.getState().tokenHash)) {
event.preventDefault();
$state.go("login");
}
});
});
// TODO: doesn't work yet
catsApp.config(["growlProvider", "$httpProvider", function(growlProvider, $httpProvider) {
growlProvider.messagesKey("ret.data.messages.recordMessages");
growlProvider.messageTextKey("messageText");
// growlProvider.messageSeverityKey("severity-level");
$httpProvider.interceptors.push(growlProvider.serverMessagesInterceptor);
}]);