diff --git a/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte b/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte index 315f4dcc3e..d01108361a 100644 --- a/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte +++ b/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte @@ -31,11 +31,12 @@ : getOS() === 'macOS' ? DEFAULT_MAC_FONT_FAMILY : DEFAULT_LINUX_FONT_FAMILY + const CHAR_LIMIT = 5000 // https://github.com/microsoft/vscode/blob/baa2dad3cdacd97ac02eff0604984faf1167ff1e/src/vs/editor/common/config/fontInfo.ts#L14 const GOLDEN_LINE_HEIGHT_RATIO = getOS() == 'macOS' ? 1.5 : 1.35 - let lines = $derived(code?.split('\n') ?? []) + let lines = $derived(code?.substring(0, CHAR_LIMIT)?.split('\n') ?? []) const charWidth = 9 // try to match as closely as possible to monaco editor diff --git a/frontend/src/lib/components/JsonEditor.svelte b/frontend/src/lib/components/JsonEditor.svelte index 800cfb0224..384f9bff50 100644 --- a/frontend/src/lib/components/JsonEditor.svelte +++ b/frontend/src/lib/components/JsonEditor.svelte @@ -4,6 +4,7 @@ import SimpleEditor from '$lib/components/SimpleEditor.svelte' import { createEventDispatcher } from 'svelte' import { createDispatcherIfMounted } from '$lib/createDispatcherIfMounted' + import Button from './common/button/Button.svelte' export let code: string | undefined export let value: any = undefined @@ -13,6 +14,7 @@ export let loadAsync = false $: tooBig = code && code?.length > 1000000 + let loadTooBigAnyway = false const dispatch = createEventDispatcher() const dispatchIfMounted = createDispatcherIfMounted(dispatch) @@ -34,8 +36,13 @@ $: code != undefined && parseJson() -{#if tooBig} - JSON to edit is too big +{#if tooBig && !loadTooBigAnyway} +
+ JSON is too big + +
{:else}