diff --git a/src/lib/components/Preview.svelte b/src/lib/components/Preview.svelte index 7a8ff04..c0ce095 100644 --- a/src/lib/components/Preview.svelte +++ b/src/lib/components/Preview.svelte @@ -4,6 +4,8 @@ import { CaretDownSolid, CaretUpSolid, EditOutline } from "flowbite-svelte-icons"; import { createEventDispatcher } from "svelte"; + // TODO: Push parser to state to be read on reload. + export let sectionClass: string = ''; export let isSectionStart: boolean = false; export let rootId: string; @@ -13,7 +15,7 @@ const dispatch = createEventDispatcher(); let isEditing: boolean = false; - let currentContent: string; + let currentContent: string = $parser.getContent(rootId); let hasCursor: boolean = false; let childHasCursor: boolean; @@ -56,13 +58,11 @@ childHasCursor = false; } - // TODO: Trigger rerender when editing state changes. const toggleEditing = (id: string, shouldSave: boolean = true) => { const editing = isEditing; - currentContent = $parser.getContent(id); if (editing && shouldSave) { - // TODO: Save updated content. + $parser.updateEventContent(id, currentContent); } isEditing = !editing; @@ -79,9 +79,36 @@ > {#if orderedChildren.length === 0 || depth >= 4} -
- {@html $parser.getContent(rootId)} -
+ {#if isEditing} + + {:else} ++ {@html currentContent} +
+ {/if} {:else}