Project

General

Profile

1
<form class="  uk-margin-top">
2
  <div class="uk-margin-small-bottom">Start searching Research Results and add them to the Basket to Link
3
    <!-- <helper  div="link-entity-form" styleName="" tooltip=true></helper>  -->
4
  </div>
5

    
6
  <input class=" uk-input uk-width-large   form-control" [(ngModel)]="keyword" name="keyword"
7
         placeholder="Search for research results..."/>
8
  <span class="input-group-btn">
9
    <button (click)="search(true)" type="submit" class=" uk-button portal-button">Search</button>
10
  </span>
11

    
12
  <!--helper  div="link-entity-form" styleName="uk-width-medium"></helper-->
13

    
14
</form>
15
<div *ngIf="!showSearchResults">
16
  <div class="uk-text-center uk-text-large uk-text-muted uk-margin-large-top">
17
    No research results yet...<br>Start searching for research results to add them in the Basket
18
  </div>
19
</div>
20
<div *ngIf="showSearchResults" class="uk-margin-top uk-animation">
21
  <ul class="uk-tab" uk-tab="animation: uk-animation-fade">
22
    <li (click)="clickTab('openaire')" [class]="(activeTab == 'openaire')?'uk-active':''"><a>Openaire <span
23
      *ngIf="!(totalOpenaireCount==0 && openaireResultsStatus === errorCodes.LOADING)">
24
      ({{totalOpenaireCount| number}})</span></a>
25
    </li>
26
    <li (click)="clickTab('crossref')" [class]="(activeTab == 'crossref')?'uk-active':''"><a>Crossref
27
      <span
28
        *ngIf="crossrefResultsNum != null && crossrefResultsNum >= 0 ">({{crossrefResultsNum | number}})</span>
29
    </a></li>
30
    <li (click)="clickTab('datacite')" [class]="(activeTab == 'datacite')?'uk-active':''"><a>Datacite <span
31
      *ngIf="dataciteResultsNum!=null && dataciteResultsNum >= 0">({{dataciteResultsNum | number}})</span></a>
32
    </li>
33
    <li (click)="clickTab('orcid')" [class]="(activeTab == 'orcid')?'uk-active':''"><a>Orcid <span
34
      *ngIf="orcidResultsNum !=null">({{(orcidResultsNum > 0) ? (orcidResultsNum | number) : 0}})</span></a></li>
35
  </ul>
36

    
37
  <div *ngIf="activeTab == 'crossref'" id="crossref">
38
    <div class="uk-margin-top">
39
      <div *ngIf="crossrefStatus == errorCodes.NONE" class="uk-alert uk-alert-primary"
40
           role="alert">No Results found
41
      </div>
42
      <div *ngIf="crossrefStatus == errorCodes.ERROR" class="uk-alert uk-alert-warning" role="alert">An Error Occured
43
      </div>
44
      <div *ngIf="crossrefStatus == errorCodes.NOT_AVAILABLE" class="uk-alert uk-alert-danger"
45
           role="alert">Service not available
46
      </div>
47
      <div *ngIf="crossrefResultsNum != null && crossrefResultsNum > 0" class="uk-clearfix portal-hr">
48
        <div class="uk-grid">
49
          <div *ngIf="crossrefResultsNum>0" class="uk-width-1-2">
50
            <span class="portal-color">{{crossrefResultsNum|number}}</span> results, page <span
51
            class="portal-color">{{crossrefPage | number}}</span> of <span
52
            class="portal-color">{{countTotalPages(crossrefResultsNum)|number}}</span>
53

    
54
          </div>
55
          <div class="uk-width-1-2">
56
            <paging-no-load class="uk-float-right" [currentPage]="crossrefPage" [totalResults]="crossrefResultsNum"
57
                            [term]="keyword"
58
                            [size]="size" (pageChange)="crossrefPageChange($event)"></paging-no-load>
59
          </div>
60
        </div>
61
      </div>
62
      <div *ngIf="crossrefStatus === errorCodes.LOADING" class="uk-animation-fade uk-margin-top  uk-width-1-1"
63
           role="alert"><span class="loading-gif  uk-align-center"></span></div>
64
      <div>
65

    
66
        <claim-results [localStoragePrefix]=localStoragePrefix [results]=crossrefResults
