Update CountryItem.svelte

This commit is contained in:
freearhey 2023-12-06 23:49:18 +03:00
parent fd4764590c
commit 7a44857ee2

View file

@ -9,22 +9,22 @@
export let channels = [] export let channels = []
export let hasQuery export let hasQuery
$: intersect = _.intersectionBy($selected, channels, 'id') $: hasStreams = channels.filter(c => c.streams > 0)
$: expanded = country.expanded || (channels && channels.length > 0 && hasQuery)
$: isSelected = intersect.length === channels.length $: intersect = _.intersectionBy($selected, hasStreams, 'id')
$: isIndeterminate = intersect.length !== 0 && intersect.length < channels.length $: expanded = country.expanded || (hasStreams && hasStreams.length > 0 && hasQuery)
$: isSelected = intersect.length === hasStreams.length
$: isIndeterminate = intersect.length !== 0 && intersect.length < hasStreams.length
function onExpand() { function onExpand() {
country.expanded = !country.expanded country.expanded = !country.expanded
} }
function onCheckboxChange(event) { function onCheckboxChange(event) {
channels.forEach(channel => { hasStreams.forEach(channel => {
selected.update(arr => { selected.update(arr => {
if (event.detail.state) { if (event.detail.state) {
if (channel.streams > 0) { arr.push(channel)
arr.push(channel)
}
} else { } else {
arr = arr.filter(c => c.id !== channel.id) arr = arr.filter(c => c.id !== channel.id)
} }