xP: scroll to bottom and focus the input on switch
This commit is contained in:
		@@ -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,
 | 
			
		||||
		})
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user