Revision 51910
Added by Argiro Kokogiannaki almost 6 years ago
claimResultSearchForm.component.html | ||
---|---|---|
39 | 39 |
</div> |
40 | 40 |
</div> |
41 | 41 |
<div > |
42 |
<ul *ngIf="crossrefResults.length > 0 " class="uk-list uk-list-divider"> |
|
43 |
<li *ngFor=" let item of crossrefResults " [class]="(isSelected(item.DOI))?'uk-block-muted':''"> |
|
44 |
<div > |
|
45 |
<a *ngIf="item.URL" target="_blank" href="{{item.URL}}" > <span class="custom-external"></span> {{item.title}}</a> |
|
46 |
<span *ngIf="!item.URL" >{{item.title}}</span> |
|
47 |
<a class="uk-button-default uk-align-right" *ngIf="!isSelected(item.DOI)" (click)="add(item, item.DOI, 'crossref', 'publication', item.URL, item.title, item.created['date-time'],'OPEN')" class="uk-icon-button"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="plus" ratio="1"><rect x="9" y="1" width="1" height="17"></rect><rect x="1" y="9" width="17" height="1"></rect></svg></a> |
|
48 |
</div> |
|
49 |
<span *ngIf="item.publisher" class="uk-article-meta">Publisher: {{item.publisher}}</span><span class="uk-article-meta" *ngIf="(item['published-print'] && item['published-print']['date-parts'] && item['published-print']['date-parts'][0])">({{(item['published-print']['date-parts'][0][0])?item['published-print']['date-parts'][0][0]:item['published-print']['date-parts'][0]}})</span> |
|
50 |
<div *ngIf="item.author && item.author.length > 0" class="uk-article-meta">Authors: <span *ngFor="let author of item.author.slice(0,10) let i = index">{{author.family}} {{author.given}}{{(i < (item.author.slice(0,10).length-1))?"; ":""}}{{(i == item.author.slice(0,10).length-1 && item.author.length > 10)?"...":""}}</span></div> |
|
51 |
<div *ngIf="item.editor && item.editor.length > 0" class="uk-article-meta">Editors: <span *ngFor="let author of item.editor.slice(0,10) let i = index">{{author.family}} {{author.given}}{{(i < (item.editor.slice(0,10).length-1))?"; ":""}}{{(i == item.editor.slice(0,10).length-1 && item.editor.length > 10)?"...":""}}</span></div> |
|
52 |
</li> |
|
53 |
</ul> |
|
42 |
|
|
43 |
<claim-results [(results)]=crossrefResults [(selectedResults)]=selectedResults > </claim-results> |
|
54 | 44 |
</div> |
55 | 45 |
</div> |
56 | 46 |
</div> |
... | ... | |
66 | 56 |
</div> |
67 | 57 |
</div> |
68 | 58 |
<div > |
69 |
<ul *ngIf="openairePubs.length > 0 " class="uk-list uk-list-divider"> |
|
70 |
<li *ngFor=" let result of openairePubs " [class]="(isSelected(result.id))?'uk-block-muted':''"> |
|
71 |
<div > |
|
72 |
<a *ngIf="result['title'].url" target="_blank" [href]="result['title'].url" >{{result['title'].name}}</a> |
|
73 |
<span *ngIf="!result['title'].url" >{{result['title'].name}}</span> |
|
74 |
<a *ngIf="!isSelected(result.id)" (click)="add(result, result.id, 'openaire', 'publication', result['title'].url, result['title'].name, result.year,result['title'].accessMode)" class="uk-icon-button"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="plus" ratio="1"><rect x="9" y="1" width="1" height="17"></rect><rect x="1" y="9" width="17" height="1"></rect></svg></a> |
|
75 |
</div> |
|
76 |
<span *ngIf="result.publisher" class="uk-article-meta">Publisher: {{result.publisher}}</span><span class="uk-article-meta" *ngIf="(result.year)">({{result.year}})</span> |
|
77 |
<div *ngIf="result.authors && result.authors.length >0 " class="uk-article-meta">Authors: <span *ngFor="let author of result.authors.slice(0,10) let i = index">{{author}}{{(i < (result.authors.slice(0,10).length-1))?"; ":""}}{{(i == result.authors.slice(0,10).length-1 && result.authors.length > 10)?"...":""}}</span></div> |
|
78 |
|
|
79 |
|
|
80 |
</li> |
|
81 |
</ul> |
|
59 |
<claim-results [(results)]=openairePubs [(selectedResults)]=selectedResults > </claim-results> |
|
82 | 60 |
</div> |
83 | 61 |
</div> |
84 | 62 |
</div> |
... | ... | |
103 | 81 |
</select> |
104 | 82 |
</span> |
105 | 83 |
|
106 |
|
|
107 | 84 |
</div> |
108 | 85 |
|
109 |
|
|
110 | 86 |
<div *ngIf=" ((orcidResultsNum >0) && (totalPages > 1) && ( 0 < page && page <= totalPages )) " class="uk-clearfix"> |
111 | 87 |
<div class="uk-float-right"> |
112 | 88 |
<paging-no-load [currentPage]="orcidPage" [totalResults]="orcidResultsNum" [term]="keyword" [size]="size" (pageChange)="orcidPageChange($event)"> </paging-no-load> |
113 | 89 |
</div> |
114 |
|
|
115 | 90 |
</div> |
116 | 91 |
<div > |
117 |
<ul *ngIf="orcidResultsNum >0 && orcidResultsToShow.length > 0 " class="uk-list uk-list-divider"> |
|
118 |
<li *ngFor=" let item of orcidResultsToShow " [class]="(isSelected(authorId+'-'+item['work-summary'][0]['put-code']))?'uk-block-muted':''"> |
|
119 |
<div> |
|
120 |
<span *ngIf="!item.URL" >{{item['work-summary'][0]['title']['title'].value}}</span> |
|
121 |
<a class="uk-button-default uk-align-right" *ngIf="!isSelected(authorId+'-'+item['work-summary'][0]['put-code'])" (click)="add(item,authorId+'-'+item['work-summary'][0]['put-code'],'orcid', 'publication', null, item['work-summary'][0]['title']['title'].value, item['work-summary'][0]['publication-date']?item['work-summary'][0]['publication-date'].year.value :null,'OPEN')" class="uk-icon-button"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="plus" ratio="1"><rect x="9" y="1" width="1" height="17"></rect><rect x="1" y="9" width="17" height="1"></rect></svg></a> |
|
122 |
</div> |
|
123 |
<span *ngIf="item['work-summary'][0]['journal-title'] && item['work-summary'][0]['journal-title'].value " class="uk-article-meta">Journal: {{item['work-summary'][0]['journal-title'].value}}</span><span class="uk-article-meta" *ngIf="(item['work-summary'][0]['publication-date']&&item['work-summary'][0]['publication-date'].year&&item['work-summary'][0]['publication-date'].year.value)"> ({{item['work-summary'][0]['publication-date'].year.value}})</span> |
|
124 |
<div *ngIf="item['work-summary'][0].source && item['work-summary'][0].source['source-name'] && item['work-summary'][0].source['source-name']" class="uk-article-meta">Authors: {{ item['work-summary'][0].source['source-name'].value}} |
|
125 |
<!--span *ngFor="let author of item.contributors.slice(0,10) l.valueet i = index">{{author}}{{(i < (item.contributors.slice(0,10).length-1))?"; ":""}}{{(i == item.contributors.slice(0,10).length-1 && item.contributors.length > 10)?"...":""}}</span--></div> |
|
126 |
|
|
127 |
</li> |
|
128 |
</ul> |
|
92 |
<claim-results *ngIf="orcidResultsNum >0 && orcidResultsToShow.length > 0 " [(results)]=orcidResultsToShow [(selectedResults)]=selectedResults > </claim-results> |
|
129 | 93 |
<div *ngIf="orcidResultsNum == 0" class = "uk-alert uk-alert-primary " > No results found </div> |
130 | 94 |
</div> |
131 | 95 |
</div> |
132 | 96 |
</div> |
133 |
</div> |
|
97 |
|
|
134 | 98 |
<div *ngIf="activeTab == 'datacite'" id="datacite" class="uk-animation-fade"> |
135 | 99 |
<div *ngIf="dataciteStatus == errorCodes.LOADING" class="uk-animation-fade uk-margin-top uk-width-1-1" role="alert"><img src="./assets/loading.gif" class="uk-align-center" alt="Loading"></div> |
136 | 100 |
<div *ngIf="dataciteStatus == errorCodes.NONE" class="uk-alert uk-alert-primary" role="alert">No Results found</div> |
... | ... | |
143 | 107 |
</div> |
144 | 108 |
</div> |
145 | 109 |
<div > |
146 |
<ul *ngIf="dataciteResults.length > 0 " class="uk-list uk-list-divider"> |
|
147 |
<li *ngFor=" let item of dataciteResults " [class]="(isSelected(item.attributes.doi))?'uk-block-muted':''" > |
|
148 |
<div > |
|
149 |
<a *ngIf="item.attributes.doi" target="_blank" href="{{'http://dx.doi.org/'+item.attributes.doi}}" > <span class="custom-external"></span> {{item.attributes.title}}</a> |
|
150 |
<span *ngIf="!item.attributes.doi" >{{item.attributes.title}}</span> |
|
151 |
<a class="uk-button-default uk-align-right" *ngIf="!isSelected(item.attributes.doi)" (click)="add(item, item.attributes.doi,'datacite','dataset', 'http://dx.doi.org/'+item.attributes.doi, item.attributes.title, item.attributes.published,'OPEN')" class="uk-icon-button"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="plus" ratio="1"><rect x="9" y="1" width="1" height="17"></rect><rect x="1" y="9" width="17" height="1"></rect></svg></a> |
|
152 |
|
|
153 |
</div> |
|
154 |
<span *ngIf="item.attributes['container-title']" class="uk-article-meta">Publisher: {{item.attributes['container-title']}}</span><span *ngIf="(item.attributes.published)" class="uk-article-meta">({{item.attributes.published}})</span> |
|
155 |
<div *ngIf="item.attributes.author && item.attributes.author.length > 0" class="uk-article-meta">Authors: |
|
156 |
<span *ngFor="let author of item.attributes.author.slice(0,10) let i = index">{{(author.family)?author.family+', '+author.given:author.literal}}{{(i < (item.attributes.author.slice(0,10).length-1))?"; ":""}}{{(i == item.attributes.author.slice(0,10).length-1 && item.attributes.author.length > 10)?"...":""}}</span></div> |
|
157 |
|
|
158 |
</li> |
|
159 |
</ul> |
|
160 |
|
|
110 |
<claim-results *ngIf="dataciteResults.length > 0 " [(results)]=dataciteResults [(selectedResults)]=selectedResults > </claim-results> |
|
161 | 111 |
</div> |
162 | 112 |
</div> |
163 | 113 |
</div> |
... | ... | |
173 | 123 |
</div> |
174 | 124 |
</div> |
175 | 125 |
<div > |
176 |
<ul *ngIf="openaireData.length > 0 " class="uk-list uk-list-divider"> |
|
177 |
<li *ngFor=" let result of openaireData " [class]="(isSelected(result.id))?'uk-block-muted':''"> |
|
178 |
<div > |
|
179 |
<a *ngIf="result['title'].url" target="_blank" [href]="result['title'].url" >{{result['title'].name}}</a> |
|
180 |
<span *ngIf="!result['title'].url" >{{result['title'].name}}</span> |
|
181 |
|
|
182 |
|
|
183 |
<a class="uk-button-default uk-align-right" *ngIf="!isSelected(result.id)" |
|
184 |
(click)="add(result, result.id, 'openaire','dataset', result['title'].url, result['title'].name, result.year, result['title'].accessMode)" class="uk-icon-button"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="plus" ratio="1"><rect x="9" y="1" width="1" height="17"></rect> |
|
185 |
<rect x="1" y="9" width="17" height="1"></rect></svg></a> |
|
186 |
</div> |
|
187 |
<span *ngIf="result.publisher" class="uk-article-meta">Publisher: {{result.publisher}}</span><span *ngIf="(result.year)" class="uk-article-meta">({{result.year}})</span> |
|
188 |
<div *ngIf="result.authors && result.authors.length >0 " class="uk-article-meta">Authors: <span *ngFor="let author of result.authors.slice(0,10) let i = index">{{author}}{{(i < (result.authors.slice(0,10).length-1))?"; ":""}}{{(i == result.authors.slice(0,10).length-1 && result.authors.length > 10)?"...":""}}</span></div> |
|
189 |
|
|
190 |
|
|
191 |
</li> |
|
192 |
</ul> |
|
126 |
<claim-results *ngIf="openaireData.length > 0 " [(results)]=openaireData [(selectedResults)]=selectedResults > </claim-results> |
|
193 | 127 |
</div> |
194 | 128 |
</div> |
195 | 129 |
</div> |
... | ... | |
205 | 139 |
</div> |
206 | 140 |
</div> |
207 | 141 |
<div > |
208 |
<ul *ngIf="openaireSoftware.length > 0 " class="uk-list uk-list-divider"> |
|
209 |
<li *ngFor=" let result of openaireSoftware " [class]="(isSelected(result.id))?'uk-block-muted':''"> |
|
210 |
<div > |
|
211 |
<a *ngIf="result['title'].url" target="_blank" [href]="result['title'].url" >{{result['title'].name}}</a> |
|
212 |
<span *ngIf="!result['title'].url" >{{result['title'].name}}</span> |
|
213 | 142 |
|
214 |
|
|
215 |
<a class="uk-button-default uk-align-right" *ngIf="!isSelected(result.id)" |
|
216 |
(click)="add(result, result.id, 'openaire','software', result['title'].url, result['title'].name, result.year, result['title'].accessMode)" class="uk-icon-button"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="plus" ratio="1"><rect x="9" y="1" width="1" height="17"></rect> |
|
217 |
<rect x="1" y="9" width="17" height="1"></rect></svg></a> |
|
218 |
</div> |
|
219 |
<span *ngIf="result.publisher" class="uk-article-meta">Publisher: {{result.publisher}}</span><span *ngIf="(result.year)" class="uk-article-meta">({{result.year}})</span> |
|
220 |
<div *ngIf="result.authors && result.authors.length >0 " class="uk-article-meta">Authors: <span *ngFor="let author of result.authors.slice(0,10) let i = index">{{author}}{{(i < (result.authors.slice(0,10).length-1))?"; ":""}}{{(i == result.authors.slice(0,10).length-1 && result.authors.length > 10)?"...":""}}</span></div> |
|
221 |
|
|
222 |
</li> |
|
223 |
</ul> |
|
143 |
<claim-results *ngIf="openaireSoftware.length > 0 " [(results)]=openaireSoftware [(selectedResults)]=selectedResults > </claim-results> |
|
224 | 144 |
</div> |
225 | 145 |
</div> |
226 | 146 |
</div> |
Also available in: Unified diff
Claim Search: add parse method(optionally) in all search services for claim search(orcid, datacite, crossref), use common response as an array of ClaimResult | use common component to show those results | transform openaire results to ClaimResult class | enhance Orcid result with DOI with info got from crossref