Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/clients/clients.cshtml @ 15428

Last change on this file since 15428 was 14820, checked in by jkarder, 8 years ago

#2743: worked on web app

  • added sorting functionality to some tables
File size: 6.3 KB
Line 
1@using HeuristicLab.Services.Access.DataTransfer
2@using HeuristicLab.Services.Hive
3<header class="view-header">
4    <ul class="nav nav-list nav-list-topbar pull-left">
5        <li>
6            <a ng-href="#/statistics/jobs">Jobs</a>
7        </li>
8        @if (Request.IsAuthenticated && User.IsInRole(HiveRoles.Administrator)) {
9            <li>
10                <a ng-href="#/statistics/users">Users</a>
11            </li>
12        }
13        <li class="active">
14            <a ng-href="#/statistics/clients">Clients</a>
15        </li>
16        <li>
17            <a ng-href="#/statistics/groups">Groups</a>
18        </li>
19        @if (Request.IsAuthenticated && User.IsInRole(HiveRoles.Administrator)) {
20            <li>
21                <a ng-href="#/statistics/exceptions">Exceptions</a>
22            </li>
23        }
24    </ul>
25</header>
26
27<div class="default-view-container">
28    <div class="row">
29        <div class="col-lg-12">
30            <div class="panel panel-default">
31                <div class="panel-heading">
32                    <h3 class="panel-title">Current Clients</h3>
33                </div>
34                <div class="panel-body">
35                    <table class="table table-hover table-condensed" ts-wrapper>
36                        <thead>
37                        <tr>
38                            <th>#</th>
39                            <th ts-criteria="Name">Client Name</th>
40                            <th ts-criteria="GroupName">Group Name</th>
41                            <th ts-criteria="UsedCores">Cores</th>
42                            <th ts-criteria="CpuUtilization">Cpu Utilization</th>
43                            <th ts-criteria="UsedMemory">Memory</th>
44                            <th ts-criteria="State">State</th>
45                            <th></th>
46                        </tr>
47                        </thead>
48                        <tr ng-repeat="client in clientPage.Clients" ts-repeat>
49                            <td>{{($index + 1)+((curClientsPage-1)*(clientsPageSize))}}</td>
50                            <td>{{client.Name}}</td>
51                            <td>
52                                <a ng-show="client.GroupName" ng-href="#/statistics/groups/{{client.GroupId}}">{{client.GroupName}}</a>
53                                <span ng-hide="client.GroupName">No Group</span>
54                            </td>
55                            <td>{{client.UsedCores}} / {{client.TotalCores}}</td>
56                            <td>{{client.CpuUtilization | number: 2}} %</td>
57                            <td>{{client.UsedMemory | kbToGB}} / {{client.TotalMemory | kbToGB}} GB</td>
58                            <td>{{client.State}}</td>
59                            <td>
60                                <a ng-href="#/statistics/clients/{{client.Id}}">Details</a>
61                            </td>
62                        </tr>
63                        <tr ng-hide="clientPage.Clients.length">
64                            <td colspan="7" class="text-center">No clients found!</td>
65                        </tr>
66                    </table>
67                    <div class="row text-center" ng-show="clientPage.TotalClients > clientPage.Clients.length">
68                        <pagination max-size="10" total-items="clientPage.TotalClients" ng-model="curClientsPage" ng-change="changeClientsPage()" items-per-page="clientsPageSize"
69                                    boundary-links="true" rotate="false" num-pages="numPages"></pagination>
70                    </div>
71                </div>
72            </div>
73        </div>
74    </div>
75
76    <div class="row">
77        <div class="col-lg-12">
78            <div class="panel panel-default">
79                <div class="panel-heading">
80                    <h3 class="panel-title">Expired Clients</h3>
81                </div>
82                <div class="panel-body">
83                    <table class="table table-hover table-condensed" ts-wrapper>
84                        <thead>
85                            <tr>
86                                <th>#</th>
87                                <th ts-criteria="Name">Client Name</th>
88                                <th ts-criteria="GroupName">Group Name</th>
89                                <th ts-criteria="UsedCores">Cores</th>
90                                <th ts-criteria="CpuUtilization">Cpu Utilization</th>
91                                <th ts-criteria="UsedMemory">Memory</th>
92                                <th ts-criteria="State">State</th>
93                                <th></th>
94                            </tr>
95                        </thead>
96                        <tr ng-repeat="client in expiredClientPage.Clients" ts-repeat>
97                            <td>{{($index + 1)+((curExpiredClientsPage-1)*(expiredClientsPageSize))}}</td>
98                            <td>{{client.Name}}</td>
99                            <td>
100                                <span ng-show="client.GroupName">{{client.GroupName}}</span>
101                                <span ng-hide="client.GroupName">No Group</span>
102                            </td>
103                            <td>{{client.UsedCores}} / {{client.TotalCores}}</td>
104                            <td>{{client.CpuUtilization | number: 2}} %</td>
105                            <td>{{client.UsedMemory | kbToGB}} / {{client.TotalMemory | kbToGB}} GB</td>
106                            <td>{{client.State}}</td>
107                            <td>
108                                <a ng-href="#/statistics/clients/{{client.Id}}">Details</a>
109                            </td>
110                        </tr>
111                        <tr ng-hide="expiredClientPage.Clients.length">
112                            <td colspan="7" class="text-center">No expired clients found!</td>
113                        </tr>
114                    </table>
115                    <div class="row text-center" ng-show="expiredClientPage.TotalClients > expiredClientPage.Clients.length">
116                        <pagination max-size="10" total-items="expiredClientPage.TotalClients" ng-model="curExpiredClientsPage" ng-change="changeExpiredClientsPage()" items-per-page="expiredClientsPageSize"
117                                    boundary-links="true" rotate="false" num-pages="numPages"></pagination>
118                    </div>
119                </div>
120            </div>
121        </div>
122    </div>
123</div>
Note: See TracBrowser for help on using the repository browser.