mirror of
https://github.com/ansible/awx.git
synced 2026-03-09 21:49:27 -02:30
AC-1292 Host container on inventory edit page now automatically resizes and adjusts rows per page.
This commit is contained in:
@@ -475,7 +475,7 @@ function InventoriesEdit($scope, $location, $routeParams, $compile, $log, $rootS
|
|||||||
GetSyncStatusMsg, InjectHosts, HostsReload, GroupsEdit, GroupsDelete, Breadcrumbs, LoadBreadCrumbs, Empty, Rest, ProcessErrors,
|
GetSyncStatusMsg, InjectHosts, HostsReload, GroupsEdit, GroupsDelete, Breadcrumbs, LoadBreadCrumbs, Empty, Rest, ProcessErrors,
|
||||||
InventoryUpdate, Alert, ToggleChildren, ViewUpdateStatus, GroupsCancelUpdate, Find, EditInventoryProperties, HostsEdit,
|
InventoryUpdate, Alert, ToggleChildren, ViewUpdateStatus, GroupsCancelUpdate, Find, EditInventoryProperties, HostsEdit,
|
||||||
HostsDelete, ToggleHostEnabled, CopyMoveGroup, CopyMoveHost, Stream, GetBasePath, ShowJobSummary, ApplyEllipsis, WatchInventoryWindowResize,
|
HostsDelete, ToggleHostEnabled, CopyMoveGroup, CopyMoveHost, Stream, GetBasePath, ShowJobSummary, ApplyEllipsis, WatchInventoryWindowResize,
|
||||||
HelpDialog, InventoryGroupsHelp, Store, ViewJob) {
|
HelpDialog, InventoryGroupsHelp, Store, ViewJob, SetContainerHeights) {
|
||||||
|
|
||||||
ClearScope();
|
ClearScope();
|
||||||
|
|
||||||
@@ -564,6 +564,9 @@ function InventoriesEdit($scope, $location, $routeParams, $compile, $log, $rootS
|
|||||||
$scope.selected_group_id = null;
|
$scope.selected_group_id = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Resize the containers based on viewport width/height
|
||||||
|
SetContainerHeights({ scope: $scope, reloadHosts: false });
|
||||||
|
|
||||||
// Add hosts view
|
// Add hosts view
|
||||||
$scope.show_failures = false;
|
$scope.show_failures = false;
|
||||||
InjectHosts({
|
InjectHosts({
|
||||||
@@ -590,7 +593,7 @@ function InventoriesEdit($scope, $location, $routeParams, $compile, $log, $rootS
|
|||||||
ApplyEllipsis('#groups_table .group-name a');
|
ApplyEllipsis('#groups_table .group-name a');
|
||||||
ApplyEllipsis('#hosts_table .host-name a');
|
ApplyEllipsis('#hosts_table .host-name a');
|
||||||
}, 2500); //give the window time to display
|
}, 2500); //give the window time to display
|
||||||
WatchInventoryWindowResize();
|
WatchInventoryWindowResize({ scope: $scope });
|
||||||
|
|
||||||
inventoryAutoHelp = Store('inventoryAutoHelp');
|
inventoryAutoHelp = Store('inventoryAutoHelp');
|
||||||
if (inventoryAutoHelp !== 'off' && $scope.autoShowGroupHelp) {
|
if (inventoryAutoHelp !== 'off' && $scope.autoShowGroupHelp) {
|
||||||
@@ -859,5 +862,5 @@ InventoriesEdit.$inject = ['$scope', '$location', '$routeParams', '$compile', '$
|
|||||||
'LoadBreadCrumbs', 'Empty', 'Rest', 'ProcessErrors', 'InventoryUpdate', 'Alert', 'ToggleChildren', 'ViewUpdateStatus', 'GroupsCancelUpdate',
|
'LoadBreadCrumbs', 'Empty', 'Rest', 'ProcessErrors', 'InventoryUpdate', 'Alert', 'ToggleChildren', 'ViewUpdateStatus', 'GroupsCancelUpdate',
|
||||||
'Find', 'EditInventoryProperties', 'HostsEdit', 'HostsDelete', 'ToggleHostEnabled', 'CopyMoveGroup', 'CopyMoveHost',
|
'Find', 'EditInventoryProperties', 'HostsEdit', 'HostsDelete', 'ToggleHostEnabled', 'CopyMoveGroup', 'CopyMoveHost',
|
||||||
'Stream', 'GetBasePath', 'ShowJobSummary', 'ApplyEllipsis', 'WatchInventoryWindowResize', 'HelpDialog', 'InventoryGroupsHelp', 'Store',
|
'Stream', 'GetBasePath', 'ShowJobSummary', 'ApplyEllipsis', 'WatchInventoryWindowResize', 'HelpDialog', 'InventoryGroupsHelp', 'Store',
|
||||||
'ViewJob'
|
'ViewJob', 'SetContainerHeights'
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -615,11 +615,11 @@ function($compile, SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize, Sched
|
|||||||
|
|
||||||
.factory('GroupsEdit', ['$rootScope', '$location', '$log', '$routeParams', '$compile', 'Rest', 'Alert', 'GroupForm', 'GenerateForm',
|
.factory('GroupsEdit', ['$rootScope', '$location', '$log', '$routeParams', '$compile', 'Rest', 'Alert', 'GroupForm', 'GenerateForm',
|
||||||
'Prompt', 'ProcessErrors', 'GetBasePath', 'SetNodeName', 'ParseTypeChange', 'GetSourceTypeOptions', 'InventoryUpdate',
|
'Prompt', 'ProcessErrors', 'GetBasePath', 'SetNodeName', 'ParseTypeChange', 'GetSourceTypeOptions', 'InventoryUpdate',
|
||||||
'LookUpInit', 'Empty', 'Wait', 'GetChoices', 'UpdateGroup', 'SourceChange', 'Find','WatchInventoryWindowResize',
|
'LookUpInit', 'Empty', 'Wait', 'GetChoices', 'UpdateGroup', 'SourceChange', 'Find',
|
||||||
'ParseVariableString', 'ToJSON', 'GroupsScheduleListInit', 'SourceForm', 'SetSchedulesInnerDialogSize', 'BuildTree',
|
'ParseVariableString', 'ToJSON', 'GroupsScheduleListInit', 'SourceForm', 'SetSchedulesInnerDialogSize', 'BuildTree',
|
||||||
function ($rootScope, $location, $log, $routeParams, $compile, Rest, Alert, GroupForm, GenerateForm, Prompt, ProcessErrors,
|
function ($rootScope, $location, $log, $routeParams, $compile, Rest, Alert, GroupForm, GenerateForm, Prompt, ProcessErrors,
|
||||||
GetBasePath, SetNodeName, ParseTypeChange, GetSourceTypeOptions, InventoryUpdate, LookUpInit, Empty, Wait,
|
GetBasePath, SetNodeName, ParseTypeChange, GetSourceTypeOptions, InventoryUpdate, LookUpInit, Empty, Wait,
|
||||||
GetChoices, UpdateGroup, SourceChange, Find, WatchInventoryWindowResize, ParseVariableString, ToJSON, GroupsScheduleListInit,
|
GetChoices, UpdateGroup, SourceChange, Find, ParseVariableString, ToJSON, GroupsScheduleListInit,
|
||||||
SourceForm, SetSchedulesInnerDialogSize, BuildTree) {
|
SourceForm, SetSchedulesInnerDialogSize, BuildTree) {
|
||||||
return function (params) {
|
return function (params) {
|
||||||
|
|
||||||
@@ -1044,7 +1044,7 @@ function($compile, SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize, Sched
|
|||||||
} else {
|
} else {
|
||||||
Wait('stop');
|
Wait('stop');
|
||||||
}
|
}
|
||||||
WatchInventoryWindowResize();
|
//WatchInventoryWindowResize();
|
||||||
parent_scope.removeAddTreeRefreshed();
|
parent_scope.removeAddTreeRefreshed();
|
||||||
if (modal_scope.searchCleanUp) {
|
if (modal_scope.searchCleanUp) {
|
||||||
modal_scope.searchCleanup();
|
modal_scope.searchCleanup();
|
||||||
@@ -1178,9 +1178,9 @@ function($compile, SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize, Sched
|
|||||||
//if (modal_scope.searchCleanup) {
|
//if (modal_scope.searchCleanup) {
|
||||||
// modal_scope.searchCleanup();
|
// modal_scope.searchCleanup();
|
||||||
//}
|
//}
|
||||||
if (base === 'inventories') {
|
//if (base === 'inventories') {
|
||||||
WatchInventoryWindowResize();
|
// WatchInventoryWindowResize();
|
||||||
}
|
//}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Save
|
// Save
|
||||||
@@ -1469,9 +1469,9 @@ function($compile, SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize, Sched
|
|||||||
])
|
])
|
||||||
|
|
||||||
.factory('ShowUpdateStatus', ['$rootScope', '$location', '$log', '$routeParams', 'Rest', 'Alert', 'GenerateForm',
|
.factory('ShowUpdateStatus', ['$rootScope', '$location', '$log', '$routeParams', 'Rest', 'Alert', 'GenerateForm',
|
||||||
'Prompt', 'ProcessErrors', 'GetBasePath', 'FormatDate', 'InventoryStatusForm', 'Wait', 'Empty', 'WatchInventoryWindowResize',
|
'Prompt', 'ProcessErrors', 'GetBasePath', 'FormatDate', 'InventoryStatusForm', 'Wait',
|
||||||
function ($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, Prompt, ProcessErrors, GetBasePath,
|
function ($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, Prompt, ProcessErrors, GetBasePath,
|
||||||
FormatDate, InventoryStatusForm, Wait, Empty, WatchInventoryWindowResize) {
|
FormatDate, InventoryStatusForm, Wait) {
|
||||||
return function (params) {
|
return function (params) {
|
||||||
|
|
||||||
var group_name = params.group_name,
|
var group_name = params.group_name,
|
||||||
@@ -1563,7 +1563,7 @@ function($compile, SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize, Sched
|
|||||||
});
|
});
|
||||||
$('#status-modal-dialog').dialog('destroy');
|
$('#status-modal-dialog').dialog('destroy');
|
||||||
$('#inventory-modal-container').empty();
|
$('#inventory-modal-container').empty();
|
||||||
WatchInventoryWindowResize();
|
//WatchInventoryWindowResize();
|
||||||
},
|
},
|
||||||
open: function () {
|
open: function () {
|
||||||
Wait('stop');
|
Wait('stop');
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
* HostsHelper
|
* HostsHelper
|
||||||
*
|
*
|
||||||
* Routines that handle host add/edit/delete on the Inventory detail page.
|
* Routines that handle host add/edit/delete on the Inventory detail page.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* jshint loopfunc: true */
|
/* jshint loopfunc: true */
|
||||||
@@ -16,11 +16,11 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', 'H
|
|||||||
'InventoryHelper', 'RelatedSearchHelper', 'InventoryFormDefinition', 'SelectionHelper',
|
'InventoryHelper', 'RelatedSearchHelper', 'InventoryFormDefinition', 'SelectionHelper',
|
||||||
'HostGroupsFormDefinition', 'VariablesHelper', 'ModalDialog', 'LogViewerHelper'
|
'HostGroupsFormDefinition', 'VariablesHelper', 'ModalDialog', 'LogViewerHelper'
|
||||||
])
|
])
|
||||||
|
|
||||||
.factory('SetEnabledMsg', [ function() {
|
.factory('SetEnabledMsg', [ function() {
|
||||||
return function(host) {
|
return function(host) {
|
||||||
if (host.has_inventory_sources) {
|
if (host.has_inventory_sources) {
|
||||||
// Inventory sync managed, so not clickable
|
// Inventory sync managed, so not clickable
|
||||||
host.enabledToolTip = (host.enabled) ? 'Host is available' : 'Host is not available';
|
host.enabledToolTip = (host.enabled) ? 'Host is available' : 'Host is not available';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -51,13 +51,13 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', 'H
|
|||||||
|
|
||||||
host.enabled_flag = host.enabled;
|
host.enabled_flag = host.enabled;
|
||||||
SetEnabledMsg(host);
|
SetEnabledMsg(host);
|
||||||
|
|
||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
|
|
||||||
.factory('SetStatus', ['SetEnabledMsg', 'Empty', function(SetEnabledMsg, Empty) {
|
.factory('SetStatus', ['SetEnabledMsg', 'Empty', function(SetEnabledMsg, Empty) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
|
|
||||||
var scope = params.scope,
|
var scope = params.scope,
|
||||||
host = params.host,
|
host = params.host,
|
||||||
i, html, title;
|
i, html, title;
|
||||||
@@ -68,7 +68,7 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', 'H
|
|||||||
}
|
}
|
||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
|
|
||||||
function noRecentJobs() {
|
function noRecentJobs() {
|
||||||
title = 'No job data';
|
title = 'No job data';
|
||||||
html = "<p>No recent job data available for this host.</p>\n" +
|
html = "<p>No recent job data available for this host.</p>\n" +
|
||||||
@@ -77,7 +77,7 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', 'H
|
|||||||
|
|
||||||
function setMsg(host) {
|
function setMsg(host) {
|
||||||
var j, job, jobs;
|
var j, job, jobs;
|
||||||
|
|
||||||
if (host.has_active_failures === true || (host.has_active_failures === false && host.last_job !== null)) {
|
if (host.has_active_failures === true || (host.has_active_failures === false && host.last_job !== null)) {
|
||||||
if (host.has_active_failures === true) {
|
if (host.has_active_failures === true) {
|
||||||
host.badgeToolTip = 'Most recent job failed. Click to view jobs.';
|
host.badgeToolTip = 'Most recent job failed. Click to view jobs.';
|
||||||
@@ -161,19 +161,18 @@ angular.module('HostsHelper', [ 'RestServices', 'Utilities', 'ListGenerator', 'H
|
|||||||
}])
|
}])
|
||||||
|
|
||||||
.factory('HostsReload', [ '$routeParams', 'Empty', 'InventoryHosts', 'GetBasePath', 'SearchInit', 'PaginateInit', 'Wait',
|
.factory('HostsReload', [ '$routeParams', 'Empty', 'InventoryHosts', 'GetBasePath', 'SearchInit', 'PaginateInit', 'Wait',
|
||||||
'SetHostStatus', 'SetStatus', 'ApplyEllipsis',
|
'SetHostStatus', 'SetStatus', 'ApplyEllipsis', 'SetContainerHeights', 'GetHostContainerRows',
|
||||||
function($routeParams, Empty, InventoryHosts, GetBasePath, SearchInit, PaginateInit, Wait, SetHostStatus, SetStatus,
|
function($routeParams, Empty, InventoryHosts, GetBasePath, SearchInit, PaginateInit, Wait, SetHostStatus, SetStatus,
|
||||||
ApplyEllipsis) {
|
ApplyEllipsis, SetContainerHeights) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
|
|
||||||
var scope = params.scope,
|
var scope = params.scope,
|
||||||
group_id = params.group_id,
|
group_id = params.group_id,
|
||||||
inventory_id = params.inventory_id,
|
inventory_id = params.inventory_id,
|
||||||
list = InventoryHosts,
|
list = InventoryHosts,
|
||||||
|
|
||||||
url = ( !Empty(group_id) ) ? GetBasePath('groups') + group_id + '/all_hosts/' :
|
url = ( !Empty(group_id) ) ? GetBasePath('groups') + group_id + '/all_hosts/' :
|
||||||
GetBasePath('inventory') + inventory_id + '/hosts/';
|
GetBasePath('inventory') + inventory_id + '/hosts/';
|
||||||
|
|
||||||
scope.search_place_holder='Search ' + scope.selected_group_name;
|
scope.search_place_holder='Search ' + scope.selected_group_name;
|
||||||
|
|
||||||
if (scope.removePostRefresh) {
|
if (scope.removePostRefresh) {
|
||||||
@@ -191,6 +190,9 @@ function($routeParams, Empty, InventoryHosts, GetBasePath, SearchInit, PaginateI
|
|||||||
scope.$emit('HostReloadComplete');
|
scope.$emit('HostReloadComplete');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Size containers based on viewport
|
||||||
|
SetContainerHeights({ scope: scope, reloadHosts: false });
|
||||||
|
|
||||||
SearchInit({ scope: scope, set: 'hosts', list: list, url: url });
|
SearchInit({ scope: scope, set: 'hosts', list: list, url: url });
|
||||||
PaginateInit({ scope: scope, list: list, url: url });
|
PaginateInit({ scope: scope, list: list, url: url });
|
||||||
|
|
||||||
@@ -234,12 +236,12 @@ function(GenerateList, InventoryHosts, HostsReload) {
|
|||||||
.factory('ToggleHostEnabled', [ 'GetBasePath', 'Rest', 'Wait', 'ProcessErrors', 'Alert', 'Find', 'SetEnabledMsg',
|
.factory('ToggleHostEnabled', [ 'GetBasePath', 'Rest', 'Wait', 'ProcessErrors', 'Alert', 'Find', 'SetEnabledMsg',
|
||||||
function(GetBasePath, Rest, Wait, ProcessErrors, Alert, Find, SetEnabledMsg) {
|
function(GetBasePath, Rest, Wait, ProcessErrors, Alert, Find, SetEnabledMsg) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
|
|
||||||
var id = params.host_id,
|
var id = params.host_id,
|
||||||
external_source = params.external_source,
|
external_source = params.external_source,
|
||||||
scope = params.scope,
|
scope = params.scope,
|
||||||
host;
|
host;
|
||||||
|
|
||||||
function setMsg(host) {
|
function setMsg(host) {
|
||||||
host.enabled = (host.enabled) ? false : true;
|
host.enabled = (host.enabled) ? false : true;
|
||||||
host.enabled_flag = host.enabled;
|
host.enabled_flag = host.enabled;
|
||||||
@@ -251,7 +253,7 @@ function(GetBasePath, Rest, Wait, ProcessErrors, Alert, Find, SetEnabledMsg) {
|
|||||||
Wait('start');
|
Wait('start');
|
||||||
host = Find({ list: scope.hosts, key: 'id', val: id });
|
host = Find({ list: scope.hosts, key: 'id', val: id });
|
||||||
setMsg(host);
|
setMsg(host);
|
||||||
|
|
||||||
Rest.setUrl(GetBasePath('hosts') + id + '/');
|
Rest.setUrl(GetBasePath('hosts') + id + '/');
|
||||||
Rest.put(host)
|
Rest.put(host)
|
||||||
.success( function() {
|
.success( function() {
|
||||||
@@ -277,7 +279,7 @@ function(GetBasePath, Rest, Wait, ProcessErrors, Alert, Find, SetEnabledMsg) {
|
|||||||
function($rootScope, $location, $log, $routeParams, Rest, Alert, HostList, GenerateList, Prompt, SearchInit,
|
function($rootScope, $location, $log, $routeParams, Rest, Alert, HostList, GenerateList, Prompt, SearchInit,
|
||||||
PaginateInit, ProcessErrors, GetBasePath, HostsAdd, HostsReload, SelectionInit) {
|
PaginateInit, ProcessErrors, GetBasePath, HostsAdd, HostsReload, SelectionInit) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
|
|
||||||
var inventory_id = params.inventory_id,
|
var inventory_id = params.inventory_id,
|
||||||
group_id = params.group_id,
|
group_id = params.group_id,
|
||||||
list = HostList,
|
list = HostList,
|
||||||
@@ -287,7 +289,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostList, Gener
|
|||||||
list.iterator = 'subhost'; //Override the iterator and name so the scope of the modal dialog
|
list.iterator = 'subhost'; //Override the iterator and name so the scope of the modal dialog
|
||||||
list.name = 'subhosts'; //will not conflict with the parent scope
|
list.name = 'subhosts'; //will not conflict with the parent scope
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
scope = generator.inject(list, {
|
scope = generator.inject(list, {
|
||||||
id: 'form-modal-body',
|
id: 'form-modal-body',
|
||||||
@@ -295,13 +297,13 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostList, Gener
|
|||||||
breadCrumbs: false,
|
breadCrumbs: false,
|
||||||
selectButton: false
|
selectButton: false
|
||||||
});
|
});
|
||||||
|
|
||||||
defaultUrl = GetBasePath('inventory') + inventory_id + '/hosts/?not__groups__id=' + scope.group_id;
|
defaultUrl = GetBasePath('inventory') + inventory_id + '/hosts/?not__groups__id=' + scope.group_id;
|
||||||
|
|
||||||
scope.formModalActionLabel = 'Select';
|
scope.formModalActionLabel = 'Select';
|
||||||
scope.formModalHeader = 'Add Existing Hosts';
|
scope.formModalHeader = 'Add Existing Hosts';
|
||||||
scope.formModalCancelShow = true;
|
scope.formModalCancelShow = true;
|
||||||
|
|
||||||
SelectionInit({ scope: scope, list: list, url: GetBasePath('groups') + group_id + '/hosts/' });
|
SelectionInit({ scope: scope, list: list, url: GetBasePath('groups') + group_id + '/hosts/' });
|
||||||
|
|
||||||
if (scope.removeModalClosed) {
|
if (scope.removeModalClosed) {
|
||||||
@@ -311,11 +313,11 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostList, Gener
|
|||||||
// if the modal closed, assume something got changed and reload the host list
|
// if the modal closed, assume something got changed and reload the host list
|
||||||
HostsReload(params);
|
HostsReload(params);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.popover').popover('hide'); //remove any lingering pop-overs
|
$('.popover').popover('hide'); //remove any lingering pop-overs
|
||||||
$('#form-modal .btn-none').removeClass('btn-none').addClass('btn-success');
|
$('#form-modal .btn-none').removeClass('btn-none').addClass('btn-success');
|
||||||
$('#form-modal').modal({ backdrop: 'static', keyboard: false });
|
$('#form-modal').modal({ backdrop: 'static', keyboard: false });
|
||||||
|
|
||||||
SearchInit({ scope: scope, set: 'subhosts', list: list, url: defaultUrl });
|
SearchInit({ scope: scope, set: 'subhosts', list: list, url: defaultUrl });
|
||||||
PaginateInit({ scope: scope, list: list, url: defaultUrl, mode: 'lookup' });
|
PaginateInit({ scope: scope, list: list, url: defaultUrl, mode: 'lookup' });
|
||||||
scope.search(list.iterator);
|
scope.search(list.iterator);
|
||||||
@@ -334,12 +336,12 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostList, Gener
|
|||||||
|
|
||||||
|
|
||||||
.factory('HostsCreate', ['$rootScope', '$location', '$log', '$routeParams', 'Rest', 'Alert', 'HostForm', 'GenerateForm',
|
.factory('HostsCreate', ['$rootScope', '$location', '$log', '$routeParams', 'Rest', 'Alert', 'HostForm', 'GenerateForm',
|
||||||
'Prompt', 'ProcessErrors', 'GetBasePath', 'HostsReload', 'ParseTypeChange', 'Wait', 'WatchInventoryWindowResize',
|
'Prompt', 'ProcessErrors', 'GetBasePath', 'HostsReload', 'ParseTypeChange', 'Wait',
|
||||||
'ToJSON',
|
'ToJSON',
|
||||||
function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, GenerateForm, Prompt, ProcessErrors,
|
function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, GenerateForm, Prompt, ProcessErrors,
|
||||||
GetBasePath, HostsReload, ParseTypeChange, Wait, WatchInventoryWindowResize, ToJSON) {
|
GetBasePath, HostsReload, ParseTypeChange, Wait, ToJSON) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
|
|
||||||
var parent_scope = params.scope,
|
var parent_scope = params.scope,
|
||||||
inventory_id = parent_scope.inventory_id,
|
inventory_id = parent_scope.inventory_id,
|
||||||
group_id = parent_scope.selected_group_id,
|
group_id = parent_scope.selected_group_id,
|
||||||
@@ -348,14 +350,14 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
generator = GenerateForm,
|
generator = GenerateForm,
|
||||||
scope = generator.inject(form, {mode: 'add', modal: true, related: false}),
|
scope = generator.inject(form, {mode: 'add', modal: true, related: false}),
|
||||||
master={};
|
master={};
|
||||||
|
|
||||||
scope.formModalActionLabel = 'Save';
|
scope.formModalActionLabel = 'Save';
|
||||||
scope.formModalHeader = 'Create New Host';
|
scope.formModalHeader = 'Create New Host';
|
||||||
scope.formModalCancelShow = true;
|
scope.formModalCancelShow = true;
|
||||||
|
|
||||||
scope.parseType = 'yaml';
|
scope.parseType = 'yaml';
|
||||||
ParseTypeChange({ scope: scope, field_id: 'host_variables' });
|
ParseTypeChange({ scope: scope, field_id: 'host_variables' });
|
||||||
|
|
||||||
if (scope.removeHostsReload) {
|
if (scope.removeHostsReload) {
|
||||||
scope.removeHostsReload();
|
scope.removeHostsReload();
|
||||||
}
|
}
|
||||||
@@ -366,21 +368,21 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
$('#form-modal .btn-none').removeClass('btn-none').addClass('btn-success');
|
$('#form-modal .btn-none').removeClass('btn-none').addClass('btn-success');
|
||||||
//$('#form-modal').unbind('hidden');
|
//$('#form-modal').unbind('hidden');
|
||||||
//$('#form-modal').on('hidden', function () { scope.$emit('hostsReload'); });
|
//$('#form-modal').on('hidden', function () { scope.$emit('hostsReload'); });
|
||||||
|
|
||||||
generator.reset();
|
generator.reset();
|
||||||
master={};
|
master={};
|
||||||
|
|
||||||
if (!scope.$$phase) {
|
if (!scope.$$phase) {
|
||||||
scope.$digest();
|
scope.$digest();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scope.removeHostSaveComplete) {
|
if (scope.removeHostSaveComplete) {
|
||||||
scope.removeHostSaveComplete();
|
scope.removeHostSaveComplete();
|
||||||
}
|
}
|
||||||
scope.removeHostSaveComplete = scope.$on('HostSaveComplete', function() {
|
scope.removeHostSaveComplete = scope.$on('HostSaveComplete', function() {
|
||||||
Wait('stop');
|
Wait('stop');
|
||||||
$('#form-modal').modal('hide');
|
$('#form-modal').modal('hide');
|
||||||
|
|
||||||
HostsReload({
|
HostsReload({
|
||||||
scope: parent_scope,
|
scope: parent_scope,
|
||||||
group_id: parent_scope.selected_group_id,
|
group_id: parent_scope.selected_group_id,
|
||||||
@@ -388,14 +390,14 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
inventory_id: parent_scope.inventory_id
|
inventory_id: parent_scope.inventory_id
|
||||||
});
|
});
|
||||||
|
|
||||||
WatchInventoryWindowResize();
|
//WatchInventoryWindowResize();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Save
|
// Save
|
||||||
scope.formModalAction = function() {
|
scope.formModalAction = function() {
|
||||||
|
|
||||||
Wait('start');
|
Wait('start');
|
||||||
|
|
||||||
var fld, data={};
|
var fld, data={};
|
||||||
scope.formModalActionDisabled = true;
|
scope.formModalActionDisabled = true;
|
||||||
data.variables = ToJSON(scope.parseType, scope.variables, true);
|
data.variables = ToJSON(scope.parseType, scope.variables, true);
|
||||||
@@ -424,23 +426,23 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
// Defaults
|
// Defaults
|
||||||
generator.reset();
|
generator.reset();
|
||||||
};
|
};
|
||||||
|
|
||||||
scope.cancelModal = function() {
|
scope.cancelModal = function() {
|
||||||
WatchInventoryWindowResize();
|
// WatchInventoryWindowResize();
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
|
|
||||||
|
|
||||||
.factory('HostsEdit', ['$rootScope', '$location', '$log', '$routeParams', 'Rest', 'Alert', 'HostForm', 'GenerateForm',
|
.factory('HostsEdit', ['$rootScope', '$location', '$log', '$routeParams', 'Rest', 'Alert', 'HostForm', 'GenerateForm',
|
||||||
'Prompt', 'ProcessErrors', 'GetBasePath', 'HostsReload', 'ParseTypeChange', 'Wait', 'Find', 'SetStatus', 'ApplyEllipsis',
|
'Prompt', 'ProcessErrors', 'GetBasePath', 'HostsReload', 'ParseTypeChange', 'Wait', 'Find', 'SetStatus', 'ApplyEllipsis',
|
||||||
'WatchInventoryWindowResize', 'ToJSON', 'ParseVariableString', 'CreateDialog', 'TextareaResize', 'Empty',
|
'ToJSON', 'ParseVariableString', 'CreateDialog', 'TextareaResize', 'Empty',
|
||||||
function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, GenerateForm, Prompt, ProcessErrors,
|
function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, GenerateForm, Prompt, ProcessErrors,
|
||||||
GetBasePath, HostsReload, ParseTypeChange, Wait, Find, SetStatus, ApplyEllipsis, WatchInventoryWindowResize, ToJSON,
|
GetBasePath, HostsReload, ParseTypeChange, Wait, Find, SetStatus, ApplyEllipsis, ToJSON,
|
||||||
ParseVariableString, CreateDialog, TextareaResize, Empty) {
|
ParseVariableString, CreateDialog, TextareaResize, Empty) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
|
|
||||||
var parent_scope = params.scope,
|
var parent_scope = params.scope,
|
||||||
host_id = params.host_id,
|
host_id = params.host_id,
|
||||||
inventory_id = params.inventory_id,
|
inventory_id = params.inventory_id,
|
||||||
@@ -453,10 +455,10 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
master = {},
|
master = {},
|
||||||
relatedSets = {},
|
relatedSets = {},
|
||||||
group, buttons;
|
group, buttons;
|
||||||
|
|
||||||
generator.inject(HostForm, { mode: 'edit', id: 'host-modal-dialog', breadCrumbs: false, related: false, scope: scope });
|
generator.inject(HostForm, { mode: 'edit', id: 'host-modal-dialog', breadCrumbs: false, related: false, scope: scope });
|
||||||
generator.reset();
|
generator.reset();
|
||||||
|
|
||||||
buttons = [{
|
buttons = [{
|
||||||
label: "Cancel",
|
label: "Cancel",
|
||||||
onClick: function() {
|
onClick: function() {
|
||||||
@@ -488,7 +490,6 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
Wait('stop');
|
Wait('stop');
|
||||||
scope.codeMirror.destroy();
|
scope.codeMirror.destroy();
|
||||||
$('#host-modal-dialog').empty();
|
$('#host-modal-dialog').empty();
|
||||||
WatchInventoryWindowResize();
|
|
||||||
},
|
},
|
||||||
onResizeStop: function() {
|
onResizeStop: function() {
|
||||||
TextareaResize({
|
TextareaResize({
|
||||||
@@ -509,7 +510,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
},
|
},
|
||||||
callback: 'HostEditDialogReady'
|
callback: 'HostEditDialogReady'
|
||||||
});
|
});
|
||||||
|
|
||||||
scope.parseType = 'yaml';
|
scope.parseType = 'yaml';
|
||||||
|
|
||||||
if (scope.hostVariablesLoadedRemove) {
|
if (scope.hostVariablesLoadedRemove) {
|
||||||
@@ -553,7 +554,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
}
|
}
|
||||||
master.variables = scope.variables;
|
master.variables = scope.variables;
|
||||||
});
|
});
|
||||||
|
|
||||||
Wait('start');
|
Wait('start');
|
||||||
|
|
||||||
// Retrieve detail record and prepopulate the form
|
// Retrieve detail record and prepopulate the form
|
||||||
@@ -638,7 +639,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Restore ellipsis response to window resize
|
// Restore ellipsis response to window resize
|
||||||
WatchInventoryWindowResize();
|
//WatchInventoryWindowResize();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Save changes to the parent
|
// Save changes to the parent
|
||||||
@@ -646,7 +647,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
|
|
||||||
Wait('start');
|
Wait('start');
|
||||||
var fld, data={};
|
var fld, data={};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
data.variables = ToJSON(scope.parseType, scope.variables, true);
|
data.variables = ToJSON(scope.parseType, scope.variables, true);
|
||||||
for (fld in form.fields) {
|
for (fld in form.fields) {
|
||||||
@@ -692,7 +693,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
scope.cancelModal = function() {
|
scope.cancelModal = function() {
|
||||||
$('#host-modal-dialog').dialog('close');
|
$('#host-modal-dialog').dialog('close');
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
|
|
||||||
@@ -702,7 +703,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, HostForm, Gener
|
|||||||
function($rootScope, $location, $log, $routeParams, Rest, Alert, Prompt, ProcessErrors, GetBasePath, HostsReload, Wait, Find, Empty) {
|
function($rootScope, $location, $log, $routeParams, Rest, Alert, Prompt, ProcessErrors, GetBasePath, HostsReload, Wait, Find, Empty) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
// Remove the selected host from the current group by disassociating
|
// Remove the selected host from the current group by disassociating
|
||||||
|
|
||||||
var action_to_take, body,
|
var action_to_take, body,
|
||||||
scope = params.scope,
|
scope = params.scope,
|
||||||
host_id = params.host_id,
|
host_id = params.host_id,
|
||||||
@@ -743,12 +744,12 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, Prompt, Process
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#prompt-modal').on('hidden.bs.modal', function(){ Wait('stop'); });
|
$('#prompt-modal').on('hidden.bs.modal', function(){ Wait('stop'); });
|
||||||
|
|
||||||
action_to_take = function() {
|
action_to_take = function() {
|
||||||
var count=0, i;
|
var count=0, i;
|
||||||
|
|
||||||
Wait('start');
|
Wait('start');
|
||||||
|
|
||||||
if (scope.removeHostRemoved) {
|
if (scope.removeHostRemoved) {
|
||||||
scope.removeHostRemoved();
|
scope.removeHostRemoved();
|
||||||
}
|
}
|
||||||
@@ -772,7 +773,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, Prompt, Process
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
body = (group) ? '<div class=\"alert alert-info\"><p>Are you sure you want to remove host <strong>' + host_name + '</strong> from group ' + group.name + '?' +
|
body = (group) ? '<div class=\"alert alert-info\"><p>Are you sure you want to remove host <strong>' + host_name + '</strong> from group ' + group.name + '?' +
|
||||||
' It will still be part of the inventory and available in All Hosts.</p></div>' :
|
' It will still be part of the inventory and available in All Hosts.</p></div>' :
|
||||||
'<div class=\"alert alert-info\"><p>Are you sure you want to permanently delete host <strong>' + host_name + '</strong> from the inventory?</p></div>';
|
'<div class=\"alert alert-info\"><p>Are you sure you want to permanently delete host <strong>' + host_name + '</strong> from the inventory?</p></div>';
|
||||||
@@ -786,13 +787,13 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, Prompt, Process
|
|||||||
function($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, Prompt, ProcessErrors, GetBasePath, HostsReload,
|
function($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, Prompt, ProcessErrors, GetBasePath, HostsReload,
|
||||||
ParseTypeChange, Wait) {
|
ParseTypeChange, Wait) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
|
|
||||||
var host_id = params.host_id,
|
var host_id = params.host_id,
|
||||||
inventory_id = params.inventory_id,
|
inventory_id = params.inventory_id,
|
||||||
generator = GenerateForm,
|
generator = GenerateForm,
|
||||||
actions = [],
|
actions = [],
|
||||||
i, html, defaultUrl, scope, postAction;
|
i, html, defaultUrl, scope, postAction;
|
||||||
|
|
||||||
html = "<div class=\"row host-groups\">\n";
|
html = "<div class=\"row host-groups\">\n";
|
||||||
html += "<div class=\"col-lg-6\">\n";
|
html += "<div class=\"col-lg-6\">\n";
|
||||||
html += "<label>Available Groups:</label>\n";
|
html += "<label>Available Groups:</label>\n";
|
||||||
@@ -817,7 +818,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, P
|
|||||||
|
|
||||||
defaultUrl = GetBasePath('hosts') + host_id + '/';
|
defaultUrl = GetBasePath('hosts') + host_id + '/';
|
||||||
scope = generator.inject(null, { mode: 'edit', modal: true, related: false, html: html });
|
scope = generator.inject(null, { mode: 'edit', modal: true, related: false, html: html });
|
||||||
|
|
||||||
for (i=0; i < scope.hosts.length; i++) {
|
for (i=0; i < scope.hosts.length; i++) {
|
||||||
if (scope.hosts[i].id === host_id) {
|
if (scope.hosts[i].id === host_id) {
|
||||||
scope.host = scope.hosts[i];
|
scope.host = scope.hosts[i];
|
||||||
@@ -849,11 +850,11 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, P
|
|||||||
HostsReload({ scope: scope, inventory_id: inventory_id, group_id: scope.group_id , action: postAction });
|
HostsReload({ scope: scope, inventory_id: inventory_id, group_id: scope.group_id , action: postAction });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Save changes
|
// Save changes
|
||||||
scope.formModalAction = function() {
|
scope.formModalAction = function() {
|
||||||
var i, j, found;
|
var i, j, found;
|
||||||
|
|
||||||
$('#form-modal').modal('hide');
|
$('#form-modal').modal('hide');
|
||||||
Wait('start');
|
Wait('start');
|
||||||
|
|
||||||
@@ -866,7 +867,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, P
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found) {
|
if (!found) {
|
||||||
// group was removed
|
// group was removed
|
||||||
actions.push({ group_id: scope.original_groups[i].id , action: 'delete' });
|
actions.push({ group_id: scope.original_groups[i].id , action: 'delete' });
|
||||||
Rest.setUrl(GetBasePath('groups') + scope.original_groups[i].id + '/hosts/');
|
Rest.setUrl(GetBasePath('groups') + scope.original_groups[i].id + '/hosts/');
|
||||||
Rest.post({ id: host_id, disassociate: 1 })
|
Rest.post({ id: host_id, disassociate: 1 })
|
||||||
@@ -919,7 +920,7 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, P
|
|||||||
scope.rightButtonDisabled = true;
|
scope.rightButtonDisabled = true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
scope.rightChange = function() {
|
scope.rightChange = function() {
|
||||||
// Select/deselect made on host groups list
|
// Select/deselect made on host groups list
|
||||||
if (scope.assignedGroups !== null && scope.assignedGroups.length > 0) {
|
if (scope.assignedGroups !== null && scope.assignedGroups.length > 0) {
|
||||||
@@ -934,9 +935,9 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, P
|
|||||||
|
|
||||||
scope.moveLeft = function() {
|
scope.moveLeft = function() {
|
||||||
// Remove selected groups from the list of assigned groups
|
// Remove selected groups from the list of assigned groups
|
||||||
|
|
||||||
var i, j, found, placed;
|
var i, j, found, placed;
|
||||||
|
|
||||||
for (i=0; i < scope.assignedGroups.length; i++){
|
for (i=0; i < scope.assignedGroups.length; i++){
|
||||||
for (j=0 ; j < scope.host_groups.length; j++) {
|
for (j=0 ; j < scope.host_groups.length; j++) {
|
||||||
if (scope.host_groups[j].id === scope.assignedGroups[i].id) {
|
if (scope.host_groups[j].id === scope.assignedGroups[i].id) {
|
||||||
@@ -983,9 +984,9 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, P
|
|||||||
|
|
||||||
scope.moveRight = function() {
|
scope.moveRight = function() {
|
||||||
// Remove selected groups from list of available groups
|
// Remove selected groups from list of available groups
|
||||||
|
|
||||||
var i, j, found, placed;
|
var i, j, found, placed;
|
||||||
|
|
||||||
for (i=0; i < scope.selectedGroups.length; i++){
|
for (i=0; i < scope.selectedGroups.length; i++){
|
||||||
for (j=0 ; j < scope.available_groups.length; j++) {
|
for (j=0 ; j < scope.available_groups.length; j++) {
|
||||||
if (scope.available_groups[j].id === scope.selectedGroups[i].id) {
|
if (scope.available_groups[j].id === scope.selectedGroups[i].id) {
|
||||||
@@ -1074,14 +1075,14 @@ function($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, P
|
|||||||
scope.removeHostsReload = scope.$on('hostsReload', function() {
|
scope.removeHostsReload = scope.$on('hostsReload', function() {
|
||||||
HostsReload(params);
|
HostsReload(params);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!scope.$$phase) {
|
if (!scope.$$phase) {
|
||||||
scope.$digest();
|
scope.$digest();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,26 +21,49 @@ angular.module('InventoryHelper', ['RestServices', 'Utilities', 'OrganizationLis
|
|||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
|
|
||||||
.factory('SetContainerHeights', [ 'GetGroupContainerHeight', function(GetGroupContainerHeight) {
|
.factory('GetHostContainerRows', [ function() {
|
||||||
return function() {
|
return function() {
|
||||||
var height;
|
var height = $('#hosts-container .well').height() - $('#hosts-constainer .well .row').height() - $('#hosts_table thead').height();
|
||||||
|
return Math.floor(height / 27) - 1;
|
||||||
|
};
|
||||||
|
}])
|
||||||
|
|
||||||
|
.factory('SetContainerHeights', [ 'GetGroupContainerHeight', 'GetHostContainerRows', function(GetGroupContainerHeight, GetHostContainerRows) {
|
||||||
|
return function(params) {
|
||||||
|
var scope = (params && params.scope) ? params.scope : null,
|
||||||
|
reloadHosts = (params && params.reloadHosts) ? true : false,
|
||||||
|
height, rows;
|
||||||
if ($(window).width() > 1210) {
|
if ($(window).width() > 1210) {
|
||||||
height = GetGroupContainerHeight();
|
height = GetGroupContainerHeight();
|
||||||
$('#groups-container .list-table-container').height(height);
|
$('#groups-container .list-table-container').height(height);
|
||||||
|
$('#hosts-container .well').height( $('#groups-container').height() - 49 );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$('#groups-container .list-table-container').height('auto');
|
$('#groups-container .list-table-container').height('auto');
|
||||||
|
$('#hosts-container .well').height('auto');
|
||||||
}
|
}
|
||||||
$('#groups-container .list-table-container').mCustomScrollbar("update");
|
$('#groups-container .list-table-container').mCustomScrollbar("update");
|
||||||
$('#hosts-container .well').height( $('#groups-container').height() - 39 );
|
|
||||||
|
if (reloadHosts) {
|
||||||
|
// we need ro recalc the the page size
|
||||||
|
if ($(window).width() > 1210) {
|
||||||
|
rows = GetHostContainerRows();
|
||||||
|
scope.host_page_size = rows;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// on small screens we go back to the default
|
||||||
|
scope.host_page_size = 20;
|
||||||
|
}
|
||||||
|
scope.changePageSize('hosts', 'host');
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
|
|
||||||
.factory('WatchInventoryWindowResize', ['ApplyEllipsis', 'SetContainerHeights',
|
.factory('WatchInventoryWindowResize', ['ApplyEllipsis', 'SetContainerHeights',
|
||||||
function (ApplyEllipsis, SetContainerHeights) {
|
function (ApplyEllipsis, SetContainerHeights) {
|
||||||
return function () {
|
return function (params) {
|
||||||
// Call to set or restore window resize
|
// Call to set or restore window resize
|
||||||
SetContainerHeights();
|
var scope = params.scope;
|
||||||
$(window).resize(_.debounce(function() {
|
$(window).resize(_.debounce(function() {
|
||||||
// Hack to stop group-name div slipping to a new line
|
// Hack to stop group-name div slipping to a new line
|
||||||
$('#groups_table .name-column').each(function () {
|
$('#groups_table .name-column').each(function () {
|
||||||
@@ -53,7 +76,7 @@ angular.module('InventoryHelper', ['RestServices', 'Utilities', 'OrganizationLis
|
|||||||
});
|
});
|
||||||
ApplyEllipsis('#groups_table .group-name a');
|
ApplyEllipsis('#groups_table .group-name a');
|
||||||
ApplyEllipsis('#hosts_table .host-name a');
|
ApplyEllipsis('#hosts_table .host-name a');
|
||||||
SetContainerHeights();
|
SetContainerHeights({ scope: scope, reloadHosts: true });
|
||||||
}, 500));
|
}, 500));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1342,6 +1342,9 @@ input[type="checkbox"].checkbox-no-label {
|
|||||||
position: relative;
|
position: relative;
|
||||||
top: -15px;
|
top: -15px;
|
||||||
}
|
}
|
||||||
|
.well {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#inventories_table i[class*="icon-job-"],
|
#inventories_table i[class*="icon-job-"],
|
||||||
|
|||||||
Reference in New Issue
Block a user