fix: Global filter cannot be modified in the model (changes have no effect)

This commit is contained in:
hurxxxx 2025-03-08 23:24:52 +09:00
parent 3b70cd64d7
commit 851931fdf6
2 changed files with 11 additions and 4 deletions

View File

@ -4,6 +4,7 @@
export let state = 'unchecked';
export let indeterminate = false;
export let enabled = true;
let _state = 'unchecked';
@ -14,8 +15,10 @@
class=" outline -outline-offset-1 outline-[1.5px] outline-gray-200 dark:outline-gray-600 {state !==
'unchecked'
? 'bg-black outline-black '
: 'hover:outline-gray-500 hover:bg-gray-50 dark:hover:bg-gray-800'} text-white transition-all rounded-sm inline-block w-3.5 h-3.5 relative"
: 'hover:outline-gray-500 hover:bg-gray-50 dark:hover:bg-gray-800'} text-white transition-all rounded-sm inline-block w-3.5 h-3.5 relative {!enabled ? 'opacity-50 cursor-not-allowed' : ''}"
on:click={() => {
if (!enabled) return;
if (_state === 'unchecked') {
_state = 'checked';
dispatch('change', _state);
@ -30,6 +33,7 @@
}
}}
type="button"
disabled={!enabled}
>
<div class="top-0 left-0 absolute w-full flex justify-center">
{#if _state === 'checked'}

View File

@ -39,10 +39,13 @@
<div class=" flex items-center gap-2 mr-3">
<div class="self-center flex items-center">
<Checkbox
state={_filters[filter].selected ? 'checked' : 'unchecked'}
state={_filters[filter].is_global ? 'checked' : (_filters[filter].selected ? 'checked' : 'unchecked')}
enabled={!_filters[filter].is_global}
on:change={(e) => {
_filters[filter].selected = e.detail === 'checked';
selectedFilterIds = Object.keys(_filters).filter((t) => _filters[t].selected);
if (!_filters[filter].is_global) {
_filters[filter].selected = e.detail === 'checked';
selectedFilterIds = Object.keys(_filters).filter((t) => _filters[t].selected);
}
}}
/>
</div>