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-container-large 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 {{ (totalPages > 0) ? currentPage+1 : 0 }} 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
                      <tr *ngIf="infoMessage">
115
                        <td colspan="7">{{ infoMessage }}</td>
116
                      </tr>
117
                      <tbody *ngIf="jobsOfUser && jobsOfUser.jobs">
118
                      <tr class="el-item" *ngFor="let job of jobsOfUser.jobs">
119
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
120
                          <div class="el-title">{{ job.baseUrl }}</div>
121
                        </td>
122
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
123
                          <div *ngIf="job.validationType.includes('C')" class="el-title">OAI Content</div>
124
                          <div *ngIf="job.validationType.includes('U')" class="el-title">OAI Usage</div>
125
                        </td>
126
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
127
                          <div *ngIf="job.validationType.includes('C')" class="el-title">{{ job.contentJobStatus }}</div>
128
                          <div *ngIf="job.validationType.includes('U')" class="el-title">{{ job.usageJobStatus }}</div>
129
                        </td>
130
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
131
                          <div *ngIf="job.validationType.includes('C')" class="el-title">{{ job.contentJobScore }}</div>
132
                          <div *ngIf="job.validationType.includes('U')" class="el-title">{{ job.usageJobScore }}</div>
133
                        </td>
134
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
135
                          <div class="el-title">{{ job.started }}</div>
136
                        </td>
137
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
138
                          <div class="el-title">{{ job.guidelinesShortName }}</div>
139
                        </td>
140
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
141
                          <div class="el-link">
142
                            <div class="viewDetailsLinkWrapper">
143
                              <a class="viewDetails" [routerLink]="[job.id]">
144
                                View Results<i class="fa fa-angle-right"></i>
145
                              </a>
146
                            </div>
147
                            <div>
148
                              <a class="resubmitJob" (click)="resubmitJob(job.id.toString(), job.userEmail)">Resubmit Job<i class="fa fa-repeat"></i></a>
149
                            </div>
150
                          </div>
151
                        </td>
152
                        <td class="uk-table-shrink" style="vertical-align: top !important;">
153
                          <img type="image" [src]="getResultImage(job.validationStatus)" title="{{job.validationStatus}}">
154
                        </td>
155
                      </tr>
156
                      </tbody>
157
                    </table>
158
                  </div>
159
                </div>
160
              </div>
161
              <div>
162
                <ul class="uk-pagination">
163
                  <li>
164
                    <a class="uk-link uk-link-muted" (click)="goToPreviousPage()">
165
                    <span class="uk-margin-small-right uk-pagination-previous uk-icon" uk-pagination-previous="">
166
                      <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg"
167
                           icon="pagination-previous" ratio="1"></svg>
168
                    </span>
169
                      Previous
170
                    </a>
171
                  </li>
172
                  <li class="uk-margin-auto-left">
173
                    <a class="uk-link uk-link-muted" (click)="goToNextPage()">
174
                      Next
175
                      <span class="uk-margin-small-left uk-pagination-next uk-icon" uk-pagination-next="">
176
                        <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg"
177
                             icon="pagination-next" ratio="1"></svg>
178
                      </span>
179
                    </a>
180
                  </li>
181
                </ul>
182
                <div class="resultsPageLabel">page {{ (totalPages > 0) ? currentPage+1 : 0 }} of {{ totalPages }}</div>
183
              </div>
184
            </div>
185
            <div class="row"></div>
186
          </div>
187

    
188
        </div>
189

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

    
195
      </div>
196
    </div>
197

    
198

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

    
204

    
205
  </div>
206
</div>
207

    
(11-11/17)