'use strict';
var project = angular.module('app.project', []);
var app = angular.module('app.main', ['ui.router', 'app.project']);
app.run(runBlock);
function runBlock() {
console.log('custom initial configuration');
}
<!DOCTYPE html>
<html ng-app="app.main">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.5.x" src="https://code.angularjs.org/1.5.8/angular.js" data-semver="1.5.8"></script>
<script data-require="ui-router@*" data-semver="1.0.0-beta.2" src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.0-beta.2/angular-ui-router.js"></script>
<script src="app.js"></script>
<script src="auth.js"></script>
<script src="projects.directive.js"></script>
<script src="projects.routing.js"></script>
</head>
<body>
<ui-view>
<a ui-sref="default">default</a><br>
<a ui-sref="projects">projects</a>
</ui-view>
</body>
</html>
/* Put your css in here */
'use strict';
angular.module('app.main')
.service('AuthProvider', function AuthProvider() {
this.$get = ['$http', function factory($http) {
return new AuthService($http);
}];
}).constant('USER_ROLES', {
all: '*',
admin: '1',
super_admin: '2',
editor: '3',
guest: '0'
});
AuthService.$inject = ['$http'];
function AuthService($http) {
this.login = function() {
console.log('login');
}
this.logout = function() {
console.log('logout');
}
this.isAuthenticated = function() {
return true;
}
}
'use strict';
angular.module('app.project')
.config(config);
// This throws error
config.$inject = ['$stateProvider', 'Auth'];
// This works, but Auth is undefined.
// config.$inject = ['$stateProvider'];
function config($stateProvider, Auth) {
console.log(Auth);
$stateProvider
.state('default', {
url: '/',
template: `<div>default page. </div>
<a ui-sref="default">default</a><br>
<a ui-sref="projects">projects</a>`,
data: {
authorizedRoles: ['admin', 'editor']
}
})
.state('projects', {
url: '/projects',
template: `<ul><li>Project #1</li><li>Project #2</li></ul>
<a ui-sref="default">default</a><br>
<a ui-sref="projects">projects</a>`,
data: {
authorizedRoles: ['admin', 'editor']
}
});
}