mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-09-22 08:16:09 +08:00
fix(templates): insert template no longer overwrites signature
This commit is contained in:
parent
54f464d999
commit
b035b0ba73
|
@ -84,7 +84,7 @@ class TemplatePicker extends React.Component {
|
||||||
|
|
||||||
const footerComponents = [
|
const footerComponents = [
|
||||||
<div className="item" key="new" onMouseDown={this._onNewTemplate}>Save Draft as Template...</div>,
|
<div className="item" key="new" onMouseDown={this._onNewTemplate}>Save Draft as Template...</div>,
|
||||||
<div className="item" key="manage" onMouseDown={this._onManageTemplates}>Open Templates Folder...</div>,
|
<div className="item" key="manage" onMouseDown={this._onManageTemplates}>Manage Templates...</div>,
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -106,7 +106,10 @@ class TemplateStore extends NylasStore {
|
||||||
DraftStore.sessionForClientId(draftClientId).then((session) => {
|
DraftStore.sessionForClientId(draftClientId).then((session) => {
|
||||||
const draft = session.draft();
|
const draft = session.draft();
|
||||||
const draftName = name ? name : draft.subject.replace(TemplateStore.INVALID_TEMPLATE_NAME_REGEX, '');
|
const draftName = name ? name : draft.subject.replace(TemplateStore.INVALID_TEMPLATE_NAME_REGEX, '');
|
||||||
const draftContents = contents ? contents : QuotedHTMLTransformer.removeQuotedHTML(draft.body);
|
let draftContents = contents ? contents : QuotedHTMLTransformer.removeQuotedHTML(draft.body);
|
||||||
|
|
||||||
|
const sigIndex = draftContents.indexOf('<div class="nylas-n1-signature">');
|
||||||
|
draftContents = sigIndex>-1 ? draftContents.slice(0,sigIndex) : draftContents;
|
||||||
if (!draftName || draftName.length === 0) {
|
if (!draftName || draftName.length === 0) {
|
||||||
this._displayError('Give your draft a subject to name your template.');
|
this._displayError('Give your draft a subject to name your template.');
|
||||||
}
|
}
|
||||||
|
@ -242,7 +245,7 @@ class TemplateStore extends NylasStore {
|
||||||
}
|
}
|
||||||
|
|
||||||
_onInsertTemplateId({templateId, draftClientId} = {}) {
|
_onInsertTemplateId({templateId, draftClientId} = {}) {
|
||||||
this.getTemplateContents(templateId, (body) => {
|
this.getTemplateContents(templateId, (template_body) => {
|
||||||
DraftStore.sessionForClientId(draftClientId).then((session)=> {
|
DraftStore.sessionForClientId(draftClientId).then((session)=> {
|
||||||
let proceed = true;
|
let proceed = true;
|
||||||
if (!session.draft().pristine) {
|
if (!session.draft().pristine) {
|
||||||
|
@ -255,7 +258,11 @@ class TemplateStore extends NylasStore {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (proceed) {
|
if (proceed) {
|
||||||
const draftHtml = QuotedHTMLTransformer.appendQuotedHTML(body, session.draft().body);
|
let draftContents = QuotedHTMLTransformer.removeQuotedHTML(session.draft().body);
|
||||||
|
const sigIndex = draftContents.indexOf('<div class="nylas-n1-signature">');
|
||||||
|
const signature = sigIndex>-1 ? draftContents.slice(sigIndex) : "";
|
||||||
|
|
||||||
|
const draftHtml = QuotedHTMLTransformer.appendQuotedHTML(template_body+signature, session.draft().body);
|
||||||
session.changes.add({body: draftHtml});
|
session.changes.add({body: draftHtml});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue