Added power button to node list

Added a non-functional power button to the node list page,
at the request of UX.

Change-Id: I910430ed68ad284f3d0dd527845c4bb960c17648
This commit is contained in:
Michael Krotscheck 2016-02-01 10:20:44 -08:00
parent 4c8cdca8b2
commit be5d56e0d4
2 changed files with 43 additions and 2 deletions

View File

@ -18,7 +18,7 @@
* Node handling for the Ironic UI.
*/
angular.module('ironic')
.controller('NodeListController', function($scope, IronicNode, $modal) {
.controller('NodeListController', function($scope, IronicNode, $modal, $log) {
'use strict';
var vm = this;
@ -37,6 +37,18 @@ angular.module('ironic')
});
};
/**
* Set the power state for the provided node node.
*
* @param {IronicNode} node The ironic node to modify.
* @param {String} stateName The name of the power state.
* @return {void}
*/
vm.setPowerState = function(node, stateName) {
// Do nothing, yet.
$log.info('Set power state on ' + node.uuid + ' to ' + stateName);
};
vm.enroll = function() {
$modal.open({
'templateUrl': 'view/ironic/enroll/index.html',

View File

@ -24,7 +24,36 @@
<tr ng-repeat="node in nodeListCtrl.nodes"
ng-controller="NodeActionController as nodeCtrl"
ng-init="nodeCtrl.init(node)">
<td>{{nodeCtrl.node.power_state}}</td>
<td>
<!-- Four power states: 'power on', 'power off', 'rebooting', and <no value> -->
<div class="text-muted" ng-if="!node.power_state">
<i class="fa fa-power-off"></i> Unknown
</div>
<div class="text-muted" ng-if="node.power_state == 'rebooting'">
<i class="fa fa-spin fa-cog"></i> Rebooting
</div>
<div class="text-muted" ng-if="!!node.power_state && node.power_state != 'rebooting'">
<div dropdown is-open="status.isopen" class="btn-group">
<button type="button"
class="btn btn-default"
dropdown-toggle
ng-disabled="true">
<span ng-if="node.power_state == 'power on'">On</span>
<span ng-if="node.power_state == 'power off'">Off</span>
<i class="fa fa-caret-down"></i>
</button>
<ul class="dropdown-menu">
<li role="menuitem" ng-if="node.power_state == 'power off'">
<a href="#" ng-click="nodeListCtrl.setPowerState(node, 'power on')">On</a>
</li>
<li role="menuitem" ng-if="node.power_state == 'power on'">
<a href="#" ng-click="nodeListCtrl.setPowerState(node, 'power off')">Off</a>
</li>
</ul>
</div>
</div>
</td>
<td>
<a href="#/ironic/nodes/{{nodeCtrl.node.uuid}}/node">
{{nodeCtrl.node.name || nodeCtrl.node.uuid}}