diff --git a/src/lib/components/ColumnConfig.svelte b/src/lib/components/ColumnConfig.svelte index 3ddb51d..4232dac 100644 --- a/src/lib/components/ColumnConfig.svelte +++ b/src/lib/components/ColumnConfig.svelte @@ -29,9 +29,29 @@ config.format = undefined; } } + + // Click outside to close + let panelEl: HTMLDivElement; + + function onDocumentClick(e: MouseEvent) { + if (panelEl && !panelEl.contains(e.target as Node)) { + onclose(); + } + } + + $effect(() => { + // Delay listener attachment to avoid catching the opening click itself + const timer = setTimeout(() => { + document.addEventListener('click', onDocumentClick, true); + }, 0); + return () => { + clearTimeout(timer); + document.removeEventListener('click', onDocumentClick, true); + }; + }); -
+

列配置