progress on organization landing - almost ready
This commit is contained in:
parent
272ca5b81e
commit
6c3d1c5127
|
@ -9,17 +9,19 @@ import {StringUtils} from '../../utils/string-utils.class';
|
||||||
import {RouterHelper} from '../../utils/routerHelper.class';
|
import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
import {EnvProperties} from '../../utils/properties/env-properties';
|
import {EnvProperties} from '../../utils/properties/env-properties';
|
||||||
import {AlertModal} from "../../utils/modal/alert";
|
import {AlertModal} from "../../utils/modal/alert";
|
||||||
|
import {OpenaireEntities} from '../../utils/properties/searchFields';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'projectsInModal',
|
selector: 'projectsInModal',
|
||||||
template: `
|
template: `
|
||||||
<div *ngIf="fetchProjects.funders.length > 1" class="uk-margin-bottom">
|
<div *ngIf="fetchProjects.funders.length > 1" class="uk-margin-medium-bottom">
|
||||||
<div class="uk-margin-small-bottom uk-text-muted">Filter by Funder:</div>
|
<div class="uk-margin-small-bottom uk-text-meta">Filter by Funder:</div>
|
||||||
<ul class="uk-list uk-list-divider uk-margin-remove">
|
<ul class="uk-list uk-list-divider uk-margin-remove">
|
||||||
<li *ngFor="let filter of fetchProjects.filters ">
|
<li *ngFor="let filter of fetchProjects.filters ">
|
||||||
<label *ngFor="let value of filter.values" class="uk-animation-fade uk-margin-small-right">
|
<label *ngFor="let value of filter.values" class="uk-animation-fade uk-margin-small-right">
|
||||||
<input [(ngModel)]="value.selected" type="checkbox"
|
<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>
|
<span class="uk-text-bold"> {{value.name}}</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
|
@ -28,21 +30,21 @@ import {AlertModal} from "../../utils/modal/alert";
|
||||||
<errorMessages [status]="[fetchProjects.searchUtils.status]" [type]="'projects'"
|
<errorMessages [status]="[fetchProjects.searchUtils.status]" [type]="'projects'"
|
||||||
tab_error_class=true></errorMessages>
|
tab_error_class=true></errorMessages>
|
||||||
<div *ngIf="fetchProjects.searchUtils.status == errorCodes.DONE">
|
<div *ngIf="fetchProjects.searchUtils.status == errorCodes.DONE">
|
||||||
<no-load-paging *ngIf="fetchProjects.searchUtils.totalResults > size" [type]="'projects'"
|
<results-and-pages *ngIf="fetchProjects.searchUtils.totalResults > size" [type]="openaireEntities.PROJECTS"
|
||||||
(pageChange)="pageChange($event)"
|
[page]="page" [pageSize]="size"
|
||||||
[page]="page" [pageSize]="size"
|
[totalResults]="fetchProjects.searchUtils.totalResults">
|
||||||
[totalResults]="fetchProjects.searchUtils.totalResults">
|
</results-and-pages>
|
||||||
</no-load-paging>
|
|
||||||
<search-result [results]="fetchProjects.results"
|
<search-result [results]="fetchProjects.results"
|
||||||
[status]="fetchProjects.searchUtils.status"
|
[status]="fetchProjects.searchUtils.status"
|
||||||
[type]="'project'"
|
[type]="'project'"
|
||||||
[showLoading]="true" [properties]="properties">
|
[showLoading]="true" [properties]="properties">
|
||||||
</search-result>
|
</search-result>
|
||||||
<no-load-paging *ngIf="fetchProjects.searchUtils.totalResults > size" [type]="'projects'"
|
<paging-no-load *ngIf="fetchProjects.searchUtils.totalResults > size"
|
||||||
(pageChange)="pageChange($event)"
|
(pageChange)="pageChange($event)"
|
||||||
[page]="page" [pageSize]="size"
|
[currentPage]="page"
|
||||||
[totalResults]="fetchProjects.searchUtils.totalResults">
|
[size]="size"
|
||||||
</no-load-paging>
|
[totalResults]="fetchProjects.searchUtils.totalResults">
|
||||||
|
</paging-no-load>
|
||||||
</div>
|
</div>
|
||||||
`
|
`
|
||||||
})
|
})
|
||||||
|
@ -59,6 +61,8 @@ export class ProjectsInModalComponent {
|
||||||
public errorCodes: ErrorCodes = new ErrorCodes();
|
public errorCodes: ErrorCodes = new ErrorCodes();
|
||||||
|
|
||||||
private filterQuery: string = "";
|
private filterQuery: string = "";
|
||||||
|
|
||||||
|
public openaireEntities = OpenaireEntities;
|
||||||
|
|
||||||
constructor(private route: ActivatedRoute,
|
constructor(private route: ActivatedRoute,
|
||||||
private _searchProjectsService: SearchProjectsService) {
|
private _searchProjectsService: SearchProjectsService) {
|
||||||
|
|
|
@ -1,389 +1,303 @@
|
||||||
<div id="tm-main" class="landing uk-section uk-padding-remove-top tm-middle">
|
<div id="tm-main" class="landing uk-section uk-padding-remove tm-middle">
|
||||||
<div *ngIf="!showFeedback" class="uk-grid">
|
<div class="tm-main">
|
||||||
<div class="tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first ">
|
<!-- TODO: Error messages -->
|
||||||
<div class="uk-container uk-container-large uk-margin-medium-top organization">
|
<div></div>
|
||||||
<div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning uk-margin-large-top"
|
|
||||||
role="alert">{{warningMessage}}</div>
|
<div *ngIf="organizationInfo" class="organization">
|
||||||
<div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger uk-margin-large-top"
|
<div *ngIf="!showFeedback" class="uk-grid" uk-grid>
|
||||||
role="alert">{{errorMessage}}</div>
|
<!-- left column -->
|
||||||
<div [style.display]="showLoading ? 'inline' : 'none'"
|
<div class="landing-left-sidebar-width landing-left-sidebar-border landing-background-light-color">
|
||||||
class="uk-animation-fade uk-margin-large-top uk-width-1-1" role="alert"><span
|
<div class="uk-flex uk-flex-column uk-flex-right landing-sidebar-height uk-sticky"
|
||||||
class="loading-gif uk-align-center"></span></div>
|
uk-sticky="bottom: true" [attr.offset]="offset">
|
||||||
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
|
<div class="uk-margin-large-bottom uk-align-center">
|
||||||
[texts]="pageContents['top']"></helper>
|
<div class="uk-text-meta">Actions</div>
|
||||||
<div *ngIf="organizationInfo != null" class="uk-grid uk-margin-remove">
|
<ul class="uk-list">
|
||||||
<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">
|
<!-- Share -->
|
||||||
<schema2jsonld *ngIf="organizationInfo" [data]=organizationInfo
|
<li class="uk-text-center">
|
||||||
[URL]="properties.domain + properties.baseLink+this.properties.searchLinkToOrganization+organizationInfo.relcanId"
|
<a (click)="openAddThisModal()" [title]="'Share this organization in your social networks'"
|
||||||
type="organization"></schema2jsonld>
|
[attr.uk-tooltip]="'pos: right; cls: uk-active landing-action-tooltip landing-action-tooltip-portal uk-text-small uk-padding-small'">
|
||||||
<landing-header [properties]="properties" [title]="organizationInfo.title.name"
|
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
|
||||||
titleClass="uk-margin-remove-bottom"
|
<icon name="share" visuallyHidden="share"></icon>
|
||||||
[subTitle]="(organizationInfo.name
|
</span>
|
||||||
&& organizationInfo.title.name !== organizationInfo.name)?organizationInfo.name:null"
|
</a>
|
||||||
[entityType]="'organization'"></landing-header>
|
</li>
|
||||||
<div *ngIf="organizationInfo.deletedByInferenceIds">
|
<!-- Download content lists -->
|
||||||
<a (click)="openDeletedByInference()">View all {{organizationInfo.deletedByInferenceIds.length}}
|
<li class="uk-text-center"
|
||||||
versions</a>
|
[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>
|
</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>
|
||||||
<div class="uk-width-1-3@m uk-width-1-1@s uk-padding-remove">
|
</div>
|
||||||
<ul class="user-actions uk-list uk-card uk-card-default uk-padding">
|
<!-- center/right column -->
|
||||||
<!-- Share -->
|
<div *ngIf="organizationInfo" class="uk-width-expand uk-padding-remove uk-margin-large-left uk-margin-large-right landing-background-default-color">
|
||||||
<li>
|
<!-- Graph and feedback -->
|
||||||
<addThis></addThis>
|
<ng-template #graph_and_feedback_template>
|
||||||
</li>
|
<div class="uk-flex uk-margin-small-top uk-margin-small-bottom">
|
||||||
<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">
|
|
||||||
<!-- Last Index Info-->
|
<!-- Last Index Info-->
|
||||||
<div class="uk-width-2-3@m uk-width-1-2">
|
<div class="uk-width-2-3@m uk-width-1-2 graph">
|
||||||
<img src="assets/common-assets/graph.svg" style="opacity: 0.4; width:20px; height:22px" loading="lazy"
|
<icon name="graph" customClass="uk-text-primary"></icon>
|
||||||
alt="graph">
|
<span class="uk-margin-small-left uk-text-baseline uk-text-meta">
|
||||||
<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>
|
Powered by <a href="https://graph.openaire.eu" target="_blank" class="uk-text-primary">OpenAIRE Research Graph</a>
|
||||||
<span *ngIf="indexUpdateDate" class="uk-text-baseline uk-text-muted">
|
</span>
|
||||||
|
<span *ngIf="indexUpdateDate" class="uk-text-baseline uk-text-meta">
|
||||||
. Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
|
. Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<!--Feedback-->
|
<!--Feedback-->
|
||||||
<div *ngIf="properties.reCaptchaSiteKey" class="uk-width-expand uk-text-right">
|
<div *ngIf="properties.reCaptchaSiteKey" class="uk-width-expand uk-text-right">
|
||||||
<span class="uk-text-muted">Any information missing or wrong?</span>
|
<span class="uk-text-meta uk-text-xsmall">Anything wrong?</span>
|
||||||
<a (click)="showFeedback = true; scroll()" class="portal-link space">Report an Issue</a>
|
<a (click)="showFeedback = true; scroll()" class="uk-text-xsmall"> Report an Issue</a>
|
||||||
</div>
|
</div>
|
||||||
</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>
|
<!-- Main content -->
|
||||||
</div>
|
<div class="uk-margin-medium-top">
|
||||||
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
|
<!-- Schema -->
|
||||||
[texts]="pageContents['bottom']"></helper>
|
<schema2jsonld *ngIf="organizationInfo" [data]=organizationInfo
|
||||||
</div>
|
[URL]="properties.domain + properties.baseLink+this.properties.searchLinkToOrganization+organizationInfo.relcanId"
|
||||||
</div>
|
type="organization">
|
||||||
<feedback *ngIf="organizationInfo && properties.reCaptchaSiteKey" [organizationInfo]="organizationInfo"
|
</schema2jsonld>
|
||||||
[properties]="properties" [entityType]="'organization'" [fields]="feedbackFields"
|
<!-- Helper -->
|
||||||
[(showForm)]="showFeedback"></feedback>
|
<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>
|
</div>
|
||||||
|
|
||||||
|
<!-- MODALS -->
|
||||||
<!-- Other versions -->
|
<!-- Other versions -->
|
||||||
<modal-alert *ngIf="organizationInfo && organizationInfo.deletedByInferenceIds"
|
<modal-alert #AlertModalDeletedByInference *ngIf="organizationInfo && organizationInfo.deletedByInferenceIds" large="true">
|
||||||
#AlertModalDeletedByInference classBody="uk-width-xxlarge uk-padding-remove-right">
|
<organizationsDeletedByInference *ngIf="deleteByInferenceOpened"
|
||||||
<landing-header [properties]="properties" [title]="organizationInfo.title.name"
|
[id]="organizationInfo.objIdentifier"
|
||||||
[subTitle]="(organizationInfo.name && organizationInfo.title.name !== organizationInfo.name)?organizationInfo.name:null"
|
[ids]="organizationInfo.deletedByInferenceIds"
|
||||||
titleClass="title-grey-background"
|
[modal]="AlertModalDeletedByInference"
|
||||||
[entityType]="'organization'"></landing-header>
|
[type]="'organizations'">
|
||||||
<div class="uk-margin-medium-top uk-margin-medium-right">
|
</organizationsDeletedByInference>
|
||||||
<organizationsDeletedByInference *ngIf="deleteByInferenceOpened"
|
|
||||||
[id]="organizationInfo.objIdentifier"
|
|
||||||
[ids]="organizationInfo.deletedByInferenceIds"
|
|
||||||
[modal]="AlertModalDeletedByInference"
|
|
||||||
[type]="'organizations'">
|
|
||||||
</organizationsDeletedByInference>
|
|
||||||
</div>
|
|
||||||
</modal-alert>
|
</modal-alert>
|
||||||
<!-- Download report -->
|
<!-- Share -->
|
||||||
<modal-alert #downloadReportModal [classTitle]="'landing-modal-header uk-padding-small'"
|
<modal-alert #addThisModal classBody="uk-flex uk-flex-center uk-flex-middle">
|
||||||
[classBody]="'uk-padding-remove landing-modal'">
|
<addThis></addThis>
|
||||||
<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>
|
|
||||||
</modal-alert>
|
</modal-alert>
|
||||||
<!-- Download Funder report -->
|
<!-- Download content lists -->
|
||||||
<modal-alert #downloadFunderReportModal [classTitle]="'landing-modal-header uk-padding-small'"
|
<modal-alert #downloadReportModal>
|
||||||
[classBody]="'uk-padding-remove landing-modal'">
|
<div class="uk-padding-small uk-margin-small-left uk-margin-small-right">
|
||||||
<div *ngIf="fetchProjects.funders && fetchProjects.funders.length > 0" class="uk-padding">
|
<div class="uk-padding-small uk-padding-remove-vertical">
|
||||||
<div class="uk-animation-slide-top-small">
|
<div class="uk-animation-slide-top-small">
|
||||||
<div>
|
<ul class="uk-list uk-margin-remove-bottom" *ngIf="total > 0">
|
||||||
<mat-form-field class="matSelectionFormField uk-width-1-1">
|
<li [attr.uk-tooltip]="total > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||||
<mat-label>Select a funder to download report</mat-label>
|
title="No report available">
|
||||||
<mat-select [(value)]="funder"
|
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||||
[disableOptionCentering]="true"
|
[class]="total > 0 ? '' : 'uk-disabled uk-text-muted'"
|
||||||
class="matSelection" panelClass="matSelectionPanel">
|
(click)="downloadFile(getCSVAffiliated('results'), 'results' + '-report')">
|
||||||
<mat-option *ngFor="let element of fetchProjects.funders"
|
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||||
[value]="element">{{element.name}}
|
all research outcomes (CSV)
|
||||||
</mat-option>
|
</div>
|
||||||
</mat-select>
|
</li>
|
||||||
</mat-form-field>
|
<li [attr.uk-tooltip]="fetchPublications.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||||
</div>
|
title="No report available">
|
||||||
<div *ngIf="funder && funder != ''"
|
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||||
class="uk-animation-slide-top-small uk-margin-top">
|
[class]="fetchPublications.searchUtils.totalResults > 0 ? '' : 'uk-disabled uk-text-muted'"
|
||||||
<ul class="uk-margin-remove-bottom uk-list">
|
(click)="downloadFile(getCSVAffiliated('publications'), 'publications' + '-report')">
|
||||||
<li>
|
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||||
<a class="clickable"
|
publications (CSV)
|
||||||
(click)="downloadFile(getFunderProjects(), funder.name + '-projects-report')">
|
</div>
|
||||||
<span uk-icon="download"></span>
|
</li>
|
||||||
<span class="uk-text-capitalize uk-margin-small-left">projects (CSV)</span>
|
<li [attr.uk-tooltip]="fetchDatasets.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||||
</a>
|
title="No report available">
|
||||||
</li>
|
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||||
<li *ngFor="let contentType of contentTypes">
|
[class]="fetchDatasets.searchUtils.totalResults > 0 ? '' : 'uk-disabled uk-text-muted'"
|
||||||
<a class="clickable"
|
(click)="downloadFile(getCSVAffiliated('datasets'), 'datasets' + '-report')">
|
||||||
(click)="confirmOpenApplyAll(contentType[0])">
|
<icon name="download" flex="true" class="uk-margin-small-right"></icon>
|
||||||
<span uk-icon="download"></span>
|
research data (CSV)
|
||||||
<span class="uk-text-capitalize uk-margin-small-left">{{contentType[1]}} (CSV)</span>
|
</div>
|
||||||
</a>
|
</li>
|
||||||
</li>
|
<li [attr.uk-tooltip]="fetchSoftware.searchUtils.totalResults > 0 ? 'cls: uk-invisible' : 'cls: uk-active'"
|
||||||
</ul>
|
title="No report available">
|
||||||
</div>
|
<div class="uk-flex uk-flex-middle uk-button uk-button-link uk-text-normal"
|
||||||
</div>
|
[class]="fetchSoftware.searchUtils.totalResults > 0 ? '' : 'uk-disabled uk-text-muted'"
|
||||||
</div>
|
(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-alert>
|
||||||
<modal-loading></modal-loading>
|
|
||||||
<modal-alert #AlertModalApplyAll (alertOutput)="confirmCloseApplyAll()"></modal-alert>
|
<modal-alert #AlertModalApplyAll (alertOutput)="confirmCloseApplyAll()"></modal-alert>
|
||||||
<modal-alert #AlertModalCsvError></modal-alert>
|
<modal-alert #AlertModalCsvError></modal-alert>
|
||||||
|
<modal-loading></modal-loading>
|
||||||
|
|
|
@ -67,6 +67,7 @@ export class OrganizationComponent {
|
||||||
|
|
||||||
@ViewChild('downloadReportModal') downloadReportModal;
|
@ViewChild('downloadReportModal') downloadReportModal;
|
||||||
@ViewChild('downloadFunderReportModal') downloadFunderReportModal;
|
@ViewChild('downloadFunderReportModal') downloadFunderReportModal;
|
||||||
|
@ViewChild('addThisModal') addThisModal;
|
||||||
|
|
||||||
@ViewChild(ModalLoading) loading: ModalLoading;
|
@ViewChild(ModalLoading) loading: ModalLoading;
|
||||||
// Alert box when CSV: Project Publications for a funder is requested
|
// Alert box when CSV: Project Publications for a funder is requested
|
||||||
|
@ -91,6 +92,12 @@ export class OrganizationComponent {
|
||||||
public funder: any = "";
|
public funder: any = "";
|
||||||
private funderId: string;
|
private funderId: string;
|
||||||
private funderCount: number;
|
private funderCount: number;
|
||||||
|
|
||||||
|
public offset: number;
|
||||||
|
public stickyHeader: boolean = false;
|
||||||
|
public graph_offset: number = 0;
|
||||||
|
@ViewChild("graph_and_feedback") graph_and_feedback;
|
||||||
|
|
||||||
subscriptions = [];
|
subscriptions = [];
|
||||||
innerReportSubscriptions = [];
|
innerReportSubscriptions = [];
|
||||||
properties: EnvProperties;
|
properties: EnvProperties;
|
||||||
|
@ -103,6 +110,7 @@ export class OrganizationComponent {
|
||||||
public deleteByInferenceOpened: boolean = false;
|
public deleteByInferenceOpened: boolean = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
constructor(private element: ElementRef,
|
constructor(private element: ElementRef,
|
||||||
private _organizationService: OrganizationService,
|
private _organizationService: OrganizationService,
|
||||||
private _piwikService: PiwikService,
|
private _piwikService: PiwikService,
|
||||||
|
@ -161,11 +169,20 @@ export class OrganizationComponent {
|
||||||
}
|
}
|
||||||
this.csvParamsTail = '" and relorganizationid exact "' + this.organizationId + '" ))';
|
this.csvParamsTail = '" and relorganizationid exact "' + this.organizationId + '" ))';
|
||||||
}));
|
}));
|
||||||
|
|
||||||
this.downloadURLAPI = this.properties.csvAPIURL;
|
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.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.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.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() {
|
private getPageContents() {
|
||||||
|
@ -325,6 +342,7 @@ export class OrganizationComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.fetchProjects.getResultsForOrganizations(this.organizationId, "", 1, this.searchNumber, refineFields, this.properties);
|
this.fetchProjects.getResultsForOrganizations(this.organizationId, "", 1, this.searchNumber, refineFields, this.properties);
|
||||||
|
// console.log(this.fetchProjects);
|
||||||
this.showLoading = false;
|
this.showLoading = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -631,6 +649,13 @@ export class OrganizationComponent {
|
||||||
this.downloadFunderReportModal.cancel();
|
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 = "") {
|
public getParamsForSearchLink(type: string = "") {
|
||||||
if(type) {
|
if(type) {
|
||||||
return this.routerHelper.createQueryParams(['f0', 'fv0', 'type', 'qf', 'sortBy'], ['relorganizationid', this.organizationId, type, 'false', 'resultdateofacceptance,descending']);
|
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 {MatSelectModule} from "@angular/material/select";
|
||||||
import {TabsModule} from "../../utils/tabs/tabs.module";
|
import {TabsModule} from "../../utils/tabs/tabs.module";
|
||||||
import {SearchTabModule} from "../../utils/tabs/contents/search-tab.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({
|
@NgModule({
|
||||||
|
@ -45,7 +50,7 @@ import {SearchTabModule} from "../../utils/tabs/contents/search-tab.module";
|
||||||
Schema2jsonldModule, SEOServiceModule, HelperModule,
|
Schema2jsonldModule, SEOServiceModule, HelperModule,
|
||||||
OrganizationsDeletedByInferenceModule, LandingHeaderModule, FeedbackModule,
|
OrganizationsDeletedByInferenceModule, LandingHeaderModule, FeedbackModule,
|
||||||
MatSelectModule,
|
MatSelectModule,
|
||||||
TabsModule, SearchTabModule
|
TabsModule, SearchTabModule, LoadingModule, IconsModule, InputModule
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
OrganizationComponent,
|
OrganizationComponent,
|
||||||
|
@ -56,4 +61,7 @@ import {SearchTabModule} from "../../utils/tabs/contents/search-tab.module";
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
export class OrganizationModule {
|
export class OrganizationModule {
|
||||||
|
constructor(private iconsService: IconsService) {
|
||||||
|
this.iconsService.registerIcons([graph]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue