From a4c9c63311f934b1292cc75285a56ce92c86dc88 Mon Sep 17 00:00:00 2001 From: "konstantina.galouni" Date: Sat, 18 Feb 2023 03:44:30 +0200 Subject: [PATCH] [Explore & Library | explore-redesign]: searchResearchResults.service.ts: [Bug fix] Fix parsing of hostedBy_collectedFrom (download from/source) - initialize, add journal and sort outside the loop. --- services/searchResearchResults.service.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/services/searchResearchResults.service.ts b/services/searchResearchResults.service.ts index d83cd21b..3d81e667 100644 --- a/services/searchResearchResults.service.ts +++ b/services/searchResearchResults.service.ts @@ -220,11 +220,11 @@ export class SearchResearchResultsService { let instance; let length = Array.isArray(resData['children']['instance']) ? resData['children']['instance'].length : 1; + result.hostedBy_collectedFrom = new Array(); for (let i = 0; i < length; i++) { instance = Array.isArray(resData['children']['instance']) ? resData['children']['instance'][i] : resData['children']['instance']; this.parsingFunctions.parseTypes(result.types, types, instance); if(instance?.hasOwnProperty("hostedby")) { - result.hostedBy_collectedFrom = new Array(); if(instance.hasOwnProperty("webresource")) { let url = Array.isArray(instance['webresource'])?instance['webresource'][0].url:instance['webresource'].url; if(url.includes('&')) { @@ -233,14 +233,16 @@ export class SearchResearchResultsService { if(instance.hasOwnProperty("hostedby")) { this.parsingFunctions.parseHostedBy_collectedFrom(result.hostedBy_collectedFrom, instance, url, result.title.accessMode); } - result.hostedBy_collectedFrom.sort(this.parsingFunctions.compareHostedByCollectedFrom); } } - let journal = resData['journal']?resData['journal'].content:null; - result.hostedBy_collectedFrom = this.parsingFunctions.addPublisherToHostedBy_collectedFrom( - result.hostedBy_collectedFrom, result.publisher, - journal, result.identifiers); } + let journal = resData['journal']?resData['journal'].content:null; + result.hostedBy_collectedFrom = this.parsingFunctions.addPublisherToHostedBy_collectedFrom( + result.hostedBy_collectedFrom, result.publisher, + journal, result.identifiers); + console.log(result.hostedBy_collectedFrom); + result.hostedBy_collectedFrom.sort(this.parsingFunctions.compareHostedByCollectedFrom); + // Measure result.measure = this.parsingFunctions.parseMeasures(resData['measure']); /////////////////////////// Athena Code ///////////////////////////