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">{{ repoName }}</h1>
5
    <div class="uk-text uk-text-small uk-text-secondary">{{ topic }}</div>
6

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

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

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

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

    
23
          <div>
24
            <div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{errorMessage}}</div>
25
            <div *ngIf="successMessage" class="uk-alert uk-alert-success">{{successMessage}}</div>
26
            <div *ngIf="loadingMessage" class="loading-big">
27
              <div class="loader-big" style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">{{ loadingMessage }}</div>
28
              <div class="whiteFilm"></div>
29
            </div>
30
            <div *ngIf="noEvents" class="uk-alert">{{ noEvents }}</div>
31
            <div *ngIf="!noEvents && !loadingMessage && !errorMessage && eventsPage && eventsPage.totalPages>0" class="events-results">
32
              <div class="numberOfEventsLabel">
33

    
34
                <!-- RESTORE WHEN ADVANCED SHOW EVENTS IS FIXED AND SENDS CORRECT VALUE FOR CURRENT PAGE -->
35
                <!--<span>Showing {{(eventsPage.currPage*10)+1 }}-{{ ( (eventsPage.total < 10) || (eventsPage.total < (eventsPage.currPage+1)*10) ) ? (eventsPage.total) : (eventsPage.currPage+1)*10 }} of {{ eventsPage.total }} results</span>-->
36

    
37
                <!-- DELETE WHEN ADVANCED SHOW EVENTS IS FIXED AND SENDS CORRECT VALUE FOR CURRENT PAGE -->
38
                <span>Showing {{(currentPage*10)+1 }}-{{ ( (eventsPage.total < 10) || (eventsPage.total < (currentPage+1)*10) ) ? (eventsPage.total) : (currentPage+1)*10 }} of {{ eventsPage.total }} results</span>
39

    
40
                <span class="uk-float-right">
41
                  <button id="subscribe" type="button" class="uk-button uk-button-primary uk-button-small" (click)="showSubscriptionModal()">Subscribe to these events</button>
42
                </span>
43
              </div>
44
              <div>
45
                <ul class="uk-pagination">
46
                  <li>
47
                    <a class="uk-link uk-link-muted" (click)="goToPreviousPage()">
48
                <span class="uk-margin-small-right uk-pagination-previous uk-icon" uk-pagination-previous="">
49
                  <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg" icon="pagination-previous" ratio="1"></svg>
50
                </span>
51
                      Previous
52
                    </a>
53
                  </li>
54
                  <li class="uk-margin-auto-left">
55
                    <a class="uk-link uk-link-muted" (click)="goToNextPage()">
56
                      Next
57
                      <span class="uk-margin-small-left uk-pagination-next uk-icon" uk-pagination-next="">
58
                        <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg" icon="pagination-next" ratio="1"></svg>
59
                      </span>
60
                    </a>
61
                  </li>
62
                </ul>
63

    
64
                <!-- RESTORE WHEN ADVANCED SHOW EVENTS IS FIXED AND SENDS CORRECT VALUE FOR CURRENT PAGE -->
65
                <!--<div class="resultsPageLabel">page {{ eventsPage.currPage+1 }} of {{ eventsPage.totalPages }}</div>-->
66

    
67
                <!-- DELETE WHEN ADVANCED SHOW EVENTS IS FIXED AND SENDS CORRECT VALUE FOR CURRENT PAGE -->
68
                <div class="resultsPageLabel">page {{ (eventsPage.totalPages > 0) ? currentPage+1 : 0 }} of {{ eventsPage.totalPages }}</div>
69

    
70
              </div>
71
              <div *ngFor="let event of eventsPage.values" class="events-list">
72
                <div class="uk-card uk-card-default well uk-scrollspy-inview uk-animation-slide-top-medium">
73
                  <div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
74
                    <div class="uk-width-1-1@m uk-first-column">
75
                      <p class="text-right"><span class="uk-label">Trust: {{ event.trust }}</span></p>
76
                      <div class="uk-overflow-auto uk-scrollspy-inview uk-animation-slide-top-medium">
77
                        <table class="uk-table uk-table-striped uk-table-middle">
78
                          <tbody>
79
                          <tr class="el-item">
80
                            <td class="uk-table-shrink uk-width-1-4"><strong class="el-title uk-display-block">ID</strong></td>
