108 lines
5.9 KiB
HTML
108 lines
5.9 KiB
HTML
<ul class="uk-list uk-list-xlarge" [class]="'uk-list uk-margin ' + custom_class"
|
|
uk-height-match="target: .uk-card-default; row: false">
|
|
<errorMessages [status]="[status]" [type]="'results'"></errorMessages>
|
|
<li *ngFor="let result of results">
|
|
<div class="uk-card uk-card-default uk-card-body uk-position-relative uk-flex uk-flex-column uk-flex-center"
|
|
[class.uk-disabled]="!hasPermission(result)">
|
|
<div>
|
|
<div *ngIf="type === 'community' && result.isSubscribed"
|
|
class="uk-text-background uk-text-center uk-position-top-left uk-padding-small uk-text-uppercase uk-text-bold">
|
|
<span>Member</span>
|
|
</div>
|
|
<div *ngIf="type === 'community' && result.status === 'manager'"
|
|
class="uk-position-top-right uk-margin-top uk-margin-right uk-flex uk-flex-column uk-flex-middle">
|
|
<icon [name]="visibilityIcon.get('RESTRICTED')" ratio="1.2" [flex]="true"></icon>
|
|
<span class="uk-text-small uk-text-capitalize">restricted</span>
|
|
</div>
|
|
<div *ngIf="type === 'community' && result.status === 'hidden'"
|
|
class="uk-position-top-right uk-margin-top uk-margin-right uk-flex uk-flex-column uk-flex-middle">
|
|
<icon [name]="visibilityIcon.get('PRIVATE')" ratio="1.2" [flex]="true"></icon>
|
|
<span class="uk-text-small uk-text-capitalize">private</span>
|
|
</div>
|
|
<div *ngIf="result.visibility && result.visibility !== 'PUBLIC'"
|
|
class="uk-position-top-right uk-margin-top uk-margin-right uk-flex uk-flex-column uk-flex-middle">
|
|
<icon [name]="visibilityIcon.get(result.visibility)" ratio="1.2" [flex]="true"></icon>
|
|
<span class="uk-text-small uk-text-capitalize">{{result.visibility.toLowerCase()}}</span>
|
|
</div>
|
|
</div>
|
|
<div class="uk-grid uk-flex uk-flex-middle uk-margin-medium-right" uk-grid>
|
|
<a *ngIf="directLink && hasPermission(result)"
|
|
[href]="(type === 'community')?getCommunityPageUrl(result):getStakeholderPageUrl(result)"
|
|
target="_blank" class="uk-width-1-5@s">
|
|
<ng-container *ngTemplateOutlet="resultPreview; context: {result: result}"></ng-container>
|
|
</a>
|
|
<a *ngIf="!directLink && hasPermission(result)"
|
|
class="uk-width-1-5@s uk-width-1-1"
|
|
(click)="confirmModalOpen(result)">
|
|
<ng-container *ngTemplateOutlet="resultPreview; context: {result: result}"></ng-container>
|
|
</a>
|
|
<div *ngIf="!hasPermission(result)" class="uk-width-1-5@s">
|
|
<ng-container *ngTemplateOutlet="resultPreview; context: {result: result}"></ng-container>
|
|
</div>
|
|
<div class="uk-width-expand">
|
|
<div *ngIf="type === 'community'" [title]="result.shortTitle" class="uk-margin-bottom">
|
|
<a *ngIf="directLink && hasPermission(result)" [href]="getCommunityPageUrl(result)"
|
|
class="uk-h5 uk-link-heading" target="_blank">
|
|
{{(result.title) ? result.title : result.shortTitle}}
|
|
</a>
|
|
<a *ngIf="!directLink && hasPermission(result)" (click)="confirmModalOpen(result)"
|
|
class="uk-h5 uk-link-heading">
|
|
{{(result.title) ? result.title : result.shortTitle}}
|
|
</a>
|
|
<h5 *ngIf="!hasPermission(result)">
|
|
{{(result.title) ? result.title : result.shortTitle}}
|
|
</h5>
|
|
</div>
|
|
<div *ngIf="type === 'stakeholder'" [title]="result.index_shortName" class="uk-margin-bottom">
|
|
<a *ngIf="directLink && hasPermission(result)" [href]="getStakeholderPageUrl(result)"
|
|
class="uk-h5 uk-link-heading" target="_blank">
|
|
{{(result.name) ? result.name : result.index_shortName}}
|
|
</a>
|
|
<a *ngIf="!directLink && hasPermission(result)" (click)="confirmModalOpen(result)"
|
|
class="uk-h5 uk-link-heading">
|
|
{{(result.name) ? result.name : result.index_shortName}}
|
|
</a>
|
|
<h5 *ngIf="!hasPermission(result)">
|
|
{{(result.name) ? result.name : result.index_shortName}}
|
|
</h5>
|
|
</div>
|
|
<div class="uk-text-small">
|
|
<div *ngIf="result.date || result.creationDate" class="uk-flex uk-flex-middle uk-margin-small-bottom">
|
|
<span class="uk-text-meta">Creation Date: </span>
|
|
<span class="uk-margin-small-left" *ngIf="result.date">{{result.date | date:'dd-MM-yyyy'}}</span>
|
|
<span class="uk-margin-small-left"
|
|
*ngIf="result.creationDate">{{result.creationDate | date:'dd-MM-yyyy'}}</span>
|
|
</div>
|
|
<div *ngIf="showType && result.type" class="uk-flex uk-flex-middle">
|
|
<span class="uk-text-meta">Type:</span>
|
|
<span class="uk-margin-small-left uk-text-capitalize">{{mapType(result.type)}}</span>
|
|
</div>
|
|
</div>
|
|
<div *ngIf="result.description" class="uk-margin-top uk-text-small multi-line-ellipsis lines-3">
|
|
<p class="uk-text-meta">
|
|
{{result.description}}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div *ngIf="result.isManager" class="uk-flex uk-flex-right uk-margin-top">
|
|
<manage [communityId]="result.communityId" [alias]="result.alias"></manage>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<modal-alert #AlertModal (alertOutput)="goToPage($event)">
|
|
<div class="uk-text-left">
|
|
You will be navigated to a new tab. Are you sure that you want to proceed?
|
|
</div>
|
|
</modal-alert>
|
|
<ng-template #resultPreview let-result="result">
|
|
<div class="uk-flex uk-flex-center">
|
|
<img *ngIf="result.logoUrl; else elseBlock" [src]="result | logoUrl" class="uk-blend-multiply"
|
|
[alt]="((result.title)?result.title:result.shortTitle) + ' logo'" loading="lazy">
|
|
<ng-template #elseBlock>
|
|
<img src="assets/common-assets/placeholder.png" alt="OpenAIRE placeholder logo" class="uk-blend-multiply">
|
|
</ng-template>
|
|
</div>
|
|
</ng-template>
|