39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
(function () {
|
|
global.dashModule
|
|
.controller('documentsCtrl', ['$scope', documentsController])
|
|
.directive('documents', [documentsDirective]);
|
|
|
|
function documentsDirective() {
|
|
return {
|
|
restrict: 'E',
|
|
templateUrl: 'documents/html/documentsTemplate'
|
|
};
|
|
}
|
|
|
|
function documentsController($scope) {
|
|
$scope.isSubmoduleVisible = isSubmoduleVisible;
|
|
$scope.setSubModule = setSubModule;
|
|
$scope.subModule = global.getParameterByName('subModule') || 'documentsView';
|
|
addUrlListener();
|
|
|
|
function addUrlListener() {
|
|
window.addEventListener('popstate', function (e) {
|
|
$scope.$evalAsync($scope => {
|
|
$scope.subModule = e.state ? e.state.subModule : 'documentsView';
|
|
});
|
|
}, 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;
|
|
}
|
|
}
|
|
})();
|