mirror of
https://github.com/hcengineering/platform.git
synced 2025-06-06 15:57:05 +00:00
UBER-1060 Inbox selection fixes (#3839)
Signed-off-by: Alexander Onnikov <alexander.onnikov@xored.com>
This commit is contained in:
parent
1d50d7020c
commit
72db5745ab
@ -56,7 +56,8 @@
|
|||||||
if (filter === 'read') {
|
if (filter === 'read') {
|
||||||
filtered = docs.filter((p) => !p.txes.some((p) => p.isNew) && p.txes.length > 0)
|
filtered = docs.filter((p) => !p.txes.some((p) => p.isNew) && p.txes.length > 0)
|
||||||
} else if (filter === 'unread') {
|
} else if (filter === 'unread') {
|
||||||
if (previousFilter !== 'unread') filtered = docs.filter((p) => p.txes.some((p) => p.isNew) && p.txes.length > 0)
|
const current = previousFilter === 'unread' ? new Set(filtered.map((p) => p._id)) : new Set()
|
||||||
|
filtered = docs.filter((p) => (current.has(p._id) || p.txes.some((p) => p.isNew)) && p.txes.length > 0)
|
||||||
} else {
|
} else {
|
||||||
filtered = docs.filter((p) => p.txes.length > 0)
|
filtered = docs.filter((p) => p.txes.length > 0)
|
||||||
}
|
}
|
||||||
@ -110,8 +111,21 @@
|
|||||||
|
|
||||||
const listProvider = new ListSelectionProvider((offset: 1 | -1 | 0, of?: Doc, dir?: SelectDirection) => {
|
const listProvider = new ListSelectionProvider((offset: 1 | -1 | 0, of?: Doc, dir?: SelectDirection) => {
|
||||||
if (dir === 'vertical') {
|
if (dir === 'vertical') {
|
||||||
let value = offset + docs.findIndex((p) => p._id === of?._id)
|
let value = (of != null ? filtered.findIndex((p) => p._id === of._id) : selected) ?? -1
|
||||||
if (value < 0) value = 0
|
if (value === -1) {
|
||||||
|
// keep the current index if the document does not exist anymore
|
||||||
|
value = selected
|
||||||
|
} else {
|
||||||
|
value += offset
|
||||||
|
}
|
||||||
|
|
||||||
|
if (value < 0) {
|
||||||
|
value = 0
|
||||||
|
}
|
||||||
|
if (value >= filtered.length) {
|
||||||
|
value = filtered.length - 1
|
||||||
|
}
|
||||||
|
|
||||||
if (filtered[value] !== undefined) {
|
if (filtered[value] !== undefined) {
|
||||||
selected = value
|
selected = value
|
||||||
changeSelected(selected)
|
changeSelected(selected)
|
||||||
|
Loading…
Reference in New Issue
Block a user