Project

General

Profile

1
<!-- Before title -->
2
<div uk-grid>
3
  <div [class.uk-width-1-1]="!result.relation" [class.uk-width-1-2]="result.relation"
4
       [class.uk-width-3-4@s]="result.relation">
5
    <div class="uk-text-small">
6
      <span class="uk-text-capitalize">
7
        {{getTypeName(result.resultType)}}
8
      </span>
9
      <span
10
          *ngIf="properties.environment !== 'production' && result.types && removeDuplicates(result.types).length > 0">
11
        {{' . ' + removeDuplicates(result.types).join(' . ')}}
12
      </span>
13
      <span *ngIf="properties.environment === 'production' && result.types &&
14
          removeUnknown(removeDuplicates(result.types)).length > 0">
15
        {{' . ' + removeDuplicates(removeDuplicates(result.types)).join(' . ')}}
16
      </span>
17
      <span *ngIf="result.year">{{' . ' + result.year.toString()}}</span>
18
      <span *ngIf="result.startYear && result.endYear"> . {{result.startYear}} - {{result.endYear}}</span>
19
      <span *ngIf="result.embargoEndDate && result.embargoEndDate != ''">
20
        . Embargo End Date: {{result.embargoEndDate | date: 'dd MMM yyyy'}}
21
      </span>
22
    </div>
23
    <!-- Title -->
24
    <div class="uk-margin-small-bottom">
25
      <div class="uk-h5 uk-margin-remove">
26
        <a *ngIf="result.id" (click)="onTitleClick()" [queryParams]="routerHelper.createQueryParam(urlParam, result.id)"
27
           routerLink="/search/{{result.resultType}}" class="portal-link">
28
          <div *ngIf="(result.title) || result.acronym">
29
      <span *ngIf="result.acronym">
30
        {{result.acronym}}
31
      </span>
32
            <span *ngIf="result.acronym && (result.title)"> (</span>
33
            <span *ngIf="result.title" [innerHTML]="result.title"></span>
34
            <span *ngIf="result.acronym && result.title">)</span>
35
          </div>
36
          <div *ngIf="!result.title && !result.acronym">
37
            [no title available]
38
          </div>
39
        </a>
40
        <div *ngIf="!result.id">
41
          <div *ngIf="(result.title) || result.acronym">
42
      <span *ngIf="result.acronym">
43
        {{result.acronym}}
44
      </span>
45
            <span *ngIf="result.acronym && (result.title)"> (</span>
46
            <span *ngIf="result.title" [innerHTML]="result.title"></span>
47
            <span *ngIf="result.acronym && result.title">)</span>
48
          </div>
49
          <div *ngIf="!result.title && !result.acronym">
50
            [no title available]
51
          </div>
52
        </div>
53
      </div>
54
      <!-- Download from-->
55
      <div *ngIf="result.hostedBy_collectedFrom && result.hostedBy_collectedFrom.length > 0"
56
           class="uk-margin-small-bottom download-from">
57
        <div *ngFor="let from of result.hostedBy_collectedFrom">
58
    <span class="uk-margin-right uk-display-inline-block">
59
      <span class="uk-text-muted">Download from: </span>
60
      <a *ngIf="from.downloadUrl && from.downloadUrl.length === 1"
61
         [href]="from.downloadUrl[0]" target="_blank" class="title">
62
        {{from.downloadName}}
63
        <span class="custom-external"></span>
64
      </a>
65
      <span *ngIf="!from.downloadUrl || from.downloadUrl.length === 0" class="title">
66
        {{from.downloadName}}
67
      </span>
68
    </span>
69
          <span class="provider uk-display-inline-block">
70
      <span class="uk-text-muted">Provider: </span>
71
      <a *ngIf="from.collectedId" routerLink="/search/dataprovider" [queryParams]="{datasourceId: from.collectedId}"
72
         [href]="from.downloadUrl[0]" target="_blank">
73
        {{from.collectedName}}
74
      </a>
75
      <span *ngIf="!from.collectedId">
76
        {{from.collectedName}}
77
      </span>
78
    </span>
79
        </div>
80
      </div>
81
      <!-- Authors -->
82
      <div *ngIf="result.authors">
83
        <showAuthors [authors]="result.authors" [authorsLimit]=10 [showAll]=false></showAuthors>
84
      </div>
85
    </div>
86
    <!-- Funder -->
87
    <div *ngIf="result.funderShortname || result.code" class="uk-margin-small-bottom uk-text-small">
88
  <span *ngIf="result.funderShortname">
89
    <span class="uk-text-muted">Funder: </span>
