diff options
author | Jonas <jonas@freesources.org> | 2022-07-04 20:26:15 +0300 |
---|---|---|
committer | max-nextcloud (Rebase PR Action) <max-nextcloud@users.noreply.github.com> | 2022-07-05 06:50:33 +0300 |
commit | 5c93bbe1d874d2d3498abb26ad3cc49c0c1c62ba (patch) | |
tree | 2aef119dc7dec4f4f7bdf358def77307c8699bb2 | |
parent | 73e57c6ccd3f1b3380e2c105b39194c38d33446b (diff) |
Prevent opening links with default handler in RichTextReader
We use a prosemirror plugin with the `handleClick` handler to handle
clicking on links, so we don't want the default browser link handling to
happen.
See earlier commit 5bf15b4dc0e1e683f08db3aff57f258443715ef5 for
reference.
Signed-off-by: Jonas <jonas@freesources.org>
-rw-r--r-- | src/components/RichTextReader.vue | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/components/RichTextReader.vue b/src/components/RichTextReader.vue index 68eaf633c..791ef1d49 100644 --- a/src/components/RichTextReader.vue +++ b/src/components/RichTextReader.vue @@ -43,6 +43,7 @@ export default { link: { onClick: (event, attrs) => { this.$emit('click-link', event, attrs) + return true }, }, }), @@ -57,6 +58,22 @@ export default { }, }, + mounted() { + this.$el.addEventListener('click', this.preventOpeningLinks, true) + }, + + unmounted() { + this.$el.removeEventListener('click', this.preventOpeningLinks, true) + }, + + methods: { + preventOpeningLinks(event) { + // We use custom onClick handler only for left clicks + if (event.target.closest('a') && event.button === 0 && !event.ctrlKey) { + event.preventDefault() + } + }, + }, } </script> |