mirror of
https://github.com/ansible/awx.git
synced 2026-03-20 18:37:39 -02:30
Inventory refactor: lists now uniformly set tool tips placement to 'top'. Fixed an ugly scope bug when using modals that call LookupInit. The callbacks inside search were being left in the inventory scope and fired everytime the host view refreshed. Added a cleanup method in search to remove its callbacks. Calling the cleanup method on modal close fixes.
This commit is contained in:
@@ -450,7 +450,7 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
|
|
||||||
var inventory_id = params.inventory_id;
|
var inventory_id = params.inventory_id;
|
||||||
var group_id = (params.group_id !== undefined) ? params.group_id : null;
|
var group_id = (params.group_id !== undefined) ? params.group_id : null;
|
||||||
var inventory_scope = params.scope;
|
var parent_scope = params.scope;
|
||||||
|
|
||||||
// Inject dynamic view
|
// Inject dynamic view
|
||||||
var defaultUrl = (group_id !== null) ? GetBasePath('groups') + group_id + '/children/' :
|
var defaultUrl = (group_id !== null) ? GetBasePath('groups') + group_id + '/children/' :
|
||||||
@@ -460,14 +460,14 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
var scope = generator.inject(form, { mode: 'add', modal: true, related: false, show_modal: false });
|
var scope = generator.inject(form, { mode: 'add', modal: true, related: false, show_modal: false });
|
||||||
var groupCreated = false;
|
var groupCreated = false;
|
||||||
|
|
||||||
|
$('#form-modal .btn-none').removeClass('btn-none').addClass('btn-success');
|
||||||
|
|
||||||
scope.formModalActionLabel = 'Save';
|
scope.formModalActionLabel = 'Save';
|
||||||
scope.formModalCancelShow = true;
|
scope.formModalCancelShow = true;
|
||||||
scope.parseType = 'yaml';
|
scope.parseType = 'yaml';
|
||||||
scope.source = null;
|
scope.source = null;
|
||||||
ParseTypeChange(scope);
|
ParseTypeChange(scope);
|
||||||
|
|
||||||
$('#form-modal .btn-none').removeClass('btn-none').addClass('btn-success');
|
|
||||||
|
|
||||||
generator.reset();
|
generator.reset();
|
||||||
var master={};
|
var master={};
|
||||||
|
|
||||||
@@ -475,24 +475,28 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
scope.removeAddTreeRefreshed();
|
scope.removeAddTreeRefreshed();
|
||||||
}
|
}
|
||||||
scope.removeAddTreeRefreshed = scope.$on('GroupTreeRefreshed', function(e) {
|
scope.removeAddTreeRefreshed = scope.$on('GroupTreeRefreshed', function(e) {
|
||||||
|
$rootScope.formModalHeader = null;
|
||||||
|
$rootScope.formModalCancleShow= null;
|
||||||
|
$rootScope.formModalActionLabel = null;
|
||||||
Wait('stop');
|
Wait('stop');
|
||||||
$('#form-modal').modal('hide');
|
$('#form-modal').modal('hide');
|
||||||
scope.removeAddTreeRefreshed();
|
scope.removeAddTreeRefreshed();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (scope.removeSaveComplete) {
|
if (scope.removeSaveComplete) {
|
||||||
scope.removeSaveComplete();
|
scope.removeSaveComplete();
|
||||||
}
|
}
|
||||||
scope.removeSaveComplete = scope.$on('SaveComplete', function(e, group_id, error) {
|
scope.removeSaveComplete = scope.$on('SaveComplete', function(e, group_id, error) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
|
scope.searchCleanup();
|
||||||
scope.formModalActionDisabled = false;
|
scope.formModalActionDisabled = false;
|
||||||
scope.showGroupHelp = false; //get rid of the Hint
|
scope.showGroupHelp = false; //get rid of the Hint
|
||||||
BuildTree({ scope: inventory_scope, inventory_id: inventory_id, refresh: true, new_group_id: group_id });
|
BuildTree({ scope: parent_scope, inventory_id: inventory_id, refresh: true, new_group_id: group_id });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (scope.removeFormSaveSuccess) {
|
if (scope.removeFormSaveSuccess) {
|
||||||
scope.removeFormSaveSuccess();
|
scope.removeFormSaveSuccess();
|
||||||
}
|
}
|
||||||
scope.removeFormSaveSuccess = scope.$on('formSaveSuccess', function(e, group_id, url) {
|
scope.removeFormSaveSuccess = scope.$on('formSaveSuccess', function(e, group_id, url) {
|
||||||
|
|
||||||
@@ -575,6 +579,12 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Cancel
|
||||||
|
scope.cancelModal = function() {
|
||||||
|
if (scope.searchCleanup) {
|
||||||
|
scope.searchCleanup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Save
|
// Save
|
||||||
scope.formModalAction = function() {
|
scope.formModalAction = function() {
|
||||||
@@ -637,12 +647,6 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cancel
|
|
||||||
scope.formReset = function() {
|
|
||||||
// Defaults
|
|
||||||
generator.reset();
|
|
||||||
};
|
|
||||||
|
|
||||||
var choicesReady = 0;
|
var choicesReady = 0;
|
||||||
|
|
||||||
if (scope.removeChoicesReady) {
|
if (scope.removeChoicesReady) {
|
||||||
@@ -699,7 +703,6 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
var form = GroupForm;
|
var form = GroupForm;
|
||||||
var defaultUrl = GetBasePath('groups') + group_id + '/';
|
var defaultUrl = GetBasePath('groups') + group_id + '/';
|
||||||
var master = {};
|
var master = {};
|
||||||
var relatedSets = {};
|
|
||||||
|
|
||||||
// Load the modal form
|
// Load the modal form
|
||||||
var scope = generator.inject(form, { mode: 'edit', modal: true, related: false, show_modal: false });
|
var scope = generator.inject(form, { mode: 'edit', modal: true, related: false, show_modal: false });
|
||||||
@@ -726,10 +729,6 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
scope.groupLoadedRemove();
|
scope.groupLoadedRemove();
|
||||||
}
|
}
|
||||||
scope.groupLoadedRemove = scope.$on('groupLoaded', function() {
|
scope.groupLoadedRemove = scope.$on('groupLoaded', function() {
|
||||||
for (var set in relatedSets) {
|
|
||||||
scope.search(relatedSets[set].iterator);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (scope.variable_url) {
|
if (scope.variable_url) {
|
||||||
// get group variables
|
// get group variables
|
||||||
Rest.setUrl(scope.variable_url);
|
Rest.setUrl(scope.variable_url);
|
||||||
@@ -871,12 +870,6 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
master[fld] = scope[fld];
|
master[fld] = scope[fld];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var related = data.related;
|
|
||||||
for (var set in form.related) {
|
|
||||||
if (related[set]) {
|
|
||||||
relatedSets[set] = { url: related[set], iterator: form.related[set].iterator };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
scope.variable_url = data.related.variable_data;
|
scope.variable_url = data.related.variable_data;
|
||||||
scope.source_url = data.related.inventory_source;
|
scope.source_url = data.related.inventory_source;
|
||||||
$('#form-modal').modal('show');
|
$('#form-modal').modal('show');
|
||||||
@@ -926,6 +919,7 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
}
|
}
|
||||||
scope.removeSaveComplete = scope.$on('SaveComplete', function(e, error) {
|
scope.removeSaveComplete = scope.$on('SaveComplete', function(e, error) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
|
// Update the view with any changes
|
||||||
UpdateGroup({
|
UpdateGroup({
|
||||||
scope: parent_scope,
|
scope: parent_scope,
|
||||||
group_id: group_id,
|
group_id: group_id,
|
||||||
@@ -935,6 +929,8 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
has_inventory_sources: (scope.source) ? true : false
|
has_inventory_sources: (scope.source) ? true : false
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
//Clean up
|
||||||
|
scope.searchCleanup();
|
||||||
scope.formModalActionDisabled = false;
|
scope.formModalActionDisabled = false;
|
||||||
scope.showGroupHelp = false; //get rid of the Hint
|
scope.showGroupHelp = false; //get rid of the Hint
|
||||||
Wait('stop');
|
Wait('stop');
|
||||||
@@ -1025,6 +1021,13 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Cancel
|
||||||
|
scope.cancelModal = function() {
|
||||||
|
if (scope.searchCleanup) {
|
||||||
|
scope.searchCleanup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Save
|
// Save
|
||||||
scope.formModalAction = function() {
|
scope.formModalAction = function() {
|
||||||
Wait('start');
|
Wait('start');
|
||||||
@@ -1121,16 +1124,6 @@ angular.module('GroupsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', '
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cancel
|
|
||||||
scope.formReset = function() {
|
|
||||||
generator.reset();
|
|
||||||
for (var fld in master) {
|
|
||||||
scope[fld] = master[fld];
|
|
||||||
}
|
|
||||||
scope.parseType = 'yaml';
|
|
||||||
$('#s2id_group_source_regions').select2('data', master['source_regions']);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}])
|
}])
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', 'H
|
|||||||
|
|
||||||
SearchInit({ scope: scope, set: 'hosts', list: InventoryHosts, url: url });
|
SearchInit({ scope: scope, set: 'hosts', list: InventoryHosts, url: url });
|
||||||
PaginateInit({ scope: scope, list: InventoryHosts, url: url });
|
PaginateInit({ scope: scope, list: InventoryHosts, url: url });
|
||||||
|
console.log('before call to hosts search')
|
||||||
scope.search(InventoryHosts.iterator);
|
scope.search(InventoryHosts.iterator);
|
||||||
}
|
}
|
||||||
}])
|
}])
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ angular.module('LookUpHelper', [ 'RestServices', 'Utilities', 'SearchHelper', 'P
|
|||||||
|
|
||||||
var defaultUrl;
|
var defaultUrl;
|
||||||
if (params.url) {
|
if (params.url) {
|
||||||
// pass in a url value to override the default
|
// pass in a url value to override the default
|
||||||
defaultUrl = params.url;
|
defaultUrl = params.url;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
defaultUrl = (list.name == 'inventories') ? GetBasePath('inventory') : GetBasePath(list.name);
|
defaultUrl = (list.name == 'inventories') ? GetBasePath('inventory') : GetBasePath(list.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show pop-up
|
// Show pop-up
|
||||||
@@ -67,15 +67,15 @@ angular.module('LookUpHelper', [ 'RestServices', 'Utilities', 'SearchHelper', 'P
|
|||||||
found = true;
|
found = true;
|
||||||
scope[field] = listScope[list.name][i].id;
|
scope[field] = listScope[list.name][i].id;
|
||||||
if (scope[form.name + '_form'] && form.fields[field] && form.fields[field].sourceModel) {
|
if (scope[form.name + '_form'] && form.fields[field] && form.fields[field].sourceModel) {
|
||||||
scope[form.fields[field].sourceModel + '_' + form.fields[field].sourceField] =
|
scope[form.fields[field].sourceModel + '_' + form.fields[field].sourceField] =
|
||||||
listScope[list.name][i][form.fields[field].sourceField];
|
listScope[list.name][i][form.fields[field].sourceField];
|
||||||
if (scope[form.name + '_form'][form.fields[field].sourceModel + '_' + form.fields[field].sourceField]) {
|
if (scope[form.name + '_form'][form.fields[field].sourceModel + '_' + form.fields[field].sourceField]) {
|
||||||
scope[form.name + '_form'][form.fields[field].sourceModel + '_' + form.fields[field].sourceField]
|
scope[form.name + '_form'][form.fields[field].sourceModel + '_' + form.fields[field].sourceField]
|
||||||
.$setValidity('awlookup',true);
|
.$setValidity('awlookup',true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (scope[form.name + '_form']) {
|
if (scope[form.name + '_form']) {
|
||||||
scope[form.name + '_form'].$setDirty();
|
scope[form.name + '_form'].$setDirty();
|
||||||
}
|
}
|
||||||
listGenerator.hide();
|
listGenerator.hide();
|
||||||
}
|
}
|
||||||
@@ -94,12 +94,12 @@ angular.module('LookUpHelper', [ 'RestServices', 'Utilities', 'SearchHelper', 'P
|
|||||||
listScope['toggle_' + list.iterator] = function(id) {
|
listScope['toggle_' + list.iterator] = function(id) {
|
||||||
for (var i=0; i < scope[list.name].length; i++) {
|
for (var i=0; i < scope[list.name].length; i++) {
|
||||||
if (listScope[list.name][i]['id'] == id) {
|
if (listScope[list.name][i]['id'] == id) {
|
||||||
listScope[list.name][i]['checked'] = '1';
|
listScope[list.name][i]['checked'] = '1';
|
||||||
listScope[list.name][i]['success_class'] = 'success';
|
listScope[list.name][i]['success_class'] = 'success';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
listScope[list.name][i]['checked'] = '0';
|
listScope[list.name][i]['checked'] = '0';
|
||||||
listScope[list.name][i]['success_class'] = '';
|
listScope[list.name][i]['success_class'] = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -114,10 +114,10 @@ angular.module('LookUpHelper', [ 'RestServices', 'Utilities', 'SearchHelper', 'P
|
|||||||
listScope.lookupPostRefreshRemove = scope.$on('PostRefresh', function() {
|
listScope.lookupPostRefreshRemove = scope.$on('PostRefresh', function() {
|
||||||
for (var fld in list.fields) {
|
for (var fld in list.fields) {
|
||||||
if (list.fields[fld].type && list.fields[fld].type == 'date') {
|
if (list.fields[fld].type && list.fields[fld].type == 'date') {
|
||||||
//convert dates to our standard format
|
//convert dates to our standard format
|
||||||
for (var i=0; i < scope[list.name].length; i++) {
|
for (var i=0; i < scope[list.name].length; i++) {
|
||||||
scope[list.name][i][fld] = FormatDate(new Date(scope[list.name][i][fld]));
|
scope[list.name][i][fld] = FormatDate(new Date(scope[list.name][i][fld]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// List generator creates the form, resetting it and losing the previously selected value.
|
// List generator creates the form, resetting it and losing the previously selected value.
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ angular.module('RefreshHelper', ['RestServices', 'Utilities'])
|
|||||||
var set = params.set;
|
var set = params.set;
|
||||||
var iterator = params.iterator;
|
var iterator = params.iterator;
|
||||||
var url = params.url;
|
var url = params.url;
|
||||||
|
console.log('Inside refresh');
|
||||||
|
console.log(url);
|
||||||
scope.current_url = url;
|
scope.current_url = url;
|
||||||
Rest.setUrl(url);
|
Rest.setUrl(url);
|
||||||
Rest.get()
|
Rest.get()
|
||||||
|
|||||||
@@ -525,5 +525,15 @@ angular.module('SearchHelper', ['RestServices', 'Utilities', 'RefreshHelper'])
|
|||||||
scope.search(list.iterator);
|
scope.search(list.iterator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Call after modal dialogs to remove any lingering callbacks
|
||||||
|
scope.searchCleanup = function() {
|
||||||
|
console.log('search cleanup!');
|
||||||
|
scope.removeDoSearch();
|
||||||
|
scope.removeFoundObject();
|
||||||
|
scope.removeResultWarning();
|
||||||
|
scope.removePrepareSearch();
|
||||||
|
scope.removePrepareSearch2();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}]);
|
}]);
|
||||||
|
|||||||
@@ -59,7 +59,8 @@ angular.module('CloudCredentialsListDefinition', [])
|
|||||||
icon: 'fa-edit',
|
icon: 'fa-edit',
|
||||||
label: 'Edit',
|
label: 'Edit',
|
||||||
"class": 'btn-sm',
|
"class": 'btn-sm',
|
||||||
awToolTip: 'View/Edit credential'
|
awToolTip: 'View/Edit credential',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
@@ -67,7 +68,8 @@ angular.module('CloudCredentialsListDefinition', [])
|
|||||||
icon: 'fa-trash-o',
|
icon: 'fa-trash-o',
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
"class": 'btn-sm',
|
"class": 'btn-sm',
|
||||||
awToolTip: 'Delete credential'
|
awToolTip: 'Delete credential',
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -73,7 +73,8 @@ angular.module('CredentialsListDefinition', [])
|
|||||||
icon: 'fa-edit',
|
icon: 'fa-edit',
|
||||||
label: 'Edit',
|
label: 'Edit',
|
||||||
"class": 'btn-sm',
|
"class": 'btn-sm',
|
||||||
awToolTip: 'View/Edit credential'
|
awToolTip: 'View/Edit credential',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
@@ -81,7 +82,8 @@ angular.module('CredentialsListDefinition', [])
|
|||||||
icon: 'fa-trash',
|
icon: 'fa-trash',
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
"class": 'btn-sm',
|
"class": 'btn-sm',
|
||||||
awToolTip: 'Delete credential'
|
awToolTip: 'Delete credential',
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -44,7 +44,8 @@ angular.module('GroupListDefinition', [])
|
|||||||
ngClick: "editGroup(\{\{ group.id \}\})",
|
ngClick: "editGroup(\{\{ group.id \}\})",
|
||||||
icon: 'icon-edit',
|
icon: 'icon-edit',
|
||||||
"class": 'btn-xs',
|
"class": 'btn-xs',
|
||||||
awToolTip: 'View/Edit group'
|
awToolTip: 'View/Edit group',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
@@ -52,7 +53,8 @@ angular.module('GroupListDefinition', [])
|
|||||||
ngClick: "deleteGroup(\{\{ group.id \}\},'\{\{ group.name \}\}')",
|
ngClick: "deleteGroup(\{\{ group.id \}\},'\{\{ group.name \}\}')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-xs',
|
"class": 'btn-xs',
|
||||||
awToolTip: 'Delete group'
|
awToolTip: 'Delete group',
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -44,7 +44,8 @@ angular.module('HostListDefinition', [])
|
|||||||
ngClick: "editHost(\{\{ host.id \}\})",
|
ngClick: "editHost(\{\{ host.id \}\})",
|
||||||
icon: 'icon-edit',
|
icon: 'icon-edit',
|
||||||
"class": 'btn-xs',
|
"class": 'btn-xs',
|
||||||
awToolTip: 'View/Edit host'
|
awToolTip: 'View/Edit host',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
@@ -52,7 +53,8 @@ angular.module('HostListDefinition', [])
|
|||||||
ngClick: "deleteHost(\{\{ host.id \}\},'\{\{ host.name \}\}')",
|
ngClick: "deleteHost(\{\{ host.id \}\},'\{\{ host.name \}\}')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-xs',
|
"class": 'btn-xs',
|
||||||
awToolTip: 'Delete host'
|
awToolTip: 'Delete host',
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -101,14 +101,16 @@ angular.module('InventoriesListDefinition', [])
|
|||||||
ngClick: "editInventory(\{\{ inventory.id \}\})",
|
ngClick: "editInventory(\{\{ inventory.id \}\})",
|
||||||
icon: 'icon-edit',
|
icon: 'icon-edit',
|
||||||
"class": 'btn-xs btn-default',
|
"class": 'btn-xs btn-default',
|
||||||
awToolTip: 'Edit inventory'
|
awToolTip: 'Edit inventory',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "deleteInventory(\{\{ inventory.id \}\},'\{\{ inventory.name \}\}')",
|
ngClick: "deleteInventory(\{\{ inventory.id \}\},'\{\{ inventory.name \}\}')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-xs btn-danger',
|
"class": 'btn-xs btn-danger',
|
||||||
awToolTip: 'Delete inventory'
|
awToolTip: 'Delete inventory',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
dropdown: {
|
dropdown: {
|
||||||
type: 'DropDown',
|
type: 'DropDown',
|
||||||
|
|||||||
@@ -100,13 +100,12 @@ angular.module('InventoryHostsDefinition', [])
|
|||||||
awToolTip: "Create a new host"
|
awToolTip: "Create a new host"
|
||||||
},
|
},
|
||||||
stream: {
|
stream: {
|
||||||
|
mode: 'all',
|
||||||
ngClick: "showActivity()",
|
ngClick: "showActivity()",
|
||||||
awToolTip: "View Activity Stream",
|
awToolTip: "View Activity Stream",
|
||||||
mode: 'all',
|
|
||||||
ngShow: "user_is_superuser"
|
ngShow: "user_is_superuser"
|
||||||
},
|
},
|
||||||
help: {
|
help: {
|
||||||
dataPlacement: 'top',
|
|
||||||
mode: 'all',
|
mode: 'all',
|
||||||
awToolTip:
|
awToolTip:
|
||||||
//"<div style=\"text-align:left;\"><img src=\"/static/img/cow.png\" style=\"width:50px; height:56px; float:left; padding-right:5px;\">" +
|
//"<div style=\"text-align:left;\"><img src=\"/static/img/cow.png\" style=\"width:50px; height:56px; float:left; padding-right:5px;\">" +
|
||||||
|
|||||||
@@ -50,7 +50,8 @@ angular.module('JobTemplatesListDefinition', [])
|
|||||||
ngClick: "editJobTemplate(\{\{ job_template.id \}\})",
|
ngClick: "editJobTemplate(\{\{ job_template.id \}\})",
|
||||||
icon: 'icon-edit',
|
icon: 'icon-edit',
|
||||||
awToolTip: 'Edit template',
|
awToolTip: 'Edit template',
|
||||||
"class": 'btn-default btn-xs'
|
"class": 'btn-default btn-xs',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
submit: {
|
submit: {
|
||||||
label: 'Launch',
|
label: 'Launch',
|
||||||
@@ -58,14 +59,16 @@ angular.module('JobTemplatesListDefinition', [])
|
|||||||
mode: 'all',
|
mode: 'all',
|
||||||
"class": 'btn-xs btn-success',
|
"class": 'btn-xs btn-success',
|
||||||
ngClick: 'submitJob(\{\{ job_template.id \}\})',
|
ngClick: 'submitJob(\{\{ job_template.id \}\})',
|
||||||
awToolTip: 'Start a job using this template'
|
awToolTip: 'Start a job using this template',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
ngClick: "deleteJobTemplate(\{\{ job_template.id \}\},'\{\{ job_template.name \}\}')",
|
ngClick: "deleteJobTemplate(\{\{ job_template.id \}\},'\{\{ job_template.name \}\}')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger btn-xs',
|
"class": 'btn-danger btn-xs',
|
||||||
awToolTip: 'Delete template'
|
awToolTip: 'Delete template',
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -89,7 +89,8 @@ angular.module('JobsListDefinition', [])
|
|||||||
mode: 'all',
|
mode: 'all',
|
||||||
ngClick: "submitJob(\{\{ job.id \}\}, '\{\{ job.summary_fields.job_template.name \}\}' )",
|
ngClick: "submitJob(\{\{ job.id \}\}, '\{\{ job.summary_fields.job_template.name \}\}' )",
|
||||||
'class': 'btn-success btn-xs',
|
'class': 'btn-success btn-xs',
|
||||||
awToolTip: 'Relaunch the job template, running it again from scratch'
|
awToolTip: 'Relaunch the job template, running it again from scratch',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
cancel: {
|
cancel: {
|
||||||
label: 'Cancel',
|
label: 'Cancel',
|
||||||
@@ -98,7 +99,8 @@ angular.module('JobsListDefinition', [])
|
|||||||
ngClick: 'deleteJob(\{\{ job.id \}\})',
|
ngClick: 'deleteJob(\{\{ job.id \}\})',
|
||||||
"class": 'btn-danger btn-xs delete-btn',
|
"class": 'btn-danger btn-xs delete-btn',
|
||||||
awToolTip: 'Cancel a running or pending job',
|
awToolTip: 'Cancel a running or pending job',
|
||||||
ngShow: "job.status == 'pending' || job.status == 'running' || job.status == 'waiting'"
|
ngShow: "job.status == 'pending' || job.status == 'running' || job.status == 'waiting'",
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
@@ -107,7 +109,8 @@ angular.module('JobsListDefinition', [])
|
|||||||
ngClick: 'deleteJob(\{\{ job.id \}\})',
|
ngClick: 'deleteJob(\{\{ job.id \}\})',
|
||||||
"class": 'btn-danger btn-xs delete-btn',
|
"class": 'btn-danger btn-xs delete-btn',
|
||||||
awToolTip: 'Remove the selected job from the database',
|
awToolTip: 'Remove the selected job from the database',
|
||||||
ngShow: "job.status != 'pending' && job.status != 'running' && job.status != 'waiting'"
|
ngShow: "job.status != 'pending' && job.status != 'running' && job.status != 'waiting'",
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
dropdown: {
|
dropdown: {
|
||||||
type: 'DropDown',
|
type: 'DropDown',
|
||||||
|
|||||||
@@ -47,7 +47,8 @@ angular.module('OrganizationListDefinition', [])
|
|||||||
ngClick: "editOrganization(\{\{ organization.id \}\})",
|
ngClick: "editOrganization(\{\{ organization.id \}\})",
|
||||||
icon: 'icon-edit',
|
icon: 'icon-edit',
|
||||||
"class": 'btn-xs btn-default',
|
"class": 'btn-xs btn-default',
|
||||||
awToolTip: 'View/Edit organization'
|
awToolTip: 'View/Edit organization',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
@@ -55,7 +56,8 @@ angular.module('OrganizationListDefinition', [])
|
|||||||
ngClick: "deleteOrganization(\{\{ organization.id \}\},'\{\{ organization.name \}\}')",
|
ngClick: "deleteOrganization(\{\{ organization.id \}\},'\{\{ organization.name \}\}')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-xs btn-danger',
|
"class": 'btn-xs btn-danger',
|
||||||
awToolTip: 'Delete organization'
|
awToolTip: 'Delete organization',
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -62,7 +62,8 @@ angular.module('PermissionListDefinition', [])
|
|||||||
ngClick: "editPermission(\{\{ permission.id \}\})",
|
ngClick: "editPermission(\{\{ permission.id \}\})",
|
||||||
icon: 'icon-edit',
|
icon: 'icon-edit',
|
||||||
"class": 'btn-xs btn-default',
|
"class": 'btn-xs btn-default',
|
||||||
awToolTip: 'View/Edit permission'
|
awToolTip: 'View/Edit permission',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
@@ -71,7 +72,8 @@ angular.module('PermissionListDefinition', [])
|
|||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-xs btn-danger',
|
"class": 'btn-xs btn-danger',
|
||||||
awToolTip: 'Delete permission',
|
awToolTip: 'Delete permission',
|
||||||
ngShow: 'PermissionAddAllowed'
|
ngShow: 'PermissionAddAllowed',
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -95,7 +95,8 @@ angular.module('ProjectsListDefinition', [])
|
|||||||
ngClick: "editProject(\{\{ project.id \}\})",
|
ngClick: "editProject(\{\{ project.id \}\})",
|
||||||
icon: 'icon-edit',
|
icon: 'icon-edit',
|
||||||
"class": 'btn-xs btn-default',
|
"class": 'btn-xs btn-default',
|
||||||
awToolTip: 'View/edit project properties'
|
awToolTip: 'View/edit project properties',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
scm_update: {
|
scm_update: {
|
||||||
label: 'Update',
|
label: 'Update',
|
||||||
@@ -103,7 +104,8 @@ angular.module('ProjectsListDefinition', [])
|
|||||||
"class": 'btn-xs btn-success',
|
"class": 'btn-xs btn-success',
|
||||||
ngClick: 'SCMUpdate(\{\{ project.id \}\})',
|
ngClick: 'SCMUpdate(\{\{ project.id \}\})',
|
||||||
awToolTip: "\{\{ project.scm_update_tooltip \}\}",
|
awToolTip: "\{\{ project.scm_update_tooltip \}\}",
|
||||||
ngClass: "project.scm_type_class"
|
ngClass: "project.scm_type_class",
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
cancel: {
|
cancel: {
|
||||||
label: 'Cancel',
|
label: 'Cancel',
|
||||||
@@ -111,7 +113,8 @@ angular.module('ProjectsListDefinition', [])
|
|||||||
ngClick: "cancelUpdate(\{\{ project.id \}\}, '\{\{ project.name \}\}')",
|
ngClick: "cancelUpdate(\{\{ project.id \}\}, '\{\{ project.name \}\}')",
|
||||||
"class": 'btn-danger btn-xs delete-btn',
|
"class": 'btn-danger btn-xs delete-btn',
|
||||||
awToolTip: 'Cancel a running SCM update process',
|
awToolTip: 'Cancel a running SCM update process',
|
||||||
ngShow: "project.status == 'updating'"
|
ngShow: "project.status == 'updating'",
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
label: 'Delete',
|
label: 'Delete',
|
||||||
@@ -119,7 +122,8 @@ angular.module('ProjectsListDefinition', [])
|
|||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-danger btn-xs delete-btn',
|
"class": 'btn-danger btn-xs delete-btn',
|
||||||
awToolTip: 'Permanently remove project from the database',
|
awToolTip: 'Permanently remove project from the database',
|
||||||
ngShow: "project.status !== 'updating'"
|
ngShow: "project.status !== 'updating'",
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -54,7 +54,8 @@ angular.module('TeamsListDefinition', [])
|
|||||||
ngClick: "editTeam(\{\{ team.id \}\})",
|
ngClick: "editTeam(\{\{ team.id \}\})",
|
||||||
icon: 'icon-edit',
|
icon: 'icon-edit',
|
||||||
"class": 'btn-xs btn-default',
|
"class": 'btn-xs btn-default',
|
||||||
awToolTip: 'View/Edit team'
|
awToolTip: 'View/Edit team',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
@@ -62,7 +63,8 @@ angular.module('TeamsListDefinition', [])
|
|||||||
ngClick: "deleteTeam(\{\{ team.id \}\},'\{\{ team.name \}\}')",
|
ngClick: "deleteTeam(\{\{ team.id \}\},'\{\{ team.name \}\}')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-xs btn-danger',
|
"class": 'btn-xs btn-danger',
|
||||||
awToolTip: 'Delete team'
|
awToolTip: 'Delete team',
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -56,7 +56,8 @@ angular.module('UserListDefinition', [])
|
|||||||
ngClick: "editUser(\{\{ user.id \}\})",
|
ngClick: "editUser(\{\{ user.id \}\})",
|
||||||
icon: 'icon-edit',
|
icon: 'icon-edit',
|
||||||
"class": 'btn-xs btn-default',
|
"class": 'btn-xs btn-default',
|
||||||
awToolTip: 'View/Edit user'
|
awToolTip: 'View/Edit user',
|
||||||
|
dataPlacement: 'top'
|
||||||
},
|
},
|
||||||
|
|
||||||
"delete": {
|
"delete": {
|
||||||
@@ -64,7 +65,8 @@ angular.module('UserListDefinition', [])
|
|||||||
ngClick: "deleteUser(\{\{ user.id \}\},'\{\{ user.username \}\}')",
|
ngClick: "deleteUser(\{\{ user.id \}\},'\{\{ user.username \}\}')",
|
||||||
icon: 'icon-trash',
|
icon: 'icon-trash',
|
||||||
"class": 'btn-xs btn-danger',
|
"class": 'btn-xs btn-danger',
|
||||||
awToolTip: 'Delete user'
|
awToolTip: 'Delete user',
|
||||||
|
dataPlacement: 'top'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -252,7 +252,7 @@
|
|||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button ng-show="formModalInfo !== undefined && formModalInfo != ''" ng-click="formModalInfoAction()"
|
<button ng-show="formModalInfo !== undefined && formModalInfo != ''" ng-click="formModalInfoAction()"
|
||||||
class="btn btn-sm pull-left"><i class="fa fa-search-plus"></i> <span ng-bind="formModalInfo"></span></button>
|
class="btn btn-sm pull-left"><i class="fa fa-search-plus"></i> <span ng-bind="formModalInfo"></span></button>
|
||||||
<a href="#" ng-show="formModalCancelShow" data-target="#form-modal" data-dismiss="modal" id="form_cancel_btn" class="btn btn-default">Cancel</a>
|
<a href="#" ng-show="formModalCancelShow" data-target="#form-modal" ng-click="cancelModal()" data-dismiss="modal" id="form_cancel_btn" class="btn btn-default">Cancel</a>
|
||||||
<a href="" ng-bind="formModalActionLabel" ng-click="formModalAction()" ng-disabled="formModalActionDisabled" id="form_ok_btn" class="btn btn-primary"></a>
|
<a href="" ng-bind="formModalActionLabel" ng-click="formModalAction()" ng-disabled="formModalActionDisabled" id="form_ok_btn" class="btn btn-primary"></a>
|
||||||
</div>
|
</div>
|
||||||
</div><!-- modal-content -->
|
</div><!-- modal-content -->
|
||||||
|
|||||||
Reference in New Issue
Block a user