Add some signature improvements (#1238)

This commit is contained in:
RainLoop Team 2016-10-27 00:25:15 +03:00
parent ca4897038a
commit 9d60dd0786
5 changed files with 23 additions and 16 deletions

View file

@ -92,11 +92,12 @@ class HtmlEditor
* @param {bool} insertBefore * @param {bool} insertBefore
* @returns {void} * @returns {void}
*/ */
setSignature(signature, html, insertBefore) { setSignature(signature, html, insertBefore = false, first = false) {
if (this.editor) if (this.editor)
{ {
this.editor.execCommand('insertSignature', { this.editor.execCommand('insertSignature', {
isHtml: html, isHtml: html,
isFirst: first,
insertBefore: insertBefore, insertBefore: insertBefore,
signature: signature signature: signature
}); });

View file

@ -1,9 +1,4 @@
import $ from '$';
import _ from '_';
import {$win} from 'Common/Globals';
import {AbstractScreen} from 'Knoin/AbstractScreen'; import {AbstractScreen} from 'Knoin/AbstractScreen';
import {LoginUserView} from 'View/User/Login'; import {LoginUserView} from 'View/User/Login';

View file

@ -866,7 +866,7 @@ class ComposePopupView extends AbstractViewNext
return signature; return signature;
} }
setSignatureFromIdentity(identity) { setSignatureFromIdentity(identity, first = false) {
if (identity) if (identity)
{ {
this.editor((editor) => { this.editor((editor) => {
@ -883,7 +883,7 @@ class ComposePopupView extends AbstractViewNext
} }
} }
editor.setSignature(this.converSignature(signature), isHtml, !!identity.signatureInsertBefore()); editor.setSignature(this.converSignature(signature), isHtml, !!identity.signatureInsertBefore(), first);
}); });
} }
} }
@ -1133,8 +1133,8 @@ class ComposePopupView extends AbstractViewNext
}); });
sText = '<br /><br />' + sReplyTitle + ':' + sText = '<br /><br />' + sReplyTitle + ':' +
'<br /><br />' +
'<blockquote>' + trim(sText) + '</blockquote>'; '<blockquote>' + trim(sText) + '</blockquote>';
// '<blockquote><p>' + trim(sText) + '</p></blockquote>';
break; break;
@ -1169,7 +1169,7 @@ class ComposePopupView extends AbstractViewNext
if (identity && ComposeType.Draft !== lineComposeType && ComposeType.EditAsNew !== lineComposeType) if (identity && ComposeType.Draft !== lineComposeType && ComposeType.EditAsNew !== lineComposeType)
{ {
this.setSignatureFromIdentity(identity); this.setSignatureFromIdentity(identity, true);
} }
this.setFocusInPopup(); this.setFocusInPopup();
@ -1193,7 +1193,7 @@ class ComposePopupView extends AbstractViewNext
if (identity) if (identity)
{ {
this.setSignatureFromIdentity(identity); this.setSignatureFromIdentity(identity, true);
} }
this.setFocusInPopup(); this.setFocusInPopup();
@ -1217,7 +1217,7 @@ class ComposePopupView extends AbstractViewNext
if (identity && ComposeType.Draft !== lineComposeType && ComposeType.EditAsNew !== lineComposeType) if (identity && ComposeType.Draft !== lineComposeType && ComposeType.EditAsNew !== lineComposeType)
{ {
this.setSignatureFromIdentity(identity); this.setSignatureFromIdentity(identity, true);
} }
this.setFocusInPopup(); this.setFocusInPopup();

View file

@ -1,5 +1,6 @@
import window from 'window'; import window from 'window';
import $ from '$';
import _ from '_'; import _ from '_';
import ko from 'ko'; import ko from 'ko';

View file

@ -3,7 +3,7 @@
'use strict'; 'use strict';
var rl_signature_replacer = function(editor, text, signature, isHtml, insertBefore) { var rl_signature_replacer = function(editor, text, signature, isHtml, insertBefore, isFirst) {
var var
skipInsert = false, skipInsert = false,
@ -60,7 +60,15 @@
if (!skipInsert) if (!skipInsert)
{ {
signature = insertBefore ? signature + (isEmptyText ? '' : newLine) : (isEmptyText ? '' : newLine) + signature; if (isEmptyText)
{
signature = newLine + newLine + signature;
}
else
{
signature = insertBefore ? signature + newLine + newLine : newLine + newLine + signature;
}
if (isHtml) if (isHtml)
{ {
signature = '<signature>' + signature + '</signature>'; signature = '<signature>' + signature + '</signature>';
@ -93,6 +101,7 @@
var var
bIsHtml = false, bIsHtml = false,
bIsFirst = false,
bInsertBefore = false, bInsertBefore = false,
sSignature = '', sSignature = '',
sResultSignature = ''; sResultSignature = '';
@ -100,6 +109,7 @@
if (cfg) if (cfg)
{ {
bIsHtml = undefined === cfg.isHtml ? false : !!cfg.isHtml; bIsHtml = undefined === cfg.isHtml ? false : !!cfg.isHtml;
bIsFirst = undefined === cfg.isFirst ? false : !!cfg.isFirst;
bInsertBefore = undefined === cfg.insertBefore ? false : !!cfg.insertBefore; bInsertBefore = undefined === cfg.insertBefore ? false : !!cfg.insertBefore;
sSignature = undefined === cfg.signature ? '' : cfg.signature; sSignature = undefined === cfg.signature ? '' : cfg.signature;
} }
@ -119,7 +129,7 @@
} }
editor.__plain.setRawData( editor.__plain.setRawData(
rl_signature_replacer(editor, editor.__plain.getRawData(), sResultSignature, false, bInsertBefore)); rl_signature_replacer(editor, editor.__plain.getRawData(), sResultSignature, false, bInsertBefore, bIsFirst));
} }
else else
@ -133,7 +143,7 @@
} }
editor.setData( editor.setData(
rl_signature_replacer(editor, editor.getData(), sResultSignature, true, bInsertBefore)); rl_signature_replacer(editor, editor.getData(), sResultSignature, true, bInsertBefore, bIsFirst));
} }
} }
catch (e) {} catch (e) {}