diff --git a/src/lib/Util/state.ts b/src/lib/Util/state.ts index feea1576..eca4196b 100644 --- a/src/lib/Util/state.ts +++ b/src/lib/Util/state.ts @@ -42,9 +42,24 @@ export const updateCodeStore = (newState: State): void => { }); }; -export const updateCode = (code: string, updateEditor: boolean): void => { +let prompted = false; +export const updateCode = (code: string, updateEditor: boolean, updateDiagram = false): void => { + const lines = (code.match(/\n/g) || '').length + 1; + + if (lines > 50 && !prompted && get(codeStore).autoSync) { + const turnOff = confirm( + 'Long diagram deteced. Turn off Auto Sync? Click the sync logo to manually sync.' + ); + prompted = true; + if (turnOff) { + updateCodeStore({ + autoSync: false + } as State); + } + } + codeStore.update((state) => { - return { ...state, code, updateEditor }; + return { ...state, code, updateEditor, updateDiagram }; }); }; diff --git a/src/lib/components/actions.svelte b/src/lib/components/actions.svelte index da46ff8e..64ea41f0 100644 --- a/src/lib/components/actions.svelte +++ b/src/lib/components/actions.svelte @@ -128,10 +128,10 @@
diff --git a/src/lib/components/navbar.svelte b/src/lib/components/navbar.svelte index 93906b3a..575f0649 100644 --- a/src/lib/components/navbar.svelte +++ b/src/lib/components/navbar.svelte @@ -12,10 +12,6 @@ title: 'Tutorial', href: 'https://github.com/mermaid-js/mermaid/blob/develop/docs/Tutorials.md' }, - { - title: 'Github', - href: 'https://github.com/mermaid-js/mermaid-live-editor' - }, { title: 'Mermaid', href: 'https://github.com/mermaid-js/mermaid' @@ -23,6 +19,10 @@ { title: 'CLI', href: 'https://github.com/mermaid-js/mermaid-cli' + }, + { + title: 'Github', + href: 'https://github.com/mermaid-js/mermaid-live-editor' } ]; diff --git a/src/lib/components/preset.svelte b/src/lib/components/preset.svelte index 38c95261..0e0adcde 100644 --- a/src/lib/components/preset.svelte +++ b/src/lib/components/preset.svelte @@ -73,7 +73,7 @@ }; const loadSampleDiagram = (diagramType: string): void => { - updateCode(samples[diagramType], true); + updateCode(samples[diagramType], true, true); };