81
                            <td class="uk-table-shrink">
82
                              <div class="el-title">{{ event.publication.originalId }}</div>
83
                            </td>
84
                          </tr>
85
                          <tr class="el-item">
86
                            <td class="uk-table-shrink uk-width-1-4"><strong class="el-title uk-display-block">Title(s)</strong></td>
87
                            <td class="uk-table-shrink">
88
                              <div class="el-title">
89
                                <span *ngFor="let t of event.publication.titles; let ti_index = index">
90
                                  <br *ngIf="ti_index>0">
91
                                  <span>{{ t }}</span>
92
                                </span>
93
                              </div>
94
                            </td>
95
                          </tr>
96
                          <tr class="el-item">
97
                            <td class="uk-table-shrink uk-width-1-4"><strong class="el-title uk-display-block">Author(s)</strong></td>
98
                            <td class="uk-table-shrink">
99
                              <div class="el-title">
100
                                <span *ngFor="let auth of event.publication.creators; let au_index = index">
101
                                  <span *ngIf="au_index>0"> | </span>
102
                                  <span>{{ auth }}</span>
103
                                </span>
104
                              </div>
105
                            </td>
106
                          </tr>
107
                          <tr class="el-item" [ngClass]="{'success': event.highlight.pids && event.highlight.pids.length>0 }">
108
                            <td class="uk-table-shrink uk-width-1-4"><strong class="el-title uk-display-block">PID(s)</strong></td>
109
                            <td class="uk-table-shrink">
110
                              <div class="el-title">
111
                                <span *ngFor="let pid of event.publication.pids">
112
                                  <span>{{ pid.value }} <b>&nbsp;&nbsp;({{ pid.type }})&nbsp;&nbsp;</b>
113
                                    <span *ngIf="event.highlight.pids && event.highlight.pids.length>0 && isHighlighted(pid,event.highlight.pids)">
114
                                      <span class="uk-label uk-label-success">added</span>&nbsp;&nbsp;
115
                                      <span *ngIf="event.provenance" class="pull-right">
116
                                        <b>from: </b>
117
                                        <a *ngIf="event.provenance.url" href="{{ event.provenance.url }}" target="_blank">{{ event.provenance.repositoryName }}</a>
118
                                        <span *ngIf="event.provenance.id"> (ID: {{ event.provenance.id }})</span>
119
                                      </span>
120
                                    </span>
121
                                  </span>
122
                                </span>
123
                              </div>
124
                            </td>
125
                          </tr>
126
                          <tr class="el-item" [ngClass]="{'success': event.highlight.abstracts && event.highlight.abstracts.length>0 }">
127
                            <td class="uk-table-shrink uk-width-1-4"><strong class="el-title uk-display-block">Abstract(s)</strong></td>
128
                            <td class="uk-table-shrink">
129
                              <div class="el-title">
130
                                <span *ngFor="let abs of event.publication.abstracts; let a_index = index">
131
                                  <br *ngIf="a_index > 0">
132
                                  <span>{{ abs }}</span>
133
                                  <span *ngIf="event.highlight.abstracts && event.highlight.abstracts.length>0 && event.provenance">
134
                                    <span class="pull-right">
135
                                      <b>from: </b>
136
                                      <a *ngIf="event.provenance.url" href="{{ event.provenance.url }}" target="_blank">{{ event.provenance.repositoryName }}</a>
137
                                      <span *ngIf="event.provenance.id"> (ID: {{ event.provenance.id }})</span>
138
                                    </span>
139
                                  </span>
140
                                </span>
141
                              </div>
142
                            </td>
143
                          </tr>
144
                          <tr class="el-item" [ngClass]="{'success': event.highlight.projects && event.highlight.projects.length>0 }">
145
                            <td class="uk-table-shrink uk-width-1-4"><strong class="el-title uk-display-block">Project(s)/Relation(s)</strong></td>
146
                            <td class="uk-table-shrink">
147
                              <div class="el-title">
148
                                <span *ngFor="let proj of event.publication.projects; let p_index = index">
149
                                  <br *ngIf="p_index > 0">
150
                                  <span *ngIf="proj.acronym && proj.acronym !==''">{{ proj.acronym }}</span>
151
                                  <span *ngIf="!proj.acronym || proj.acronym ===''">{{ proj.title }}</span>
