Project

General

Profile

« Previous | Next » 

Revision 58161

[Trunk | Library]:
1. project.component: Project Landing Page redesign - html, component and parsing according to redesign.
2. landing-header.component.ts: Input parameters added for project landing redesing ("startDate", "endDate", "status").
3. htmlProjectReport.service.ts: Type check for request adjusted and "oaftype", "resulttypeid" removed from request (parameter "type" is enough).

View differences:

modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/searchPages/find/search.component.ts
25 25
import {SEOService} from '../../sharedComponents/SEO/SEO.service';
26 26
import {StringUtils} from '../../utils/string-utils.class';
27 27
import {SearchCustomFilter} from "../searchUtils/searchUtils.class";
28
import {Observable} from "rxjs";
28
import {Observable, Subscription} from "rxjs";
29 29

  
30 30
@Component({
31 31
  changeDetection: ChangeDetectionStrategy.Default,
......
452 452

  
453 453
  }
454 454

  
455
  private numOfSearchResults(resultType: string, fetchClass: FetchResearchResults, refineParams): Observable<any> {
455
  private numOfSearchResults(resultType: string, fetchClass: FetchResearchResults, refineParams): Subscription {
456 456
    return this._searchResearchResultsService.numOfSearchResults(resultType, this.keyword, this.properties, refineParams).subscribe(
457 457
      data => {
458 458
        fetchClass.searchUtils.totalResults = data;
modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/project/project.module.ts
21 21
import {Schema2jsonldModule} from '../../sharedComponents/schema2jsonld/schema2jsonld.module';
22 22
import { SEOServiceModule } from '../../sharedComponents/SEO/SEOService.module';
23 23
import {HelperModule} from "../../utils/helper/helper.module";
24
import {LandingHeaderModule} from "../landing-utils/landing-header/landing-header.module";
25
import {HtmlProjectReportService} from "../htmlProjectReport/htmlProjectReport.service";
24 26

  
25 27
@NgModule({
26 28
  imports: [
......
28 30
    LoadingModalModule, AlertModalModule, ErrorMessagesModule,
29 31
    TabResultModule, IFrameModule, MetricsModule, ReportsServiceModule,
30 32
    SearchResearchResultsServiceModule, ProjectServiceModule,
31
    Schema2jsonldModule, SEOServiceModule, HelperModule
33
    Schema2jsonldModule, SEOServiceModule, HelperModule,
34
    LandingHeaderModule
32 35

  
33 36
  ],
34 37
  declarations: [
35 38
    ProjectComponent
36 39
  ],
37 40
  providers:[
38
    FreeGuard, IsRouteEnabled
41
    FreeGuard, IsRouteEnabled, HtmlProjectReportService
39 42
  ],
40 43
  exports: [
41 44
    ProjectComponent
modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/project/project.component.html
1 1
<ng-template #share_research_results_box
2
             let-fetch="fetch" let-clipboardName="clipboardName" let-dynamic_content="dynamic_content"
3
             let-type="type" let-fileName_type="fileName_type" let-csvParams="csvParams">
2
             let-fetch="fetch" let-clipboardName="clipboardName" let-dynamic_content="dynamic_content">
4 3
  <ul class="uk-list uk-margin-remove-bottom">
5
    <li>
4
    <li class="uk-padding-small uk-padding-remove-bottom">
6 5
      <a class="clickable"
7 6
         uk-toggle="target: #dynamic_content_id; animation:uk-animation-fade"><span
8 7
        class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
......
10 9
        fill="none" stroke="#000" stroke-width="1.01" points="13,4 19,10 13,16"></polyline><polyline
11 10
        fill="none" stroke="#000" stroke-width="1.01"
12 11
        points="7,4 1,10 7,16"></polyline></svg></span> Include in your site (HTML)</a>
13
      <div hidden id="dynamic_content_id" class="uk-padding-small">
12
      <div hidden id="dynamic_content_id" class="uk-margin-top">
14 13
        <div class="uk-grid">
15 14
          <a
16 15
            [class]="clipboardName+'_btn uk-padding-remove-left uk-margin-small-left uk-text-right uk-width-1-1'"
17 16
            [attr.data-clipboard-target]="'#'+clipboardName" title="Copy to clipboard">
18
            <button class="uk-button uk-button-small uk-button-primary uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
17
            <button class="uk-button uk-button-small uk-button-default uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
19 18
                                                                                     xmlns="http://www.w3.org/2000/svg" icon="copy" ratio="1"><rect
20 19
              fill="none" stroke="#000" x="3.5" y="2.5" width="12" height="16"></rect><polyline
21 20
              fill="none" stroke="#000" points="5 0.5 17.5 0.5 17.5 17"></polyline></svg>
......
28 27
          [id]="clipboardName">{{dynamic_content}}</code></pre>
29 28
        <div class="uk-text-small uk-margin-small-top">
30 29
          For further information contact us at
31
          <u><a href="mailto:helpdesk@openaire.eu">helpdesk@openaire.eu</a></u>
30
          <u><a href="mailto:helpdesk@openaire.eu" class="uk-link-text">helpdesk@openaire.eu</a></u>
32 31
        </div>
33 32

  
34 33
      </div>
35 34
    </li>
36
    <li>
37
      <a target="_blank"
38
         href="/project-report?projectId={{projectId}}&size={{fetch.searchUtils.totalResults}}&type={{type}}">
39
                            <span class="uk-icon">
40
                           <svg width="20" height="20" viewBox="0 0 20 20"
41
                                   xmlns="http://www.w3.org/2000/svg" icon="code" ratio="1"><polyline
42
                                fill="none" stroke="#000" stroke-width="1.01" points="13,4 19,10 13,16"></polyline><polyline
43
                                fill="none" stroke="#000" stroke-width="1.01"
44
                                points="7,4 1,10 7,16"></polyline></svg>
45
                            </span>
46
        Get {{projectInfo.funder}} report (HTML)
35
  </ul>
36
</ng-template>
37
<ng-template #download_research_results_box
38
             let-fetch="fetch" let-type="type" let-fileName_type="fileName_type" let-csvParams="csvParams">
39
  <ul class="uk-list uk-margin-remove-bottom">
40
    <li class="uk-padding-small uk-padding-remove-bottom">
41
      <a class="clickable"
42
         (click)="downloadHtmlFile(type, fetch.searchUtils.totalResults, 'funder-'+fileName_type+'-report')">
43
<!--         target="_blank"-->
44
<!--         href="/project-report?projectId={{projectId}}&size={{fetch.searchUtils.totalResults}}&type={{type}}">-->
45
<!--        <span class="uk-icon">-->
46
<!--          <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="code" ratio="1">-->
47
<!--            <polyline fill="none" stroke="#000" stroke-width="1.01" points="13,4 19,10 13,16"></polyline>-->
48
<!--            <polyline fill="none" stroke="#000" stroke-width="1.01" points="7,4 1,10 7,16"></polyline></svg>-->
49
<!--        </span>-->
50
        <span class="uk-icon">
51
          <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="download" ratio="1">
52
            <polyline fill="none" stroke="#000" points="14,10 9.5,14.5 5,10"></polyline>
53
            <rect x="3" y="17" width="13" height="1"></rect>
54
            <line fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line>
55
          </svg>
56
        </span>
57
        Downaload {{projectInfo.funding.funderShortName}} report (HTML)
47 58
      </a>
48 59
    </li>
49
    <li>
50
      <a class="clickable"
51
         (click)="downloadfile(downloadURLAPI+csvParams, 'funder-'+fileName_type+'-report')">
52
                            <span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
53
                                                       xmlns="http://www.w3.org/2000/svg" icon="download" ratio="1"><polyline
54
                              fill="none" stroke="#000" points="14,10 9.5,14.5 5,10"></polyline><rect x="3" y="17"
55
                                                                                                      width="13"
56
                                                                                                      height="1"></rect><line
57
                              fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line></svg></span>
58
        Get {{projectInfo.funder}} report (CSV)
60
    <li class="uk-padding-small uk-padding-remove-bottom">
61
      <a class="clickable" (click)="downloadCsvFile(downloadURLAPI+csvParams, 'funder-'+fileName_type+'-report')">
62
        <span class="uk-icon">
63
          <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="download" ratio="1">
64
            <polyline fill="none" stroke="#000" points="14,10 9.5,14.5 5,10"></polyline>
65
            <rect x="3" y="17" width="13" height="1"></rect>
66
            <line fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line>
67
          </svg>
68
        </span>
69
        Download {{projectInfo.funding.funderShortName}} report (CSV)
59 70
      </a>
60 71
    </li>
61 72
  </ul>
62 73
</ng-template>
63 74

  
75
<ng-template #search_box let-fetch="fetch" let-type="type" let-typeName="typeName">
76
  <div *ngIf="fetch.searchUtils.totalResults > 0">
77
    <div class="uk-position-relative">
78
      <a [queryParams]="routerHelper.createQueryParams(['project', 'po', 'type'], [projectId, 'and', type])"
79
         [routerLink]="properties.searchLinkToAdvancedResults">
80
        <div class="header target uk-text-bold">{{typeName}}</div>
81
        <div class="icon uk-position-center" uk-icon="icon: search;"></div>
82
        <div class="footer target uk-position-relative">
83
          <span class="uk-text-bold uk-position-center">{{fetch.searchUtils.totalResults | number}}</span>
84
        </div>
85
      </a>
86
    </div>
87
  </div>
88
</ng-template>
64 89

  
65
<div id="tm-main" class=" uk-section  uk-padding-remove-top uk-margin-small-top tm-middle">
90
<div id="tm-main" class="landing uk-section uk-padding-remove-top uk-margin-small-top tm-middle">
66 91
  <div uk-grid>
67 92
    <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-row-first ">
68 93

  
69
      <div id="project" class="uk-container project">
94
      <div id="project" class="uk-container uk-container-large project">
70 95
        <div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning uk-margin-large-top"
71 96
             role="alert">{{warningMessage}}</div>
72 97
        <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger  uk-margin-large-top"
......
83 108
                           type="project"></schema2jsonld>
84 109
            <!--h3 *ngIf="projectInfo.acronym != undefined && projectInfo.acronym != ''">{{projectInfo.acronym}}</h3>
85 110
            <h3 *ngIf="projectInfo.acronym == undefined || projectInfo.acronym == ''">{{projectInfo.title}}</h3-->
86
            <h2 class="landingTitle uk-margin-remove-top">
87
              <!--span class="entityTitleIcon projectTitleIcon"></span-->
88
              <!-- <span *ngIf="projectInfo.specialClause39==true" class="sc39">{{projectName}}</span>
89
              <span *ngIf="projectInfo.specialClause39!=true">{{projectName}}</span> -->
90
              <span>{{projectName}}</span>
91
              <span *ngIf="  projectInfo.title == projectName ">({{projectInfo.contractNum}})</span>
92
            </h2>
93
            <div class="uk-text-large "
94
                 *ngIf="projectInfo.title && projectInfo.title != projectName ">{{projectInfo.title}}
95
              ({{projectInfo.contractNum}})
96
            </div>
97
            <div>
98
              <span class="uk-label custom-label label-blue label-project" title="Type">Project</span>{{" "}}
99
              <span class="uk-label custom-label label-funder " title="Funder">{{projectInfo.funder}}</span>{{" "}}
100

  
101
              <span
102
                *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets"
103
                class="uk-label custom-label label-open "
104
                title="Open Access mandate for Publications and Research Data">
105
                <span class="uk-visible@m">Open Access mandate for Publications and Research Data</span> <span
106
                class="uk-hidden@m">Open Access mandate for ...</span>
111
<!--            <h2 class="landingTitle uk-margin-remove-top">-->
112
<!--              &lt;!&ndash;span class="entityTitleIcon projectTitleIcon"></span&ndash;&gt;-->
113
<!--              &lt;!&ndash; <span *ngIf="projectInfo.specialClause39==true" class="sc39">{{projectName}}</span>-->
114
<!--              <span *ngIf="projectInfo.specialClause39!=true">{{projectName}}</span> &ndash;&gt;-->
115
<!--              <span>{{projectName}}</span>-->
116
<!--              <span *ngIf="  projectInfo.title == projectName ">({{projectInfo.contractNum}})</span>-->
117
<!--            </h2>-->
118
<!--            <div class="uk-text-large "-->
119
<!--                 *ngIf="projectInfo.title && projectInfo.title != projectName ">{{projectInfo.title}}-->
120
<!--              ({{projectInfo.contractNum}})-->
121
<!--            </div>-->
122
            <!--            <h2 class="landingTitle uk-margin-remove-top">-->
123
            <!--              &lt;!&ndash;span class="entityTitleIcon projectTitleIcon"></span&ndash;&gt;-->
124
            <!--              &lt;!&ndash; <span *ngIf="projectInfo.specialClause39==true" class="sc39">{{projectName}}</span>-->
125
            <!--              <span *ngIf="projectInfo.specialClause39!=true">{{projectName}}</span> &ndash;&gt;-->
126
            <!--              <span>{{projectName}}</span>-->
127
            <!--              <span *ngIf="  projectInfo.title == projectName ">({{projectInfo.contractNum}})</span>-->
128
            <!--            </h2>-->
129
            <!--            <div class="uk-text-large "-->
130
            <!--                 *ngIf="projectInfo.title && projectInfo.title != projectName ">{{projectInfo.title}}-->
131
            <!--              ({{projectInfo.contractNum}})-->
132
            <!--            </div>-->
133
            <landing-header [properties]="properties" [title]="projectInfo.acronym"
134
                            [subTitle]="projectInfo.title"
135
                            [entityType]="'project'"
136
                            [startDate]="projectInfo.startDate"
137
                            [endDate]="projectInfo.endDate"
138
                            [status]="projectInfo.status">
139
            </landing-header>
140
            <!-- Labels -->
141
            <div class="uk-margin-top uk-margin-bottom">
142
              <span *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets"
143
                    class="uk-label custom-label  label-open" title="Open Access mandate for Publications and Research Data">
144
                <span class="uk-visible@m">Open Access mandate for Publications and Research Data</span>
145
                <span class="uk-hidden@m">Open Access mandate for ...</span>
107 146
              </span>{{" "}}
108
              <span
109
                *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && (projectInfo.openAccessMandateDatasets == undefined || !projectInfo.openAccessMandateDatasets)"
110
                class="uk-label custom-label label-open "
111
                title="Open Access mandate for Publications">Open Access mandate for Publications</span>{{" "}}
112
              <span *ngIf="projectInfo.specialClause39" class="uk-label custom-label label-sc39 "
113
                    title="Special Clause 39">Special Clause 39</span>{{" "}}
114
              <span
115
                *ngIf="projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets && (projectInfo.openAccessMandatePublications == undefined || !projectInfo.openAccessMandatePublications)"
116
                class="uk-label custom-label label-open "
117
                title="Open Access mandate for Research Data">Open Access mandate for Research Data</span>{{" "}}
147
              <span *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && (projectInfo.openAccessMandateDatasets == undefined || !projectInfo.openAccessMandateDatasets)"
148
                    class="uk-label custom-label label-open" title="Open Access mandate for Publications">
149
                Open Access mandate for Publications
150
              </span>{{" "}}
151
              <span *ngIf="projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets && (projectInfo.openAccessMandatePublications == undefined || !projectInfo.openAccessMandatePublications)"
152
                    class="uk-label custom-label label-open" title="Open Access mandate for Research Data">
153
                Open Access mandate for Research Data
154
              </span>{{" "}}
155
              <span *ngIf="projectInfo.funding && projectInfo.funding.funderName" class="uk-label custom-label label-funder" title="Funder">
156
                {{projectInfo.funding.funderName}}
157
              </span>{{" "}}
158
              <span *ngIf="projectInfo.specialClause39"
159
                    class="uk-label custom-label label-sc39" title="Special Clause 39">
160
                Special Clause 39
161
              </span>{{" "}}
118 162
            </div>
119
            <ul class="uk-list">
120
              <li *ngIf="projectInfo.funding"><span class="uk-text-bold">Funding:</span> {{projectInfo.funding}}</li>
121
              <li *ngIf="projectInfo.startDate"><span class="uk-text-bold">Start Date:</span> {{projectInfo.startDate}}
163
            <ul class="uk-list uk-margin-bottom left-border">
164
              <li *ngIf="projectInfo.funding">
165
                <span *ngIf="projectInfo.funding.funderName" class="uk-margin-right">
166
                  <span class="uk-text-muted">Funder: </span>
167
                  {{projectInfo.funding.funderName}}
168
                </span>
169
                <span *ngIf="projectInfo.funding.code">
170
                  <span class="uk-text-muted">Funding code: </span>
171
                  {{projectInfo.funding.code}}
172
                </span>
122 173
              </li>
123
              <li *ngIf="projectInfo.endDate"><span class="uk-text-bold">End Date:</span> {{projectInfo.endDate}}</li>
124
              <li
125
                *ngIf="projectInfo.openAccessMandatePublications != undefined && !projectInfo.openAccessMandatePublications ">
126
                <span class="uk-text-bold">Open Access mandate for Publications:</span> no
174
              <li *ngIf="projectInfo.funding" class="uk-margin-right">
175
                <span *ngIf="projectInfo.funding.fundingStream">
176
                  <span class="uk-text-muted">Funded under: </span>
177
                  {{projectInfo.funding.fundingStream}}
178
                </span>
179
<!--                <span *ngIf="projectInfo.funding.budget">-->
180
<!--                  <span class="uk-text-muted">Overall Budget: </span>-->
181
<!--                  {{projectInfo.funding.budget}}-->
182
<!--                </span>-->
127 183
              </li>
128
              <li *ngIf="projectInfo.openAccessMandateDatasets != undefined && !projectInfo.openAccessMandateDatasets ">
129
                <span class="uk-text-bold">Open Access mandate for Research Data:</span> no
184
              <li *ngIf="projectInfo.status" class="uk-margin-right">
185
                <span>
186
                  <span class="uk-text-muted">Status: </span>
187
                  {{projectInfo.status}}
188
                </span>
130 189
              </li>
131
              <li *ngIf="projectInfo.organizations && projectInfo.organizations.length > 0"><span
132
                class="uk-text-bold">Organization:</span>
133

  
134
                <span class="list-horizontal-line">
135
                  <span *ngFor="let organization of projectInfo.organizations let i=index"
136
                        [attr.uk-tooltip]="organization.acronym && organization.name ? 'pos:right; delay:10' : 'cls: uk-invisible'"
137
                        [title]="organization.name">
138
                        <a *ngIf="organization.id"
139
                           [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active"
140
                           routerLink="/search/organization">
141
                            {{(organization.acronym) ? organization.acronym : ''}} {{(!organization.acronym && organization.name) ? organization.name : ''}}</a>
142
                              <span
143

  
144
                                *ngIf="!organization.id">
145
                          <span *ngIf="organization.acronym">{{organization.acronym}}</span><span
146
                                *ngIf="!organization.acronym && organization.name">{{organization.name}}</span></span>
190
              <li *ngIf="projectInfo.startDate || projectInfo.endDate" class="uk-width-2-5">
191
                <progress *ngIf="projectInfo.startDate && projectInfo.endDate"
192
                          class="uk-progress green-progress uk-margin-small-top uk-margin-remove-bottom"
193
                          [value]="(projectInfo.currentDate > projectInfo.startDate ? projectInfo.currentDate-projectInfo.startDate : 0)"
194
                          [max]="projectInfo.endDate-projectInfo.startDate">
195
                </progress>
196
                <div class="uk-grid">
197
                  <span *ngIf="projectInfo.startDate" class="uk-width-1-2">
198
                    <div class="uk-text-muted">Start Date</div>
199
                    <div>{{projectInfo.startDate | date: 'dd MMM yyyy'}}</div>
147 200
                  </span>
148
                </span>
201
                  <span *ngIf="projectInfo.endDate" [class]="'uk-width-1-2 ' + (projectInfo.startDate ? 'uk-text-right' : '')">
202
                    <div class="uk-text-muted">End Date</div>
203
                    <div>{{projectInfo.endDate | date: 'dd MMM yyyy'}}</div>
204
                  </span>
205
                </div>
149 206
              </li>
150 207
              <li *ngIf="projectInfo.urlInfo ">
151 208
                <span class="uk-button-text">
......
155 212
                </span>
156 213
              </li>
157 214
            </ul>
158

  
159
            <ul class="custom-accordion" uk-accordion>
160

  
161
              <li (click)="activeTab='Publications'; searchPublicationsInit()">
162
                <a class="uk-accordion-title" href="#">
163
                  Publications
164
                  <!-- <span class="uk-badge uk-badge-notification"> -->
165
                  ({{fetchPublications.searchUtils.totalResults | number}})
166
                  <!-- </span> -->
167
                </a>
168
                <div class="uk-accordion-content">
169
                  <errorMessages [status]="[fetchPublications.searchUtils.status]" [type]="'publications'"
170
                                 tab_error_class=true></errorMessages>
171

  
172
                  <div *ngIf="fetchPublications.searchUtils.status == errorCodes.DONE">
173
                    <div class="uk-text-right" *ngIf="fetchPublications.searchUtils.totalResults > 10">
174
                      <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"
175
                         routerLinkActive="router-link-active" [routerLink]="linkToSearchPublications"
176
                         class="uk-button uk-button-text">
177
                        View all {{fetchPublications.searchUtils.totalResults | number}} results
178
                      </a>
179
                    </div>
180
                    <tab-result [(results)]="fetchPublications.results"
181
                                [(status)]="fetchPublications.searchUtils.status"
182
                                type="publication" urlParam="articleId">
183
                    </tab-result>
184
                  </div>
185
                </div>
215
            <ul class="uk-list uk-margin-bottom">
216
              <li *ngIf="projectInfo.openAccessMandatePublications != undefined || projectInfo.openAccessMandateDatasets != undefined">
217
                <span *ngIf="projectInfo.openAccessMandatePublications != undefined" class="uk-margin-right">
218
                  <span class="uk-text-muted">Open Access mandate for Publications: </span>
219
                  <span *ngIf="projectInfo.openAccessMandatePublications">Yes</span>
220
                  <span *ngIf="!projectInfo.openAccessMandatePublications">No</span>
221
                </span>
222
                <span *ngIf="projectInfo.openAccessMandateDatasets != undefined">
223
                  <span class="uk-text-muted">Open Access mandate for Research Data: </span>
224
                  <span *ngIf="projectInfo.openAccessMandateDatasets">Yes</span>
225
                  <span *ngIf="!projectInfo.openAccessMandateDatasets">No</span>
226
                </span>
186 227
              </li>
187

  
188
              <li (click)="activeTab='Research Data'; searchDatasetsInit()">
189
                <a class="uk-accordion-title" href="#">
190
                  Research Data
191
                  <!-- <span class="uk-badge uk-badge-notification"> -->
192
                  ({{fetchDatasets.searchUtils.totalResults | number}})
193
                  <!-- </span> -->
194
                </a>
195
                <div class="uk-accordion-content">
196
                  <errorMessages [status]="[fetchDatasets.searchUtils.status]" [type]="'research data'"
197
                                 tab_error_class=true></errorMessages>
198

  
199
                  <div *ngIf="fetchDatasets.searchUtils.status == errorCodes.DONE">
200

  
201
                    <div class="uk-text-right" *ngIf="fetchDatasets.searchUtils.totalResults > 10">
202
                      <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"
203
                         routerLinkActive="router-link-active" [routerLink]="linkToSearchDatasets"
204
                         class="uk-button uk-button-text">
205
                        View all {{fetchDatasets.searchUtils.totalResults | number}} results
206
                      </a>
207
                    </div>
208
                    <tab-result [(results)]="fetchDatasets.results"
209
                                [(status)]="fetchDatasets.searchUtils.status"
210
                                type="dataset" urlParam="datasetId">
211
                    </tab-result>
212
                  </div>
213
                </div>
228
              <!-- Organizations -->
229
              <li *ngIf="projectInfo.organizations && projectInfo.organizations.length > 0" class="uk-margin-bottom">
230
                <span class="uk-text-muted">Organizations: </span>
231
                  <span *ngFor="let organization of projectInfo.organizations let i=index"
232
                        [attr.uk-tooltip]="organization.acronym && organization.name ? 'pos:right; delay:10' : 'cls: uk-invisible'"
233
                        [title]="organization.name">
234
                    <a *ngIf="organization.id"
235
                       [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active"
236
                       routerLink="/search/organization">
237
                      <u>{{(organization.acronym) ? organization.acronym : ''}}</u>
238
                      <u>{{(!organization.acronym && organization.name) ? organization.name : ''}}</u>
239
                    </a>
240
                    <span *ngIf="!organization.id">
241
                      <span *ngIf="organization.acronym">{{organization.acronym}}</span>
242
                      <span *ngIf="!organization.acronym && organization.name">{{organization.name}}</span>
243
                      <span *ngIf="(i < projectInfo.organizations.length-1)">,</span>
244
                    </span>
245
                    <span *ngIf="(i < projectInfo.organizations.length-1)">, </span>
246
                  </span>
214 247
              </li>
248
            </ul>
215 249

  
216
              <li (click)="activeTab='Software'; searchSoftwareInit()">
217
                <a class="uk-accordion-title" href="#">
218
                  Software
219
                  <!-- <span class="uk-badge uk-badge-notification"> -->
220
                  ({{fetchSoftware.searchUtils.totalResults | number}})
221
                  <!-- </span> -->
250
            <!-- Description -->
251
            <div *ngIf="projectInfo.description" class="uk-margin-bottom">
252
              <div class="uk-text-justify uk-text-small uk-height-max-medium uk-overflow-auto">
253
                <span class="uk-text-muted">Abstract: </span>
254
                <span>{{projectInfo.description.substring(0, showNumDescription)}}</span>
255
                <span *ngIf="showNumDescription == thresholdDescription &&
256
                       projectInfo.description.length > thresholdDescription">...</span>
257
              </div>
258
              <div *ngIf="showNumDescription == thresholdDescription &&
259
                    projectInfo.description.length > thresholdDescription" class="uk-text-right">
260
                <a (click)="showNumDescription = projectInfo.description.length;">
261
                  View more
222 262
                </a>
223
                <div class="uk-accordion-content">
224
                  <errorMessages [status]="[fetchSoftware.searchUtils.status]" [type]="'software'"
225
                                 tab_error_class=true></errorMessages>
226

  
227
                  <div *ngIf="fetchSoftware.searchUtils.status == errorCodes.DONE">
228

  
229
                    <div class="uk-text-right" *ngIf="fetchSoftware.searchUtils.totalResults > 10">
230
                      <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"
231
                         routerLinkActive="router-link-active" [routerLink]="linkToSearchSoftware"
232
                         class="uk-button uk-button-text">
233
                        View all {{fetchSoftware.searchUtils.totalResults | number}} results
234
                      </a>
235
                    </div>
236
                    <tab-result [(results)]="fetchSoftware.results"
237
                                [(status)]="fetchSoftware.searchUtils.status"
238
                                type="software" urlParam="softwareId">
239
                    </tab-result>
240
                  </div>
241
                </div>
242
              </li>
243

  
244
              <li (click)="activeTab='Other Research Products'; searchOrpsInit()">
245
                <a class="uk-accordion-title" href="#">
246
                  Other Research Products
247
                  <!-- <span class="uk-badge uk-badge-notification"> -->
248
                  ({{fetchOrps.searchUtils.totalResults | number}})
249
                  <!-- </span> -->
263
              </div>
264
              <div *ngIf="projectInfo.description && showNumDescription > thresholdDescription"
265
                   class="uk-text-right">
266
                <a (click)="showNumDescription = thresholdDescription;">
267
                  View less
250 268
                </a>
251
                <div class="uk-accordion-content">
252
                  <errorMessages [status]="[fetchOrps.searchUtils.status]" [type]="'other research products'"
253
                                 tab_error_class=true></errorMessages>
269
              </div>
270
            </div>
254 271

  
255
                  <div *ngIf="fetchOrps.searchUtils.status == errorCodes.DONE">
256

  
257
                    <div class="uk-text-right" *ngIf="fetchOrps.searchUtils.totalResults > 10">
258
                      <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"
259
                         routerLinkActive="router-link-active" [routerLink]="linkToSearchOrps"
260
                         class="uk-button uk-button-text">
261
                        View all {{fetchOrps.searchUtils.totalResults | number}} results
262
                      </a>
263
                    </div>
264
                    <tab-result [(results)]="fetchOrps.results"
265
                                [(status)]="fetchOrps.searchUtils.status"
266
                                type="other" urlParam="orpId">
267
                    </tab-result>
268
                  </div>
272
            <div class="uk-margin-medium-top">
273
              <div class="uk-margin-top simple-buttons uk-flex uk-flex-middle">
274
                <div (click)="openStatistics()" class="clickable uk-margin-right">
275
                  <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
276
                    <path d="M0 0h24v24H0z" fill="none"></path>
277
                    <path id="statistics-bars" d="M10 20h4V4h-4v16zm-6 0h4v-8H4v8zM16 9v11h4V9h-4z"></path>
278
                  </svg>
279
                  <span class="uk-text-middle space">View statistics</span>
269 280
                </div>
270
              </li>
281
              </div>
271 282

  
272
              <li (click)="activeTab='Statistics'; statsClicked=true">
273
                <a class="uk-accordion-title" href="#">
274
                  Statistics
275
                </a>
276
                <div class="uk-accordion-content">
277
                  <errorMessages [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status]"
278
                                 [type]="'statistics'" tab_error_class=true></errorMessages>
283
              <div *ngIf="fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
284
                       || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0"
285
                   class="uk-margin-top advanced-buttons uk-grid-small uk-child-width-1-4@s uk-child-width-1-2"
286
                   uk-height-match="target: .target; row: false"
287
                   uk-grid>
288
                <ng-container *ngTemplateOutlet="search_box;
289
                            context: {  fetch: fetchPublications, type: 'publications', typeName: 'Publications'}">
290
                </ng-container>
291
                <ng-container *ngTemplateOutlet="search_box;
292
                            context: {  fetch: fetchDatasets, type: 'datasets', typeName: 'Research Data'}">
293
                </ng-container>
294
                <ng-container *ngTemplateOutlet="search_box;
295
                            context: {  fetch: fetchSoftware, type: 'software', typeName: 'Software'}">
296
                </ng-container>
297
                <ng-container *ngTemplateOutlet="search_box;
298
                            context: {  fetch: fetchOrps, type: 'other', typeName: 'Other Research Products'}">
299
                </ng-container>
300
              </div>
301
            </div>
279 302

  
280
                  <div
281
                    *ngIf="statsClicked && (fetchPublications.searchUtils.status == errorCodes.DONE || fetchDatasets.searchUtils.status == errorCodes.DONE)">
303
<!--            <ul class="custom-accordion" uk-accordion>-->
282 304

  
283
                    <div>
284
                      <p class="uk-text-bold">Research Results</p>
285
                      <i-frame [url]=chartScientificResultsUrl></i-frame>
286
                      <p class="uk-text-bold">Access Mode of Research Results</p>
287
                      <i-frame [url]=chartAccessModeUrl></i-frame>
288
                      <p class="uk-text-bold">By Datasource of Research Results</p>
289
                      <i-frame [url]=chartDatasourcesUrl></i-frame>
290
                    </div>
291
                  </div>
292
                </div>
293
              </li>
305
<!--              <li (click)="activeTab='Publications'; searchPublicationsInit()">-->
306
<!--                <a class="uk-accordion-title" href="#">-->
307
<!--                  Publications-->
308
<!--                  &lt;!&ndash; <span class="uk-badge uk-badge-notification"> &ndash;&gt;-->
309
<!--                  ({{fetchPublications.searchUtils.totalResults | number}})-->
310
<!--                  &lt;!&ndash; </span> &ndash;&gt;-->
311
<!--                </a>-->
312
<!--                <div class="uk-accordion-content">-->
313
<!--                  <errorMessages [status]="[fetchPublications.searchUtils.status]" [type]="'publications'"-->
314
<!--                                 tab_error_class=true></errorMessages>-->
294 315

  
295
              <li (click)="metricsClicked=true; activeTab='Metrics'">
296
                <a class="uk-accordion-title" href="#">
297
                  Metrics
298
                </a>
299
                <div class="uk-accordion-content">
300
                  <metrics *ngIf="metricsClicked" [pageViews]="pageViews"
301
                           [id]="projectId" [entityType]="'projects'" [entity]="'Project'"
302
                           (metricsResults)="metricsResults($event)" [properties]=properties>
303
                  </metrics>
304
                  <i-frame *ngIf="metricsClicked && totalViews > 0"
305
                           [url]=viewsFrameUrl >
306
                  </i-frame>
307
                  <i-frame *ngIf="metricsClicked && totalDownloads > 0"
308
                           [url]=downloadsFrameUrl>
309
                  </i-frame>
310
                </div>
311
              </li>
312
            </ul>
316
<!--                  <div *ngIf="fetchPublications.searchUtils.status == errorCodes.DONE">-->
317
<!--                    <div class="uk-text-right" *ngIf="fetchPublications.searchUtils.totalResults > 10">-->
318
<!--                      <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"-->
319
<!--                         routerLinkActive="router-link-active" [routerLink]="linkToSearchPublications"-->
320
<!--                         class="uk-button uk-button-text">-->
321
<!--                        View all {{fetchPublications.searchUtils.totalResults | number}} results-->
322
<!--                      </a>-->
323
<!--                    </div>-->
324
<!--                    <tab-result [(results)]="fetchPublications.results"-->
325
<!--                                [(status)]="fetchPublications.searchUtils.status"-->
326
<!--                                type="publication" urlParam="articleId">-->
327
<!--                    </tab-result>-->
328
<!--                  </div>-->
329
<!--                </div>-->
330
<!--              </li>-->
313 331

  
332
<!--              <li (click)="activeTab='Research Data'; searchDatasetsInit()">-->
333
<!--                <a class="uk-accordion-title" href="#">-->
334
<!--                  Research Data-->
335
<!--                  &lt;!&ndash; <span class="uk-badge uk-badge-notification"> &ndash;&gt;-->
336
<!--                  ({{fetchDatasets.searchUtils.totalResults | number}})-->
337
<!--                  &lt;!&ndash; </span> &ndash;&gt;-->
338
<!--                </a>-->
339
<!--                <div class="uk-accordion-content">-->
340
<!--                  <errorMessages [status]="[fetchDatasets.searchUtils.status]" [type]="'research data'"-->
341
<!--                                 tab_error_class=true></errorMessages>-->
314 342

  
315
            <!-- <ul class="uk-tab uk-visible@m" uk-tab="connect: #tab-content">
316
                <li (click)="activeTab='Publications'" [class]="activeTab == 'Publications'?'uk-active':''">
317
                    <a>
318
                        Publications
319
                        <span class="uk-badge uk-badge-notification">
320
                            {{fetchPublications.searchUtils.totalResults | number}}
321
                        </span>
322
                    </a>
323
                </li>
324
                <li (click)="activeTab='Research Data'; searchDatasetsInit()"
325
                    [class]="activeTab == 'Research Data'?'uk-active':''">
326
                    <a>
327
                        Research Data
328
                        <span class="uk-badge uk-badge-notification">
329
                            {{fetchDatasets.searchUtils.totalResults | number}}
330
                        </span>
331
                    </a>
332
                </li>
333
                <li (click)="activeTab='Software'; searchSoftwareInit()"
334
                    [class]="activeTab == 'Software'?'uk-active':''">
335
                    <a>
336
                        Software
337
                        <span class="uk-badge uk-badge-notification">
338
                            {{fetchSoftware.searchUtils.totalResults | number}}
339
                        </span>
340
                    </a>
341
                </li>
342
                <li (click)="activeTab='Statistics'; statsClicked=true"
343
                    [class]="activeTab == 'Statistics'?'uk-active':''">
344
                    <a>
345
                        Statistics
343
<!--                  <div *ngIf="fetchDatasets.searchUtils.status == errorCodes.DONE">-->
346 344

  
347
                    </a>
348
                </li>
349
                <li (click)="activeTab='Metrics'; metricsClicked=true"
350
                    [class]="activeTab == 'Metrics'?'uk-active':''">
351
                    <a>
352
                        Metrics
353
                    </a>
354
                </li>
355
            </ul> -->
345
<!--                    <div class="uk-text-right" *ngIf="fetchDatasets.searchUtils.totalResults > 10">-->
346
<!--                      <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"-->
347
<!--                         routerLinkActive="router-link-active" [routerLink]="linkToSearchDatasets"-->
348
<!--                         class="uk-button uk-button-text">-->
349
<!--                        View all {{fetchDatasets.searchUtils.totalResults | number}} results-->
350
<!--                      </a>-->
351
<!--                    </div>-->
352
<!--                    <tab-result [(results)]="fetchDatasets.results"-->
353
<!--                                [(status)]="fetchDatasets.searchUtils.status"-->
354
<!--                                type="dataset" urlParam="datasetId">-->
355
<!--                    </tab-result>-->
356
<!--                  </div>-->
357
<!--                </div>-->
358
<!--              </li>-->
356 359

  
357
            <!-- <button class="uk-button uk-button-default uk-hidden@m" type="button">
358
              <span uk-navbar-toggle-icon></span> <span class="uk-margin-small-left">{{activeTab}}</span>
359
            </button>
360
<!--              <li (click)="activeTab='Software'; searchSoftwareInit()">-->
361
<!--                <a class="uk-accordion-title" href="#">-->
362
<!--                  Software-->
363
<!--                  &lt;!&ndash; <span class="uk-badge uk-badge-notification"> &ndash;&gt;-->
364
<!--                  ({{fetchSoftware.searchUtils.totalResults | number}})-->
365
<!--                  &lt;!&ndash; </span> &ndash;&gt;-->
366
<!--                </a>-->
367
<!--                <div class="uk-accordion-content">-->
368
<!--                  <errorMessages [status]="[fetchSoftware.searchUtils.status]" [type]="'software'"-->
369
<!--                                 tab_error_class=true></errorMessages>-->
360 370

  
361
            <ul id="toggle-small-tabs" class="uk-subnav uk-subnav-pill uk-dropdown uk-hidden@m" uk-switcher="connect: #tab-content" uk-dropdown="mode: click" uk-toggle="target: #toggle-small-tabs">
362
              <li (click)="activeTab='Publications'" [class]="activeTab == 'Publications'?'uk-active':''">
363
                  <a>
364
                      Publications
365
                      <span class="uk-badge uk-badge-notification">
366
                          {{fetchPublications.searchUtils.totalResults | number}}
367
                      </span>
368
                  </a>
369
              </li>
370
              <li (click)="searchDatasetsInit(); activeTab='Research Data'"
371
                  [class]="activeTab == 'Research Data'?'uk-active':''">
372
                  <a>
373
                      Research Data
374
                      <span class="uk-badge uk-badge-notification">
375
                          {{fetchDatasets.searchUtils.totalResults | number}}
376
                      </span>
377
                  </a>
378
              </li>
379
              <li (click)="searchSoftwareInit(); activeTab='Software'"
380
                  [class]="activeTab == 'Software'?'uk-active':''">
381
                  <a>
382
                      Software
383
                      <span class="uk-badge uk-badge-notification">
384
                          {{fetchSoftware.searchUtils.totalResults | number}}
385
                      </span>
386
                  </a>
387
              </li>
388
              <li (click)="statsClicked=true; activeTab='Statistics'"
389
                  [class]="activeTab == 'Statistics'?'uk-active':''">
390
                  <a>
391
                      Statistics
392
                  </a>
393
              </li>
394
              <li (click)="metricsClicked=true; activeTab='Metrics'"
395
                  [class]="activeTab == 'Metrics'?'uk-active':''">
396
                  <a>
397
                      Metrics
398
                  </a>
399
              </li>
400
            </ul> -->
371
<!--                  <div *ngIf="fetchSoftware.searchUtils.status == errorCodes.DONE">-->
401 372

  
402
            <!-- <div class="uk-margin custom-tab-content">
373
<!--                    <div class="uk-text-right" *ngIf="fetchSoftware.searchUtils.totalResults > 10">-->
374
<!--                      <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"-->
375
<!--                         routerLinkActive="router-link-active" [routerLink]="linkToSearchSoftware"-->
376
<!--                         class="uk-button uk-button-text">-->
377
<!--                        View all {{fetchSoftware.searchUtils.totalResults | number}} results-->
378
<!--                      </a>-->
379
<!--                    </div>-->
380
<!--                    <tab-result [(results)]="fetchSoftware.results"-->
381
<!--                                [(status)]="fetchSoftware.searchUtils.status"-->
382
<!--                                type="software" urlParam="softwareId">-->
383
<!--                    </tab-result>-->
384
<!--                  </div>-->
385
<!--                </div>-->
386
<!--              </li>-->
403 387

  
404
                <div *ngIf="activeTab=='Publications'" class="uk-animation-fade">
405
                    <errorMessages [status]="[fetchPublications.searchUtils.status]" [type]="'publications'"></errorMessages>
388
<!--              <li (click)="activeTab='Other Research Products'; searchOrpsInit()">-->
389
<!--                <a class="uk-accordion-title" href="#">-->
390
<!--                  Other Research Products-->
391
<!--                  &lt;!&ndash; <span class="uk-badge uk-badge-notification"> &ndash;&gt;-->
392
<!--                  ({{fetchOrps.searchUtils.totalResults | number}})-->
393
<!--                  &lt;!&ndash; </span> &ndash;&gt;-->
394
<!--                </a>-->
395
<!--                <div class="uk-accordion-content">-->
396
<!--                  <errorMessages [status]="[fetchOrps.searchUtils.status]" [type]="'other research products'"-->
397
<!--                                 tab_error_class=true></errorMessages>-->
406 398

  
407
                    <div *ngIf="fetchPublications.searchUtils.totalResults > 0">
408
                        <div class = "uk-text-right" *ngIf = "fetchPublications.searchUtils.totalResults > 10" >
409
                            <a  [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"
410
                                routerLinkActive="router-link-active" [routerLink]="linkToSearchPublications" class="uk-button uk-button-text">
411
                                View all {{fetchPublications.searchUtils.totalResults | number}} results
412
                            </a>
413
                        </div>
414
                        <tab-result  [(results)]="fetchPublications.results"
415
                                        [(status)]= "fetchPublications.searchUtils.status"
416
                                        type="publication" urlParam="articleId">
417
                        </tab-result>
418
                    </div>
419
                </div>
399
<!--                  <div *ngIf="fetchOrps.searchUtils.status == errorCodes.DONE">-->
420 400

  
421
                <div *ngIf="activeTab == 'Research Data'" class="uk-animation-fade">
422
                    <errorMessages [status]="[fetchDatasets.searchUtils.status]" [type]="'research data'"></errorMessages>
401
<!--                    <div class="uk-text-right" *ngIf="fetchOrps.searchUtils.totalResults > 10">-->
402
<!--                      <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"-->
403
<!--                         routerLinkActive="router-link-active" [routerLink]="linkToSearchOrps"-->
404
<!--                         class="uk-button uk-button-text">-->
405
<!--                        View all {{fetchOrps.searchUtils.totalResults | number}} results-->
406
<!--                      </a>-->
407
<!--                    </div>-->
408
<!--                    <tab-result [(results)]="fetchOrps.results"-->
409
<!--                                [(status)]="fetchOrps.searchUtils.status"-->
410
<!--                                type="other" urlParam="orpId">-->
411
<!--                    </tab-result>-->
412
<!--                  </div>-->
413
<!--                </div>-->
414
<!--              </li>-->
423 415

  
424
                    <div *ngIf="fetchDatasets.searchUtils.totalResults > 0">
416
<!--              <li (click)="activeTab='Statistics'; statsClicked=true">-->
417
<!--                <a class="uk-accordion-title" href="#">-->
418
<!--                  Statistics-->
419
<!--                </a>-->
420
<!--                <div class="uk-accordion-content">-->
421
<!--                  <errorMessages [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status]"-->
422
<!--                                 [type]="'statistics'" tab_error_class=true></errorMessages>-->
425 423

  
426
                        <div class = "uk-text-right" *ngIf = "fetchDatasets.searchUtils.totalResults > 10">
427
                            <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"
428
                                routerLinkActive="router-link-active" [routerLink]="linkToSearchDatasets" class="uk-button uk-button-text">
429
                                View all {{fetchDatasets.searchUtils.totalResults | number}} results
430
                            </a>
431
                        </div>
432
                        <tab-result  [(results)]="fetchDatasets.results"
433
                                        [(status)]= "fetchDatasets.searchUtils.status"
434
                                        type="dataset" urlParam="datasetId">
435
                        </tab-result>
436
                    </div>
437
                </div>
438
                <div *ngIf="activeTab == 'Software'" class="uk-animation-fade">
439
                    <errorMessages [status]="[fetchSoftware.searchUtils.status]" [type]="'software'"></errorMessages>
424
<!--                  <div-->
425
<!--                    *ngIf="statsClicked && (fetchPublications.searchUtils.status == errorCodes.DONE || fetchDatasets.searchUtils.status == errorCodes.DONE)">-->
440 426

  
441
                    <div *ngIf="fetchSoftware.searchUtils.totalResults > 0">
427
<!--                    <div>-->
428
<!--                      <p class="uk-text-bold">Research Results</p>-->
429
<!--                      <i-frame [url]=chartScientificResultsUrl></i-frame>-->
430
<!--                      <p class="uk-text-bold">Access Mode of Research Results</p>-->
431
<!--                      <i-frame [url]=chartAccessModeUrl></i-frame>-->
432
<!--                      <p class="uk-text-bold">By Datasource of Research Results</p>-->
433
<!--                      <i-frame [url]=chartDatasourcesUrl></i-frame>-->
434
<!--                    </div>-->
435
<!--                  </div>-->
436
<!--                </div>-->
437
<!--              </li>-->
442 438

  
443
                        <div class = "uk-text-right" *ngIf = "fetchSoftware.searchUtils.totalResults > 10">
444
                            <a [queryParams]="routerHelper.createQueryParams(['project', 'po'], [projectId, 'and'])"
445
                                routerLinkActive="router-link-active" [routerLink]="linkToSearchSoftware" class="uk-button uk-button-text">
446
                                View all {{fetchSoftware.searchUtils.totalResults | number}} results
447
                            </a>
448
                        </div>
449
                        <tab-result  [(results)]="fetchSoftware.results"
450
                                        [(status)]= "fetchSoftware.searchUtils.status"
451
                                        type="software" urlParam="softwareId">
452
                        </tab-result>
453
                    </div>
454
                </div>
455
                <div *ngIf="activeTab == 'Statistics'" class="uk-animation-fade">
456
                  <errorMessages [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status]" [type]="'statistics'"></errorMessages>
457

  
458
                  <div *ngIf="statsClicked && (fetchPublications.searchUtils.totalResults != 0 || fetchDatasets.searchUtils.totalResults != 0)">
459

  
460
                      <div>
461
                        <p class="uk-text-bold">Research Results</p>
462
                        <i-frame  [url]=chartScientificResultsUrl width="100%" height="350"></i-frame>
463
                        <p class="uk-text-bold">Access Mode of Research Results</p>
464
                        <i-frame [url]=chartAccessModeUrl width="100%" height="350"></i-frame>
465
                        <p class="uk-text-bold">By Datasource of Research Results</p>
466
                        <i-frame  [url]=chartDatasourcesUrl width="100%" height="350"></i-frame>
467
                      </div>
468
                  </div>
469
                </div>
470
                <div *ngIf="activeTab=='Metrics'" class="uk-animation-fade">
471

  
472
                    <metrics [pageViews]="pageViews"
473
                        [id]="projectId" [entityType]="'projects'" [entity]="'Project'"
474
                        (metricsResults)="metricsResults($event)" [(properties)] = properties>
475
                    </metrics>
476
                    <i-frame *ngIf="metricsClicked && totalViews > 0"
477
                        [url]=viewsFrameUrl width="100%" height="250">
478
                    </i-frame>
479
                    <i-frame *ngIf="metricsClicked && totalDownloads > 0"
480
                        [url]=downloadsFrameUrl width="100%" height="250">
481
                    </i-frame>
482
                </div>
483
          </div> -->
439
<!--              <li (click)="metricsClicked=true; activeTab='Metrics'">-->
440
<!--                <a class="uk-accordion-title" href="#">-->
441
<!--                  Metrics-->
442
<!--                </a>-->
443
<!--                <div class="uk-accordion-content">-->
444
<!--                  <metrics *ngIf="metricsClicked" [pageViews]="pageViews"-->
445
<!--                           [id]="projectId" [entityType]="'projects'" [entity]="'Project'"-->
446
<!--                           (metricsResults)="metricsResults($event)" [properties]=properties>-->
447
<!--                  </metrics>-->
448
<!--                  <i-frame *ngIf="metricsClicked && totalViews > 0"-->
449
<!--                           [url]=viewsFrameUrl >-->
450
<!--                  </i-frame>-->
451
<!--                  <i-frame *ngIf="metricsClicked && totalDownloads > 0"-->
452
<!--                           [url]=downloadsFrameUrl>-->
453
<!--                  </i-frame>-->
454
<!--                </div>-->
455
<!--              </li>-->
456
<!--            </ul>-->
484 457
          </div>
485 458

  
486

  
487 459
          <div class="uk-width-1-3@m uk-width-1-1@s">
488 460
            <div class="uk-card uk-card-default uk-padding-small">
489
              <div *ngIf="isRouteAvailable('participate/direct-claim') " class=" uk-margin-small-bottom">
461
<!--              <div *ngIf="isRouteAvailable('participate/direct-claim') " class=" uk-margin-small-bottom">-->
490 462

  
491
                <button class="   uk-button portal-button uk-margin-small-top uk-width-1-1">
492
              <span class="uk-icon">
493
                   <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20"
494
                        height="25"><path
495
                     d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375"
496
                     fill="none" stroke="#000" stroke-width="1.1"></path><path
497
                     d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375"
498
                     fill="none" stroke="#000" stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975"
499
                                                                               fill="none" stroke="#000"
500
                                                                               stroke-width="1.1"></path></svg>
501
                 </span> Link this project to...
502
                </button>
463
<!--                <button class="   uk-button portal-button uk-margin-small-top uk-width-1-1">-->
464
<!--              <span class="uk-icon">-->
465
<!--                   <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20"-->
466
<!--                        height="25"><path-->
467
<!--                     d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375"-->
468
<!--                     fill="none" stroke="#000" stroke-width="1.1"></path><path-->
469
<!--                     d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375"-->
470
<!--                     fill="none" stroke="#000" stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975"-->
471
<!--                                                                               fill="none" stroke="#000"-->
472
<!--                                                                               stroke-width="1.1"></path></svg>-->
473
<!--                 </span> Link this project to...-->
474
<!--                </button>-->
503 475

  
504 476

  
505
                <div class="  uk-text-center uk-margin-expand uk-padding-small    uk-margin-auto  default-dropdown "
506
                     uk-dropdown="mode:click">
507
                  <div class="uk-grid    uk-child-width-1-3  uk-width-large ">
477
<!--                <div class="  uk-text-center uk-margin-expand uk-padding-small    uk-margin-auto  default-dropdown "-->
478
<!--                     uk-dropdown="mode:click">-->
479
<!--                  <div class="uk-grid    uk-child-width-1-3  uk-width-large ">-->
508 480

  
509
                    <div><a
510
                      [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId,'project','result'])"
511
                      routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
512
                      <button class="uk-icon-button portal-button">
513
                      <span class="uk-icon">
514
                           <svg height="20" icon="copy" ratio="1" viewBox="0 0 20 20" width="20"
515
                                xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="16" stroke="#000"
516
                                                                         width="12" x="3.5" y="2.5"></rect><polyline
517
                             fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg></span>
518
                      </button>
519
                      <div>Research results</div>
520
                    </a></div>
481
<!--                    <div><a-->
482
<!--                      [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId,'project','result'])"-->
483
<!--                      routerLinkActive="router-link-active" routerLink="/participate/direct-claim">-->
484
<!--                      <button class="uk-icon-button portal-button">-->
485
<!--                      <span class="uk-icon">-->
486
<!--                           <svg height="20" icon="copy" ratio="1" viewBox="0 0 20 20" width="20"-->
487
<!--                                xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="16" stroke="#000"-->
488
<!--                                                                         width="12" x="3.5" y="2.5"></rect><polyline-->
489
<!--                             fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg></span>-->
490
<!--                      </button>-->
491
<!--                      <div>Research results</div>-->
492
<!--                    </a></div>-->
521 493

  
522
                  </div>
494
<!--                  </div>-->
495
<!--                </div>-->
496
<!--              </div>-->
497

  
498
              <div *ngIf="isRouteAvailable('participate/direct-claim')">
499
                <div class="uk-margin-auto uk-width-3-4">
500
                  <button class="uk-button uk-width-1-1 portal-button">
501
                    <span uk-icon="link"></span>
502
                    Link this project to...
503
                  </button>
523 504
                </div>
524
              </div>
525

  
526
              <div>
527
                <div class="sideInfoTitle uk-margin-small-bottom uk-margin-small-top">Share - Bookmark</div>
528
                <addThis></addThis>
529
              </div>
530
              <div class="uk-margin-top">
531
                <div class="sideInfoTitle uk-margin-small-bottom">Share project's research results</div>
532
                <div>
533
<!--                <ul class="uk-padding-remove" uk-switcher>-->
534

  
535
                  <!--                  <ul class="uk-tab" uk-tab="connect: #tab-app-box-project">-->
536
<!--                  <ul class="">-->
537
                  <div [class]="'uk-margin-small-bottom uk-margin-small-right uk-button uk-button-small'
538
                                  + (share_research_results_type == 'publications' ? ' researchResultTypeSelected' : ' researchResultTypeNotSelected')"
539
                       (click)="((share_research_results_type == 'publications') ? share_research_results_type='' : share_research_results_type='publications')">
540
                    Publications
541
                  </div>
542
                  <div [class]="'uk-margin-small-bottom uk-margin-small-right uk-button uk-button-small'
543
                                  + (share_research_results_type == 'datasets' ? ' researchResultTypeSelected' : ' researchResultTypeNotSelected')"
544
                       (click)="((share_research_results_type == 'datasets') ? share_research_results_type='' : share_research_results_type='datasets')">
545
                      Research data
546
                  </div>
547
                  <div [class]="'uk-margin-small-bottom uk-margin-small-right uk-button uk-button-small'
548
                                                    + (share_research_results_type == 'software' ? ' researchResultTypeSelected' : ' researchResultTypeNotSelected')"
549
                       (click)="((share_research_results_type == 'software') ? share_research_results_type='' : share_research_results_type='software')">
550
                      Software
551
                  </div>
552
                  <div [class]="'uk-margin-small-bottom uk-margin-small-right uk-button uk-button-small'
553
                                                    + (share_research_results_type == 'other' ? ' researchResultTypeSelected' : ' researchResultTypeNotSelected')"
554
                       (click)="((share_research_results_type == 'other') ? share_research_results_type='' : share_research_results_type='other')">
555
                      Other
556
                  </div>
557
<!--                  </ul>-->
558
<!--                  <ul id="tab-app-box-project" class="uk-switcher uk-margin uk-padding-small">-->
559
                  <div *ngIf="share_research_results_type" class="uk-padding-small app-box">
560
                    <div *ngIf="share_research_results_type=='publications'" class="uk-animation-slide-top-small">
561
                      <!-- Publication box-->
562
<!--                      <ng-container *ngIf="share_research_results_type=='publications'">-->
563
                        <ng-container *ngTemplateOutlet="share_research_results_box;
564
                          context: {  fetch: fetchPublications, clipboardName: 'publications_clipboard',
565
                                      dynamic_content: publications_dynamic, type: 'publication',
566
                                      fileName_type: 'publications', csvParams: csvParams}">
567
                        </ng-container>
568
<!--                      </ng-container>-->
505
                <div class="uk-text-center uk-margin-expand uk-padding-small    uk-margin-auto  default-dropdown "
506
                     uk-dropdown="mode:click">
507
                  <div class="uk-grid uk-child-width-1-3 uk-width-large ">
508
                    <div>
509
                      <a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId, 'project','project'])"
510
                         routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
511
                        <button class="uk-icon-button portal-button">
512
                          <span class="uk-icon">
513
                            <svg height="20" icon="album" ratio="1" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg">
514
                              <rect height="1" width="10" x="5" y="2"></rect>
515
                              <rect height="1" width="14" x="3" y="4"></rect>
516
                              <rect fill="none" height="11" stroke="#000" width="17" x="1.5" y="6.5"></rect>
517
                            </svg>
518
                          </span>
519
                        </button>
520
                        <div>Projects</div>
521
                      </a>
569 522
                    </div>
570
                    <div *ngIf="share_research_results_type=='datasets'" class="uk-animation-slide-top-small">
571
<!--                    <ng-container *ngIf="share_research_results_type=='datasets'">-->
572
                        <ng-container *ngTemplateOutlet="share_research_results_box;
573
                          context: {  fetch: fetchDatasets, clipboardName: 'datasets_clipboard',
574
                                      dynamic_content: datasets_dynamic, type: 'dataset',
575
                                      fileName_type: 'research-data', csvParams: csvParamsDatasets}">
576
                        </ng-container>
577
<!--                      </ng-container>-->
578
                    </div>
579
                    <div *ngIf="share_research_results_type=='software'" class="uk-animation-slide-top-small">
580
<!--                    <ng-container *ngIf="share_research_results_type=='software'">-->
581
                        <ng-container *ngTemplateOutlet="share_research_results_box;
582
                          context: {  fetch: fetchSoftware, clipboardName: 'software_clipboard',
583
                                      dynamic_content: software_dynamic, type: 'software',
584
                                      fileName_type: 'software', csvParams: csvParamsSoftware}">
585
                        </ng-container>
586
<!--                      </ng-container>-->
587
                    </div>
588
                    <div *ngIf="share_research_results_type=='other'" class="uk-animation-slide-top-small">
589
<!--                    <ng-container *ngIf="share_research_results_type=='other'">-->
590
                        <ng-container *ngTemplateOutlet="share_research_results_box;
591
                          context: {  fetch: fetchOrps, clipboardName: 'other_clipboard',
592
                                      dynamic_content: orps_dynamic, type: 'other',
593
                                      fileName_type: 'other-research-products', csvParams: csvParamsOrps}">
594
                        </ng-container>
595
<!--                      </ng-container>-->
596

  
597
                    </div>
598
<!--                    <li class="uk-animation-fade">-->
599
<!--                      &lt;!&ndash; Dataset box&ndash;&gt;-->
600
<!--                      <ul class="uk-list">-->
601
<!--                        <li>-->
602
<!--                          <a class="clickable" uk-toggle="target: #datasets_dynamic; animation:uk-animation-fade"><span-->
603
<!--                            class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"-->
604
<!--                                                 xmlns="http://www.w3.org/2000/svg" icon="code" ratio="1"><polyline-->
605
<!--                            fill="none" stroke="#000" stroke-width="1.01" points="13,4 19,10 13,16"></polyline><polyline-->
606
<!--                            fill="none" stroke="#000" stroke-width="1.01"-->
607
<!--                            points="7,4 1,10 7,16"></polyline></svg></span> Include in your site (HTML) </a>-->
608
<!--                          <div hidden id="datasets_dynamic"-->
609
<!--                               class="widget-box uk-padding-small uk-card uk-card-default ">-->
610
<!--                            <div-->
611
<!--                              class="  uk-alert uk-alert-primary uk-padding-small uk-margin-remove-bottom uk-margin-right">-->
612
<!--                              For further information please contact us <a-->
613
<!--                              href="mailto:helpdesk@openaire.eu">helpdesk@openaire.eu</a>-->
614
<!--                            </div>-->
615
<!--                            <div class="uk-grid">-->
616
<!--                              <a-->
617
<!--                                class="    datasets_clipboard_btn uk-padding-remove-left uk-margin-small-left uk-text-right uk-width-1-1 "-->
618
<!--                                data-clipboard-target="#datasets_clipboard" title="Copy to clipboard">-->
619
<!--                                <span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"-->
620
<!--                                                           xmlns="http://www.w3.org/2000/svg" icon="copy" ratio="1"><rect-->
621
<!--                                  fill="none" stroke="#000" x="3.5" y="2.5" width="12" height="16"></rect><polyline-->
622
<!--                                  fill="none" stroke="#000" points="5 0.5 17.5 0.5 17.5 17"></polyline></svg></span>-->
623
<!--                              </a>-->
624
<!--                            </div>-->
625
<!--                            <pre class="box-content uk-padding-remove-bottom uk-margin-remove-bottom"><code-->
626
<!--                              id="datasets_clipboard">{{datasets_dynamic}}</code></pre>-->
627
<!--                          </div>-->
628
<!--                        </li>-->
629
<!--                        <li>-->
630
<!--                          <a target="_blank"-->
631
<!--                             href="/project-report?projectId={{projectId}}&size={{fetchDatasets.searchUtils.totalResults}}&type=dataset">-->
632
<!--                            <span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"-->
633
<!--                                                       xmlns="http://www.w3.org/2000/svg" icon="table" ratio="1"><rect-->
634
<!--                              x="1" y="3" width="18" height="1"></rect><rect x="1" y="7" width="18" height="1"></rect><rect-->
635
<!--                              x="1" y="11" width="18" height="1"></rect><rect x="1" y="15" width="18" height="1"></rect></svg></span>-->
636
<!--                            Get {{projectInfo.funder}} report (HTML)-->
637
<!--                          </a>-->
638
<!--                        </li>-->
639
<!--                        <li>-->
640
<!--                          <a class="clickable"-->
641
<!--                             (click)="downloadfile(downloadURLAPI+csvParamsDatasets, 'funder-research-data-report')">-->
642
<!--                            <span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"-->
643
<!--                                                       xmlns="http://www.w3.org/2000/svg" icon="download" ratio="1"><polyline-->
644
<!--                              fill="none" stroke="#000" points="14,10 9.5,14.5 5,10"></polyline><rect x="3" y="17"-->
645
<!--                                                                                                      width="13"-->
646
<!--                                                                                                      height="1"></rect><line-->
647
<!--                              fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line></svg></span>-->
648
<!--                            Get {{projectInfo.funder}} report (CSV)-->
649
<!--                          </a>-->
650
<!--                        </li>-->
651
<!--                        <li *ngIf="isRouteAvailable('participate/deposit-datasets') ">-->
652
<!--                          <a routerLinkActive="router-link-active" routerLink="/participate/deposit-datasets">-->
653
<!--                              <span class="uk-icon">-->
654
<!--                              <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"-->
655
<!--                                   ratio="1"><polyline fill="none" stroke="#000" points="5 8 9.5 3.5 14 8 "></polyline><rect-->
656
<!--                                x="3" y="17" width="13" height="1"></rect><line fill="none" stroke="#000" x1="9.5"-->
657
<!--                                                                                y1="15" x2="9.5" y2="4"></line></svg>-->
658
<!--                              </span> Deposit-->
659
<!--                          </a>-->
660
<!--                        </li>-->
661
<!--                      </ul>-->
662
<!--                    </li>-->
663 523
                  </div>
664 524
                </div>
665
                <!--metrics [pageViews]="pageViews" shortView=true
666
                                [id]="projectId" [entityType]="'projects'" [entity]="'Project'"
667
                                (metricsResults)="metricsResults($event)" [(properties)] = properties>
668
                            </metrics-->
669

  
670

  
671 525
              </div>
672
              <div class="uk-margin-top uk-margin-bottom"
673
                   *ngIf="isRouteAvailable('participate/deposit/learn-how') ">
526
              <div *ngIf="isRouteAvailable('participate/deposit/learn-how')"
527
                   class="uk-margin-small-top uk-margin-auto uk-width-3-4">
674 528
                <a routerLinkActive="router-link-active" routerLink="/participate/deposit/learn-how"
675 529
                   class="uk-button uk-button-primary uk-width-1-1">
676 530
                      <span class="uk-icon">
......
684 538
                </a>
685 539
              </div>
686 540

  
687
            </div>
541
              <div class="uk-margin-top">
542
                <div class="sideInfoTitle uk-margin-small-bottom uk-margin-small-top">Share - Bookmark</div>
543
                <div class="uk-margin-small-left uk-margin-small-right"><addThis></addThis></div>
544
              </div>
545
              <div class="uk-margin-top">
546
                <div class="sideInfoTitle uk-margin-small-bottom uk-margin-small-top">Share project's content</div>
547
                <div class="app-box uk-padding-small uk-margin-small-left uk-margin-small-right">
548
                  <select class="select" id="share_content" name="share_content"
549
                          [(ngModel)]="share_research_results_type">
550
                    <option value="">Select content type</option>
551
                    <option value="publications">Publications</option>
552
                    <option value="datasets">Research Data</option>
553
                    <option value="software">Software</option>
554
                    <option value="other">Other Research Products</option>
555
                  </select>
556
                  <!-- Publication box-->
557
                  <div *ngIf="share_research_results_type=='publications'" class="uk-animation-slide-top-small">
558
                    <ng-container *ngTemplateOutlet="share_research_results_box;
559
                      context: {  fetch: fetchPublications, clipboardName: 'publications_clipboard',
560
                                  dynamic_content: publications_dynamic }">
561
                    </ng-container>
562
                  </div>
563
                  <!-- Dataset box-->
564
                  <div *ngIf="share_research_results_type=='datasets'" class="uk-animation-slide-top-small">
565
                    <ng-container *ngTemplateOutlet="share_research_results_box;
566
                          context: {  fetch: fetchDatasets, clipboardName: 'datasets_clipboard',
567
                                      dynamic_content: datasets_dynamic }">
568
                    </ng-container>
569
                  </div>
570
                  <!-- Software box-->
571
                  <div *ngIf="share_research_results_type=='software'" class="uk-animation-slide-top-small">
572
                    <ng-container *ngTemplateOutlet="share_research_results_box;
573
                          context: {  fetch: fetchSoftware, clipboardName: 'software_clipboard',
574
                                      dynamic_content: software_dynamic }">
575
                    </ng-container>
576
                  </div>
577
                  <!-- Other research product box-->
578
                  <div *ngIf="share_research_results_type=='other'" class="uk-animation-slide-top-small">
579
                    <ng-container *ngTemplateOutlet="share_research_results_box;
580
                          context: {  fetch: fetchOrps, clipboardName: 'other_clipboard',
581
                                      dynamic_content: orps_dynamic }">
582
                    </ng-container>
583
                  </div>
584
                </div>
585
              </div>
586
              <div *ngIf="projectInfo.funding" class="uk-margin-top">
587
                <div class="sideInfoTitle uk-margin-small-bottom uk-margin-small-top">Download report</div>
588
                <div class="app-box uk-padding-small uk-margin-small-left uk-margin-small-right">
589
                  <select class="select" id="download_report" name="download_report"
590
                          [(ngModel)]="download_research_results_type">
591
                    <option value="">Select content type</option>
592
                    <option value="results">Research Outcomes</option>
593
                    <option value="publications">Publications</option>
594
                    <option value="datasets">Research Data</option>
595
                    <option value="software">Software</option>
596
                    <option value="other">Other Research Products</option>
597
                  </select>
598
                  <!-- Result box-->
599
                  <div *ngIf="download_research_results_type=='results'" class="uk-animation-slide-top-small">
600
                    <ng-container *ngTemplateOutlet="download_research_results_box;
601
                        context: {  fetch: fetchPublications, type: 'result',
602
                                    fileName_type: 'research-outcomes', csvParams: getCsvParams('results') }">
603
                    </ng-container>
604
                  </div>
605
                  <!-- Publication box-->
606
                  <div *ngIf="download_research_results_type=='publications'" class="uk-animation-slide-top-small">
607
                    <ng-container *ngTemplateOutlet="download_research_results_box;
608
                        context: {  fetch: fetchPublications, type: 'publication',
609
                                    fileName_type: 'publications', csvParams: getCsvParams('publications') }">
610
                    </ng-container>
611
                  </div>
612
                  <!-- Dataset box-->
613
                  <div *ngIf="download_research_results_type=='datasets'">
614
                    <ng-container *ngTemplateOutlet="download_research_results_box;
615
                        context: {  fetch: fetchDatasets, type: 'dataset',
616
                                    fileName_type: 'research-data', csvParams: getCsvParams('datasets') }">
617
                    </ng-container>
618
                  </div>
619
                  <!-- Software box-->
620
                  <div *ngIf="download_research_results_type=='software'" class="uk-animation-slide-top-small">
621
                    <ng-container *ngTemplateOutlet="download_research_results_box;
622
                          context: {  fetch: fetchSoftware, type: 'software',
623
                                      fileName_type: 'software', csvParams: getCsvParams('software')}">
624
                    </ng-container>
625
                  </div>
626
                  <!-- Other research product box-->
627
                  <div *ngIf="download_research_results_type=='other'" class="uk-animation-slide-top-small">
628
                    <ng-container *ngTemplateOutlet="download_research_results_box;
629
                          context: {  fetch: fetchOrps, type: 'other',
630
                                      fileName_type: 'other-research-products', csvParams: getCsvParams('other')}">
631
                    </ng-container>
632
                  </div>
633
                </div>
634
              </div>
635
              <!-- Metrics -->
636
<!--              <div *ngIf="hasAltMetrics" class="uk-margin-top">-->
637
<!--                <div class="sideInfoTitle uk-margin-small-bottom">Metrics</div>-->
638
<!--                <div uk-grid class="uk-child-width-1-3 uk-text-center uk-flex uk-flex-middle">-->
639
<!--                  <div></div>&lt;!&ndash; Open Citations&ndash;&gt;-->
640
<!--                  <div>-->
641
<!--                    <altmetrics *ngIf="hasAltMetrics" id="{{resultLandingInfo.identifiers.get('doi')[0]}}" type="doi">-->
642
<!--                    </altmetrics>-->
643
<!--                  </div>-->
644
<!--                  <div></div>&lt;!&ndash; OpenAIRE Metrics &ndash;&gt;-->
645
<!--                </div>-->
646
<!--              </div>-->
647

  
648
              <!--              <div class="uk-margin-top">-->
649
<!--                <div class="sideInfoTitle uk-margin-small-bottom">Share project's research results</div>-->
650
<!--                <div>-->
651
<!--                  <div [class]="'uk-margin-small-bottom uk-margin-small-right uk-button uk-button-small'-->
652
<!--                                  + (share_research_results_type == 'publications' ? ' researchResultTypeSelected' : ' researchResultTypeNotSelected')"-->
653
<!--                       (click)="((share_research_results_type == 'publications') ? share_research_results_type='' : share_research_results_type='publications')">-->
654
<!--                    Publications-->
655
<!--                  </div>-->
656
<!--                  <div [class]="'uk-margin-small-bottom uk-margin-small-right uk-button uk-button-small'-->
657
<!--                                  + (share_research_results_type == 'datasets' ? ' researchResultTypeSelected' : ' researchResultTypeNotSelected')"-->
658
<!--                       (click)="((share_research_results_type == 'datasets') ? share_research_results_type='' : share_research_results_type='datasets')">-->
659
<!--                      Research data-->
660
<!--                  </div>-->
661
<!--                  <div [class]="'uk-margin-small-bottom uk-margin-small-right uk-button uk-button-small'-->
662
<!--                                                    + (share_research_results_type == 'software' ? ' researchResultTypeSelected' : ' researchResultTypeNotSelected')"-->
663
<!--                       (click)="((share_research_results_type == 'software') ? share_research_results_type='' : share_research_results_type='software')">-->
664
<!--                      Software-->
665
<!--                  </div>-->
666
<!--                  <div [class]="'uk-margin-small-bottom uk-margin-small-right uk-button uk-button-small'-->
667
<!--                                                    + (share_research_results_type == 'other' ? ' researchResultTypeSelected' : ' researchResultTypeNotSelected')"-->
668
<!--                       (click)="((share_research_results_type == 'other') ? share_research_results_type='' : share_research_results_type='other')">-->
669
<!--                      Other-->
670
<!--                  </div>-->
671
<!--                </div>-->
672
<!--              </div>-->
673
<!--            </div>-->
688 674
          </div>
675
          <div class="uk-margin-small-top uk-text-muted uk-text-small uk-text-right">
676
            Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
677
          </div>
689 678
        </div>
690 679
        <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
691 680
                [texts]="pageContents['bottom']"></helper>
......
696 685
      </div>
697 686
    </div>
698 687
  </div>
688

  
689
  <!-- Statistics -->
690
  <modal-alert *ngIf="projectInfo"
691
               classBody="uk-width-xxlarge uk-padding-remove-right" #statisticsModal>
692
    <landing-header [properties]="properties" [title]="projectInfo.acronym"
693
                    [subTitle]="projectInfo.title"
694
                    [entityType]="'project'"
695
                    [startDate]="projectInfo.startDate"
696
                    [endDate]="projectInfo.endDate"
697
                    [status]="projectInfo.status">
698
    </landing-header>
699
    <div class="uk-margin-medium-top uk-margin-medium-right">
700
      <errorMessages [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status]"
701
                     [type]="'statistics'" tab_error_class=true></errorMessages>
702

  
703
      <div
704
        *ngIf="statsClicked && (fetchPublications.searchUtils.status == errorCodes.DONE || fetchDatasets.searchUtils.status == errorCodes.DONE)">
705
        <div class="uk-padding uk-padding-remove-top">
706
          <span class="uk-text-bold uk-text-small">Produced research results per year</span>
707
          <i-frame [url]=chartScientificResultsUrl></i-frame>
708
        </div>
709
        <div class="uk-padding uk-padding-remove-top">
710
          <span class="uk-text-bold uk-text-small">Access mode of research results</span>
711
          <i-frame [url]=chartAccessModeUrl></i-frame>
712
        </div>
713
        <div class="uk-padding uk-padding-remove-top">
714
          <span class="uk-text-bold uk-text-small">Research results per datasource</span>
715
          <i-frame [url]=chartDatasourcesUrl></i-frame>
716
        </div>
717
      </div>
718
    </div>
719
  </modal-alert>
699 720
</div>
modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/project/project.service.ts
98 98

  
99 99
    parseProjectInfo (data: any, properties:EnvProperties):any {
100 100
        this.projectInfo = new ProjectInfo();
101
        this.projectInfo.funding = {funderName: "", funderShortName: "", code: "", fundingStream: ""};
102

  
103
        // ['result']['header']['dri:objIdentifier']
101 104
        if(data[3] != null) {
102 105
          this.projectInfo.id = data[3];
103 106
        }
104
        if(data[0] != null) {
107

  
108
      // ['result']['metadata']['oaf:entity']['oaf:project']
109
      if(data[0] != null) {
105 110
            this.projectInfo.acronym = data[0].acronym;
106 111
            this.projectInfo.title = Array.isArray(data[0]['title']) ? data[0].title[0] : data[0].title;
107
            this.projectInfo.callIdentifier = data[0].callidentifier;
108
            this.projectInfo.contractNum = data[0].code;
109
            this.projectInfo.startDate = data[0].startdate;
110
            this.projectInfo.endDate = data[0].enddate;
112
            this.projectInfo.funding.code = data[0].code;
113
            if(data[0].startdate) {
114
              let date: number = Date.parse(data[0].startdate);
115
              this.projectInfo.startDate = (date ? date : null);
116
            }
117
            if(data[0].enddate) {
118
              let date: number = Date.parse(data[0].enddate);
119
              this.projectInfo.endDate = (date ? date : null);
120
            }
121
            if(this.projectInfo.endDate || this.projectInfo.startDate) {
122
              let todayDate = Date.parse(new Date().toString());
123
              this.projectInfo.currentDate = todayDate;
124
              console.info("today: "+new Date().toString()+" - "+todayDate);
125
              if(this.projectInfo.startDate) {
126
                let startDate = +(this.projectInfo.startDate);
127
                console.info("startDate: "+this.projectInfo.startDate+" - "+startDate);
128
                if (todayDate < startDate) {
129
                  this.projectInfo.status = "Not started";
130
                }
131
              }
132
              if(this.projectInfo.endDate && !this.projectInfo.status) {
133
                let endDate = +(this.projectInfo.endDate);
134
                console.info("endDate: "+this.projectInfo.endDate+" - "+endDate);
135
                if (todayDate <= endDate) {
136
                  this.projectInfo.status = "On going";
137
                } else {
138
                  this.projectInfo.status = "Closed";
139
                }
140
              }
141
            }
111 142
            this.projectInfo.openAccessMandatePublications = data[0].oamandatepublications;
112 143
            this.projectInfo.specialClause39 = data[0].ecsc39;
113 144
            this.projectInfo.openAccessMandateDatasets = data[0].ecarticle29_3;
145
            this.projectInfo.description = data[0]['summary'];
114 146
        }
115
        if(data[1] != null) {
147

  
148
      // ['result']['metadata']['oaf:entity']['oaf:project']['fundingtree']
149
      if(data[1] != null) {
116 150
            let funding: {"funderName": string, "funderShortname": string, "stream": string};
117 151
            funding = this.parsingFunctions.parseFundingTrees(data[1]);
152
            if(funding.funderName) {
153
              this.projectInfo.funding.funderName = funding.funderName;
154
            }
118 155
            if(funding.funderShortname) {
119
              this.projectInfo.funder = funding.funderShortname;
156
              this.projectInfo.funding.funderShortName = funding.funderShortname;
120 157
            }
121 158
            if(funding.stream) {
122
              this.projectInfo['funding'] = funding.stream;
159
              this.projectInfo.funding.fundingStream = funding.stream;
123 160
            }
124 161
        }
125 162

  
126
        if(data[2] != null) {
163
      // ['result']['metadata']['oaf:entity']['oaf:project']['rels']['rel']
164
      if(data[2] != null) {
127 165
            this.projectInfo.organizations = [];//new Map<string, string>();
128 166

  
129 167
            let acronym: string = "";
......
170 208
            }
171 209
        }
172 210

  
173
        if(this.projectInfo.funder == "EC") {
174
            this.projectInfo.url = properties.cordisURL+this.projectInfo.contractNum;
211
        if(this.projectInfo.funding && this.projectInfo.funding.funderShortName == "EC") {
212
            this.projectInfo.url = properties.cordisURL+this.projectInfo.funding.code;
175 213
            this.projectInfo.urlInfo = "Detailed project information (CORDIS)";
176 214
        }
177 215

  
modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/project/project.component.ts
20 20
import {HelperFunctions} from "../../utils/HelperFunctions.class";
21 21
import {HelperService} from "../../utils/helper/helper.service";
22 22
import {Location} from "@angular/common";
23
import {HtmlProjectReportService} from "../htmlProjectReport/htmlProjectReport.service";
23 24

  
24 25
@Component({
25 26
  selector: 'project',
......
70 71
  // Active tab variable for responsiveness
71 72
  public activeTab: string = "Publications";
72 73

  
74
  @ViewChild('statisticsModal') statisticsModal;
75

  
73 76
  // Request results for publications, research data and software only the one time (first time tab is clicked)
74 77
  private reloadPublications: boolean = true;
75 78
  private reloadDatasets: boolean = true;
......
92 95
  public divContents = null;
93 96

  
94 97
  public share_research_results_type: string = "";
98
  public download_research_results_type: string = "";
95 99

  
100
  public indexUpdateDate: Date;
101

  
96 102
  @ViewChild(ModalLoading) loading: ModalLoading;
97 103
  // Alert box when something is wrong with CSV requests
98 104
  @ViewChild('AlertModalCsvError') alertCsvError;
99 105

  
106
  public thresholdDescription: number = 670;
107
  public showNumDescription: number = 670;
108

  
100 109
  sub: any;
101 110
  piwiksub: any;
102 111
  infoSub: any;
103 112
  downloadFilePiwikSub: any;
104 113
  properties: EnvProperties;
105 114

  
115
  public header1: string = "";
116
  public header2: string = "";
117
  public htmlResultDownload: string = "";
118

  
119
  public subHTML: any;
120
  public subHTMLInfo: any;
121

  
106 122
  constructor(private _projectService: ProjectService,
107 123
              private _piwikService: PiwikService,
108 124
              private  route: ActivatedRoute,
......
114 130
              private _router: Router,
115 131
              private helper: HelperService,
116 132
              private seoService: SEOService,
117
              private _location: Location) {
118
  }
133
              private _location: Location,
134
              private htmlService: HtmlProjectReportService) {}
119 135

  
120 136
  ngOnInit() {
121 137
    this.route.data
122 138
      .subscribe((data: { envSpecific: EnvProperties }) => {
123 139
        this.properties = data.envSpecific;
140
        if(this.properties.lastIndexUpdate) {
141
          this.indexUpdateDate = new Date(this.properties.lastIndexUpdate);
142
        }
124 143
        //this.getDivContents();
125 144
        this.getPageContents();
126 145
        this.updateUrl(data.envSpecific.baseLink + this._router.url);
......
158 177

  
159 178
      this.downloadURLAPI = this.properties.csvAPIURL;
160 179

  
161
      this.createClipboard();
162
      this.csvParams = "?format=csv-special&type=publications&fq=(((oaftype exact result) and (resulttypeid exact publication)) and (relprojectid exact \"" + this.projectId + "\"))";
163
      this.csvParamsDatasets = "?format=csv-special&type=datasets&fq=(((oaftype exact result) and (resulttypeid exact dataset)) and (relprojectid exact \"" + this.projectId + "\"))";
164
      this.csvParamsSoftware = "?format=csv-special&type=software&fq=(((oaftype exact result) and (resulttypeid exact software)) and (relprojectid exact \"" + this.projectId + "\"))";
165
      this.csvParamsOrps = "?format=csv-special&type=other&fq=(((oaftype exact result) and (resulttypeid exact other)) and (relprojectid exact \"" + this.projectId + "\"))";
166

  
167 180
      HelperFunctions.scroll();
168 181
    });
169 182
  }
170 183

  
184
  public getCsvParams(type: string) {
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff