From 8eb43945ce640cb1b39afc4cfffdb39362af750a Mon Sep 17 00:00:00 2001 From: "argiro.kokogiannaki" Date: Thu, 16 Apr 2020 09:30:31 +0000 Subject: [PATCH] [Library|Trunk] New Search pages: apply fixes for advanced search query git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@58504 d315682c-612b-4755-9ff5-7f18f6832af3 --- searchPages/searchUtils/newSearchPage.component.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/searchPages/searchUtils/newSearchPage.component.ts b/searchPages/searchUtils/newSearchPage.component.ts index dfaea455..9df9d8f9 100644 --- a/searchPages/searchUtils/newSearchPage.component.ts +++ b/searchPages/searchUtils/newSearchPage.component.ts @@ -680,7 +680,7 @@ export class NewSearchPageComponent { } else { params += this.createQuotedKeywordQuery(this.selectedFields[i].value, this.selectedFields[i].id, this.selectedFields[i].operatorId,countParams,true); }*/ - params += NewSearchPageComponent.createKeywordQuery(this.entityType,this.selectedFields[i].value, this.selectedFields[i].id, this.selectedFields[i].operatorId, countParams); + params +=(countParams == 0 ? "" : " " + this.selectedFields[i].operatorId + " ") + NewSearchPageComponent.createKeywordQuery(this.entityType,this.selectedFields[i].value, this.selectedFields[i].id, this.selectedFields[i].operatorId, countParams); //TODO deposit case // console.log(this.usedBy) // console.log(this.keywordFields) @@ -709,7 +709,7 @@ export class NewSearchPageComponent { } else if(this.fieldIdsMap[this.selectedFields[i].id].equalityOperator == "=") { params+=NewSearchPageComponent.createQuotedKeywordQuery(this.selectedFields[i].value, this.selectedFields[i].id, this.selectedFields[i].operatorId, countParams, false); }else{ - params += (countParams == 0 ? "" : this.selectedFields[i].operatorId + " ") + this.selectedFields[i].id + this.fieldIdsMap[this.selectedFields[i].id].equalityOperator + '"' + encodeURIComponent(this.selectedFields[i].value) + '"' + " "; + params += (countParams == 0 ? "" : " " + this.selectedFields[i].operatorId + " ") + this.selectedFields[i].id + this.fieldIdsMap[this.selectedFields[i].id].equalityOperator + '"' + encodeURIComponent(this.selectedFields[i].value) + '"' + " "; } } @@ -741,7 +741,7 @@ export class NewSearchPageComponent { } } if (doisParams.length > 0) { - params += this.createQuotedKeywordQuery(value, id, operatorId ,countParams,true, true) + " or " + doisParams; + params += "(" + this.createQuotedKeywordQuery(value, id, operatorId ,countParams,true, true) + " or " + doisParams+")"; } else { params += this.createQuotedKeywordQuery(value, id, operatorId,countParams,true); } @@ -751,7 +751,8 @@ export class NewSearchPageComponent { private static createQuotedKeywordQuery(fieldValue, fieldId, fieldOperator, countParams:number, isSearchAll:boolean, forceQuotted:boolean=false){ let params = ""; let quotedParts = (fieldValue)?fieldValue.match(/(["'])(.*?)*?\1/g):[]; - params+= (countParams == 0 ? "" : fieldOperator) + " ("; + // params+= (countParams == 0 ? "" : fieldOperator) + + params+= " ("; if(forceQuotted){ return this.getQuotedQueryPart(fieldId, '"'+ fieldValue+'"',isSearchAll); } @@ -788,7 +789,7 @@ export class NewSearchPageComponent { }else{ params+=this.getNoQuotedQueryPart(fieldId, fieldValue,isSearchAll); } - params += " )"; + params += ")"; return params; }