Carbon/build/static/chat-input.js

38 lines
837 B
JavaScript
Raw Normal View History

import {q} from "./basic.js"
2020-10-15 13:24:15 +00:00
import {store} from "./store/store.js"
import * as lsm from "./lsm.js"
2020-10-19 07:23:28 +00:00
import {chat} from "./chat.js"
2020-10-15 13:24:15 +00:00
2020-10-19 07:23:28 +00:00
const input = q("#c-chat-textarea")
2020-10-19 07:23:28 +00:00
store.activeRoom.subscribe("changeSelf", () => {
if (store.activeRoom.exists()) {
input.focus()
}
})
input.addEventListener("keydown", event => {
if (event.key === "Enter" && !event.shiftKey && !event.ctrlKey) {
event.preventDefault()
2020-10-19 07:23:28 +00:00
const body = input.value
send(input.value)
input.value = ""
2020-10-15 13:24:15 +00:00
fixHeight()
}
})
2020-10-19 07:23:28 +00:00
input.addEventListener("input", () => {
2020-10-15 13:24:15 +00:00
fixHeight()
})
function fixHeight() {
2020-10-19 07:23:28 +00:00
input.style.height = "0px"
// console.log(input.clientHeight, input.scrollHeight)
input.style.height = (input.scrollHeight + 1) + "px"
2020-10-15 13:24:15 +00:00
}
function send(body) {
if (!store.activeRoom.exists()) return
return store.activeRoom.value().timeline.send(body)
2020-10-15 13:24:15 +00:00
}