1
|
<div class="uk-grid">
|
2
|
<div class="uk-width-expand">
|
3
|
<div >
|
4
|
<div class=" uk-margin uk-h6 uk-text-primary uk-animation-toggle"
|
5
|
(click)="showSources=!showSources; ">
|
6
|
SOURCES ({{sources.length + (inlineEntity?1:0) | number}})
|
7
|
<span *ngIf="!showSources" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
8
|
xmlns="http://www.w3.org/2000/svg" icon="chevron-left"
|
9
|
ratio="1"><polyline fill="none" stroke="#000"
|
10
|
stroke-width="1.03"
|
11
|
points="13 16 7 10 13 4"></polyline></svg></span>
|
12
|
<span *ngIf="showSources" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
13
|
xmlns="http://www.w3.org/2000/svg" icon="chevron-down"
|
14
|
ratio="1"><polyline fill="none" stroke="#000"
|
15
|
stroke-width="1.03"
|
16
|
points="16 7 10 13 4 7"></polyline></svg></span>
|
17
|
</div>
|
18
|
<ul *ngIf="inlineEntity && showSources" class="uk-list uk-animation-fade">
|
19
|
<li
|
20
|
[class]="(inlineEntity.warningMessages && inlineEntity.warningMessages.length > 0)?'uk-alert warningBorder':'uk-alert'">
|
21
|
<div class="uk-text-muted">
|
22
|
{{(!inlineEntity.result) ? inlineEntity.type : ((inlineEntity.result && inlineEntity.result.source == 'openaire') ? inlineEntity.type : (inlineEntity.result && inlineEntity.result.source + ' result'))}}
|
23
|
</div>
|
24
|
<div>
|
25
|
<claim-title [entity]="inlineEntity"></claim-title>
|
26
|
</div>
|
27
|
<claim-result-metadata [entity]="inlineEntity"></claim-result-metadata>
|
28
|
<claim-project-metadata [entity]="inlineEntity"></claim-project-metadata>
|
29
|
</li>
|
30
|
</ul>
|
31
|
<ul *ngIf="!inlineEntity && sources.length > 0 && showSources" class="uk-list uk-animation-fade">
|
32
|
<li *ngFor=" let entity of sources "
|
33
|
[class]="(entity.warningMessages && entity.warningMessages.length > 0)?'uk-alert warningBorder':'uk-alert '">
|
34
|
<div class="uk-text-muted">
|
35
|
{{(!entity.result) ? entity.type : ((entity.result && entity.result.source == 'openaire') ? entity.type : (entity.result && entity.result.source + ' result'))}}
|
36
|
</div>
|
37
|
<div class="uk-grid">
|
38
|
<div class="uk-width-expand">
|
39
|
<claim-title [entity]="entity"></claim-title>
|
40
|
<claim-result-metadata [entity]="entity"></claim-result-metadata>
|
41
|
<claim-project-metadata [entity]="entity"></claim-project-metadata>
|
42
|
<div *ngIf="entity.result && entity.result.source && entity.result.source!='openaire' "
|
43
|
class="uk-grid uk-margin-remove-top uk-text-small">
|
44
|
<div class="uk-width-1-2">
|
45
|
<span class="uk-text-muted">Type </span>
|
46
|
<select [(ngModel)]="entity.type" name="{{'select_type_'+entity.id}}"
|
47
|
class="uk-select uk-width-small">
|
48
|
<option [value]="'publication'" (click)="onTypeChanged('publication',entity, false)">Publication
|
49
|
</option>
|
50
|
<option [value]="'dataset'" (click)="onTypeChanged('dataset',entity, false)">Research data</option>
|
51
|
<option [value]="'software'" (click)="onTypeChanged('software',entity, false)">Software</option>
|
52
|
<option [value]="'other'" (click)="onTypeChanged('other',entity, false)">Other research product
|
53
|
</option>
|
54
|
</select>
|
55
|
</div>
|
56
|
|
57
|
|
58
|
<!-- <div class="uk-width-1-2 uk-grid uk-padding-remove-left ">-->
|
59
|
<!-- <span class="uk-text-muted uk-margin-small-top uk-padding-remove-left">Access mode</span>-->
|
60
|
<!-- <select [(ngModel)]="entity.result.accessRights" name="{{'select_rights_'+entity.id}}"-->
|
61
|
<!-- class="uk-select uk-width-small uk-padding-remove-left uk-margin-left">-->
|
62
|
<!-- <option *ngFor="let type of accessTypes" [value]="type"-->
|
63
|
<!-- (click)="accessRightsTypeChanged(type,entity, false)">{{type}}</option>-->
|
64
|
<!-- </select>-->
|
65
|
<!-- <my-date-picker *ngIf="entity.result.accessRights== 'EMBARGO'" name="{{'date'+entity.id}}"-->
|
66
|
<!-- [options]="myDatePickerOptions"-->
|
67
|
<!-- [(ngModel)]="nextDate" (dateChanged)="onDateChanged($event,entity, false)"-->
|
68
|
<!-- class="uk-width-expand uk-padding-remove-left"></my-date-picker>-->
|
69
|
<!-- <div *ngIf="entity.result.accessRights== 'EMBARGO'"-->
|
70
|
<!-- [class]="(getEmbargoEndDateMessage(entity)?'uk-text-warning':'')">{{getEmbargoEndDateMessage(entity)}}-->
|
71
|
<!-- </div>-->
|
72
|
<!-- </div>-->
|
73
|
<div class="uk-width-1-2 uk-padding-remove-left ">
|
74
|
<div class="uk-grid">
|
75
|
<span class="uk-text-muted uk-margin-small-top uk-padding-remove-left">Access mode</span>
|
76
|
<select [(ngModel)]="entity.result.accessRights" name="{{'select_rights_'+entity.id}}"
|
77
|
class="uk-select uk-width-small uk-padding-remove-left uk-margin-left">
|
78
|
<option *ngFor="let type of accessTypes" [value]="type"
|
79
|
(click)="accessRightsTypeChanged(type,entity, false)">{{type}}</option>
|
80
|
</select>
|
81
|
<my-date-picker *ngIf="entity.result.accessRights== 'EMBARGO'" name="{{'date'+entity.id}}"
|
82
|
[options]="myDatePickerOptions"
|
83
|
[(ngModel)]="embargoEndDates[entity.id+'_source']"
|
84
|
(dateChanged)="onDateChanged($event,entity, false)"
|
85
|
class="uk-width-expand uk-padding-remove-left"></my-date-picker>
|
86
|
</div>
|
87
|
<div *ngIf="entity.result.accessRights== 'EMBARGO' && getEmbargoEndDateMessage(entity)"
|
88
|
[class]="(getEmbargoEndDateMessage(entity)?'uk-text-warning':'')">{{getEmbargoEndDateMessage(entity)}}
|
89
|
</div>
|
90
|
</div>
|
91
|
</div>
|
92
|
</div>
|
93
|
<div class=" uk-margin-auto-vertical">
|
94
|
<a class=" uk-icon-button "
|
95
|
(click)="remove(entity, false)">
|
96
|
<span class="uk-icon">
|
97
|
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="minus"
|
98
|
ratio="1"><rect height="1" width="18" y="9" x="1"></rect></svg>
|
99
|
</span>
|
100
|
</a>
|
101
|
</div>
|
102
|
</div>
|
103
|
|
104
|
|
105
|
</li>
|
106
|
</ul>
|
107
|
</div>
|
108
|
<!-- Results-->
|
109
|
<div>
|
110
|
<div class=" uk-margin uk-h6 uk-text-primary uk-animation-toggle"
|
111
|
(click)="showLinksTo=!showLinksTo; ">
|
112
|
LINK TO ({{results.length | number}})
|
113
|
|
114
|
<span *ngIf="!showLinksTo" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
115
|
xmlns="http://www.w3.org/2000/svg"
|
116
|
icon="chevron-left" ratio="1"><polyline
|
117
|
fill="none" stroke="#000" stroke-width="1.03" points="13 16 7 10 13 4"></polyline></svg></span>
|
118
|
<span *ngIf="showLinksTo" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
119
|
xmlns="http://www.w3.org/2000/svg"
|
120
|
icon="chevron-down" ratio="1"><polyline
|
121
|
fill="none" stroke="#000" stroke-width="1.03" points="16 7 10 13 4 7"></polyline></svg></span>
|
122
|
|
123
|
</div>
|
124
|
<ul *ngIf="results.length > 0 && showLinksTo" class="uk-list uk-animation-fade">
|
125
|
<li *ngFor=" let entity of results "
|
126
|
[class]="(entity.warningMessages && entity.warningMessages.length > 0)?'uk-alert warningBorder':'uk-alert '">
|
127
|
<div class="uk-text-muted">
|
128
|
{{(!entity.result) ? entity.type : ((entity.result && entity.result.source == 'openaire') ? entity.type : (entity.result && entity.result.source + ' result'))}}
|
129
|
</div>
|
130
|
<div class="uk-grid">
|
131
|
<div class="uk-width-expand">
|
132
|
|
133
|
<claim-title [entity]="entity"></claim-title>
|
134
|
<claim-result-metadata [entity]="entity"></claim-result-metadata>
|
135
|
<claim-project-metadata [entity]="entity"></claim-project-metadata>
|
136
|
<div *ngIf="entity.result && entity.result.source && entity.result.source!='openaire' "
|
137
|
class="uk-grid uk-text-small uk-margin-remove-top">
|
138
|
<div class="uk-width-1-2">
|
139
|
<span class="uk-text-muted">Type </span>
|
140
|
<select [(ngModel)]="entity.type" name="{{'select_type_'+entity.id}}"
|
141
|
class="uk-select uk-width-small">
|
142
|
<option [value]="'publication'" (click)="onTypeChanged('publication',entity, false)">Publication
|
143
|
</option>
|
144
|
<option [value]="'dataset'" (click)="onTypeChanged('dataset',entity, false)">Research data</option>
|
145
|
<option [value]="'software'" (click)="onTypeChanged('software',entity, false)">Software</option>
|
146
|
<option [value]="'other'" (click)="onTypeChanged('other',entity, false)">Other research product
|
147
|
</option>
|
148
|
</select>
|
149
|
</div>
|
150
|
<div class="uk-width-1-2 uk-padding-remove-left ">
|
151
|
<div class="uk-grid">
|
152
|
<span class="uk-text-muted uk-margin-small-top uk-padding-remove-left">Access mode</span>
|
153
|
<select [(ngModel)]="entity.result.accessRights" name="{{'select_rights_'+entity.id}}"
|
154
|
class="uk-select uk-width-small uk-padding-remove-left uk-margin-left">
|
155
|
<option *ngFor="let type of accessTypes" [value]="type"
|
156
|
(click)="accessRightsTypeChanged(type,entity, true)">{{type}}</option>
|
157
|
</select>
|
158
|
<my-date-picker *ngIf="entity.result.accessRights== 'EMBARGO'" name="{{'date'+entity.id}}"
|
159
|
[options]="myDatePickerOptions"
|
160
|
[(ngModel)]="embargoEndDates[entity.id+'_result']"
|
161
|
(dateChanged)="onDateChanged($event,entity,
|
162
|
true)"
|
163
|
class="uk-width-expand uk-padding-remove-left"></my-date-picker>
|
164
|
</div>
|
165
|
<div *ngIf="entity.result.accessRights== 'EMBARGO' && getEmbargoEndDateMessage(entity)"
|
166
|
[class]="(getEmbargoEndDateMessage(entity)?'uk-text-warning':'')">{{getEmbargoEndDateMessage(entity)}}
|
167
|
</div>
|
168
|
</div>
|
169
|
</div>
|
170
|
</div>
|
171
|
<div class=" uk-margin-auto-vertical">
|
172
|
<a class="uk-icon-button "
|
173
|
(click)="remove(entity, true)">
|
174
|
<span class="uk-icon">
|
175
|
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="minus"
|
176
|
ratio="1"><rect height="1" width="18" y="9" x="1"></rect></svg>
|
177
|
</span>
|
178
|
</a>
|
179
|
</div>
|
180
|
</div>
|
181
|
|
182
|
|
183
|
</li>
|
184
|
</ul>
|
185
|
</div>
|
186
|
</div>
|
187
|
<div class="uk-width-1-3" *ngIf="errors.length > 0 || warnings.length > 0" >
|
188
|
<!-- Errors and Warning -->
|
189
|
<div *ngIf="errors.length > 0" class=" uk-margin uk-h6 uk-text-primary uk-animation-toggle"
|
190
|
(click)="showErrors=!showErrors ">
|
191
|
ERRORS ({{errors.length | number}})
|
192
|
<span *ngIf="!showErrors" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
193
|
xmlns="http://www.w3.org/2000/svg"
|
194
|
icon="chevron-left" ratio="1"><polyline
|
195
|
fill="none" stroke="#000" stroke-width="1.03" points="13 16 7 10 13 4"></polyline></svg></span>
|
196
|
<span *ngIf="showErrors" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
197
|
xmlns="http://www.w3.org/2000/svg"
|
198
|
icon="chevron-down" ratio="1"><polyline
|
199
|
fill="none" stroke="#000" stroke-width="1.03" points="16 7 10 13 4 7"></polyline></svg></span>
|
200
|
</div>
|
201
|
<div *ngIf="errors.length > 0 && showErrors" class=" uk-animation-fade">
|
202
|
<div *ngFor=" let message of errors " class="uk-alert dangerBorder">
|
203
|
{{message.type}}
|
204
|
</div>
|
205
|
</div>
|
206
|
<div *ngIf="warnings.length > 0"
|
207
|
class=" uk-margin uk-h6 uk-text-primary uk-animation-toggle" (click)="showWarnings=!showWarnings "> WARNINGS
|
208
|
({{warnings.length
|
209
|
| number}})
|
210
|
<span *ngIf="!showWarnings" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
211
|
xmlns="http://www.w3.org/2000/svg"
|
212
|
icon="chevron-left" ratio="1"><polyline
|
213
|
fill="none" stroke="#000" stroke-width="1.03" points="13 16 7 10 13 4"></polyline></svg></span>
|
214
|
<span *ngIf="showWarnings" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
215
|
xmlns="http://www.w3.org/2000/svg"
|
216
|
icon="chevron-down" ratio="1"><polyline
|
217
|
fill="none" stroke="#000" stroke-width="1.03" points="16 7 10 13 4 7"></polyline></svg></span>
|
218
|
</div>
|
219
|
|
220
|
<div *ngIf="warnings.length > 0 && showWarnings " class=" uk-animation-fade">
|
221
|
<div *ngFor=" let message of warnings " class="uk-alert warningBorder">
|
222
|
<div *ngIf="message.type == 'embargoEndDate'">
|
223
|
<div class="uk-text-warning uk-text-bold">
|
224
|
Embargo date must be later than published date in
|
225
|
</div>
|
226
|
<div class="">
|
227
|
{{message.resultTitle}}
|
228
|
</div>
|
229
|
</div>
|
230
|
<div *ngIf="message.type == 'projectDuration'">
|
231
|
<div class="uk-text-warning uk-text-bold">
|
232
|
Published date must be in the project's date boundaries
|
233
|
(from {{message.projectInfo.startDate}}{{(message.projectInfo.endDate) ? (' to ' + (addStringToNumber(message.projectInfo.endDate, 5))) : ''}}) in
|
234
|
</div>
|
235
|
<div class="">
|
236
|
{{message.resultTitle}}
|
237
|
</div>
|
238
|
<div class="uk-text-muted uk-text-small">
|
239
|
with link to
|
240
|
</div>
|
241
|
<div class="">
|
242
|
{{message.projectInfo.title}}
|
243
|
</div>
|
244
|
<div><span class="uk-text-muted uk-text-small">
|
245
|
Project boundaries: </span>({{message.projectInfo.startDate}}{{(message.projectInfo.endDate) ? (' - ' + (message.projectInfo.endDate) + ') +5 years') : ')'}}
|
246
|
</div>
|
247
|
</div>
|
248
|
|
249
|
</div>
|
250
|
</div>
|
251
|
</div>
|
252
|
|
253
|
<modal-alert (alertOutput)="confirmClose()">
|
254
|
</modal-alert>
|
255
|
</div>
|