Fix node list magic search bar

Recent changes to the magic search bar caused the existing code to
stop working. This fix addresses those changes.

Change-Id: I4fc5cde241b2579676fba3a53a5a3b1db4fc587a
This commit is contained in:
Peter Piela 2016-05-12 10:47:59 -04:00 committed by Elizabeth Elwell
parent 206f41779b
commit 49dca58125

View File

@ -1,170 +1,171 @@
<table ng-controller="IronicNodeListController as table" <div ng-controller="IronicNodeListController as table">
hz-table ng-cloak
st-table="table.nodes"
st-safe-src="table.nodesSrc"
default-sort="name"
default-sort-reverse="false"
class="table table-striped table-rsp table-detail">
<thead> <hz-magic-search-context filter-facets="table.nodeFacets">
<tr> <hz-magic-search-bar>
<th colspan="100" class="search-header"> </hz-magic-search-bar>
<hz-magic-search-bar group-classes="input-group-sm" icon-classes="fa-search"
filter-facets="table.nodeFacets">
</hz-magic-search-bar>
</th>
</tr>
<tr>
<th colspan="8">
<button class="btn btn-default btn-sm pull-right"
ng-click="table.enrollNode()">
<span class="fa fa-plus"></span>
<span translate>Enroll Node</span>
</button>
</th>
<th class="action-col">
<action-list dropdown class="pull-right">
<action button-type="split-button"
action-classes="'btn btn-default btn-sm'"
callback="table.actions.powerOnAll"
item="tCtrl.selected"
disabled="tCtrl.selected.length === 0">
{$ 'Power on' | translate $}
</action>
<menu>
<action button-type="menu-item"
callback="table.actions.powerOffAll"
item="tCtrl.selected"
disabled="tCtrl.selected.length === 0">
{$ 'Power off' | translate $}
</action>
<action button-type="menu-item"
callback="table.putNodesInMaintenanceMode"
item="tCtrl.selected"
disabled="tCtrl.selected.length === 0">
{$ 'Maintenance on' | translate $}
</action>
<action button-type="menu-item"
callback="table.removeNodesFromMaintenanceMode"
item="tCtrl.selected"
disabled="tCtrl.selected.length === 0">
{$ 'Maintenance off' | translate $}
</action>
<action button-type="menu-item"
callback="table.actions.deleteNodes"
item="tCtrl.selected"
disabled="tCtrl.selected.length === 0">
<span class="fa fa-trash"></span>
{$ 'Delete nodes' | translate $}
</action>
</menu>
</action-list>
</th>
</tr>
<tr> <table st-magic-search
<th class="multi_select_column"> hz-table ng-cloak
<input type="checkbox" st-table="table.nodes"
hz-select-all="table.nodes"/> st-safe-src="table.nodesSrc"
</th> default-sort="name"
<th translate class="rsp-p1" st-sort="name" st-sort-default="name"> default-sort-reverse="false"
Node Name class="table table-striped table-rsp table-detail">
</th>
<th translate class="rsp-p1" st-sort="instance_uuid">
Instance ID
</th>
<th translate class="rsp-p2" st-sort="power_state">
Power State
</th>
<th translate class="rsp-p2" st-sort="provision_state">
Provisioning State
</th>
<th translate class="rsp-p2" st-sort="maintenance">
Maintenance
</th>
<th translate class="rsp-p2" st-sort="ports">
Ports
</th>
<th translate class="rsp-p2" st-sort="driver">
Driver
</th>
<th translate class="actions_column">
Actions
</th>
</tr>
</thead>
<tbody> <thead>
<tr ng-repeat="node in table.nodes"> <tr>
<td class="multi_select_column"> <th colspan="8">
<input type="checkbox" <button class="btn btn-default btn-sm pull-right"
hz-select="node" ng-click="table.enrollNode()">
ng-model="tCtrl.selections[node.id].checked"/> <span class="fa fa-plus"></span>
</td> <span translate>Enroll Node</span>
<td class="rsp-p1"> </button>
<a href="{$ node.uuid $}"> </th>
{$ node.name || node.uuid $} <th class="action-col">
</a> <action-list dropdown class="pull-right">
</td> <action button-type="split-button"
<td class="rsp-p1"> action-classes="'btn btn-default btn-sm'"
<!-- multiple tags used purposefully to ensure that the link callback="table.actions.powerOnAll"
is removed if node uuid == no instance. Using ng-attr-href item="tCtrl.selected"
only removed the href and the <a> styling remained which could disabled="tCtrl.selected.length === 0">
cause confusion for users. --> {$ 'Power on' | translate $}
<a href="/admin/instances/{$ node.instance_uuid $}/detail" </action>
ng-if="node.instance_uuid"> <menu>
{$ node.instance_uuid $} <action button-type="menu-item"
</a> callback="table.actions.powerOffAll"
<span ng-if="!node.instance_uuid">{$ 'No Instance' | translate $}</span> item="tCtrl.selected"
</td> disabled="tCtrl.selected.length === 0">
<td class="rsp-p2" > {$ 'Power off' | translate $}
<div ng-class="{'running': node['target_power_state']}"> </action>
{$ node.power_state $} <action button-type="menu-item"
</div> callback="table.putNodesInMaintenanceMode"
</td> item="tCtrl.selected"
<td class="rsp-p2">{$ node.provision_state $}</td> disabled="tCtrl.selected.length === 0">
<td class="rsp-p2">{$ node.maintenance $}</td> {$ 'Maintenance on' | translate $}
<td class="rsp-p2">{$ node.ports.length $}</td> </action>
<td class="rsp-p2">{$ node.driver $}</td> <action button-type="menu-item"
<td class="actions_column"> callback="table.removeNodesFromMaintenanceMode"
<action-list dropdown> item="tCtrl.selected"
<action button-type="split-button" disabled="tCtrl.selected.length === 0">
action-classes="'btn btn-default btn-sm'" {$ 'Maintenance off' | translate $}
callback="table.actions.powerOn" </action>
disabled="node['power_state']!=='power off'" <action button-type="menu-item"
item="node"> callback="table.actions.deleteNodes"
{$ 'Power on' | translate $} item="tCtrl.selected"
</action> disabled="tCtrl.selected.length === 0">
<menu> <span class="fa fa-trash"></span>
<action button-type="menu-item" {$ 'Delete nodes' | translate $}
callback="table.actions.powerOff" </action>
disabled="node['power_state']!=='power on'" </menu>
item="node"> </action-list>
{$ 'Power off' | translate $} </th>
</action> </tr>
<action button-type="menu-item"
callback="table.putNodeInMaintenanceMode" <tr>
disabled="node['maintenance']" <th class="multi_select_column">
item="node"> <input type="checkbox"
{$ 'Maintenance on' | translate $} hz-select-all="table.nodes"/>
</action> </th>
<action button-type="menu-item" <th translate class="rsp-p1" st-sort="name" st-sort-default="name">
callback="table.removeNodeFromMaintenanceMode" Node Name
disabled="!node['maintenance']" </th>
item="node"> <th translate class="rsp-p1" st-sort="instance_uuid">
{$ 'Maintenance off' | translate $} Instance ID
</action> </th>
<action button-type="menu-item" <th translate class="rsp-p2" st-sort="power_state">
callback="table.actions.deleteNode" Power State
disabled="!(node['provision_state']==='available' || node['provision_state']==='nostate' || node['provision_state']==='manageable' || node['provision_state']==='enroll')" </th>
item="node"> <th translate class="rsp-p2" st-sort="provision_state">
<span class="fa fa-trash"></span> Provisioning State
{$ 'Delete node' | translate $} </th>
</action> <th translate class="rsp-p2" st-sort="maintenance">
</menu> Maintenance
</action-list> </th>
</td> <th translate class="rsp-p2" st-sort="ports">
</tr> Ports
</tbody> </th>
<tfoot hz-table-footer items="table.nodes"></tfoot> <th translate class="rsp-p2" st-sort="driver">
</table> Driver
</th>
<th translate class="actions_column">
Actions
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="node in table.nodes">
<td class="multi_select_column">
<input type="checkbox"
hz-select="node"
ng-model="tCtrl.selections[node.id].checked"/>
</td>
<td class="rsp-p1">
<a href="{$ node.uuid $}">
{$ node.name || node.uuid $}
</a>
</td>
<td class="rsp-p1">
<!-- multiple tags used purposefully to ensure that the link
is removed if node uuid == no instance. Using ng-attr-href
only removed the href and the <a> styling remained which could
cause confusion for users. -->
<a href="/admin/instances/{$ node.instance_uuid $}/detail"
ng-if="node.instance_uuid">
{$ node.instance_uuid $}
</a>
<span ng-if="!node.instance_uuid">{$ 'No Instance' | translate $}</span>
</td>
<td class="rsp-p2" >
<div ng-class="{'running': node['target_power_state']}">
{$ node.power_state $}
</div>
</td>
<td class="rsp-p2">{$ node.provision_state $}</td>
<td class="rsp-p2">{$ node.maintenance $}</td>
<td class="rsp-p2">{$ node.ports.length $}</td>
<td class="rsp-p2">{$ node.driver $}</td>
<td class="actions_column">
<action-list dropdown>
<action button-type="split-button"
action-classes="'btn btn-default btn-sm'"
callback="table.actions.powerOn"
disabled="node['power_state']!=='power off'"
item="node">
{$ 'Power on' | translate $}
</action>
<menu>
<action button-type="menu-item"
callback="table.actions.powerOff"
disabled="node['power_state']!=='power on'"
item="node">
{$ 'Power off' | translate $}
</action>
<action button-type="menu-item"
callback="table.putNodeInMaintenanceMode"
disabled="node['maintenance']"
item="node">
{$ 'Maintenance on' | translate $}
</action>
<action button-type="menu-item"
callback="table.removeNodeFromMaintenanceMode"
disabled="!node['maintenance']"
item="node">
{$ 'Maintenance off' | translate $}
</action>
<action button-type="menu-item"
callback="table.actions.deleteNode"
disabled="!(node['provision_state']==='available' || node['provision_state']==='nostate' || node['provision_state']==='manageable' || node['provision_state']==='enroll')"
item="node">
<span class="fa fa-trash"></span>
{$ 'Delete node' | translate $}
</action>
</menu>
</action-list>
</td>
</tr>
</tbody>
<tfoot hz-table-footer items="table.nodes"></tfoot>
</table>
</hz-magic-search-context>
</div>