mirror of
https://github.com/ansible/awx.git
synced 2026-05-13 12:27:37 -02:30
potential solution for extending $stateProvider
and modularizing states
This commit is contained in:
@@ -70,6 +70,7 @@ import './job-templates/main';
|
|||||||
import './shared/features/main';
|
import './shared/features/main';
|
||||||
import './login/authenticationServices/pendo/ng-pendo';
|
import './login/authenticationServices/pendo/ng-pendo';
|
||||||
import footer from './footer/main';
|
import footer from './footer/main';
|
||||||
|
import uiRouterHelper from './shared/uiRouterHelper/main';
|
||||||
|
|
||||||
/*#if DEBUG#*/
|
/*#if DEBUG#*/
|
||||||
import {__deferLoadIfEnabled} from './debug';
|
import {__deferLoadIfEnabled} from './debug';
|
||||||
@@ -187,7 +188,8 @@ var tower = angular.module('Tower', [
|
|||||||
'longDateFilter',
|
'longDateFilter',
|
||||||
'pendolytics',
|
'pendolytics',
|
||||||
'ui.router',
|
'ui.router',
|
||||||
'ncy-angular-breadcrumb'
|
'ncy-angular-breadcrumb',
|
||||||
|
uiRouterHelper.name
|
||||||
])
|
])
|
||||||
|
|
||||||
.constant('AngularScheduler.partials', urlPrefix + 'lib/angular-scheduler/lib/')
|
.constant('AngularScheduler.partials', urlPrefix + 'lib/angular-scheduler/lib/')
|
||||||
@@ -204,9 +206,52 @@ var tower = angular.module('Tower', [
|
|||||||
templateUrl: urlPrefix + 'partials/breadcrumb.html'
|
templateUrl: urlPrefix + 'partials/breadcrumb.html'
|
||||||
});
|
});
|
||||||
|
|
||||||
$urlRouterProvider.otherwise("/home");
|
// $urlRouterProvider.otherwise("/home");
|
||||||
|
$urlRouterProvider.otherwise(function($injector, $location){
|
||||||
|
var $state = $injector.get("$state");
|
||||||
|
$state.go('dashboard');
|
||||||
|
});
|
||||||
|
|
||||||
$stateProvider.
|
$stateProvider.
|
||||||
|
state('dashboard', {
|
||||||
|
url: '/home',
|
||||||
|
templateUrl: urlPrefix + 'partials/home.html',
|
||||||
|
controller: Home,
|
||||||
|
ncyBreadcrumb: {
|
||||||
|
label: "DASHBOARD"
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
graphData: ['$q', 'jobStatusGraphData', 'FeaturesService', function($q, jobStatusGraphData, FeaturesService) {
|
||||||
|
return $q.all({
|
||||||
|
jobStatus: jobStatusGraphData.get("month", "all"),
|
||||||
|
features: FeaturesService.get()
|
||||||
|
});
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}).
|
||||||
|
|
||||||
|
state('dashboardGroups', {
|
||||||
|
url: '/home/groups',
|
||||||
|
templateUrl: urlPrefix + 'partials/subhome.html',
|
||||||
|
controller: HomeGroups,
|
||||||
|
resolve: {
|
||||||
|
features: ['FeaturesService', function(FeaturesService) {
|
||||||
|
return FeaturesService.get();
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}).
|
||||||
|
|
||||||
|
state('dashboardHosts', {
|
||||||
|
url: '/home/hosts?has_active_failures',
|
||||||
|
templateUrl: urlPrefix + 'partials/subhome.html',
|
||||||
|
controller: HomeHosts,
|
||||||
|
resolve: {
|
||||||
|
features: ['FeaturesService', function(FeaturesService) {
|
||||||
|
return FeaturesService.get();
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}).
|
||||||
|
|
||||||
state('jobs', {
|
state('jobs', {
|
||||||
url: '/jobs',
|
url: '/jobs',
|
||||||
templateUrl: urlPrefix + 'partials/jobs.html',
|
templateUrl: urlPrefix + 'partials/jobs.html',
|
||||||
@@ -775,45 +820,6 @@ var tower = angular.module('Tower', [
|
|||||||
}
|
}
|
||||||
}).
|
}).
|
||||||
|
|
||||||
state('dashboard', {
|
|
||||||
url: '/home',
|
|
||||||
templateUrl: urlPrefix + 'partials/home.html',
|
|
||||||
controller: Home,
|
|
||||||
ncyBreadcrumb: {
|
|
||||||
label: "DASHBOARD"
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
graphData: ['$q', 'jobStatusGraphData', 'FeaturesService', function($q, jobStatusGraphData, FeaturesService) {
|
|
||||||
return $q.all({
|
|
||||||
jobStatus: jobStatusGraphData.get("month", "all"),
|
|
||||||
features: FeaturesService.get()
|
|
||||||
});
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
}).
|
|
||||||
|
|
||||||
state('dashboardGroups', {
|
|
||||||
url: '/home/groups',
|
|
||||||
templateUrl: urlPrefix + 'partials/subhome.html',
|
|
||||||
controller: HomeGroups,
|
|
||||||
resolve: {
|
|
||||||
features: ['FeaturesService', function(FeaturesService) {
|
|
||||||
return FeaturesService.get();
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
}).
|
|
||||||
|
|
||||||
state('dashboardHosts', {
|
|
||||||
url: '/home/hosts?has_active_failures',
|
|
||||||
templateUrl: urlPrefix + 'partials/subhome.html',
|
|
||||||
controller: HomeHosts,
|
|
||||||
resolve: {
|
|
||||||
features: ['FeaturesService', function(FeaturesService) {
|
|
||||||
return FeaturesService.get();
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
}).
|
|
||||||
|
|
||||||
state('license', {
|
state('license', {
|
||||||
url: '/license',
|
url: '/license',
|
||||||
templateUrl: urlPrefix + 'partials/license.html',
|
templateUrl: urlPrefix + 'partials/license.html',
|
||||||
|
|||||||
@@ -12,11 +12,13 @@ import logoutRoute from './logout.route';
|
|||||||
|
|
||||||
export default
|
export default
|
||||||
angular.module('login', [authentication.name, loginModal.name])
|
angular.module('login', [authentication.name, loginModal.name])
|
||||||
.config(['$routeProvider', function($routeProvider) {
|
.run(['$stateExtender', function($stateExtender) {
|
||||||
var url = loginRoute.url;
|
$stateExtender.addState(loginRoute);
|
||||||
delete loginRoute.route;
|
$stateExtender.addState(logoutRoute);
|
||||||
$routeProvider.when(url, loginRoute);
|
// var url = loginRoute.url;
|
||||||
url = logoutRoute.route;
|
// delete loginRoute.route;
|
||||||
delete logoutRoute.route;
|
// $routeProvider.when(url, loginRoute);
|
||||||
$routeProvider.when(url, logoutRoute);
|
// url = logoutRoute.route;
|
||||||
|
// delete logoutRoute.route;
|
||||||
|
// $routeProvider.when(url, logoutRoute);
|
||||||
}]);
|
}]);
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ export default
|
|||||||
[ 'AboutAnsibleHelpModal',
|
[ 'AboutAnsibleHelpModal',
|
||||||
icon.name
|
icon.name
|
||||||
])
|
])
|
||||||
.config(['$routeProvider', function($routeProvider) {
|
.run(['$stateExtender', function($stateExtender) {
|
||||||
var url = route.route;
|
// var// $stateProvider = $injector.get("$state"),
|
||||||
delete route.route;
|
// state = route.name;
|
||||||
$routeProvider.when(url, route);
|
// delete route.name;
|
||||||
|
|
||||||
|
$stateExtender.addState(route);
|
||||||
}]);
|
}]);
|
||||||
|
|||||||
21
awx/ui/client/src/shared/uiRouterHelper/main.js
Normal file
21
awx/ui/client/src/shared/uiRouterHelper/main.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
export default angular.module('uiRouterHelper',[
|
||||||
|
|
||||||
|
])
|
||||||
|
|
||||||
|
.provider('$stateExtender', function($stateProvider){
|
||||||
|
this.$get = function($state){
|
||||||
|
return {
|
||||||
|
addState: function(state) {
|
||||||
|
$stateProvider.state(state.name , {
|
||||||
|
url: state.route,
|
||||||
|
controller: state.controller,
|
||||||
|
templateUrl: state.templateUrl,
|
||||||
|
resolve: state.resolve
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user