xP: scroll to bottom and focus the input on switch
This commit is contained in:
parent
ee1750c23c
commit
93b66b6a26
|
@ -165,8 +165,11 @@ rpc.addEventListener('BufferRemove', event => {
|
|||
rpc.addEventListener('BufferActivate', event => {
|
||||
let e = event.detail
|
||||
bufferCurrent = e.bufferName
|
||||
// TODO: Somehow scroll to the end of it immediately.
|
||||
// TODO: Focus the textarea.
|
||||
setTimeout(() => {
|
||||
let el = document.getElementById('input')
|
||||
if (el !== null)
|
||||
el.focus()
|
||||
})
|
||||
})
|
||||
|
||||
rpc.addEventListener('BufferLine', event => {
|
||||
|
@ -306,6 +309,19 @@ let Content = {
|
|||
}
|
||||
|
||||
let Buffer = {
|
||||
oncreate: vnode => {
|
||||
if (vnode.dom === undefined)
|
||||
return
|
||||
|
||||
let el = vnode.dom.children[1]
|
||||
if (el !== null)
|
||||
el.scrollTop = el.scrollHeight
|
||||
},
|
||||
|
||||
onupdate: vnode => {
|
||||
Buffer.oncreate(vnode)
|
||||
},
|
||||
|
||||
view: vnode => {
|
||||
let lines = []
|
||||
let b = buffers.get(bufferCurrent)
|
||||
|
@ -376,7 +392,7 @@ function onKeyDown(event) {
|
|||
// and we'll probably have to intercept /all/ key presses.
|
||||
let Input = {
|
||||
view: vnode => {
|
||||
return m('textarea', {
|
||||
return m('textarea#input', {
|
||||
rows: 1,
|
||||
onkeydown: onKeyDown,
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue