From 79bbeb7ec7bb439e999608d514785069329a5e0a Mon Sep 17 00:00:00 2001 From: Richard Harris Date: Sat, 2 Mar 2019 12:00:59 -0500 Subject: [PATCH] move some logic into ComponentSelector --- .../Repl/Input/ComponentSelector.svelte | 20 ++++++++++---- site/src/components/Repl/Input/index.svelte | 7 +---- site/src/components/Repl/Output/index.svelte | 4 +-- site/src/components/Repl/index.svelte | 26 +++---------------- 4 files changed, 22 insertions(+), 35 deletions(-) diff --git a/site/src/components/Repl/Input/ComponentSelector.svelte b/site/src/components/Repl/Input/ComponentSelector.svelte index 6f69aba9fa..54212014fa 100644 --- a/site/src/components/Repl/Input/ComponentSelector.svelte +++ b/site/src/components/Repl/Input/ComponentSelector.svelte @@ -4,7 +4,6 @@ import { enter } from '../../../utils/events.js'; const { components, selected } = getContext('REPL'); - const dispatch = createEventDispatcher(); let editing = null; @@ -33,7 +32,18 @@ function remove(component) { let result = confirm(`Are you sure you want to delete ${component.name}.${component.type}?`); - if (result) dispatch('remove'); + + if (result) { + const index = $components.indexOf(component); + + if (~index) { + components.set($components.slice(0, index).concat($components.slice(index + 1))); + } else { + console.error(`Could not find component! That's... odd`); + } + + selected.set($components[index] || $components[$components.length - 1]); + } } function selectInput(event) { @@ -183,11 +193,11 @@ {:else} {#if component === editing} - {component.name + (/\./.test(component.name) ? '' : `.${component.type}`)} + {editing.name + (/\./.test(editing.name) ? '' : `.${editing.type}`)} - diff --git a/site/src/components/Repl/Input/index.svelte b/site/src/components/Repl/Input/index.svelte index bbe5b30620..2767b591b7 100644 --- a/site/src/components/Repl/Input/index.svelte +++ b/site/src/components/Repl/Input/index.svelte @@ -7,12 +7,7 @@ export let warningCount; - - +

Compiler options

- + {/if} diff --git a/site/src/components/Repl/index.svelte b/site/src/components/Repl/index.svelte index 23e74575fe..557f690d76 100644 --- a/site/src/components/Repl/index.svelte +++ b/site/src/components/Repl/index.svelte @@ -59,7 +59,7 @@ let sourceErrorLoc; let runtimeErrorLoc; - let compileOptions = { + let compile_options = { generate: 'dom', dev: false, css: false, @@ -98,23 +98,6 @@ }; }); - function removeComponent() { - if ($selected.name === 'App') { - // App.svelte can't be removed - $selected.source = ''; - } else { - const index = $components.indexOf($selected); - - if (~index) { - components.set($components.slice(0, index).concat($components.slice(index + 1))); - } else { - console.error(`Could not find component! That's... odd`); - } - - selected.set($components[index] || $components[$components.length - 1]); - } - } - function compile(component, options) { if (component.type === 'svelte') { workers.compiler.postMessage({ @@ -145,7 +128,7 @@ components.update(c => c); // recompile selected component - compile($selected, compileOptions); + compile($selected, compile_options); // regenerate bundle (TODO do this in a separate worker?) workers.bundler.postMessage({ type: 'bundle', components: $components }); @@ -177,7 +160,7 @@ } $: if (workers && $selected) { - compile($selected, compileOptions); + compile($selected, compile_options); } @@ -292,14 +275,13 @@ error={sourceError} errorLoc="{sourceErrorLoc || runtimeErrorLoc}" {warningCount} - on:remove={removeComponent} on:change="{handleChange}" />