67
                       [selectedResults]=selectedResults [basketLimit]="basketLimit"></claim-results>
68
      </div>
69
    </div>
70
  </div>
71
  <div *ngIf="activeTab == 'openaire'" id="openaire" class="uk-animation-fade">
72

    
73
    <div class="uk-grid">
74
      <div class="search-filters  uk-width-medium">
75
        <!-- <div   class="uk-width-1-1   uk-margin-small-bottom ">
76

    
77
           <div *ngIf="countFilters()>0" class="uk-margin-small-bottom">
78

    
79
             &lt;!&ndash;<span *ngIf = "searchUtils.keyword.length > 0"><span class="uk-text-bold">Keywords:</span>
80
             <a (click) = "clearKeywords() " title="Remove keywords" [class]="((disableForms)?'  uk-disabled':'  ')+'  portal-color '"><span class=" clickable " aria-hidden="true"><span class="uk-icon ">
81
               <svg width="16" height="16" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="0.8"><path fill="none" stroke="#000" stroke-width="1.6" d="M16,16 L4,4"></path><path fill="none" stroke="#000" stroke-width="1.6" d="M16,4 L4,16"></path></svg>
82
               </span></span></a>
83
             <span [innerHtml]="searchUtils.keyword"></span>
84

    
85
             </span>&ndash;&gt;
86
             <div *ngFor="let filter of openaireResultsfilters " >
87
               <span *ngIf = "filter.countSelectedValues > 0"> <span class="uk-text-bold">{{filter.title}}:</span>
88
                 <span *ngFor="let value of getSelectedValues(filter); let i = index;  let end = last; " >
89
                   <a [title]="'Remove '+value.name"(click) = "removeFilter(value, filter) "
90
                      [class]="((openaireResultsStatus === errorCodes.LOADING)?'  uk-disabled':'  ')+'  portal-color '"><span class=" clickable" aria-hidden="true"><span class="uk-icon">
91
                     <svg width="16" height="16" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="0.8"><path fill="none" stroke="#000" stroke-width="1.6" d="M16,16 L4,4"></path><path fill="none" stroke="#000" stroke-width="1.6" d="M16,4 L4,16"></path></svg>
92
                     </span></span></a>
93
                   <span [innerHtml]="(value.name.length > 25)?value.name.substring(0,25)+'...':value.name" [title]="value.name"></span><span *ngIf="!end" class="   ">, </span>
94
                 </span>
95
               </span>
96
             </div>
97
           </div>
98

    
99
          <div class="uk-margin-small-bottom uk-margin-small-top uk-grid">
100
            <a  *ngIf="countFilters()>1" (click)="clearFilters()" [class]="((openaireResultsStatus ===
101
            errorCodes.LOADING)?'uk-disabled uk-link-muted':'')+'  portal-link ' + 'uk-width-1-2'">
102
              Clear All
103
            </a>
104

    
105
         </div>
106
         </div>-->
107
        <!-- Type filter-->
108
        <ul class="uk-list">
109
          <li class="uk-open uk-margin-small-bottom">
110
            <h5 class="uk-margin-bottom-remove ">Result Type (4)
111
            </h5>
112
            <div aria-expanded="false">
113
              <div class="searchFilterBoxValues ">
114
                <div *ngFor="let type of openaireTypeValues" class="uk-animation-fade filterItem">
115

    
116
                  <div title="{{type.title}}">
117
                    <input [value]="type.value" [(ngModel)]="openaireResultsType" [name]=type.value
118
                           type="radio" (ngModelChange)="openaireTypeChanged(type.value)"/>
119
                    {{_formatName(type.title,type.count)}}
120
                    <span *ngIf="type.count!=null">{{' (' + (type.count|number) + ')'}}</span>
121
                  </div>
122

    
123
                </div>
124
              </div>
125
            </div>
126
          </li>
127
          <li class="uk-open">
128
            <h5 class="uk-margin-bottom-remove">Published in
129
            </h5>
130
            <div aria-expanded="false">
131
              <div class="searchFilterBoxValues ">
132
                <form class="uk-inline">
133

    
134
                  <input class=" uk-input  uk-width-small" [(ngModel)]="openaireYear" name="keyword"
135
                         placeholder="Year (e.g. 2010)"/>
