113 lines
4.1 KiB
HTML
113 lines
4.1 KiB
HTML
<div class="row padding-top">
|
|
<div class="col-xs-12"
|
|
ng-controller="NodeActionController as actionCtrl">
|
|
<div class="btn-group" uib-dropdown>
|
|
<button type="button"
|
|
class="btn btn-default"
|
|
ng-disabled="nodeListCtrl.selectedNodes.length == 0"
|
|
ng-click="actionCtrl.powerAction(nodeListCtrl.powerTransitions[0], nodeListCtrl.selectedNodes)">
|
|
{{nodeListCtrl.powerTransitions[0] | capitalize}}
|
|
</button>
|
|
<button type="button"
|
|
class="btn btn-default"
|
|
uib-dropdown-toggle
|
|
ng-disabled="nodeListCtrl.selectedNodes.length == 0">
|
|
<i class="caret"></i>
|
|
</button>
|
|
<ul uib-dropdown-menu>
|
|
<li ng-repeat="event in nodeListCtrl.powerTransitions">
|
|
<a ng-disabled="nodeListCtrl.selectedNodes.length == 0"
|
|
ng-click="actionCtrl.powerAction(event, nodeListCtrl.selectedNodes)"
|
|
href="">
|
|
{{event | capitalize}}
|
|
</a>
|
|
</li>
|
|
<li role="separator" class="divider"></li>
|
|
<li ng-repeat="event in nodeListCtrl.provisionTransitions">
|
|
<a ng-disabled="nodeListCtrl.selectedNodes.length == 0"
|
|
ng-click="actionCtrl.provisionAction(event, nodeListCtrl.selectedNodes)"
|
|
href="">
|
|
{{event | capitalize}}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<button type="button" class="btn btn-default"
|
|
ng-disabled="nodeListCtrl.selectedNodes.length == 0"
|
|
ng-click="actionCtrl.powerAction('reboot', nodeListCtrl.selectedNodes)">
|
|
Reboot
|
|
</button>
|
|
<button type="button" class="btn btn-default"
|
|
ng-disabled="!nodeListCtrl.nodes.$resolved"
|
|
ng-click="nodeListCtrl.init()">
|
|
Refresh
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="row padding-top">
|
|
<div class="col-xs-12">
|
|
<table class="table table-condensed table-striped table-bordered table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th><input type="checkbox"
|
|
ng-model="nodeListCtrl.selectAll"
|
|
ng-change="nodeListCtrl.toggleSelectAll(nodeListCtrl.selectAll)"
|
|
ng-if="nodeListCtrl.nodes.length > 0"
|
|
/></th>
|
|
<th>UUID</th>
|
|
<th>Name</th>
|
|
<th>Instance</th>
|
|
<th>Provision State</th>
|
|
<th>
|
|
<select class="form-control input-sm pull-right" disabled>
|
|
<option value="-1">All</option>
|
|
<option value="true">True</option>
|
|
<option value="false">False</option>
|
|
</select>
|
|
Maintenance
|
|
</th>
|
|
<th>
|
|
<select class="form-control input-sm pull-right" disabled>
|
|
<option value="-1">All</option>
|
|
<option value="on">On</option>
|
|
<option value="off">Off</option>
|
|
</select>
|
|
Power
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody ng-if="nodeListCtrl.nodes.$resolved && nodeListCtrl.nodes.length > 0">
|
|
<tr ng-repeat="node in nodeListCtrl.nodes"
|
|
ng-class="{'info': nodeListCtrl.selectedNodes.indexOf(node.uuid) > -1}">
|
|
<td>
|
|
<input type="checkbox"
|
|
checklist-model="nodeListCtrl.selectedNodes"
|
|
checklist-value="node.uuid"/>
|
|
</td>
|
|
<td><a href="#/ironic/nodes/{{node.uuid}}/node">{{node.uuid}}</a></td>
|
|
<td>{{node.name || 'Unnamed'}}</td>
|
|
<td>{{node.instance_uuid || 'None'}}</td>
|
|
<td>{{node.provision_state | capitalize}}</td>
|
|
<td>{{node.maintenance ? 'True' : 'False'}}</td>
|
|
<td>{{node.power_state || 'Unknown'}}</td>
|
|
</tr>
|
|
</tbody>
|
|
<tbody ng-if="nodeListCtrl.nodes.$resolved && nodeListCtrl.nodes.length == 0">
|
|
<tr>
|
|
<td colspan="7" class="text-center text-muted">
|
|
<small><em>No nodes were found.</em></small>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
<tbody ng-if="!nodeListCtrl.nodes.$resolved">
|
|
<tr>
|
|
<td colspan="7" class="text-center text-muted">
|
|
<i class="fa fa-refresh fa-spin"></i>
|
|
Loading nodes...
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|