Change lingkin next steps buttons. Fix a bug in query of results in claims. Add dropdown-filter in claims and fix bug hiding behind basket.
This commit is contained in:
parent
0f80797035
commit
ff01c9a9c9
|
@ -1,155 +1,133 @@
|
|||
<div class="uk-grid uk-margin-top uk-animation-fade">
|
||||
<div class="uk-width-expand">
|
||||
<div class="uk-display-inline-block">
|
||||
<advanced-search-input (searchEmitter)="$event">
|
||||
<div input type="select" [(value)]="showOptions.show" placeholder="Type" hint="Select..."
|
||||
[options]="showOptions.selectOptions"></div>
|
||||
<div input type="text" [(value)]="keyword" [searchable]="true" placeholder="Entities to link" [hint]="'Search for ' + openaireEntities.COMMUNITIES + '...'"></div>
|
||||
</advanced-search-input>
|
||||
</div>
|
||||
|
||||
<div *ngIf="communities" class=" uk-padding uk-grid uk-child-width-1-3 uk-grid-small uk-grid-match"
|
||||
uk-grid >
|
||||
<ng-container *ngFor="let community of filter()">
|
||||
<a class="uk-padding-small uk-link-reset community-card " (click)="select(community.id, community.label)">
|
||||
<div [title]="(this.results.length>=basketLimit)?'Basket reached the size limit':''"
|
||||
class="uk-card uk-card-default uk-card-hover uk-padding-small uk-text-center " >
|
||||
<div class="uk-text-right" >
|
||||
<a
|
||||
[class]="(this.results.length>=basketLimit)?'uk-icon-button uk-disabled disabled':'uk-icon-button enabled'" *ngIf="!isSelected(community.id)"
|
||||
>
|
||||
<span class="uk-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="plus"
|
||||
ratio="1"><rect x="9" y="1" width="1" height="17"></rect><rect x="1" y="9" width="17"
|
||||
height="1"></rect></svg>
|
||||
</span>
|
||||
</a>
|
||||
<a *ngIf="isSelected(community.id)" class="uk-icon-button selected "
|
||||
(click)="openModal()">
|
||||
<span class="uk-icon" >
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="check" ratio="1"><polyline fill="none" stroke="#000" stroke-width="1.1" points="4,10 8,15 17,4"></polyline></svg>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<img *ngIf="communityLogos && communityLogos[community.id]"
|
||||
[src]="communityLogos[community.id] |logoUrl"
|
||||
class="uk-blend-multiply"
|
||||
[alt]="((community.title)?community.title:(community.shortTitle?community.shortTitle:'')) + ' logo'"
|
||||
loading="lazy" style="max-height:70px">
|
||||
<div class="uk-margin-small-top">
|
||||
{{community.label}}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</ng-container>
|
||||
|
||||
<div>
|
||||
<div class="uk-width-large">
|
||||
<advanced-search-input>
|
||||
<div input type="select" [(value)]="showOptions.show" placeholder="Type" hint="Select..."
|
||||
[options]="showOptions.selectOptions"></div>
|
||||
<div input type="text" [(value)]="keyword" [searchable]="true" placeholder="Entities to link" [hint]="'Search for ' + openaireEntities.COMMUNITIES + '...'"></div>
|
||||
</advanced-search-input>
|
||||
</div>
|
||||
<div *ngIf="communities"class="uk-padding">
|
||||
<div class="uk-grid uk-child-width-1-3" uk-height-match=".uk-card" uk-grid>
|
||||
<div *ngFor="let community of filter()">
|
||||
<a class="uk-link-reset uk-height-1-1" (click)="select(community.id, community.label)">
|
||||
<div [title]="(this.results.length>=basketLimit)?'Basket reached the size limit':''"
|
||||
class="uk-card uk-card-default uk-card-hover uk-padding-small uk-text-center">
|
||||
<div class="uk-text-right">
|
||||
<button class="linking-add-button uk-icon-button-small" [class.uk-disabled]="(this.results.length>=basketLimit)" *ngIf="!isSelected(community.id)">
|
||||
<icon name="add" [flex]="true"></icon>
|
||||
</button>
|
||||
<button *ngIf="isSelected(community.id)" class="linking-selected-button uk-icon-button-small"
|
||||
(click)="openModal()">
|
||||
<icon name="check" [flex]="true"></icon>
|
||||
</button>
|
||||
</div>
|
||||
<img *ngIf="communityLogos && communityLogos[community.id]"
|
||||
[src]="communityLogos[community.id] | logoUrl"
|
||||
class="uk-blend-multiply"
|
||||
[alt]="((community.title)?community.title:(community.shortTitle?community.shortTitle:'')) + ' logo'"
|
||||
loading="lazy" style="max-height:70px">
|
||||
<div class="uk-margin-small-top">
|
||||
{{community.label}}
|
||||
</div>
|
||||
<ng-container *ngIf="filter().length == 0">
|
||||
<div class="uk-alert uk-alert-primary"
|
||||
role="alert">No Results found
|
||||
</div>
|
||||
</ng-container>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<!-- Categories modal-->
|
||||
<modal-alert #modal large="true" >
|
||||
|
||||
<div class="uk-modal-body uk-height-min-medium uk-width-expand">
|
||||
<div class="uk-margin-bottom">
|
||||
|
||||
<input
|
||||
[ngModel]="isSelected(selectedCommunityId)" type="checkbox"
|
||||
(ngModelChange)="isSelected(selectedCommunityId)?removeById(selectedCommunityId):select(selectedCommunityId,
|
||||
selectedCommunityLabel);"
|
||||
>
|
||||
|
||||
<span class="uk-margin-small-left">{{selectedCommunityLabel}}</span>
|
||||
</div>
|
||||
<div *ngIf="loading" class="uk-alert uk-alert-primary" role="alert">Loading communities information...</div>
|
||||
<div *ngIf="error" class="uk-alert uk-alert-warning"
|
||||
role="alert">An error occured while loading communities...
|
||||
</div>
|
||||
|
||||
<div class="uk-margin-small-top uk-text-small uk-text-meta" *ngIf="categories[selectedCommunityId] &&
|
||||
categories[selectedCommunityId].length > 0 ">
|
||||
Optionally, you can <span class="uk-text-bold">specify additional</span> Community's <span
|
||||
class="uk-text-bold">paths</span> to link your
|
||||
sources.
|
||||
</div>
|
||||
<div *ngIf="categories[selectedCommunityId] && categories[selectedCommunityId].length == 0 "
|
||||
class=" uk-text-small uk-text-muted">
|
||||
No additional community paths found for this community.
|
||||
</div>
|
||||
<ul *ngIf="categories[selectedCommunityId] && categories[selectedCommunityId].length > 0 "
|
||||
class=" uk-list uk-margin-small-top uk-margin-left uk-animation-fade uk-overflow-auto uk-height-medium">
|
||||
<li *ngFor="let category of categories[selectedCommunityId]">
|
||||
<div (click)="browseConcepts(category.id)">
|
||||
<input [ngModel]="isSelected(category.id)" type="checkbox"
|
||||
(ngModelChange)="isSelected(category.id)?removeById(category.id):addNewContext(selectedCommunityLabel,category.label,{'id':category.id, 'label':category.label});"
|
||||
>
|
||||
|
||||
|
||||
<span class="uk-margin-small-left">{{category.label}} </span>
|
||||
<span *ngIf="!conceptsClassDisplay[category.id]" uk-icon="icon:chevron-down; ratio:0.7"></span>
|
||||
<span *ngIf="conceptsClassDisplay[category.id]" uk-icon="icon:chevron-up; ratio:0.7"></span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="conceptsCategoryLoading[category.id]" class="uk-alert uk-alert-primary"
|
||||
role="alert">Loading category information...
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<div
|
||||
*ngIf="conceptsClass[category.id] && conceptsClass[category.id].length == 0 && conceptsClassDisplay[category.id]">No more paths found
|
||||
</div>
|
||||
<ul *ngIf="conceptsClass[category.id] && conceptsClassDisplay[category.id]"
|
||||
class="uk-list uk-animation-fade uk-margin-left uk-margin-top" id="ul_{{category.id}}">
|
||||
<li *ngFor="let concept1 of conceptsClass[category.id]">
|
||||
<div (click)="displaySubcategory(concept1.id)">
|
||||
<input [ngModel]="isSelected(concept1.id)" type="checkbox"
|
||||
(ngModelChange)="isSelected(concept1.id)?removeById(concept1.id):addNewContext(selectedCommunityLabel,category.label,concept1);">
|
||||
<span class="uk-margin-small-left">{{concept1.label}}</span>
|
||||
<span *ngIf="concept1.concepts && concept1.concepts.length==0">
|
||||
<span *ngIf="!conceptsClassDisplay[concept1.id]" uk-icon="icon:chevron-down; ratio:0.7"></span>
|
||||
<span *ngIf="conceptsClassDisplay[concept1.id]" uk-icon="icon:chevron-up; ratio:0.7"></span>
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<div
|
||||
*ngIf="concept1.concepts && concept1.concepts.length==0 && conceptsClassDisplay[concept1.id]">No more paths found
|
||||
</div>
|
||||
<ul *ngIf="concept1.concepts && conceptsClassDisplay[concept1.id] "
|
||||
class="uk-list uk-animation-fade uk-margin-left uk-margin-top">
|
||||
<li *ngFor="let concept2 of concept1.concepts">
|
||||
<div (click)="displaySubcategory(concept2.id)">
|
||||
<input [ngModel]="isSelected(concept2.id)" type="checkbox"
|
||||
(ngModelChange)="isSelected(concept2.id)?removeById(concept2.id):addNewContext(selectedCommunityLabel,category.label,concept2);" >
|
||||
<span *ngIf="concept2.concepts && concept2.concepts.length==0">
|
||||
<span class="uk-margin-small-left">{{concept2.label}}</span><span *ngIf="!conceptsClassDisplay[concept1.id]" uk-icon="icon:chevron-down; ratio:0.7"></span>
|
||||
<span *ngIf="conceptsClassDisplay[concept1.id]" uk-icon="icon:chevron-up; ratio:0.7"></span>
|
||||
</span>
|
||||
</div>
|
||||
<ul *ngIf="concept2.concepts && conceptsClassDisplay[concept2.id] "
|
||||
class="uk-list uk-animation-fade uk-margin-left uk-margin-top">
|
||||
<li *ngFor="let concept3 of concept2.concepts">
|
||||
<input [ngModel]="isSelected(concept3.id)" type="checkbox"
|
||||
(ngModelChange)="isSelected(concept3.id)?removeById(concept2.id):addNewContext(selectedCommunityLabel,category.label,concept3);">
|
||||
<span class="uk-margin-small-left">{{concept3.label}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ng-container *ngIf="filter().length == 0">
|
||||
<div class="uk-alert uk-alert-primary"
|
||||
role="alert">No Results found
|
||||
</div>
|
||||
</ng-container>
|
||||
</div>
|
||||
<!-- Categories modal-->
|
||||
<modal-alert #modal large="true">
|
||||
<div class="uk-modal-body uk-height-min-medium uk-width-expand">
|
||||
<div class="uk-margin-bottom">
|
||||
<input [ngModel]="isSelected(selectedCommunityId)" type="checkbox"
|
||||
(ngModelChange)="isSelected(selectedCommunityId)?removeById(selectedCommunityId):select(selectedCommunityId,
|
||||
selectedCommunityLabel);">
|
||||
<span class="uk-margin-small-left">{{selectedCommunityLabel}}</span>
|
||||
</div>
|
||||
<div *ngIf="loading" class="uk-alert uk-alert-primary" role="alert">Loading communities information...</div>
|
||||
<div *ngIf="error" class="uk-alert uk-alert-warning"
|
||||
role="alert">An error occurred while loading communities...
|
||||
</div>
|
||||
<div class="uk-margin-small-top uk-text-small uk-text-meta" *ngIf="categories[selectedCommunityId] &&
|
||||
categories[selectedCommunityId].length > 0 ">
|
||||
Optionally, you can <span class="uk-text-bold">specify additional</span> Community's <span
|
||||
class="uk-text-bold">paths</span> to link your
|
||||
sources.
|
||||
</div>
|
||||
<div *ngIf="categories[selectedCommunityId] && categories[selectedCommunityId].length == 0 "
|
||||
class=" uk-text-small uk-text-muted">
|
||||
No additional community paths found for this community.
|
||||
</div>
|
||||
<ul *ngIf="categories[selectedCommunityId] && categories[selectedCommunityId].length > 0 "
|
||||
class=" uk-list uk-margin-small-top uk-margin-left uk-animation-fade uk-overflow-auto uk-height-medium">
|
||||
<li *ngFor="let category of categories[selectedCommunityId]">
|
||||
<div (click)="browseConcepts(category.id)">
|
||||
<input [ngModel]="isSelected(category.id)" type="checkbox"
|
||||
(ngModelChange)="isSelected(category.id)?removeById(category.id):addNewContext(selectedCommunityLabel,category.label,{'id':category.id, 'label':category.label});">
|
||||
<span class="uk-margin-small-left">{{category.label}} </span>
|
||||
<span *ngIf="!conceptsClassDisplay[category.id]" uk-icon="icon:chevron-down; ratio:0.7"></span>
|
||||
<span *ngIf="conceptsClassDisplay[category.id]" uk-icon="icon:chevron-up; ratio:0.7"></span>
|
||||
</div>
|
||||
|
||||
|
||||
<div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning" role="alert">{{warningMessage}}</div>
|
||||
<div *ngIf="infoMessage.length > 0" class="uk-alert uk-alert-primary" role="alert">{{infoMessage}}</div>
|
||||
</modal-alert>
|
||||
|
||||
<div *ngIf="conceptsCategoryLoading[category.id]" class="uk-alert uk-alert-primary"
|
||||
role="alert">Loading category information...
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<div
|
||||
*ngIf="conceptsClass[category.id] && conceptsClass[category.id].length == 0 && conceptsClassDisplay[category.id]">No more paths found
|
||||
</div>
|
||||
<ul *ngIf="conceptsClass[category.id] && conceptsClassDisplay[category.id]"
|
||||
class="uk-list uk-animation-fade uk-margin-left uk-margin-top" id="ul_{{category.id}}">
|
||||
<li *ngFor="let concept1 of conceptsClass[category.id]">
|
||||
<div (click)="displaySubcategory(concept1.id)">
|
||||
<input [ngModel]="isSelected(concept1.id)" type="checkbox"
|
||||
(ngModelChange)="isSelected(concept1.id)?removeById(concept1.id):addNewContext(selectedCommunityLabel,category.label,concept1);">
|
||||
<span class="uk-margin-small-left">{{concept1.label}}</span>
|
||||
<span *ngIf="concept1.concepts && concept1.concepts.length==0">
|
||||
<span *ngIf="!conceptsClassDisplay[concept1.id]" uk-icon="icon:chevron-down; ratio:0.7"></span>
|
||||
<span *ngIf="conceptsClassDisplay[concept1.id]" uk-icon="icon:chevron-up; ratio:0.7"></span>
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<div
|
||||
*ngIf="concept1.concepts && concept1.concepts.length==0 && conceptsClassDisplay[concept1.id]">No more paths found
|
||||
</div>
|
||||
<ul *ngIf="concept1.concepts && conceptsClassDisplay[concept1.id] "
|
||||
class="uk-list uk-animation-fade uk-margin-left uk-margin-top">
|
||||
<li *ngFor="let concept2 of concept1.concepts">
|
||||
<div (click)="displaySubcategory(concept2.id)">
|
||||
<input [ngModel]="isSelected(concept2.id)" type="checkbox"
|
||||
(ngModelChange)="isSelected(concept2.id)?removeById(concept2.id):addNewContext(selectedCommunityLabel,category.label,concept2);" >
|
||||
<span *ngIf="concept2.concepts && concept2.concepts.length==0">
|
||||
<span class="uk-margin-small-left">{{concept2.label}}</span><span *ngIf="!conceptsClassDisplay[concept1.id]" uk-icon="icon:chevron-down; ratio:0.7"></span>
|
||||
<span *ngIf="conceptsClassDisplay[concept1.id]" uk-icon="icon:chevron-up; ratio:0.7"></span>
|
||||
</span>
|
||||
</div>
|
||||
<ul *ngIf="concept2.concepts && conceptsClassDisplay[concept2.id] "
|
||||
class="uk-list uk-animation-fade uk-margin-left uk-margin-top">
|
||||
<li *ngFor="let concept3 of concept2.concepts">
|
||||
<input [ngModel]="isSelected(concept3.id)" type="checkbox"
|
||||
(ngModelChange)="isSelected(concept3.id)?removeById(concept2.id):addNewContext(selectedCommunityLabel,category.label,concept3);">
|
||||
<span class="uk-margin-small-left">{{concept3.label}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning" role="alert">{{warningMessage}}</div>
|
||||
<div *ngIf="infoMessage.length > 0" class="uk-alert uk-alert-primary" role="alert">{{infoMessage}}</div>
|
||||
</modal-alert>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="uk-display-inline-block">
|
||||
<div class="uk-width-large">
|
||||
<advanced-search-input (searchEmitter)="search(page,size)">
|
||||
<div input type="select" [(value)]="showOptions.show" placeholder="Type" hint="Select..."
|
||||
[options]="showOptions.selectOptions"></div>
|
||||
|
@ -11,11 +11,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<div *ngIf="showResults" class="uk-margin-top">
|
||||
|
||||
|
||||
<div class="uk-grid">
|
||||
<div class="uk-grid" uk-grid>
|
||||
<div class="search-filters uk-width-1-1">
|
||||
|
||||
<!--<div *ngIf="countFilters()>0 && openaireResultsNum > 0" class="uk-grid uk-flex uk-flex-bottom">
|
||||
<div class="uk-grid">
|
||||
<h6 class="uk-text-bold">Filters</h6>
|
||||
|
@ -65,40 +62,34 @@
|
|||
</ng-container>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<!-- <ng-container *ngIf="openaireResultsNum > 0">-->
|
||||
<div class="uk-grid uk-grid-small" uk-grid>
|
||||
<ng-container *ngFor="let filter of rangeFilters">
|
||||
|
||||
<div class="uk-inline">
|
||||
<button class="uk-button uk-button-default uk-button-small uk-margin-small-right uk-margin-small-bottom "
|
||||
type="button"><span *ngIf="!filter.selectedFromAndToValues">{{filter.title}}</span><span *ngIf="filter.selectedFromAndToValues">{{filter.selectedFromAndToValues}}</span><span uk-icon="chevron-down"></span></button>
|
||||
<div uk-dropdown="mode: click" class="uk-width-large" style="max-width:460px !important;">
|
||||
<div class="uk-padding-small uk-overflow-auto uk-height-max-large uk-height-min-medium">
|
||||
<range-filter [isDisabled]="openaireResultsStatus ==
|
||||
errorCodes.LOADING" [filter]="filter" (onFilterChange)="dateFilterChanged(filter)"
|
||||
[showQuickButtons]="false"
|
||||
<div>
|
||||
<dropdown-filter [name]="filter.selectedFromAndToValues?filter.selectedFromAndToValues:filter.title"
|
||||
dropdownMinWidth="450">
|
||||
<div class="uk-padding-small">
|
||||
<range-filter [isDisabled]="openaireResultsStatus == errorCodes.LOADING"
|
||||
[filter]="filter" (onFilterChange)="dateFilterChanged(filter)"
|
||||
[showQuickButtons]="false"
|
||||
></range-filter>
|
||||
</div>
|
||||
</div>
|
||||
</dropdown-filter>
|
||||
</div>
|
||||
|
||||
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngFor="let filter of filters ">
|
||||
<div class="uk-inline">
|
||||
<button class="uk-button uk-button-default uk-button-small uk-margin-small-right uk-margin-small-bottom "
|
||||
type="button">{{filter.title}}<span *ngIf="filter.countSelectedValues>0"> ({{filter.countSelectedValues}})</span><span uk-icon="chevron-down"></span></button>
|
||||
<div uk-dropdown="mode: click" class="uk-width-large uk-overflow-auto" style="max-width:460px !important; ">
|
||||
<div class="uk-padding-small uk-overflow-auto uk-height-max-large uk-height-min-medium">
|
||||
<search-filter [isDisabled]="openaireResultsStatus ==
|
||||
errorCodes.LOADING" [filter]="filter"
|
||||
[showResultCount]=true filterValuesNum="0"
|
||||
(onFilterChange)="filterChanged($event)" [actionRoute]="false"></search-filter>
|
||||
<div>
|
||||
<dropdown-filter [count]="filter.countSelectedValues" [name]="filter.title"
|
||||
dropdownMinWidth="450">
|
||||
<div class="uk-padding-small">
|
||||
<search-filter [isDisabled]="openaireResultsStatus == errorCodes.LOADING"
|
||||
[filter]="filter" [filterValuesNum]="0" [showResultCount]=true
|
||||
(onFilterChange)="filterChanged($event)" [actionRoute]="false"></search-filter>
|
||||
</div>
|
||||
</div>
|
||||
</dropdown-filter>
|
||||
</div>
|
||||
</ng-container>
|
||||
</div>
|
||||
<!-- </ng-container>-->
|
||||
</div>
|
||||
<div class="uk-width-expand@m uk-width-1-1@s uk-first-column">
|
||||
|
|
|
@ -20,13 +20,14 @@ import {ClaimEntitiesSelectionComponent} from "./claimEntitiesSelection.componen
|
|||
import {MatSelectModule} from "@angular/material/select";
|
||||
import {AdvancedSearchInputModule} from "../../sharedComponents/advanced-search-input/advanced-search-input.module";
|
||||
import {InputModule} from "../../sharedComponents/input/input.module";
|
||||
import {DropdownFilterModule} from "../../utils/dropdown-filter/dropdown-filter.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule, CommonModule,
|
||||
// LoadingModalModule,
|
||||
ProjectServiceModule, ProjectsServiceModule, EntitiesAutocompleteModule, HelperModule,
|
||||
PagingModule, SearchFilterModule, ClaimResultsModule, RangeFilterModule, MatSelectModule, AdvancedSearchInputModule, InputModule
|
||||
PagingModule, SearchFilterModule, ClaimResultsModule, RangeFilterModule, MatSelectModule, AdvancedSearchInputModule, InputModule, DropdownFilterModule
|
||||
],
|
||||
providers:[
|
||||
],
|
||||
|
|
|
@ -1,17 +1,14 @@
|
|||
<div *ngIf="showOptions && showOptions.linkToEntities.length > 0" class="uk-display-inline-block">
|
||||
<div *ngIf="showOptions && showOptions.linkToEntities.length > 0" class="uk-width-large">
|
||||
<advanced-search-input (searchEmitter)="search(true)">
|
||||
<div input type="select" [(value)]="showOptions.show" placeholder="Type" hint="Select..."
|
||||
[options]="showOptions.selectOptions"></div>
|
||||
<div input type="text" [(value)]="keyword" [searchable]="true" placeholder="Entities to link" [hint]="'Search for ' + openaireEntities.RESULTS.toLowerCase() + '...'"></div>
|
||||
</advanced-search-input>
|
||||
</div>
|
||||
|
||||
<div *ngIf="!showOptions" class="uk-width-large">
|
||||
<div search-input [(value)]="keyword" [placeholder]="'Search for ' + openaireEntities.RESULTS.toLowerCase() +
|
||||
'...'"
|
||||
<div *ngIf="!showOptions" class="uk-width-large">
|
||||
<div search-input [(value)]="keyword" [placeholder]="'Search for ' + openaireEntities.RESULTS.toLowerCase() + '...'"
|
||||
(searchEmitter)="search(true)"></div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="!showSearchResults">
|
||||
<div class="uk-text-center uk-text-large uk-text-meta uk-margin-large-top">
|
||||
No {{showOptions?openaireEntities.RESULTS.toLowerCase() :'sources'}} yet...<br>Use the searchbar to find and link
|
||||
|
@ -71,40 +68,34 @@
|
|||
|
||||
<div class="search-filters uk-width-1-1">
|
||||
|
||||
<ng-container *ngIf="openaireResultsNum > 0">
|
||||
<ng-container *ngFor="let filter of rangeFilters">
|
||||
|
||||
<div class="uk-inline">
|
||||
<button class="uk-button uk-button-default uk-button-small uk-margin-small-right uk-margin-small-bottom "
|
||||
type="button">{{filter.title}}<span uk-icon="chevron-down"></span></button>
|
||||
<div uk-dropdown="mode: click" class="uk-width-large" style="max-width:460px !important;" >
|
||||
<div class="uk-padding-small uk-overflow-auto uk-height-max-large uk-height-min-medium">
|
||||
<range-filter [isDisabled]="openaireResultsStatus ==
|
||||
errorCodes.LOADING" [filter]="filter" (onFilterChange)="dateFilterChanged(filter)"
|
||||
<div *ngIf="openaireResultsNum > 0" class="uk-grid uk-grid-small" uk-grid>
|
||||
<ng-container *ngFor="let filter of rangeFilters">
|
||||
<div>
|
||||
<dropdown-filter [name]="filter.selectedFromAndToValues?filter.selectedFromAndToValues:filter.title"
|
||||
dropdownMinWidth="450">
|
||||
<div class="uk-padding-small">
|
||||
<range-filter [isDisabled]="openaireResultsStatus == errorCodes.LOADING"
|
||||
[filter]="filter" (onFilterChange)="dateFilterChanged(filter)"
|
||||
[showQuickButtons]="false"
|
||||
></range-filter>
|
||||
</div>
|
||||
</div>
|
||||
</dropdown-filter>
|
||||
</div>
|
||||
|
||||
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngFor="let filter of openaireResultsfilters ">
|
||||
<div class="uk-inline">
|
||||
<button class="uk-button uk-button-default uk-button-small uk-margin-small-right uk-margin-small-bottom "
|
||||
type="button">{{filter.title}}<span *ngIf="filter.countSelectedValues>0"> ({{filter.countSelectedValues}})</span><span uk-icon="chevron-down"></span></button>
|
||||
<div uk-dropdown="mode: click" class=" uk-width-large uk-height-max-large " style="max-width:460px !important;">
|
||||
<div class="uk-padding-small uk-overflow-auto uk-height-max-large uk-height-min-medium">
|
||||
<search-filter [isDisabled]="openaireResultsStatus ==
|
||||
errorCodes.LOADING" [filter]="filter" [filterValuesNum]="0"
|
||||
[showResultCount]=true
|
||||
(onFilterChange)="filterChanged($event)" [actionRoute]="false"></search-filter>
|
||||
</div>
|
||||
|
||||
</ng-container>
|
||||
<ng-container *ngFor="let filter of openaireResultsfilters ">
|
||||
<div>
|
||||
<dropdown-filter [count]="filter.countSelectedValues" [name]="filter.title"
|
||||
dropdownMinWidth="450">
|
||||
<div class="uk-padding-small">
|
||||
<search-filter [isDisabled]="openaireResultsStatus == errorCodes.LOADING"
|
||||
[filter]="filter" [filterValuesNum]="0" [showResultCount]=true
|
||||
(onFilterChange)="filterChanged($event)" [actionRoute]="false"></search-filter>
|
||||
</div>
|
||||
</dropdown-filter>
|
||||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-width-expand@m uk-width-1-1@s uk-first-column">
|
||||
<div class="">
|
||||
|
|
|
@ -21,10 +21,11 @@ import {ClaimProjectsSearchFormModule} from "./claimProjectSearchForm.module";
|
|||
import {AdvancedSearchInputModule} from "../../sharedComponents/advanced-search-input/advanced-search-input.module";
|
||||
import {InputModule} from "../../sharedComponents/input/input.module";
|
||||
import {SearchInputModule} from "../../sharedComponents/search-input/search-input.module";
|
||||
import {DropdownFilterModule} from "../../utils/dropdown-filter/dropdown-filter.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [SharedModule, CommonModule, SearchResearchResultsServiceModule, PagingModule, SearchCrossrefServiceModule,
|
||||
SearchDataciteServiceModule, HelperModule, SearchFilterModule, ClaimResultsModule, MatSelectModule, QuickSelectionsModule, RangeFilterModule, ClaimProjectsSearchFormModule, AdvancedSearchInputModule, InputModule, SearchInputModule],
|
||||
SearchDataciteServiceModule, HelperModule, SearchFilterModule, ClaimResultsModule, MatSelectModule, QuickSelectionsModule, RangeFilterModule, ClaimProjectsSearchFormModule, AdvancedSearchInputModule, InputModule, SearchInputModule, DropdownFilterModule],
|
||||
providers:[
|
||||
SearchOrcidService
|
||||
],
|
||||
|
|
|
@ -7,8 +7,8 @@ declare var UIkit: any;
|
|||
selector: 'claim-results',
|
||||
template: `
|
||||
|
||||
<div *ngIf="results.length > 0 " class="uk-margin-top">
|
||||
<div *ngFor=" let entity of results " [class]="(isSelected(entity))?'uk-block-muted':''" class=" uk-card uk-card-default uk-card-body uk-margin-bottom claim-result-card">
|
||||
<div *ngIf="results.length > 0 " class="uk-margin-top">
|
||||
<div *ngFor=" let entity of results " [class]="(isSelected(entity))?'uk-block-muted':''" class=" uk-card uk-card-default uk-card-body uk-margin-bottom">
|
||||
<div>
|
||||
<div class="uk-text-small ">
|
||||
{{(!entity.result) ? entity.type : ((entity.result && entity.result.source == 'openaire') ? entity.type : (entity.result && entity.result.source + ' result'))}}
|
||||
|
@ -20,19 +20,13 @@ declare var UIkit: any;
|
|||
<claim-project-metadata [entity]="entity"></claim-project-metadata>
|
||||
</div>
|
||||
<div class="uk-margin-auto-vertical uk-padding-remove-left uk-margin-small-left uk-margin-small-right" [title]="(this.selectedResults.length>=basketLimit)?'Basket reached the size limit':''">
|
||||
<a [class]="(this.selectedResults.length>=basketLimit)?'uk-icon-button uk-disabled disabled':'uk-icon-button enabled'" *ngIf="!isSelected(entity)"
|
||||
<button class="linking-add-button" [class.uk-disabled]="(this.selectedResults.length>=basketLimit)" *ngIf="!isSelected(entity)"
|
||||
(click)="add(entity)">
|
||||
<span class="uk-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="plus"
|
||||
ratio="1"><rect x="9" y="1" width="1" height="17"></rect><rect x="1" y="9" width="17"
|
||||
height="1"></rect></svg>
|
||||
</span>
|
||||
</a>
|
||||
<a *ngIf="isSelected(entity)" class="uk-icon-button selected " (click)="remove(entity)">
|
||||
<span class="uk-icon" >
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="check" ratio="1"><polyline fill="none" stroke="#000" stroke-width="1.1" points="4,10 8,15 17,4"></polyline></svg>
|
||||
</span>
|
||||
</a>
|
||||
<icon name="add" [flex]="true"></icon>
|
||||
</button>
|
||||
<button *ngIf="isSelected(entity)" class="linking-selected-button" (click)="remove(entity)">
|
||||
<icon name="check" [flex]="true"></icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -46,8 +40,8 @@ export class ClaimResultsComponent {
|
|||
@Input() selectedResults: ClaimEntity[];
|
||||
@Input() localStoragePrefix: string = "";
|
||||
@Input() basketLimit;
|
||||
private isSelected(result: ClaimEntity) {
|
||||
|
||||
|
||||
public isSelected(result: ClaimEntity) {
|
||||
let found: boolean = false;
|
||||
const id = result.id;
|
||||
for (let _i = 0; _i < this.selectedResults.length; _i++) {
|
||||
|
|
|
@ -5,12 +5,13 @@ import { CommonModule } from '@angular/common';
|
|||
|
||||
import {ClaimResultsComponent} from './claimResults.component';
|
||||
import {ClaimEntitiesMetadataModule} from "../linking/selected/ClaimEntitiesMetadata.module";
|
||||
import {IconsModule} from "../../utils/icons/icons.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule, CommonModule, ClaimEntitiesMetadataModule
|
||||
|
||||
],
|
||||
imports: [
|
||||
SharedModule, CommonModule, ClaimEntitiesMetadataModule, IconsModule
|
||||
|
||||
],
|
||||
providers:[
|
||||
],
|
||||
declarations: [
|
||||
|
|
|
@ -19,29 +19,29 @@ import {Subscriber} from "rxjs";
|
|||
@Component({
|
||||
selector: 'claim-insert',
|
||||
template: `
|
||||
|
||||
<div (click)="insert()"
|
||||
class=" nextStep uk-margin-small-top uk-padding-small uk-text-center " [class.active]="(results.length > 0 && (sources.length > 0 || inlineEntity))" [class.disabled]="!(results.length > 0 && (sources.length > 0 || inlineEntity))">
|
||||
|
||||
<modal-loading [message]="'Please wait...'"></modal-loading>
|
||||
<modal-alert (alertOutput)="confirmClose()">
|
||||
<h4 class="modal-title uk-text-bold " id="myModalLabel">Confirmation notice</h4>
|
||||
<p>All the links you provided will be published in the OpenAIRE platform. <br>
|
||||
Please make sure that the information is valid.<br>
|
||||
<span class="uk-text-bold">In some cases, links take some time to be published.</span><br>
|
||||
For more information please check the linking status in My-Links page.
|
||||
</p>
|
||||
<p>
|
||||
Do you confirm the information you provide is valid?
|
||||
</p>
|
||||
</modal-alert>
|
||||
|
||||
<div>
|
||||
<span >CONFIRM LINKING
|
||||
<span class="uk-icon uk-text-bold uk-margin-small-right" uk-icon="arrow-right"></span>
|
||||
</span>
|
||||
</div>
|
||||
<div (click)="insert()" class="uk-card-footer uk-flex uk-flex-center clickable"
|
||||
[class.uk-tile-primary]="(results.length > 0 && (sources.length > 0 || inlineEntity))"
|
||||
[class.uk-background-muted]="!(results.length > 0 && (sources.length > 0 || inlineEntity))"
|
||||
[class.uk-disabled]="!(results.length > 0 && (sources.length > 0 || inlineEntity))">
|
||||
<button class="uk-flex uk-flex-middle uk-button uk-button-text"
|
||||
[class.uk-disabled]="!(results.length > 0 && (sources.length > 0 || inlineEntity))"
|
||||
[disabled]="!(results.length > 0 && (sources.length > 0 || inlineEntity))">
|
||||
<icon name="link" visuallyHidden="link" [flex]="true"></icon>
|
||||
<div class="uk-width-expand uk-margin-small-left">CONFIRM LINKING</div>
|
||||
</button>
|
||||
</div>
|
||||
<modal-loading [message]="'Please wait...'"></modal-loading>
|
||||
<modal-alert (alertOutput)="confirmClose()">
|
||||
<h4 class="modal-title uk-text-bold " id="myModalLabel">Confirmation notice</h4>
|
||||
<p>All the links you provided will be published in the OpenAIRE platform. <br>
|
||||
Please make sure that the information is valid.<br>
|
||||
<span class="uk-text-bold">In some cases, links take some time to be published.</span><br>
|
||||
For more information please check the linking status in My-Links page.
|
||||
</p>
|
||||
<p>
|
||||
Do you confirm the information you provide is valid?
|
||||
</p>
|
||||
</modal-alert>
|
||||
`
|
||||
})
|
||||
export class ClaimInsertComponent {
|
||||
|
|
|
@ -5,10 +5,11 @@ import {AlertModalModule} from '../../../utils/modal/alertModal.module';
|
|||
import {LoadingModalModule} from '../../../utils/modal/loadingModal.module';
|
||||
import {ClaimInsertComponent} from './insertClaim.component';
|
||||
import {ClaimServiceModule} from '../../claim-utils/service/claimsService.module';
|
||||
import {IconsModule} from "../../../utils/icons/icons.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule, AlertModalModule, LoadingModalModule, ClaimServiceModule
|
||||
SharedModule, AlertModalModule, LoadingModalModule, ClaimServiceModule, IconsModule
|
||||
],
|
||||
declarations: [ClaimInsertComponent],
|
||||
exports:[ ClaimInsertComponent]
|
||||
|
|
|
@ -1,265 +1,227 @@
|
|||
<div class="uk-container uk-container-large uk-section uk-section-small uk-padding-remove-bottom">
|
||||
<div class="uk-padding-small uk-padding-remove-horizontal">
|
||||
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
|
||||
<div class="linking">
|
||||
<div class="uk-container uk-container-large uk-section uk-section-small uk-padding-remove-bottom">
|
||||
<div class="uk-padding-small uk-padding-remove-horizontal">
|
||||
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div uk-sticky=" offset: 65; top:#pageTop; bottom: #pageBottom; media: @m"
|
||||
style="z-index: 100" class="uk-background-default uk-margin-small-top">
|
||||
<stepper>
|
||||
<step *ngIf="!inlineEntity" [status]="stepStatus('source')" stepId="source" stepNumber="1"
|
||||
[stepText]="'Find Sources'" (stepChanged)="stepHasChanged($event)"
|
||||
[active]="this.showOptions.show" [showStepLine]="false"></step>
|
||||
<step [status]="stepStatus('target')" stepId="target" [stepNumber]="inlineEntity?1:2"
|
||||
[stepText]="'Link Source' + (inlineEntity?'':'s') + ' to Entities'"
|
||||
(stepChanged)="stepHasChanged($event)" [active]="this.showOptions.show"
|
||||
[showStepLine]="!inlineEntity"></step>
|
||||
<step [status]="stepStatus('claim')" stepId="claim" [stepNumber]="inlineEntity?2:3"
|
||||
[stepText]="'Summarize and finish'"
|
||||
(stepChanged)="stepHasChanged($event)" [active]="this.showOptions.show"
|
||||
[showStepLine]="true"></step>
|
||||
|
||||
</stepper>
|
||||
</div>
|
||||
<div id="pageTop"></div>
|
||||
<metadata-preview *ngIf="showOptions.show=='claim' && properties" class="uk-margin-top"
|
||||
[results]="results" [sources]="sources"
|
||||
[localStoragePrefix]="localStoragePrefix" [inlineEntity]="inlineEntity"
|
||||
[showOptions]="showOptions" [properties]=properties [pageContents]="pageContents"
|
||||
[defaultColors]="(communityId?false:true)" [communityId]="communityId"
|
||||
>
|
||||
</metadata-preview>
|
||||
<div id="tm-main" class="uk-section uk-padding-remove-top tm-middle" *ngIf="showOptions.show != 'claim'">
|
||||
<div 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 uk-sticky="offset: 65; top:#pageTop; bottom: #pageBottom; media: @m" class="uk-blur-background">
|
||||
<div class="uk-section-xsmall">
|
||||
<stepper>
|
||||
<step *ngIf="!inlineEntity" [status]="stepStatus('source')" stepId="source" stepNumber="1"
|
||||
[stepText]="'Find Sources'" (stepChanged)="stepHasChanged($event)"
|
||||
[active]="this.showOptions.show" [showStepLine]="false"></step>
|
||||
<step [status]="stepStatus('target')" stepId="target" [stepNumber]="inlineEntity?1:2"
|
||||
[stepText]="'Link Source' + (inlineEntity?'':'s') + ' to Entities'"
|
||||
(stepChanged)="stepHasChanged($event)" [active]="this.showOptions.show"
|
||||
[showStepLine]="!inlineEntity"></step>
|
||||
<step [status]="stepStatus('claim')" stepId="claim" [stepNumber]="inlineEntity?2:3"
|
||||
[stepText]="'Summarize and finish'"
|
||||
(stepChanged)="stepHasChanged($event)" [active]="this.showOptions.show"
|
||||
[showStepLine]="true"></step>
|
||||
</stepper>
|
||||
</div>
|
||||
</div>
|
||||
<div id="pageTop"></div>
|
||||
<metadata-preview *ngIf="showOptions.show=='claim' && properties" class="uk-margin-top"
|
||||
[results]="results" [sources]="sources"
|
||||
[localStoragePrefix]="localStoragePrefix" [inlineEntity]="inlineEntity"
|
||||
[showOptions]="showOptions" [properties]=properties [pageContents]="pageContents"
|
||||
[defaultColors]="!communityId" [communityId]="communityId"
|
||||
>
|
||||
</metadata-preview>
|
||||
<div id="tm-main" class="uk-section uk-padding-remove-top" *ngIf="showOptions.show != 'claim'">
|
||||
<div>
|
||||
<schema2jsonld *ngIf="url" [URL]="url" name="Link your {{openaireEntities.RESULTS}}" type="other"></schema2jsonld>
|
||||
<div [class]="((showOptions.show == 'claim')?'':' uk-margin-top ')+' uk-container uk-container-large '">
|
||||
<div>
|
||||
<div *ngIf="properties" class="uk-section uk-section-default white-box-with-border uk-padding-small uk-padding-remove-top">
|
||||
<div [class]="((showOptions.show == 'claim')?'':' uk-margin-top ')+' uk-container uk-container-large '">
|
||||
<div id="basketStickTop"></div>
|
||||
<div class="uk-grid" *ngIf="showOptions.show!='claim'">
|
||||
<div class="uk-width-2-3 uk-position-z-index">
|
||||
<div *ngIf="showOptions.show=='source'">
|
||||
<claim-result-search-form [selectedResults]="sources" [properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'"
|
||||
[basketLimit]="basketLimit"
|
||||
></claim-result-search-form>
|
||||
</div>
|
||||
<div *ngIf="showOptions.show=='project'">
|
||||
<claim-projects-search-form [selectedProjects]="results" [properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'results'"
|
||||
[basketLimit]="basketLimit" [showOptions]="showOptions"
|
||||
></claim-projects-search-form>
|
||||
</div>
|
||||
<div *ngIf="showOptions.show=='context'">
|
||||
<claim-contexts-search-form [communityId]=communityId [results]="results" [sources]="sources"
|
||||
[properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'results'"
|
||||
[basketLimit]="basketLimit" [showOptions]="showOptions"
|
||||
></claim-contexts-search-form>
|
||||
</div>
|
||||
<div *ngIf="showOptions.show=='result'">
|
||||
<claim-result-search-form [selectedResults]="results" [properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'results'"
|
||||
[basketLimit]="basketLimit" [showOptions]="showOptions"
|
||||
></claim-result-search-form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Basket-->
|
||||
<div *ngIf="showOptions.show != 'claim'" class="uk-width-1-3">
|
||||
<div id="basket" uk-sticky=" offset: 220; top:#basketStickTop; bottom: #basketStickBottom; media: @m"
|
||||
class="uk-card uk-card-default linkingBasket" style="z-index: 0!important;">
|
||||
<div class="uk-card-body uk-padding-remove">
|
||||
<ul class="uk-padding-small uk-padding-remove-bottom" uk-tab>
|
||||
<li [class.uk-active]="showOptions.basketShowSources"
|
||||
(click)="showOptions.basketswitchToSources()">
|
||||
<a>
|
||||
Sources to link ({{(sources.length + (inlineEntity ? 1 : 0)) |number}})
|
||||
</a>
|
||||
</li>
|
||||
<li [class.uk-disabled]="sources.length == 0 && !inlineEntity"
|
||||
[class.uk-active]="showOptions.basketShowLinksTo">
|
||||
<a (click)="showOptions.basketswitchToLinkTo()">Link to <span
|
||||
*ngIf="results.length> 0">({{(results.length) | number}})</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div *ngIf="showOptions.basketShowSources">
|
||||
<div class="uk-margin-remove-top uk-height-medium uk-overflow-auto ">
|
||||
<div *ngIf="showOptions.show == 'source'" class=" uk-padding-small " style="min-height:
|
||||
17px;">
|
||||
<start-over *ngIf="showOptions.show == 'source' && sources.length> 0"
|
||||
[results]="sources"
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'"
|
||||
message="all sources" class="uk-float-right"></start-over>
|
||||
<bulk-claim *ngIf="showOptions.show == 'source'" [results]="sources"
|
||||
[properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'" [basketLimit]="basketLimit"
|
||||
>
|
||||
</bulk-claim>
|
||||
|
||||
<div class="uk-grid helper-grid">
|
||||
<div class="uk-width-expand">
|
||||
</div>
|
||||
<div class="uk-animation-slide-top-small uk-padding-small">
|
||||
|
||||
<div *ngIf="properties" class="uk-section uk-section-default white-box-with-border uk-padding-small uk-padding-remove-top">
|
||||
|
||||
<div style=""
|
||||
[class]="((showOptions.show == 'claim')?'':' uk-margin-top ')+' uk-container uk-container-large '">
|
||||
<div id="basketStickTop"></div>
|
||||
<div class="uk-grid" *ngIf="showOptions.show!='claim'" >
|
||||
<div class="uk-width-2-3 uk-padding">
|
||||
|
||||
<div *ngIf="showOptions.show=='source'">
|
||||
<claim-result-search-form [selectedResults]="sources" [properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'" [basketLimit]="basketLimit"
|
||||
></claim-result-search-form>
|
||||
</div>
|
||||
<div *ngIf="showOptions.show=='project'">
|
||||
<claim-projects-search-form [selectedProjects]="results" [properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'results'"
|
||||
[basketLimit]="basketLimit" [showOptions]="showOptions"
|
||||
></claim-projects-search-form>
|
||||
</div>
|
||||
<div *ngIf="showOptions.show=='context'">
|
||||
<claim-contexts-search-form [communityId]=communityId [results]="results" [sources]="sources"
|
||||
[properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'results'"
|
||||
[basketLimit]="basketLimit" [showOptions]="showOptions"
|
||||
></claim-contexts-search-form>
|
||||
</div>
|
||||
<div *ngIf="showOptions.show=='result'">
|
||||
<claim-result-search-form [selectedResults]="results" [properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'results'"
|
||||
[basketLimit]="basketLimit" [showOptions]="showOptions"
|
||||
></claim-result-search-form>
|
||||
<div *ngIf="sources.length == 0 && !inlineEntity " class="uk-text-center uk-text-meta">
|
||||
No Sources added yet. Start adding sources from the left panel. Or upload a DOI's CSV file.
|
||||
</div>
|
||||
<div *ngIf="sources.length >= basketLimit " class="uk-alert uk-alert-warning uk-text-center">
|
||||
Basket reached the size limit. No more sources can be added.
|
||||
</div>
|
||||
<claim-selected-results *ngIf="inlineEntity" [results]="[inlineEntity]"
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'" class=""
|
||||
[enableRemove]="false" type="source">
|
||||
</claim-selected-results>
|
||||
<claim-selected-results *ngIf="sources.length > 0" [results]="sources"
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'" class=""
|
||||
[enableRemove]="true" type="source">
|
||||
</claim-selected-results>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Basket-->
|
||||
<div *ngIf="showOptions.show != 'claim'" class="uk-width-1-3 uk-padding-remove-left "
|
||||
style="" >
|
||||
<div id="basket" uk-sticky=" offset: 180; top:#basketStickTop; bottom: #basketStickBottom; media: @m"
|
||||
style="z-index: 0" class="uk-card uk-card-default linkingBasket">
|
||||
<div class="linksbasket uk-inline uk-width-1-1" style="">
|
||||
<div>
|
||||
<ul class="uk-padding-small uk-padding-remove-bottom" uk-tab>
|
||||
<li
|
||||
[class.uk-active]="showOptions.basketShowSources"
|
||||
(click)="showOptions.basketswitchToSources()"><a
|
||||
href="#">Sources to
|
||||
link
|
||||
({{(sources.length + (inlineEntity?1:0)) |
|
||||
number}})
|
||||
</a></li>
|
||||
<li [class.uk-disabled]="sources.length == 0 && !inlineEntity"
|
||||
[class.uk-active]="showOptions.basketShowLinksTo"
|
||||
(click)="showOptions.basketswitchToLinkTo()"><a href="#">Link to <span
|
||||
*ngIf="results.length> 0">({{(results.length) | number}})</span></a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<div *ngIf="showOptions.basketShowSources" class="">
|
||||
|
||||
<div
|
||||
class=" uk-margin-remove-top uk-height-medium uk-overflow-auto ">
|
||||
<div *ngIf="showOptions.show == 'source'" class=" uk-padding-small " style="min-height:
|
||||
17px;">
|
||||
<start-over *ngIf="showOptions.show == 'source' && (sources.length)> 0"
|
||||
[results]="sources"
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'"
|
||||
message="all sources" class="uk-float-right"></start-over>
|
||||
<bulk-claim *ngIf="showOptions.show == 'source'" [results]="sources"
|
||||
[properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'" [basketLimit]="basketLimit"
|
||||
>
|
||||
</bulk-claim>
|
||||
|
||||
</div>
|
||||
<div class="uk-animation-slide-top-small uk-padding-small">
|
||||
|
||||
<div *ngIf="(sources.length) == 0 && !inlineEntity " class=" uk-text-center">
|
||||
No Sources added yet. Start adding sources from the left panel. Or upload a DOI's CSV file.
|
||||
</div>
|
||||
<div *ngIf="sources.length >= basketLimit "
|
||||
class="uk-alert uk-alert-warning uk-text-center">
|
||||
Basket reached the size limit. No more sources can be added.
|
||||
</div>
|
||||
<claim-selected-results *ngIf="inlineEntity" [results]="[inlineEntity]"
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'" class=""
|
||||
[enableRemove]="false" type="source" >
|
||||
</claim-selected-results>
|
||||
<claim-selected-results *ngIf="sources.length > 0" [results]="sources"
|
||||
[localStoragePrefix]="localStoragePrefix+'sources'" class=""
|
||||
[enableRemove]="true" type="source">
|
||||
</claim-selected-results>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div *ngIf="showOptions.basketShowLinksTo" class="">
|
||||
<div
|
||||
class="uk-height-medium uk-overflow-auto">
|
||||
<div *ngIf=" (results.length)> 0 || showOptions.show=='result'"
|
||||
class=" uk-padding-small " style="min-height: 17px;">
|
||||
<start-over *ngIf=" (results.length)> 0"
|
||||
[results]="results" [localStoragePrefix]="localStoragePrefix+'results'"
|
||||
message="all results (projects, communities, research results)"
|
||||
class="uk-float-right"></start-over>
|
||||
<bulk-claim *ngIf="showOptions.show=='result'" [results]="results" [properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'results'" [basketLimit]="basketLimit"></bulk-claim>
|
||||
</div>
|
||||
|
||||
<div class="uk-padding-small uk-animation-slide-top-small">
|
||||
<div *ngIf="results.length >= basketLimit "
|
||||
class="uk-alert uk-alert-warning uk-text-center">
|
||||
Basket reached the size limit. No more entities can be added.
|
||||
</div>
|
||||
<claim-selected-results sectionTitle="Selected Results" [results]="results"
|
||||
[localStoragePrefix]="localStoragePrefix+'results'" type="target">
|
||||
</claim-selected-results>
|
||||
<div *ngIf="(results.length) == 0 " class=" uk-text-center">
|
||||
No entities to link with the sources. Start adding entities from the left panel.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div *ngIf="showOptions.basketShowLinksTo">
|
||||
<div class="uk-height-medium uk-overflow-auto">
|
||||
<div *ngIf="(results.length)> 0 || showOptions.show=='result'" class="uk-padding-small" style="min-height: 17px;">
|
||||
<start-over *ngIf=" (results.length)> 0"
|
||||
[results]="results" [localStoragePrefix]="localStoragePrefix+'results'"
|
||||
message="all results (projects, communities, research results)"
|
||||
class="uk-float-right"></start-over>
|
||||
<bulk-claim *ngIf="showOptions.show=='result'" [results]="results" [properties]=properties
|
||||
[localStoragePrefix]="localStoragePrefix+'results'"
|
||||
[basketLimit]="basketLimit"></bulk-claim>
|
||||
</div>
|
||||
<div class="uk-padding-small uk-animation-slide-top-small">
|
||||
<div *ngIf="results.length >= basketLimit "
|
||||
class="uk-alert uk-alert-warning uk-text-center">
|
||||
Basket reached the size limit. No more entities can be added.
|
||||
</div>
|
||||
|
||||
|
||||
<div *ngIf="showOptions.show=='source'"
|
||||
class=" nextStep uk-margin-small-top uk-padding-small " [class.active]="(sources.length)>0" [class.disabled]="(sources.length) == 0"
|
||||
[class.uk-disabled]="(sources.length) == 0"
|
||||
(click)="stepHasChanged('target') ">
|
||||
<div class=" uk-margin-remove uk-grid uk-flex uk-flex-middle uk-grid-small">
|
||||
<icon name="link" visuallyHidden="link" [flex]="true"></icon>
|
||||
<div class="uk-width-expand">STEP 2 - LINK SOURCES TO ENTITIES</div>
|
||||
<div class="uk-icon uk-text-bold uk-margin-small-right">
|
||||
<svg width="30" height="30" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"
|
||||
icon="chevron-right" ratio="1.5"><polyline fill="none" stroke="#000" stroke-width="1.03"
|
||||
points="7 4 13 10 7 16"></polyline></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div *ngIf="showOptions.show!='source'"
|
||||
class=" nextStep uk-margin-small-top uk-padding-small "
|
||||
[class.active]="(results.length)>0" [class.disabled]="(results.length) == 0"
|
||||
[class.uk-disabled]="(results.length) == 0"
|
||||
style="height:auto !important; " (click)="stepHasChanged('claim')">
|
||||
|
||||
<div class="uk-margin-remove uk-grid uk-flex uk-flex-middle uk-grid-small">
|
||||
<icon *ngIf="inlineEntity" name="link" visuallyHidden="link" [flex]="true"></icon>
|
||||
<div class="uk-width-expand">STEP {{inlineEntity?'2':'3'}} - FINALISE AND FINISH</div>
|
||||
<div class="uk-icon uk-text-bold uk-margin-small-right">
|
||||
<svg width="30" height="30" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"
|
||||
icon="chevron-right" ratio="1.5"><polyline fill="none" stroke="#000" stroke-width="1.03"
|
||||
points="7 4 13 10 7 16"></polyline></svg>
|
||||
<claim-selected-results sectionTitle="Selected Results" [results]="results"
|
||||
[localStoragePrefix]="localStoragePrefix+'results'" type="target">
|
||||
</claim-selected-results>
|
||||
<div *ngIf="(results.length) == 0 " class=" uk-text-center">
|
||||
No entities to link with the sources. Start adding entities from the left panel.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="showOptions.show == 'source'"
|
||||
class="uk-card-footer uk-flex uk-flex-center clickable"
|
||||
[class.uk-tile-primary]="sources.length > 0"
|
||||
[class.uk-background-muted]="sources.length == 0"
|
||||
[class.uk-disabled]="sources.length == 0"
|
||||
(click)="stepHasChanged('target')">
|
||||
<button class="uk-flex uk-flex-middle uk-button uk-button-text"
|
||||
[class.uk-disabled]="sources.length == 0" [disabled]="sources.length == 0">
|
||||
<icon name="link" visuallyHidden="link" [flex]="true"></icon>
|
||||
<div class="uk-width-expand uk-margin-small-left">STEP 2 - LINK SOURCES TO ENTITIES</div>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
<div *ngIf="showOptions.show != 'source'"
|
||||
class="uk-card-footer uk-flex uk-flex-center clickable"
|
||||
[class.uk-tile-primary]="results.length > 0"
|
||||
[class.uk-background-muted]="results.length == 0"
|
||||
[class.uk-disabled]="results.length == 0" (click)="stepHasChanged('claim')">
|
||||
<button class="uk-flex uk-flex-middle uk-button uk-button-text"
|
||||
[class.uk-disabled]="results.length == 0" [disabled]="results.length == 0">
|
||||
<icon *ngIf="inlineEntity" name="link" visuallyHidden="link" [flex]="true"></icon>
|
||||
<div class="uk-width-expand uk-margin-small-left">STEP {{inlineEntity ? '2' : '3'}} - FINALISE AND FINISH</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <helper position="right" styleName=" uk-width-1-5"></helper>-->
|
||||
</div>
|
||||
<div id="basketStickBottom"></div>
|
||||
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0" [texts]="pageContents['bottom']"></helper>
|
||||
<!-- <helper position="bottom"></helper>-->
|
||||
<!-- <helper position="right" styleName=" uk-width-1-5"></helper>-->
|
||||
</div>
|
||||
|
||||
|
||||
<div id="basketStickBottom"></div>
|
||||
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
|
||||
[texts]="pageContents['bottom']"></helper>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="pageBottom"></div>
|
||||
<modal-alert (alertOutput)="closeSelectionModal($event)" >
|
||||
<div class="uk-grid uk-text-center uk-margin-expand uk-padding uk-child-width-1-3">
|
||||
<div id="pageBottom"></div>
|
||||
<modal-alert (alertOutput)="closeSelectionModal($event)">
|
||||
<div class="uk-grid uk-text-center uk-padding uk-child-width-1-3">
|
||||
<div *ngIf="showOptions.linkToEntities.indexOf('project')!=-1 " (click)="closeSelectionModal('project')" class="clickable">
|
||||
<button class="uk-icon-button">
|
||||
<span class="uk-icon">
|
||||
<svg height="20" icon="album" ratio="1" viewBox="0 0 20 20" width="20"
|
||||
xmlns="http://www.w3.org/2000/svg"><rect height="1" width="10" x="5" y="2"></rect><rect
|
||||
height="1" width="14" x="3" y="4"></rect><rect fill="none" height="11" stroke="#000"
|
||||
width="17" x="1.5"
|
||||
y="6.5"></rect></svg></span>
|
||||
</button>
|
||||
<div>Projects</div>
|
||||
</div>
|
||||
<div *ngIf="showOptions.linkToEntities.indexOf('result')!=-1 " (click)="closeSelectionModal('result')"
|
||||
class="clickable">
|
||||
<button class="uk-icon-button">
|
||||
<span class="uk-icon">
|
||||
<svg height="20" icon="copy" ratio="1" viewBox="0 0 20 20" width="20"
|
||||
xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="16" stroke="#000"
|
||||
width="12" x="3.5" y="2.5"></rect><polyline
|
||||
fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg>
|
||||
</span>
|
||||
</button>
|
||||
<div>Research results</div>
|
||||
</div>
|
||||
<div *ngIf="showOptions.linkToEntities.indexOf('context')!=-1 " (click)="closeSelectionModal('context')"
|
||||
class="clickable">
|
||||
<button class="uk-icon-button">
|
||||
<span class="uk-icon">
|
||||
<svg height="20" icon="users" ratio="1" viewBox="0 0 20 20" width="20"
|
||||
xmlns="http://www.w3.org/2000/svg"><circle cx="7.7" cy="8.6" fill="none" r="3.5"
|
||||
stroke="#000" stroke-width="1.1"></circle><path
|
||||
d="M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3" fill="none"
|
||||
stroke="#000" stroke-width="1.1"></path><path
|
||||
d="M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1"
|
||||
fill="none" stroke="#000" stroke-width="1.1"></path></svg></span>
|
||||
</button>
|
||||
<div>Communities</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="showOptions.linkToEntities.indexOf('project')!=-1 " (click)="closeSelectionModal('project')"
|
||||
style="cursor:pointer;">
|
||||
<button class="uk-icon-button portal-button">
|
||||
<span class="uk-icon">
|
||||
<svg height="20" icon="album" ratio="1" viewBox="0 0 20 20" width="20"
|
||||
xmlns="http://www.w3.org/2000/svg"><rect height="1" width="10" x="5" y="2"></rect><rect
|
||||
height="1" width="14" x="3" y="4"></rect><rect fill="none" height="11" stroke="#000"
|
||||
width="17" x="1.5" y="6.5"></rect></svg></span>
|
||||
</button>
|
||||
<div>Projects</div>
|
||||
</div>
|
||||
<div *ngIf="showOptions.linkToEntities.indexOf('result')!=-1 " (click)="closeSelectionModal('result')"
|
||||
style="cursor:pointer;">
|
||||
<button class="uk-icon-button portal-button">
|
||||
<span class="uk-icon">
|
||||
<svg height="20" icon="copy" ratio="1" viewBox="0 0 20 20" width="20"
|
||||
xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="16" stroke="#000"
|
||||
width="12" x="3.5" y="2.5"></rect><polyline
|
||||
fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg></span>
|
||||
</button>
|
||||
<div>Research results</div>
|
||||
</div>
|
||||
<div *ngIf="showOptions.linkToEntities.indexOf('context')!=-1 " (click)="closeSelectionModal('context')"
|
||||
style="cursor:pointer;">
|
||||
<button class="uk-icon-button portal-button">
|
||||
<span class="uk-icon">
|
||||
<svg height="20" icon="users" ratio="1" viewBox="0 0 20 20" width="20"
|
||||
xmlns="http://www.w3.org/2000/svg"><circle cx="7.7" cy="8.6" fill="none" r="3.5"
|
||||
stroke="#000" stroke-width="1.1"></circle><path
|
||||
d="M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3" fill="none"
|
||||
stroke="#000" stroke-width="1.1"></path><path
|
||||
d="M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1"
|
||||
fill="none" stroke="#000" stroke-width="1.1"></path></svg></span>
|
||||
</button>
|
||||
<div>Communities</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</modal-alert>
|
||||
</modal-alert>
|
||||
</div>
|
||||
|
|
|
@ -20,7 +20,7 @@ import {OpenaireEntities} from "../../utils/properties/searchFields";
|
|||
})
|
||||
export class LinkingGenericComponent {
|
||||
@Input() piwikSiteId = null;
|
||||
@Input() pageTitle: string = " Create links between research objects";
|
||||
@Input() pageTitle: string = "Create links between research objects";
|
||||
piwiksub:any;
|
||||
|
||||
@Input() communityId:string= null;
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { MatSelectModule } from "@angular/material/select";
|
||||
import {NgModule} from '@angular/core';
|
||||
import {MatSelectModule} from "@angular/material/select";
|
||||
|
||||
import { SharedModule } from '../../shared/shared.module';
|
||||
import {SharedModule} from '../../shared/shared.module';
|
||||
import {SelectedProjectsModule} from './selected/selectedProjects.module';
|
||||
import {SelectedContextsModule} from './selected/selectedContexts.module';
|
||||
import {SelectedPublicationsModule} from './selected/selectedResults.module';
|
||||
import {LinkingGenericComponent} from './linkingGeneric.component';
|
||||
import {StartOverModule} from '../claim-utils/startOver.module';
|
||||
import {LoginGuard} from'../../login/loginGuard.guard';
|
||||
import {LoginGuard} from '../../login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../utils/piwik/previousRouteRecorder.guard';
|
||||
import {ClaimContextSearchFormModule} from '../claim-utils/claimContextSearchForm.module';
|
||||
import {ClaimProjectsSearchFormModule} from '../claim-utils/claimProjectSearchForm.module';
|
||||
|
@ -16,7 +16,7 @@ import {ClaimResultSearchFormModule} from '../claim-utils/claimResultSearchForm.
|
|||
import {HelperModule} from '../../utils/helper/helper.module';
|
||||
import {IsRouteEnabled} from '../../error/isRouteEnabled.guard';
|
||||
import {Schema2jsonldModule} from '../../sharedComponents/schema2jsonld/schema2jsonld.module';
|
||||
import { SEOServiceModule } from '../../sharedComponents/SEO/SEOService.module';
|
||||
import {SEOServiceModule} from '../../sharedComponents/SEO/SEOService.module';
|
||||
import {MetadataPreviewModule} from './selected/metadataPreview.module';
|
||||
import {ClaimEntitiesMetadataModule} from "./selected/ClaimEntitiesMetadata.module";
|
||||
import {AlertModalModule} from '../../utils/modal/alertModal.module';
|
||||
|
@ -24,6 +24,8 @@ import {PiwikServiceModule} from "../../utils/piwik/piwikService.module";
|
|||
import {BreadcrumbsModule} from "../../utils/breadcrumbs/breadcrumbs.module";
|
||||
import {StepperModule} from "../../sharedComponents/stepper/stepper.module";
|
||||
import {IconsModule} from "../../utils/icons/icons.module";
|
||||
import {IconsService} from "../../utils/icons/icons.service";
|
||||
import {link} from "../../utils/icons/icons";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
@ -35,10 +37,14 @@ import {IconsModule} from "../../utils/icons/icons.module";
|
|||
PiwikServiceModule,
|
||||
MatSelectModule, BreadcrumbsModule, StepperModule, IconsModule
|
||||
],
|
||||
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
|
||||
providers: [LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
|
||||
declarations: [
|
||||
LinkingGenericComponent
|
||||
], exports:[
|
||||
LinkingGenericComponent ]
|
||||
], exports: [
|
||||
LinkingGenericComponent]
|
||||
})
|
||||
export class LinkingGenericModule { }
|
||||
export class LinkingGenericModule {
|
||||
constructor(private iconsService: IconsService) {
|
||||
this.iconsService.registerIcons([link]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,321 +1,306 @@
|
|||
|
||||
|
||||
<div id="tm-main" class="uk-section uk-margin-small-top tm-middle uk-padding-remove-top">
|
||||
<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">
|
||||
|
||||
|
||||
<div *ngIf="properties" class="uk-section uk-section-default uk-padding-remove-top">
|
||||
|
||||
|
||||
<div class="uk-margin-top">
|
||||
<div class="uk-grid ">
|
||||
<div
|
||||
class=" uk-width-expand uk-padding-remove-left">
|
||||
<div
|
||||
class="uk-card uk-card-default uk-width-expand uk-padding ">
|
||||
<div
|
||||
class=" uk-grid uk-grid-divider uk-child-width-1-2@m uk-child-width-1-1@s uk-padding-remove-left ">
|
||||
<!-- Sources-->
|
||||
<div class="">
|
||||
<div class=" uk-margin uk-animation-toggle">
|
||||
<div class="uk-section uk-margin-small-top uk-padding-remove-top">
|
||||
<div class="uk-container uk-container-large">
|
||||
<div *ngIf="properties" class="uk-section uk-section-default uk-padding-remove-top">
|
||||
<div class="uk-margin-top">
|
||||
<div class="uk-grid" uk-grid>
|
||||
<div class="uk-width-expand">
|
||||
<div class="uk-card uk-card-default">
|
||||
<div class="uk-card-body">
|
||||
<div class="uk-grid uk-grid-divider uk-child-width-1-2@m uk-child-width-1-1@s" uk-grid>
|
||||
<!-- Sources-->
|
||||
<div>
|
||||
<div class=" uk-margin uk-animation-toggle">
|
||||
<span class="uk-h6 "> SOURCES ({{sources.length + (inlineEntity ? 1 : 0) | number}})
|
||||
</span>
|
||||
<a *ngIf="!inlineEntity" class="uk-float-right" (click)="showOptions.showSource() "> <span
|
||||
uk-icon="pencil"></span>Edit
|
||||
sources</a>
|
||||
</div>
|
||||
<ul *ngIf="inlineEntity" class="uk-list uk-animation-fade uk-list-divider">
|
||||
<li>
|
||||
<div class="uk-grid uk-text-small uk-margin-top">
|
||||
<div class="uk-text-muted uk-width-1-2 uk-flex uk-flex-middle">
|
||||
<span class="material-icons uk-text-small uk-text-meta">insert_drive_file</span>
|
||||
{{(!inlineEntity.result) ? inlineEntity.type : ((inlineEntity.result && inlineEntity.result.source == 'openaire') ? inlineEntity.type : (inlineEntity.result && inlineEntity.result.source + ' result'))}}
|
||||
</div>
|
||||
<div *ngIf="inlineEntity.errorMessages.length > 0"
|
||||
class="uk-text-danger uk-width-1-2"> Link couldn't be saved
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="uk-text-muted">-->
|
||||
<!-- {{(!inlineEntity.result) ? inlineEntity.type : ((inlineEntity.result && inlineEntity.result.source == 'openaire') ? inlineEntity.type : (inlineEntity.result && inlineEntity.result.source + ' result'))}}-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div class="">
|
||||
<claim-title [shortVersion]="true" [entity]="inlineEntity" [showIcon]="false"></claim-title>
|
||||
</div>
|
||||
<claim-result-metadata [entity]="inlineEntity"></claim-result-metadata>
|
||||
<claim-project-metadata [entity]="inlineEntity"></claim-project-metadata>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div *ngIf="!inlineEntity && sources.length == 0 ">
|
||||
|
||||
<div class="uk-alert dangerBorder no-selected-message uk-text-center">
|
||||
<span class="uk-text-bold uk-text-danger"> SOURCES cannot be empty.</span><br>
|
||||
Start by adding your linking sources first, go to <a (click)="showOptions.showSource() " class="uk-link">
|
||||
step 1</a>.
|
||||
</span>
|
||||
<a *ngIf="!inlineEntity" class="uk-float-right" (click)="showOptions.showSource() "> <span
|
||||
uk-icon="pencil"></span>Edit
|
||||
sources</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul *ngIf="!inlineEntity && sources.length > 0 " class="uk-list uk-animation-fade uk-list-divider">
|
||||
<li *ngFor=" let entity of sources ">
|
||||
<div class="uk-grid uk-text-small uk-margin-top">
|
||||
<div class="uk-text-muted uk-width-1-2 uk-flex uk-flex-middle">
|
||||
<span class="material-icons uk-text-small uk-text-meta">insert_drive_file</span>
|
||||
{{(!entity.result) ? entity.type : ((entity.result && entity.result.source == 'openaire') ? entity.type : (entity.result && entity.result.source + ' result'))}}
|
||||
<ul *ngIf="inlineEntity" class="uk-list uk-animation-fade uk-list-divider">
|
||||
<li>
|
||||
<div class="uk-grid uk-text-small uk-margin-top">
|
||||
<div class="uk-text-muted uk-width-1-2 uk-flex uk-flex-middle">
|
||||
<span class="material-icons uk-text-small uk-text-meta">insert_drive_file</span>
|
||||
{{(!inlineEntity.result) ? inlineEntity.type : ((inlineEntity.result && inlineEntity.result.source == 'openaire') ? inlineEntity.type : (inlineEntity.result && inlineEntity.result.source + ' result'))}}
|
||||
</div>
|
||||
<div *ngIf="inlineEntity.errorMessages.length > 0"
|
||||
class="uk-text-danger uk-width-1-2"> Link couldn't be saved
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="entity.errorMessages.length > 0"
|
||||
class="uk-text-danger uk-width-1-2"> Link couldn't be saved
|
||||
<!-- <div class="uk-text-muted">-->
|
||||
<!-- {{(!inlineEntity.result) ? inlineEntity.type : ((inlineEntity.result && inlineEntity.result.source == 'openaire') ? inlineEntity.type : (inlineEntity.result && inlineEntity.result.source + ' result'))}}-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div class="">
|
||||
<claim-title [shortVersion]="true" [entity]="inlineEntity" [showIcon]="false"></claim-title>
|
||||
</div>
|
||||
<claim-result-metadata [entity]="inlineEntity"></claim-result-metadata>
|
||||
<claim-project-metadata [entity]="inlineEntity"></claim-project-metadata>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
<div *ngIf="!inlineEntity && sources.length == 0 ">
|
||||
|
||||
<div class="uk-alert dangerBorder no-selected-message uk-text-center">
|
||||
<span class="uk-text-bold uk-text-danger"> SOURCES cannot be empty.</span><br>
|
||||
Start by adding your linking sources first, go to <a (click)="showOptions.showSource() "
|
||||
class="uk-link">
|
||||
step 1</a>.
|
||||
</div>
|
||||
<div class="uk-grid uk-margin-remove-top uk-margin-bottom">
|
||||
|
||||
</div>
|
||||
<ul *ngIf="!inlineEntity && sources.length > 0 " class="uk-list uk-animation-fade uk-list-divider">
|
||||
<li *ngFor=" let entity of sources ">
|
||||
<div class="uk-grid uk-text-small uk-margin-top">
|
||||
<div class="uk-text-muted uk-width-1-2 uk-flex uk-flex-middle">
|
||||
<span class="material-icons uk-text-small uk-text-meta">insert_drive_file</span>
|
||||
{{(!entity.result) ? entity.type : ((entity.result && entity.result.source == 'openaire') ? entity.type : (entity.result && entity.result.source + ' result'))}}
|
||||
</div>
|
||||
<div *ngIf="entity.errorMessages.length > 0"
|
||||
class="uk-text-danger uk-width-1-2"> Link couldn't be saved
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-grid uk-margin-remove-top uk-margin-bottom">
|
||||
|
||||
<div class="uk-width-expand ">
|
||||
|
||||
<claim-title [shortVersion]="true" [entity]="entity" [showIcon]="false"></claim-title>
|
||||
<claim-result-metadata [entity]="entity"></claim-result-metadata>
|
||||
<claim-project-metadata [entity]="entity"></claim-project-metadata>
|
||||
<div *ngIf="entity.result && entity.result.source && entity.result.source!='openaire' "
|
||||
class="uk-grid uk-margin-remove-left uk-margin-small-top uk-text-small">
|
||||
<div class="uk-width-1-2 uk-padding-remove-left">
|
||||
<!-- <span class="uk-text-muted">Type </span>-->
|
||||
<!-- <mat-select [(ngModel)]="entity.type" name="{{'select_type_'+entity.id}}"-->
|
||||
<!-- class="uk-select uk-width-small matSelection"-->
|
||||
<!-- [disableOptionCentering]="true"-->
|
||||
<!-- panelClass="entitiesSelectionPanel">-->
|
||||
<!-- <mat-option [value]="'publication'"-->
|
||||
<!-- (click)="onTypeChanged('publication',entity, false)">Publication-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option [value]="'dataset'"-->
|
||||
<!-- (click)="onTypeChanged('dataset',entity, false)">Research data-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option [value]="'software'" (click)="onTypeChanged('software',entity, false)">Software-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option [value]="'other'"-->
|
||||
<!-- (click)="onTypeChanged('other',entity, false)">Other research product-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- </mat-select>-->
|
||||
|
||||
<mat-form-field class="matSelectionFormField">
|
||||
<mat-label>Type</mat-label>
|
||||
<mat-select [(ngModel)]="entity.type" name="{{'select_type_'+entity.id}}"
|
||||
class="matSelection"
|
||||
[disableOptionCentering]="true"
|
||||
panelClass="entitiesSelectionPanel">
|
||||
<mat-option [value]="'publication'"
|
||||
(click)="onTypeChanged('publication',entity, false)">Publication
|
||||
</mat-option>
|
||||
<mat-option [value]="'dataset'"
|
||||
(click)="onTypeChanged('dataset',entity, false)">Research data
|
||||
</mat-option>
|
||||
<mat-option [value]="'software'" (click)="onTypeChanged('software',entity, false)">Software
|
||||
</mat-option>
|
||||
<mat-option [value]="'other'"
|
||||
(click)="onTypeChanged('other',entity, false)">Other research product
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
<div class="uk-width-1-2">
|
||||
<div class="uk-grid">
|
||||
<!-- <span class="uk-text-muted uk-margin-small-top uk-padding-remove-left">Access mode</span>-->
|
||||
<claim-title [shortVersion]="true" [entity]="entity" [showIcon]="false"></claim-title>
|
||||
<claim-result-metadata [entity]="entity"></claim-result-metadata>
|
||||
<claim-project-metadata [entity]="entity"></claim-project-metadata>
|
||||
<div *ngIf="entity.result && entity.result.source && entity.result.source!='openaire' "
|
||||
class="uk-grid uk-margin-remove-left uk-margin-small-top uk-text-small">
|
||||
<div class="uk-width-1-2 uk-padding-remove-left">
|
||||
<!-- <span class="uk-text-muted">Type </span>-->
|
||||
<!-- <mat-select [(ngModel)]="entity.type" name="{{'select_type_'+entity.id}}"-->
|
||||
<!-- class="uk-select uk-width-small matSelection"-->
|
||||
<!-- [disableOptionCentering]="true"-->
|
||||
<!-- panelClass="entitiesSelectionPanel">-->
|
||||
<!-- <mat-option [value]="'publication'"-->
|
||||
<!-- (click)="onTypeChanged('publication',entity, false)">Publication-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option [value]="'dataset'"-->
|
||||
<!-- (click)="onTypeChanged('dataset',entity, false)">Research data-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option [value]="'software'" (click)="onTypeChanged('software',entity, false)">Software-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- <mat-option [value]="'other'"-->
|
||||
<!-- (click)="onTypeChanged('other',entity, false)">Other research product-->
|
||||
<!-- </mat-option>-->
|
||||
<!-- </mat-select>-->
|
||||
|
||||
<mat-form-field class="matSelectionFormField">
|
||||
<mat-label>Access mode </mat-label>
|
||||
<mat-select [(ngModel)]="entity.result.accessRights" name="{{'select_rights_'+entity.id}}"
|
||||
class="uk-padding-remove-left matSelection"
|
||||
[disableOptionCentering]="true"
|
||||
panelClass="matSelectionPanel">
|
||||
<mat-option *ngFor="let type of accessTypes" [value]="type"
|
||||
(click)="accessRightsTypeChanged(type,entity, false)">{{type}}</mat-option>
|
||||
<mat-label>Type</mat-label>
|
||||
<mat-select [(ngModel)]="entity.type" name="{{'select_type_'+entity.id}}"
|
||||
class="matSelection"
|
||||
[disableOptionCentering]="true"
|
||||
panelClass="entitiesSelectionPanel">
|
||||
<mat-option [value]="'publication'"
|
||||
(click)="onTypeChanged('publication',entity, false)">Publication
|
||||
</mat-option>
|
||||
<mat-option [value]="'dataset'"
|
||||
(click)="onTypeChanged('dataset',entity, false)">Research data
|
||||
</mat-option>
|
||||
<mat-option [value]="'software'" (click)="onTypeChanged('software',entity, false)">
|
||||
Software
|
||||
</mat-option>
|
||||
<mat-option [value]="'other'"
|
||||
(click)="onTypeChanged('other',entity, false)">Other research product
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field *ngIf="entity.result.accessRights== 'EMBARGO'">
|
||||
<input matInput [matDatepicker]="picker" placeholder="Choose embargo end date"
|
||||
(click)="picker.open()" [ngModel]="embargoEndDates[entity.id+'_source']"
|
||||
(dateInput)="onDateChanged($event, entity, false)" (dateChange)="onDateChanged($event, entity, false)">
|
||||
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #picker [startAt]="embargoEndDates[entity.id+'_source']" ng-model-options="{ timezone: 'utc' }"></mat-datepicker>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
<div *ngIf="entity.result.accessRights== 'EMBARGO' && getEmbargoEndDateMessage(entity)"
|
||||
[class]="(getEmbargoEndDateMessage(entity)?'uk-text-warning':'')">{{getEmbargoEndDateMessage(entity)}}
|
||||
<div class="uk-width-1-2">
|
||||
<div class="uk-grid">
|
||||
<!-- <span class="uk-text-muted uk-margin-small-top uk-padding-remove-left">Access mode</span>-->
|
||||
<mat-form-field class="matSelectionFormField">
|
||||
<mat-label>Access mode</mat-label>
|
||||
<mat-select [(ngModel)]="entity.result.accessRights"
|
||||
name="{{'select_rights_'+entity.id}}"
|
||||
class="uk-padding-remove-left matSelection"
|
||||
[disableOptionCentering]="true"
|
||||
panelClass="matSelectionPanel">
|
||||
<mat-option *ngFor="let type of accessTypes" [value]="type"
|
||||
(click)="accessRightsTypeChanged(type,entity, false)">{{type}}</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
<mat-form-field *ngIf="entity.result.accessRights== 'EMBARGO'">
|
||||
<input matInput [matDatepicker]="picker" placeholder="Choose embargo end date"
|
||||
(click)="picker.open()" [ngModel]="embargoEndDates[entity.id+'_source']"
|
||||
(dateInput)="onDateChanged($event, entity, false)"
|
||||
(dateChange)="onDateChanged($event, entity, false)">
|
||||
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #picker [startAt]="embargoEndDates[entity.id+'_source']"
|
||||
ng-model-options="{ timezone: 'utc' }"></mat-datepicker>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div *ngIf="entity.result.accessRights== 'EMBARGO' && getEmbargoEndDateMessage(entity)"
|
||||
[class]="(getEmbargoEndDateMessage(entity)?'uk-text-warning':'')">{{getEmbargoEndDateMessage(entity)}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class=" uk-margin-auto-vertical uk-padding-remove-left uk-margin-small-left">
|
||||
<a class=" uk-link "
|
||||
(click)="remove(entity, false)">
|
||||
<span uk-icon="close"> </span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- Results-->
|
||||
<div class=" ">
|
||||
<div class=" uk-margin " >
|
||||
<span class=" uk-h6 "> LINK TO ({{results.length | number}})</span>
|
||||
|
||||
|
||||
<a class="uk-float-right" (click)="showOptions.showLinkTo()"> <span
|
||||
uk-icon="pencil"></span>Edit
|
||||
entities</a>
|
||||
</div>
|
||||
<div *ngIf="results.length == 0">
|
||||
<div class="uk-alert dangerBorder no-selected-message uk-text-center">
|
||||
<span class="uk-text-bold uk-text-danger"> LINK TO list cannot be empty.</span><br>
|
||||
Start by adding sources to link to first, go to <a (click)="showOptions.showLinkTo() "
|
||||
class="uk-link">
|
||||
step 2</a>.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<ul *ngIf="results.length > 0 " class="uk-list uk-animation-fade uk-list-divider">
|
||||
<li *ngFor=" let entity of results "
|
||||
style="z-index: 0 !important;">
|
||||
<div class="uk-grid uk-text-small uk-margin-top">
|
||||
<div class="uk-text-muted uk-width-1-2 uk-flex uk-flex-middle">
|
||||
<span *ngIf="entity.result" class="material-icons uk-text-small uk-text-meta">insert_drive_file
|
||||
</span>
|
||||
<span *ngIf="entity.project"
|
||||
class="material-icons uk-text-small uk-text-meta">assignment_turned_in
|
||||
</span>
|
||||
<span *ngIf="entity.type=='community'"
|
||||
class="material-icons uk-text-small uk-text-meta">people
|
||||
</span>
|
||||
{{(!entity.result) ? entity.type : ((entity.result && entity.result.source == 'openaire') ? entity.type : (entity.result && entity.result.source + ' result'))}}
|
||||
</div>
|
||||
<div *ngIf="entity.errorMessages.length > 0"
|
||||
class="uk-text-danger uk-width-1-2"> Link couldn't be saved
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-grid uk-margin-remove-top uk-margin-bottom">
|
||||
<div class="uk-width-expand">
|
||||
|
||||
<claim-title [shortVersion]="true" [entity]="entity" [showIcon]="false"></claim-title>
|
||||
<claim-result-metadata [entity]="entity"></claim-result-metadata>
|
||||
<claim-project-metadata [entity]="entity"></claim-project-metadata>
|
||||
</div>
|
||||
<div class="uk-margin-auto-vertical uk-padding-remove-left uk-margin-small-left">
|
||||
<a class="uk-link "
|
||||
(click)="remove(entity, true)">
|
||||
<span uk-icon="close"> </span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-padding-remove-top uk-padding-remove-bottom uk-width-1-1 uk-padding-remove-left ">
|
||||
|
||||
|
||||
<claim-insert [results]="results" [sources]="sources" [inlineEntity]="inlineEntity"
|
||||
[properties]=properties [localStoragePrefix]=localStoragePrefix
|
||||
class=" " [errors]="errors" (insertFinished)="runValidation(false); updateLocalStorage();"
|
||||
[defaultColors]="defaultColors" [communityId]="communityId">
|
||||
</claim-insert>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-width-1-3" *ngIf="errors.length > 0 || warnings.length > 0">
|
||||
<!-- Errors and Warning -->
|
||||
<div *ngIf="errors.length > 0" class=" uk-margin uk-h6 uk-text-danger uk-animation-toggle" >
|
||||
ERRORS ({{errors.length | number}})
|
||||
|
||||
</div>
|
||||
<div *ngIf="errors.length > 0 " class="">
|
||||
<div *ngFor=" let message of errors " class="uk-alert uk-alert-danger">
|
||||
<div *ngIf="message.type == 'claimServiceFail2Insert'">
|
||||
<div class="">
|
||||
|
||||
<span class=" uk-text-bold"> Fail to save {{message.failed|number}}
|
||||
{{message.failed > 1 ? 'links.' : 'link.'}}</span>
|
||||
<br>
|
||||
<div
|
||||
*ngIf="message.inserted>0">But {{message.inserted|number}} link{{message.inserted > 1 ? 's' : ''}} was
|
||||
successfully inserted.
|
||||
<div>
|
||||
<a routerLinkActive="router-link-active" routerLink="/myclaims">Manage your links here</a>
|
||||
<div class=" uk-margin-auto-vertical uk-padding-remove-left uk-margin-small-left">
|
||||
<a class=" uk-link "
|
||||
(click)="remove(entity, false)">
|
||||
<span uk-icon="close"> </span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="message.type == 'claimServiceFail'">
|
||||
|
||||
<div class="">
|
||||
<span class=" uk-text-bold"> An error occured while saving your links.</span>
|
||||
<br>
|
||||
None of the links saved.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="warnings.length > 0"
|
||||
class=" uk-margin uk-h6 uk-text-warning uk-animation-toggle"> WARNINGS
|
||||
({{warnings.length
|
||||
| number}})
|
||||
|
||||
</div>
|
||||
|
||||
<div *ngIf="warnings.length > 0 " class="">
|
||||
<div *ngFor=" let message of warnings " class="uk-alert uk-alert-warning">
|
||||
<div *ngIf="message.type == 'embargoEndDate'">
|
||||
<div class="uk-text-bold">
|
||||
Embargo date must be later than published date in
|
||||
</div>
|
||||
<div class="">
|
||||
{{message.resultTitle}}
|
||||
<!-- Results-->
|
||||
<div class=" ">
|
||||
<div class=" uk-margin ">
|
||||
<span class=" uk-h6 "> LINK TO ({{results.length | number}})</span>
|
||||
|
||||
|
||||
<a class="uk-float-right" (click)="showOptions.showLinkTo()"> <span
|
||||
uk-icon="pencil"></span>Edit
|
||||
entities</a>
|
||||
</div>
|
||||
<div *ngIf="results.length == 0">
|
||||
<div class="uk-alert dangerBorder no-selected-message uk-text-center">
|
||||
<span class="uk-text-bold uk-text-danger"> LINK TO list cannot be empty.</span><br>
|
||||
Start by adding sources to link to first, go to <a (click)="showOptions.showLinkTo() "
|
||||
class="uk-link">
|
||||
step 2</a>.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="message.type == 'projectDuration'">
|
||||
<div class="uk-text-bold">
|
||||
Published date must be in the project's date boundaries
|
||||
(from {{message.projectInfo.startDate}}{{(message.projectInfo.endDate) ? (' to ' + (addStringToNumber(message.projectInfo.endDate, 5))) : ''}}) in
|
||||
</div>
|
||||
<div class="">
|
||||
{{message.resultTitle}}
|
||||
</div>
|
||||
<div class="uk-text-muted uk-text-small">
|
||||
with link to
|
||||
</div>
|
||||
<div class="">
|
||||
{{message.projectInfo.title}}
|
||||
</div>
|
||||
<div><span class="uk-text-muted uk-text-small">
|
||||
Project boundaries: </span>({{message.projectInfo.startDate}}{{(message.projectInfo.endDate) ? (' - ' + (message.projectInfo.endDate) + ') +5 years') : ')'}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul *ngIf="results.length > 0 " class="uk-list uk-animation-fade uk-list-divider">
|
||||
<li *ngFor=" let entity of results "
|
||||
style="z-index: 0 !important;">
|
||||
<div class="uk-grid uk-text-small uk-margin-top">
|
||||
<div class="uk-text-muted uk-width-1-2 uk-flex uk-flex-middle">
|
||||
<span *ngIf="entity.result" class="material-icons uk-text-small uk-text-meta">insert_drive_file
|
||||
</span>
|
||||
<span *ngIf="entity.project"
|
||||
class="material-icons uk-text-small uk-text-meta">assignment_turned_in
|
||||
</span>
|
||||
<span *ngIf="entity.type=='community'"
|
||||
class="material-icons uk-text-small uk-text-meta">people
|
||||
</span>
|
||||
{{(!entity.result) ? entity.type : ((entity.result && entity.result.source == 'openaire') ? entity.type : (entity.result && entity.result.source + ' result'))}}
|
||||
</div>
|
||||
<div *ngIf="entity.errorMessages.length > 0"
|
||||
class="uk-text-danger uk-width-1-2"> Link couldn't be saved
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-grid uk-margin-remove-top uk-margin-bottom">
|
||||
<div class="uk-width-expand">
|
||||
|
||||
<claim-title [shortVersion]="true" [entity]="entity" [showIcon]="false"></claim-title>
|
||||
<claim-result-metadata [entity]="entity"></claim-result-metadata>
|
||||
<claim-project-metadata [entity]="entity"></claim-project-metadata>
|
||||
</div>
|
||||
<div class="uk-margin-auto-vertical uk-padding-remove-left uk-margin-small-left">
|
||||
<a class="uk-link "
|
||||
(click)="remove(entity, true)">
|
||||
<span uk-icon="close"> </span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<modal-alert (alertOutput)="confirmClose()">
|
||||
</modal-alert>
|
||||
<claim-insert [results]="results" [sources]="sources" [inlineEntity]="inlineEntity"
|
||||
[properties]=properties [localStoragePrefix]=localStoragePrefix
|
||||
class=" " [errors]="errors" (insertFinished)="runValidation(false); updateLocalStorage();"
|
||||
[defaultColors]="defaultColors" [communityId]="communityId">
|
||||
</claim-insert>
|
||||
</div>
|
||||
<div class="uk-width-1-3" *ngIf="errors.length > 0 || warnings.length > 0">
|
||||
<!-- Errors and Warning -->
|
||||
<div *ngIf="errors.length > 0" class=" uk-margin uk-h6 uk-text-danger uk-animation-toggle">
|
||||
ERRORS ({{errors.length | number}})
|
||||
</div>
|
||||
<div *ngIf="errors.length > 0 " class="">
|
||||
<div *ngFor=" let message of errors " class="uk-alert uk-alert-danger">
|
||||
<div *ngIf="message.type == 'claimServiceFail2Insert'">
|
||||
<div class="">
|
||||
|
||||
<span class=" uk-text-bold"> Fail to save {{message.failed|number}}
|
||||
{{message.failed > 1 ? 'links.' : 'link.'}}</span>
|
||||
<br>
|
||||
<div
|
||||
*ngIf="message.inserted>0">But {{message.inserted|number}}
|
||||
link{{message.inserted > 1 ? 's' : ''}} was
|
||||
successfully inserted.
|
||||
<div>
|
||||
<a routerLinkActive="router-link-active" routerLink="/myclaims">Manage your links here</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="message.type == 'claimServiceFail'">
|
||||
|
||||
<div class="">
|
||||
<span class=" uk-text-bold"> An error occured while saving your links.</span>
|
||||
<br>
|
||||
None of the links saved.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="warnings.length > 0"
|
||||
class=" uk-margin uk-h6 uk-text-warning uk-animation-toggle"> WARNINGS
|
||||
({{warnings.length
|
||||
| number}})
|
||||
|
||||
</div>
|
||||
|
||||
<div *ngIf="warnings.length > 0 " class="">
|
||||
<div *ngFor=" let message of warnings " class="uk-alert uk-alert-warning">
|
||||
<div *ngIf="message.type == 'embargoEndDate'">
|
||||
<div class="uk-text-bold">
|
||||
Embargo date must be later than published date in
|
||||
</div>
|
||||
<div class="">
|
||||
{{message.resultTitle}}
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="message.type == 'projectDuration'">
|
||||
<div class="uk-text-bold">
|
||||
Published date must be in the project's date boundaries
|
||||
(from {{message.projectInfo.startDate}}{{(message.projectInfo.endDate) ? (' to ' + (addStringToNumber(message.projectInfo.endDate, 5))) : ''}}
|
||||
) in
|
||||
</div>
|
||||
<div class="">
|
||||
{{message.resultTitle}}
|
||||
</div>
|
||||
<div class="uk-text-muted uk-text-small">
|
||||
with link to
|
||||
</div>
|
||||
<div class="">
|
||||
{{message.projectInfo.title}}
|
||||
</div>
|
||||
<div><span class="uk-text-muted uk-text-small">
|
||||
Project boundaries: </span>({{message.projectInfo.startDate}}{{(message.projectInfo.endDate) ? (' - ' + (message.projectInfo.endDate) + ') +5 years') : ')'}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<modal-alert (alertOutput)="confirmClose()">
|
||||
</modal-alert>
|
||||
</div>
|
||||
|
||||
|
||||
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0" [texts]="pageContents['bottom']"></helper>
|
||||
</div>
|
||||
</div>
|
||||
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
|
||||
[texts]="pageContents['bottom']"></helper>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1016,7 +1016,7 @@ export class NewSearchPageComponent implements OnInit, OnDestroy, OnChanges {
|
|||
if (forceQuotted) {
|
||||
/** Remove double quotes **/
|
||||
fieldValue = fieldValue.replace(/["]+/g, '');
|
||||
return (countParams == 0 ? "" : " " + fieldOperator + " (") + this.getQuotedQueryPart(fieldId, '"' + fieldValue + '"', isSearchAll);
|
||||
return (countParams == 0 ? "(" : " " + fieldOperator + " (") + this.getQuotedQueryPart(fieldId, '"' + fieldValue + '"', isSearchAll);
|
||||
}
|
||||
if (quotedParts && quotedParts.length == 1 && quotedParts[0] == fieldValue) {
|
||||
params += this.getQuotedQueryPart(fieldId, fieldValue, isSearchAll);
|
||||
|
|
|
@ -10,7 +10,10 @@ declare var UIkit;
|
|||
<span>{{name}}<span *ngIf="count > 0">({{count}})</span></span>
|
||||
<icon [flex]="true" class="uk-margin-xsmall-left" [name]="'expand_' + (isOpen?'less':'more')"></icon>
|
||||
</button>
|
||||
<div #dropdownElement class="uk-dropdown uk-height-max-medium uk-overflow-auto" [ngClass]="dropdownClass" uk-dropdown="mode: click; delay-hide: 0;">
|
||||
<div #dropdownElement class="uk-dropdown"
|
||||
[class.uk-height-max-large]="overflow" [class.uk-overflow-auto]="overflow"
|
||||
[ngStyle]="dropdownMinWidth?{'min-width.px': dropdownMinWidth}:''"
|
||||
[ngClass]="dropdownClass" uk-dropdown="mode: click; delay-hide: 0;">
|
||||
<div>
|
||||
<ng-content></ng-content>
|
||||
</div>
|
||||
|
@ -25,6 +28,10 @@ export class DropdownFilterComponent {
|
|||
@Input()
|
||||
public dropdownClass: string;
|
||||
@Input()
|
||||
public dropdownMinWidth: number;
|
||||
@Input()
|
||||
public overflow: boolean = true;
|
||||
@Input()
|
||||
public disabled = false;
|
||||
@ViewChild("dropdownElement") dropdownElement: ElementRef;
|
||||
|
||||
|
|
Loading…
Reference in New Issue