136
                  <button type="submit" (click)="yearChanged()" style="cursor: pointer;" class="uk-icon">
137
                    <svg width="20" height="20"
138
                         viewBox="0 0 20 20"
139
                         xmlns="http://www.w3.org/2000/svg"
140
                         icon="chevron-right"
141
                         ratio="1">
142
                      <polyline
143
                        fill="none" stroke="#000" stroke-width="1.03" points="7 4 13 10 7 16"></polyline>
144
                    </svg>
145
                  </button>
146

    
147
                </form>
148
              </div>
149
            </div>
150
          </li>
151
        </ul>
152

    
153
        <search-filter *ngFor="let filter of openaireResultsfilters " [isDisabled]="false" [filter]="filter"
154
                       [showResultCount]=true
155
                       (onFilterChange)="filterChanged($event)"></search-filter>
156
      </div>
157
      <div class="uk-width-expand@m uk-width-1-1@s uk-first-column">
158
        <div class="uk-margin-top">
159

    
160
          <div *ngIf="openaireResultsStatus == errorCodes.NONE" class="uk-alert uk-alert-primary"
161
               role="alert">No Results found
162
          </div>
163
          <div *ngIf="openaireResultsStatus == errorCodes.ERROR" class="uk-alert uk-alert-warning"
164
               role="alert">An Error Occured
165
          </div>
166
          <div *ngIf="openaireResultsStatus == errorCodes.NOT_AVAILABLE" class="uk-alert uk-alert-danger"
167
               role="alert">Service not available
168
          </div>
169
          <div *ngIf="openaireResultsNum != null && openaireResultsNum > 0" class="uk-clearfix portal-hr ">
170
            <div class="uk-grid">
171
              <div *ngIf="openaireResultsNum>0" class="uk-width-1-2">
172
                <span class="portal-color">{{openaireResultsNum|number}}</span> results, page <span
173
                class="portal-color">{{openaireResultsPage | number}}</span> of <span
174
                class="portal-color">{{countTotalPages(openaireResultsNum)|number}}</span>
175

    
176
              </div>
177
              <div class="uk-width-1-2  uk-padding-remove">
178
                <paging-no-load class="uk-float-right" [currentPage]="openaireResultsPage"
179
                                [totalResults]="openaireResultsNum" [term]="keyword"
180
                                [size]="size" (pageChange)="openaireResultsPageChange($event)"></paging-no-load>
181
              </div>
182
            </div>
183
          </div>
184
          <div *ngIf="openaireResultsStatus === errorCodes.LOADING"
185
               class="uk-animation-fade uk-margin-top  uk-width-1-1"
186
               role="alert"><span class="loading-gif  uk-align-center"></span></div>
187
          <claim-results [localStoragePrefix]=localStoragePrefix
188
                         [results]=openaireResults [selectedResults]=selectedResults [basketLimit]="basketLimit"></claim-results>
189
        </div>
190
      </div>
191
    </div>
192
  </div>
193
  <div *ngIf="activeTab == 'orcid'" id="orcid" class="uk-animation-fade">
194
    <div class="uk-margin-top">
195

    
196
      <div *ngIf="orcidStatus == errorCodes.ERROR" class="uk-alert uk-alert-warning" role="alert">An Error Occured</div>
197
      <div *ngIf="orcidStatus == errorCodes.NOT_AVAILABLE" class="uk-alert uk-alert-danger"
198
           role="alert">Service not available
199
      </div>
200
      <div *ngIf="orcidStatus == errorCodes.NONE && orcidResultsNum == -1"
201
           class="uk-alert uk-alert-primary "> No results found
202
      </div>
203
      <div *ngIf=" ((orcidResultsNum >0) && (totalPages > 1) && ( 0 < page &&  page <= totalPages )) "
204
           class="uk-clearfix portal-hr">
205
        <div class="uk-grid">
206
          <div *ngIf="orcidResultsNum>0" class="uk-width-1-2">
207
            <span class="portal-color">{{orcidResultsNum|number}}</span> results, page <span
208
            class="portal-color">{{orcidPage | number}}</span> of <span
209
            class="portal-color">{{countTotalPages(orcidResultsNum)|number}}</span>
210

    
211
          </div>
212
          <div class="uk-width-1-2">
213
            <paging-no-load class="uk-float-right" [currentPage]="orcidPage" [totalResults]="orcidResultsNum"