90
    {{result.funderShortname}}
91
  </span>
92
      <span *ngIf="result.code" [class.uk-margin-left]="result.funderShortname">
93
    <span class="uk-text-muted">Project Code: </span>
94
        {{result.code}}
95
  </span>
96
    </div>
97
    <!-- Funder Budget -->
98
    <div *ngIf="result.budget || result.contribution" class="uk-margin-small-bottom uk-text-small">
99
      <span *ngIf="result.budget">
100
        <span class="uk-text-muted">Overall Budget: </span>
101
        {{result.budget | number}}
102
        <span *ngIf="result.currency">{{result.currency}}</span>
103
      </span>
104
      <span *ngIf="result.contribution" [class.uk-margin-left]="result.budget">
105
        <span class="uk-text-muted">Funder Contribution: </span>
106
        {{result.contribution | number}}
107
        <span *ngIf="result.currency">{{result.currency}}</span>
108
      </span>
109
    </div>
110
    <!-- Labels -->
111
    <div class="uk-margin-small-bottom">
112
  <span *ngIf="properties.environment !== 'production' && result.accessMode"
113
        class="uk-label custom-label" [ngClass]="'label-' + accessClass(result.accessMode)"
114
        title="Access Mode">
115
    {{result.accessMode}}
116
  </span>{{' '}}
117
      <span
118
          *ngIf="properties.environment === 'production' && result.accessMode && result.accessMode.toLowerCase() !== 'not available'"
119
          class="uk-label custom-label" [ngClass]="'label-' + accessClass(result.accessMode)"
120
          title="Access Mode">
121
    {{result.accessMode}}
122
  </span>{{' '}}
123
      <span *ngIf="result.openAccessMandatePublications && (!result.openAccessMandateDatasets)"
124
            class="uk-label custom-label label-open"
125
            title="Open Access mandate for Publications">
126
          Open Access mandate for Publications
127
  </span>{{' '}}
128
      <span
129
          *ngIf="result.openAccessMandateDatasets != undefined && result.openAccessMandateDatasets && (result.openAccessMandatePublications == undefined || !result.openAccessMandatePublications)"
130
          class="uk-label custom-label label-open " title="Open Access mandate for Research Data">
131
          Open Access mandate for Research Data
132
  </span>{{' '}}
133
      <span
134
          *ngIf="result.openAccessMandatePublications != undefined && result.openAccessMandatePublications && result.openAccessMandateDatasets != undefined && result.openAccessMandateDatasets"
135
          class="uk-label custom-label label-open "
136
          title="Open Access mandate for Publications and Research Data">
137
          Open Access mandate for Publications and Research Data
138
  </span>{{' '}}
139
      <span *ngIf="properties.environment !== 'production' && result.languages && result.languages.length > 0">
140
    <span *ngFor="let language of result.languages"
141
          class="uk-label custom-label label-language " title="Language">
142
      {{language}}
143
    </span>{{' '}}
144
  </span>
145
      <span
146
          *ngIf="properties.environment === 'production' && result.languages && removeUnknown(result.languages).length > 0">
147
    <span *ngFor="let language of removeUnknown(result.languages)"
148
          class="uk-label custom-label label-language " title="Language">
149
      {{language}}
150
    </span>{{' '}}
151
  </span>
152
      <span *ngIf="result.programmingLanguages && result.programmingLanguages.length > 0">
153
    <span *ngFor="let programmingLanguage of result.programmingLanguages"
154
          class="uk-label custom-label label-language" title="Programming Language">
155
      {{programmingLanguage}}
156
    </span>{{" "}}
157
  </span>
158
      <span *ngIf="result.sc39" class="uk-label custom-label label-sc39" title="Special Clause 39">
159
    Special Clause 39
160
  </span>{{' '}}
161
      <span *ngIf="result.compatibility && result.compatibility != ''"
162
            class="uk-label custom-label  label-compatibility" title="Compatibility">
163
    {{result.compatibility}}
164
  </span>{{' '}}
165
    </div>
166
    <!-- Identifiers -->
167
    <div *ngIf="result.identifiers && result.identifiers.size > 0">
168
      <showIdentifiers [identifiers]="result.identifiers"></showIdentifiers>
169
    </div>
170
    <!-- Publisher -->
171
    <div *ngIf="result.publisher && result.publisher != ''" class="uk-text-small uk-margin-small-bottom">
172
      <span class="uk-text-muted">Publisher: </span>
173
      {{result.publisher}}
174
    </div>
175
    <!-- Countries -->
176
    <div *ngIf="result.countries && result.countries.length > 0"
