index.run.js
2.06 KB
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
/* globals document:true*/
(function() {
'use strict';
angular
.module('dialoga')
.run(runAuth)
.run(runAccessibility)
.run(runBlock);
/** @ngInject */
function runAuth($rootScope, $cookies, USER_ROLES, AUTH_EVENTS, AuthService, $log){
// Listner url/state changes, and check permission
$rootScope.$on('$stateChangeStart', function (event, next) {
if(!next.data || !next.data.authorizedRoles){
$log.debug('public url/state');
return;
}
var authorizedRoles = next.data.authorizedRoles;
if (!AuthService.isAuthorized(authorizedRoles)) {
event.preventDefault();
if (AuthService.isAuthenticated()) {
// user is not allowed
$log.debug('user is not allowed');
$rootScope.$broadcast(AUTH_EVENTS.notAuthorized);
} else {
// user is not logged in
$log.debug('user is not logged in');
$rootScope.$broadcast(AUTH_EVENTS.notAuthenticated);
}
}
});
$log.debug('runAuth end.');
}
/** @ngInject */
function runAccessibility($rootScope, $timeout, $cookies, $log) {
var contrast = $cookies.get('dialoga_contraste') === "true";
adjustContrast(contrast);
function adjustContrast(state){
var bodyEl = angular.element(document).find('body');
angular.element(bodyEl).toggleClass('contraste', !!state);
}
$rootScope.toggleContrast = function () {
contrast = !contrast;
$cookies.put('dialoga_contraste', contrast);
adjustContrast(contrast);
};
$rootScope.focusMainContent = function ($event) {
// prevent skip link from redirecting
if ($event) { $event.preventDefault(); }
var mainContentArea = document.querySelector('[role="main"]');
if ( mainContentArea ) {
$timeout(function(){
mainContentArea.focus();
},90);
}else{
$log.warn('role="main" not found.');
}
};
$log.debug('runAccessibility end.');
}
/** @ngInject */
function runBlock($log) {
$log.debug('runBlock end.');
}
})();