Merge "Further Theming fixes for Launch Instances"
This commit is contained in:
commit
b2d641e81f
@ -115,14 +115,6 @@ $em-per-priority: floor($table-col-avg-width / $font-size-base) * 3;
|
|||||||
border-bottom: $table-border;
|
border-bottom: $table-border;
|
||||||
}
|
}
|
||||||
|
|
||||||
tr.expanded td {
|
|
||||||
border-bottom: $table-border;
|
|
||||||
|
|
||||||
&[rowspan='2'].action-col {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tr.expanded:nth-last-child(-n+3) [rowspan='2'].action-col {
|
tr.expanded:nth-last-child(-n+3) [rowspan='2'].action-col {
|
||||||
border-bottom: $table-border;
|
border-bottom: $table-border;
|
||||||
}
|
}
|
||||||
@ -140,21 +132,6 @@ $em-per-priority: floor($table-col-avg-width / $font-size-base) * 3;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-row td {
|
|
||||||
padding: 0;
|
|
||||||
|
|
||||||
&.detail .detail-expanded {
|
|
||||||
border-top: none;
|
|
||||||
padding: $detail-row-padding $table-padding;
|
|
||||||
white-space: normal;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.expanded + tr td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.expander {
|
.expander {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
max-width: $expander-width;
|
max-width: $expander-width;
|
||||||
|
@ -23,13 +23,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div hz-if-nova-extensions='["ConfigDrive"]'>
|
<div hz-if-nova-extensions='["ConfigDrive"]'>
|
||||||
<div class="checkbox">
|
<div class="form-group">
|
||||||
<label for="config-drive" translate>
|
<div class="themable-checkbox">
|
||||||
<input type="checkbox"
|
<input type="checkbox"
|
||||||
id="config-drive"
|
id="config-drive"
|
||||||
ng-model="model.newInstanceSpec.config_drive">
|
ng-model="model.newInstanceSpec.config_drive">
|
||||||
Configuration Drive
|
<label for="config-drive">
|
||||||
|
<span translate>Configuration Drive</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -99,8 +99,7 @@ limitations under the License.
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr ng-repeat-end class="detail-row">
|
<tr ng-repeat-end class="detail-row">
|
||||||
<td></td>
|
<td colspan="9" class="detail">
|
||||||
<td colspan="7" class="detail">
|
|
||||||
<span class="h5" translate>Impact on your quota</span>
|
<span class="h5" translate>Impact on your quota</span>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-4">
|
<div class="col-xs-4">
|
||||||
@ -127,7 +126,6 @@ limitations under the License.
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -214,8 +212,7 @@ limitations under the License.
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr ng-repeat-end class="detail-row">
|
<tr ng-repeat-end class="detail-row">
|
||||||
<td></td>
|
<td colspan="9" class="detail">
|
||||||
<td colspan="7" class="detail">
|
|
||||||
<span class="h5" translate>Impact on your quota</span>
|
<span class="h5" translate>Impact on your quota</span>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-4">
|
<div class="col-xs-4">
|
||||||
@ -242,7 +239,6 @@ limitations under the License.
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<dl class="dl-horizontal key-pair-details">
|
<dl class="key-pair-details">
|
||||||
<dt translate>Public Key</dt>
|
<dt translate>Public Key</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<pre><code>{$ row.public_key $}</code></pre>
|
<pre><code>{$ row.public_key $}</code></pre>
|
||||||
|
@ -58,9 +58,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="rsp-p1">{$ row.name $}</td>
|
<td class="rsp-p1">{$ row.name $}</td>
|
||||||
<td class="rsp-p2">{$ row.fingerprint $}</td>
|
<td class="rsp-p2">{$ row.fingerprint $}</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list>
|
<action-list>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.deallocate" item="row">
|
callback="trCtrl.deallocate" item="row">
|
||||||
<span class="fa fa-minus"></span>
|
<span class="fa fa-minus"></span>
|
||||||
</action>
|
</action>
|
||||||
@ -68,11 +68,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr ng-repeat-end class="detail-row">
|
<tr ng-repeat-end class="detail-row">
|
||||||
<td></td>
|
<td class="detail" colspan="4" ng-include="ctrl.tableDetails"></td>
|
||||||
<td class="detail" colspan="3">
|
|
||||||
<dl class="dl-horizontal" ng-include="ctrl.tableDetails">
|
|
||||||
</dl>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -112,9 +108,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="rsp-p1">{$ row.name$}</td>
|
<td class="rsp-p1">{$ row.name$}</td>
|
||||||
<td class="rsp-p1">{$ row.fingerprint $}</td>
|
<td class="rsp-p1">{$ row.fingerprint $}</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list>
|
<action-list>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.allocate" item="row">
|
callback="trCtrl.allocate" item="row">
|
||||||
<span class="fa fa-plus"></span>
|
<span class="fa fa-plus"></span>
|
||||||
</action>
|
</action>
|
||||||
@ -122,8 +118,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr ng-repeat-end class="detail-row" ng-if="!trCtrl.allocatedIds[row.id]">
|
<tr ng-repeat-end class="detail-row" ng-if="!trCtrl.allocatedIds[row.id]">
|
||||||
<td></td>
|
<td class="detail" colspan="4" ng-include="ctrl.tableDetails">
|
||||||
<td class="detail" colspan="3" ng-include="ctrl.tableDetails">
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -52,9 +52,9 @@
|
|||||||
<td class="rsp-p1">{$ row.shared | yesno $}</td>
|
<td class="rsp-p1">{$ row.shared | yesno $}</td>
|
||||||
<td class="rsp-p1">{$ row.admin_state | decode:ctrl.networkAdminStates $}</td>
|
<td class="rsp-p1">{$ row.admin_state | decode:ctrl.networkAdminStates $}</td>
|
||||||
<td class="rsp-p1">{$ row.status | decode:ctrl.networkStatuses $}</td>
|
<td class="rsp-p1">{$ row.status | decode:ctrl.networkStatuses $}</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list>
|
<action-list>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.deallocate" item="row">
|
callback="trCtrl.deallocate" item="row">
|
||||||
<span class="fa fa-minus"></span>
|
<span class="fa fa-minus"></span>
|
||||||
</action>
|
</action>
|
||||||
@ -62,8 +62,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr ng-repeat-end class="detail-row">
|
<tr ng-repeat-end class="detail-row">
|
||||||
<td colspan="2"></td>
|
<td colspan="9" class="detail">
|
||||||
<td colspan="7" class="detail">
|
|
||||||
<dl class="dl-horizontal">
|
<dl class="dl-horizontal">
|
||||||
<dt translate>ID</dt>
|
<dt translate>ID</dt>
|
||||||
<dd>{$ row.id $}</dd>
|
<dd>{$ row.id $}</dd>
|
||||||
@ -72,17 +71,17 @@
|
|||||||
<dt translate>External Network</dt>
|
<dt translate>External Network</dt>
|
||||||
<dd>{$ row['router:external'] | yesno $}</dd>
|
<dd>{$ row['router:external'] | yesno $}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<div><b translate>Provider Network</b></div>
|
<span class="h5" translate>Provider Network</span>
|
||||||
<div class="row" class="detail">
|
<div class="row" class="detail">
|
||||||
<dl class="col-sm-3">
|
<dl class="col-sm-4">
|
||||||
<dt translate>Type</dt>
|
<dt translate>Type</dt>
|
||||||
<dd translate>{$ row['provider:network_type'] $}</dd>
|
<dd translate>{$ row['provider:network_type'] $}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="col-sm-3">
|
<dl class="col-sm-4">
|
||||||
<dt translate>Segmentation ID</dt>
|
<dt translate>Segmentation ID</dt>
|
||||||
<dd>{$ row['provider:segmentation_id'] $}</dd>
|
<dd>{$ row['provider:segmentation_id'] $}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="col-sm-3">
|
<dl class="col-sm-4">
|
||||||
<dt translate>Physical Network</dt>
|
<dt translate>Physical Network</dt>
|
||||||
<dd>{$ row['provider:physical_network'] $}</dd>
|
<dd>{$ row['provider:physical_network'] $}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
@ -94,8 +93,7 @@
|
|||||||
</allocated>
|
</allocated>
|
||||||
<available>
|
<available>
|
||||||
<hz-magic-search-context filter-facets="ctrl.networkFacets">
|
<hz-magic-search-context filter-facets="ctrl.networkFacets">
|
||||||
<hz-magic-search-bar>
|
<hz-magic-search-bar></hz-magic-search-bar>
|
||||||
</hz-magic-search-bar>
|
|
||||||
<table st-magic-search st-table="ctrl.tableDataMulti.displayedAvailable" st-safe-src="ctrl.tableDataMulti.available"
|
<table st-magic-search st-table="ctrl.tableDataMulti.displayedAvailable" st-safe-src="ctrl.tableDataMulti.available"
|
||||||
hz-table class="table table-striped table-rsp table-detail">
|
hz-table class="table table-striped table-rsp table-detail">
|
||||||
<thead>
|
<thead>
|
||||||
@ -129,14 +127,14 @@
|
|||||||
<td class="rsp-p1">{$ row.shared | yesno $}</td>
|
<td class="rsp-p1">{$ row.shared | yesno $}</td>
|
||||||
<td class="rsp-p1">{$ row.admin_state | decode:ctrl.networkAdminStates $}</td>
|
<td class="rsp-p1">{$ row.admin_state | decode:ctrl.networkAdminStates $}</td>
|
||||||
<td class="rsp-p1">{$ row.status | decode:ctrl.networkStatuses $}</td>
|
<td class="rsp-p1">{$ row.status | decode:ctrl.networkStatuses $}</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list button-tooltip="row.warningMessage"
|
<action-list button-tooltip="row.warningMessage"
|
||||||
bt-model="ctrl.tooltipModel" bt-disabled="!row.disabled"
|
bt-model="ctrl.tooltipModel" bt-disabled="!row.disabled"
|
||||||
warning-classes="'invalid'">
|
warning-classes="'invalid'">
|
||||||
<notifications>
|
<notifications>
|
||||||
<span class="fa fa-exclamation-circle invalid" ng-show="row.disabled"></span>
|
<span class="fa fa-exclamation-circle invalid" ng-show="row.disabled"></span>
|
||||||
</notifications>
|
</notifications>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.allocate" item="row" disabled="row.disabled">
|
callback="trCtrl.allocate" item="row" disabled="row.disabled">
|
||||||
<span class="fa fa-plus"></span>
|
<span class="fa fa-plus"></span>
|
||||||
</action>
|
</action>
|
||||||
@ -144,8 +142,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr ng-repeat-end class="detail-row" ng-if="!trCtrl.allocatedIds[row.id]">
|
<tr ng-repeat-end class="detail-row" ng-if="!trCtrl.allocatedIds[row.id]">
|
||||||
<td></td>
|
<td colspan="9" class="detail">
|
||||||
<td colspan="7" class="detail">
|
|
||||||
<dl class="dl-horizontal">
|
<dl class="dl-horizontal">
|
||||||
<dt translate>ID</dt>
|
<dt translate>ID</dt>
|
||||||
<dd>{$ row.id $}</dd>
|
<dd>{$ row.id $}</dd>
|
||||||
@ -154,17 +151,17 @@
|
|||||||
<dt translate>External Network</dt>
|
<dt translate>External Network</dt>
|
||||||
<dd>{$ row['router:external'] | yesno $}</dd>
|
<dd>{$ row['router:external'] | yesno $}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<div><b translate>Provider Network</b></div>
|
<span class="h5" translate>Provider Network</span>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<dl class="col-sm-3">
|
<dl class="col-sm-4">
|
||||||
<dt translate>Type</dt>
|
<dt translate>Type</dt>
|
||||||
<dd>{$ row['provider:network_type'] $}</dd>
|
<dd translate>{$ row['provider:network_type'] $}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="col-sm-3">
|
<dl class="col-sm-4">
|
||||||
<dt translate>Segmentation ID</dt>
|
<dt translate>Segmentation ID</dt>
|
||||||
<dd>{$ row['provider:segmentation_id'] $}</dd>
|
<dd>{$ row['provider:segmentation_id'] $}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="col-sm-3">
|
<dl class="col-sm-4">
|
||||||
<dt translate>Physical Network</dt>
|
<dt translate>Physical Network</dt>
|
||||||
<dd>{$ row['provider:physical_network'] $}</dd>
|
<dd>{$ row['provider:physical_network'] $}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<th class="rsp-p2" translate>IP</th>
|
<th class="rsp-p2" translate>IP</th>
|
||||||
<th st-sort="admin_state" class="rsp-p1" translate>Admin State</th>
|
<th st-sort="admin_state" class="rsp-p1" translate>Admin State</th>
|
||||||
<th st-sort="status" class="rsp-p1" translate>Status</th>
|
<th st-sort="status" class="rsp-p1" translate>Status</th>
|
||||||
<th class="action-col"></th>
|
<th class="actions_column"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -45,9 +45,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="rsp-p1">{$ item.admin_state | decode:ctrl.portAdminStates $}</td>
|
<td class="rsp-p1">{$ item.admin_state | decode:ctrl.portAdminStates $}</td>
|
||||||
<td class="rsp-p1">{$ item.status | decode:ctrl.portStatuses $}</td>
|
<td class="rsp-p1">{$ item.status | decode:ctrl.portStatuses $}</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list>
|
<action-list>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.deallocate" item="item">
|
callback="trCtrl.deallocate" item="item">
|
||||||
<span class="fa fa-minus"></span>
|
<span class="fa fa-minus"></span>
|
||||||
</action>
|
</action>
|
||||||
@ -93,7 +93,7 @@
|
|||||||
<th class="rsp-p2" translate>IP</th>
|
<th class="rsp-p2" translate>IP</th>
|
||||||
<th st-sort="admin_state" class="rsp-p1" translate>Admin State</th>
|
<th st-sort="admin_state" class="rsp-p1" translate>Admin State</th>
|
||||||
<th st-sort="status" class="rsp-p1" translate>Status</th>
|
<th st-sort="status" class="rsp-p1" translate>Status</th>
|
||||||
<th class="action-col"></th>
|
<th class="actions_column"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -118,9 +118,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="rsp-p1">{$ item.admin_state | decode:ctrl.portAdminStates $}</td>
|
<td class="rsp-p1">{$ item.admin_state | decode:ctrl.portAdminStates $}</td>
|
||||||
<td class="rsp-p1">{$ item.status | decode:ctrl.portStatuses $}</td>
|
<td class="rsp-p1">{$ item.status | decode:ctrl.portStatuses $}</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list>
|
<action-list>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.allocate" item="item">
|
callback="trCtrl.allocate" item="item">
|
||||||
<span class="fa fa-plus"></span>
|
<span class="fa fa-plus"></span>
|
||||||
</action>
|
</action>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<table st-table="row.security_group_rules" class="table table-rsp security-group-details">
|
<table st-table="row.security_group_rules" class="table table-condensed table-rsp security-group-details">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th st-sort="direction" st-sort-default translate>Direction</th>
|
<th st-sort="direction" st-sort-default translate>Direction</th>
|
||||||
|
@ -33,9 +33,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="rsp-p1">{$ row.name $}</td>
|
<td class="rsp-p1">{$ row.name $}</td>
|
||||||
<td class="rsp-p2">{$ row.description $}</td>
|
<td class="rsp-p2">{$ row.description $}</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list>
|
<action-list>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.deallocate" item="row">
|
callback="trCtrl.deallocate" item="row">
|
||||||
<span class="fa fa-minus"></span>
|
<span class="fa fa-minus"></span>
|
||||||
</action>
|
</action>
|
||||||
@ -85,9 +85,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="rsp-p1">{$ row.name$}</td>
|
<td class="rsp-p1">{$ row.name$}</td>
|
||||||
<td class="rsp-p1">{$ row.description $}</td>
|
<td class="rsp-p1">{$ row.description $}</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list>
|
<action-list>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.allocate" item="row">
|
callback="trCtrl.allocate" item="row">
|
||||||
<span class="fa fa-plus"></span>
|
<span class="fa fa-plus"></span>
|
||||||
</action>
|
</action>
|
||||||
@ -95,8 +95,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr ng-repeat-end class="detail-row" ng-if="!trCtrl.allocatedIds[row.id]">
|
<tr ng-repeat-end class="detail-row" ng-if="!trCtrl.allocatedIds[row.id]">
|
||||||
<td></td>
|
<td class="detail" colspan="4" ng-include="ctrl.tableDetails">
|
||||||
<td class="detail" colspan="3" ng-include="ctrl.tableDetails">
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -1,26 +1,21 @@
|
|||||||
<td></td>
|
<td colspan="{$ ::ctrl.tableHeadCells.length +2 $}" class="detail">
|
||||||
|
|
||||||
<td colspan="{$ ::ctrl.tableHeadCells.length $}" class="detail">
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<dl class="col-sm-2">
|
<dl class="col-xs-4">
|
||||||
<dt translate>Min Disk</dt>
|
<dt translate>Min Disk (GB)</dt>
|
||||||
<dd>
|
<dd>
|
||||||
{$ (row.properties ? row.min_disk : row.volume_image_metadata.min_disk) || '--' $}
|
{$ (row.properties ? row.min_disk : row.volume_image_metadata.min_disk) || '--' $}
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="col-sm-2">
|
<dl class="col-xs-4">
|
||||||
<dt translate>Min RAM</dt>
|
<dt translate>Min RAM (MB)</dt>
|
||||||
<dd>
|
<dd>
|
||||||
{$ (row.properties ? row.min_ram : row.volume_image_metadata.min_ram) || '--' $}
|
{$ (row.properties ? row.min_ram : row.volume_image_metadata.min_ram) || '--' $}
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row"
|
<div ng-if="model.metadataDefs.image || model.metadataDefs.volume">
|
||||||
ng-if="model.metadataDefs.image || model.metadataDefs.volume">
|
|
||||||
|
|
||||||
<div class="col-sm-12">
|
|
||||||
<div ng-if="row.properties && model.metadataDefs.image">
|
<div ng-if="row.properties && model.metadataDefs.image">
|
||||||
<metadata-display
|
<metadata-display
|
||||||
available="::model.metadataDefs.image"
|
available="::model.metadataDefs.image"
|
||||||
@ -36,8 +31,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td></td>
|
|
||||||
|
@ -133,32 +133,32 @@
|
|||||||
// Mapping for dynamic table headers
|
// Mapping for dynamic table headers
|
||||||
var tableHeadCellsMap = {
|
var tableHeadCellsMap = {
|
||||||
image: [
|
image: [
|
||||||
{ text: gettext('Name'), style: { width: '30%' }, sortable: true, sortDefault: true },
|
{ text: gettext('Name'), sortable: true, sortDefault: true },
|
||||||
{ text: gettext('Updated'), style: { width: '15%' }, sortable: true },
|
{ text: gettext('Updated'), sortable: true },
|
||||||
{ text: gettext('Size'), style: { width: '15%' }, classList: ['number'], sortable: true },
|
{ text: gettext('Size'), classList: ['number'], sortable: true },
|
||||||
{ text: gettext('Type'), sortable: true },
|
{ text: gettext('Type'), sortable: true },
|
||||||
{ text: gettext('Visibility'), sortable: true }
|
{ text: gettext('Visibility'), sortable: true }
|
||||||
],
|
],
|
||||||
snapshot: [
|
snapshot: [
|
||||||
{ text: gettext('Name'), style: { width: '30%' }, sortable: true, sortDefault: true },
|
{ text: gettext('Name'), sortable: true, sortDefault: true },
|
||||||
{ text: gettext('Updated'), style: { width: '15%' }, sortable: true },
|
{ text: gettext('Updated'), sortable: true },
|
||||||
{ text: gettext('Size'), style: { width: '15%' }, classList: ['number'], sortable: true },
|
{ text: gettext('Size'), classList: ['number'], sortable: true },
|
||||||
{ text: gettext('Type'), sortable: true },
|
{ text: gettext('Type'), sortable: true },
|
||||||
{ text: gettext('Visibility'), sortable: true }
|
{ text: gettext('Visibility'), sortable: true }
|
||||||
],
|
],
|
||||||
volume: [
|
volume: [
|
||||||
{ text: gettext('Name'), style: { width: '25%' }, sortable: true, sortDefault: true },
|
{ text: gettext('Name'), sortable: true, sortDefault: true },
|
||||||
{ text: gettext('Description'), style: { width: '20%' }, sortable: true },
|
{ text: gettext('Description'), sortable: true },
|
||||||
{ text: gettext('Size'), style: { width: '15%' }, classList: ['number'], sortable: true },
|
{ text: gettext('Size'), classList: ['number'], sortable: true },
|
||||||
{ text: gettext('Type'), style: { width: '20%' }, sortable: true },
|
{ text: gettext('Type'), sortable: true },
|
||||||
{ text: gettext('Availability Zone'), style: { width: '20%' }, sortable: true }
|
{ text: gettext('Availability Zone'), sortable: true }
|
||||||
],
|
],
|
||||||
volume_snapshot: [
|
volume_snapshot: [
|
||||||
{ text: gettext('Name'), style: { width: '25%' }, sortable: true, sortDefault: true },
|
{ text: gettext('Name'), sortable: true, sortDefault: true },
|
||||||
{ text: gettext('Description'), style: { width: '20%' }, sortable: true },
|
{ text: gettext('Description'), sortable: true },
|
||||||
{ text: gettext('Size'), style: { width: '15%' }, classList: ['number'], sortable: true },
|
{ text: gettext('Size'), classList: ['number'], sortable: true },
|
||||||
{ text: gettext('Created'), style: { width: '15%' }, sortable: true },
|
{ text: gettext('Created'), sortable: true },
|
||||||
{ text: gettext('Status'), style: { width: '20%' }, sortable: true }
|
{ text: gettext('Status'), sortable: true }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -171,26 +171,21 @@
|
|||||||
{ key: 'name', classList: ['hi-light'] },
|
{ key: 'name', classList: ['hi-light'] },
|
||||||
{ key: 'updated_at', filter: dateFilter, filterArg: 'short' },
|
{ key: 'updated_at', filter: dateFilter, filterArg: 'short' },
|
||||||
{ key: 'size', filter: bytesFilter, classList: ['number'] },
|
{ key: 'size', filter: bytesFilter, classList: ['number'] },
|
||||||
{ key: 'disk_format', style: { 'text-transform': 'uppercase' },
|
{ key: 'disk_format', filter: diskFormatFilter, filterRawData: true },
|
||||||
filter: diskFormatFilter, filterRawData: true },
|
{ key: 'is_public', filter: decodeFilter, filterArg: _visibilitymap }
|
||||||
{ key: 'is_public', filter: decodeFilter, filterArg: _visibilitymap,
|
|
||||||
style: { 'text-transform': 'capitalize' } }
|
|
||||||
],
|
],
|
||||||
snapshot: [
|
snapshot: [
|
||||||
{ key: 'name', classList: ['hi-light'] },
|
{ key: 'name', classList: ['hi-light'] },
|
||||||
{ key: 'updated_at', filter: dateFilter, filterArg: 'short' },
|
{ key: 'updated_at', filter: dateFilter, filterArg: 'short' },
|
||||||
{ key: 'size', filter: bytesFilter, classList: ['number'] },
|
{ key: 'size', filter: bytesFilter, classList: ['number'] },
|
||||||
{ key: 'disk_format', style: { 'text-transform': 'uppercase' },
|
{ key: 'disk_format', filter: diskFormatFilter, filterRawData: true },
|
||||||
filter: diskFormatFilter, filterRawData: true },
|
{ key: 'is_public', filter: decodeFilter, filterArg: _visibilitymap }
|
||||||
{ key: 'is_public', filter: decodeFilter, filterArg: _visibilitymap,
|
|
||||||
style: { 'text-transform': 'capitalize' } }
|
|
||||||
],
|
],
|
||||||
volume: [
|
volume: [
|
||||||
{ key: 'name', classList: ['hi-light'] },
|
{ key: 'name', classList: ['hi-light'] },
|
||||||
{ key: 'description' },
|
{ key: 'description' },
|
||||||
{ key: 'size', filter: gbFilter, classList: ['number'] },
|
{ key: 'size', filter: gbFilter, classList: ['number'] },
|
||||||
{ key: 'volume_image_metadata', filter: diskFormatFilter,
|
{ key: 'volume_image_metadata', filter: diskFormatFilter },
|
||||||
style: { 'text-transform': 'uppercase' } },
|
|
||||||
{ key: 'availability_zone' }
|
{ key: 'availability_zone' }
|
||||||
],
|
],
|
||||||
volume_snapshot: [
|
volume_snapshot: [
|
||||||
@ -198,7 +193,7 @@
|
|||||||
{ key: 'description' },
|
{ key: 'description' },
|
||||||
{ key: 'size', filter: gbFilter, classList: ['number'] },
|
{ key: 'size', filter: gbFilter, classList: ['number'] },
|
||||||
{ key: 'created_at', filter: dateFilter, filterArg: 'short' },
|
{ key: 'created_at', filter: dateFilter, filterArg: 'short' },
|
||||||
{ key: 'status', style: { 'text-transform': 'capitalize' } }
|
{ key: 'status' }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -103,29 +103,23 @@
|
|||||||
hz-table
|
hz-table
|
||||||
st-safe-src="ctrl.tableData.allocated"
|
st-safe-src="ctrl.tableData.allocated"
|
||||||
st-table="ctrl.tableData.displayAllocated">
|
st-table="ctrl.tableData.displayAllocated">
|
||||||
|
|
||||||
<!-- transfer table, allocated table head -->
|
<!-- transfer table, allocated table head -->
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="expander"></th>
|
<th class="expander"></th>
|
||||||
<th ng-class="ctrl.tableHeadCells[0].classList"
|
<th ng-class="ctrl.tableHeadCells[0].classList">
|
||||||
ng-style="ctrl.tableHeadCells[0].style">
|
|
||||||
{$ ctrl.tableHeadCells[0].text $}
|
{$ ctrl.tableHeadCells[0].text $}
|
||||||
</th>
|
</th>
|
||||||
<th ng-class="ctrl.tableHeadCells[1].classList"
|
<th ng-class="ctrl.tableHeadCells[1].classList">
|
||||||
ng-style="ctrl.tableHeadCells[1].style">
|
|
||||||
{$ ctrl.tableHeadCells[1].text $}
|
{$ ctrl.tableHeadCells[1].text $}
|
||||||
</th>
|
</th>
|
||||||
<th ng-class="ctrl.tableHeadCells[2].classList"
|
<th ng-class="ctrl.tableHeadCells[2].classList">
|
||||||
ng-style="ctrl.tableHeadCells[2].style">
|
|
||||||
{$ ctrl.tableHeadCells[2].text $}
|
{$ ctrl.tableHeadCells[2].text $}
|
||||||
</th>
|
</th>
|
||||||
<th ng-class="ctrl.tableHeadCells[3].classList"
|
<th ng-class="ctrl.tableHeadCells[3].classList">
|
||||||
ng-style="ctrl.tableHeadCells[3].style">
|
|
||||||
{$ ctrl.tableHeadCells[3].text $}
|
{$ ctrl.tableHeadCells[3].text $}
|
||||||
</th>
|
</th>
|
||||||
<th ng-class="ctrl.tableHeadCells[4].classList"
|
<th ng-class="ctrl.tableHeadCells[4].classList">
|
||||||
ng-style="ctrl.tableHeadCells[4].style">
|
|
||||||
{$ ctrl.tableHeadCells[4].text $}
|
{$ ctrl.tableHeadCells[4].text $}
|
||||||
</th>
|
</th>
|
||||||
<th class="action"></th>
|
<th class="action"></th>
|
||||||
@ -149,24 +143,19 @@
|
|||||||
hz-expand-detail
|
hz-expand-detail
|
||||||
title="{$ ::trCtrl.helpText.expandDetailsText $}"></span>
|
title="{$ ::trCtrl.helpText.expandDetailsText $}"></span>
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[0].classList"
|
<td ng-class="ctrl.tableBodyCells[0].classList">
|
||||||
ng-style="ctrl.tableBodyCells[0].style">
|
|
||||||
{$ ctrl.tableBodyCells[0].filter ? ctrl.tableBodyCells[0].filter(row[ctrl.tableBodyCells[0].key], ctrl.tableBodyCells[0].filterArg) : row[ctrl.tableBodyCells[0].key] $}
|
{$ ctrl.tableBodyCells[0].filter ? ctrl.tableBodyCells[0].filter(row[ctrl.tableBodyCells[0].key], ctrl.tableBodyCells[0].filterArg) : row[ctrl.tableBodyCells[0].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[1].classList"
|
<td ng-class="ctrl.tableBodyCells[1].classList">
|
||||||
ng-style="ctrl.tableBodyCells[1].style">
|
|
||||||
{$ ctrl.tableBodyCells[1].filter ? ctrl.tableBodyCells[1].filter(row[ctrl.tableBodyCells[1].key], ctrl.tableBodyCells[1].filterArg) : row[ctrl.tableBodyCells[1].key] $}
|
{$ ctrl.tableBodyCells[1].filter ? ctrl.tableBodyCells[1].filter(row[ctrl.tableBodyCells[1].key], ctrl.tableBodyCells[1].filterArg) : row[ctrl.tableBodyCells[1].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[2].classList"
|
<td ng-class="ctrl.tableBodyCells[2].classList">
|
||||||
ng-style="ctrl.tableBodyCells[2].style">
|
|
||||||
{$ ctrl.tableBodyCells[2].filter ? ctrl.tableBodyCells[2].filter(row[ctrl.tableBodyCells[2].key], ctrl.tableBodyCells[2].filterArg) : row[ctrl.tableBodyCells[2].key] $}
|
{$ ctrl.tableBodyCells[2].filter ? ctrl.tableBodyCells[2].filter(row[ctrl.tableBodyCells[2].key], ctrl.tableBodyCells[2].filterArg) : row[ctrl.tableBodyCells[2].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[3].classList"
|
<td ng-class="ctrl.tableBodyCells[3].classList">
|
||||||
ng-style="ctrl.tableBodyCells[3].style">
|
|
||||||
{$ ctrl.tableBodyCells[3].filter ? ctrl.tableBodyCells[3].filter(ctrl.tableBodyCells[3].filterRawData ? row : row[ctrl.tableBodyCells[3].key], ctrl.tableBodyCells[3].filterArg) : row[ctrl.tableBodyCells[3].key] $}
|
{$ ctrl.tableBodyCells[3].filter ? ctrl.tableBodyCells[3].filter(ctrl.tableBodyCells[3].filterRawData ? row : row[ctrl.tableBodyCells[3].key], ctrl.tableBodyCells[3].filterArg) : row[ctrl.tableBodyCells[3].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[4].classList"
|
<td ng-class="ctrl.tableBodyCells[4].classList">
|
||||||
ng-style="ctrl.tableBodyCells[4].style">
|
|
||||||
<span ng-if="model.newInstanceSpec.source_type.type === 'volume' && row.availability_zone !== model.newInstanceSpec.availability_zone"
|
<span ng-if="model.newInstanceSpec.source_type.type === 'volume' && row.availability_zone !== model.newInstanceSpec.availability_zone"
|
||||||
class="invalid fa fa-exclamation-triangle"
|
class="invalid fa fa-exclamation-triangle"
|
||||||
popover="{$ ::trCtrl.helpText.volumeAZHelpText $}"
|
popover="{$ ::trCtrl.helpText.volumeAZHelpText $}"
|
||||||
@ -175,9 +164,9 @@
|
|||||||
popover-placement="top"></span>
|
popover-placement="top"></span>
|
||||||
{$ ctrl.tableBodyCells[4].filter ? ctrl.tableBodyCells[4].filter(row[ctrl.tableBodyCells[4].key], ctrl.tableBodyCells[4].filterArg) : row[ctrl.tableBodyCells[4].key] $}
|
{$ ctrl.tableBodyCells[4].filter ? ctrl.tableBodyCells[4].filter(row[ctrl.tableBodyCells[4].key], ctrl.tableBodyCells[4].filterArg) : row[ctrl.tableBodyCells[4].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list>
|
<action-list>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.deallocate"
|
callback="trCtrl.deallocate"
|
||||||
item="row">
|
item="row">
|
||||||
<span class="fa fa-minus"></span>
|
<span class="fa fa-minus"></span>
|
||||||
@ -209,31 +198,26 @@
|
|||||||
<th class="expander"></th>
|
<th class="expander"></th>
|
||||||
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[0].sortDefault $}"
|
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[0].sortDefault $}"
|
||||||
ng-class="ctrl.tableHeadCells[0].classList"
|
ng-class="ctrl.tableHeadCells[0].classList"
|
||||||
ng-style="ctrl.tableHeadCells[0].style"
|
|
||||||
st-sort="{$ ctrl.tableHeadCells[0].sortable && ctrl.tableBodyCells[0].key $}">
|
st-sort="{$ ctrl.tableHeadCells[0].sortable && ctrl.tableBodyCells[0].key $}">
|
||||||
{$ ctrl.tableHeadCells[0].text $}
|
{$ ctrl.tableHeadCells[0].text $}
|
||||||
</th>
|
</th>
|
||||||
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[1].sortDefault $}"
|
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[1].sortDefault $}"
|
||||||
ng-class="ctrl.tableHeadCells[1].classList"
|
ng-class="ctrl.tableHeadCells[1].classList"
|
||||||
ng-style="ctrl.tableHeadCells[1].style"
|
|
||||||
st-sort="{$ ctrl.tableHeadCells[1].sortable && ctrl.tableBodyCells[1].key $}">
|
st-sort="{$ ctrl.tableHeadCells[1].sortable && ctrl.tableBodyCells[1].key $}">
|
||||||
{$ ctrl.tableHeadCells[1].text $}
|
{$ ctrl.tableHeadCells[1].text $}
|
||||||
</th>
|
</th>
|
||||||
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[2].sortDefault $}"
|
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[2].sortDefault $}"
|
||||||
ng-class="ctrl.tableHeadCells[2].classList"
|
ng-class="ctrl.tableHeadCells[2].classList"
|
||||||
ng-style="ctrl.tableHeadCells[2].style"
|
|
||||||
st-sort="{$ ctrl.tableHeadCells[2].sortable && ctrl.tableBodyCells[2].key $}">
|
st-sort="{$ ctrl.tableHeadCells[2].sortable && ctrl.tableBodyCells[2].key $}">
|
||||||
{$ ctrl.tableHeadCells[2].text $}
|
{$ ctrl.tableHeadCells[2].text $}
|
||||||
</th>
|
</th>
|
||||||
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[3].sortDefault $}"
|
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[3].sortDefault $}"
|
||||||
ng-class="ctrl.tableHeadCells[3].classList"
|
ng-class="ctrl.tableHeadCells[3].classList"
|
||||||
ng-style="ctrl.tableHeadCells[3].style"
|
|
||||||
st-sort="{$ ctrl.tableHeadCells[3].sortable && ctrl.tableBodyCells[3].key $}">
|
st-sort="{$ ctrl.tableHeadCells[3].sortable && ctrl.tableBodyCells[3].key $}">
|
||||||
{$ ctrl.tableHeadCells[3].text $}
|
{$ ctrl.tableHeadCells[3].text $}
|
||||||
</th>
|
</th>
|
||||||
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[4].sortDefault $}"
|
<th ng-attr-st-sort-default="{$ ctrl.tableHeadCells[4].sortDefault $}"
|
||||||
ng-class="ctrl.tableHeadCells[4].classList"
|
ng-class="ctrl.tableHeadCells[4].classList"
|
||||||
ng-style="ctrl.tableHeadCells[4].style"
|
|
||||||
st-sort="{$ ctrl.tableHeadCells[4].sortable && ctrl.tableBodyCells[4].key $}">
|
st-sort="{$ ctrl.tableHeadCells[4].sortable && ctrl.tableBodyCells[4].key $}">
|
||||||
{$ ctrl.tableHeadCells[4].text $}
|
{$ ctrl.tableHeadCells[4].text $}
|
||||||
</th>
|
</th>
|
||||||
@ -259,24 +243,19 @@
|
|||||||
title="{$ ::trCtrl.helpText.expandDetailsText $}">
|
title="{$ ::trCtrl.helpText.expandDetailsText $}">
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[0].classList"
|
<td ng-class="ctrl.tableBodyCells[0].classList">
|
||||||
ng-style="ctrl.tableBodyCells[0].style">
|
|
||||||
{$ ctrl.tableBodyCells[0].filter ? ctrl.tableBodyCells[0].filter(row[ctrl.tableBodyCells[0].key], ctrl.tableBodyCells[0].filterArg) : row[ctrl.tableBodyCells[0].key] $}
|
{$ ctrl.tableBodyCells[0].filter ? ctrl.tableBodyCells[0].filter(row[ctrl.tableBodyCells[0].key], ctrl.tableBodyCells[0].filterArg) : row[ctrl.tableBodyCells[0].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[1].classList"
|
<td ng-class="ctrl.tableBodyCells[1].classList">
|
||||||
ng-style="ctrl.tableBodyCells[1].style">
|
|
||||||
{$ ctrl.tableBodyCells[1].filter ? ctrl.tableBodyCells[1].filter(row[ctrl.tableBodyCells[1].key], ctrl.tableBodyCells[1].filterArg) : row[ctrl.tableBodyCells[1].key] $}
|
{$ ctrl.tableBodyCells[1].filter ? ctrl.tableBodyCells[1].filter(row[ctrl.tableBodyCells[1].key], ctrl.tableBodyCells[1].filterArg) : row[ctrl.tableBodyCells[1].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[2].classList"
|
<td ng-class="ctrl.tableBodyCells[2].classList">
|
||||||
ng-style="ctrl.tableBodyCells[2].style">
|
|
||||||
{$ ctrl.tableBodyCells[2].filter ? ctrl.tableBodyCells[2].filter(row[ctrl.tableBodyCells[2].key], ctrl.tableBodyCells[2].filterArg) : row[ctrl.tableBodyCells[2].key] $}
|
{$ ctrl.tableBodyCells[2].filter ? ctrl.tableBodyCells[2].filter(row[ctrl.tableBodyCells[2].key], ctrl.tableBodyCells[2].filterArg) : row[ctrl.tableBodyCells[2].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[3].classList"
|
<td ng-class="ctrl.tableBodyCells[3].classList">
|
||||||
ng-style="ctrl.tableBodyCells[3].style">
|
|
||||||
{$ ctrl.tableBodyCells[3].filter ? ctrl.tableBodyCells[3].filter(ctrl.tableBodyCells[3].filterRawData ? row : row[ctrl.tableBodyCells[3].key], ctrl.tableBodyCells[3].filterArg) : row[ctrl.tableBodyCells[3].key] $}
|
{$ ctrl.tableBodyCells[3].filter ? ctrl.tableBodyCells[3].filter(ctrl.tableBodyCells[3].filterRawData ? row : row[ctrl.tableBodyCells[3].key], ctrl.tableBodyCells[3].filterArg) : row[ctrl.tableBodyCells[3].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td ng-class="ctrl.tableBodyCells[4].classList"
|
<td ng-class="ctrl.tableBodyCells[4].classList">
|
||||||
ng-style="ctrl.tableBodyCells[4].style">
|
|
||||||
<span ng-if="model.newInstanceSpec.source_type.type === 'volume' && row.availability_zone !== model.newInstanceSpec.availability_zone"
|
<span ng-if="model.newInstanceSpec.source_type.type === 'volume' && row.availability_zone !== model.newInstanceSpec.availability_zone"
|
||||||
class="invalid fa fa-exclamation-triangle"
|
class="invalid fa fa-exclamation-triangle"
|
||||||
popover="{$ ::trCtrl.helpText.volumeAZHelpText $}"
|
popover="{$ ::trCtrl.helpText.volumeAZHelpText $}"
|
||||||
@ -285,9 +264,9 @@
|
|||||||
popover-placement="top"></span>
|
popover-placement="top"></span>
|
||||||
{$ ctrl.tableBodyCells[4].filter ? ctrl.tableBodyCells[4].filter(row[ctrl.tableBodyCells[4].key], ctrl.tableBodyCells[4].filterArg) : row[ctrl.tableBodyCells[4].key] $}
|
{$ ctrl.tableBodyCells[4].filter ? ctrl.tableBodyCells[4].filter(row[ctrl.tableBodyCells[4].key], ctrl.tableBodyCells[4].filterArg) : row[ctrl.tableBodyCells[4].key] $}
|
||||||
</td>
|
</td>
|
||||||
<td class="action-col">
|
<td class="actions_column">
|
||||||
<action-list>
|
<action-list>
|
||||||
<action action-classes="'btn btn-sm btn-default'"
|
<action action-classes="'btn btn-default'"
|
||||||
callback="trCtrl.allocate"
|
callback="trCtrl.allocate"
|
||||||
item="row">
|
item="row">
|
||||||
<span class="fa fa-plus"></span>
|
<span class="fa fa-plus"></span>
|
||||||
|
Loading…
Reference in New Issue
Block a user