blob: af24a63ea6e73c7f9f41432bb3e602f137935741 [file] [log] [blame]
Bri Prebilic Colecdc188d2015-04-24 16:40:11 -07001<!-- Flow partial HTML -->
Simon Hunt1002cd82015-04-23 14:44:03 -07002<div id="ov-flow">
Bri Prebilic Colecdc188d2015-04-24 16:40:11 -07003 <div class="tabular-header">
4 <h2>
Bri Prebilic Colee568ead2015-05-01 09:51:28 -07005 Flows for Device {{devId || "(No device selected)"}}
6 ({{tableData.length}} total)
Bri Prebilic Colecdc188d2015-04-24 16:40:11 -07007 </h2>
sisubram9ada8d72016-09-02 13:54:40 +05308
Bri Prebilic Cole3d4d01c2015-04-30 13:48:36 -07009 <div class="ctrl-btns">
Bri Prebilic Cole41d67652015-06-02 10:23:04 -070010 <div class="refresh" ng-class="{active: autoRefresh}"
Simon Hunt5487ce72016-06-06 15:31:10 -070011 icon icon-size="42" icon-id="refresh"
Bri Prebilic Coleeef67ae2015-07-01 16:26:59 -070012 tooltip tt-msg="autoRefreshTip"
Bri Prebilic Cole41d67652015-06-02 10:23:04 -070013 ng-click="toggleRefresh()"></div>
Bri Prebilic Cole9b1fb9a2015-07-01 13:57:11 -070014
15 <div class="separator"></div>
16
Kavitha Alagesaneaf614c2016-08-22 23:46:05 -070017 <span ng-if="brief">
18 <div class="active"
19 icon icon-id="plus" icon-size="42"
20 tooltip tt-msg="detailTip"
21 ng-click="briefToggle()"> </div>
22 </span>
23
24 <span ng-if="!brief">
25 <div class="active"
26 icon icon-id="minus" icon-size="42"
27 tooltip tt-msg="briefTip"
28 ng-click="briefToggle()"> </div>
29 </span>
30
31 <div class="separator"></div>
32
Simon Hunt20856ec2015-11-16 15:58:14 -080033 <div class="active"
Simon Hunt5487ce72016-06-06 15:31:10 -070034 icon icon-id="deviceTable" icon-size="42"
Simon Hunt20856ec2015-11-16 15:58:14 -080035 tooltip tt-msg="deviceTip"
36 ng-click="nav('device')"></div>
37
Bri Prebilic Cole9b1fb9a2015-07-01 13:57:11 -070038 <div class="current-view"
Simon Hunt5487ce72016-06-06 15:31:10 -070039 icon icon-id="flowTable" icon-size="42"></div>
Bri Prebilic Cole9b1fb9a2015-07-01 13:57:11 -070040
41 <div class="active"
Simon Hunt5487ce72016-06-06 15:31:10 -070042 icon icon-id="portTable" icon-size="42"
Bri Prebilic Coleeef67ae2015-07-01 16:26:59 -070043 tooltip tt-msg="portTip"
Bri Prebilic Cole9b1fb9a2015-07-01 13:57:11 -070044 ng-click="nav('port')"></div>
45
46 <div class="active"
Simon Hunt5487ce72016-06-06 15:31:10 -070047 icon icon-id="groupTable" icon-size="42"
Bri Prebilic Coleeef67ae2015-07-01 16:26:59 -070048 tooltip tt-msg="groupTip"
Bri Prebilic Cole9b1fb9a2015-07-01 13:57:11 -070049 ng-click="nav('group')"></div>
Jian Li1f544732015-12-30 23:36:37 -080050
51 <div class="active"
Simon Hunt5487ce72016-06-06 15:31:10 -070052 icon icon-id="meterTable" icon-size="42"
Jian Li1f544732015-12-30 23:36:37 -080053 tooltip tt-msg="meterTip"
54 ng-click="nav('meter')"></div>
Kavitha Alagesaneaf614c2016-08-22 23:46:05 -070055
Bri Prebilic Cole3d4d01c2015-04-30 13:48:36 -070056 </div>
Simon Huntc8f06d92016-09-28 17:28:26 -070057
58 <div class="search">
Simon Huntbb0f2672017-03-28 18:52:59 -070059 <input type="text" ng-model="queryTxt" placeholder="Search"/>
Simon Huntc8f06d92016-09-28 17:28:26 -070060 <select ng-model="queryBy">
61 <option value="" disabled>Search By</option>
62 <option value="$">All Fields</option>
Simon Hunt9bff5952017-07-13 14:05:09 -070063 <!--<option value="id">Flow ID</option>-->
Simon Huntc8f06d92016-09-28 17:28:26 -070064 <option value="priority">Priority</option>
Simon Hunt9bff5952017-07-13 14:05:09 -070065 <option value="tableId">Table ID</option>
66 <option value="selector">Selector</option>
67 <option value="treatment">Treatment</option>
Simon Hunt36b658d2017-07-14 16:20:11 -070068 <option value="appName">App Name</option>
Simon Huntc8f06d92016-09-28 17:28:26 -070069 </select>
70 </div>
71
Bri Prebilic Colecdc188d2015-04-24 16:40:11 -070072 </div>
73
Bri Prebilic Coleb3a6afe2015-06-24 14:10:41 -070074 <div class="summary-list" onos-table-resize>
Bri Prebilic Cole0c41ba22015-07-06 15:09:48 -070075 <div class="table-header" onos-sortable-header>
Bri Prebilic Colee568ead2015-05-01 09:51:28 -070076 <table>
77 <tr>
Simon Hunt9bff5952017-07-13 14:05:09 -070078 <!--<td colId="id" col-width="180px" sortable>Flow ID </td>-->
79 <td colId="state" col-width="100px" sortable>State </td>
80 <!--<td class="right" colId="bytes" col-width="90px" sortable> Bytes </td>-->
81 <td class="right" colId="packets" col-width="90px" sortable> Packets </td>
82 <td class="right" colId="duration" col-width="90px" sortable> Duration </td>
83 <td colId="priority" col-width="80px" sortable> Priority </td>
84 <td colId="tableId" col-width="80px" sortable> Table ID </td>
85 <td colId="selector" sortable> Selector </td>
86 <td colId="treatment" sortable> Treatment </td>
Simon Hunt36b658d2017-07-14 16:20:11 -070087 <td colId="appName" sortable> App Name </td>
Bri Prebilic Colee568ead2015-05-01 09:51:28 -070088 </tr>
89 </table>
90 </div>
Bri Prebilic Colecdc188d2015-04-24 16:40:11 -070091
Bri Prebilic Colee568ead2015-05-01 09:51:28 -070092 <div class="table-body">
Bri Prebilic Cole70aacc42015-07-22 11:28:34 -070093 <table onos-flash-changes id-prop="id">
Bri Prebilic Coleb3a6afe2015-06-24 14:10:41 -070094 <tr ng-if="!tableData.length" class="no-data">
Bri Prebilic Cole641b97b2015-05-05 14:47:40 -070095 <td colspan="10">
Jian Li8baf4472016-01-15 15:08:09 -080096 {{annots.no_rows_msg}}
Bri Prebilic Colee568ead2015-05-01 09:51:28 -070097 </td>
98 </tr>
99
sisubram9ada8d72016-09-02 13:54:40 +0530100 <tr ng-repeat-start="flow in tableData | filter:queryFilter track by $index"
Viswanath KSP7bdc9172016-10-19 20:19:17 +0530101 ng-click="selectCallback($event, flow)"
102 ng-class="{selected: flow.id === selId}"
Bri Prebilic Cole70aacc42015-07-22 11:28:34 -0700103 ng-repeat-complete row-id="{{flow.id}}">
Simon Hunt9bff5952017-07-13 14:05:09 -0700104
105 <!--<td>{{flow.id}}</td>-->
Bri Prebilic Colee568ead2015-05-01 09:51:28 -0700106 <td>{{flow.state}}</td>
Simon Hunt9bff5952017-07-13 14:05:09 -0700107 <!--<td class="right">{{flow.bytes}}</td>-->
Simon Huntbe60dde2016-01-13 12:26:56 -0800108 <td class="right">{{flow.packets}}</td>
Simon Hunt9bff5952017-07-13 14:05:09 -0700109 <td class="right">{{flow.duration}}</td>
110 <td>{{flow.priority}}</td>
111 <td>{{flow.tableId}}</td>
112 <td>{{flow.selector_c}}</td>
113 <td>{{flow.treatment_c}}</td>
Simon Hunt36b658d2017-07-14 16:20:11 -0700114 <td>{{flow.appName}}</td>
Bri Prebilic Colee568ead2015-05-01 09:51:28 -0700115 </tr>
Simon Hunta5c54532017-06-14 17:29:33 -0700116 <tr ng-click="selectCallback($event, flow)"
117 ng-class="{selected: flow.id === selId}"
118 row-id="{{flow.id}}" ng-hide="brief">
Simon Hunt9bff5952017-07-13 14:05:09 -0700119 <td class="selector" colspan="8" >{{flow.selector}} </td>
Bri Prebilic Colee568ead2015-05-01 09:51:28 -0700120 </tr>
Simon Hunta5c54532017-06-14 17:29:33 -0700121 <tr ng-click="selectCallback($event, flow)"
122 ng-class="{selected: flow.id === selId}"
123 row-id="{{flow.id}}" ng-hide="brief" ng-repeat-end>
Simon Hunt9bff5952017-07-13 14:05:09 -0700124 <td class="treatment" colspan="8">{{flow.treatment}}</td>
Bri Prebilic Colee568ead2015-05-01 09:51:28 -0700125 </tr>
126 </table>
127 </div>
128
129 </div>
Viswanath KSP7bdc9172016-10-19 20:19:17 +0530130 <flow-details-panel></flow-details-panel>
Bri Prebilic Colee568ead2015-05-01 09:51:28 -0700131
Simon Hunt1002cd82015-04-23 14:44:03 -0700132</div>