Skip to content

Commit 67a1874

Browse files
juliusknorrnpmbuildbot[bot]
authored andcommitted
Move search handler for text to only trigger within the text input
Signed-off-by: Julius Härtl <[email protected]> Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
1 parent b1c705d commit 67a1874

File tree

10 files changed

+36
-28
lines changed

10 files changed

+36
-28
lines changed

js/editor.js

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/editor.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/files.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/files.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/public.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/public.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/text.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/text.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/EditorWrapper.vue

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,12 @@ export default {
229229
this.saveStatusPolling = setInterval(() => {
230230
this.updateLastSavedStatus()
231231
}, 2000)
232-
document.addEventListener('keydown', this._keyUpHandler, true)
233232
},
234233
beforeDestroy() {
235234
this.close()
236235
},
237236
methods: {
238237
async close() {
239-
document.removeEventListener('keydown', this._keyUpHandler, true)
240238
clearInterval(this.saveStatusPolling)
241239
if (this.currentSession && this.syncService) {
242240
try {
@@ -322,7 +320,7 @@ export default {
322320
},
323321
}),
324322
new Keymap({
325-
'Ctrl-s': () => {
323+
'Mod-s': () => {
326324
this.syncService.save()
327325
return true
328326
},
@@ -460,13 +458,6 @@ export default {
460458
}
461459
}
462460
},
463-
_keyUpHandler(event) {
464-
const key = event.key || event.keyCode
465-
if ((event.ctrlKey || event.metaKey) && !event.shiftKey && (key === 'f' || key === 70)) {
466-
event.stopPropagation()
467-
return true
468-
}
469-
},
470461
},
471462
}
472463
</script>

src/extensions/Keymap.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,33 @@
2020
*
2121
*/
2222

23-
import { Extension } from 'tiptap'
23+
import { Extension, Plugin } from 'tiptap'
2424

2525
export default class Keymap extends Extension {
2626

2727
get name() {
28-
return 'save'
28+
return 'customkeymap'
2929
}
3030

3131
keys({ schema }) {
3232
return this.options
3333
}
3434

35+
get plugins() {
36+
return [new Plugin({
37+
props: {
38+
handleKeyDown(view, event) {
39+
const key = event.key || event.keyCode
40+
if ((event.ctrlKey || event.metaKey) && !event.shiftKey && (key === 'f' || key === 70)) {
41+
// We need to stop propagation and dispatch the event on the window
42+
// in order to force triggering the browser native search in the text editor
43+
event.stopPropagation()
44+
window.dispatchEvent(event)
45+
return true
46+
}
47+
},
48+
},
49+
})]
50+
}
51+
3552
}

0 commit comments

Comments
 (0)