mirror of
https://github.com/ansible/awx.git
synced 2026-05-14 12:57:40 -02:30
Add capacity adjuster directive
This commit is contained in:
committed by
Matthew Jones
parent
342958ece3
commit
70786c53a7
@@ -0,0 +1,45 @@
|
|||||||
|
function CapacityAdjuster (templateUrl, $http) {
|
||||||
|
return {
|
||||||
|
scope: {
|
||||||
|
state: '='
|
||||||
|
},
|
||||||
|
templateUrl: templateUrl('instance-groups/capacity-adjuster/capacity-adjuster'),
|
||||||
|
restrict: 'E',
|
||||||
|
link: function(scope) {
|
||||||
|
let adjustment_values = [{
|
||||||
|
label: 'CPU',
|
||||||
|
value: scope.state.cpu_capacity,
|
||||||
|
},{
|
||||||
|
label: 'RAM',
|
||||||
|
value: scope.state.mem_capacity
|
||||||
|
}];
|
||||||
|
|
||||||
|
scope.min_capacity = _.min(adjustment_values, 'value');
|
||||||
|
scope.max_capacity = _.max(adjustment_values, 'value');
|
||||||
|
|
||||||
|
},
|
||||||
|
controller: function($http, $scope) {
|
||||||
|
const vm = this || {};
|
||||||
|
|
||||||
|
vm.slide = (state) => {
|
||||||
|
let data = {
|
||||||
|
"capacity_adjustment": state.capacity_adjustment
|
||||||
|
};
|
||||||
|
let req = {
|
||||||
|
method: 'PUT',
|
||||||
|
url: state.url,
|
||||||
|
data
|
||||||
|
};
|
||||||
|
$http(req);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
controllerAs: 'vm'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
CapacityAdjuster.$inject = [
|
||||||
|
'templateUrl',
|
||||||
|
'$http'
|
||||||
|
];
|
||||||
|
|
||||||
|
export default CapacityAdjuster;
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<div class="at-InputSlider"
|
||||||
|
style="align-items:center;margin-right:20px">
|
||||||
|
<p>{{min_capacity.label}}</p>
|
||||||
|
<p>{{min_capacity.value}}</p>
|
||||||
|
<input string-to-number
|
||||||
|
type="range"
|
||||||
|
ng-model="state.capacity_adjustment"
|
||||||
|
min="0"
|
||||||
|
max="1"
|
||||||
|
step="0.1"
|
||||||
|
ng-change="vm.slide(state)"/>
|
||||||
|
<p>{{max_capacity.label}}</p>
|
||||||
|
<p>{{max_capacity.value}}</p>
|
||||||
|
</div>
|
||||||
@@ -54,6 +54,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="at-Row-actions">
|
<div class="at-Row-actions">
|
||||||
|
<capacity-adjuster state="instance"></capacity-adjuster>
|
||||||
<capacity-bar label-value="Used Capacity" capacity="instance.consumed_capacity" total-capacity="instance.capacity"></capacity-bar>
|
<capacity-bar label-value="Used Capacity" capacity="instance.consumed_capacity" total-capacity="instance.capacity"></capacity-bar>
|
||||||
</div>
|
</div>
|
||||||
</at-row>
|
</at-row>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
function InstancesController ($scope, $state, models, strings, Dataset) {
|
function InstancesController ($scope, $state, $http, models, Instance, strings, Dataset) {
|
||||||
const { instanceGroup } = models;
|
const { instanceGroup } = models;
|
||||||
const vm = this || {};
|
const vm = this || {};
|
||||||
vm.strings = strings;
|
vm.strings = strings;
|
||||||
@@ -37,7 +37,6 @@ function InstancesController ($scope, $state, models, strings, Dataset) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
$scope.isActive = function(id) {
|
$scope.isActive = function(id) {
|
||||||
let selected = parseInt($state.params.instance_id);
|
let selected = parseInt($state.params.instance_id);
|
||||||
return id === selected;
|
return id === selected;
|
||||||
@@ -47,7 +46,9 @@ function InstancesController ($scope, $state, models, strings, Dataset) {
|
|||||||
InstancesController.$inject = [
|
InstancesController.$inject = [
|
||||||
'$scope',
|
'$scope',
|
||||||
'$state',
|
'$state',
|
||||||
|
'$http',
|
||||||
'resolvedModels',
|
'resolvedModels',
|
||||||
|
'InstanceModel',
|
||||||
'InstanceGroupsStrings',
|
'InstanceGroupsStrings',
|
||||||
'Dataset'
|
'Dataset'
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import InstanceGroupJobsListController from './jobs/jobs.controller';
|
|||||||
import InstanceListController from './instances/instances.controller';
|
import InstanceListController from './instances/instances.controller';
|
||||||
import InstanceJobsController from './instances/instance-jobs/instance-jobs.controller';
|
import InstanceJobsController from './instances/instance-jobs/instance-jobs.controller';
|
||||||
import CapacityBar from './capacity-bar/main';
|
import CapacityBar from './capacity-bar/main';
|
||||||
|
import CapacityAdjuster from './capacity-adjuster/capacity-adjuster.directive';
|
||||||
import list from './instance-groups.list';
|
import list from './instance-groups.list';
|
||||||
import service from './instance-groups.service';
|
import service from './instance-groups.service';
|
||||||
|
|
||||||
@@ -324,6 +325,7 @@ angular.module(MODULE_NAME, [CapacityBar.name])
|
|||||||
.controller('InstanceJobsController', InstanceJobsController)
|
.controller('InstanceJobsController', InstanceJobsController)
|
||||||
.directive('instanceGroupsMultiselect', instanceGroupsMultiselect)
|
.directive('instanceGroupsMultiselect', instanceGroupsMultiselect)
|
||||||
.directive('instanceGroupsModal', instanceGroupsModal)
|
.directive('instanceGroupsModal', instanceGroupsModal)
|
||||||
|
.directive('capacityAdjuster', CapacityAdjuster)
|
||||||
.service('InstanceGroupsStrings', InstanceGroupsStrings)
|
.service('InstanceGroupsStrings', InstanceGroupsStrings)
|
||||||
.service('JobStrings', JobStrings)
|
.service('JobStrings', JobStrings)
|
||||||
.run(InstanceGroupsRun);
|
.run(InstanceGroupsRun);
|
||||||
|
|||||||
Reference in New Issue
Block a user