blob: af24a63ea6e73c7f9f41432bb3e602f137935741 [file] [log] [blame]
<!-- Flow partial HTML -->
<div id="ov-flow">
<div class="tabular-header">
<h2>
Flows for Device {{devId || "(No device selected)"}}
({{tableData.length}} total)
</h2>
<div class="ctrl-btns">
<div class="refresh" ng-class="{active: autoRefresh}"
icon icon-size="42" icon-id="refresh"
tooltip tt-msg="autoRefreshTip"
ng-click="toggleRefresh()"></div>
<div class="separator"></div>
<span ng-if="brief">
<div class="active"
icon icon-id="plus" icon-size="42"
tooltip tt-msg="detailTip"
ng-click="briefToggle()"> </div>
</span>
<span ng-if="!brief">
<div class="active"
icon icon-id="minus" icon-size="42"
tooltip tt-msg="briefTip"
ng-click="briefToggle()"> </div>
</span>
<div class="separator"></div>
<div class="active"
icon icon-id="deviceTable" icon-size="42"
tooltip tt-msg="deviceTip"
ng-click="nav('device')"></div>
<div class="current-view"
icon icon-id="flowTable" icon-size="42"></div>
<div class="active"
icon icon-id="portTable" icon-size="42"
tooltip tt-msg="portTip"
ng-click="nav('port')"></div>
<div class="active"
icon icon-id="groupTable" icon-size="42"
tooltip tt-msg="groupTip"
ng-click="nav('group')"></div>
<div class="active"
icon icon-id="meterTable" icon-size="42"
tooltip tt-msg="meterTip"
ng-click="nav('meter')"></div>
</div>
<div class="search">
<input type="text" ng-model="queryTxt" placeholder="Search"/>
<select ng-model="queryBy">
<option value="" disabled>Search By</option>
<option value="$">All Fields</option>
<!--<option value="id">Flow ID</option>-->
<option value="priority">Priority</option>
<option value="tableId">Table ID</option>
<option value="selector">Selector</option>
<option value="treatment">Treatment</option>
<option value="appName">App Name</option>
</select>
</div>
</div>
<div class="summary-list" onos-table-resize>
<div class="table-header" onos-sortable-header>
<table>
<tr>
<!--<td colId="id" col-width="180px" sortable>Flow ID </td>-->
<td colId="state" col-width="100px" sortable>State </td>
<!--<td class="right" colId="bytes" col-width="90px" sortable> Bytes </td>-->
<td class="right" colId="packets" col-width="90px" sortable> Packets </td>
<td class="right" colId="duration" col-width="90px" sortable> Duration </td>
<td colId="priority" col-width="80px" sortable> Priority </td>
<td colId="tableId" col-width="80px" sortable> Table ID </td>
<td colId="selector" sortable> Selector </td>
<td colId="treatment" sortable> Treatment </td>
<td colId="appName" sortable> App Name </td>
</tr>
</table>
</div>
<div class="table-body">
<table onos-flash-changes id-prop="id">
<tr ng-if="!tableData.length" class="no-data">
<td colspan="10">
{{annots.no_rows_msg}}
</td>
</tr>
<tr ng-repeat-start="flow in tableData | filter:queryFilter track by $index"
ng-click="selectCallback($event, flow)"
ng-class="{selected: flow.id === selId}"
ng-repeat-complete row-id="{{flow.id}}">
<!--<td>{{flow.id}}</td>-->
<td>{{flow.state}}</td>
<!--<td class="right">{{flow.bytes}}</td>-->
<td class="right">{{flow.packets}}</td>
<td class="right">{{flow.duration}}</td>
<td>{{flow.priority}}</td>
<td>{{flow.tableId}}</td>
<td>{{flow.selector_c}}</td>
<td>{{flow.treatment_c}}</td>
<td>{{flow.appName}}</td>
</tr>
<tr ng-click="selectCallback($event, flow)"
ng-class="{selected: flow.id === selId}"
row-id="{{flow.id}}" ng-hide="brief">
<td class="selector" colspan="8" >{{flow.selector}} </td>
</tr>
<tr ng-click="selectCallback($event, flow)"
ng-class="{selected: flow.id === selId}"
row-id="{{flow.id}}" ng-hide="brief" ng-repeat-end>
<td class="treatment" colspan="8">{{flow.treatment}}</td>
</tr>
</table>
</div>
</div>
<flow-details-panel></flow-details-panel>
</div>