Merge pull request #11413 from hurxxxx/fix/global-filter-cannot-disable

fix: Prevent modification of global filter settings in "Admin panel" - "Settings" - "Models"
This commit is contained in:
Timothy Jaeryang Baek 2025-03-08 14:15:47 -04:00 committed by GitHub
commit 6b806ae12f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
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 disabled = false;
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 {disabled ? 'opacity-50 cursor-not-allowed' : ''}"
on:click={() => {
if (disabled) return;
if (_state === 'unchecked') {
_state = 'checked';
dispatch('change', _state);
@ -30,6 +33,7 @@
}
}}
type="button"
{disabled}
>
<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')}
disabled={_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>