in frontend/src/app/contact-center-analyst/home/home.component.ts [153:191]
updateInsights(generatedInsights: GeneratedInsights, isCustomer: boolean) {
const key = 'name';
const uniqueEntities = [...new Map(generatedInsights.entities.map(item => [item[key].replaceAll('*', ''), item])).values()];
const extractedEntities = uniqueEntities.filter((entity) => entity.name.length > 1).sort((a: Entity, b: Entity) => {
if (a.entity_type == "OTHER") {
return 1;
} else if (b.entity_type == "OTHER") {
return -1;
} else {
if (a.entity_type < b.entity_type) {
return -1;
}
if (a.entity_type > b.entity_type) {
return 1;
}
// names must be equal
return 0;
}
});
if (isCustomer) {
this.extractedEntities = extractedEntities;
this.extractedPendingTasksHTML = String(marked.parse(generatedInsights.pending_tasks));
this.generatedInsightsHTML = String(marked.parse(generatedInsights.insights));
this.generatedNextBestActionHTML = String(marked.parse(generatedInsights.next_best_action));
this.generatedSummaryHTML = String(marked.parse(generatedInsights.summary));
this.insightsLoading = false;
}
else {
this.extractedEntitiesSearch = extractedEntities;
this.extractedPendingTasksSearchHTML = String(marked.parse(generatedInsights.pending_tasks));
this.generatedInsightsSearchHTML = String(marked.parse(generatedInsights.insights));
this.generatedNextBestActionSearchHTML = String(marked.parse(generatedInsights.next_best_action));
this.generatedSummarySearchHTML = String(marked.parse(generatedInsights.summary));
this.searchInsightsLoading = false;
}
}