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); } ]);