walnut_launchpad.html/js/app.js

153 lines
3.6 KiB
JavaScript
Raw Normal View History

2017-08-14 18:58:01 +00:00
var app = angular.module('launchpad', ['oauth3.org', 'ui.router', 'LocalStorageModule']);
2017-08-10 22:33:54 +00:00
var redirectedURL;
2017-08-09 04:23:19 +00:00
app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider', function($stateProvider, $urlRouterProvider, localStorageServiceProvider){
2017-08-09 18:41:43 +00:00
localStorageServiceProvider.setPrefix('launchpad').setStorageType('sessionStorage');
2017-08-09 04:23:19 +00:00
2017-08-09 18:41:43 +00:00
$urlRouterProvider.otherwise('/splash-page');
2017-08-08 06:35:11 +00:00
2017-08-09 18:41:43 +00:00
$stateProvider
2017-08-12 03:49:18 +00:00
.state('splash-page', {
data: { 'requiresLogin': false },
params: {
// 'toState': 'home',
'toParams': {
}
},
url: '/splash-page',
templateUrl: '/templates/splash-page.html',
})
2017-08-09 18:41:43 +00:00
.state('app',{
2017-08-10 22:33:54 +00:00
data: { 'requiresLogin': true },
2017-08-11 21:37:06 +00:00
url: '/',
2017-08-09 18:41:43 +00:00
views: {
'header': {
templateUrl: '/templates/partials/header.html',
controller: 'HomeController',
controllerAs: 'vm'
},
'menu': {
templateUrl: '/templates/partials/menu.html'
},
'content': {
templateUrl: '/templates/home.html'
}
2017-08-11 19:21:35 +00:00
}
2017-08-09 18:41:43 +00:00
})
.state('app.home', {
url: 'home',
views: {
'content@': {
templateUrl: 'templates/home.html',
controller: 'HomeController',
controllerAs: 'vm'
}
}
})
.state('app.bolt', {
url: 'bolt',
views: {
'content@': {
templateUrl: 'templates/bolt.html',
2017-08-11 19:21:35 +00:00
controller: 'BoltController',
controllerAs: 'vm'
2017-08-09 18:41:43 +00:00
}
}
})
.state('app.files', {
url: 'files',
views: {
'content@': {
templateUrl: 'templates/files.html',
controller: 'FilesController'
}
}
})
.state('app.contacts', {
url: 'contacts',
views: {
'content@': {
templateUrl: 'templates/contacts.html',
controller: 'ContactController'
}
}
})
.state('app.contacts.detail', {
url: '/:id',
/*
templateUrl: 'templates/partials/subscriber-detail.html',
controller: 'SubscriberDetailController'
*/
views: {
'detail@app.contacts': {
templateUrl: 'templates/partials/contact-detail.html',
controller: 'ContactDetailController'
}
}
})
.state('app.music', {
url: 'music',
views: {
'content@': {
templateUrl: 'templates/music.html',
controller: 'MusicController'
}
}
})
.state('app.email', {
url: 'email',
views: {
'content@': {
templateUrl: 'templates/email.html',
controller: 'EmailController'
}
}
})
.state('app.website', {
url: 'website',
views: {
'content@': {
templateUrl: 'templates/website.html',
controller: 'WebsiteController'
}
}
})
.state('app.dns', {
url: 'dns',
views: {
'content@': {
templateUrl: 'templates/dns.html',
controller: 'DnsController'
}
}
});
2017-08-10 17:36:59 +00:00
}]);
app.run(['$rootScope', '$state', 'Auth', function($rootScope, $state, Auth) {
2017-08-09 18:41:43 +00:00
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
2017-08-11 19:21:35 +00:00
// console.log('toState', toState);
// console.log('toParams', toParams);
// console.log('fromState', fromState);
// console.log('fromParams', fromParams);
2017-08-09 04:23:19 +00:00
2017-08-10 17:36:59 +00:00
var requiresLogin = toState.data.requiresLogin;
2017-08-10 22:33:54 +00:00
redirectedURL = toState.url;
2017-08-11 19:21:35 +00:00
// console.log("%c" + redirectedURL, "color: yellow; font-size: 72px;");
2017-08-10 22:33:54 +00:00
if (Auth.isLoggedIn()) {
2017-08-11 19:21:35 +00:00
console.log('logged in');
2017-08-10 17:36:59 +00:00
} else {
2017-08-11 19:21:35 +00:00
console.log('logged out');
2017-08-10 17:36:59 +00:00
}
2017-08-10 22:33:54 +00:00
if (requiresLogin && !Auth.isLoggedIn()) {
event.preventDefault();
$state.go('splash-page');
// $state.go('splash-page', { 'toState': toState.name, 'toParams': toParams });
}
2017-08-10 17:36:59 +00:00
});
2017-08-09 04:23:19 +00:00
}]);