2020-07-13 11:15:00 +02:00
|
|
|
<ng-template #selected_filters_pills>
|
2022-05-06 10:34:24 +02:00
|
|
|
<h1>
|
|
|
|
<div class="uk-width-1-1" uk-slider="finite: true">
|
2022-05-06 11:57:57 +02:00
|
|
|
<div [class.uk-invisible]="list.children.length === 0" class="uk-position-relative">
|
|
|
|
<div class="uk-slider-container" style="height: 40px">
|
|
|
|
<ul #list class="uk-slider-items uk-grid uk-grid-small uk-margin-small-right uk-flex-nowrap">
|
2022-04-19 17:03:09 +02:00
|
|
|
<ng-container *ngIf="customFilter && ((customFilterEnabled &&
|
|
|
|
refineFields.indexOf(customFilter.queryFieldName) ==
|
|
|
|
-1) ||customFilter.isHiddenFilter)">
|
2022-04-21 15:28:09 +02:00
|
|
|
<li class="uk-flex uk-flex-middle">
|
2022-04-19 17:03:09 +02:00
|
|
|
<span class="uk-label uk-label-secondary uk-text-truncate">
|
|
|
|
{{customFilter.valueName}}
|
|
|
|
</span>
|
|
|
|
</li>
|
|
|
|
</ng-container>
|
|
|
|
<ng-container *ngIf="resultTypes && resultTypes.countSelectedValues > 0">
|
|
|
|
<ng-container *ngFor="let type of resultTypes.values; let i = index;">
|
|
|
|
<ng-container *ngIf="type.selected">
|
2022-04-20 10:01:18 +02:00
|
|
|
<li class="">
|
2022-04-19 17:03:09 +02:00
|
|
|
<span class="uk-label uk-label-primary uk-flex uk-flex-middle">
|
|
|
|
<span class="uk-margin-small-right uk-width-expand uk-text-truncate">{{type.name}}</span>
|
|
|
|
<button [class.uk-disabled]="disabled" (click)="removeResultType(type.id)" class="uk-close uk-icon" [disabled]="disabled">
|
|
|
|
<icon name="close" flex="true" ratio="0.7"></icon>
|
|
|
|
</button>
|
|
|
|
</span>
|
|
|
|
</li>
|
|
|
|
</ng-container>
|
|
|
|
</ng-container>
|
|
|
|
</ng-container>
|
|
|
|
<ng-container *ngIf="selectedRangeFilters > 0">
|
|
|
|
<ng-container *ngFor="let filter of rangeFilters ">
|
|
|
|
<ng-container *ngIf="filter.selectedFromAndToValues">
|
2022-04-20 10:01:18 +02:00
|
|
|
<li class="">
|
2022-04-19 17:03:09 +02:00
|
|
|
<span class="uk-label uk-label-primary uk-flex uk-flex-middle">
|
|
|
|
<span class="uk-margin-small-right uk-width-expand uk-text-truncate">{{filter.selectedFromAndToValues}}</span>
|
|
|
|
<button [class.uk-disabled]="disabled" (click)="removeRangeFilter(filter)" class="uk-close uk-icon" [disabled]="disabled">
|
|
|
|
<icon name="close" flex="true" ratio="0.7"></icon>
|
|
|
|
</button>
|
|
|
|
</span>
|
|
|
|
</li>
|
|
|
|
</ng-container>
|
|
|
|
</ng-container>
|
|
|
|
</ng-container>
|
|
|
|
<ng-container *ngFor="let filter of filters ">
|
|
|
|
<ng-container *ngIf="filter.countSelectedValues > 0">
|
|
|
|
<ng-container *ngFor="let value of getSelectedValues(filter); let i = index; let end = last; ">
|
|
|
|
<li *ngIf="!customFilter || (customFilter.isHiddenFilter && customFilter.valueId != value.id)"
|
2022-04-20 10:01:18 +02:00
|
|
|
class="">
|
2022-04-19 17:03:09 +02:00
|
|
|
<span class="uk-label uk-label-primary uk-flex uk-flex-middle">
|
2022-05-30 11:44:39 +02:00
|
|
|
<span
|
|
|
|
class="uk-margin-small-right uk-width-expand uk-text-truncate">
|
|
|
|
<span *ngIf="filter.type && filter.type == 'boolean' else noboolean">{{filter.title}}:
|
|
|
|
{{value.name=='true'?'Yes':'No'}}
|
|
|
|
</span>
|
|
|
|
<ng-template #noboolean>
|
|
|
|
{{value.name}}
|
|
|
|
</ng-template></span>
|
2022-04-19 17:03:09 +02:00
|
|
|
<button [class.uk-disabled]="disabled" (click)="removeFilter(value, filter)" class="uk-close uk-icon" [disabled]="disabled">
|
|
|
|
<icon name="close" flex="true" ratio="0.7"></icon>
|
|
|
|
</button>
|
|
|
|
</span>
|
|
|
|
</li>
|
|
|
|
</ng-container>
|
|
|
|
</ng-container>
|
|
|
|
</ng-container>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<div class="">
|
2022-05-06 12:13:45 +02:00
|
|
|
<a class="uk-position-center-left blur-background" uk-slider-item="previous"><span uk-icon="chevron-left"></span></a>
|
2022-06-15 10:08:09 +02:00
|
|
|
<a class="uk-position-center-right blur-background" uk-slider-item="next"><span uk-icon="chevron-right"></span></a>
|
2022-04-19 17:03:09 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2021-07-14 13:19:57 +02:00
|
|
|
</h1>
|
2020-07-13 11:15:00 +02:00
|
|
|
</ng-template>
|
2020-03-24 16:40:51 +01:00
|
|
|
<ng-template #filters_column>
|
2022-01-20 10:19:44 +01:00
|
|
|
<div [class.filterLoading]="disabled">
|
|
|
|
<div class="uk-flex uk-flex-middle">
|
|
|
|
<h4 class="uk-margin-right uk-margin-remove-bottom">Filters</h4>
|
|
|
|
<a *ngIf="(selectedRangeFilters + selectedFilters + selectedTypesNum)>0"
|
2022-04-05 14:26:26 +02:00
|
|
|
(click)="clearFilters()" class="uk-text-small"
|
|
|
|
[class.uk-disabled]="disabled" [class.uk-link-muted]="disabled">
|
2020-06-05 14:56:28 +02:00
|
|
|
Clear All
|
|
|
|
</a>
|
|
|
|
</div>
|
2022-01-20 10:19:44 +01:00
|
|
|
<div *ngIf="searchUtils.refineStatus == errorCodes.LOADING && existingFiltersWithValues === 0"
|
2022-04-05 14:26:26 +02:00
|
|
|
class="uk-margin-top" role="alert">
|
2022-01-20 10:19:44 +01:00
|
|
|
<loading></loading>
|
2020-07-14 00:22:23 +02:00
|
|
|
</div>
|
2022-04-15 23:49:35 +02:00
|
|
|
<div *ngIf="searchUtils.refineStatus != errorCodes.LOADING && searchUtils.refineStatus != errorCodes.DONE && results.length > 0"
|
2022-03-02 22:48:21 +01:00
|
|
|
class="uk-margin-top uk-text-meta">
|
2022-01-20 10:19:44 +01:00
|
|
|
<span *ngIf="searchUtils.refineStatus == errorCodes.NONE">No filters available</span>
|
|
|
|
<span *ngIf="searchUtils.refineStatus != errorCodes.NONE" class="uk-text-warning">Filters temporarily unavailable. Please try again later.</span>
|
|
|
|
</div>
|
2022-02-14 17:02:00 +01:00
|
|
|
<ul *ngIf="!showUnknownFilters" class="uk-list uk-list-xlarge">
|
2022-01-20 10:19:44 +01:00
|
|
|
<li *ngIf="filters.length > 0 && filters[0].values.length >0 && filters[0].filterId == 'resultbestaccessright'">
|
2020-06-29 13:10:32 +02:00
|
|
|
<search-filter [filterValuesNum]="filterValuesNum" [showMoreInline]="showMoreFilterValuesInline"
|
2022-04-05 14:26:26 +02:00
|
|
|
[isDisabled]="disabled"
|
|
|
|
[filter]="filters[0]" [showResultCount]=showResultCount
|
|
|
|
(onFilterChange)="filterChanged($event)" [quickFilter]="quickFilter"
|
|
|
|
[actionRoute]="true"></search-filter>
|
2020-06-29 13:10:32 +02:00
|
|
|
</li>
|
2022-01-20 10:19:44 +01:00
|
|
|
<li *ngFor="let filter of rangeFilters">
|
|
|
|
<range-filter [isDisabled]="disabled" [filter]="filter"
|
|
|
|
(onFilterChange)="filterChanged($event)" [actionRoute]="true"></range-filter>
|
2020-06-05 14:56:28 +02:00
|
|
|
</li>
|
2022-01-20 10:19:44 +01:00
|
|
|
<ng-container *ngFor="let filter of filters ">
|
|
|
|
<li *ngIf="filter.values && filter.values.length > 0 && filter.filterId != 'resultbestaccessright'">
|
|
|
|
<search-filter [filterValuesNum]="filterValuesNum" [showMoreInline]="showMoreFilterValuesInline"
|
2022-04-05 14:26:26 +02:00
|
|
|
[isDisabled]="disabled"
|
|
|
|
[filter]="filter" [showResultCount]=showResultCount
|
|
|
|
(onFilterChange)="filterChanged($event)" [actionRoute]="true"></search-filter>
|
2022-01-20 10:19:44 +01:00
|
|
|
</li>
|
|
|
|
</ng-container>
|
|
|
|
</ul>
|
2020-10-20 11:11:15 +02:00
|
|
|
</div>
|
2020-03-24 16:40:51 +01:00
|
|
|
</ng-template>
|
2022-01-20 10:19:44 +01:00
|
|
|
<!-- TODO - Kostis Clean up -->
|
2021-02-10 10:26:47 +01:00
|
|
|
<div *ngIf="!includeOnlyResultsAndFilter" [class]="usedBy != 'deposit' && usedBy != 'orcid' && (!customFilter || customFilter.queryFieldName != 'communityId') ?
|
2022-04-05 14:26:26 +02:00
|
|
|
(stickyForm?'':' ') :
|
2021-02-10 10:26:47 +01:00
|
|
|
(+ (stickyForm?'':' uk-section') +' uk-padding-remove-bottom uk-padding-remove-top ' +
|
|
|
|
((usedBy == 'deposit' || usedBy == 'orcid') ? ' uk-padding-remove-top ' : ' '))"
|
2022-04-05 14:26:26 +02:00
|
|
|
[attr.uk-sticky]="(stickyForm?'{animation:false;offset:100;top:90;cls-active:uk-active uk-sticky-below;cls-inactive:uk-sticky '+
|
|
|
|
(usedBy != 'deposit' && usedBy != 'orcid' && (!customFilter || customFilter.queryFieldName != 'communityId') ?
|
2020-10-23 20:04:56 +02:00
|
|
|
' uk-position-relative ' :(' uk-section ' ))+'}':null)">
|
2022-04-15 10:08:12 +02:00
|
|
|
<div [class]="' uk-background-norepeat uk-background-bottom-center uk-padding-remove-bottom uk-flex uk-flex-middle uk-background-fixed '
|
2022-03-02 22:48:21 +01:00
|
|
|
+ (usedBy != 'deposit' && usedBy != 'orcid' && (!customFilter || customFilter.queryFieldName != 'communityId')?
|
2022-06-22 11:57:00 +02:00
|
|
|
'uk-padding-remove-bottom uk-padding-remove-top uk-section uk-section-small' : '')
|
2022-04-15 10:08:12 +02:00
|
|
|
+(simpleView?'':' advancedSearchFormBackground ')" [ngClass]="searchForm.class">
|
2022-03-02 22:48:21 +01:00
|
|
|
<!-- TODO - Kostis until here-->
|
2020-01-31 16:12:51 +01:00
|
|
|
<div class="uk-width-1-1">
|
2022-06-22 11:57:00 +02:00
|
|
|
<div *ngIf="showBreadcrumb" class="uk-container uk-container-large uk-section uk-section-small uk-padding-remove-bottom" [class.uk-light]="searchForm.dark">
|
|
|
|
<div class="uk-padding-small uk-padding-remove-horizontal">
|
2022-04-15 10:08:12 +02:00
|
|
|
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
|
2022-01-20 10:19:44 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-02-14 17:02:00 +01:00
|
|
|
<div class="uk-position-relative">
|
2022-04-18 10:29:14 +02:00
|
|
|
<div class="uk-container uk-container-small uk-section uk-section-small uk-margin-bottom" id="searchForm">
|
2022-03-08 19:42:50 +01:00
|
|
|
<div class="uk-grid uk-flex uk-flex-middle uk-flex-center" uk-grid>
|
2022-05-20 14:20:50 +02:00
|
|
|
<div [class]="'uk-width-1-1'+(simpleView?' uk-width-auto@m' : '')"><div id="searchImage"></div></div>
|
2022-05-19 11:14:28 +02:00
|
|
|
<advanced-search-form class="uk-width-expand uk-padding uk-padding-remove-vertical"
|
2022-03-08 19:42:50 +01:00
|
|
|
[entityType]="entityType"
|
|
|
|
[fieldIds]="fieldIds"
|
|
|
|
[fieldIdsMap]="fieldIdsMap"
|
|
|
|
[selectedFields]="selectedFields"
|
|
|
|
(queryChange)="queryChanged($event)"
|
|
|
|
[isDisabled]="disabled"
|
2022-04-15 10:08:12 +02:00
|
|
|
[dark]="searchForm.dark"
|
2022-03-08 19:42:50 +01:00
|
|
|
[simpleSearchLink]="simpleSearchLink"
|
|
|
|
[advancedSearchLink]="advancedSearchLink"
|
|
|
|
[advancedSearchLinkParameters]="this.routerHelper.createQueryParams(this.parameterNames, this.parameterValues)"
|
|
|
|
[simpleView]="simpleView" [formPlaceholderText]="formPlaceholderText"
|
|
|
|
[resultTypes]="resultTypes" [quickFilter]="quickFilter" [entitiesSelection]="entitiesSelection"
|
|
|
|
[showSwitchSearchLink]="showSwitchSearchLink" [customFilter]="customFilter"
|
|
|
|
>
|
|
|
|
</advanced-search-form>
|
2020-06-05 14:56:28 +02:00
|
|
|
</div>
|
2020-01-31 16:12:51 +01:00
|
|
|
</div>
|
2020-06-05 14:56:28 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2020-01-31 16:12:51 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
2021-04-28 17:54:30 +02:00
|
|
|
<schema2jsonld *ngIf="url" [URL]="url" type="search" [name]=pageTitleWithFilters
|
2022-04-05 14:26:26 +02:00
|
|
|
[searchAction]=false [description]="metaDescription"></schema2jsonld>
|
2022-05-05 08:32:18 +02:00
|
|
|
<div id="tm-main" class="uk-margin-medium-top" [class.uk-margin-top]="stickyForm">
|
2022-03-15 15:29:59 +01:00
|
|
|
<ng-template #loading>
|
2022-06-15 12:35:57 +02:00
|
|
|
<loading [ngClass]="'uk-height-medium uk-display-block uk-margin-xlarge-top'"></loading>
|
2022-03-15 15:29:59 +01:00
|
|
|
</ng-template>
|
|
|
|
<ng-template [ngIf]="searchUtils.refineStatus != errorCodes.LOADING || existingFiltersWithValues !== 0" [ngIfElse]="loading">
|
2022-04-15 10:08:12 +02:00
|
|
|
<div class="uk-container uk-container-large">
|
2020-01-31 16:12:51 +01:00
|
|
|
<div>
|
2020-06-05 14:56:28 +02:00
|
|
|
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
|
|
|
|
[texts]="pageContents['top']"></helper>
|
2022-04-19 01:09:42 +02:00
|
|
|
<div *ngIf="resultTypes" class="uk-flex uk-flex-center uk-padding-small uk-padding-remove-vertical uk-background-muted uk-border-rounded">
|
2022-04-15 23:49:35 +02:00
|
|
|
<quick-selections class="uk-margin-bottom uk-margin-top" [resultTypes]="resultTypes" (typeChange)="queryChanged($event)"
|
|
|
|
[isDisabled]="disabled" [actionRoute]="true">
|
|
|
|
</quick-selections>
|
|
|
|
</div>
|
2022-03-02 22:48:21 +01:00
|
|
|
<div [class]="showRefine? 'uk-width-4-5@m uk-width-4-5@l uk-width-1-1@s' :'uk-width-1-1'">
|
|
|
|
<div *ngIf="showRefine" class="uk-hidden@m uk-margin-top">
|
2022-04-06 12:31:52 +02:00
|
|
|
<a href="#mobile-filters" uk-toggle (click)="showOffCanvas=true;">
|
2020-02-24 14:33:34 +01:00
|
|
|
<span class="uk-icon uk-margin-small-right uk-margin-small-left">
|
2020-06-05 14:56:28 +02:00
|
|
|
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"
|
2022-04-15 10:08:12 +02:00
|
|
|
data-svg="settings">
|
2020-02-24 14:33:34 +01:00
|
|
|
<ellipse fill="none" stroke="#000" cx="6.11" cy="3.55" rx="2.11" ry="2.15"></ellipse>
|
|
|
|
<ellipse fill="none" stroke="#000" cx="6.11" cy="15.55" rx="2.11" ry="2.15"></ellipse>
|
|
|
|
<circle fill="none" stroke="#000" cx="13.15" cy="9.55" r="2.15"></circle>
|
|
|
|
<rect x="1" y="3" width="3" height="1"></rect>
|
|
|
|
<rect x="10" y="3" width="8" height="1"></rect>
|
|
|
|
<rect x="1" y="9" width="8" height="1"></rect>
|
|
|
|
<rect x="15" y="9" width="3" height="1"></rect>
|
|
|
|
<rect x="1" y="15" width="3" height="1"></rect>
|
|
|
|
<rect x="10" y="15" width="8" height="1"></rect>
|
|
|
|
</svg>
|
|
|
|
</span>
|
2020-06-05 14:56:28 +02:00
|
|
|
<span>Filters <span
|
2022-04-21 15:24:41 +02:00
|
|
|
*ngIf="(selectedRangeFilters+selectedFilters) > 0">
|
|
|
|
({{(selectedRangeFilters + selectedFilters)}})</span>
|
|
|
|
</span>
|
2020-02-24 14:33:34 +01:00
|
|
|
</a>
|
2022-01-20 10:19:44 +01:00
|
|
|
<div #mobileFilters id="mobile-filters" uk-offcanvas="overlay: true" style="z-index:10000;">
|
2022-04-15 10:08:12 +02:00
|
|
|
<div class="uk-offcanvas-bar">
|
|
|
|
<a class="uk-offcanvas-close uk-icon uk-close" (click)="showOffCanvas=false">
|
2022-06-17 01:57:56 +02:00
|
|
|
<icon name="close" ratio="1.5" visuallyHidden="close filters"></icon>
|
2022-01-20 10:19:44 +01:00
|
|
|
</a>
|
2022-04-15 10:08:12 +02:00
|
|
|
<div *ngIf="showOffCanvas">
|
2020-03-24 16:40:51 +01:00
|
|
|
<ng-container *ngTemplateOutlet="filters_column; context: {}"></ng-container>
|
2020-01-31 16:12:51 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-04-15 23:49:35 +02:00
|
|
|
<div *ngIf="includeOnlyResultsAndFilter && showSwitchSearchLink && advancedSearchLink" class="uk-margin-medium-top uk-margin-medium-bottom">
|
|
|
|
<a routerLinkActive="router-link-active"
|
2022-04-15 10:08:12 +02:00
|
|
|
[routerLink]="advancedSearchLink" style="z-index:1;"
|
|
|
|
[queryParams]="this.routerHelper.createQueryParams(this.parameterNames, this.parameterValues)"
|
|
|
|
[class]="((disabled)?' uk-disabled uk-link-muted ':'') +'uk-link uk-float-right '">Advanced
|
2020-06-05 14:56:28 +02:00
|
|
|
search
|
2020-04-22 15:00:13 +02:00
|
|
|
</a>
|
|
|
|
</div>
|
2022-05-05 08:32:18 +02:00
|
|
|
<div class="uk-grid uk-margin-large-top uk-margin-large-bottom" uk-grid>
|
2022-03-02 22:48:21 +01:00
|
|
|
<div *ngIf="showRefine && (results.length > 0
|
2022-01-21 09:20:46 +01:00
|
|
|
|| (searchUtils.refineStatus == errorCodes.LOADING && searchUtils.status != errorCodes.LOADING)
|
|
|
|
|| (!hideFilters &&
|
|
|
|
(existingFiltersWithValues > 0 || (selectedRangeFilters + selectedFilters + selectedTypesNum) > 0)
|
|
|
|
)
|
|
|
|
)"
|
2022-04-15 10:08:12 +02:00
|
|
|
class="uk-width-1-4@m search-filters uk-visible@m">
|
2022-01-21 09:20:46 +01:00
|
|
|
<ng-container *ngTemplateOutlet="filters_column; context: {}"></ng-container>
|
|
|
|
</div>
|
|
|
|
<div class="uk-width-expand@m uk-with-1-1@s">
|
|
|
|
<!-- Results only for Custom Filter? -->
|
|
|
|
<div *ngIf="customFilter && !customFilter.isHiddenFilter &&
|
|
|
|
customFilter.selected == false && customFilter.promptToAddFilter"
|
2022-04-15 10:08:12 +02:00
|
|
|
class="uk-alert uk-animation-slide-top-small">
|
2022-01-21 09:20:46 +01:00
|
|
|
Do you want to see results only for {{customFilter.valueName}}? <a
|
2022-03-02 22:48:21 +01:00
|
|
|
(click)="addCustomFilter();">Click here</a>.
|
2022-01-21 09:20:46 +01:00
|
|
|
</div>
|
|
|
|
<!-- Related results for Custom Filter Alert -->
|
|
|
|
<div *ngIf="openaireLink && (searchUtils.totalResults > 0 || !loadPaging )"
|
2022-06-30 12:40:37 +02:00
|
|
|
class="uk-alert uk-margin-small-top ">
|
2022-04-15 10:08:12 +02:00
|
|
|
<span *ngIf="customFilter">The following results are related to <span class="uk-text-primary uk-text-bold"
|
2022-01-21 09:20:46 +01:00
|
|
|
>{{customFilter.valueName}}</span>.</span>
|
2022-03-02 22:48:21 +01:00
|
|
|
Are you interested to view more results? Visit
|
2022-01-21 09:20:46 +01:00
|
|
|
<a
|
|
|
|
class="uk-margin-top uk-link"
|
|
|
|
[href]="openaireLink+this.routerHelper.createQueryParamsString(this.parameterNames, this.parameterValues)"
|
|
|
|
target="_blank"> OpenAIRE - Explore</a>.
|
|
|
|
</div>
|
2022-04-15 23:49:35 +02:00
|
|
|
<div class="uk-flex uk-flex-between uk-flex-middle uk-flex-wrap uk-margin-bottom">
|
2022-04-15 10:08:12 +02:00
|
|
|
<!-- Total results, number of pages -->
|
|
|
|
<h6 class="uk-margin-remove">
|
|
|
|
<ng-container *ngIf="results && searchUtils.totalResults > 0">
|
|
|
|
<span>{{searchUtils.totalResults|number}}</span>
|
2022-04-16 00:10:34 +02:00
|
|
|
<span class="uk-text-meta uk-text-capitalize"> {{type}}, page </span>
|
2022-04-15 10:08:12 +02:00
|
|
|
<span>{{searchUtils.page | number}}</span>
|
2022-04-16 00:10:34 +02:00
|
|
|
<span class="uk-text-meta"> of {{(totalPages(searchUtils.totalResults)|number)}}</span>
|
2022-04-15 10:08:12 +02:00
|
|
|
</ng-container>
|
|
|
|
<ng-container *ngIf="!loadPaging && oldTotalResults > 0 && searchUtils.status == errorCodes.LOADING">
|
|
|
|
<span>{{oldTotalResults|number}}</span>
|
2022-04-16 00:10:34 +02:00
|
|
|
<span class="uk-text-meta uk-text-capitalize"> {{type}}, page </span>
|
2022-04-15 10:08:12 +02:00
|
|
|
<span>{{searchUtils.page | number}}</span>
|
2022-04-16 00:10:34 +02:00
|
|
|
<span class="uk-text-meta"> of {{(totalPages(oldTotalResults)|number)}}</span>
|
2022-04-15 10:08:12 +02:00
|
|
|
</ng-container>
|
|
|
|
</h6>
|
|
|
|
<!-- Download results -->
|
|
|
|
<div *ngIf="showDownload && (searchUtils.status !== errorCodes.LOADING || !loadPaging)" class="uk-margin-small-bottom uk-margin-small-top">
|
|
|
|
<search-download
|
|
|
|
*ngIf="( entityType !='community' && entityType != 'stakeholder') && usedBy == 'search'"
|
|
|
|
[isDisabled]="disabled"
|
|
|
|
[type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults"
|
|
|
|
[piwikSiteId]="piwikSiteId">
|
|
|
|
</search-download>
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-05-06 12:47:54 +02:00
|
|
|
<div *ngIf="(searchUtils.status !== errorCodes.LOADING || !loadPaging)">
|
2022-01-21 09:20:46 +01:00
|
|
|
<ng-container *ngTemplateOutlet="selected_filters_pills;"></ng-container>
|
|
|
|
</div>
|
2022-06-06 10:55:11 +02:00
|
|
|
<div *ngIf="searchUtils.totalResults > 10 || sort || searchUtils.totalResults > searchUtils.size ||
|
2022-06-01 15:28:44 +02:00
|
|
|
(!loadPaging && oldTotalResults > searchUtils.size && searchUtils.status == errorCodes.LOADING)"
|
|
|
|
class="uk-grid uk-flex-middle uk-child-width-1-1 uk-child-width-1-2@m uk-margin-medium-top" uk-grid>
|
|
|
|
<div>
|
2022-04-12 14:38:44 +02:00
|
|
|
<div class="uk-flex uk-flex-middle">
|
2022-06-06 10:55:11 +02:00
|
|
|
<div *ngIf="searchUtils.totalResults > 10" class="uk-width-small uk-margin-right">
|
2022-04-15 10:08:12 +02:00
|
|
|
<div input type="select" placeholder="Results per page" inputClass="flat x-small"
|
2022-06-06 10:55:11 +02:00
|
|
|
[options]="pageOptions" [(value)]="searchUtils.size" [disabled]="disabled"
|
2022-04-15 10:08:12 +02:00
|
|
|
(valueChange)="sizeChanged($event)"></div>
|
|
|
|
</div>
|
2022-06-06 10:55:11 +02:00
|
|
|
<search-sorting *ngIf="sort && searchUtils.totalResults > 0"
|
2022-01-21 09:20:46 +01:00
|
|
|
[entityType]="entityType" [sortBy]="searchUtils.sortBy"
|
|
|
|
(sortByChange)="sortByChanged($event)"
|
|
|
|
[isDisabled]="disabled">
|
|
|
|
</search-sorting>
|
[Trunk | Library]:
1. searchUtils.class.ts: In SearchUtilsClass added field "refineStatus:number = 1;" for refine queries.
2. searchResultsPerPage.component.ts & searchSorting.component.ts: [Bug fix] In EventEmitter (value change), emit raw value, not object with field "value".
3. searchDataProviders.component.ts & searchOrganizations.component.ts & searchProjects.component.ts & searchResearchResults.component.ts:
a. Add subscriptions in array to unsubscribe in ngOnDestroy.
b. Get properties from environment (no service needed).
c. Separate queries for refine and results.
d. Do not call refine query when page, results per page, sortBy change (there is still a bug here).
e. For refine query, added field "disableRefineForms" default set to false - passed in <new-search-page>.
4. newSearchPage.component.html:
a. Disable forms when "disableForms" or "disableRefineForms" is true.
b. Do not show filters, until results query returns, but show results while refine is loading.
c. Deleted old, unused code.
5. newSearchPage.component.ts:
a. Added fields "@Input() disableRefineForms: boolean = false;", "@Input() sortedByChanged: string = "";", "@Input() resultsPerPageChanged: number;"
b. When results per page or sortBy change, do not upadate immediately searchUtils values - do not query for refine when these change (there is still a bug here).
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59155 d315682c-612b-4755-9ff5-7f18f6832af3
2020-07-21 15:48:55 +02:00
|
|
|
</div>
|
2022-01-21 09:20:46 +01:00
|
|
|
</div>
|
|
|
|
<search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults"
|
2022-04-15 10:08:12 +02:00
|
|
|
[searchUtils]="searchUtils" [results]="results" [baseUrl]="searchUtils.baseUrl"
|
|
|
|
[parameterNames]="parameterNames" [parameterValues]="parameterValues"
|
|
|
|
[isDisabled]="disabled">
|
2022-01-21 09:20:46 +01:00
|
|
|
</search-paging>
|
|
|
|
</div>
|
2022-03-02 22:48:21 +01:00
|
|
|
<div
|
|
|
|
*ngIf="(searchUtils.page <= pagingLimit) || (searchUtils.totalResults <= searchUtils.size*pagingLimit)"
|
2022-05-20 14:20:50 +02:00
|
|
|
class="uk-margin">
|
2022-01-21 09:20:46 +01:00
|
|
|
<search-result *ngIf="( entityType !='community' && entityType != 'stakeholder') && usedBy == 'search'"
|
2022-04-15 10:08:12 +02:00
|
|
|
[results]="results"
|
|
|
|
[status]=searchUtils.status
|
|
|
|
[type]="entityType"
|
|
|
|
[showLoading]="true" [properties]=properties [showImpactFactors]="(customFilter &&
|
|
|
|
customFilter.queryFieldName == 'communityId' && (customFilter.valueId ==
|
|
|
|
'elixir-gr' || customFilter.valueId == 'inspired-ris'))">
|
2022-01-21 09:20:46 +01:00
|
|
|
</search-result>
|
|
|
|
<deposit-result *ngIf="usedBy == 'deposit'"
|
|
|
|
[results]="results"
|
|
|
|
[status]="searchUtils.status"
|
|
|
|
[type]="entityType"
|
|
|
|
[zenodoInformation]="zenodoInformation"
|
|
|
|
[properties]=properties>
|
|
|
|
</deposit-result>
|
|
|
|
<orcid-result *ngIf="usedBy == 'orcid'"
|
2022-03-02 22:48:21 +01:00
|
|
|
[results]="results"
|
|
|
|
[status]="searchUtils.status"
|
|
|
|
[type]="entityType"
|
|
|
|
[properties]=properties>
|
2022-01-21 09:20:46 +01:00
|
|
|
</orcid-result>
|
|
|
|
<portal-search-result
|
|
|
|
*ngIf="(entityType == 'community' || entityType == 'stakeholder') && usedBy == 'search'"
|
|
|
|
[results]="results"
|
|
|
|
[status]="searchUtils.status"
|
|
|
|
[type]="entityType"
|
2022-02-15 15:25:46 +01:00
|
|
|
[showType]="entityType == 'stakeholder'"
|
2022-01-21 09:20:46 +01:00
|
|
|
[showLoading]="true" [properties]=properties>
|
|
|
|
</portal-search-result>
|
|
|
|
</div>
|
|
|
|
<div [class]="searchUtils.page > pagingLimit ? 'search-results' : ''"
|
|
|
|
*ngIf="(searchUtils.page >= pagingLimit) && (searchUtils.totalResults > searchUtils.size*pagingLimit)">
|
2022-04-15 23:49:35 +02:00
|
|
|
<p class="uk-alert uk-alert-warning" uk-alert>For more results please try a new, more specific query</p>
|
2022-01-21 09:20:46 +01:00
|
|
|
</div>
|
|
|
|
<div class="uk-margin-medium-top">
|
|
|
|
<search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults"
|
2022-04-15 10:08:12 +02:00
|
|
|
[searchUtils]="searchUtils" [results]="results" [baseUrl]="searchUtils.baseUrl"
|
|
|
|
[parameterNames]="parameterNames" [parameterValues]="parameterValues"
|
|
|
|
[isDisabled]="disabled">
|
2022-01-21 09:20:46 +01:00
|
|
|
</search-paging>
|
|
|
|
</div>
|
2022-05-05 19:35:08 +02:00
|
|
|
<div *ngIf="showIndexInfo && searchUtils.status !== errorCodes.LOADING" class="uk-margin-large-top uk-grid uk-child-width-1-2 uk-text-small">
|
2022-01-21 09:20:46 +01:00
|
|
|
<!-- Last Index Info-->
|
2022-06-14 16:00:13 +02:00
|
|
|
<div>
|
|
|
|
<icon name="graph" customClass="text-graph"></icon>
|
2022-05-04 17:09:35 +02:00
|
|
|
<span class="uk-margin-small-left uk-text-baseline">
|
2022-06-14 16:00:13 +02:00
|
|
|
<span class="uk-text-meta">Powered by </span>
|
|
|
|
<a href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Research Graph</a>
|
2022-05-04 17:09:35 +02:00
|
|
|
</span>
|
2022-01-21 09:20:46 +01:00
|
|
|
</div>
|
|
|
|
<div class="uk-text-right">
|
2022-05-05 19:35:08 +02:00
|
|
|
<span *ngIf="indexUpdateDate" class="uk-text-baseline uk-text-meta">
|
2022-04-15 23:49:35 +02:00
|
|
|
<a *ngIf="properties.showLastIndexInformationLink" class="uk-link" [href]="properties.lastIndexInformationLink" target="_blank">Last update</a>
|
|
|
|
<span *ngIf="!(properties.showLastIndexInformationLink)">Last update</span>
|
|
|
|
of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
|
2022-01-21 09:20:46 +01:00
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
[Trunk | Library]:
1. searchUtils.class.ts: In SearchUtilsClass added field "refineStatus:number = 1;" for refine queries.
2. searchResultsPerPage.component.ts & searchSorting.component.ts: [Bug fix] In EventEmitter (value change), emit raw value, not object with field "value".
3. searchDataProviders.component.ts & searchOrganizations.component.ts & searchProjects.component.ts & searchResearchResults.component.ts:
a. Add subscriptions in array to unsubscribe in ngOnDestroy.
b. Get properties from environment (no service needed).
c. Separate queries for refine and results.
d. Do not call refine query when page, results per page, sortBy change (there is still a bug here).
e. For refine query, added field "disableRefineForms" default set to false - passed in <new-search-page>.
4. newSearchPage.component.html:
a. Disable forms when "disableForms" or "disableRefineForms" is true.
b. Do not show filters, until results query returns, but show results while refine is loading.
c. Deleted old, unused code.
5. newSearchPage.component.ts:
a. Added fields "@Input() disableRefineForms: boolean = false;", "@Input() sortedByChanged: string = "";", "@Input() resultsPerPageChanged: number;"
b. When results per page or sortBy change, do not upadate immediately searchUtils values - do not query for refine when these change (there is still a bug here).
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59155 d315682c-612b-4755-9ff5-7f18f6832af3
2020-07-21 15:48:55 +02:00
|
|
|
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
|
2022-03-02 22:48:21 +01:00
|
|
|
[texts]="pageContents['bottom']"></helper>
|
|
|
|
</div>
|
2020-01-31 16:12:51 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-03-15 15:29:59 +01:00
|
|
|
</ng-template>
|
2020-01-31 16:12:51 +01:00
|
|
|
</div>
|
2020-08-04 09:25:32 +02:00
|
|
|
<modal-alert #removeCustomFilter (alertOutput)="closeCustomFilterModal()"></modal-alert>
|