125 lines
4.0 KiB
HTML
125 lines
4.0 KiB
HTML
<table ng-controller="ListenersTableController as table"
|
|
hz-table ng-cloak
|
|
st-table="table.items"
|
|
st-safe-src="table.src"
|
|
default-sort="name"
|
|
default-sort-reverse="false"
|
|
class="table table-striped table-rsp table-detail">
|
|
<!--
|
|
TODO(jpomero): This table pattern does not allow for extensibility and should be revisited
|
|
once horizon implements a better one.
|
|
-->
|
|
|
|
<thead>
|
|
<tr>
|
|
<!--
|
|
Table-batch-actions:
|
|
This is where batch actions like searching, creating, and deleting.
|
|
-->
|
|
<th colspan="7" class="search-header">
|
|
<hz-search-bar icon-classes="fa-search">
|
|
<actions allowed="table.batchActions.actions" type="batch"></actions>
|
|
</hz-search-bar>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<!--
|
|
Table-column-headers:
|
|
This is where we declaratively define the table column headers.
|
|
Include select-col if you want to select all.
|
|
Include expander if you want to inline details.
|
|
Include action-col if you want to perform actions.
|
|
-->
|
|
<th class="multi_select_column">
|
|
<input type="checkbox" hz-select-all="table.items">
|
|
</th>
|
|
|
|
<th class="expander"></th>
|
|
|
|
<th class="rsp-p1" st-sort="name" st-sort-default="name" translate>Name</th>
|
|
<th class="rsp-p1" st-sort="description" translate>Description</th>
|
|
<th class="rsp-p1" st-sort="protocol" translate>Protocol</th>
|
|
<th class="rsp-p1" st-sort="port" translate>Port</th>
|
|
<th class="actions_column" translate>Actions</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<!--
|
|
Table-rows:
|
|
This is where we declaratively define the table columns.
|
|
Include select-col if you want to select all.
|
|
Include expander if you want to inline details.
|
|
Include action-col if you want to perform actions.
|
|
rsp-p1 rsp-p2 are responsive priority as user resizes window.
|
|
-->
|
|
<tr ng-repeat-start="item in table.items track by item.id"
|
|
ng-class="{'st-selected': checked[item.id]}">
|
|
|
|
<td class="multi_select_column">
|
|
<input type="checkbox"
|
|
ng-model="tCtrl.selections[item.id].checked"
|
|
hz-select="item">
|
|
</td>
|
|
<td class="expander">
|
|
<span class="fa fa-chevron-right"
|
|
hz-expand-detail
|
|
duration="200">
|
|
</span>
|
|
</td>
|
|
<td class="rsp-p1"><a ng-href="project/load_balancer/{$ ::table.loadbalancerId $}/listeners/{$ ::item.id $}">{$ ::(item.name || item.id) $}</a></td>
|
|
<td class="rsp-p1">{$ ::item.description | noValue $}</td>
|
|
<td class="rsp-p1">{$ ::item.protocol$}</td>
|
|
<td class="rsp-p1">{$ ::item.protocol_port$}</td>
|
|
<td class="actions_column">
|
|
<!--
|
|
Table-row-action-column:
|
|
Actions taken here apply to a single item/row.
|
|
-->
|
|
<actions allowed="table.rowActions.actions" type="row" item="item"></actions>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr ng-repeat-end class="detail-row">
|
|
<!--
|
|
Detail-row:
|
|
Contains detailed information on this item.
|
|
Can be toggled using the chevron button.
|
|
Ensure colspan is greater or equal to number of column-headers.
|
|
-->
|
|
<td class="detail" colspan="7">
|
|
|
|
<div class="row">
|
|
<dl class="col-sm-2">
|
|
<dt translate>ID</dt>
|
|
<dd>{$ ::item.id $}</dd>
|
|
</dl>
|
|
<dl class="col-sm-2">
|
|
<dt translate>Admin State Up</dt>
|
|
<dd>{$ ::item.admin_state_up | yesno $}</dd>
|
|
</dl>
|
|
<dl class="col-sm-2">
|
|
<dt translate>Connection Limit</dt>
|
|
<dd>{$ ::item.connection_limit | limit $}</dd>
|
|
</dl>
|
|
<dl class="col-sm-2">
|
|
<dt translate>Default Pool ID</dt>
|
|
<dd>{$ ::item.default_pool_id | noValue $}</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
<tr table-status table="table" column-count="7"></tr>
|
|
|
|
</tbody>
|
|
<!--
|
|
Table-footer:
|
|
This is where we display number of items and pagination controls.
|
|
-->
|
|
<tfoot hz-table-footer items="table.items"></tfoot>
|
|
|
|
</table>
|