39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
(function () {
|
|
global.dashModule
|
|
.directive('users', usersDirective)
|
|
.controller('usersCtrl', ['$scope', usersCtrl]);
|
|
|
|
function usersDirective() {
|
|
return {
|
|
restrict: 'E',
|
|
templateUrl: 'users/html/UsersTemplate'
|
|
};
|
|
}
|
|
|
|
function usersCtrl($scope) {
|
|
$scope.subModule = global.getParameterByName('subModule') || 'users';
|
|
$scope.setSubModule = setSubModule;
|
|
$scope.isSubmoduleVisible = isSubmoduleVisible;
|
|
addUrlListener();
|
|
|
|
function addUrlListener() {
|
|
window.addEventListener('popstate', function (e) {
|
|
$scope.$evalAsync($scope => {
|
|
$scope.subModule = e.state ? e.state.subModule : 'users';
|
|
});
|
|
}, false);
|
|
}
|
|
|
|
function setSubModule($event) {
|
|
$scope.subModule = $event.currentTarget.attributes.subModule.value;
|
|
history.pushState({
|
|
subModule: $scope.subModule
|
|
}, null, '?subModule=' + $scope.subModule);
|
|
}
|
|
|
|
function isSubmoduleVisible(subModule) {
|
|
return subModule === $scope.subModule;
|
|
}
|
|
}
|
|
})();
|