diff --git a/webui/src/lib/components/EntitySetEditor.svelte b/webui/src/lib/components/EntitySetEditor.svelte index 0016bbd..523eaef 100644 --- a/webui/src/lib/components/EntitySetEditor.svelte +++ b/webui/src/lib/components/EntitySetEditor.svelte @@ -26,8 +26,8 @@ $: if (adding && selector) selector.focus(); - async function add(ev: CustomEvent) { - if (ev.detail.t !== 'Address') { + async function add(ev: CustomEvent) { + if (ev.detail?.t !== 'Address') { return; } dispatch('add', ev.detail.c); diff --git a/webui/src/lib/components/InspectTypeEditor.svelte b/webui/src/lib/components/InspectTypeEditor.svelte index 9faa3d5..750bbae 100644 --- a/webui/src/lib/components/InspectTypeEditor.svelte +++ b/webui/src/lib/components/InspectTypeEditor.svelte @@ -50,8 +50,8 @@ }); } - async function add(ev: CustomEvent) { - if (!$entity || ev.detail.t !== 'Attribute') { + async function add(ev: CustomEvent) { + if (!$entity || ev.detail?.t !== 'Attribute') { return; } diff --git a/webui/src/lib/components/SurfaceColumn.svelte b/webui/src/lib/components/SurfaceColumn.svelte index 8d0f02c..7af4d2f 100644 --- a/webui/src/lib/components/SurfaceColumn.svelte +++ b/webui/src/lib/components/SurfaceColumn.svelte @@ -229,9 +229,9 @@ resizeObserver.observe(viewEl as any); }); - async function onSelectorInput(ev: CustomEvent) { + async function onSelectorInput(ev: CustomEvent) { const value = ev.detail; - if (value.t !== 'Address') return; + if (value?.t !== 'Address') return; const address = value.c; const [xValue, yValue] = selectorCoords as any; @@ -261,7 +261,7 @@ types={['Attribute', 'NewAttribute']} initial={x ? { t: 'Attribute', name: x } : undefined} on:input={(ev) => { - if (ev.detail.t === 'Attribute') x = ev.detail.name; + if (ev.detail?.t === 'Attribute') x = ev.detail.name; }} />
@@ -277,7 +277,7 @@ types={['Attribute', 'NewAttribute']} initial={y ? { t: 'Attribute', name: y } : undefined} on:input={(ev) => { - if (ev.detail.t === 'Attribute') y = ev.detail.name; + if (ev.detail?.t === 'Attribute') y = ev.detail.name; }} />
diff --git a/webui/src/lib/components/layout/Header.svelte b/webui/src/lib/components/layout/Header.svelte index f896125..388fcfa 100644 --- a/webui/src/lib/components/layout/Header.svelte +++ b/webui/src/lib/components/layout/Header.svelte @@ -28,7 +28,7 @@ lastSearched = lastSearched.slice(0, 10); } - async function onInput(event: CustomEvent) { + async function onInput(event: CustomEvent) { const value = event.detail; if (!value) return; diff --git a/webui/src/lib/components/utils/Editable.svelte b/webui/src/lib/components/utils/Editable.svelte index a4b4e4c..fb664c7 100644 --- a/webui/src/lib/components/utils/Editable.svelte +++ b/webui/src/lib/components/utils/Editable.svelte @@ -20,7 +20,7 @@ $: if (editing && selector) selector.focus(); $: if (!focus && !hover) editing = false; - function onInput(ev: CustomEvent) { + function onInput(ev: CustomEvent) { newValue = ev.detail; selector.focus(); } diff --git a/webui/src/lib/components/utils/Selector.svelte b/webui/src/lib/components/utils/Selector.svelte index 484ba07..0c0b3a6 100644 --- a/webui/src/lib/components/utils/Selector.svelte +++ b/webui/src/lib/components/utils/Selector.svelte @@ -93,7 +93,10 @@ import debug from 'debug'; import Spinner from './Spinner.svelte'; - const dispatch = createEventDispatcher(); + const dispatch = createEventDispatcher<{ + input: SelectorValue | undefined; + focus: boolean; + }>(); const dbg = debug('kestrel:Selector'); let selectorEl: HTMLElement; diff --git a/webui/src/lib/components/widgets/EntityList.svelte b/webui/src/lib/components/widgets/EntityList.svelte index 9c11ab8..3364f42 100644 --- a/webui/src/lib/components/widgets/EntityList.svelte +++ b/webui/src/lib/components/widgets/EntityList.svelte @@ -123,7 +123,7 @@ $: if (adding && addSelector) addSelector.focus(); - function addEntity(ev: CustomEvent) { + function addEntity(ev: CustomEvent) { dbg('Adding entity', ev.detail); const addAddress = ev.detail?.t == 'Address' ? ev.detail.c : undefined; if (!addAddress) return; diff --git a/webui/src/lib/components/widgets/EntryList.svelte b/webui/src/lib/components/widgets/EntryList.svelte index 1af84a6..c0dc1db 100644 --- a/webui/src/lib/components/widgets/EntryList.svelte +++ b/webui/src/lib/components/widgets/EntryList.svelte @@ -364,7 +364,8 @@
(newEntryAttribute = ev.detail?.name)} + on:input={(ev) => + (newEntryAttribute = ev.detail?.t === 'Attribute' ? ev.detail?.name : '')} on:focus={(ev) => (addFocus = ev.detail)} keepFocusOnSet bind:this={newAttrSelector}