152
                                  <span *ngIf="(proj.funder && proj.funder !=='') ||
153
                                               (proj.fundingProgram && proj.fundingProgram !=='')">
154
                                    (<span *ngIf="proj.funder && proj.funder !==''">{{ proj.funder }} </span>
155
                                    <span *ngIf="(proj.funder && proj.funder !=='') &&
156
                                                 (proj.fundingProgram && proj.fundingProgram !=='')">/</span>
157
                                    <span *ngIf="proj.fundingProgram && proj.fundingProgram !==''">{{ proj.fundingProgram }}</span>)
158
                                  </span>
159
                                  <span *ngIf="event.highlight.projects && event.highlight.projects.length>0 && event.provenance">
160
                                    <span class="pull-right">
161
                                      <b>from: </b>
162
                                      <a *ngIf="event.provenance.url" href="{{ event.provenance.url }}" target="_blank">{{ event.provenance.repositoryName }}</a>
163
                                      <span *ngIf="event.provenance.id"> (ID: {{ event.provenance.id }})</span>
164
                                    </span>
165
                                  </span>
166
                                </span>
167
                              </div>
168
                            </td>
169
                          </tr>
170
                          <tr class="el-item" [ngClass]="{'success': event.highlight.subjects && event.highlight.subjects.length>0 }">
171
                            <td class="uk-table-shrink uk-width-1-4"><strong class="el-title uk-display-block">Subject(s)</strong></td>
172
                            <td class="uk-table-shrink">
173
                              <div class="el-title">
174
                                <span *ngFor="let subj of event.publication.subjects; let s_index = index">
175
                                  <br *ngIf="s_index > 0">
176
                                  <span>{{ subj }}</span>
177
                                  <span *ngIf="event.highlight.subjects && event.highlight.subjects.length>0 && event.provenance">
178
                                    <span class="pull-right">
179
                                      <b>from: </b>
180
                                      <a *ngIf="event.provenance.url" href="{{ event.provenance.url }}" target="_blank">{{ event.provenance.repositoryName }}</a>
181
                                      <span *ngIf="event.provenance.id"> (ID: {{ event.provenance.id }})</span>
182
                                    </span>
183
                                  </span>
184
                                </span>
185
                              </div>
186
                            </td>
187
                          </tr>
188
                          <tr class="el-item" [ngClass]="{'success': event.highlight.publicationdate && event.highlight.publicationdate.length>0 }">
189
                            <td class="uk-table-shrink uk-width-1-4"><strong class="el-title uk-display-block">Publication date</strong></td>
190
                            <td class="uk-table-shrink"><div class="el-title">{{ event.publication.publicationdate }}</div></td>
191
                          </tr>
192
                          <tr class="el-item" [ngClass]="{'success': event.highlight.instances && event.highlight.instances.length>0 }">
193
                            <td class="uk-table-shrink uk-width-1-4"><strong class="el-title uk-display-block">Rights</strong></td>
194
                            <td class="uk-table-shrink">
195
                              <div class="el-title">
196
                                <span *ngFor="let l of event.publication.instances; let l_index = index">
197
                                  <br *ngIf="l_index > 0">
198
                                  <span>
199
                                    {{ l.license }}&nbsp;&nbsp;<b>{{ l.hostedby }}</b><br>
200
                                    <a href="{{ l.url }}" target="_blank">{{ l.url }}</a>
201
                                  </span>
202
                                  <span *ngIf="event.highlight.instances && event.highlight.instances.length>0 && isHighlighted(l,event.highlight.instances)">
203
                                    <span class="uk-label uk-label-success">added</span>&nbsp;&nbsp;
204
                                    <span *ngIf="event.provenance" class="pull-right">
205
                                      <b>from: </b>
206
                                      <a *ngIf="event.provenance.url" href="{{ event.provenance.url }}" target="_blank">{{ event.provenance.repositoryName }}</a>
207
                                      <span *ngIf="event.provenance.id"> (ID: {{ event.provenance.id }})</span>
208
                                    </span>
209
                                  </span>
210
                                </span>
211
                              </div>
212
                            </td>
213
                          </tr>
214
                          </tbody>
215
                        </table>
216
                      </div>
217
                    </div>
218
                  </div>
219
                </div>
220
              </div>
221
              <div>
222
                <ul class="uk-pagination">