177
         class="uk-text-small uk-margin-small-bottom">
178
      <span class="uk-text-muted">{{(result.countries.length == 1) ? 'Country' : 'Countries'}}: </span>
179
      <span *ngFor="let country of  result.countries.slice(0,10) let i = index">
180
        {{country}}{{(i < (result.countries.slice(0, 10).length - 1)) ? ", " : ""}}
181
        {{(i == result.countries.slice(0, 10).length - 1 && result.countries.length > 10) ? "..." : ""}}
182
  </span>
183
    </div>
184
    <!-- Projects -->
185
    <div *ngIf="result.projects && result.projects.length > 0" class="uk-text-small uk-margin-small-bottom">
186
      <span class="uk-text-muted"> Project: </span>
187
      <span *ngFor="let project of result.projects.slice(0,10) let i=index">
188
    <span>
189
      {{project.funderShortname ? project.funderShortname : project.funderName}}
190
    </span>
191
    <span *ngIf="project.acronym || project.title">
192
      | {{ project.acronym ? project.acronym : (project.title.length > 25 ?
193
        project.title.substring(0, 25) + '...' : project.title)}}
194
    </span>
195
    <span *ngIf="project.code"> ({{project.code}})</span>
196
    <span *ngIf="i < result.projects.length-1">,</span>
197
  </span>
198
      <span *ngIf="result.projects.length > 10">...</span>
199
    </div>
200
    <!-- Organizations -->
201
    <div *ngIf="showOrganizations && result.organizations && result.organizations.length > 0"
202
         class="uk-text-small uk-margin-small-bottom">
203
      <span class="uk-text-muted">Organization: </span>
204
      <span *ngFor="let organization of result.organizations.slice(0,10) let i=index">
205
    <span>{{organization.name}}</span>
206
    <span *ngIf="(i < result.organizations.length-1) && (i < 9)">,</span>
207
  </span>
208
      <span *ngIf="result.organizations.length > 10">...</span>
209
    </div>
210
    <!-- Website URL -->
211
    <div *ngIf="result.websiteURL && result.websiteURL != ''" class="uk-text-small uk-margin-small-bottom">
212
      <span class="uk-text-muted">Website URL: </span>
213
      <span>
214
            <a href="{{result.websiteURL}}" target="_blank" class="custom-external custom-icon">
215
                {{result.websiteURL}}
216
            </a>
217
        </span>
218
    </div>
219
    <!-- OAI-PMH URL-->
220
    <div *ngIf="result.OAIPMHURL && result.OAIPMHURL != ''" class="uk-text-small uk-margin-small-bottom">
221
      <span class="uk-text-muted">OAI-PMH URL: </span>
222
      <span>
223
      <a href="{{result.OAIPMHURL}}" target="_blank" class="custom-external custom-icon">
224
          {{result.OAIPMHURL}}
225
      </a>
226
  </span>
227
    </div>
228
    <!-- Subjects -->
229
    <div *ngIf="showSubjects && result.subjects && result.subjects.length > 0"
230
         class="uk-text-small uk-margin-small-bottom">
231
      <span class="uk-text-muted">Subject: </span>
232
      <span *ngFor="let subject of  result.subjects.slice(0,10) let i = index">{{subject}}
233
        {{(i < (result.subjects.slice(0, 10).length - 1)) ? ", " : ""}}
234
        {{(i == result.subjects.slice(0, 10).length - 1 && result.subjects.length > 10) ? "..." : ""}}
235
  </span>
236
    </div>
237
  </div>
238
  <div *ngIf="result.relation" class="uk-width-expand uk-padding-remove-left uk-text-small">
239
    <div *ngIf="result.percentage" class="uk-flex uk-flex-middle">
240
      <div class="uk-margin-small-right">
241
        <span class="uk-text-capitalize uk-text-muted">{{result.relation}}: </span>
242
        <span class="portal-color uk-text-bold"> {{result.percentage}}%</span>
243
      </div>
244
      <progress class="uk-progress portal-progress uk-margin-remove uk-text-left uk-width-expand"
245
                [value]="result.percentage" max="100"></progress>
246
    </div>
247
    <div class="uk-text-capitalize uk-text-muted" *ngIf="result.provenanceAction">
248
      {{result.provenanceAction}}
249
    </div>
250
  </div>
251
</div>
252
<!-- Description -->
253
<div *ngIf="result.description" class="uk-margin-small-bottom multi-line-ellipsis lines-3">
254
  <p class="uk-text-small">
255
    {{result.description}}
256
  </p>
257
</div>
(1-1/4)