Skip to content

Commit 619a088

Browse files
authored
Merge pull request ecamp#5285 from manuelmeister/feature/cursor-indicator-link
TipTap Autolink: Show cursor on hover + meta/ctrl
2 parents a39df78 + 0b20913 commit 619a088

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

frontend/src/components/form/tiptap/TiptapEditor.vue

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
<template>
2-
<div class="editor" :class="{ 'editor--editable': editable }">
2+
<div
3+
class="editor"
4+
:class="{
5+
'editor--editable': editable,
6+
'editor--link-cursor': hoverCursor,
7+
}"
8+
>
39
<bubble-menu
410
v-if="withExtensions"
511
ref="bubbleMenu"
@@ -185,6 +191,7 @@ export default {
185191
}
186192
187193
return {
194+
hoverCursor: false,
188195
editor: new Editor({
189196
extensions: extensions,
190197
content: this.value,
@@ -259,13 +266,29 @@ export default {
259266
})
260267
},
261268
},
269+
mounted() {
270+
document.addEventListener('keydown', this.specialKeyListeners, { passive: true })
271+
document.addEventListener('keyup', this.specialKeyListeners, { passive: true })
272+
document.addEventListener('contextmenu', this.specialMenuListeners, { passive: true })
273+
},
274+
beforeDestroy() {
275+
document.removeEventListener('keydown', this.specialKeyListeners)
276+
document.removeEventListener('keyup', this.specialKeyListeners)
277+
document.removeEventListener('contextmenu', this.specialMenuListeners)
278+
},
262279
methods: {
263280
focus() {
264281
this.editor.commands.focus()
265282
},
266283
onUpdate() {
267284
this.$emit('input', this.html)
268285
},
286+
specialKeyListeners(event) {
287+
this.hoverCursor = event.metaKey || event.ctrlKey
288+
},
289+
specialMenuListeners() {
290+
this.hoverCursor = false
291+
},
269292
},
270293
}
271294
</script>
@@ -364,4 +387,7 @@ div.editor:deep(.editor__content .ProseMirror li p:not(:last-child)) {
364387
.editor.editor--editable:deep(.autolink) {
365388
cursor: text;
366389
}
390+
.editor.editor--link-cursor:deep(.autolink) {
391+
cursor: pointer;
392+
}
367393
</style>

0 commit comments

Comments
 (0)