Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/users/details/userDetails.cshtml @ 15682

Last change on this file since 15682 was 14828, 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@if (Request.IsAuthenticated && User.IsInRole(HiveRoles.Administrator)) {
4<header class="view-header">
5    <ul class="nav nav-list nav-list-topbar pull-left">
6        <li>
7            <a ng-href="#/statistics/jobs">Jobs</a>
8        </li>
9        <li class="active">
10            <a ng-href="#/statistics/users">Users</a>
11        </li>
12        <li>
13            <a ng-href="#/statistics/clients">Clients</a>
14        </li>
15        <li>
16            <a ng-href="#/statistics/groups">Groups</a>
17        </li>
18        <li>
19            <a ng-href="#/statistics/exceptions">Exceptions</a>
20        </li>
21    </ul>
22</header>
23
24<div class="default-view-container">
25    <div class="row">
26        <div class="col-lg-9 col-md-6">
27            <div class="panel panel-default">
28                <div class="panel-heading">
29                    <h3 class="panel-title">User Details</h3>
30                </div>
31                <div class="panel-body">
32                    <table class="table table-no-border table-condensed table-auto-width table-content">
33                        <tr>
34                            <td class="text-left">Name:</td>
35                            <td>{{user.Name}}</td>
36                        </tr>
37                    </table>
38                </div>
39            </div>
40        </div>
41
42        <div class="col-lg-3 col-md-6">
43            <div class="panel panel-default">
44                <div class="panel-heading">
45                    <h3 class="panel-title">Tasks Overview</h3>
46                </div>
47                <div class="panel-body">
48                    <table class="table table-no-border table-condensed table-auto-width table-content">
49                        <tr>
50                            <td class="text-left">Total:</td>
51                            <td class="text-right">{{totalUserTasks}}</td>
52                        </tr>
53                        <tr ng-repeat="state in user.TasksStates">
54                            <td class="text-left">{{state.State}}:</td>
55                            <td class="text-right">{{state.Count}}</td>
56                        </tr>
57                    </table>
58                </div>
59            </div>
60        </div>
61    </div>
62
63    <div class="row">
64        <div class="col-lg-12">
65            <div class="panel panel-default">
66                <div class="panel-heading">
67                    <h3 class="panel-title">Current Jobs</h3>
68                </div>
69                <div class="panel-body">
70                    <table class="table table-hover table-condensed" ts-wrapper>
71                        <thead>
72                            <tr>
73                                <th>#</th>
74                                <th ts-criteria="Name">Job Name</th>
75                                <th ts-criteria="DateCreated">Date Created</th>
76                                <th>Progress</th>
77                                <th></th>
78                            </tr>
79                        </thead>
80                        <tr ng-repeat="job in jobs" ts-repeat>
81                            <td>{{$index + 1}}</td>
82                            <td>{{job.Name}}</td>
83                            <td>{{job.DateCreated | toDate}}</td>
84                            <td>
85                                <progressbar class="progress active" max="job.TotalTasks" value="job.CompletedTasks" type="success"><i style="color:black; white-space:nowrap;">{{job.CompletedTasks}} / {{job.TotalTasks}}</i></progressbar>
86                            </td>
87                            <td>
88                                <a ng-href="#/statistics/jobs/{{job.Id}}">Details</a>
89                            </td>
90                        </tr>
91                        <tr ng-hide="jobs.length">
92                            <td colspan="5" class="text-center">No active jobs found!</td>
93                        </tr>
94                    </table>
95                </div>
96            </div>
97        </div>
98    </div>
99
100    <div class="row">
101        <div class="col-lg-12">
102            <div class="panel panel-default">
103                <div class="panel-heading">
104                    <h3 class="panel-title">Completed Jobs</h3>
105                </div>
106                <div class="panel-body">
107                    <table class="table table-hover table-condensed" ts-wrapper>
108                        <thead>
109                            <tr>
110                                <th>#</th>
111                                <th ts-criteria="Name">Job Name</th>
112                                <th ts-criteria="DateCreated">Date Created</th>
113                                <th ts-criteria="DateCompleted">Date Completed</th>
114                                <th ts-criteria="TotalTasks">Tasks</th>
115                                <th></th>
116                            </tr>
117                        </thead>
118                        <tr ng-repeat="job in completedJobPage.Jobs" ts-repeat>
119                            <td>{{($index + 1)+((completedJobCurPage-1)*(completedJobPageSize))}}</td>
120                            <td>{{job.Name}}</td>
121                            <td>{{job.DateCreated | toDate}}</td>
122                            <td>{{job.DateCompleted | toDate}}</td>
123                            <td>{{job.TotalTasks}}</td>
124                            <td><a ng-href="#/statistics/jobs/{{job.Id}}">Details</a></td>
125                        </tr>
126                        <tr ng-hide="completedJobPage.Jobs.length">
127                            <td colspan="6" class="text-center">No completed jobs found!</td>
128                        </tr>
129                    </table>
130                    <div class="row text-center" ng-show="completedJobPage.TotalJobs > completedJobPage.Jobs.length">
131                        <pagination max-size="10" total-items="completedJobPage.TotalJobs"
132                                    ng-model="completedJobCurPage" items-per-page="completedJobPageSize"
133                                    ng-change="changeCompletedJobPage()"
134                                    boundary-links="true" rotate="false" num-pages="numPages"></pagination>
135                    </div>
136                </div>
137            </div>
138        </div>
139    </div>
140</div>
141}
Note: See TracBrowser for help on using the repository browser.