Merge branch 'new-theme' of code-repo.d4science.org:MaDgIK/openaire-library into new-theme
This commit is contained in:
commit
4aabb739bf
|
@ -107,11 +107,6 @@
|
|||
<span *ngIf="!dataProviderInfo.compatibility.id">
|
||||
{{dataProviderInfo.compatibility.info}}
|
||||
</span>
|
||||
<!-- <a *ngIf="dataProviderInfo.compatibility.name && dataProviderInfo.compatibility.id"-->
|
||||
<!-- [queryParams]="{datasourceId: dataProviderInfo.compatibility.id}" routerLinkActive="router-link-active"-->
|
||||
<!-- [routerLink]="properties.searchLinkToDataProvider.split('?')[0]">-->
|
||||
<!-- {{dataProviderInfo.compatibility.info}} {{dataProviderInfo.compatibility.name}}-->
|
||||
<!-- </a>-->
|
||||
<span *ngIf="dataProviderInfo.compatibility.name && !dataProviderInfo.compatibility.id">
|
||||
{{dataProviderInfo.compatibility.name}}
|
||||
</span>
|
||||
|
@ -137,32 +132,32 @@
|
|||
<my-tabs (selectedActiveTab)="onSelectActiveTab($event)" [offsetForSticky]="offset" [(isSticky)]="stickyHeader">
|
||||
<my-tab [tabTitle]="'Summary'" [tabId]="'summary'" [active]="true"></my-tab>
|
||||
<my-tab *ngIf="fetchProjects.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Projects'" [tabNumber]="fetchProjects.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.PROJECTS" [tabNumber]="fetchProjects.searchUtils.totalResults"
|
||||
[tabId]="'projects'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchDataproviders.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Content Providers'" [tabNumber]="fetchDataproviders.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.DATASOURCES" [tabNumber]="fetchDataproviders.searchUtils.totalResults"
|
||||
[tabId]="'datasources'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchPublications.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Publications'" [tabNumber]="fetchPublications.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.PUBLICATIONS" [tabNumber]="fetchPublications.searchUtils.totalResults"
|
||||
[tabId]="'publications'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchDatasets.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Research Data'" [tabNumber]="fetchDatasets.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.DATASETS" [tabNumber]="fetchDatasets.searchUtils.totalResults"
|
||||
[tabId]="'datasets'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchSoftware.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Software'" [tabNumber]="fetchSoftware.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.SOFTWARE" [tabNumber]="fetchSoftware.searchUtils.totalResults"
|
||||
[tabId]="'software'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchOrps.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Other Research'" [tabNumber]="fetchOrps.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.OTHER" [tabNumber]="fetchOrps.searchUtils.totalResults"
|
||||
[tabId]="'other'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
|
||||
|| fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
|
||||
[tabTitle]="'Related Content Providers'" [tabId]="'relatedDatasources'">
|
||||
[tabTitle]="'Related '+openaireEntities.DATASOURCES" [tabId]="'relatedDatasources'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
|
||||
|| fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
|
||||
|
@ -229,23 +224,9 @@
|
|||
class="uk-margin-medium-bottom uk-margin-bottom">
|
||||
<div class="uk-height-max-medium uk-overflow-auto">
|
||||
<div class="uk-text-meta uk-margin-small-bottom">Subjects </div>
|
||||
<!-- <span *ngFor="let subject of dataProviderInfo.subjects.slice(0, showNumSubjects) let i=index">-->
|
||||
<!-- <span>{{subject}}</span>-->
|
||||
<!-- <span *ngIf="(i < dataProviderInfo.subjects.length-1)">, </span>-->
|
||||
<!-- </span>-->
|
||||
<!-- <span *ngIf="showNumSubjects == thresholdSubjects && dataProviderInfo.organizations.length > thresholdSubjects"> ... </span>-->
|
||||
<span>{{dataProviderInfo.subjects.slice(0, lessBtnSubjects ? dataProviderInfo.subjects.length : thresholdSubjects).join(", ")}}</span>
|
||||
<span *ngIf="dataProviderInfo.subjects.length > thresholdSubjects && !lessBtnSubjects"> ... </span>
|
||||
</div>
|
||||
<!-- <div *ngIf="showNumSubjects == thresholdSubjects && dataProviderInfo.organizations.length > thresholdSubjects"-->
|
||||
<!-- class="uk-width-1-1 uk-text-right">-->
|
||||
<!-- <a (click)="showNumSubjects = dataProviderInfo.subjects.length;">-->
|
||||
<!-- View all {{dataProviderInfo.subjects.length | number}} subjects-->
|
||||
<!-- </a>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div *ngIf="showNumSubjects > thresholdSubjects" class="uk-width-1-1 uk-text-right">-->
|
||||
<!-- <a (click)="showNumSubjects = thresholdSubjects;">View less subjects</a>-->
|
||||
<!-- </div>-->
|
||||
<div *ngIf="dataProviderInfo.subjects.length > thresholdSubjects && !lessBtnSubjects"
|
||||
class="uk-width-1-1 uk-text-right">
|
||||
<a (click)="viewAllSubjectsClick();">
|
||||
|
@ -285,33 +266,11 @@
|
|||
<span *ngIf="i < dataProviderInfo.provenance.size-1">, </span>
|
||||
</span>
|
||||
</div>
|
||||
<!-- <span *ngIf="dataProviderInfo.r3DataId" class="uk-display-inline-block">-->
|
||||
<!-- <span class="uk-text-meta">Detailed information @ </span>-->
|
||||
<!-- <a target="_blank" href="{{properties.r3DataURL+dataProviderInfo.r3DataId}}">-->
|
||||
<!-- re3data.org-->
|
||||
<!-- <span class="custom-external custom-icon space"></span>-->
|
||||
<!-- </a>-->
|
||||
<!-- </span>-->
|
||||
</div>
|
||||
<!-- Organizations -->
|
||||
<!-- <div class="uk-text-muted uk-text-small">Organizations</div>-->
|
||||
<!-- <div class="uk-height-max-medium uk-overflow-auto">-->
|
||||
<div *ngIf="dataProviderInfo.organizations && dataProviderInfo.organizations.length > 0"
|
||||
class="uk-margin-medium-bottom">
|
||||
<!-- <div class="uk-height-max-medium uk-overflow-auto">-->
|
||||
<div class="uk-text-meta uk-margin-small-bottom">{{openaireEntities.ORGANIZATIONS}}</div>
|
||||
<ng-container *ngTemplateOutlet="organizations_template; context: { threshold: lessBtnOrganizations ? dataProviderInfo.organizations.length : thresholdOrganizations }"></ng-container>
|
||||
<!-- <span *ngIf="showNumOrganizations == thresholdOrganizations && dataProviderInfo.organizations.length > thresholdOrganizations"> ... </span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div *ngIf="showNumOrganizations == thresholdOrganizations && dataProviderInfo.organizations.length > thresholdOrganizations"-->
|
||||
<!-- class="uk-width-1-1 uk-text-right">-->
|
||||
<!-- <a (click)="showNumOrganizations = dataProviderInfo.organizations.length;">-->
|
||||
<!-- View all {{dataProviderInfo.organizations.length | number}} organizations-->
|
||||
<!-- </a>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div *ngIf="showNumOrganizations > thresholdOrganizations" class="uk-width-1-1 uk-text-right">-->
|
||||
<!-- <a (click)="showNumOrganizations = thresholdOrganizations;">View less organizations</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div *ngIf="dataProviderInfo.organizations.length > thresholdOrganizations && !lessBtnOrganizations"
|
||||
class="uk-width-1-1 uk-text-right">
|
||||
|
@ -423,6 +382,9 @@
|
|||
</div>
|
||||
</ng-container>
|
||||
</div>
|
||||
<div class="uk-text-xsmall uk-hidden@m"><ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container></div>
|
||||
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
|
||||
[texts]="pageContents['bottom']"></helper>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -163,7 +163,8 @@ export class DataProviderComponent {
|
|||
this.updateUrl(this.properties.domain + this.properties.baseLink + this._router.url);
|
||||
this.seoService.createLinkForCanonicalURL(this.properties.domain +this.properties.baseLink + this._router.url);
|
||||
this.subscriptions.push(this.route.queryParams.subscribe(data => {
|
||||
this.updateTitle("Content provider");
|
||||
this.stickyHeader = false;
|
||||
this.updateTitle(this.openaireEntities.DATASOURCE);
|
||||
this.updateDescription("");
|
||||
this.datasourceId = data['datasourceId'];
|
||||
if (this.datasourceId && StringUtils.isOpenAIREID(this.datasourceId)) {
|
||||
|
@ -284,7 +285,7 @@ export class DataProviderComponent {
|
|||
},
|
||||
err => {
|
||||
//console.log(err);
|
||||
this.handleError("Error getting content provider for id: " + this.datasourceId, err);
|
||||
this.handleError("Error getting "+this.openaireEntities.DATASOURCE+" for id: " + this.datasourceId, err);
|
||||
if (err.status == 404) {
|
||||
this._router.navigate(['/error'], {
|
||||
queryParams: {
|
||||
|
@ -313,7 +314,7 @@ export class DataProviderComponent {
|
|||
err => {
|
||||
//console.log(err);
|
||||
this.aggregationStatusIsInitialized = true;
|
||||
this.handleError("Error getting content provider aggregation status for id: " + this.datasourceId, err);
|
||||
this.handleError("Error getting "+this.openaireEntities.DATASOURCE+" aggregation status for id: " + this.datasourceId, err);
|
||||
}
|
||||
));
|
||||
}
|
||||
|
@ -594,7 +595,7 @@ export class DataProviderComponent {
|
|||
this.searchRelatedDatasources(1, 0);
|
||||
this.relatedDatasourcesModal.cancelButton = false;
|
||||
this.relatedDatasourcesModal.okButton = false;
|
||||
this.relatedDatasourcesModal.alertTitle = "Related content providers of";
|
||||
this.relatedDatasourcesModal.alertTitle = "Related "+this.openaireEntities.DATASOURCES+" of";
|
||||
this.relatedDatasourcesModal.open();
|
||||
}
|
||||
|
||||
|
@ -617,7 +618,7 @@ export class DataProviderComponent {
|
|||
public openOrganizationsModal() {
|
||||
this.organizationsModal.cancelButton = false;
|
||||
this.organizationsModal.okButton = false;
|
||||
this.organizationsModal.alertTitle = "Organizations";
|
||||
this.organizationsModal.alertTitle = this.openaireEntities.ORGANIZATIONS;
|
||||
this.organizationsModal.open();
|
||||
}
|
||||
|
||||
|
@ -646,7 +647,7 @@ export class DataProviderComponent {
|
|||
}
|
||||
|
||||
private handleError(message: string, error) {
|
||||
console.error("Content Provider Landing Page: " + message, error);
|
||||
console.error(this.openaireEntities.DATASOURCE+" Landing Page: " + message, error);
|
||||
}
|
||||
|
||||
private getEntityName(entityType: string, plural: boolean, full: boolean): string {
|
||||
|
|
|
@ -9,17 +9,19 @@ import {StringUtils} from '../../utils/string-utils.class';
|
|||
import {RouterHelper} from '../../utils/routerHelper.class';
|
||||
import {EnvProperties} from '../../utils/properties/env-properties';
|
||||
import {AlertModal} from "../../utils/modal/alert";
|
||||
import {OpenaireEntities} from '../../utils/properties/searchFields';
|
||||
|
||||
@Component({
|
||||
selector: 'projectsInModal',
|
||||
template: `
|
||||
<div *ngIf="fetchProjects.funders.length > 1" class="uk-margin-bottom">
|
||||
<div class="uk-margin-small-bottom uk-text-muted">Filter by Funder:</div>
|
||||
<div *ngIf="fetchProjects.funders.length > 1" class="uk-margin-medium-bottom">
|
||||
<div class="uk-margin-small-bottom uk-text-meta">Filter by Funder:</div>
|
||||
<ul class="uk-list uk-list-divider uk-margin-remove">
|
||||
<li *ngFor="let filter of fetchProjects.filters ">
|
||||
<label *ngFor="let value of filter.values" class="uk-animation-fade uk-margin-small-right">
|
||||
<input [(ngModel)]="value.selected" type="checkbox"
|
||||
(ngModelChange)="filterChange(value.selected)"/>
|
||||
(ngModelChange)="filterChange(value.selected)"
|
||||
class="uk-checkbox"/>
|
||||
<span class="uk-text-bold"> {{value.name}}</span>
|
||||
</label>
|
||||
</li>
|
||||
|
@ -28,21 +30,21 @@ import {AlertModal} from "../../utils/modal/alert";
|
|||
<errorMessages [status]="[fetchProjects.searchUtils.status]" [type]="'projects'"
|
||||
tab_error_class=true></errorMessages>
|
||||
<div *ngIf="fetchProjects.searchUtils.status == errorCodes.DONE">
|
||||
<no-load-paging *ngIf="fetchProjects.searchUtils.totalResults > size" [type]="'projects'"
|
||||
(pageChange)="pageChange($event)"
|
||||
[page]="page" [pageSize]="size"
|
||||
[totalResults]="fetchProjects.searchUtils.totalResults">
|
||||
</no-load-paging>
|
||||
<results-and-pages *ngIf="fetchProjects.searchUtils.totalResults > size" [type]="openaireEntities.PROJECTS"
|
||||
[page]="page" [pageSize]="size"
|
||||
[totalResults]="fetchProjects.searchUtils.totalResults">
|
||||
</results-and-pages>
|
||||
<search-result [results]="fetchProjects.results"
|
||||
[status]="fetchProjects.searchUtils.status"
|
||||
[type]="'project'"
|
||||
[showLoading]="true" [properties]="properties">
|
||||
</search-result>
|
||||
<no-load-paging *ngIf="fetchProjects.searchUtils.totalResults > size" [type]="'projects'"
|
||||
(pageChange)="pageChange($event)"
|
||||
[page]="page" [pageSize]="size"
|
||||
[totalResults]="fetchProjects.searchUtils.totalResults">
|
||||
</no-load-paging>
|
||||
<paging-no-load *ngIf="fetchProjects.searchUtils.totalResults > size"
|
||||
(pageChange)="pageChange($event)"
|
||||
[currentPage]="page"
|
||||
[size]="size"
|
||||
[totalResults]="fetchProjects.searchUtils.totalResults">
|
||||
</paging-no-load>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
|
@ -60,6 +62,8 @@ export class ProjectsInModalComponent {
|
|||
|
||||
private filterQuery: string = "";
|
||||
|
||||
public openaireEntities = OpenaireEntities;
|
||||
|
||||
constructor(private route: ActivatedRoute,
|
||||
private _searchProjectsService: SearchProjectsService) {
|
||||
}
|
||||
|
|
|
@ -1,389 +1,303 @@
|
|||
<div id="tm-main" class="landing uk-section uk-padding-remove-top tm-middle">
|
||||
<div *ngIf="!showFeedback" class="uk-grid">
|
||||
<div class="tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first ">
|
||||
<div class="uk-container uk-container-large uk-margin-medium-top organization">
|
||||
<div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning uk-margin-large-top"
|
||||
role="alert">{{warningMessage}}</div>
|
||||
<div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger uk-margin-large-top"
|
||||
role="alert">{{errorMessage}}</div>
|
||||
<div [style.display]="showLoading ? 'inline' : 'none'"
|
||||
class="uk-animation-fade uk-margin-large-top uk-width-1-1" role="alert"><span
|
||||
class="loading-gif uk-align-center"></span></div>
|
||||
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
|
||||
[texts]="pageContents['top']"></helper>
|
||||
<div *ngIf="organizationInfo != null" class="uk-grid uk-margin-remove">
|
||||
<div class="uk-width-2-3@m uk-width-1-1@s uk-padding uk-padding-remove-left uk-padding-remove-vertical uk-margin-bottom">
|
||||
<schema2jsonld *ngIf="organizationInfo" [data]=organizationInfo
|
||||
[URL]="properties.domain + properties.baseLink+this.properties.searchLinkToOrganization+organizationInfo.relcanId"
|
||||
type="organization"></schema2jsonld>
|
||||
<landing-header [properties]="properties" [title]="organizationInfo.title.name"
|
||||
titleClass="uk-margin-remove-bottom"
|
||||
[subTitle]="(organizationInfo.name
|
||||
&& organizationInfo.title.name !== organizationInfo.name)?organizationInfo.name:null"
|
||||
[entityType]="'organization'"></landing-header>
|
||||
<div *ngIf="organizationInfo.deletedByInferenceIds">
|
||||
<a (click)="openDeletedByInference()">View all {{organizationInfo.deletedByInferenceIds.length}}
|
||||
versions</a>
|
||||
<div id="tm-main" class="landing uk-section uk-padding-remove tm-middle">
|
||||
<div class="tm-main">
|
||||
<!-- TODO: Error messages -->
|
||||
<div></div>
|
||||
|
||||
<div *ngIf="organizationInfo" class="organization">
|
||||
<div *ngIf="!showFeedback" class="uk-grid" uk-grid>
|
||||
<!-- left column -->
|
||||
<div class="landing-left-sidebar-width landing-left-sidebar-border landing-background-light-color">
|
||||
<div class="uk-flex uk-flex-column uk-flex-right landing-sidebar-height uk-sticky"
|
||||
uk-sticky="bottom: true" [attr.offset]="offset">
|
||||
<div class="uk-margin-large-bottom uk-align-center">
|
||||
<div class="uk-text-meta">Actions</div>
|
||||
<ul class="uk-list">
|
||||
<!-- Share -->
|
||||
<li class="uk-text-center">
|
||||
<a (click)="openAddThisModal()" [title]="'Share this organization in your social networks'"
|
||||
[attr.uk-tooltip]="'pos: right; cls: uk-active landing-action-tooltip landing-action-tooltip-portal uk-text-small uk-padding-small'">
|
||||
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
|
||||
<icon name="share" visuallyHidden="share"></icon>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Download content lists -->
|
||||
<li class="uk-text-center"
|
||||
[title]="'Download content lists'"
|
||||
[attr.uk-tooltip]="'pos: right; cls: uk-active landing-action-tooltip landing-action-tooltip-portal uk-text-small uk-padding-small'">
|
||||
<a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="openDownloadReportModal()">
|
||||
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
|
||||
<icon name="download" visuallyHidden="download"></icon>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Download project lists -->
|
||||
<li class="uk-text-center"
|
||||
[title]="'Download project lists'"
|
||||
[attr.uk-tooltip]="'pos: right; cls: uk-active landing-action-tooltip landing-action-tooltip-portal uk-text-small uk-padding-small'">
|
||||
<a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="openDownloadFunderReportModal()">
|
||||
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
|
||||
<icon name="download" visuallyHidden="download"></icon>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="uk-list basic-info">
|
||||
<!-- Web Page -->
|
||||
<li *ngIf="organizationInfo.title && organizationInfo.title.url">
|
||||
<span class="uk-text-muted">Web page: </span>
|
||||
<a [href]="organizationInfo.title.url" target="_blank">
|
||||
<span>{{organizationInfo.title.url}}</span>
|
||||
<span class="custom-external custom-icon space"></span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Country -->
|
||||
<li *ngIf="organizationInfo.country && !organizationInfo.country.toLowerCase().includes('unknown')">
|
||||
<span class="uk-text-muted">Country: </span>{{organizationInfo.country}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uk-width-1-3@m uk-width-1-1@s uk-padding-remove">
|
||||
<ul class="user-actions uk-list uk-card uk-card-default uk-padding">
|
||||
<!-- Share -->
|
||||
<li>
|
||||
<addThis></addThis>
|
||||
</li>
|
||||
<li>
|
||||
<a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="openDownloadReportModal()">
|
||||
<span class="uk-icon-button uk-button-primary uk-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"
|
||||
data-svg="download"><polyline fill="none" stroke="#000"
|
||||
points="14,10 9.5,14.5 5,10"></polyline><rect x="3" y="17"
|
||||
width="13"
|
||||
height="1"></rect><line
|
||||
fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line>
|
||||
</svg>
|
||||
</span>
|
||||
<span class="uk-margin-small-left">Download content lists</span>
|
||||
</a>
|
||||
</li>
|
||||
<li *ngIf="fetchProjects && fetchProjects.funders && fetchProjects.funders.length > 0">
|
||||
<a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="openDownloadFunderReportModal()">
|
||||
<span class="uk-icon-button uk-button-primary uk-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"
|
||||
data-svg="download"><polyline fill="none" stroke="#000"
|
||||
points="14,10 9.5,14.5 5,10"></polyline><rect x="3" y="17"
|
||||
width="13"
|
||||
height="1"></rect><line
|
||||
fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line>
|
||||
</svg>
|
||||
</span>
|
||||
<span class="uk-margin-small-left">Download project lists</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uk-padding-remove-left uk-width-1-1 uk-margin-large-top">
|
||||
<!-- <ng-template #loadingBlock>-->
|
||||
<!-- <div *ngIf="!tabsAreInitialized" class="uk-animation-fade uk-margin-top uk-width-1-1" role="alert">-->
|
||||
<!-- <span class="loading-gif uk-align-center"></span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </ng-template>-->
|
||||
<!-- *ngIf="numberOfTabs > 0; else loadingBlock"-->
|
||||
<div class="main-tabs-div">
|
||||
<!--Tab Templates-->
|
||||
<ng-template #projects_tab>
|
||||
<div class="uk-grid uk-margin-remove">
|
||||
<div class="uk-width-expand uk-padding">
|
||||
<projectsInModal [fetchProjects]="fetchProjects"
|
||||
[organizationId]="organizationId"
|
||||
[properties]=properties>
|
||||
</projectsInModal>
|
||||
</div>
|
||||
<!--<div class="uk-width-1-3@m uk-width-1-1 right-column uk-padding-remove"></div>-->
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #data_providers_tab>
|
||||
<div class="uk-grid uk-margin-remove">
|
||||
<div class="uk-width-expand uk-padding">
|
||||
<search-tab [fetch]="fetchDataproviders" resultType="dataprovider"
|
||||
[params]="getParamsForSearchLink()"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedDataProviders"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
<!--<div class="uk-width-1-3@m uk-width-1-1 right-column uk-padding-remove"></div>-->
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #publications_tab>
|
||||
<div class="uk-grid uk-margin-remove">
|
||||
<div class="uk-width-expand uk-padding">
|
||||
<search-tab [fetch]="fetchPublications" resultType="publication"
|
||||
[params]="getParamsForSearchLink('publications')"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
<!--<div class="uk-width-1-3@m uk-width-1-1 right-column uk-padding-remove"></div>-->
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #datasets_tab>
|
||||
<div class="uk-grid uk-margin-remove">
|
||||
<div class="uk-width-expand uk-padding">
|
||||
<search-tab [fetch]="fetchDatasets" resultType="dataset"
|
||||
[params]="getParamsForSearchLink('datasets')"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
<!--<div class="uk-width-1-3@m uk-width-1-1 right-column uk-padding-remove"></div>-->
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #software_tab>
|
||||
<div class="uk-grid uk-margin-remove">
|
||||
<div class="uk-width-expand uk-padding">
|
||||
<search-tab [fetch]="fetchSoftware" resultType="software"
|
||||
[params]="getParamsForSearchLink('software')"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
<!--<div class="uk-width-1-3@m uk-width-1-1 right-column uk-padding-remove"></div>-->
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #other_tab>
|
||||
<div class="uk-grid uk-margin-remove">
|
||||
<div class="uk-width-expand uk-padding">
|
||||
<search-tab [fetch]="fetchOrps" resultType="other"
|
||||
[params]="getParamsForSearchLink('other')"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
<!--<div class="uk-width-1-3@m uk-width-1-1 right-column uk-padding-remove"></div>-->
|
||||
</div>
|
||||
</ng-template>
|
||||
<!-- [class]="numberOfTabs > 2 ? 'uk-visible@m' : ''"-->
|
||||
<my-tabs (selectedActiveTab)="onSelectActiveTab($event)">
|
||||
<my-tab
|
||||
[tabNumber]="fetchProjects.searchUtils.totalResults"
|
||||
[tabTitle]="'Funding / Projects'"
|
||||
[tabId]="'projects'" class="uk-active">
|
||||
<ng-container *ngTemplateOutlet="projects_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'dataProviders')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchDataproviders && fetchDataproviders.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchDataproviders.searchUtils.totalResults"
|
||||
[tabTitle]="'Content Providers'"
|
||||
[tabId]="'dataProviders'">
|
||||
<ng-container *ngTemplateOutlet="data_providers_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'publications')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchPublications && fetchPublications.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchPublications.searchUtils.totalResults"
|
||||
[tabTitle]="'Publications'"
|
||||
[tabId]="'publications'">
|
||||
<ng-container *ngTemplateOutlet="publications_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'datasets')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchDatasets && fetchDatasets.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchDatasets.searchUtils.totalResults"
|
||||
[tabTitle]="'Research Data'"
|
||||
[tabId]="'datasets'">
|
||||
<ng-container *ngTemplateOutlet="datasets_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'software')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchSoftware && fetchSoftware.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchSoftware.searchUtils.totalResults"
|
||||
[tabTitle]="'Software'"
|
||||
[tabId]="'software'">
|
||||
<ng-container *ngTemplateOutlet="software_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'other')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchOrps && fetchOrps.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchOrps.searchUtils.totalResults"
|
||||
[tabTitle]="'Other Research'"
|
||||
[tabId]="'other'">
|
||||
<ng-container *ngTemplateOutlet="other_tab;"></ng-container>
|
||||
</my-tab>
|
||||
</my-tabs>
|
||||
<!-- *ngIf="numberOfTabs > 2" class="uk-hidden@m"-->
|
||||
<my-small-tabs
|
||||
(selectedActiveTab)="onSelectActiveTab($event)">
|
||||
<!-- *ngIf="fetchProjects && fetchProjects.searchUtils.totalResults > 0"-->
|
||||
<!-- [class]="(firstTab === 'projects')?'uk-active':''"-->
|
||||
<my-tab
|
||||
[tabNumber]="fetchProjects.searchUtils.totalResults"
|
||||
[tabTitle]="'Funding / Projects'"
|
||||
[tabId]="'projects'" class="uk-active">
|
||||
<ng-container *ngTemplateOutlet="projects_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'dataProviders')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchDataproviders && fetchDataproviders.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchDataproviders.searchUtils.totalResults"
|
||||
[tabTitle]="'Content Providers'"
|
||||
[tabId]="'dataProviders'">
|
||||
<ng-container *ngTemplateOutlet="data_providers_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'publications')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchPublications && fetchPublications.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchPublications.searchUtils.totalResults"
|
||||
[tabTitle]="'Publications'"
|
||||
[tabId]="'publications'">
|
||||
<ng-container *ngTemplateOutlet="publications_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'datasets')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchDatasets && fetchDatasets.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchDatasets.searchUtils.totalResults"
|
||||
[tabTitle]="'Research Data'"
|
||||
[tabId]="'datasets'">
|
||||
<ng-container *ngTemplateOutlet="datasets_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'software')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchSoftware && fetchSoftware.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchSoftware.searchUtils.totalResults"
|
||||
[tabTitle]="'Software'"
|
||||
[tabId]="'software'">
|
||||
<ng-container *ngTemplateOutlet="software_tab;"></ng-container>
|
||||
</my-tab>
|
||||
<!-- [class]="(firstTab === 'other')?'uk-active':''"-->
|
||||
<my-tab *ngIf="fetchOrps && fetchOrps.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchOrps.searchUtils.totalResults"
|
||||
[tabTitle]="'Other Research'"
|
||||
[tabId]="'other'">
|
||||
<ng-container *ngTemplateOutlet="other_tab;"></ng-container>
|
||||
</my-tab>
|
||||
</my-small-tabs>
|
||||
</div>
|
||||
<div class="uk-margin-small-top uk-flex">
|
||||
</div>
|
||||
<!-- center/right column -->
|
||||
<div *ngIf="organizationInfo" class="uk-width-expand uk-padding-remove uk-margin-large-left uk-margin-large-right landing-background-default-color">
|
||||
<!-- Graph and feedback -->
|
||||
<ng-template #graph_and_feedback_template>
|
||||
<div class="uk-flex uk-margin-small-top uk-margin-small-bottom">
|
||||
<!-- Last Index Info-->
|
||||
<div class="uk-width-2-3@m uk-width-1-2">
|
||||
<img src="assets/common-assets/graph.svg" style="opacity: 0.4; width:20px; height:22px" loading="lazy"
|
||||
alt="graph">
|
||||
<span class="uk-margin-small-left uk-text-baseline uk-text-muted">Powered by <a href="https://graph.openaire.eu" class="graph-color">OpenAIRE Research Graph</a></span>
|
||||
<span *ngIf="indexUpdateDate" class="uk-text-baseline uk-text-muted">
|
||||
<div class="uk-width-2-3@m uk-width-1-2 graph">
|
||||
<icon name="graph" customClass="uk-text-primary"></icon>
|
||||
<span class="uk-margin-small-left uk-text-baseline uk-text-meta">
|
||||
Powered by <a href="https://graph.openaire.eu" target="_blank" class="uk-text-primary">OpenAIRE Research Graph</a>
|
||||
</span>
|
||||
<span *ngIf="indexUpdateDate" class="uk-text-baseline uk-text-meta">
|
||||
. Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
|
||||
</span>
|
||||
</div>
|
||||
<!--Feedback-->
|
||||
<div *ngIf="properties.reCaptchaSiteKey" class="uk-width-expand uk-text-right">
|
||||
<span class="uk-text-muted">Any information missing or wrong?</span>
|
||||
<a (click)="showFeedback = true; scroll()" class="portal-link space">Report an Issue</a>
|
||||
<span class="uk-text-meta uk-text-xsmall">Anything wrong?</span>
|
||||
<a (click)="showFeedback = true; scroll()" class="uk-text-xsmall"> Report an Issue</a>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
<div #graph_and_feedback id="graph_and_feedback" class="uk-text-xsmall uk-visible@m" uk-sticky="bottom: true;" [attr.offset]="graph_offset">
|
||||
<ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
|
||||
[texts]="pageContents['bottom']"></helper>
|
||||
</div>
|
||||
</div>
|
||||
<feedback *ngIf="organizationInfo && properties.reCaptchaSiteKey" [organizationInfo]="organizationInfo"
|
||||
[properties]="properties" [entityType]="'organization'" [fields]="feedbackFields"
|
||||
[(showForm)]="showFeedback"></feedback>
|
||||
<!-- Main content -->
|
||||
<div class="uk-margin-medium-top">
|
||||
<!-- Schema -->
|
||||
<schema2jsonld *ngIf="organizationInfo" [data]=organizationInfo
|
||||
[URL]="properties.domain + properties.baseLink+this.properties.searchLinkToOrganization+organizationInfo.relcanId"
|
||||
type="organization">
|
||||
</schema2jsonld>
|
||||
<!-- Helper -->
|
||||
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
|
||||
[texts]="pageContents['top']"></helper>
|
||||
<!-- Versions -->
|
||||
<span *ngIf="organizationInfo.deletedByInferenceIds" class="uk-text-primary uk-flex uk-flex-middle">
|
||||
<icon flex="true" ratio="0.8" name="auto_awesome_motion"></icon>
|
||||
<a (click)="openDeletedByInference()" class="uk-text-primary uk-text-small uk-margin-small-left">
|
||||
View all {{organizationInfo.deletedByInferenceIds.length}} versions
|
||||
</a>
|
||||
</span>
|
||||
<!-- Landing header -->
|
||||
<landing-header [properties]="properties" [title]="organizationInfo.title.name"
|
||||
[subTitle]="(organizationInfo.name
|
||||
&& organizationInfo.title.name !== organizationInfo.name)?organizationInfo.name:null"
|
||||
[entityType]="'organization'">
|
||||
</landing-header>
|
||||
<!-- Basic info -->
|
||||
<div class="uk-text-small">
|
||||
<!-- Web Page -->
|
||||
<div *ngIf="organizationInfo.title && organizationInfo.title.url" class="uk-margin-small-bottom">
|
||||
<span class="uk-text-meta">Web page: </span>
|
||||
<a [href]="organizationInfo.title.url" target="_blank" class="uk-button uk-button-text uk-text-lowercase uk-text-normal custom-external">
|
||||
{{organizationInfo.title.url}}
|
||||
</a>
|
||||
</div>
|
||||
<!-- Country -->
|
||||
<div *ngIf="organizationInfo.country && !organizationInfo.country.toLowerCase().includes('unknown')">
|
||||
<span class="uk-text-meta">Country: </span>{{organizationInfo.country}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Tabs section -->
|
||||
<div id="main-tabs-div" uk-sticky="bottom: true; media: @m" [attr.offset]="offset" cls-active="active">
|
||||
<div class="uk-padding uk-padding-remove-horizontal uk-padding-remove-bottom">
|
||||
<showTitle *ngIf="stickyHeader" [titleName]="organizationInfo.title.name" classNames="uk-margin-remove-bottom" class="uk-visible@m"></showTitle>
|
||||
<my-tabs (selectedActiveTab)="onSelectActiveTab($event)" [offsetForSticky]="offset" [(isSticky)]="stickyHeader">
|
||||
<my-tab [active]="true" [tabTitle]="'Funding / Projects'" [tabId]="'projects'"
|
||||
[tabNumber]="fetchProjects.searchUtils.totalResults > 0 ? fetchProjects.searchUtils.totalResults : ''">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchDataproviders && fetchDataproviders.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Content Providers'" [tabId]="'dataProviders'"
|
||||
[tabNumber]="fetchDataproviders.searchUtils.totalResults">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchPublications && fetchPublications.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchPublications.searchUtils.totalResults"
|
||||
[tabTitle]="'Publications'" [tabId]="'publications'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchDatasets && fetchDatasets.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchDatasets.searchUtils.totalResults"
|
||||
[tabTitle]="'Research Data'" [tabId]="'datasets'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchSoftware && fetchSoftware.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchSoftware.searchUtils.totalResults"
|
||||
[tabTitle]="'Software'" [tabId]="'software'">
|
||||
</my-tab>
|
||||
<my-tab *ngIf="fetchOrps && fetchOrps.searchUtils.totalResults > 0"
|
||||
[tabNumber]="fetchOrps.searchUtils.totalResults"
|
||||
[tabTitle]="'Other Research'" [tabId]="'other'">
|
||||
</my-tab>
|
||||
</my-tabs>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Tabs content section -->
|
||||
<div id="landing-sections" class="uk-text-small">
|
||||
<div id="projects" class="landing-section landing-section-height-auto uk-padding uk-padding-remove-horizontal">
|
||||
<projectsInModal [fetchProjects]="fetchProjects"
|
||||
[organizationId]="organizationId" [properties]=properties>
|
||||
</projectsInModal>
|
||||
</div>
|
||||
<div *ngIf="fetchDataproviders && fetchDataproviders.searchUtils.totalResults > 0"
|
||||
id="dataProviders" class="landing-section uk-padding uk-padding-remove-horizontal">
|
||||
<search-tab [fetch]="fetchDataproviders" resultType="dataprovider"
|
||||
[params]="getParamsForSearchLink()"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedDataProviders"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
<div *ngIf="fetchPublications && fetchPublications.searchUtils.totalResults > 0"
|
||||
id="publications" class="landing-section uk-padding uk-padding-remove-horizontal">
|
||||
<search-tab [fetch]="fetchPublications" resultType="publication"
|
||||
[params]="getParamsForSearchLink('publications')"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
<div *ngIf="fetchDatasets && fetchDatasets.searchUtils.totalResults > 0"
|
||||
id="datasets" class="landing-section uk-padding uk-padding-remove-horizontal">
|
||||
<search-tab [fetch]="fetchDatasets" resultType="dataset"
|
||||
[params]="getParamsForSearchLink('datasets')"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
<div *ngIf="fetchSoftware && fetchSoftware.searchUtils.totalResults > 0"
|
||||
id="software" class="landing-section uk-padding uk-padding-remove-horizontal">
|
||||
<search-tab [fetch]="fetchSoftware" resultType="software"
|
||||
[params]="getParamsForSearchLink('software')"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
<div *ngIf="fetchOrps && fetchOrps.searchUtils.totalResults > 0"
|
||||
id="other" class="landing-section uk-padding uk-padding-remove-horizontal">
|
||||
<search-tab [fetch]="fetchOrps" resultType="other"
|
||||
[params]="getParamsForSearchLink('other')"
|
||||
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
|
||||
[properties]="properties">
|
||||
</search-tab>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Feedback -->
|
||||
<feedback *ngIf="organizationInfo && properties.reCaptchaSiteKey" [organizationInfo]="organizationInfo"
|
||||
[properties]="properties" [entityType]="'organization'" [fields]="feedbackFields"
|
||||
[(showForm)]="showFeedback">
|
||||
</feedback>
|
||||
</div>
|
||||
|
||||
<!-- MODALS -->
|
||||
<!-- Other versions -->
|
||||
<modal-alert *ngIf="organizationInfo && organizationInfo.deletedByInferenceIds"
|
||||
#AlertModalDeletedByInference classBody="uk-width-xxlarge uk-padding-remove-right">
|
||||
<landing-header [properties]="properties" [title]="organizationInfo.title.name"
|
||||
[subTitle]="(organizationInfo.name && organizationInfo.title.name !== organizationInfo.name)?organizationInfo.name:null"
|
||||
titleClass="title-grey-background"
|
||||
[entityType]="'organization'"></landing-header>
|
||||
<div class="uk-margin-medium-top uk-margin-medium-right">
|
||||
<organizationsDeletedByInference *ngIf="deleteByInferenceOpened"
|
||||
[id]="organizationInfo.objIdentifier"
|
||||
[ids]="organizationInfo.deletedByInferenceIds"
|
||||
[modal]="AlertModalDeletedByInference"
|
||||
[type]="'organizations'">
|
||||
</organizationsDeletedByInference>
|
||||
</div>
|
||||
<modal-alert #AlertModalDeletedByInference *ngIf="organizationInfo && organizationInfo.deletedByInferenceIds" large="true">
|
||||
<organizationsDeletedByInference *ngIf="deleteByInferenceOpened"
|
||||
[id]="organizationInfo.objIdentifier"
|
||||
[ids]="organizationInfo.deletedByInferenceIds"
|
||||
[modal]="AlertModalDeletedByInference"
|
||||
[type]="'organizations'">
|
||||
</organizationsDeletedByInference>
|
||||
</modal-alert>
|
||||
<!-- Download report -->
|
||||
<modal-alert #downloadReportModal [classTitle]="'landing-modal-header uk-padding-small'"
|
||||
[classBody]="'uk-padding-remove landing-modal'">
|
||||
<div class="uk-padding">
|
||||
<div class="uk-animation-slide-top-small">
|
||||
<ul *ngIf="total > 0" class="uk-margin-remove-bottom uk-list">
|
||||
<li [attr.uk-tooltip]="total > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<a [class]="total > 0 ? 'clickable' : 'uk-disabled uk-link-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('results'), 'results' + '-report')">
|
||||
<span uk-icon="download"></span>
|
||||
<span class="uk-text-capitalize uk-margin-small-left">all research outcomes (CSV)</span>
|
||||
</a>
|
||||
</li>
|
||||
<li [attr.uk-tooltip]="fetchPublications.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<a [class]="fetchPublications.searchUtils.totalResults > 0 ? 'clickable' : 'uk-disabled uk-link-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('publications'), 'publications' + '-report')">
|
||||
<span uk-icon="download"></span>
|
||||
<span class="uk-text-capitalize uk-margin-small-left">publications (CSV)</span>
|
||||
</a>
|
||||
</li>
|
||||
<li [attr.uk-tooltip]="fetchDatasets.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<a [class]="fetchDatasets.searchUtils.totalResults > 0 ? 'clickable' : 'uk-disabled uk-link-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('datasets'), 'datasets' + '-report')">
|
||||
<span uk-icon="download"></span>
|
||||
<span class="uk-text-capitalize uk-margin-small-left">research data (CSV)</span>
|
||||
</a>
|
||||
</li>
|
||||
<li [attr.uk-tooltip]="fetchSoftware.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<a [class]="fetchSoftware.searchUtils.totalResults > 0 ? 'clickable' : 'uk-disabled uk-link-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('software'), 'software' + '-report')">
|
||||
<span uk-icon="download"></span>
|
||||
<span class="uk-text-capitalize uk-margin-small-left">software (CSV)</span>
|
||||
</a>
|
||||
</li>
|
||||
<li [attr.uk-tooltip]="fetchOrps.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<a [class]="fetchOrps.searchUtils.totalResults > 0 ? 'clickable' : 'uk-disabled uk-link-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('other'), 'other' + '-report')">
|
||||
<span uk-icon="download"></span>
|
||||
<span class="uk-text-capitalize uk-margin-small-left">other research products (CSV)</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div *ngIf="total == 0"
|
||||
class="uk-text-muted">
|
||||
No reports available
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Share -->
|
||||
<modal-alert #addThisModal classBody="uk-flex uk-flex-center uk-flex-middle">
|
||||
<addThis></addThis>
|
||||
</modal-alert>
|
||||
<!-- Download Funder report -->
|
||||
<modal-alert #downloadFunderReportModal [classTitle]="'landing-modal-header uk-padding-small'"
|
||||
[classBody]="'uk-padding-remove landing-modal'">
|
||||
<div *ngIf="fetchProjects.funders && fetchProjects.funders.length > 0" class="uk-padding">
|
||||
<div class="uk-animation-slide-top-small">
|
||||
<div>
|
||||
<mat-form-field class="matSelectionFormField uk-width-1-1">
|
||||
<mat-label>Select a funder to download report</mat-label>
|
||||
<mat-select [(value)]="funder"
|
||||
[disableOptionCentering]="true"
|
||||
class="matSelection" panelClass="matSelectionPanel">
|
||||
<mat-option *ngFor="let element of fetchProjects.funders"
|
||||
[value]="element">{{element.name}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div *ngIf="funder && funder != ''"
|
||||
class="uk-animation-slide-top-small uk-margin-top">
|
||||
<ul class="uk-margin-remove-bottom uk-list">
|
||||
<li>
|
||||
<a class="clickable"
|
||||
(click)="downloadFile(getFunderProjects(), funder.name + '-projects-report')">
|
||||
<span uk-icon="download"></span>
|
||||
<span class="uk-text-capitalize uk-margin-small-left">projects (CSV)</span>
|
||||
</a>
|
||||
</li>
|
||||
<li *ngFor="let contentType of contentTypes">
|
||||
<a class="clickable"
|
||||
(click)="confirmOpenApplyAll(contentType[0])">
|
||||
<span uk-icon="download"></span>
|
||||
<span class="uk-text-capitalize uk-margin-small-left">{{contentType[1]}} (CSV)</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Download content lists -->
|
||||
<modal-alert #downloadReportModal>
|
||||
<div class="uk-padding-small uk-margin-small-left uk-margin-small-right">
|
||||
<div class="uk-padding-small uk-padding-remove-vertical">
|
||||
<div class="uk-animation-slide-top-small">
|
||||
<ul class="uk-list uk-margin-remove-bottom" *ngIf="total > 0">
|
||||
<li [attr.uk-tooltip]="total > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||
[class]="total > 0 ? '' : 'uk-disabled uk-text-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('results'), 'results' + '-report')">
|
||||
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||
all research outcomes (CSV)
|
||||
</div>
|
||||
</li>
|
||||
<li [attr.uk-tooltip]="fetchPublications.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||
[class]="fetchPublications.searchUtils.totalResults > 0 ? '' : 'uk-disabled uk-text-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('publications'), 'publications' + '-report')">
|
||||
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||
publications (CSV)
|
||||
</div>
|
||||
</li>
|
||||
<li [attr.uk-tooltip]="fetchDatasets.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||
[class]="fetchDatasets.searchUtils.totalResults > 0 ? '' : 'uk-disabled uk-text-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('datasets'), 'datasets' + '-report')">
|
||||
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||
research data (CSV)
|
||||
</div>
|
||||
</li>
|
||||
<li [attr.uk-tooltip]="fetchSoftware.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||
[class]="fetchSoftware.searchUtils.totalResults > 0 ? '' : 'uk-disabled uk-text-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('software'), 'software' + '-report')">
|
||||
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||
software (CSV)
|
||||
</div>
|
||||
</li>
|
||||
<li [attr.uk-tooltip]="fetchOrps.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||
title="No report available">
|
||||
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||
[class]="fetchOrps.searchUtils.totalResults > 0 ? '' : 'uk-disabled uk-text-muted'"
|
||||
(click)="downloadFile(getCSVAffiliated('other'), 'other' + '-report')">
|
||||
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||
other research products (CSV)
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div *ngIf="total == 0" class="uk-text-muted">
|
||||
No reports available
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</modal-alert>
|
||||
<!-- Download project lists -->
|
||||
<modal-alert #downloadFunderReportModal>
|
||||
<div class="uk-padding-small uk-margin-small-left uk-margin-small-right">
|
||||
<div class="uk-padding-small uk-padding-remove-vertical" *ngIf="fetchProjects.funders && fetchProjects.funders.length > 0">
|
||||
<div input type="select" placeholder="Select a funder to download report" inputClass="flat x-small"
|
||||
[options]="fetchProjects.funders" [(value)]="funder"></div>
|
||||
<div class="uk-animation-slide-top-small uk-margin-medium-top" *ngIf="funder && funder != ''">
|
||||
<ul class="uk-list uk-margin-remove-bottom">
|
||||
<li>
|
||||
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||
(click)="downloadFile(getFunderProjects(), funder.name + '-projects-report')">
|
||||
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||
projects (CSV)
|
||||
</div>
|
||||
</li>
|
||||
<li *ngFor="let contentType of contentTypes">
|
||||
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||
(click)="confirmOpenApplyAll(contentType[0])">
|
||||
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||
{{contentType[1]}} (CSV)
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</modal-alert>
|
||||
<modal-loading></modal-loading>
|
||||
<modal-alert #AlertModalApplyAll (alertOutput)="confirmCloseApplyAll()"></modal-alert>
|
||||
<modal-alert #AlertModalCsvError></modal-alert>
|
||||
<modal-loading></modal-loading>
|
||||
|
|
|
@ -67,6 +67,7 @@ export class OrganizationComponent {
|
|||
|
||||
@ViewChild('downloadReportModal') downloadReportModal;
|
||||
@ViewChild('downloadFunderReportModal') downloadFunderReportModal;
|
||||
@ViewChild('addThisModal') addThisModal;
|
||||
|
||||
@ViewChild(ModalLoading) loading: ModalLoading;
|
||||
// Alert box when CSV: Project Publications for a funder is requested
|
||||
|
@ -91,6 +92,12 @@ export class OrganizationComponent {
|
|||
public funder: any = "";
|
||||
private funderId: string;
|
||||
private funderCount: number;
|
||||
|
||||
public offset: number;
|
||||
public stickyHeader: boolean = false;
|
||||
public graph_offset: number = 0;
|
||||
@ViewChild("graph_and_feedback") graph_and_feedback;
|
||||
|
||||
subscriptions = [];
|
||||
innerReportSubscriptions = [];
|
||||
properties: EnvProperties;
|
||||
|
@ -103,6 +110,7 @@ export class OrganizationComponent {
|
|||
public deleteByInferenceOpened: boolean = false;
|
||||
|
||||
|
||||
|
||||
constructor(private element: ElementRef,
|
||||
private _organizationService: OrganizationService,
|
||||
private _piwikService: PiwikService,
|
||||
|
@ -161,11 +169,20 @@ export class OrganizationComponent {
|
|||
}
|
||||
this.csvParamsTail = '" and relorganizationid exact "' + this.organizationId + '" ))';
|
||||
}));
|
||||
|
||||
this.downloadURLAPI = this.properties.csvAPIURL;
|
||||
//this.csvAffiliatedPublications = this.downloadURLAPI + "?format=csv&type=publications&fq=(((oaftype exact result) and (resulttypeid exact publication)) and (relorganizationid exact \"" + this.organizationId + "\"))";
|
||||
this.csvProjectParamsHead = 'format=csv&type=projects&fq=((funder exact "';
|
||||
//this.csvPublicationParamsHead = 'format=csv-special&type=publications&page=0&query=((((oaftype exact result) and (resulttypeid exact publication)) and (funderid exact ';
|
||||
this.offset = Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue('--navbar-height'));
|
||||
}
|
||||
|
||||
ngAfterContentChecked() {
|
||||
if(this.graph_and_feedback && window) {
|
||||
this.graph_offset = this.calcGraphOffset();
|
||||
}
|
||||
}
|
||||
calcGraphOffset() {
|
||||
return window.innerHeight-this.graph_and_feedback.nativeElement.offsetHeight;
|
||||
}
|
||||
|
||||
private getPageContents() {
|
||||
|
@ -325,6 +342,7 @@ export class OrganizationComponent {
|
|||
}
|
||||
|
||||
this.fetchProjects.getResultsForOrganizations(this.organizationId, "", 1, this.searchNumber, refineFields, this.properties);
|
||||
// console.log(this.fetchProjects);
|
||||
this.showLoading = false;
|
||||
}
|
||||
},
|
||||
|
@ -631,6 +649,13 @@ export class OrganizationComponent {
|
|||
this.downloadFunderReportModal.cancel();
|
||||
}
|
||||
|
||||
public openAddThisModal() {
|
||||
this.addThisModal.cancelButton = false;
|
||||
this.addThisModal.okButton = false;
|
||||
this.addThisModal.alertTitle = "Share this organization in your social networks";
|
||||
this.addThisModal.open();
|
||||
}
|
||||
|
||||
public getParamsForSearchLink(type: string = "") {
|
||||
if(type) {
|
||||
return this.routerHelper.createQueryParams(['f0', 'fv0', 'type', 'qf', 'sortBy'], ['relorganizationid', this.organizationId, type, 'false', 'resultdateofacceptance,descending']);
|
||||
|
|
|
@ -27,6 +27,11 @@ import {FeedbackModule} from "../feedback/feedback.module";
|
|||
import {MatSelectModule} from "@angular/material/select";
|
||||
import {TabsModule} from "../../utils/tabs/tabs.module";
|
||||
import {SearchTabModule} from "../../utils/tabs/contents/search-tab.module";
|
||||
import {LoadingModule} from '../../utils/loading/loading.module';
|
||||
import {IconsModule} from '../../utils/icons/icons.module';
|
||||
import {InputModule} from '../../sharedComponents/input/input.module';
|
||||
import {IconsService} from '../../utils/icons/icons.service';
|
||||
import {graph} from "../../utils/icons/icons";
|
||||
|
||||
|
||||
@NgModule({
|
||||
|
@ -45,7 +50,7 @@ import {SearchTabModule} from "../../utils/tabs/contents/search-tab.module";
|
|||
Schema2jsonldModule, SEOServiceModule, HelperModule,
|
||||
OrganizationsDeletedByInferenceModule, LandingHeaderModule, FeedbackModule,
|
||||
MatSelectModule,
|
||||
TabsModule, SearchTabModule
|
||||
TabsModule, SearchTabModule, LoadingModule, IconsModule, InputModule
|
||||
],
|
||||
declarations: [
|
||||
OrganizationComponent,
|
||||
|
@ -56,4 +61,7 @@ import {SearchTabModule} from "../../utils/tabs/contents/search-tab.module";
|
|||
]
|
||||
})
|
||||
export class OrganizationModule {
|
||||
constructor(private iconsService: IconsService) {
|
||||
this.iconsService.registerIcons([graph]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
<div class="landing-left-sidebar-width landing-left-sidebar-border landing-background-light-color">
|
||||
<div class="uk-flex uk-flex-column uk-flex-between uk-flex-center landing-sidebar-height uk-sticky"
|
||||
uk-sticky="bottom: true" [attr.offset]="offset">
|
||||
<!-- [class.uk-hidden]="!hasAltMetrics && !metricsCalculated"-->
|
||||
<div class="uk-align-center uk-text-center uk-margin-medium-top uk-flex uk-flex-column uk-flex-between">
|
||||
<ng-container *ngIf="projectInfo && hasMetrics">
|
||||
<metrics [pageViews]="pageViews"
|
||||
|
@ -128,17 +127,18 @@
|
|||
<div class="uk-margin-bottom">
|
||||
<ng-container *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets">
|
||||
<span class="uk-label uk-label-success uk-text-truncate"
|
||||
title="Open Access mandate for Publications and Research Data">Open Access mandate for Publications and Research Data
|
||||
title="Open Access mandate for {{openaireEntities.PUBLICATIONS}} and {{openaireEntities.DATASETS}}">
|
||||
Open Access mandate for {{openaireEntities.PUBLICATIONS}} and {{openaireEntities.DATASETS}}
|
||||
</span> 
|
||||
</ng-container>
|
||||
<ng-container *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && (projectInfo.openAccessMandateDatasets == undefined || !projectInfo.openAccessMandateDatasets)">
|
||||
<span class="uk-label uk-label-success uk-text-truncate" title="Open Access mandate for Publications">
|
||||
Open Access mandate for Publications
|
||||
<span class="uk-label uk-label-success uk-text-truncate" title="Open Access mandate for {{openaireEntities.PUBLICATIONS}}">
|
||||
Open Access mandate for {{openaireEntities.PUBLICATIONS}}
|
||||
</span> 
|
||||
</ng-container>
|
||||
<ng-container *ngIf="projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets && (projectInfo.openAccessMandatePublications == undefined || !projectInfo.openAccessMandatePublications)">
|
||||
<span class="uk-label uk-label-success uk-text-truncate" title="Open Access mandate for Research Data">
|
||||
Open Access mandate for Research Data
|
||||
<span class="uk-label uk-label-success uk-text-truncate" title="Open Access mandate for {{openaireEntities.DATASETS}}">
|
||||
Open Access mandate for {{openaireEntities.DATASETS}}
|
||||
</span> 
|
||||
</ng-container>
|
||||
<ng-container *ngIf="projectInfo.funding && projectInfo.funding.funderName">
|
||||
|
@ -221,13 +221,12 @@
|
|||
<span
|
||||
*ngIf="projectInfo.openAccessMandatePublications != undefined && !projectInfo.openAccessMandatePublications"
|
||||
class="uk-margin-right">
|
||||
<span class="uk-text-meta">Publications: </span>
|
||||
<!-- <span *ngIf="projectInfo.openAccessMandatePublications">Yes</span>-->
|
||||
<span class="uk-text-meta">{{openaireEntities.PUBLICATIONS}}: </span>
|
||||
<span>No</span>
|
||||
</span>
|
||||
<span
|
||||
*ngIf="projectInfo.openAccessMandateDatasets != undefined && !projectInfo.openAccessMandateDatasets">
|
||||
<span class="uk-text-meta">Research Data: </span>
|
||||
<span class="uk-text-meta">{{openaireEntities.DATASETS}}: </span>
|
||||
<span>No</span>
|
||||
</span>
|
||||
</div>
|
||||
|
@ -243,16 +242,16 @@
|
|||
<my-tabs (selectedActiveTab)="onSelectActiveTab($event)" [offsetForSticky]="offset" [(isSticky)]="stickyHeader">
|
||||
<my-tab tabTitle="Summary" [tabId]="'summary'" [active]="true"></my-tab>
|
||||
<my-tab *ngIf="fetchPublications.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Publications'" [tabNumber]="fetchPublications.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.PUBLICATIONS" [tabNumber]="fetchPublications.searchUtils.totalResults"
|
||||
[tabId]="'publications'"></my-tab>
|
||||
<my-tab *ngIf="fetchDatasets.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Research Data'" [tabNumber]="fetchDatasets.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.DATASETS" [tabNumber]="fetchDatasets.searchUtils.totalResults"
|
||||
[tabId]="'datasets'"></my-tab>
|
||||
<my-tab *ngIf="fetchSoftware.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Software'" [tabNumber]="fetchSoftware.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.SOFTWARE" [tabNumber]="fetchSoftware.searchUtils.totalResults"
|
||||
[tabId]="'software'"></my-tab>
|
||||
<my-tab *ngIf="fetchOrps.searchUtils.totalResults > 0"
|
||||
[tabTitle]="'Other Research'" [tabNumber]="fetchOrps.searchUtils.totalResults"
|
||||
[tabTitle]="openaireEntities.OTHER" [tabNumber]="fetchOrps.searchUtils.totalResults"
|
||||
[tabId]="'other'"></my-tab>
|
||||
<my-tab [tabTitle]="'Dmps'" [tabNumber]="fetchDmps.searchUtils.totalResults > 0 ? fetchDmps.searchUtils.totalResults : ''" [tabId]="'dmps'"></my-tab>
|
||||
<my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
|
||||
|
@ -271,24 +270,6 @@
|
|||
</div>
|
||||
</div>
|
||||
<div *ngIf="hasPrimaryInfo" class="uk-width-expand uk-padding uk-inline">
|
||||
<!-- <div class="uk-text-meta uk-margin-small-bottom">Description</div>-->
|
||||
<!-- <div class="uk-text-justify uk-height-max-medium uk-overflow-auto">-->
|
||||
<!-- <span>{{projectInfo.description.substring(0, showNumDescription)}}</span>-->
|
||||
<!-- <span *ngIf="showNumDescription == thresholdDescription &&-->
|
||||
<!-- projectInfo.description.length > thresholdDescription">...</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div *ngIf="showNumDescription == thresholdDescription &&-->
|
||||
<!-- projectInfo.description.length > thresholdDescription" class="uk-text-right">-->
|
||||
<!-- <a (click)="showNumDescription = projectInfo.description.length;">-->
|
||||
<!-- Read more-->
|
||||
<!-- </a>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div *ngIf="projectInfo.description && showNumDescription > thresholdDescription"-->
|
||||
<!-- class="uk-text-right">-->
|
||||
<!-- <a (click)="showNumDescription = thresholdDescription;">-->
|
||||
<!-- Read less-->
|
||||
<!-- </a>-->
|
||||
<!-- </div>-->
|
||||
<!-- Description -->
|
||||
<div *ngIf="projectInfo.description && projectInfo.description.length > 0"
|
||||
class="uk-margin-medium-bottom">
|
||||
|
@ -309,41 +290,6 @@
|
|||
<div class="uk-text-meta uk-margin-small-bottom">Partners</div>
|
||||
<div class="uk-margin-medium-bottom">
|
||||
<ng-container *ngTemplateOutlet="organizations_template; context: { threshold: lessBtnOrganizations ? projectInfo.organizations.length : thresholdOrganizations }"></ng-container>
|
||||
|
||||
|
||||
<!-- <div class="uk-height-max-medium uk-overflow-auto">-->
|
||||
<!-- <span-->
|
||||
<!-- *ngFor="let organization of projectInfo.organizations.slice(0, (viewAllOrganizations && lessBtnOrganizations) ? projectInfo.organizations.length : thresholdOrganizations) let i=index"-->
|
||||
<!-- [attr.uk-tooltip]="organization.acronym && organization.name ? 'pos:right; delay:10' : 'cls: uk-invisible'"-->
|
||||
<!-- [title]="organization.name">-->
|
||||
<!-- <a *ngIf="organization.id" class="uk-link-text"-->
|
||||
<!-- [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active"-->
|
||||
<!-- [routerLink]="properties.searchLinkToOrganization.split('?')[0]">-->
|
||||
<!-- {{(organization.acronym) ? organization.acronym : ''}}-->
|
||||
<!-- {{(!organization.acronym && organization.name) ? organization.name : ''}}-->
|
||||
<!-- </a>-->
|
||||
<!-- <span *ngIf="!organization.id">-->
|
||||
<!-- <span *ngIf="organization.acronym">{{organization.acronym}}</span>-->
|
||||
<!-- <span *ngIf="!organization.acronym && organization.name">{{organization.name}}</span>-->
|
||||
<!-- </span>-->
|
||||
<!-- <span *ngIf="(i < projectInfo.organizations.length-1)">, </span>-->
|
||||
<!-- </span>-->
|
||||
<!-- <span-->
|
||||
<!-- *ngIf="!lessBtnOrganizations && projectInfo.organizations.length > thresholdOrganizations"> ... </span>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <div-->
|
||||
<!-- *ngIf="showNumOrganizations == thresholdOrganizations && projectInfo.organizations.length > thresholdOrganizations"-->
|
||||
<!-- class="uk-width-1-1 uk-text-right uk-margin-small-top">-->
|
||||
<!-- <a (click)="showNumOrganizations = projectInfo.organizations.length;">-->
|
||||
<!-- View all {{projectInfo.organizations.length | number}} organizations-->
|
||||
<!-- </a>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div *ngIf="showNumOrganizations > thresholdOrganizations"-->
|
||||
<!-- class="uk-width-1-1 uk-text-right uk-margin-small-top">-->
|
||||
<!-- <a (click)="showNumOrganizations = thresholdOrganizations;">View less organizations</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div *ngIf="projectInfo.organizations.length > thresholdOrganizations && !lessBtnOrganizations"
|
||||
class="uk-text-center">
|
||||
<a (click)="viewAllOrganizationsClick();">
|
||||
|
@ -458,19 +404,11 @@
|
|||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
|
||||
<!-- <ng-container *ngIf="resultLandingInfo.references && resultLandingInfo.references.length > 0">-->
|
||||
<!-- <div id="references" class="landing-section uk-padding uk-padding-remove-horizontal">-->
|
||||
<!-- </div>-->
|
||||
<!-- </ng-container>-->
|
||||
|
||||
</div>
|
||||
|
||||
<div class="uk-text-xsmall uk-hidden@m"><ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container></div>
|
||||
|
||||
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
|
||||
[texts]="pageContents['bottom']"></helper>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -478,55 +416,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!--<div id="tm-main" class="landing uk-section uk-padding-remove-top tm-middle">-->
|
||||
<!-- <div *ngIf="!showFeedback" uk-grid>-->
|
||||
<!-- <div class="tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first ">-->
|
||||
|
||||
<!-- <div id="project" class="uk-container uk-container-large uk-margin-medium-top project">-->
|
||||
<!-- <div *ngIf="projectInfo != null">-->
|
||||
<!-- <div class="main-tabs-div">-->
|
||||
|
||||
|
||||
|
||||
<!-- <my-tabs (selectedActiveTab)="onSelectActiveTab($event)">-->
|
||||
<!-- <my-tab-->
|
||||
<!-- [tabTitle]="'Publications'" [tabNumber]="fetchPublications.searchUtils.totalResults"-->
|
||||
<!-- [tabId]="'publications'">-->
|
||||
<!-- <ng-container *ngTemplateOutlet="publications_tab;"></ng-container>-->
|
||||
<!-- </my-tab>-->
|
||||
<!-- <my-tab-->
|
||||
<!-- [tabTitle]="'Research Data'" [tabNumber]="fetchDatasets.searchUtils.totalResults"-->
|
||||
<!-- [tabId]="'datasets'">-->
|
||||
<!-- <ng-container *ngTemplateOutlet="datasets_tab;"></ng-container>-->
|
||||
<!-- </my-tab>-->
|
||||
<!-- <my-tab-->
|
||||
<!-- [tabTitle]="'Software'" [tabNumber]="fetchSoftware.searchUtils.totalResults"-->
|
||||
<!-- [tabId]="'software'">-->
|
||||
<!-- <ng-container *ngTemplateOutlet="software_tab;"></ng-container>-->
|
||||
<!-- </my-tab>-->
|
||||
<!-- <my-tab-->
|
||||
<!-- [tabTitle]="'Other Research'" [tabNumber]="fetchOrps.searchUtils.totalResults"-->
|
||||
<!-- [tabId]="'other'">-->
|
||||
<!-- <ng-container *ngTemplateOutlet="other_tab;"></ng-container>-->
|
||||
<!-- </my-tab>-->
|
||||
<!-- <my-tab-->
|
||||
<!-- [tabTitle]="'Dmps'" [tabNumber]="fetchDmps.searchUtils.totalResults"-->
|
||||
<!-- [tabId]="'dmps'">-->
|
||||
<!-- <ng-container *ngTemplateOutlet="dmps_tab;"></ng-container>-->
|
||||
<!-- </my-tab>-->
|
||||
<!-- <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0-->
|
||||
<!-- || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"-->
|
||||
<!-- [tabTitle]="'Statistics'" customClass="statistics" [tabId]="'statistics'">-->
|
||||
<!-- <ng-container *ngTemplateOutlet="statistics_tab;"></ng-container>-->
|
||||
<!-- </my-tab>-->
|
||||
<!-- </my-tabs>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!--</div>-->
|
||||
|
||||
<feedback *ngIf="projectInfo && properties.reCaptchaSiteKey" [projectInfo]="projectInfo"
|
||||
[properties]="properties" [entityType]="'project'" [title]="projectName" [fields]="feedbackFields"
|
||||
[(showForm)]="showFeedback"></feedback>
|
||||
|
@ -557,12 +446,6 @@
|
|||
For further information contact us at
|
||||
<u><a [href]="'mailto:'+properties.helpdeskEmail" class="uk-link-text">{{properties.helpdeskEmail}}</a></u>
|
||||
</div>
|
||||
|
||||
<!-- <div *ngIf="embed_research_results_type" class="uk-animation-slide-top-small">-->
|
||||
<!-- <ng-container *ngTemplateOutlet="embed_research_results_box;-->
|
||||
<!-- context: { dynamic_content: getDynamicContent(embed_research_results_type) }">-->
|
||||
<!-- </ng-container>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
</modal-alert>
|
||||
|
@ -570,56 +453,6 @@
|
|||
<modal-alert *ngIf="projectInfo" #downloadReportModal>
|
||||
<div class="uk-padding-small uk-margin-small-left uk-margin-small-right">
|
||||
<div class="uk-padding-small uk-padding-remove-vertical">
|
||||
<!-- *ngIf="projectInfo.funding &&-->
|
||||
<!-- (fetchPublications.searchUtils.totalResults > 0 ||-->
|
||||
<!-- fetchDatasets.searchUtils.totalResults > 0 ||-->
|
||||
<!-- fetchSoftware.searchUtils.totalResults > 0 ||-->
|
||||
<!-- fetchOrps.searchUtils.totalResults > 0)"-->
|
||||
<!-- <mat-form-field-->
|
||||
<!-- class="matSelectionFormField uk-width-1-1">-->
|
||||
<!-- <mat-label>Select content type report to download</mat-label>-->
|
||||
<!-- <mat-select [(value)]="download_research_results_type"-->
|
||||
<!-- [disableOptionCentering]="true"-->
|
||||
<!-- panelClass="entitiesSelectionPanel"-->
|
||||
<!-- class="matSelection">-->
|
||||
<!-- <!– <mat-option value="">Select content type</mat-option>–>-->
|
||||
<!-- <mat-option value="results"-->
|
||||
<!-- [disabled]="!projectInfo.funding ||-->
|
||||
<!-- (fetchPublications.searchUtils.totalResults == 0 &&-->
|
||||
<!-- fetchDatasets.searchUtils.totalResults == 0 &&-->
|
||||
<!-- fetchSoftware.searchUtils.totalResults == 0 &&-->
|
||||
<!-- fetchOrps.searchUtils.totalResults == 0)"-->
|
||||
<!-- [attr.uk-tooltip]="(fetchPublications.searchUtils.totalResults == 0 || fetchPublications.searchUtils.status != errorCodes.DONE) ? 'cls: uk-active' : 'cls: uk-invisible'"-->
|
||||
<!-- title="No report available">-->
|
||||
<!-- All research outcomes-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option value="publications"-->
|
||||
<!-- [disabled]="!projectInfo.funding || fetchPublications.searchUtils.totalResults == 0 || fetchPublications.searchUtils.status != errorCodes.DONE"-->
|
||||
<!-- [attr.uk-tooltip]="(fetchPublications.searchUtils.totalResults == 0 || fetchPublications.searchUtils.status != errorCodes.DONE) ? 'cls: uk-active' : 'cls: uk-invisible'"-->
|
||||
<!-- title="No report available">-->
|
||||
<!-- Publications-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option value="datasets"-->
|
||||
<!-- [disabled]="!projectInfo.funding || fetchDatasets.searchUtils.totalResults == 0 || fetchDatasets.searchUtils.status != errorCodes.DONE"-->
|
||||
<!-- [attr.uk-tooltip]="(fetchDatasets.searchUtils.totalResults == 0 || fetchDatasets.searchUtils.status != errorCodes.DONE) ? 'cls: uk-active' : 'cls: uk-invisible'"-->
|
||||
<!-- title="No report available">-->
|
||||
<!-- Research data-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option value="software"-->
|
||||
<!-- [disabled]="!projectInfo.funding || fetchSoftware.searchUtils.totalResults == 0 || fetchSoftware.searchUtils.status != errorCodes.DONE"-->
|
||||
<!-- [attr.uk-tooltip]="(fetchSoftware.searchUtils.totalResults == 0 || fetchSoftware.searchUtils.status != errorCodes.DONE) ? 'cls: uk-active' : 'cls: uk-invisible'"-->
|
||||
<!-- title="No report available">-->
|
||||
<!-- Software-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option value="other"-->
|
||||
<!-- [disabled]="!projectInfo.funding || fetchOrps.searchUtils.totalResults == 0 || fetchOrps.searchUtils.status != errorCodes.DONE"-->
|
||||
<!-- [attr.uk-tooltip]="(fetchOrps.searchUtils.totalResults == 0 || fetchOrps.searchUtils.status != errorCodes.DONE) ? 'cls: uk-active' : 'cls: uk-invisible'"-->
|
||||
<!-- title="No report available">-->
|
||||
<!-- Other research products-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- </mat-select>-->
|
||||
<!-- </mat-form-field>-->
|
||||
|
||||
<div input type="select" placeholder="Select content type report to download" inputClass="flat x-small"
|
||||
[options]="resultTypesForDownloading" [(value)]="download_research_results_type" (click)="buildResultTypesForDownloading()"></div>
|
||||
<div *ngIf="download_research_results_type" class="uk-animation-slide-top-small uk-margin-medium-top">
|
||||
|
@ -642,36 +475,6 @@
|
|||
</div>
|
||||
</modal-alert>
|
||||
|
||||
|
||||
<ng-template #embed_research_results_box
|
||||
let-dynamic_content="dynamic_content">
|
||||
<ul class="uk-list uk-margin-remove-bottom">
|
||||
<li>
|
||||
<div id="dynamic_content_id1">
|
||||
<pre class="box-content uk-padding-remove-bottom uk-margin-remove-bottom"><code
|
||||
id="clipboard">{{dynamic_content}}</code></pre>
|
||||
<div class="uk-grid uk-margin-small-top">
|
||||
<a
|
||||
class="clipboard_btn uk-padding-remove-left uk-margin-small-left uk-text-right uk-width-1-1"
|
||||
data-clipboard-target="#clipboard" title="Copy to clipboard">
|
||||
<button class="uk-button uk-button-small uk-button-secondary uk-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="copy" ratio="1">
|
||||
<rect fill="none" stroke="#000" x="3.5" y="2.5" width="12" height="16"></rect>
|
||||
<polyline fill="none" stroke="#000" points="5 0.5 17.5 0.5 17.5 17"></polyline>
|
||||
</svg>
|
||||
<span class="uk-margin-small-left">COPY</span>
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div class="uk-text-small uk-margin-small-top">
|
||||
For further information contact us at
|
||||
<u><a [href]="'mailto:'+properties.helpdeskEmail" class="uk-link-text">{{properties.helpdeskEmail}}</a></u>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</ng-template>
|
||||
<ng-template #download_research_results_box
|
||||
let-type="type" let-fileName_type="fileName_type" let-csvParams="csvParams">
|
||||
<ul class="uk-list uk-margin-remove-bottom">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import {ChangeDetectorRef, Component, Input, ViewChild} from '@angular/core';
|
||||
import {Component, Input, ViewChild} from '@angular/core';
|
||||
import {ActivatedRoute, Router} from '@angular/router';
|
||||
import {Meta, Title} from '@angular/platform-browser';
|
||||
|
||||
|
@ -112,7 +112,7 @@ export class ProjectComponent {
|
|||
public showFeedback: boolean;
|
||||
public feedbackFields: string [] = [
|
||||
'Title', 'Funding Information', 'Duration',
|
||||
'Organizations', 'Other'];
|
||||
OpenaireEntities.ORGANIZATIONS, 'Other'];
|
||||
|
||||
@ViewChild(ModalLoading) loading: ModalLoading;
|
||||
// Alert box when something is wrong with CSV requests
|
||||
|
@ -186,6 +186,7 @@ export class ProjectComponent {
|
|||
|
||||
|
||||
this.subscriptions.push(this.route.queryParams.subscribe(params => {
|
||||
this.stickyHeader = false;
|
||||
this.metricsClicked = false;
|
||||
this.statsClicked = false;
|
||||
this.fetchPublications = new FetchResearchResults(this._searchResearchResultsService);
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
<div class="landing-left-sidebar-width landing-left-sidebar-border landing-background-light-color">
|
||||
<div class="uk-flex uk-flex-column uk-flex-between uk-flex-center landing-sidebar-height uk-sticky"
|
||||
uk-sticky="bottom: true" [attr.offset]="offset">
|
||||
<!-- [class.uk-hidden]="!hasAltMetrics && !metricsCalculated"-->
|
||||
<div class="uk-align-center uk-text-center uk-margin-medium-top uk-flex uk-flex-column uk-flex-between">
|
||||
<ng-container *ngIf="resultLandingInfo && (hasAltMetrics || hasMetrics)">
|
||||
<metrics *ngIf="hasMetrics" class="uk-margin-bottom"
|
||||
|
@ -67,22 +66,6 @@
|
|||
<orcid-work [resultId]="id" [resultTitle]="resultLandingInfo.title" [resultLandingInfo]="resultLandingInfo"
|
||||
[pids]="pidsArrayString" [pageType]="'landing'">
|
||||
</orcid-work>
|
||||
<!-- <li *ngIf="properties.b2noteAPIURL" class="uk-text-center" [attr.uk-tooltip]="'title: add annotation; pos: right; cls: uk-active landing-action-tooltip landing-action-tooltip-primary'">-->
|
||||
<!-- <a *ngIf="isLoggedIn && pid" (click)="annotation.toggleAnnotation($event)">-->
|
||||
<!-- <span class="uk-icon-button uk-icon landing-action-button landing-action-button-primary">-->
|
||||
<!-- <img src="assets/common-assets/b2note.png" loading="lazy" alt="b2note" style="width:34px; height:21px">-->
|
||||
<!-- </span>-->
|
||||
<!-- </a>-->
|
||||
<!-- <span *ngIf="!pid || !isLoggedIn" class="uk-text-muted half-opacity"-->
|
||||
<!-- [title]="!pid?'Annotations are available only for resources with a PID (persistent identifier) like DOI, handle, PMID':-->
|
||||
<!-- 'Annotations are available only for logged in users'"-->
|
||||
<!-- [attr.uk-tooltip]="'pos: right; cls: uk-active landing-action-tooltip landing-action-tooltip-primary'">-->
|
||||
<!-- <span class="uk-icon-button uk-icon landing-action-button landing-action-button-primary uk-disabled">-->
|
||||
<!-- <img src="assets/common-assets/b2note.png" loading="lazy" alt="b2note" style="width:34px;-->
|
||||
<!-- height:21px">-->
|
||||
<!-- </span>-->
|
||||
<!-- </span>-->
|
||||
<!-- </li>-->
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -278,7 +261,7 @@
|
|||
</ng-container>
|
||||
<ng-container *ngIf="resultLandingInfo.relatedResults?.length > 0">
|
||||
<div id="all_related" class="landing-section uk-padding uk-padding-remove-horizontal">
|
||||
<ng-container *ngTemplateOutlet="relation_in_tab; context: { researchResults: filteredRelatedResults, header: '', relatedClassFilters: resultLandingInfo.relatedClassFilters}"></ng-container>
|
||||
<ng-container *ngTemplateOutlet="relation_in_tab; context: { researchResults: filteredRelatedResults, header: ''}"></ng-container>
|
||||
</div>
|
||||
</ng-container>
|
||||
<ng-container *ngIf="resultLandingInfo.bioentities && bioentitiesNum> 0">
|
||||
|
@ -382,16 +365,12 @@
|
|||
&& (properties.environment == 'beta' || properties.environment == 'development') && (!viewAll || viewAll=='egiNotebook')">
|
||||
<a class="uk-link-text uk-text-bold custom-external"
|
||||
target="_blank" [href]="properties.egiNotebookLink">
|
||||
<!-- <span class="uk-icon-button uk-icon">-->
|
||||
<img src="assets/common-assets/eosc-logo.png"
|
||||
loading="lazy" alt="eosc_logo" style="width:27px; height:27px">
|
||||
<!-- </span>-->
|
||||
<span class="uk-margin-small-left uk-text-uppercase"><u>EOSC SERVICE: EGI NOTEBOOK</u></span>
|
||||
</a>
|
||||
</div>
|
||||
<!-- <hr *ngIf="resultLandingInfo.showEgiNotebookButton && properties.adminToolsPortalType == 'explore'-->
|
||||
<!-- && (properties.environment == 'beta' || properties.environment == 'development')">-->
|
||||
<div *ngIf="resultLandingInfo.sdg && resultLandingInfo.sdg.length > 0 && (!viewAll || viewAll=='sdg')">
|
||||
<div *ngIf="resultLandingInfo.sdg && resultLandingInfo.sdg.length > 0 && (!viewAll || viewAll=='sdg')">
|
||||
<sdg [subjects]="resultLandingInfo.sdg" (viewAllClicked)="viewAll=$event"></sdg>
|
||||
</div>
|
||||
<div *ngIf="resultLandingInfo.fos && resultLandingInfo.fos.length > 0 && (!viewAll || viewAll=='fos')">
|
||||
|
@ -401,25 +380,15 @@
|
|||
<div *ngIf="resultLandingInfo.fundedByProjects && resultLandingInfo.fundedByProjects.length > 0 && (!viewAll || viewAll=='fundedBy')">
|
||||
<fundedBy [fundedByProjects]="resultLandingInfo.fundedByProjects" (viewAllClicked)="viewAll=$event"></fundedBy>
|
||||
</div>
|
||||
<!-- <hr *ngIf="resultLandingInfo.fundedByProjects && resultLandingInfo.fundedByProjects.length > 0">-->
|
||||
<!-- Communities -->
|
||||
<div *ngIf="resultLandingInfo.contexts && resultLandingInfo.contexts.length > 0 && !noCommunities && (!viewAll || viewAll=='relatedTo')">
|
||||
<relatedTo [contexts]="resultLandingInfo.contexts" [viewAll]="viewAll=='relatedTo'"
|
||||
(viewAllClicked)="viewAll=$event" (noCommunities)="noCommunities = true"></relatedTo>
|
||||
</div>
|
||||
<!-- <hr *ngIf="resultLandingInfo.contexts && resultLandingInfo.contexts.length > 0"-->
|
||||
<!-- Download From -->
|
||||
<div *ngIf="resultLandingInfo.hostedBy_collectedFrom && resultLandingInfo.hostedBy_collectedFrom.length > 0 && (!viewAll || viewAll=='availableOn')">
|
||||
<!-- <div class="uk-inline">-->
|
||||
<!-- <button class="uk-button uk-button-default" type="button">Click</button>-->
|
||||
<!-- <div uk-dropdown="mode: click">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.</div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <div class="uk-button uk-button-default button-drop uk-width-1-1">Select a source...</div>-->
|
||||
<availableOn [availableOn]="resultLandingInfo.hostedBy_collectedFrom" (viewAllClicked)="viewAll=$event"></availableOn>
|
||||
</div>
|
||||
<!-- style="border: 1px solid red">-->
|
||||
<!-- <div *ngFor="let item of fakeArray.slice(0, 50); let i=index">test3.{{i}}</div>-->
|
||||
</div>
|
||||
</ng-template>
|
||||
</ng-container>
|
||||
|
@ -434,33 +403,26 @@
|
|||
<!-- Other versions -->
|
||||
<modal-alert *ngIf="resultLandingInfo && resultLandingInfo.deletedByInferenceIds"
|
||||
#AlertModalDeletedByInference large="true">
|
||||
<!-- <landing-header [properties]="properties" [title]="resultLandingInfo.title" [modal]="AlertModalDeletedByInference"-->
|
||||
<!-- [subTitle]="resultLandingInfo.subtitle" [authorLimit]="10" [showAllAuthors]="false"-->
|
||||
<!-- titleClass="title-grey-background"-->
|
||||
<!-- [entityType]="getTypeName()" [authors]="resultLandingInfo.authors" [types]="resultLandingInfo.types"-->
|
||||
<!-- [year]="resultLandingInfo.date" [embargoEndDate]="resultLandingInfo.embargoEndDate"-->
|
||||
<!-- [isTitleH1]="false">-->
|
||||
<!-- </landing-header>-->
|
||||
<deletedByInference *ngIf="type == 'publication' && deleteByInferenceOpened"
|
||||
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
|
||||
[ids]="resultLandingInfo.deletedByInferenceIds"
|
||||
[modal]="AlertModalDeletedByInference"
|
||||
[resultType]="type" [type]="'publications'"></deletedByInference>
|
||||
[resultType]="type" [type]="openaireEntities.PUBLICATIONS"></deletedByInference>
|
||||
<deletedByInference *ngIf="type == 'dataset' && deleteByInferenceOpened"
|
||||
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
|
||||
[ids]="resultLandingInfo.deletedByInferenceIds"
|
||||
[modal]="AlertModalDeletedByInference"
|
||||
[resultType]="'dataset'" [type]="'research data'"></deletedByInference>
|
||||
[resultType]="'dataset'" [type]="openaireEntities.DATASETS"></deletedByInference>
|
||||
<deletedByInference *ngIf="type == 'software' && deleteByInferenceOpened"
|
||||
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
|
||||
[ids]="resultLandingInfo.deletedByInferenceIds"
|
||||
[modal]="AlertModalDeletedByInference"
|
||||
[resultType]="type" [type]="'software'"></deletedByInference>
|
||||
[resultType]="type" [type]="openaireEntities.SOFTWARE"></deletedByInference>
|
||||
<deletedByInference *ngIf="type == 'orp' && deleteByInferenceOpened"
|
||||
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
|
||||
[ids]="resultLandingInfo.deletedByInferenceIds"
|
||||
[modal]="AlertModalDeletedByInference"
|
||||
[resultType]="'other'" [type]="'other research products'"></deletedByInference>
|
||||
[resultType]="'other'" [type]="openaireEntities.OTHER"></deletedByInference>
|
||||
</modal-alert>
|
||||
<modal-alert *ngIf="resultLandingInfo" #citeModal>
|
||||
<citeThis *ngIf="citeThisClicked" [result]="resultLandingInfo" [id]="id"
|
||||
|
@ -488,21 +450,16 @@
|
|||
</ul>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #relation_in_tab let-researchResults="researchResults" let-header="header" let-relatedClassFilters="relatedClassFilters">
|
||||
<ng-template #relation_in_tab let-researchResults="researchResults" let-header="header">
|
||||
<div
|
||||
*ngIf="researchResults && researchResults.length > 0"
|
||||
class="uk-margin-bottom">
|
||||
<h6 *ngIf="header">{{header}}</h6>
|
||||
<mat-form-field *ngIf="relatedClassFilters?.size > 1" class="matSelectionFormField">
|
||||
<mat-label>Filter by relation:</mat-label>
|
||||
<mat-select [(ngModel)]="relatedClassSelected" (ngModelChange)="relatedClassChanged()"
|
||||
[disableOptionCentering]="true"
|
||||
panelClass="matSelectionPanel"
|
||||
class="uk-text-bold matSelection">
|
||||
<mat-option [value]="">All relations</mat-option>
|
||||
<mat-option *ngFor="let relatedClass of relatedClassFilters" [value]="relatedClass">{{relatedClass}}</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<div *ngIf="relatedClassFilters?.length > 1" class="uk-margin-medium-bottom"
|
||||
input type="select" placeholder="Filter by relation" inputClass="flat x-small"
|
||||
[options]="relatedClassFilters" [(value)]="relatedClassSelected"
|
||||
(valueChange)="relatedClassChanged()"></div>
|
||||
|
||||
<results-and-pages
|
||||
[type]="openaireEntities.RESULTS"
|
||||
[page]="relatedPage" [pageSize]="pageSize"
|
||||
|
|
|
@ -24,6 +24,7 @@ import {ParsingFunctions} from "../landing-utils/parsingFunctions.class";
|
|||
import {ConnectHelper} from "../../connect/connectHelper";
|
||||
import {UserManagementService} from "../../services/user-management.service";
|
||||
import {OpenaireEntities} from "../../utils/properties/searchFields";
|
||||
import {Option} from "../../sharedComponents/input/input.component";
|
||||
|
||||
declare var UIkit;
|
||||
|
||||
|
@ -119,6 +120,7 @@ export class ResultLandingComponent {
|
|||
@ViewChild("annotation") annotation: AnnotationComponent;
|
||||
public contextsWithLink: any;
|
||||
|
||||
public relatedClassFilters: Option[]=[{"label": "All relations", "value": ""}];
|
||||
public relatedClassSelected: string = "";
|
||||
public filteredRelatedResults: RelationResult[];
|
||||
|
||||
|
@ -165,6 +167,7 @@ export class ResultLandingComponent {
|
|||
this.updateUrl(this.properties.domain +this.properties.baseLink + this._router.url);
|
||||
this.seoService.createLinkForCanonicalURL(this.properties.domain +this.properties.baseLink + this._router.url);
|
||||
this.subscriptions.push(this.route.queryParams.subscribe(data => {
|
||||
this.stickyHeader = false;
|
||||
if (data['articleId']) {
|
||||
this.id = data['articleId'];
|
||||
this.initMetaAndLinks("publication");
|
||||
|
@ -231,34 +234,34 @@ export class ResultLandingComponent {
|
|||
private initMetaAndLinks(type: string) {
|
||||
if (type == "publication") {
|
||||
this.type = "publication";
|
||||
this.updateTitle("Publication");
|
||||
this.updateTitle(this.openaireEntities.PUBLICATION);
|
||||
this.linkToLandingPage = this.properties.searchLinkToPublication;
|
||||
this.linkToSearchPage = this.properties.searchLinkToPublications;
|
||||
this.title = "Publication";
|
||||
this.title = this.openaireEntities.PUBLICATION;
|
||||
} else if (type == "dataset") {
|
||||
this.updateTitle("Dataset");
|
||||
this.updateTitle(this.openaireEntities.DATASET);
|
||||
this.type = "dataset";
|
||||
this.linkToLandingPage = this.properties.searchLinkToDataset;
|
||||
this.linkToSearchPage = this.properties.searchLinkToDatasets;
|
||||
this.title = "Research Data";
|
||||
this.title = this.openaireEntities.DATASET;
|
||||
} else if (type == "software") {
|
||||
this.updateTitle("Software");
|
||||
this.updateTitle(this.openaireEntities.SOFTWARE_SINGULAR);
|
||||
this.type = "software";
|
||||
this.linkToLandingPage = this.properties.searchLinkToSoftwareLanding;
|
||||
this.linkToSearchPage = this.properties.searchLinkToSoftware;
|
||||
this.title = "Software";
|
||||
this.title = this.openaireEntities.SOFTWARE_SINGULAR;
|
||||
} else if (type == "orp") {
|
||||
this.type = "orp";
|
||||
this.updateTitle("Other Research Product");
|
||||
this.updateTitle(this.openaireEntities.OTHER_SINGULAR);
|
||||
this.linkToLandingPage = this.properties.searchLinkToOrp;
|
||||
this.linkToSearchPage = this.properties.searchLinkToOrps;
|
||||
this.title = "Other Research Product";
|
||||
this.title = this.openaireEntities.OTHER_SINGULAR;
|
||||
} else if (type == "result") {
|
||||
this.type = "result";
|
||||
this.updateTitle("Research Result");
|
||||
this.updateTitle(this.openaireEntities.RESULT);
|
||||
this.linkToLandingPage = this.properties.searchLinkToResult;
|
||||
this.linkToSearchPage = this.properties.searchLinkToResults;
|
||||
this.title = "Research Result";
|
||||
this.title = this.openaireEntities.RESULT;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -297,11 +300,13 @@ export class ResultLandingComponent {
|
|||
|
||||
public getTypeName(): string {
|
||||
if (this.type === "dataset") {
|
||||
return "research data";
|
||||
return this.openaireEntities.DATASET;
|
||||
} else if (this.type === "orp" || this.type === "other") {
|
||||
return "research product";
|
||||
} else {
|
||||
return this.type;
|
||||
return this.openaireEntities.OTHER_SINGULAR;
|
||||
} else if(this.type === "publication") {
|
||||
return this.openaireEntities.PUBLICATION;
|
||||
} else if(this.type === "software") {
|
||||
return this.openaireEntities.SOFTWARE_SINGULAR;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -456,6 +461,14 @@ export class ResultLandingComponent {
|
|||
this.enermapsId = ParsingFunctions.getEnermapsConceptId(this.resultLandingInfo.contexts);
|
||||
}
|
||||
|
||||
|
||||
if(this.resultLandingInfo.relatedClassFilters.size > 1) {
|
||||
for (let relClass of this.resultLandingInfo.relatedClassFilters) {
|
||||
this.relatedClassFilters.push({"label": relClass, "value": relClass});
|
||||
}
|
||||
} else {
|
||||
this.relatedClassFilters.pop();
|
||||
}
|
||||
this.relatedClassSelected = "";
|
||||
this.filteredRelatedResults = this.resultLandingInfo.relatedResults;
|
||||
|
||||
|
@ -471,12 +484,14 @@ export class ResultLandingComponent {
|
|||
}else if(err.name == "TimeoutError"){
|
||||
this.errorMessage = 'An error occurred please try again later';
|
||||
}else{
|
||||
if (this.type == "publication" || this.type == "software") {
|
||||
this.errorMessage = 'No ' + this.type + ' found';
|
||||
if (this.type == "publication") {
|
||||
this.errorMessage = "No "+ this.openaireEntities.PUBLICATIONS +" found";
|
||||
} else if (this.type == "software") {
|
||||
this.errorMessage = 'No ' + this.openaireEntities.SOFTWARE + ' found';
|
||||
} else if (this.type == "dataset") {
|
||||
this.errorMessage += "No research data found";
|
||||
this.errorMessage += "No "+this.openaireEntities.DATASETS+" found";
|
||||
} else if (this.type == "orp") {
|
||||
this.errorMessage += "No research product found";
|
||||
this.errorMessage += "No "+this.openaireEntities.OTHER+" found";
|
||||
}
|
||||
this.seoService.createLinkForCanonicalURL(this.properties.domain+ properties.baseLink + this.linkToSearchPage);
|
||||
}
|
||||
|
@ -610,15 +625,15 @@ export class ResultLandingComponent {
|
|||
|
||||
private handleError(message: string, error) {
|
||||
if (this.type == "publication") {
|
||||
console.error("Publication Landing Page: " + message, error);
|
||||
console.error(this.openaireEntities.PUBLICATION+" Landing Page: " + message, error);
|
||||
} else if (this.type == "dataset") {
|
||||
console.error("Research Data Landing Page: " + message, error);
|
||||
console.error(this.openaireEntities.DATASET+" Landing Page: " + message, error);
|
||||
} else if (this.type == "software") {
|
||||
console.error("Software Landing Page: " + message, error);
|
||||
console.error(this.openaireEntities.SOFTWARE_SINGULAR+" Landing Page: " + message, error);
|
||||
} else if (this.type == "orp") {
|
||||
console.error("Other Research Product Landing Page: " + message, error);
|
||||
console.error(this.openaireEntities.OTHER_SINGULAR+" Landing Page: " + message, error);
|
||||
} else {
|
||||
console.error("Landing Page: " + message, error);
|
||||
console.error(this.openaireEntities.RESULT+" Landing Page: " + message, error);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -844,7 +859,7 @@ export class ResultLandingComponent {
|
|||
public openOrganizationsModal() {
|
||||
this.organizationsModal.cancelButton = false;
|
||||
this.organizationsModal.okButton = false;
|
||||
this.organizationsModal.alertTitle = "Related Organizations";
|
||||
this.organizationsModal.alertTitle = "Related "+this.openaireEntities.ORGANIZATIONS;
|
||||
this.organizationsModal.open();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ import {MatSelectModule} from "@angular/material/select";
|
|||
import {IconsModule} from "../../utils/icons/icons.module";
|
||||
import {IconsService} from "../../utils/icons/icons.service";
|
||||
import {graph, link, quotes} from "../../utils/icons/icons";
|
||||
import {InputModule} from "../../sharedComponents/input/input.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
@ -42,7 +43,7 @@ import {graph, link, quotes} from "../../utils/icons/icons";
|
|||
MetricsModule, AltMetricsModule, Schema2jsonldModule, SEOServiceModule,
|
||||
DeletedByInferenceModule, ShowAuthorsModule, HelperModule, ResultLandingUtilsModule, AlertModalModule,
|
||||
AnnotationModule, LandingHeaderModule, NoLoadPaging, ResultPreviewModule, FeedbackModule, TabsModule, LoadingModule,
|
||||
OrcidModule, MatFormFieldModule, MatSelectModule, IconsModule
|
||||
OrcidModule, MatFormFieldModule, MatSelectModule, IconsModule, InputModule
|
||||
],
|
||||
declarations: [
|
||||
ResultLandingComponent
|
||||
|
|
|
@ -10,6 +10,7 @@ import {LoginErrorCodes} from "../login/utils/guardHelper.class";
|
|||
import {ExternalIDV3_0, WorkV3_0} from "./orcidWork";
|
||||
import {EnvProperties} from "../utils/properties/env-properties";
|
||||
import {UserManagementService} from "../services/user-management.service";
|
||||
import {OpenaireEntities} from "../utils/properties/searchFields";
|
||||
|
||||
declare var UIkit: any;
|
||||
|
||||
|
@ -263,9 +264,9 @@ declare var UIkit: any;
|
|||
|
||||
<modal-alert #propagationModal (alertOutput)="confirmedPropagation()">
|
||||
<div>
|
||||
This research outcome is the result of <span class="uk-text-bold"> merged research outcomes in OpenAIRE</span>.
|
||||
This {{openaireEntities.RESULT}} is the result of <span class="uk-text-bold"> merged {{openaireEntities.RESULTS}} in OpenAIRE</span>.
|
||||
<br><br>
|
||||
You have already added <span class="uk-text-bold">{{this.putCodes?.length}} works</span> in your ORCID record related to the merged research outcome.
|
||||
You have already added <span class="uk-text-bold">{{this.putCodes?.length}} works</span> in your ORCID record related to the merged {{openaireEntities.RESULT}}.
|
||||
<div *ngIf="currentAction == 'delete'">
|
||||
If you continue with delete action, <span class="uk-text-bold">all these works will be deleted</span>.
|
||||
</div>
|
||||
|
@ -327,6 +328,7 @@ export class OrcidWorkComponent {
|
|||
public hoverDelete: boolean = false;
|
||||
|
||||
public properties: EnvProperties = properties;
|
||||
public openaireEntities = OpenaireEntities;
|
||||
|
||||
constructor(private route: ActivatedRoute,
|
||||
private _router: Router,
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
{{result.funderShortname}}
|
||||
</span>
|
||||
<span *ngIf="result.code" [class.uk-margin-left]="result.funderShortname">
|
||||
<span class="uk-text-meta">Project Code: </span>
|
||||
<span class="uk-text-meta">{{openaireEntities.PROJECT}} Code: </span>
|
||||
{{result.code}}
|
||||
</span>
|
||||
<!-- Currently not parsed -->
|
||||
|
@ -126,19 +126,19 @@
|
|||
<span
|
||||
*ngIf="result.openAccessMandatePublications && (!result.openAccessMandateDatasets)"
|
||||
class="uk-label uk-label-success uk-text-truncate"
|
||||
title="Open Access mandate for Publications">
|
||||
Open Access mandate for Publications
|
||||
title="Open Access mandate for {{openaireEntities.PUBLICATIONS}}">
|
||||
Open Access mandate for {{openaireEntities.PUBLICATIONS}}
|
||||
</span>{{' '}}
|
||||
<span
|
||||
*ngIf="result.openAccessMandateDatasets != undefined && result.openAccessMandateDatasets && (result.openAccessMandatePublications == undefined || !result.openAccessMandatePublications)"
|
||||
class="uk-label uk-label-success uk-text-truncate " title="Open Access mandate for Research Data">
|
||||
Open Access mandate for Research Data
|
||||
class="uk-label uk-label-success uk-text-truncate " title="Open Access mandate for {{openaireEntities.DATASETS}}">
|
||||
Open Access mandate for {{openaireEntities.DATASETS}}
|
||||
</span>{{' '}}
|
||||
<span
|
||||
*ngIf="result.openAccessMandatePublications != undefined && result.openAccessMandatePublications && result.openAccessMandateDatasets != undefined && result.openAccessMandateDatasets"
|
||||
class="uk-label uk-label-success uk-text-truncate"
|
||||
title="Open Access mandate for Publications and Research Data">
|
||||
Open Access mandate for Publications and Research Data
|
||||
title="Open Access mandate for {{openaireEntities.PUBLICATIONS}} and {{openaireEntities.DATASETS}}">
|
||||
Open Access mandate for {{openaireEntities.PUBLICATIONS}} and {{openaireEntities.DATASETS}}
|
||||
</span>{{' '}}
|
||||
<span *ngIf="result.languages && result.languages.length > 0">
|
||||
<span
|
||||
|
|
|
@ -6,6 +6,7 @@ import {AlertModal} from "../modal/alert";
|
|||
import {properties} from "../../../../environments/environment";
|
||||
import {Session} from "../../login/utils/helper.class";
|
||||
import {Identifier} from "../string-utils.class";
|
||||
import {OpenaireEntities} from "../properties/searchFields";
|
||||
|
||||
@Component({
|
||||
selector: 'result-preview',
|
||||
|
@ -14,6 +15,7 @@ import {Identifier} from "../string-utils.class";
|
|||
export class ResultPreviewComponent implements OnInit, OnChanges {
|
||||
@Input() result: ResultPreview;
|
||||
@Input() properties: EnvProperties;
|
||||
public openaireEntities = OpenaireEntities;
|
||||
@Input() showSubjects: boolean = true;
|
||||
@Input() showOrganizations: boolean = true;
|
||||
@Input() modal: AlertModal = null;
|
||||
|
|
Loading…
Reference in New Issue