[Trunk | Library]:

1. newSearchPage.component.ts: 
	a. For filter with type "identifier", build params by calling createKeywordQuery() method (currently useless - authorid filter will be changed to type "identifier" on following commits).
	b. [Bug fix] EncodeURI the identifier.id of identifiers.
2. searchResult.component.ts: [Bug fix] Add check if result.identifiers.get("doi").
3. showIdentifiers.component.ts: [Bug fix] Add comma "," and "..." when needed.
4. showPublisher.component.ts: [Bug fix] Add class "uk-display-inline-block" for not breaking "Sherpa/ RoMEO" icon from text.
5. resultLanding.service.ts: [Bug fix] Set resultLandingInfo.title to title with classid=="main title" (requested in ticket #6342).


git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@60397 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
konstantina.galouni 2021-02-10 09:33:36 +00:00
parent f57e7d4d60
commit 66645f70f2
5 changed files with 37 additions and 11 deletions

View File

@ -1,6 +1,7 @@
import {Component, Input} from '@angular/core'; import {Component, Input} from '@angular/core';
import {HelperFunctions} from "../../utils/HelperFunctions.class"; import {HelperFunctions} from "../../utils/HelperFunctions.class";
import {EnvProperties} from "../../utils/properties/env-properties"; import {EnvProperties} from "../../utils/properties/env-properties";
import {properties} from "../../../../environments/environment";
@Component({ @Component({
selector: 'showIdentifiers', selector: 'showIdentifiers',
@ -25,7 +26,11 @@ import {EnvProperties} from "../../utils/properties/env-properties";
{{item}} <span class="custom-external custom-icon space"></span> {{item}} <span class="custom-external custom-icon space"></span>
</a> </a>
</span> </span>
<span *ngIf="j !== (identifiers.get(key).length - 1)">, </span> <!-- <span *ngIf="j !== (identifiers.get(key).length - 1)">, </span>-->
<span *ngIf="(j !== (identifiers.get(key).length - 1)) && (showAll || ((sizeOfPreviousIdentifiers+j+1) < pageSize))">, </span>
<span *ngIf="!showAll && (sizeOfPreviousIdentifiers+j+1) == pageSize && sizeOfIdentifiers > pageSize"> ... </span>
</span> </span>
</ng-container> </ng-container>
</span> </span>
@ -37,14 +42,14 @@ import {EnvProperties} from "../../utils/properties/env-properties";
</a> </a>
</div> </div>
<div *ngIf="showAll && countIdentifiers() > pageSize" class="uk-text-right"> <div *ngIf="showAll && countIdentifiers() > pageSize" class="uk-text-right">
<a (click)="showAll = !showAll; scroll()">View less identifiers</a> <a (click)="showAll = !showAll;">View less identifiers</a>
</div> </div>
` `
}) })
export class ShowIdentifiersComponent { export class ShowIdentifiersComponent {
@Input() identifiers: Map<string, string[]>; @Input() identifiers: Map<string, string[]>;
@Input() properties: EnvProperties; @Input() properties: EnvProperties = properties;
public showAll: boolean = false; public showAll: boolean = false;
public sizeOfIdentifiers: number = -1; public sizeOfIdentifiers: number = -1;
public sizeOfPreviousIdentifiers: number = -1; public sizeOfPreviousIdentifiers: number = -1;
@ -71,12 +76,21 @@ export class ShowIdentifiersComponent {
let num: number = 0; let num: number = 0;
let i: number = 0; let i: number = 0;
if (this.identifiers != undefined) { if (this.identifiers != undefined) {
this.identifiers.forEach(function (value, key, map) { let self = this;
this.getKeys(this.identifiers).forEach(function(key: string) {
// console.debug("value:", self.identifiers.get(key));
if (i < index) { if (i < index) {
num += value.length; num += self.identifiers.get(key).length;
} }
i++; i++;
}); })
// this.identifiers.forEach(function (value, key, map) {
// console.debug("value:", value);
// if (i < index) {
// num += value.length;
// }
// i++;
// });
} }
this.sizeOfPreviousIdentifiers = num; this.sizeOfPreviousIdentifiers = num;
return num; return num;

View File

@ -58,7 +58,7 @@ import {EnvProperties} from "../../utils/properties/env-properties";
<span>, </span> <span>, </span>
</span> </span>
<span *ngIf="journal && (journal['issn'] ||journal['lissn'] || journal['eissn'] )"> <span *ngIf="journal && (journal['issn'] ||journal['lissn'] || journal['eissn'] )">
<a target="_blank" <a target="_blank" class="uk-display-inline-block"
[href]="properties.sherpaURL+(journal['issn']?journal['issn']:(journal['eissn']?journal['eissn']:journal['lissn'] ))+properties.sherpaURLSuffix" [href]="properties.sherpaURL+(journal['issn']?journal['issn']:(journal['eissn']?journal['eissn']:journal['lissn'] ))+properties.sherpaURLSuffix"
uk-tooltip="title: View information on Sherpa/RoMEO "> uk-tooltip="title: View information on Sherpa/RoMEO ">
<img src="assets/common-assets/common/SHERPA-RoMEO-short-logo.gif" width=16 height=16 alt=""> <img src="assets/common-assets/common/SHERPA-RoMEO-short-logo.gif" width=16 height=16 alt="">

View File

@ -151,7 +151,15 @@ export class ResultLandingService {
// res['result']['metadata']['oaf:entity']['oaf:result']['title'] // res['result']['metadata']['oaf:entity']['oaf:result']['title']
if(data[1] != null) { if(data[1] != null) {
if(Array.isArray(data[1])) { if(Array.isArray(data[1])) {
this.resultLandingInfo.title = (data[1][0] && data[1][0].content) ? String(data[1][0].content) : ""; for(let i=0; i<data[1].length; i++) {
if(data[1][i] && data[1][i].content) {
this.resultLandingInfo.title = data[1][i].content;
if(data[1][i].classid == "main title") {
break;
}
}
}
// this.resultLandingInfo.title = (data[1][0] && data[1][0].content) ? String(data[1][0].content) : "";
if(data[1][1].classid === 'subtitle') { if(data[1][1].classid === 'subtitle') {
this.resultLandingInfo.subtitle = (data[1][1] && data[1][1].content) ? String(data[1][1].content) : ""; this.resultLandingInfo.subtitle = (data[1][1] && data[1][1].content) ? String(data[1][1].content) : "";
} }

View File

@ -881,6 +881,8 @@ export class NewSearchPageComponent {
} }
} }
} else if(this.selectedFields[i].type == "identifier") {
params += NewSearchPageComponent.createKeywordQuery(this.entityType,this.selectedFields[i].value, this.selectedFields[i].id, this.selectedFields[i].operatorId, countParams);
} else if (countParams == 0 && this.selectedFields[i].operatorId == "not" && this.fieldIdsMap[this.selectedFields[i].id].equalityOperator != "=") { } else if (countParams == 0 && this.selectedFields[i].operatorId == "not" && this.fieldIdsMap[this.selectedFields[i].id].equalityOperator != "=") {
params += " " + this.selectedFields[i].id + " <> " + '"' + StringUtils.URIEncode(this.selectedFields[i].value) + '"' + " "; params += " " + this.selectedFields[i].id + " <> " + '"' + StringUtils.URIEncode(this.selectedFields[i].value) + '"' + " ";
} else if(this.fieldIdsMap[this.selectedFields[i].id].equalityOperator == "=") { } else if(this.fieldIdsMap[this.selectedFields[i].id].equalityOperator == "=") {
@ -908,9 +910,11 @@ export class NewSearchPageComponent {
// pidclassid exact \"doi\" and pid exact \"10.1016/j.nima.2015.11.134\" // pidclassid exact \"doi\" and pid exact \"10.1016/j.nima.2015.11.134\"
//and (authorid exact \"0000-0001-7291-3210 \" )" //and (authorid exact \"0000-0001-7291-3210 \" )"
if(identifier.class == "ORCID"){ if(identifier.class == "ORCID"){
doisParams += (doisParams.length > 0 ? " or " : "") +'(authorid="' + identifier.id + '")'; doisParams += (doisParams.length > 0 ? " or " : "") +'(authorid="' + StringUtils.URIEncode(identifier.id) + '")';
// doisParams += (doisParams.length > 0 ? " or " : "") +'(authorid="' + StringUtils.URIEncode(identifier.id) + '" and (authoridtype exact "orcid"))';
}else{ }else{
doisParams += (doisParams.length > 0 ? " or " : "") +'(pidclassid exact "' + identifier.class + '" and pid="' + identifier.id + '")'; doisParams += (doisParams.length > 0 ? " or " : "") +'(pidclassid exact "' + identifier.class + '" and pid="' + StringUtils.URIEncode(identifier.id) + '")';
// doisParams += (doisParams.length > 0 ? " or " : "") +'(pidclassid exact "' + identifier.class + '" and pid="' + identifier.id + '")';
} }
} }
} }

View File

@ -76,7 +76,7 @@ export class SearchResultComponent implements OnInit, OnChanges {
impact[result.doi]=result; impact[result.doi]=result;
}); });
this.previewResults.forEach(function (result) { this.previewResults.forEach(function (result) {
if(result.identifiers) { if(result.identifiers && result.identifiers.get("doi")) {
result.identifiers.get("doi").forEach(function (doi) { result.identifiers.get("doi").forEach(function (doi) {
if (impact[doi]) { if (impact[doi]) {
result.DOI = doi; result.DOI = doi;