Add hot keys feature
Some checks failed
/ Run tests (push) Failing after 1m44s
/ Run system tests (push) Failing after 1m46s
/ Build, push and deploy image (push) Has been skipped

This commit is contained in:
david 2024-11-09 03:54:25 +01:00
parent 435e94c186
commit 016985d2cb
9 changed files with 41 additions and 6 deletions

View file

@ -6,4 +6,3 @@ import * as bootstrap from "bootstrap"
import "trix"
import "@rails/actiontext"
Trix.config.blockAttributes.default.tagName = 'p';

View file

@ -0,0 +1,22 @@
import { Controller } from "@hotwired/stimulus"
import { install } from '@github/hotkey'
// Connects to data-controller="hotkey"
export default class extends Controller {
connect() {
// Install all the hotkeys on the page
console.log("hotkey connect", this.element)
this.element.addEventListener("turbo:load", this.handleTurboLoad)
for (const el of this.element.parentNode.querySelectorAll('[data-hotkey]')) {
console.log(el)
install(el)
}
}
handleTurboLoad(event) {
for (const el of event.getTarget().querySelectorAll('[data-hotkey]')) {
console.log(el)
install(el)
}
}
}

View file

@ -22,6 +22,9 @@ application.register("drag", DragController)
import HelloController from "./hello_controller"
application.register("hello", HelloController)
import HotkeyController from "./hotkey_controller"
application.register("hotkey", HotkeyController)
import RichTextLinkTargetsController from "./rich_text_link_targets_controller"
application.register("rich-text-link-targets", RichTextLinkTargetsController)