2017-03-16 00:32:05 +00:00
|
|
|
<div class="panel panel-default" data-ng-controller="serverController">
|
|
|
|
<div class="panel-heading">
|
|
|
|
<div class="panel-title">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
|
|
Servers
|
|
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
|
|
<form class="form-inline pull-right">
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="search">Search:</label>
|
2017-03-18 19:28:54 +00:00
|
|
|
<input type="text" class="form-control" id="search" data-ng-model="servers_search">
|
2017-03-16 00:32:05 +00:00
|
|
|
</div>
|
2017-03-18 19:28:54 +00:00
|
|
|
<button type="button" title="Refresh" class="btn btn-default" aria-label="Refresh">
|
|
|
|
<span class="glyphicon glyphicon-refresh" title="Refresh" aria-hidden="false" ng-click="updateView()"></span>
|
|
|
|
</button>
|
2017-03-16 00:32:05 +00:00
|
|
|
</form>
|
2017-03-15 00:26:01 +00:00
|
|
|
</div>
|
2017-03-16 00:32:05 +00:00
|
|
|
</div>
|
2017-03-15 00:26:01 +00:00
|
|
|
</div>
|
2017-03-16 00:32:05 +00:00
|
|
|
</div>
|
2017-03-18 19:28:54 +00:00
|
|
|
|
2017-03-16 00:32:05 +00:00
|
|
|
<div class="panel-body">
|
|
|
|
<table class="table table-striped table-bordered">
|
2017-03-18 19:28:54 +00:00
|
|
|
<th width="3%">ID</th>
|
|
|
|
<th width="10%">Name</th>
|
|
|
|
<th width="10%">Address</th>
|
|
|
|
<th width="10%">Xfer (in/out)</th>
|
2017-03-20 00:04:47 +00:00
|
|
|
<th width="10%">Req/Resp</th>
|
2017-03-18 19:28:54 +00:00
|
|
|
<th width="10%">Time</th>
|
|
|
|
<th width="10%">Idle</th>
|
|
|
|
<th width="1%"><center><span class="glyphicon glyphicon-option-vertical" aria-hidden="true"></span></center></th>
|
|
|
|
|
2017-03-15 00:26:01 +00:00
|
|
|
|
2017-03-18 19:28:54 +00:00
|
|
|
<tr ng-repeat="s in servers | filter:servers_search | orderBy:'server_id'">
|
2017-03-16 00:32:05 +00:00
|
|
|
<td>{{ s.server_id }}</td>
|
|
|
|
<td>{{ s.server_name }}</td>
|
2017-03-18 19:28:54 +00:00
|
|
|
<td>
|
|
|
|
{{ s.source_address }}
|
|
|
|
<div ng-hide="checkDetail(s.server_id)">
|
2017-03-18 19:45:12 +00:00
|
|
|
domains({{ s.domains.length}})
|
2017-03-18 19:28:54 +00:00
|
|
|
<div ng-repeat="d in s.domains | orderBy:'domain_name'">
|
|
|
|
   {{ d.domain_name }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
{{ s.bytes_in | bytes }}/{{ s.bytes_out | bytes }}
|
|
|
|
<div ng-hide="checkDetail(s.server_id)">
|
2017-03-20 00:04:47 +00:00
|
|
|
 
|
2017-03-18 19:28:54 +00:00
|
|
|
<div ng-repeat="d in s.domains | orderBy:'domain_name'">
|
2017-03-18 19:45:12 +00:00
|
|
|
   {{ d.bytes_in | bytes }}/{{ d.bytes_out | bytes }}
|
2017-03-18 19:28:54 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</td>
|
2017-03-20 00:04:47 +00:00
|
|
|
<td>
|
|
|
|
{{ s.requests }}/{{ s.responses }}
|
|
|
|
<div ng-hide="checkDetail(s.server_id)">
|
|
|
|
 
|
|
|
|
<div ng-repeat="d in s.domains | orderBy:'domain_name'">
|
|
|
|
   {{ d.requests }}/{{ d.responses }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
|
2017-03-18 19:28:54 +00:00
|
|
|
<td>{{ s.duration | hfcduration }}</td>
|
|
|
|
<td>{{ s.idle | hfcduration }}</td>
|
|
|
|
<td>
|
|
|
|
<span class="glyphicon glyphicon-zoom-in" title="Detail" aria-hidden="false" ng-click="triggerDetail(s.server_id)"></span>
|
2017-03-20 00:04:47 +00:00
|
|
|
<div ng-hide="checkDetail(s.server_id)">
|
|
|
|
 
|
|
|
|
<div ng-repeat="d in s.domains | orderBy:'domain_name'">
|
|
|
|
<span class="glyphicon glyphicon-zoom-in" title="Detail" aria-hidden="false" ng-click="triggerDetail(s.server_id+d.domain_name)"></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
2017-03-18 19:28:54 +00:00
|
|
|
</td>
|
2017-03-16 00:32:05 +00:00
|
|
|
</tr>
|
2017-03-15 00:26:01 +00:00
|
|
|
|
2017-03-16 00:32:05 +00:00
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
2017-03-15 00:26:01 +00:00
|
|
|
</div>
|