From 9b0329021c137a8f98b682589db1f38d6c5c4108 Mon Sep 17 00:00:00 2001 From: mabashian Date: Thu, 11 Apr 2019 11:12:37 -0400 Subject: [PATCH] Leverages awPopOverWatch to generate popover dynamically on workflow node templates help --- .../src/partials/job-template-details.html | 2 +- awx/ui/client/src/shared/directives.js | 2 +- .../forms/workflow-node-form.controller.js | 34 ++++++++++++++----- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/awx/ui/client/src/partials/job-template-details.html b/awx/ui/client/src/partials/job-template-details.html index a494140fe5..eea30da523 100644 --- a/awx/ui/client/src/partials/job-template-details.html +++ b/awx/ui/client/src/partials/job-template-details.html @@ -1,4 +1,4 @@
- ?
diff --git a/awx/ui/client/src/shared/directives.js b/awx/ui/client/src/shared/directives.js index fe089b793f..9f46002506 100644 --- a/awx/ui/client/src/shared/directives.js +++ b/awx/ui/client/src/shared/directives.js @@ -886,7 +886,7 @@ function(SettingsUtils, i18n, $rootScope) { delay: 0, title: title, content: function() { - return scope[attrs.awPopOverWatch]; + return _.get(scope, attrs.awPopOverWatch); }, trigger: trigger, html: true, diff --git a/awx/ui/client/src/templates/workflows/workflow-maker/forms/workflow-node-form.controller.js b/awx/ui/client/src/templates/workflows/workflow-maker/forms/workflow-node-form.controller.js index fc4fa837b1..a35f0e9531 100644 --- a/awx/ui/client/src/templates/workflows/workflow-maker/forms/workflow-node-form.controller.js +++ b/awx/ui/client/src/templates/workflows/workflow-maker/forms/workflow-node-form.controller.js @@ -5,11 +5,11 @@ *************************************************/ export default ['$scope', 'TemplatesService', 'JobTemplateModel', 'PromptService', 'Rest', '$q', - 'TemplatesStrings', 'CreateSelect2', 'Empty', 'generateList', 'QuerySet', + 'TemplatesStrings', 'CreateSelect2', 'Empty', 'QuerySet', '$filter', 'GetBasePath', 'TemplateList', 'ProjectList', 'InventorySourcesList', 'ProcessErrors', 'i18n', 'ParseTypeChange', 'WorkflowJobTemplateModel', function($scope, TemplatesService, JobTemplate, PromptService, Rest, $q, - TemplatesStrings, CreateSelect2, Empty, generateList, qs, + TemplatesStrings, CreateSelect2, Empty, qs, $filter, GetBasePath, TemplateList, ProjectList, InventorySourcesList, ProcessErrors, i18n, ParseTypeChange, WorkflowJobTemplate ) { @@ -657,25 +657,43 @@ export default ['$scope', 'TemplatesService', 'JobTemplateModel', 'PromptService }; const formatPopOverDetails = (model) => { - model.popOverDetails = {}; - model.popOverDetails.playbook = model.playbook || i18n._('NONE SELECTED'); + const popOverDetails = {}; + popOverDetails.playbook = model.playbook || i18n._('NONE SELECTED'); Object.keys(model.summary_fields).forEach(field => { if (field === 'project') { - model.popOverDetails.project = model.summary_fields[field].name || i18n._('NONE SELECTED'); + popOverDetails.project = model.summary_fields[field].name || i18n._('NONE SELECTED'); } if (field === 'inventory') { - model.popOverDetails.inventory = model.summary_fields[field].name || i18n._('NONE SELECTED'); + popOverDetails.inventory = model.summary_fields[field].name || i18n._('NONE SELECTED'); } if (field === 'credentials') { if (model.summary_fields[field].length <= 0) { - model.popOverDetails.credentials = i18n._('NONE SELECTED'); + popOverDetails.credentials = i18n._('NONE SELECTED'); } else { const credentialNames = model.summary_fields[field].map(({name}) => name); - model.popOverDetails.credentials = credentialNames.join('
'); + popOverDetails.credentials = credentialNames.join('
'); } } }); + model.popOver = ` +
+
${i18n._('INVENTORY')}
+
${$filter('sanitize')(popOverDetails.inventory)}
+
+
+
${i18n._('PROJECT')}
+
${$filter('sanitize')(popOverDetails.project)}
+
+
+
${i18n._('PLAYBOOK')}
+
${$filter('sanitize')(popOverDetails.playbook)}
+
+
+
${i18n._('CREDENTIAL')}
+
${$filter('sanitize')(popOverDetails.credentials)}
+
+ `; }; $scope.openPromptModal = () => {