Add shortcuts for saving

This commit is contained in:
Thelonius Kort
2023-03-05 23:13:58 +01:00
parent 21b97bec6e
commit 459c8e6a57

View File

@ -4,6 +4,8 @@ let TranslationFormHook = {
this.el.addEventListener("keyup", this.keyupHandler.bind(this)) this.el.addEventListener("keyup", this.keyupHandler.bind(this))
this.title_input = this.el.querySelector("#translation-form_title") this.title_input = this.el.querySelector("#translation-form_title")
this.tunit_editor = this.el.querySelector("#tunit-editor-content") this.tunit_editor = this.el.querySelector("#tunit-editor-content")
this.save_edit_button = this.el.querySelector("#save-edit-button")
this.save_publish_button = this.el.querySelector("#save-publish-button")
}, },
keyupHandler(e) { keyupHandler(e) {
var push_event = true var push_event = true
@ -11,32 +13,39 @@ let TranslationFormHook = {
var postaction = () => { } var postaction = () => { }
var payload = {} var payload = {}
if (e.altKey){ if (e.altKey){
if (e.key == "ArrowDown" || e.key == "n"){ if (e.ctrlKey){
preaction = () => { this.title_input.focus() } if (e.key == "s"){
postaction = () => { this.tunit_editor.focus() } this.save_edit_button.click()
var handler = "select_next_tunit" } else if (e.key == "p"){
} else if (e.key == "ArrowUp" || e.key == "v"){ this.save_publish_button.click()
preaction = () => { this.title_input.focus() } }
postaction = () => { this.tunit_editor.focus() }
var handler = "select_previous_tunit"
} else if (e.key == "u") {
var handler = "tunit_status"
payload = {status: "untranslated"}
} else if (e.key == "p") {
var handler = "tunit_status"
payload = {status: "passable"}
} else if (e.key == "o") {
var handler = "tunit_status"
payload = {status: "done"}
} else { } else {
push_event = false if (e.key == "ArrowDown" || e.key == "n"){
} preaction = () => { this.title_input.focus() }
if (push_event) { postaction = () => { this.tunit_editor.focus() }
preaction.call() var handler = "select_next_tunit"
this.pushEventTo(this.el, handler, payload, postaction) } else if (e.key == "ArrowUp" || e.key == "v"){
preaction = () => { this.title_input.focus() }
postaction = () => { this.tunit_editor.focus() }
var handler = "select_previous_tunit"
} else if (e.key == "u") {
var handler = "tunit_status"
payload = {status: "untranslated"}
} else if (e.key == "p") {
var handler = "tunit_status"
payload = {status: "passable"}
} else if (e.key == "o") {
var handler = "tunit_status"
payload = {status: "done"}
} else {
push_event = false
}
if (push_event) {
preaction.call()
this.pushEventTo(this.el, handler, payload, postaction)
}
} }
} }
// console.info(["keyupHandler", e, this])
}, },
} }