, , , , .
angular, , , - ui-router. ui-router . (... , , , , )
, :
( , , , , )
app (index.html, app.js)/admin (admin.view.html, admin.controller.js)/manager (manager.view.html, manager.controller.js)/employee (employee.view.html, employee.controller.js)/task_type/id (employeeTask.view.html, employeeTask.controller.js)
, . angular, angular-permission , , ui-router, .
$stateProvider
.state('app', {
abstract: true,
url: '/foo',
template: '<ui-view/>'
})
.state('app.admin', {
url: '/admin',
data: {
permissions: {
only: ['isAdmin']
}
}
})
.state('app.manager', {
url: '/manager',
data: {
permissions: {
only: ['isAdmin', 'isManager']
}
}
})
.state('app.employee', {
url: '/employee',
data: {
permissions: {
only: ['isAdmin', 'isManager', 'isEmployee']
}
}
})
.state('app.employee.task', {
url: '/:task/:id',
data: {
permissions: {
only: ['isAdmin', 'isManager', 'isEmployee']
}
},
controller: function($scope, $stateParams){
$scope.taskType = $scope.contacts[$stateParams.task];
$scope.taskId = $scope.contacts[$stateParams.id];
}
})
, , . , app.employee.task , . ( , html )