diff --git a/awx/ui/static/img/help/groups001.png b/awx/ui/static/img/help/groups001.png
index 9d202cbcac..72e91d6eea 100644
Binary files a/awx/ui/static/img/help/groups001.png and b/awx/ui/static/img/help/groups001.png differ
diff --git a/awx/ui/static/img/help/groups007.png b/awx/ui/static/img/help/groups007.png
new file mode 100644
index 0000000000..3fbc3f799d
Binary files /dev/null and b/awx/ui/static/img/help/groups007.png differ
diff --git a/awx/ui/static/js/help/InventoryGroups.js b/awx/ui/static/js/help/InventoryGroups.js
index 29d3e030b2..f7874b6cb7 100644
--- a/awx/ui/static/js/help/InventoryGroups.js
+++ b/awx/ui/static/js/help/InventoryGroups.js
@@ -16,37 +16,50 @@ angular.module('InventoryGroupsHelpDefinition', [])
step1: {
intro: 'Start by creating a group:',
img: { src: 'groups001.png', maxWidth: 338 , maxHeight: 222 },
- box: "Click the button to add a new group to the inventory.",
+ box: "Click on the groups list (the left side of the page) to add a new group.",
autoOffNotice: true,
height: 500
},
step2: {
+ intro: ' ',
img: { src: 'groups002.png', maxWidth: 443, maxHeight: 251 },
box: "Provide a name, description and any variables.",
- height: 460
+ height: 500
},
step3: {
+ intro: ' ',
img: { src: 'groups003.png', maxWidth: 412, maxHeight: 215 },
- box: "If this a cloud inventory, choose a Source.",
- height: 460
+ box: "If this is a cloud inventory, choose a Source and provide credentials.",
+ height: 500
},
step4: {
+ intro: ' ',
img: { src: 'groups004.png', maxWidth: 261, maxHeight: 221 },
box: "For a cloud inventory, start the sync process by clicking .",
- height: 460
+ height: 500
},
step5: {
- intro: "Create subgroups by first clicking a group name to select it.",
+ intro: "Groups can have subgroups:",
img: { src: 'groups005.png', maxWidth: 430, maxHeight: 206 },
- box: "With a group selected, click the to create the new subgroup.",
+ box: "
First, select a group. Then click to create a new group. The new group " +
+ "will be added to the selected group.
",
height: 500
},
step6: {
- intro: ' ',
+ intro: 'Copy or move groups:',
img: { src: 'groups006.png', maxWidth: 263, maxHeight: 211 },
- box: "Copy or move a group by dragging and dropping the group name.",
- height: 460
- }
- }
+ box: "Copy or move a group by dragging and dropping its name onto another group name. A dialog will appear asking " +
+ "if the group should be coppied or moved.
",
+ height: 500
+ },
+ step7: {
+ intro: 'Next, add hosts:',
+ img: { src: 'groups007.png', maxWidth: 466, maxHeight: 178 },
+ box: "First, select a Group. " +
+ "Then click on the hosts list (the right side of the page) to create a host. " +
+ "The new host will be part of the selected group.
Note hosts cannot be added to the All Hosts group.
",
+ height: 500
+ }
+ }
}
});
diff --git a/awx/ui/static/lib/ansible/Utilities.js b/awx/ui/static/lib/ansible/Utilities.js
index 02849cad4f..83c5d9c00d 100644
--- a/awx/ui/static/lib/ansible/Utilities.js
+++ b/awx/ui/static/lib/ansible/Utilities.js
@@ -313,9 +313,10 @@ angular.module('Utilities',['RestServices', 'Utilities'])
closeOnEscape: true,
show: 500,
hide: 500,
- close: function() { $('#help-modal').empty(); }
+ close: function() { $('#help-modal').empty(); },
+ focus: function() { $('.ui-dialog-buttonset button').blur(); }
});
- $('.ui-dialog-buttonset button').attr({ 'class': 'btn btn-primary' });
+ $('.ui-dialog-buttonset button').attr({ 'class': 'btn btn-primary' }).blur();
$('.ui-dialog[aria-describedby="help-modal"]').find('.ui-dialog-titlebar button')
.empty().attr({ 'class': 'close' }).text('x');
}
@@ -335,13 +336,15 @@ angular.module('Utilities',['RestServices', 'Utilities'])
closeOnEscape: true,
show: 500,
hide: 500,
- close: function() { $('#help-modal').empty(); }
+ close: function() { $('#help-modal').empty(); },
+ focus: function() { $('.ui-dialog-buttonset button').blur(); }
});
- $('.ui-dialog-buttonset button').attr({ 'class': 'btn btn-primary' });
+ $('.ui-dialog-buttonset button').attr({ 'class': 'btn btn-primary' }).blur();
$('.ui-dialog[aria-describedby="help-modal"]').find('.ui-dialog-titlebar button')
.empty().attr({ 'class': 'close' }).text('x');
}
+ // If user clicks the checkbox, update local storage
$('#auto-off-checkbox').click(function() {
if ($('input[name="auto-off-checkbox"]:checked').length) {
Store('inventoryAutoHelp','off');
diff --git a/awx/ui/static/lib/ansible/directives.js b/awx/ui/static/lib/ansible/directives.js
index 004e5deae3..6d0e3e0f9a 100644
--- a/awx/ui/static/lib/ansible/directives.js
+++ b/awx/ui/static/lib/ansible/directives.js
@@ -298,7 +298,7 @@ angular.module('AWDirectives', ['RestServices', 'Utilities', 'AuthService', 'Job
// remove lingering popover . Seems to be a bug in TB3 RC1
$(this).remove();
});
-
+ $(this).tooltip('hide'); // hide a tooltip, if there is one associated with the element
$(this).popover('toggle');
$('.popover').each(function(index) {