xC/xP: support hiding unimportant messages at all
This commit is contained in:
@@ -171,6 +171,7 @@ rpc.addEventListener('BufferUpdate', event => {
|
||||
buffers.set(e.bufferName, (b = {lines: []}))
|
||||
resetBufferStats(b)
|
||||
}
|
||||
b.hideUnimportant = e.hideUnimportant
|
||||
})
|
||||
|
||||
rpc.addEventListener('BufferStats', event => {
|
||||
@@ -465,6 +466,11 @@ let Buffer = {
|
||||
let markBefore = b.lines.length
|
||||
- b.newMessages - b.newUnimportantMessages
|
||||
b.lines.forEach((line, i) => {
|
||||
if (i == markBefore)
|
||||
lines.push(m('.unread'))
|
||||
if (line.isUnimportant && b.hideUnimportant)
|
||||
return
|
||||
|
||||
let date = new Date(line.when)
|
||||
let dateMark = date.toLocaleDateString()
|
||||
if (dateMark !== lastDateMark) {
|
||||
@@ -472,14 +478,10 @@ let Buffer = {
|
||||
lastDateMark = dateMark
|
||||
}
|
||||
|
||||
if (i == markBefore)
|
||||
lines.push(m('.unread'))
|
||||
|
||||
let attrs = {}
|
||||
if (line.leaked)
|
||||
attrs.class = 'leaked'
|
||||
|
||||
// TODO: Make use of isUnimportant.
|
||||
lines.push(m('.time', {...attrs}, date.toLocaleTimeString()))
|
||||
lines.push(m(Content, {...attrs}, line))
|
||||
})
|
||||
@@ -604,6 +606,7 @@ let Main = {
|
||||
return m('.xP', {}, [
|
||||
m('.title', {}, [`xP (${state})`, m(Toolbar)]),
|
||||
m('.middle', {}, [m(BufferList), m(BufferContainer)]),
|
||||
// TODO: Indicate hideUnimportant.
|
||||
m('.status', {}, bufferCurrent),
|
||||
m(Input),
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user