connect-admin/src/app/pages/projects/add-projects.component.html

139 lines
7.0 KiB
HTML

<ng-template #selected_filters_pills>
<h1>
<div class="uk-slider filters-slider" uk-slider="finite: true">
<div [class.uk-invisible]="list.children.length === 0" class="uk-position-relative">
<div class="uk-slider-container">
<ul #list class="uk-slider-items uk-grid uk-grid-small uk-margin-small-right uk-flex-nowrap">
<li *ngIf="selectedFunder">
<span class="uk-label uk-label-primary uk-flex uk-flex-middle">
<span class="uk-margin-small-right uk-width-expand uk-text-truncate">
{{selectedFunder.name}}
</span>
<button class="uk-close uk-icon" [class.uk-disabled]="disabled" [disabled]="disabled" (click)="removeFilter(null, funders)">
<icon name="close" flex="true" ratio="0.7"></icon>
</button>
</span>
</li>
</ul>
</div>
<a class="uk-position-center-left uk-blur-background" uk-slider-item="previous"><span uk-icon="chevron-left"></span></a>
<a class="uk-position-center-right uk-blur-background" uk-slider-item="next"><span uk-icon="chevron-right"></span></a>
</div>
</div>
</h1>
</ng-template>
<ng-template #filters_column>
<!-- [class.filterLoading]="disabled"-->
<div >
<div class="uk-flex uk-flex-middle">
<h4 class="uk-margin-right uk-margin-remove-bottom">Filters</h4>
<a *ngIf="selectedFunderId" (click)="clearFilters()"
class="uk-text-small" [class.uk-disabled]="disabled" [class.uk-link-muted]="disabled">
Clear All
</a>
</div>
<!-- <div *ngIf="openaireSearchUtils.refineStatus == errorCodes.LOADING"-->
<!-- class="uk-margin-top" role="alert">-->
<!-- <loading></loading>-->
<!-- </div>-->
<div *ngIf="openaireSearchUtils.refineStatus != errorCodes.LOADING && openaireSearchUtils.refineStatus != errorCodes.DONE && openaireProjects.length > 0"
class="uk-margin-top uk-text-meta">
<span *ngIf="openaireSearchUtils.refineStatus == errorCodes.NONE">No filters available</span>
<span *ngIf="openaireSearchUtils.refineStatus != errorCodes.NONE" class="uk-text-warning">Filters temporarily unavailable. Please try again later.</span>
</div>
<ul class="uk-list uk-list-xlarge">
<li *ngIf="funders && funders.values && funders.values.length > 0">
<search-filter [showMoreInline]="true"
[filter]="funders" [showResultCount]="true"
[actionRoute]="false" (onFilterChange)="funderChanged(funders)"
[isDisabled]="disabled">
</search-filter>
</li>
</ul>
</div>
</ng-template>
<div class="uk-section uk-flex uk-flex-center uk-flex uk-flex-middle">
<div class="uk-width-auto uk-margin-right">
<a uk-icon="icon: info; ratio: 1.3"></a>
<div *ngIf="community" class="uk-dropdown uk-padding-small uk-width-medium" uk-dropdown="mode: hover"
[innerHTML]="infoMessage">
</div>
</div>
<div search-input class="uk-width-xlarge@l uk-width-large" [searchControl]="filterForm.get('keyword')" searchInputClass="outer"
[placeholder]="'Search '+openaireEntities.PROJECTS" [disabled]="loading"></div>
</div>
<div class="uk-section uk-section-small uk-position-relative">
<div class="uk-grid" uk-grid>
<div *ngIf="openaireSearchUtils.status != errorCodes.NONE" class="uk-width-1-4@m search-filters uk-visible@m">
<ng-container *ngTemplateOutlet="filters_column; context: {}"></ng-container>
</div>
<div class="uk-width-expand@m uk-with-1-1@s">
<div *ngIf="selectedFunderId && openaireSearchUtils.status !== errorCodes.LOADING">
<ng-container *ngTemplateOutlet="selected_filters_pills;"></ng-container>
</div>
<div>
<div *ngIf="openaireSearchUtils.status == errorCodes.LOADING" class="uk-position-center">
<loading></loading>
</div>
<div *ngIf="openaireSearchUtils.status !== errorCodes.LOADING">
<div *ngIf="openaireSearchUtils.totalResults == 0"
class="uk-card uk-card-default uk-padding-large uk-text-center uk-margin-bottom">
<div class="uk-text-bold">No {{openaireEntities.PROJECTS | lowercase}} found</div>
<div class="uk-margin-small-top" [innerHTML]="infoMessage"></div>
</div>
<ng-container *ngIf="openaireSearchUtils.totalResults > 0">
<no-load-paging [type]="openaireEntities.PROJECTS"
[page]="openaireSearchUtils.page" [pageSize]="resultsPerPage" (pageChange)="goTo($event.value, false)"
[totalResults]="openaireSearchUtils.totalResults">
</no-load-paging>
<div class="uk-grid uk-child-width-1-1 uk-margin-medium-top uk-margin-bottom" uk-grid>
<div *ngFor="let result of openaireProjects">
<div class="uk-card uk-card-default">
<div class="uk-card-body">
<result-preview [properties]="properties" [showOrganizations]="true"
[showSubjects]="true" [result]="getResultPreview(result)"
[externalUrl]="projectUrl" [hasLink]="false">
</result-preview>
</div>
<div class="uk-card-footer uk-padding-remove-vertical">
<div class="uk-grid uk-grid-small uk-flex-nowrap uk-grid-divider uk-flex-right" uk-grid>
<div *ngIf="!result['isPart']">
<div class="uk-padding-small uk-padding-remove-horizontal">
<a (click)="addProject(result)" class="uk-button uk-button-link uk-flex uk-flex-middle">
<icon name="add" [flex]="true"></icon>
<span class="uk-margin-small-left">
Add
</span>
</a>
</div>
</div>
<div *ngIf="result['isPart']">
<div class="uk-padding-small uk-padding-remove-horizontal">
<a (click)="removeProject(result)"
class="uk-button uk-button-link uk-flex uk-flex-middle">
<icon name="remove" [flex]="true"></icon>
<span class="uk-margin-small-left">Remove</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-margin-small-top">
<no-load-paging [type]="openaireEntities.PROJECTS"
[page]="openaireSearchUtils.page" [pageSize]="resultsPerPage" (pageChange)="goTo($event.value, false)"
[totalResults]="openaireSearchUtils.totalResults">
</no-load-paging>
</div>
</ng-container>
</div>
</div>
</div>
</div>
</div>