diff --git a/frontend/src/lib/components/DisplayResult.svelte b/frontend/src/lib/components/DisplayResult.svelte
index ae6bab9fce..b96a8a44bd 100644
--- a/frontend/src/lib/components/DisplayResult.svelte
+++ b/frontend/src/lib/components/DisplayResult.svelte
@@ -45,7 +45,7 @@
const dispatch = createEventDispatcher()
- let resultKind:
+ type ResultKind =
| 'json'
| 'table-col'
| 'table-row'
@@ -66,7 +66,8 @@
| 'map'
| 'nondisplayable'
| 'pdf'
- | undefined = $state()
+ | undefined
+ let resultKind: ResultKind = $state()
let hasBigInt = $state(false)
@@ -280,6 +281,29 @@
return 'markdown'
} else if (isTableCol(result, keys)) {
return 'table-col'
+ } else if (keys.length < 1000 && keys.includes('wm_renderer')) {
+ const renderer = result['wm_renderer']
+ if (typeof renderer === 'string') {
+ if (
+ [
+ 'json',
+ 'html',
+ 'png',
+ 'file',
+ 'jpeg',
+ 'gif',
+ 'svg',
+ 'filename',
+ 's3object',
+ 'plain',
+ 'markdown',
+ 'map',
+ 'pdf'
+ ].includes(renderer)
+ ) {
+ return renderer as ResultKind
+ }
+ }
}
}
} catch (err) {}
diff --git a/frontend/src/lib/components/apps/components/display/AppMenu.svelte b/frontend/src/lib/components/apps/components/display/AppMenu.svelte
index d484e6708c..cc530cc543 100644
--- a/frontend/src/lib/components/apps/components/display/AppMenu.svelte
+++ b/frontend/src/lib/components/apps/components/display/AppMenu.svelte
@@ -85,6 +85,8 @@
$effect(() => {
resolvedConfig.afterIcon && afterIconComponent && untrack(() => handleAfterIcon())
})
+
+ let menu: Menu | undefined = $state()
@@ -113,6 +115,7 @@
{#snippet children({ createMenu })}