Fix channel filter selector (#2989)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Denis Bykhov 2023-04-14 21:42:25 +06:00 committed by GitHub
parent a5227c6feb
commit 3ef19ed8d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -35,13 +35,13 @@
filter.modes = [contact.filter.FilterChannelIn, contact.filter.FilterChannelNin] filter.modes = [contact.filter.FilterChannelIn, contact.filter.FilterChannelNin]
filter.mode = filter.mode === undefined ? filter.modes[0] : filter.mode filter.mode = filter.mode === undefined ? filter.modes[0] : filter.mode
const isSelected = (element: ChannelProvider): boolean => { const isSelected = (element: ChannelProvider, selected: Ref<ChannelProvider>[]): boolean => {
if (selected.filter((p) => p === element._id).length > 0) return true if (selected.filter((p) => p === element._id).length > 0) return true
return false return false
} }
const checkSelected = (element: ChannelProvider): void => { const checkSelected = (element: ChannelProvider): void => {
if (isSelected(element)) { if (isSelected(element, selected)) {
selected = selected.filter((p) => p !== element._id) selected = selected.filter((p) => p !== element._id)
} else { } else {
selected = [...selected, element._id] selected = [...selected, element._id]
@ -64,7 +64,7 @@
<div class="flex-between w-full"> <div class="flex-between w-full">
<div class="flex"> <div class="flex">
<div class="check pointer-events-none"> <div class="check pointer-events-none">
<CheckBox checked={isSelected(element)} primary /> <CheckBox checked={isSelected(element, selected)} primary />
</div> </div>
{#if element.icon} {#if element.icon}
<span class="mr-2"><Icon icon={element.icon} size="inline" /></span> <span class="mr-2"><Icon icon={element.icon} size="inline" /></span>