Add capacity adjuster directive

This commit is contained in:
Marliana Lara 2018-01-29 13:11:45 -05:00 committed by Matthew Jones
parent 342958ece3
commit 70786c53a7
No known key found for this signature in database
GPG Key ID: 76A4C17A97590C1C
5 changed files with 65 additions and 2 deletions

View File

@ -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;

View File

@ -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>

View File

@ -54,6 +54,7 @@
</div>
<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>
</div>
</at-row>

View File

@ -1,4 +1,4 @@
function InstancesController ($scope, $state, models, strings, Dataset) {
function InstancesController ($scope, $state, $http, models, Instance, strings, Dataset) {
const { instanceGroup } = models;
const vm = this || {};
vm.strings = strings;
@ -37,7 +37,6 @@ function InstancesController ($scope, $state, models, strings, Dataset) {
}
};
$scope.isActive = function(id) {
let selected = parseInt($state.params.instance_id);
return id === selected;
@ -47,7 +46,9 @@ function InstancesController ($scope, $state, models, strings, Dataset) {
InstancesController.$inject = [
'$scope',
'$state',
'$http',
'resolvedModels',
'InstanceModel',
'InstanceGroupsStrings',
'Dataset'
];

View File

@ -5,6 +5,7 @@ import InstanceGroupJobsListController from './jobs/jobs.controller';
import InstanceListController from './instances/instances.controller';
import InstanceJobsController from './instances/instance-jobs/instance-jobs.controller';
import CapacityBar from './capacity-bar/main';
import CapacityAdjuster from './capacity-adjuster/capacity-adjuster.directive';
import list from './instance-groups.list';
import service from './instance-groups.service';
@ -324,6 +325,7 @@ angular.module(MODULE_NAME, [CapacityBar.name])
.controller('InstanceJobsController', InstanceJobsController)
.directive('instanceGroupsMultiselect', instanceGroupsMultiselect)
.directive('instanceGroupsModal', instanceGroupsModal)
.directive('capacityAdjuster', CapacityAdjuster)
.service('InstanceGroupsStrings', InstanceGroupsStrings)
.service('JobStrings', JobStrings)
.run(InstanceGroupsRun);