diff --git a/app/internal_packages/composer-signature/lib/preferences-signatures.tsx b/app/internal_packages/composer-signature/lib/preferences-signatures.tsx index 187bf17c3..7382925e3 100644 --- a/app/internal_packages/composer-signature/lib/preferences-signatures.tsx +++ b/app/internal_packages/composer-signature/lib/preferences-signatures.tsx @@ -11,6 +11,7 @@ import { ISignature, IDefaultSignatures, IAliasSet, + InlineStyleTransformer, } from 'mailspring-exports'; import { Flexbox, EditableList } from 'mailspring-component-kit'; @@ -29,10 +30,20 @@ interface SignatureEditorProps { interface SignatureEditorState {} class SignatureEditor extends React.Component { - _onBaseFieldChange = event => { - const { id, value } = event.target; + _onTitleChange = event => { const sig = this.props.signature; - Actions.upsertSignature(Object.assign({}, sig, { [id]: value }), sig.id); + Actions.upsertSignature({ ...sig, title: event.target.value }, sig.id); + }; + + _onRawBodyChange = async event => { + const sig = this.props.signature; + let body = event.target.value; + try { + body = await InlineStyleTransformer.run(body); + } catch (err) { + //no-op + } + Actions.upsertSignature({ ...sig, body }, sig.id); }; _onDataFieldChange = event => { @@ -43,7 +54,7 @@ class SignatureEditor extends React.Component sig.body === RenderSignatureData(Object.assign({}, sig.data, { templateName: t.name })) + t => sig.body === RenderSignatureData({ ...sig.data, templateName: t.name }) ); if (!htmlMatchesATemplate) { const idx = remote.dialog.showMessageBox({ @@ -61,7 +72,7 @@ class SignatureEditor extends React.Component
,