Do not select space not accessible to the user (#10707)

Signed-off-by: Artem Savchenko <armisav@gmail.com>
This commit is contained in:
Artyom Savchenko
2026-03-30 22:44:00 +05:00
committed by GitHub
parent d09f05acb4
commit 2bb87bf441
4 changed files with 36 additions and 10 deletions
@@ -61,6 +61,7 @@
export let component: AnyComponent | AnySvelteComponent | undefined = undefined
export let componentProps: any | undefined = undefined
export let autoSelect = true
export let clearInvalidValue = false
export let readonly = false
export let ignoreFill = false
export let iconWithEmoji: AnySvelteComponent | Asset | ComponentType | undefined = view.ids.IconWithEmoji
@@ -87,12 +88,17 @@
value = selected._id ?? undefined
}
}
// If a value is provided but can't be resolved, optionally clear the bound value.
if (selected === undefined && clearInvalidValue && _value !== undefined && value === _value) {
value = undefined
}
dispatch('object', selected)
})
$: void updateSelected(value, spaceQuery)
const showSpacesPopup = (ev: MouseEvent) => {
const showSpacesPopup = (ev: MouseEvent): void => {
if (readonly) {
return
}
@@ -136,8 +142,8 @@
{shape}
disabled={readonly}
{focusIndex}
icon={selected?.icon === iconWithEmoji && iconWithEmoji ? IconWithEmoji : (selected?.icon ?? defaultIcon)}
iconProps={selected?.icon === iconWithEmoji && iconWithEmoji
icon={selected?.icon === iconWithEmoji && iconWithEmoji != null ? IconWithEmoji : (selected?.icon ?? defaultIcon)}
iconProps={selected?.icon === iconWithEmoji && iconWithEmoji != null
? { icon: selected?.color }
: ignoreFill
? undefined
@@ -35,6 +35,7 @@
export let component: AnyComponent | AnySvelteComponent | undefined = undefined
export let componentProps: any | undefined = undefined
export let autoSelect = true
export let clearInvalidValue = false
export let iconWithEmoji: AnySvelteComponent | Asset | ComponentType | undefined = undefined
export let defaultIcon: AnySvelteComponent | Asset | ComponentType | undefined = undefined
export let readonly: boolean = false
@@ -66,6 +67,7 @@
{component}
{componentProps}
{autoSelect}
{clearInvalidValue}
{readonly}
{iconWithEmoji}
{defaultIcon}