diff --git a/awx/ui/client/src/credential-types/credential-types.form.js b/awx/ui/client/src/credential-types/credential-types.form.js index f1fba41b84..417abbb926 100644 --- a/awx/ui/client/src/credential-types/credential-types.form.js +++ b/awx/ui/client/src/credential-types/credential-types.form.js @@ -72,7 +72,14 @@ export default ['i18n', function(i18n) { default: '---', showParseTypeToggle: true, parseTypeName: 'parseTypeInputs', - awPopOver: '
TODO: input config helper text
', + awPopOver: "Enter inputs using either JSON or YAML syntax. Use the " + + "radio button to toggle between the two.
" + + "JSON:{\n" + + "YAML:
\"somevar\": \"somevalue\",
\"password\": \"magic\"
}
---\n" + + '
somevar: somevalue
password: magic
View JSON examples at www.json.org
' + + 'View YAML examples at docs.ansible.com
', dataTitle: i18n._('Input Configuration'), dataPlacement: 'right', dataContainer: "body", @@ -86,7 +93,14 @@ export default ['i18n', function(i18n) { default: '---', showParseTypeToggle: true, parseTypeName: 'parseTypeInjectors', - awPopOver: 'TODO: injector config helper text
', + awPopOver: "Enter injectors using either JSON or YAML syntax. Use the " + + "radio button to toggle between the two.
" + + "JSON:{\n" + + "YAML:
\"somevar\": \"somevalue\",
\"password\": \"magic\"
}
---\n" + + '
somevar: somevalue
password: magic
View JSON examples at www.json.org
' + + 'View YAML examples at docs.ansible.com
', dataTitle: i18n._('Injector Configuration'), dataPlacement: 'right', dataContainer: "body", diff --git a/awx/ui/client/src/credential-types/credential-types.list.js b/awx/ui/client/src/credential-types/credential-types.list.js index 4e9191876b..a32be91ece 100644 --- a/awx/ui/client/src/credential-types/credential-types.list.js +++ b/awx/ui/client/src/credential-types/credential-types.list.js @@ -20,13 +20,9 @@ export default ['i18n', function(i18n){ key: true, label: i18n._('Name'), columnClass: 'col-md-3 col-sm-9 col-xs-9', - modalColumnClass: 'col-md-8' - }, - // TODO: update to tooltip on name - description: { - label: i18n._('Description'), - excludeModal: true, - columnClass: 'col-md-4 hidden-sm hidden-xs' + modalColumnClass: 'col-md-8', + awToolTip: '{{credential_type.description}}', + dataPlacement: 'top' }, kind: { label: i18n._('Type'), diff --git a/awx/ui/client/src/credential-types/list/list.controller.js b/awx/ui/client/src/credential-types/list/list.controller.js index 0b16ca23d5..54ff04c397 100644 --- a/awx/ui/client/src/credential-types/list/list.controller.js +++ b/awx/ui/client/src/credential-types/list/list.controller.js @@ -91,24 +91,24 @@ export default ['$rootScope', '$scope', 'Wait', 'CredentialTypesList', // iterate over the list and add fields like type label, after the // OPTIONS request returns, or the list is sorted/paginated/searched function optionsRequestDataProcessing(){ - if($scope.list.name === 'credential_types'){ - if ($scope[list.name] !== undefined) { - $scope[list.name].forEach(function(item, item_idx) { - var itm = $scope[list.name][item_idx]; - - // Set the item type label - if (list.fields.kind && $scope.options && - $scope.options.kind) { - $scope.options.kind.choices.forEach(function(choice) { + $scope.optionsDefer.promise.then(function(options) { + if($scope.list.name === 'credential_types'){ + if ($scope[list.name] !== undefined) { + $scope[list.name].forEach(function(item, item_idx) { + var itm = $scope[list.name][item_idx]; + // Set the item type label + if (list.fields.kind && options && options.actions && options.actions.GET && options.actions.GET.kind) { + options.actions.GET.kind.choices.forEach(function(choice) { if (choice[0] === item.kind) { itm.kind_label = choice[1]; } }); - } + } - }); + }); + } } - } + }); } $scope.$watchCollection(`${$scope.list.name}`, function() { diff --git a/awx/ui/client/src/shared/Utilities.js b/awx/ui/client/src/shared/Utilities.js index de5dad33a3..5a49d1e8ff 100644 --- a/awx/ui/client/src/shared/Utilities.js +++ b/awx/ui/client/src/shared/Utilities.js @@ -721,7 +721,7 @@ angular.module('Utilities', ['RestServices', 'Utilities']) variable = params.variable, callback = params.callback, choice_name = params.choice_name, - options = params.options + options = params.options; if (scope[variable]) { scope[variable].length = 0; @@ -756,7 +756,7 @@ angular.module('Utilities', ['RestServices', 'Utilities']) if (callback) { scope.$emit(callback); } - } + }; if (!options) { Rest.setUrl(url); diff --git a/awx/ui/client/src/shared/form-generator.js b/awx/ui/client/src/shared/form-generator.js index 0ce4e72b69..63d813ff12 100644 --- a/awx/ui/client/src/shared/form-generator.js +++ b/awx/ui/client/src/shared/form-generator.js @@ -675,7 +675,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat -