From 03980a95e189157393466ca4513e1ff281a16dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B8=D0=BC=D0=B8=D1=82=D1=8A=D1=80=20=D0=98=D0=BB?= =?UTF-8?q?=D0=BA=D0=BE=D0=B2?= Date: Fri, 28 Feb 2020 11:04:20 +0200 Subject: [PATCH] add option to put target for the created link --- packages/tiptap-extensions/src/marks/Link.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/tiptap-extensions/src/marks/Link.js b/packages/tiptap-extensions/src/marks/Link.js index 34113f01..aea97bb0 100644 --- a/packages/tiptap-extensions/src/marks/Link.js +++ b/packages/tiptap-extensions/src/marks/Link.js @@ -11,6 +11,7 @@ export default class Link extends Mark { get defaultOptions() { return { openOnClick: true, + target: null, } } @@ -20,6 +21,9 @@ export default class Link extends Mark { href: { default: null, }, + target: { + default: null + }, }, inclusive: false, parseDOM: [ @@ -27,12 +31,14 @@ export default class Link extends Mark { tag: 'a[href]', getAttrs: dom => ({ href: dom.getAttribute('href'), + target: dom.getAttribute('target'), }), }, ], toDOM: node => ['a', { ...node.attrs, rel: 'noopener noreferrer nofollow', + target : this.options.target, }, 0], } } @@ -71,7 +77,7 @@ export default class Link extends Mark { if (attrs.href && event.target instanceof HTMLAnchorElement) { event.stopPropagation() - window.open(attrs.href) + window.open(attrs.href, attrs.target) } }, },