update instance capacity bar to be grey when instance or group is offline

This commit is contained in:
John Mitchell
2017-09-20 17:49:02 -04:00
parent 428eca1c35
commit 2306c34689
9 changed files with 35 additions and 13 deletions

View File

@@ -23,4 +23,12 @@ capacity-bar {
.CapacityBar-consumed { .CapacityBar-consumed {
flex: 0 0 auto; flex: 0 0 auto;
} }
.CapacityBar--offline {
border-color: @d7grey;
.CapacityBar-remaining {
background-color: @d7grey;
}
}
} }

View File

@@ -2,11 +2,22 @@ export default ['templateUrl',
function (templateUrl) { function (templateUrl) {
return { return {
scope: { scope: {
capacity: '=' capacity: '=',
totalCapacity: '='
}, },
templateUrl: templateUrl('instance-groups/capacity-bar/capacity-bar'), templateUrl: templateUrl('instance-groups/capacity-bar/capacity-bar'),
restrict: 'E', restrict: 'E',
link: function(scope) { link: function(scope) {
scope.isOffline = false;
scope.$watch('totalCapacity', function(val) {
if (val === 0) {
scope.isOffline = true;
} else {
scope.isOffline = false;
}
}, true);
scope.$watch('capacity', function() { scope.$watch('capacity', function() {
scope.CapacityStyle = { scope.CapacityStyle = {
'flex-grow': scope.capacity * 0.01 'flex-grow': scope.capacity * 0.01

View File

@@ -1,4 +1,5 @@
<div class="CapacityBar"> <div class="CapacityBar"
<div class="CapacityBar-remaining" ng-style="CapacityStyle"></div> ng-class="{'CapacityBar--offline': isOffline">
<div class="CapacityBar-consumed"></div> <div class="CapacityBar-remaining" ng-style="CapacityStyle"></div>
</div> <div class="CapacityBar-consumed"></div>
</div>

View File

@@ -8,7 +8,7 @@
<div class="List-details"> <div class="List-details">
<div class="Capacity-details"> <div class="Capacity-details">
<p class="Capacity-details--label" translate>Used Capacity</p> <p class="Capacity-details--label" translate>Used Capacity</p>
<capacity-bar capacity="instanceGroupCapacity"></capacity-bar> <capacity-bar capacity="instanceGroupCapacity" total-capacity="instanceGroupTotalCapacity"></capacity-bar>
<span class="Capacity-details--percentage">{{ instanceGroupCapacity }}%</span> <span class="Capacity-details--percentage">{{ instanceGroupCapacity }}%</span>
</div> </div>
<div class="RunningJobs-details"> <div class="RunningJobs-details">
@@ -31,4 +31,4 @@
</div> </div>
</div> </div>
<div ui-view="list"></div> <div ui-view="list"></div>
</div> </div>

View File

@@ -8,7 +8,7 @@
<div class="List-details"> <div class="List-details">
<div class="Capacity-details"> <div class="Capacity-details">
<p class="Capacity-details--label" translate>Used Capacity</p> <p class="Capacity-details--label" translate>Used Capacity</p>
<capacity-bar capacity="instanceCapacity"></capacity-bar> <capacity-bar capacity="instanceCapacity" total-capacity="instanceTotalCapacity"></capacity-bar>
<span class="Capacity-details--percentage">{{ instanceCapacity }}%</span> <span class="Capacity-details--percentage">{{ instanceCapacity }}%</span>
</div> </div>
<div class="RunningJobs-details"> <div class="RunningJobs-details">
@@ -30,4 +30,4 @@
</div> </div>
</div> </div>
<div class="instance-jobs-list" ui-view="list"></div> <div class="instance-jobs-list" ui-view="list"></div>
</div> </div>

View File

@@ -13,6 +13,7 @@ export default {
controller: function($scope, $rootScope, instance) { controller: function($scope, $rootScope, instance) {
$scope.instanceName = instance.hostname; $scope.instanceName = instance.hostname;
$scope.instanceCapacity = instance.consumed_capacity; $scope.instanceCapacity = instance.consumed_capacity;
$scope.instanceTotalCapacity = instance.capacity;
$scope.instanceJobsRunning = instance.jobs_running; $scope.instanceJobsRunning = instance.jobs_running;
$rootScope.breadcrumb.instance_name = instance.hostname; $rootScope.breadcrumb.instance_name = instance.hostname;
} }
@@ -34,4 +35,4 @@ export default {
}); });
}] }]
} }
}; };

View File

@@ -35,7 +35,7 @@
</a> </a>
</td> </td>
<td class="List-tableCell List-tableCell--capacityColumn ng-binding"> <td class="List-tableCell List-tableCell--capacityColumn ng-binding">
<capacity-bar capacity="instance.consumed_capacity"></capacity-bar><span>{{ instance.consumed_capacity }}%</span> <capacity-bar capacity="instance.consumed_capacity" total-capacity="instance.capacity"></capacity-bar><span>{{ instance.consumed_capacity }}%</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@@ -10,6 +10,7 @@ export default {
controller: function($scope, $rootScope, instanceGroup) { controller: function($scope, $rootScope, instanceGroup) {
$scope.instanceGroupName = instanceGroup.name; $scope.instanceGroupName = instanceGroup.name;
$scope.instanceGroupCapacity = instanceGroup.consumed_capacity; $scope.instanceGroupCapacity = instanceGroup.consumed_capacity;
$scope.instanceGroupTotalCapacity = instanceGroup.capacity;
$scope.instanceGroupJobsRunning = instanceGroup.jobs_running; $scope.instanceGroupJobsRunning = instanceGroup.jobs_running;
$rootScope.breadcrumb.instance_group_name = instanceGroup.name; $rootScope.breadcrumb.instance_group_name = instanceGroup.name;
} }
@@ -31,4 +32,4 @@ export default {
}); });
}] }]
} }
}; };

View File

@@ -47,7 +47,7 @@
</a> </a>
</td> </td>
<td class="List-tableCell List-tableCell--capacityColumn ng-binding"> <td class="List-tableCell List-tableCell--capacityColumn ng-binding">
<capacity-bar capacity="instance_group.consumed_capacity"></capacity-bar><span>{{ instance_group.consumed_capacity }}%</span> <capacity-bar capacity="instance_group.consumed_capacity" total-capacity="instance_group.capacity"></capacity-bar><span>{{ instance_group.consumed_capacity }}%</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>