214
                            [term]="keyword" [size]="size"
215
                            (pageChange)="orcidPageChange($event)"></paging-no-load>
216
          </div>
217
        </div>
218
      </div>
219
      <div *ngIf="orcidResultsNum >= 0" class="panel-body">
220
               <span><span class="uk-text-bold">Showing results for</span>
221
                 <a target="_blank" href="http://orcid.org/{{authorId}}"> <span
222
                   class="custom-external"></span>  {{authorGivenName}} {{authorFamilyName}} - {{authorId}}  </a> :
223
               </span>
224
        <div *ngIf="authors.length > 1" class=""> In Orcid you can search only by Author. Not the
225
          author you are looking for?
226

    
227
          <div class="dropdown">
228

    
229
            <mat-select [(ngModel)]="selectAuthorId" name="select_author"
230
                    (ngModelChange)="getOrcidResultsById(selectAuthorId)" class="matSelection"
231
                    [disableOptionCentering]="true"
232
                    panelClass="matSelectionPanel">
233
              <mat-option value="0">Choose another one:</mat-option>
234
              <mat-option *ngFor=" let item of authors let i = index"
235
                      [value]="authors[i].id">{{authors[i].authorGivenName}} {{authors[i].authorFamilyName}} : {{authors[i].id}} </mat-option>
236
            </mat-select>
237
          </div>
238

    
239
        </div>
240

    
241

    
242
        <div>
243
          <claim-results [localStoragePrefix]=localStoragePrefix
244
                         *ngIf="orcidResultsNum >0  && orcidResultsToShow.length > 0 " [results]=orcidResultsToShow
245
                         [selectedResults]=selectedResults [basketLimit]="basketLimit"></claim-results>
246
          <div *ngIf="orcidResultsNum == 0" class="uk-alert uk-alert-primary uk-margin-top"> No results found</div>
247
        </div>
248
      </div>
249
      <div *ngIf="orcidStatus == errorCodes.LOADING" class="uk-animation-fade uk-margin-top  uk-width-1-1" role="alert">
250
        <span class="loading-gif  uk-align-center"></span></div>
251
    </div>
252
  </div>
253
  <div *ngIf="activeTab == 'datacite'" id="datacite" class="uk-animation-fade">
254
    <div *ngIf="dataciteStatus == errorCodes.NONE" class="uk-alert uk-alert-primary" role="alert">No Results found</div>
255
    <div *ngIf="dataciteStatus == errorCodes.ERROR" class="uk-alert uk-alert-warning" role="alert">An Error Occured
256
    </div>
257
    <div *ngIf="dataciteStatus == errorCodes.NOT_AVAILABLE" class="uk-alert uk-alert-danger"
258
         role="alert">Service not available
259
    </div>
260
    <div class="uk-margin-top">
261
      <div *ngIf="dataciteResultsNum != null && dataciteResultsNum > 0" class="uk-clearfix portal-hr">
262
        <div class="uk-grid">
263
          <div *ngIf="dataciteResultsNum>0" class="uk-width-1-2">
264
            <span class="portal-color">{{dataciteResultsNum|number}}</span> results, page <span
265
            class="portal-color">{{datacitePage | number}}</span> of <span
266
            class="portal-color">{{countTotalPages(dataciteResultsNum)|number}}</span>
267

    
268
          </div>
269
          <div class="uk-width-1-2 ">
270
            <paging-no-load class="uk-float-right" [currentPage]="datacitePage" [totalResults]="dataciteResultsNum"
271
                            [term]="keyword"
272
                            [size]="size" (pageChange)="datacitePageChange($event)"></paging-no-load>
273
          </div>
274
        </div>
275
      </div>
276
      <div *ngIf="dataciteStatus == errorCodes.LOADING" class="uk-animation-fade uk-margin-top  uk-width-1-1"
277
           role="alert"><span class="loading-gif  uk-align-center"></span></div>
278
      <div>
279
        <claim-results [localStoragePrefix]=localStoragePrefix *ngIf="dataciteResults.length > 0 "
280
                       [results]=dataciteResults [selectedResults]=selectedResults [basketLimit]="basketLimit"></claim-results>
281
      </div>
282
    </div>
283
  </div>
284

    
285
</div>
(9-9/15)