Added keyhandler

This commit is contained in:
Magnus Åhall 2023-06-20 07:59:54 +02:00
parent 105dfc9e2d
commit 38c8c5c519
5 changed files with 36 additions and 18 deletions

View file

@ -16,6 +16,7 @@ export class NodeUI extends Component {
else
this.goToNode(0, true)
})
window.addEventListener('keydown', evt=>this.keyHandler(evt))
}//}}}
render() {//{{{
if(this.node.value === null)
@ -70,12 +71,6 @@ export class NodeUI extends Component {
<${NodeContent} key=${node.ID} content=${node.Content} ref=${this.nodeContent} />
` : html``}
`
/*
<div class="tree" onclick=${()=>this.retrieveTree()} style="color: #000">
<div class="node">Start</div>
${treeHTML}
</div>
*/
}//}}}
componentDidMount() {//{{{
let urlParams = new URLSearchParams(window.location.search)
@ -87,6 +82,34 @@ export class NodeUI extends Component {
})
}//}}}
keyHandler(evt) {//{{{
let handled = true
switch(evt.key.toUpperCase()) {
case 'S':
if(!evt.ctrlKey) {
handled = false
break
}
this.saveNode()
break
case 'N':
if(!evt.ctrlKey && !evt.AltKey) {
handled = false
break
}
this.createNode()
break
default:
handled = false
}
if(handled) {
evt.preventDefault()
evt.stopPropagation()
}
}//}}}
showMenu() {//{{{
this.menu.value = true
}//}}}
@ -121,10 +144,6 @@ export class NodeUI extends Component {
}//}}}
saveNode() {//{{{
let content = this.nodeContent.current.contentDiv.current.value
content = content
.replaceAll("\r", "")
.replaceAll("<br>", "")
this.props.app.request('/node/update', {
NodeID: this.node.value.ID,
Content: content,