diff --git a/frontend/src/lib/components/Editor.svelte b/frontend/src/lib/components/Editor.svelte index c03666b2fe..76c3e8071b 100644 --- a/frontend/src/lib/components/Editor.svelte +++ b/frontend/src/lib/components/Editor.svelte @@ -175,6 +175,7 @@ import GlobalReviewButtons from './copilot/chat/GlobalReviewButtons.svelte' import { writable } from 'svelte/store' import { formatResourceTypes } from './copilot/chat/core' + import FakeMonacoPlaceHolder from './FakeMonacoPlaceHolder.svelte' // import EditorTheme from './EditorTheme.svelte' let divEl: HTMLDivElement | null = null @@ -221,6 +222,7 @@ export let disabled: boolean = false export let lineNumbersMinChars = 3 export let isAiPanelOpen: boolean = false + export let loadAsync = false const rHash = randomHash() $: filePath = computePath(path) @@ -1374,9 +1376,14 @@ }) } - onMount(() => { + onMount(async () => { if (BROWSER) { - loadMonaco().then((x) => (disposeMethod = x)) + if (loadAsync) { + setTimeout(() => loadMonaco().then((x) => (disposeMethod = x)), 0) + } else { + let m = await loadMonaco() + disposeMethod = m + } } }) @@ -1408,6 +1415,11 @@ +{#if !editor} +
+ +
+{/if}
{#if $vimMode}
diff --git a/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte b/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte new file mode 100644 index 0000000000..315f4dcc3e --- /dev/null +++ b/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte @@ -0,0 +1,112 @@ + + + + + + +
+
+
+ +
+
+
+ {#each lines as line, i} +
+ {line} +
+ {/each} +
+
+
+
+
+
diff --git a/frontend/src/lib/components/InputTransformForm.svelte b/frontend/src/lib/components/InputTransformForm.svelte index 67f88534c5..a12b4026a8 100644 --- a/frontend/src/lib/components/InputTransformForm.svelte +++ b/frontend/src/lib/components/InputTransformForm.svelte @@ -515,6 +515,7 @@ on:change={() => { dispatch('change', { argName, arg }) }} + loadAsync /> {/if} @@ -583,6 +584,7 @@ focused = false }} autoHeight + loadAsync /> {#if !hideHelpButton} diff --git a/frontend/src/lib/components/JsonEditor.svelte b/frontend/src/lib/components/JsonEditor.svelte index 93481027e7..24b41f9e55 100644 --- a/frontend/src/lib/components/JsonEditor.svelte +++ b/frontend/src/lib/components/JsonEditor.svelte @@ -9,6 +9,7 @@ export let error = '' export let editor: SimpleEditor | undefined = undefined export let small = false + export let loadAsync = false $: tooBig = code && code?.length > 1000000 @@ -38,6 +39,7 @@
-
+
{#if collection?.length > 0}