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 1/2] 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) } }, }, From da0ef2ff3a1c52392b9645bb543f717a9a083d0a 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:25:08 +0200 Subject: [PATCH 2/2] code style fixes --- packages/tiptap-extensions/src/marks/Link.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tiptap-extensions/src/marks/Link.js b/packages/tiptap-extensions/src/marks/Link.js index aea97bb0..e1497ea6 100644 --- a/packages/tiptap-extensions/src/marks/Link.js +++ b/packages/tiptap-extensions/src/marks/Link.js @@ -22,7 +22,7 @@ export default class Link extends Mark { default: null, }, target: { - default: null + default: null, }, }, inclusive: false, @@ -38,7 +38,7 @@ export default class Link extends Mark { toDOM: node => ['a', { ...node.attrs, rel: 'noopener noreferrer nofollow', - target : this.options.target, + target: this.options.target, }, 0], } }