[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
This commit is contained in:
argiro.kokogiannaki 2020-04-16 09:30:31 +00:00
parent 5bdb42f471
commit 8eb43945ce
1 changed files with 6 additions and 5 deletions

View File

@ -680,7 +680,7 @@ export class NewSearchPageComponent {
} else { } else {
params += this.createQuotedKeywordQuery(this.selectedFields[i].value, this.selectedFields[i].id, this.selectedFields[i].operatorId,countParams,true); 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 //TODO deposit case
// console.log(this.usedBy) // console.log(this.usedBy)
// console.log(this.keywordFields) // console.log(this.keywordFields)
@ -709,7 +709,7 @@ export class NewSearchPageComponent {
} else if(this.fieldIdsMap[this.selectedFields[i].id].equalityOperator == "=") { } 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); params+=NewSearchPageComponent.createQuotedKeywordQuery(this.selectedFields[i].value, this.selectedFields[i].id, this.selectedFields[i].operatorId, countParams, false);
}else{ }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) { 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 { } else {
params += this.createQuotedKeywordQuery(value, id, operatorId,countParams,true); 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){ private static createQuotedKeywordQuery(fieldValue, fieldId, fieldOperator, countParams:number, isSearchAll:boolean, forceQuotted:boolean=false){
let params = ""; let params = "";
let quotedParts = (fieldValue)?fieldValue.match(/(["'])(.*?)*?\1/g):[]; let quotedParts = (fieldValue)?fieldValue.match(/(["'])(.*?)*?\1/g):[];
params+= (countParams == 0 ? "" : fieldOperator) + " ("; // params+= (countParams == 0 ? "" : fieldOperator) +
params+= " (";
if(forceQuotted){ if(forceQuotted){
return this.getQuotedQueryPart(fieldId, '"'+ fieldValue+'"',isSearchAll); return this.getQuotedQueryPart(fieldId, '"'+ fieldValue+'"',isSearchAll);
} }
@ -788,7 +789,7 @@ export class NewSearchPageComponent {
}else{ }else{
params+=this.getNoQuotedQueryPart(fieldId, fieldValue,isSearchAll); params+=this.getNoQuotedQueryPart(fieldId, fieldValue,isSearchAll);
} }
params += " )"; params += ")";
return params; return params;
} }