From 6295efd3309166aaf8cb7c96fc63d2002f33f861 Mon Sep 17 00:00:00 2001 From: chouseknecht Date: Mon, 22 Jul 2013 18:42:33 -0400 Subject: [PATCH] Fixed pop-help directive so clicking on a help icon or button closes all other help windows. Prior to this help windows would remain open. Clicking on multiple help icons/buttons left help windows allover the screen, especially on Job Template page. --- awx/ui/static/js/forms/JobTemplates.js | 2 +- awx/ui/static/js/lists/Groups.js | 4 +++- awx/ui/static/js/lists/Hosts.js | 3 ++- awx/ui/static/js/lists/JobHosts.js | 3 ++- awx/ui/static/lib/ansible/directives.js | 13 ++++++++++++- awx/ui/static/lib/ansible/form-generator.js | 16 ++++++++-------- awx/ui/static/lib/ansible/generator-helpers.js | 4 ++-- awx/ui/static/lib/ansible/list-generator.js | 2 ++ 8 files changed, 32 insertions(+), 15 deletions(-) diff --git a/awx/ui/static/js/forms/JobTemplates.js b/awx/ui/static/js/forms/JobTemplates.js index 6cd68fd132..80f28e0030 100644 --- a/awx/ui/static/js/forms/JobTemplates.js +++ b/awx/ui/static/js/forms/JobTemplates.js @@ -90,7 +90,7 @@ angular.module('JobTemplateFormDefinition', []) type: 'number', integer: true, min: 0, - max: 100, + max: 100000000, slider: true, "class": 'input-mini', "default": '0', diff --git a/awx/ui/static/js/lists/Groups.js b/awx/ui/static/js/lists/Groups.js index cd7ab19686..1ab2d30422 100644 --- a/awx/ui/static/js/lists/Groups.js +++ b/awx/ui/static/js/lists/Groups.js @@ -46,7 +46,9 @@ angular.module('GroupListDefinition', []) mode: 'all', 'class': 'btn-small btn-info', awToolTip: 'Click for help', - dataTitle: 'Adding Groups' + dataTitle: 'Adding Groups', + id: 'group-help-button', + iconSize: 'large' } }, diff --git a/awx/ui/static/js/lists/Hosts.js b/awx/ui/static/js/lists/Hosts.js index a35586fb48..3aaaf98a7d 100644 --- a/awx/ui/static/js/lists/Hosts.js +++ b/awx/ui/static/js/lists/Hosts.js @@ -38,7 +38,8 @@ angular.module('HostListDefinition', []) 'class': 'btn-small btn-info', awToolTip: 'Click for help', dataTitle: 'Selecting Hosts', - iconSize: 'large' + iconSize: 'large', + id: 'host-help-button' } }, diff --git a/awx/ui/static/js/lists/JobHosts.js b/awx/ui/static/js/lists/JobHosts.js index 790d45a463..33534af6c8 100644 --- a/awx/ui/static/js/lists/JobHosts.js +++ b/awx/ui/static/js/lists/JobHosts.js @@ -94,7 +94,8 @@ angular.module('JobHostDefinition', []) 'class': 'btn-info btn-mini btn-help', awToolTip: 'Click for help', dataTitle: 'Job Host Summary', - iconSize: 'large' + iconSize: 'large', + id: 'jobhost-help-button' } }, diff --git a/awx/ui/static/lib/ansible/directives.js b/awx/ui/static/lib/ansible/directives.js index b1dcffc324..075a9448eb 100644 --- a/awx/ui/static/lib/ansible/directives.js +++ b/awx/ui/static/lib/ansible/directives.js @@ -206,7 +206,18 @@ angular.module('AWDirectives', ['RestServices']) var title = (attrs.title != undefined && attrs.title != null) ? attrs.title : 'Help'; var container = (attrs.container !== undefined) ? attrs.container : false; $(element).popover({ placement: placement, delay: 0, title: title, - content: attrs.awPopOver, delay: 0, trigger: 'click', html: true, container: container }); + content: attrs.awPopOver, trigger: 'manual', html: true, container: container }); + $(element).click(function() { + var me = $(this).attr('id'); + $('.help-link, .help-link-white').each( function(index) { + if (me != $(this).attr('id')) { + $(this).popover('hide'); + } + else { + $(this).popover('toggle'); + } + }); + }); $(document).bind('keydown', function(e) { if (e.keyCode === 27) { $(element).popover('hide'); diff --git a/awx/ui/static/lib/ansible/form-generator.js b/awx/ui/static/lib/ansible/form-generator.js index 2c3bf35e60..c9a19ce69c 100644 --- a/awx/ui/static/lib/ansible/form-generator.js +++ b/awx/ui/static/lib/ansible/form-generator.js @@ -236,7 +236,7 @@ angular.module('FormGenerator', ['GeneratorHelpers', 'ngCookies']) html += "' + "\n"; html += "
\n"; @@ -308,7 +308,7 @@ angular.module('FormGenerator', ['GeneratorHelpers', 'ngCookies']) if (field.label !== false) { html += "' + "\n"; html += "
\n"; } @@ -356,7 +356,7 @@ angular.module('FormGenerator', ['GeneratorHelpers', 'ngCookies']) html += (field.ngShow) ? this.attr(field,'ngShow') : ""; html += ">\n"; html += "' + "\n"; html += "
\n"; html += "