|
|
@ -16,21 +16,16 @@ |
|
|
import Editor from "components/integration/QueryEditor.svelte" |
|
|
import Editor from "components/integration/QueryEditor.svelte" |
|
|
import TemplateBindings from "./_components/TemplateBindings.svelte" |
|
|
import TemplateBindings from "./_components/TemplateBindings.svelte" |
|
|
|
|
|
|
|
|
const ConfigTypes = { |
|
|
|
|
|
SMTP: "smtp", |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
export let template |
|
|
export let template |
|
|
|
|
|
|
|
|
let selected = "Edit" |
|
|
let selected = "Edit" |
|
|
let selectedBindingTab = "Template" |
|
|
|
|
|
let htmlEditor |
|
|
let htmlEditor |
|
|
|
|
|
|
|
|
$: selectedTemplate = $email.templates.find( |
|
|
$: selectedTemplate = $email?.templates?.find( |
|
|
({ purpose }) => purpose === template |
|
|
({ purpose }) => purpose === template |
|
|
) |
|
|
) |
|
|
$: templateBindings = |
|
|
$: templateBindings = |
|
|
$email.definitions?.bindings[selectedTemplate.purpose] || [] |
|
|
$email.definitions?.bindings?.[selectedTemplate.purpose] || [] |
|
|
|
|
|
|
|
|
async function saveTemplate() { |
|
|
async function saveTemplate() { |
|
|
try { |
|
|
try { |
|
|
@ -80,7 +75,7 @@ |
|
|
on:change={e => { |
|
|
on:change={e => { |
|
|
selectedTemplate.contents = e.detail.value |
|
|
selectedTemplate.contents = e.detail.value |
|
|
}} |
|
|
}} |
|
|
value={selectedTemplate.contents} |
|
|
value={selectedTemplate?.contents} |
|
|
/> |
|
|
/> |
|
|
<div class="bindings-editor"> |
|
|
<div class="bindings-editor"> |
|
|
<Detail size="L">Bindings</Detail> |
|
|
<Detail size="L">Bindings</Detail> |
|
|
@ -95,7 +90,7 @@ |
|
|
<Tab title="Common"> |
|
|
<Tab title="Common"> |
|
|
<TemplateBindings |
|
|
<TemplateBindings |
|
|
title="Common Bindings" |
|
|
title="Common Bindings" |
|
|
bindings={$email.definitions.bindings.common} |
|
|
bindings={$email?.definitions?.bindings?.common} |
|
|
onBindingClick={setTemplateBinding} |
|
|
onBindingClick={setTemplateBinding} |
|
|
/> |
|
|
/> |
|
|
</Tab> |
|
|
</Tab> |
|
|
@ -105,7 +100,7 @@ |
|
|
> |
|
|
> |
|
|
<Tab title="Preview"> |
|
|
<Tab title="Preview"> |
|
|
<div class="preview"> |
|
|
<div class="preview"> |
|
|
{@html selectedTemplate.contents} |
|
|
{@html selectedTemplate?.contents} |
|
|
</div> |
|
|
</div> |
|
|
</Tab> |
|
|
</Tab> |
|
|
</Tabs> |
|
|
</Tabs> |
|
|
|