Project

General

Profile

1
<div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
2
  <div class="uk-width-1-1@m uk-first-column">
3

    
4
    <h1 class="uk-h2">Previous validations</h1>
5

    
6
    <!-- TOP HELP CONTENT -->
7
    <help-content #topHelperContent [position]="'top'"
8
                  [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
9
    </help-content>
10

    
11
    <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
12
      <div class="uk-grid">
13

    
14
        <!-- LEFT HELP CONTENT -->
15
        <aside-help-content #leftHelperContent [position]="'left'"
16
                            [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
17
        </aside-help-content>
18

    
19
        <!-- MIDDLE -->
20
        <div class=" uk-width-expand@m">
21

    
22
          <div *ngIf="successMessage" class="uk-alert uk-alert-success">{{ successMessage }}</div>
23
          <div *ngIf="failureMessage" class="uk-alert uk-alert-danger">{{ failureMessage }}</div>
24
          <div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{ errorMessage }}</div>
25
          <div *ngIf="loadingMessage" class="loading-big">
26
            <div class="loader-big"
27
                 style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">
28
              {{ loadingMessage }}
29
            </div>
30
            <div class="whiteFilm"></div>
31
          </div>
32
          <div *ngIf="jobsOfUser">
33
            <div class="uk-grid page-controls">
34
              <div class="uk-margin-bottom uk-width-1-1 filters">
35
                <div class="links">
36
                  <div class="filterLabel">Filter by job type:</div>
37
                  <div class="inlineBlock">
38
                    <select class="form-control" #selectType (change)="getJobType(selectType.value)">
39
                      <option value="">--none selected--</option>
40
                      <option *ngFor="let type of jobTypes" value="{{type}}">{{type}}</option>
41
                    </select>
42
                  </div>
43
                </div>
44
              </div>
45
              <div class="uk-margin-bottom uk-width-1-1 filters">
46
                <div class="links uk-inline">
47
                  <div class="filterLabel" style="display: inline;">Filter validation jobs:</div>
48
                  <a class="uk-active"
49
                     [class.active]="currentFilter==='all'"
50
                     (click)="filterJobs('all')">All jobs ({{this.jobsOfUser.totalJobs}})</a>
51
                  <a class="uk-active"
52
                     [class.active]="currentFilter==='successful'"
53
                     (click)="filterJobs('successful')">successful ({{this.jobsOfUser.totalJobsSuccessful}})</a>
54
                  <a class="uk-active"
55
                     [class.active]="currentFilter==='failed'"
56
                     (click)="filterJobs('failed')">failed ({{this.jobsOfUser.totalJobsFailed}})</a>
57
                  <a class="uk-active"
58
                     [class.active]="currentFilter==='ongoing'"
59
                     (click)="filterJobs('ongoing')">ongoing ({{this.jobsOfUser.totalJobsOngoing}})</a>
60
                </div>
61
                <div class="show-options uk-inline" style="float: right;">
62
                  <div class="filterLabel" style="display: inline;">Jobs per page:</div>
63
                  <div class="inlineBlock">
64
                    <select #itemsPerPage class="form-control" (change)="getItemsPerPage(itemsPerPage.value)">
65
                      <option value="10" selected>10</option>
66
                      <option value="25">25</option>
67
                      <option value="50">50</option>
68
                      <option value="100">100</option>
69
                    </select>
70
                  </div>
71
                </div>
72
              </div>
73
            </div>
74
            <div class="contentAndPagerPanel">
75
              <div>
76
                <ul class="uk-pagination">
77
                  <li>
78
                    <a class="uk-link uk-link-muted" (click)="goToPreviousPage()">
79
                      <span class="uk-margin-small-right uk-pagination-previous uk-icon" uk-pagination-previous="">
80
                        <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg"
81
                             icon="pagination-previous" ratio="1"></svg>
82
                      </span>
83
                      Previous
84
                    </a>
85
                  </li>
86
                  <li class="uk-margin-auto-left">
87
                    <a class="uk-link uk-link-muted" (click)="goToNextPage()">
88
                      Next
89
                      <span class="uk-margin-small-left uk-pagination-next uk-icon" uk-pagination-next="">
90
                        <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg"
91
                             icon="pagination-next" ratio="1"></svg>
92
                      </span>
93
                    </a>
94
                  </li>
95
                </ul>
96
                <div class="resultsPageLabel">page {{ currentPage+1 }} of {{ totalPages }}</div>
97
              </div>
98
              <div>
99
                <div>
100
                  <div class="uk-overflow-auto uk-scrollspy-inview uk-animation-slide-top-medium uk-margin-top uk-margin-bottom">
101
                    <table class="uk-table uk-table-middle uk-table-striped" style="vertical-align: top !important;">
102
                      <thead>
103
                      <tr>
104
                        <th>Repository</th>
105
                        <th>Validation Type</th>
106
                        <th>Status</th>
107
                        <th>Score</th>
108
                        <th>Started</th>
109
                        <th>Guidelines</th>
110
                        <th>Actions</th>
111
                        <th></th>
112
                      </tr>
113
                      </thead>
114
                      <div *ngIf="infoMessage" class="uk-alert">{{ infoMessage }}</div>
115
                      <tbody *ngIf="jobsOfUser && jobsOfUser.jobs">
116
                      <tr class="el-item" *ngFor="let job of jobsOfUser.jobs">
117
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
118
                          <div class="el-title">{{ job.baseUrl }}</div>
119
                        </td>
120
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
121
                          <div *ngIf="job.validationType.includes('C')" class="el-title">OAI Content</div>
122
                          <div *ngIf="job.validationType.includes('U')" class="el-title">OAI Usage</div>
123
                        </td>
124
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
125
                          <div *ngIf="job.validationType.includes('C')" class="el-title">{{ job.contentJobStatus }}</div>
126
                          <div *ngIf="job.validationType.includes('U')" class="el-title">{{ job.usageJobStatus }}</div>
127
                        </td>
128
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
129
                          <div *ngIf="job.validationType.includes('C')" class="el-title">{{ job.contentJobScore }}</div>
130
                          <div *ngIf="job.validationType.includes('U')" class="el-title">{{ job.usageJobScore }}</div>
131
                        </td>
132
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
133
                          <div class="el-title">{{ job.started }}</div>
134
                        </td>
135
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
136
                          <div class="el-title">{{ job.guidelinesShortName }}</div>
137
                        </td>
138
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
139
                          <div class="el-link">
140
                            <div class="viewDetailsLinkWrapper">
141
                              <a class="viewDetails" [routerLink]="[job.id]">
142
                                View Results<i class="fa fa-angle-right"></i>
143
                              </a>
144
                            </div>
145
                            <div>
146
                              <a class="resubmitJob" (click)="resubmitJob(job.id)">Resubmit Job<i class="fa fa-repeat"></i></a>
147
                            </div>
148
                          </div>
149
                        </td>
150
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
151
                          <input type="image" src="{{ getResultImage(job.validationStatus) }}" title="{{job.validationStatus}}" width="20" height="20">
152
                        </td>
153
                      </tr>
154
                      </tbody>
155
                    </table>
156
                  </div>
157
                </div>
158
              </div>
159
              <div>
160
                <ul class="uk-pagination">
161
                  <li>
162
                    <a class="uk-link uk-link-muted" (click)="goToPreviousPage()">
163
                    <span class="uk-margin-small-right uk-pagination-previous uk-icon" uk-pagination-previous="">
164
                      <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg"
165
                           icon="pagination-previous" ratio="1"></svg>
166
                    </span>
167
                      Previous
168
                    </a>
169
                  </li>
170
                  <li class="uk-margin-auto-left">
171
                    <a class="uk-link uk-link-muted" (click)="goToNextPage()">
172
                      Next
173
                      <span class="uk-margin-small-left uk-pagination-next uk-icon" uk-pagination-next="">
174
                        <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg"
175
                             icon="pagination-next" ratio="1"></svg>
176
                      </span>
177
                    </a>
178
                  </li>
179
                </ul>
180
                <div class="resultsPageLabel">page {{ currentPage+1 }} of {{ totalPages }}</div>
181
              </div>
182
            </div>
183
            <div class="row"></div>
184
          </div>
185

    
186
        </div>
187

    
188
        <!-- RIGHT HELP CONTENT -->
189
        <aside-help-content #rightHelperContent [position]="'right'"
190
                            [ngClass]="rightHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
191
        </aside-help-content>
192

    
193
      </div>
194
    </div>
195

    
196

    
197
    <!-- BOTTOM HELP CONTENT -->
198
    <help-content #bottomHelperContent [position]="'bottom'"
199
                  [ngClass]="bottomHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
200
    </help-content>
201

    
202

    
203
  </div>
204
</div>
205

    
(9-9/15)