From 70e962c979d16452f6830207e0b6057b3e7aefb2 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 17 Nov 2019 07:11:57 -0800 Subject: [PATCH] Adding Link to view --- src/components/Config.svelte | 9 +++++++-- src/components/Editor.svelte | 11 +++++++++-- src/components/Links.svelte | 36 ++++++++++++++++++++++++++++++++++++ src/components/View.svelte | 4 ++-- src/error-store.js | 2 +- src/routes/Edit.svelte | 3 ++- src/routes/View.svelte | 5 ++++- 7 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 src/components/Links.svelte diff --git a/src/components/Config.svelte b/src/components/Config.svelte index 89fce739..d398d989 100644 --- a/src/components/Config.svelte +++ b/src/components/Config.svelte @@ -18,6 +18,7 @@ export let code = ''; export let error = false; let edit; +let editorElem = null; let decorations = []; const decArr = []; @@ -42,14 +43,18 @@ const handleConfUpdate = conf => { }; const unsubscribe = codeStore.subscribe( state => { + if(editorElem === null) { + console.log('Starting stuff', document.getElementById('editor-conf')); + editorElem = document.getElementById('editor-conf'); + } if(!conf && state) { conf = JSON.stringify(state.mermaid, null, 2); } if(state) { code = state.code; } - if(!edit && conf) { - edit = monaco.editor.create(document.getElementById('editor-conf'), { + if(!edit && conf && (editorElem!==null)) { + edit = monaco.editor.create(editorElem, { value: [ conf, ].join('\n'), diff --git a/src/components/Editor.svelte b/src/components/Editor.svelte index b8e079e8..40519131 100644 --- a/src/components/Editor.svelte +++ b/src/components/Editor.svelte @@ -19,6 +19,7 @@ export let error = false; let decorations = []; const decArr = []; +let editorElem = null; const handleCodeUpdate = code => { try { mermaid.parse(code); @@ -45,14 +46,19 @@ const handleCodeUpdate = code => { }; const unsubscribe = codeStore.subscribe( state => { + if(editorElem === null) { + console.log('Starting stuff', document.getElementById('editor')); + editorElem = document.getElementById('editor'); + } if(!code && state) { code = state.code; } if(state) { conf = state.mermaid; } - if(!edit && code) { - edit = monaco.editor.create(document.getElementById('editor'), { + if(!edit && code && (editorElem !== null)) { + console.log('creatinf editor'); + edit = monaco.editor.create(editorElem, { value: [ code, ].join('\n'), @@ -81,6 +87,7 @@ initEditor(monaco); onMount(async () => { console.log('Mounting editor'); + // editorElem = document.querySelector('#editor') self.MonacoEnvironment = { getWorkerUrl: function (moduleId, label) { return './editor.worker.bundle.js'; diff --git a/src/components/Links.svelte b/src/components/Links.svelte new file mode 100644 index 00000000..09b7bda7 --- /dev/null +++ b/src/components/Links.svelte @@ -0,0 +1,36 @@ + + + + + \ No newline at end of file diff --git a/src/components/View.svelte b/src/components/View.svelte index af6ce5cb..6b5a06cc 100644 --- a/src/components/View.svelte +++ b/src/components/View.svelte @@ -38,7 +38,7 @@ let insertSvg = function(svgCode, bindFunctions){ codeClasses = ''; } else { codeClasses = 'error'; - console.log('error: ', typeof _error); + console.log('code error: ', _error); } }); const unsubscribeConfigError = configStore.subscribe( _error => { @@ -46,7 +46,7 @@ let insertSvg = function(svgCode, bindFunctions){ configClasses = ''; } else { configClasses = 'error'; - console.log('error: ', typeof _error); + console.log('conf error: ', _error); } }); diff --git a/src/error-store.js b/src/error-store.js index ae8bd1e3..871fb3fc 100644 --- a/src/error-store.js +++ b/src/error-store.js @@ -1,3 +1,3 @@ import { writable } from 'svelte/store'; -export const errorStore = writable({}); \ No newline at end of file +export const errorStore = writable(undefined); \ No newline at end of file diff --git a/src/routes/Edit.svelte b/src/routes/Edit.svelte index 55fe9f7a..7b20cf6d 100644 --- a/src/routes/Edit.svelte +++ b/src/routes/Edit.svelte @@ -4,6 +4,7 @@ import Editor from '../components/Editor.svelte'; import Config from '../components/Config.svelte'; import View from '../components/View.svelte'; import Card from '../components/Card.svelte'; +import Links from '../components/Links.svelte'; import { fromUrl } from '../code-store.js'; onMount(async () => { @@ -53,7 +54,7 @@ onMount(async () => {
- bla boac +
\ No newline at end of file diff --git a/src/routes/View.svelte b/src/routes/View.svelte index 40f72dda..1407e17f 100644 --- a/src/routes/View.svelte +++ b/src/routes/View.svelte @@ -2,8 +2,10 @@ import { onMount } from 'svelte'; import Editor from '../components/Editor.svelte'; import View from '../components/View.svelte'; +import { fromUrl } from '../code-store.js'; onMount(async () => { + fromUrl(params.data); }); export let code = ''; @@ -12,7 +14,7 @@ onMount(async () => { export let error = {}; export let token = ''; export let expected = ''; - + export let params = {};
+
\ No newline at end of file