From 1d064072c2a5df03e35e2f9ee45f6edbbcd1ea01 Mon Sep 17 00:00:00 2001 From: Maksim Karmatskikh Date: Wed, 2 Aug 2023 10:42:43 +0600 Subject: [PATCH] UBER-532: Copy issue URL works wrong (#3529) Signed-off-by: Maxim Karmatskikh --- .../src/components/message/Nodes.svelte | 36 +++++++++++-------- .../src/components/InviteLink.svelte | 8 +++-- plugins/recruit-resources/src/utils.ts | 11 +++--- .../issues/IssueNotification.svelte | 6 ++-- plugins/tracker-resources/src/issues.ts | 7 ++-- 5 files changed, 42 insertions(+), 26 deletions(-) diff --git a/packages/presentation/src/components/message/Nodes.svelte b/packages/presentation/src/components/message/Nodes.svelte index 140ed1e62a..4f00377d30 100644 --- a/packages/presentation/src/components/message/Nodes.svelte +++ b/packages/presentation/src/components/message/Nodes.svelte @@ -17,6 +17,10 @@ import { CheckBox, Component, navigate, parseLocation } from '@hcengineering/ui' import view from '@hcengineering/view' + import { getMetadata } from '@hcengineering/platform' + + import presentation from '../../plugin' + export let nodes: NodeListOf function prevName (pos: number, nodes: NodeListOf): string | undefined { @@ -29,6 +33,21 @@ } return nodes[pos - 1]?.nodeName } + + function handleLink (node: HTMLElement, e: MouseEvent) { + try { + const href = node.getAttribute('href') + if (href) { + const url = new URL(href) + const frontUrl = getMetadata(presentation.metadata.FrontUrl) ?? window.location.origin + + if (url.origin === frontUrl) { + e.preventDefault() + navigate(parseLocation(url)) + } + } + } catch {} + } {#if nodes} @@ -81,20 +100,9 @@ {:else if node.nodeName === 'DIV'}
{:else if node.nodeName === 'A'} - { - try { - const url = new URL(node.getAttribute('href')) - - if (url.origin === window.location.origin) { - e.preventDefault() - navigate(parseLocation(url)) - } - } catch {} - }}> + handleLink(node, e)}> + + {:else if node.nodeName === 'LABEL'} {:else if node.nodeName === 'INPUT'} diff --git a/plugins/login-resources/src/components/InviteLink.svelte b/plugins/login-resources/src/components/InviteLink.svelte index bd0db34180..5d62444380 100644 --- a/plugins/login-resources/src/components/InviteLink.svelte +++ b/plugins/login-resources/src/components/InviteLink.svelte @@ -15,7 +15,8 @@