mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-07 10:17:42 +02:00
UBER-532: Copy issue URL works wrong (#3529)
Signed-off-by: Maxim Karmatskikh <mkarmatskih@gmail.com>
This commit is contained in:
@@ -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<any>
|
||||
|
||||
function prevName (pos: number, nodes: NodeListOf<any>): 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 {}
|
||||
}
|
||||
</script>
|
||||
|
||||
{#if nodes}
|
||||
@@ -81,20 +100,9 @@
|
||||
{:else if node.nodeName === 'DIV'}
|
||||
<div><svelte:self nodes={node.childNodes} /></div>
|
||||
{:else if node.nodeName === 'A'}
|
||||
<a
|
||||
href={node.getAttribute('href')}
|
||||
target={node.getAttribute('target')}
|
||||
on:click={(e) => {
|
||||
try {
|
||||
const url = new URL(node.getAttribute('href'))
|
||||
|
||||
if (url.origin === window.location.origin) {
|
||||
e.preventDefault()
|
||||
navigate(parseLocation(url))
|
||||
}
|
||||
} catch {}
|
||||
}}><svelte:self nodes={node.childNodes} /></a
|
||||
>
|
||||
<a href={node.getAttribute('href')} target={node.getAttribute('target')} on:click={(e) => handleLink(node, e)}>
|
||||
<svelte:self nodes={node.childNodes} />
|
||||
</a>
|
||||
{:else if node.nodeName === 'LABEL'}
|
||||
<svelte:self nodes={node.childNodes} />
|
||||
{:else if node.nodeName === 'INPUT'}
|
||||
|
||||
Reference in New Issue
Block a user