223
                  <li>
224
                    <a class="uk-link uk-link-muted" (click)="goToPreviousPage()">
225
                <span class="uk-margin-small-right uk-pagination-previous uk-icon" uk-pagination-previous="">
226
                  <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg" icon="pagination-previous" ratio="1"></svg>
227
                </span>
228
                      Previous
229
                    </a>
230
                  </li>
231
                  <li class="uk-margin-auto-left">
232
                    <a class="uk-link uk-link-muted" (click)="goToNextPage()">
233
                      Next
234
                      <span class="uk-margin-small-left uk-pagination-next uk-icon" uk-pagination-next="">
235
                  <svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg" icon="pagination-next" ratio="1"></svg>
236
                </span>
237
                    </a>
238
                  </li>
239
                </ul>
240

    
241
                <!-- RESTORE WHEN ADVANCED SHOW EVENTS IS FIXED AND SENDS CORRECT VALUE FOR CURRENT PAGE -->
242
                <!--<div class="resultsPageLabel">page {{ eventsPage.currPage+1 }} of {{ eventsPage.totalPages }}</div>-->
243

    
244
                <!-- DELETE WHEN ADVANCED SHOW EVENTS IS FIXED AND SENDS CORRECT VALUE FOR CURRENT PAGE -->
245
                <div class="resultsPageLabel">page {{ (eventsPage.totalPages > 0) ? currentPage+1 : 0 }} of {{ eventsPage.totalPages }}</div>
246

    
247
              </div>
248
            </div>
249
          </div>
250
        </div>
251

    
252
        <!-- RIGHT HELP CONTENT CAN'T BE USED IN THIS PAGE -->
253
        <div [formGroup]="group" class="tm-sidebar uk-width-1-4@m">
254
          <div class="enrichContentAdvancedSearch uk-card uk-card-body uk-card-default sidemenu">
255
            <div>
256
              <h6 class="uk-h6 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium" uk-scrollspy-class="">
257
                <span>Tweak and refine events</span>
258
              </h6>
259
            </div>
260
            <div role="form" class="uk-form-horizontal">
261
              <div class="uk-form-horizontal">
262
                <div class="form-group">
263
                  <label class="control-label">Trust [{{group.get('trustMin').value}} - {{group.get('trustMax').value}}]</label><br>
264
                  <input type="range" min="0" max="1" step="0.05" formControlName="trustMin" class="uk-range"/>
265
                  <input type="range" min="0" max="1" step="0.05" formControlName="trustMax" class="uk-range"/>
266
                </div>
267
              </div>
268
              <div class="uk-form-horizontal">
269
                <div class="form-group">
270
                  <label class="control-label" style="display: block;">Title</label>
271
                  <div formArrayName="eventTitles" *ngFor="let title of eventTitleFormArray; let title_index = index">
272
                    <div [formGroupName]="title_index">
273
                      <input class="form-control inlineBlock" style="width:88%;" type="text" formControlName="eventTitle">
274
                      <a class="inlineBlock deleteIcon" (click)="removeControl('eventTitles',title_index)"><i class="fa fa-remove"></i></a>
275
                    </div>
276
                  </div>
277
                  <a (click)="addControl('eventTitles',titleDefinition)"><i class="fa fa-plus"></i> Add another</a>
278
                </div>
279
              </div>
280
              <div class="uk-form-horizontal">
281
                <div class="form-group">
282
                  <label class="control-label" style="display: block;">Author</label>
283
                  <div formArrayName="eventAuthors" *ngFor="let author of eventAuthorFormArray; let author_index = index">
284
                    <div [formGroupName]="author_index">
285
                      <input class="form-control inlineBlock" style="width:88%;" type="text" formControlName="eventAuthor">
286
                      <a class="inlineBlock deleteIcon" (click)="removeControl('eventAuthors',author_index)"><i class="fa fa-remove"></i></a>
287
                    </div>
288
                  </div>
289
                  <a (click)="addControl('eventAuthors', authorDefinition)"><i class="fa fa-plus"></i> Add another</a>
290
                </div>
291
              </div>
292
              <div class="uk-form-horizontal">
293
                <div class="form-group">
294
                  <label class="control-label" style="display: block;">Subject</label>
295
                  <div formArrayName="eventSubjects" *ngFor="let subject of eventSubjectsFormArray; let subject_index = index">
