diff --git a/awx/ui/client/lib/components/layout/side-nav-item.directive.js b/awx/ui/client/lib/components/layout/side-nav-item.directive.js
index ab52d74964..d4b11bf716 100644
--- a/awx/ui/client/lib/components/layout/side-nav-item.directive.js
+++ b/awx/ui/client/lib/components/layout/side-nav-item.directive.js
@@ -4,7 +4,7 @@ function atSideNavItemLink (scope, element, attrs, ctrl) {
[scope.navVm, scope.layoutVm] = ctrl;
}
-function AtSideNavItemController ($state, $scope, strings) {
+function AtSideNavItemController ($scope, strings) {
const vm = this || {};
$scope.$watch('layoutVm.currentState', current => {
@@ -21,10 +21,6 @@ function AtSideNavItemController ($state, $scope, strings) {
}
});
- vm.go = () => {
- $state.go($scope.route, {}, { reload: true });
- };
-
vm.tooltip = {
popover: {
text: strings.get(`layout.${$scope.name}`),
@@ -36,7 +32,7 @@ function AtSideNavItemController ($state, $scope, strings) {
};
}
-AtSideNavItemController.$inject = ['$state', '$scope', 'ComponentsStrings'];
+AtSideNavItemController.$inject = ['$scope', 'ComponentsStrings'];
function atSideNavItem () {
return {
diff --git a/awx/ui/client/lib/components/layout/side-nav-item.partial.html b/awx/ui/client/lib/components/layout/side-nav-item.partial.html
index cea8489b5c..ca8ff13812 100644
--- a/awx/ui/client/lib/components/layout/side-nav-item.partial.html
+++ b/awx/ui/client/lib/components/layout/side-nav-item.partial.html
@@ -1,4 +1,4 @@
-
@@ -7,4 +7,4 @@
{{ layoutVm.getString(name) }}
-
+
diff --git a/awx/ui/client/src/credential-types/main.js b/awx/ui/client/src/credential-types/main.js
index 0f2ce9f186..0ba1ccff24 100644
--- a/awx/ui/client/src/credential-types/main.js
+++ b/awx/ui/client/src/credential-types/main.js
@@ -25,10 +25,8 @@ angular.module('credentialTypes', [
function($stateProvider, stateDefinitionsProvider) {
let stateDefinitions = stateDefinitionsProvider.$get();
- $stateProvider.state({
- name: 'credentialTypes.**',
- url: '/credential_type',
- lazyLoad: () => stateDefinitions.generateTree({
+ function generateStateTree() {
+ let credentialTypesTree = stateDefinitions.generateTree({
parent: 'credentialTypes',
modes: ['add', 'edit'],
list: 'CredentialTypesList',
@@ -45,7 +43,22 @@ angular.module('credentialTypes', [
ncyBreadcrumb: {
label: N_('CREDENTIAL TYPES')
}
- })
- });
+ });
+ return Promise.all([
+ credentialTypesTree
+ ]).then((generated) => {
+ return {
+ states: _.reduce(generated, (result, definition) => {
+ return result.concat(definition.states);
+ }, [])
+ };
+ });
+ }
+ let stateTree = {
+ name: 'credentialTypes.**',
+ url: '/credential_types',
+ lazyLoad: () => generateStateTree()
+ };
+ $stateProvider.state(stateTree);
}
]);
diff --git a/awx/ui/client/src/inventory-scripts/main.js b/awx/ui/client/src/inventory-scripts/main.js
index 4854878bca..bc57686d0b 100644
--- a/awx/ui/client/src/inventory-scripts/main.js
+++ b/awx/ui/client/src/inventory-scripts/main.js
@@ -25,10 +25,8 @@ angular.module('inventoryScripts', [
function($stateProvider, stateDefinitionsProvider) {
let stateDefinitions = stateDefinitionsProvider.$get();
- $stateProvider.state({
- name: 'inventoryScripts.**',
- url: '/inventory_script',
- lazyLoad: () => stateDefinitions.generateTree({
+ function generateStateTree() {
+ let inventoryScriptTree = stateDefinitions.generateTree({
parent: 'inventoryScripts',
modes: ['add', 'edit'],
list: 'InventoryScriptsList',
@@ -66,7 +64,23 @@ angular.module('inventoryScripts', [
ncyBreadcrumb: {
label: N_('INVENTORY SCRIPTS')
}
- })
- });
+ });
+
+ return Promise.all([
+ inventoryScriptTree
+ ]).then((generated) => {
+ return {
+ states: _.reduce(generated, (result, definition) => {
+ return result.concat(definition.states);
+ }, [])
+ };
+ });
+ }
+ let stateTree = {
+ name: 'inventoryScripts.**',
+ url: '/inventory_scripts',
+ lazyLoad: () => generateStateTree()
+ };
+ $stateProvider.state(stateTree);
}
]);
diff --git a/awx/ui/test/unit/components/side-nav-item.unit.js b/awx/ui/test/unit/components/side-nav-item.unit.js
index 455fffd4c9..0aa0bb63ef 100644
--- a/awx/ui/test/unit/components/side-nav-item.unit.js
+++ b/awx/ui/test/unit/components/side-nav-item.unit.js
@@ -44,13 +44,6 @@ describe('Components | Side Nav Item', () => {
expect(SideNavItemCtrl.isRoute).toBe(false);
});
- it('go() should call $state.go()', angular.mock.inject((_$state_) => {
- spyOn(_$state_, 'go');
- SideNavItemCtrl.go();
- expect(_$state_.go).toHaveBeenCalled();
- expect(_$state_.go).toHaveBeenCalledWith('dashboard', jasmine.any(Object), jasmine.any(Object));
- }));
-
it('should load name, icon, and route from scope', () => {
expect(SideNavItem.isolateScope().name).toBeDefined();
expect(SideNavItem.isolateScope().iconClass).toBeDefined();