From: Evan You Date: Sun, 6 Oct 2019 03:29:14 +0000 (-0400) Subject: workflow(template-explorer): persist compilerOptions X-Git-Tag: v3.0.0-alpha.0~584 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=31345b5af922c3093e38ab20a90c6dce61560043;p=thirdparty%2Fvuejs%2Fcore.git workflow(template-explorer): persist compilerOptions --- diff --git a/packages/template-explorer/src/index.ts b/packages/template-explorer/src/index.ts index 89c33f99be..22199eaa03 100644 --- a/packages/template-explorer/src/index.ts +++ b/packages/template-explorer/src/index.ts @@ -8,9 +8,11 @@ const self = window as any self.init = () => { const monaco = (window as any).monaco as typeof m - const persistedContent = - decodeURIComponent(window.location.hash.slice(1)) || - `
{{ foo + bar }}
` + const persistedState = JSON.parse( + decodeURIComponent(window.location.hash.slice(1)) || `{}` + ) + + Object.assign(compilerOptions, persistedState.options) let lastSuccessfulCode: string = `/* See console for error */` let lastSuccessfulMap: SourceMapConsumer | undefined = undefined @@ -56,7 +58,13 @@ self.init = () => { function reCompile() { const src = editor.getValue() - window.location.hash = encodeURIComponent(src) + // every time we re-compile, persist current state to URL + window.location.hash = encodeURIComponent( + JSON.stringify({ + src, + options: compilerOptions + }) + ) const res = compileCode(src) if (res) { output.setValue(res) @@ -78,7 +86,7 @@ self.init = () => { const editor = monaco.editor.create( document.getElementById('source') as HTMLElement, { - value: persistedContent, + value: persistedState.src || `
Hello World!
`, language: 'html', ...sharedEditorOptions }