296
                    <div [formGroupName]="subject_index">
297
                      <input class="form-control inlineBlock" style="width:88%;" type="text" formControlName="eventSubject">
298
                      <a class="inlineBlock deleteIcon" (click)="removeControl('eventSubjects', subject_index)"><i class="fa fa-remove"></i></a>
299
                    </div>
300
                  </div>
301
                  <a (click)="addControl('eventSubjects', subjectDefinition)"><i class="fa fa-plus"></i> Add another</a>
302
                </div>
303
              </div>
304
              <div>
305
                <div class="uk-form-horizontal">
306
                  <div class="form-group">
307
                    <label class="control-label" style="display: block;">Date</label>
308
                    <div formArrayName="eventDateRanges" *ngFor="let date of eventDateRangesFormArray; let date_index = index">
309
                      <div class="uk-form" style="position: relative;" [formGroupName]=date_index>
310
                        <input class="form-control inlineBlock dateFrom" style="width:88%;"
311
                               placeholder="From"
312
                               type="text"
313
                               onfocus="(this.type='date')"
314
                               formControlName=dateFrom>
315
                        <input class="form-control inlineBlock dateTo" style="width:88%;"
316
                               placeholder="To"
317
                               type="text"
318
                               onfocus="(this.type='date')"
319
                               formControlName=dateTo>
320
                        <a class="inlineBlock deleteIcon" (click)="removeControl('eventDateRanges',date_index)"><i class="fa fa-remove" style=""></i></a>
321
                      </div>
322
                    </div>
323
                    <a (click)="addControl('eventDateRanges', dateRangeDefinition)"><i class="fa fa-plus"></i> Add another</a>
324
                  </div>
325
                </div>
326
              </div>
327
              <div role="form" class="form-horizontal">
328
                <div class="form-group">
329
                  <div class="actionButtons">
330
                    <button type="button" (click)="updateQuery()" class="uk-button uk-button-primary advancedSearch">Apply</button>
331
                    <button type="reset" (click)="clearForm()" class="uk-button uk-button-default clearCriteria">Clear</button>
332
                  </div>
333
                </div>
334
              </div>
335
            </div>
336
          </div>
337
        </div>
338

    
339
      </div>
340
    </div>
341

    
342

    
343
    <!-- BOTTOM HELP CONTENT -->
344
    <help-content #bottomHelperContent [position]="'bottom'"
345
                  [ngClass]="bottomHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
346
    </help-content>
347

    
348

    
349
  </div>
350
</div>
351

    
352

    
353
<confirmation-dialog #subscribeToEventsModal [title]="'Create subscription for'" [isModalShown]="isModalShown"
354
                     [confirmActionButton]="'Subscribe'" (emitObject)="subscribeToEvents($event)">
355
  <div *ngIf="eventsPage">
356
    <div *ngIf="modalErrorMessage" class="uk-alert uk-alert-danger">{{ modalErrorMessage }}</div>
357
    <div>
358
      <h4 class="uk-h4">{{ eventsPage.datasource }}</h4>
359
      <div class="uk-text uk-text-small uk-text-secondary">{{ eventsPage.topic }}</div>
360
    </div>
361
    <div>
362
      <div class="form-group">
363
        <label class="control-label">Email</label>
364
        <div>{{ userEmail }}</div>
365
      </div>
366
      <div class="form-group">
367
        <label class="control-label">Frequency (*)</label>
368
        <select class="form-control" #selectFreq (change)="choseFrequency(selectFreq.value)">
369
          <option value="">-- none selected --</option>
370
          <option value="never">never</option>
371
          <option value="realtime">realtime</option>
372
          <option value="daily">daily</option>
373
          <option value="weekly">weekly</option>
374
          <option value="monthly">monthly</option>
375
        </select>
376
      </div>
377
      <div class="form-group">
378
        <label class="control-label">Options</label>
379
        <div>
380
          <table class="table table-bordered">
381
            <tbody>
382
            <tr>
383
              <td>Trust</td>
384
              <td>[{{advanceSearch.trust.min}}, {{advanceSearch.trust.max}}]</td>
385
            </tr>
386
            </tbody>
387
          </table>
388
        </div>
389
      </div>
390
    </div>
391
  </div>
392
</confirmation-dialog>
(1-1/13)