From 9f9650f938e74adddabc2704dfe00dcf79219a2e Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Fri, 4 Feb 2022 16:03:45 +0700 Subject: [PATCH] Fixes multiple mentions issue (#929) Signed-off-by: Andrey Sobolev --- plugins/chunter-resources/src/backlinks.ts | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/plugins/chunter-resources/src/backlinks.ts b/plugins/chunter-resources/src/backlinks.ts index aad08427a8..ea5141789a 100644 --- a/plugins/chunter-resources/src/backlinks.ts +++ b/plugins/chunter-resources/src/backlinks.ts @@ -38,15 +38,20 @@ function extractBacklinks (backlinkId: Ref, backlinkClass: Ref>, nds.forEach((kid) => { if (kid.nodeType === Node.ELEMENT_NODE && (kid as HTMLElement).localName === 'span') { const el = kid as HTMLElement - result.push({ - attachedTo: el.getAttribute('data-id') as Ref, - attachedToClass: el.getAttribute('data-objectclass') as Ref>, - collection: 'backlinks', - backlinkId, - backlinkClass, - message, - attachedDocId - }) + const ato = el.getAttribute('data-id') as Ref + const atoClass = el.getAttribute('data-objectclass') as Ref> + const e = result.find(e => e.attachedTo === ato && e.attachedToClass === atoClass) + if (e === undefined) { + result.push({ + attachedTo: ato, + attachedToClass: atoClass, + collection: 'backlinks', + backlinkId, + backlinkClass, + message, + attachedDocId + }) + } } nodes.push(kid.childNodes) })