From 9d60dd0786798e8a74b217f9ab92417fe3cbbd34 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Thu, 27 Oct 2016 00:25:15 +0300 Subject: [PATCH] Add some signature improvements (#1238) --- dev/Common/HtmlEditor.js | 3 ++- dev/Screen/User/Login.js | 5 ----- dev/View/Popup/Compose.js | 12 ++++++------ dev/View/User/Login.js | 1 + vendors/ckeditor-plugins/signature/plugin.js | 18 ++++++++++++++---- 5 files changed, 23 insertions(+), 16 deletions(-) diff --git a/dev/Common/HtmlEditor.js b/dev/Common/HtmlEditor.js index 1249e1bf9..826c592c7 100644 --- a/dev/Common/HtmlEditor.js +++ b/dev/Common/HtmlEditor.js @@ -92,11 +92,12 @@ class HtmlEditor * @param {bool} insertBefore * @returns {void} */ - setSignature(signature, html, insertBefore) { + setSignature(signature, html, insertBefore = false, first = false) { if (this.editor) { this.editor.execCommand('insertSignature', { isHtml: html, + isFirst: first, insertBefore: insertBefore, signature: signature }); diff --git a/dev/Screen/User/Login.js b/dev/Screen/User/Login.js index d4430a37c..3091865f1 100644 --- a/dev/Screen/User/Login.js +++ b/dev/Screen/User/Login.js @@ -1,9 +1,4 @@ -import $ from '$'; -import _ from '_'; - -import {$win} from 'Common/Globals'; - import {AbstractScreen} from 'Knoin/AbstractScreen'; import {LoginUserView} from 'View/User/Login'; diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js index 5d42e1730..bd3855b46 100644 --- a/dev/View/Popup/Compose.js +++ b/dev/View/Popup/Compose.js @@ -866,7 +866,7 @@ class ComposePopupView extends AbstractViewNext return signature; } - setSignatureFromIdentity(identity) { + setSignatureFromIdentity(identity, first = false) { if (identity) { 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 = '

' + sReplyTitle + ':' + + '

' + '
' + trim(sText) + '
'; - // '

' + trim(sText) + '

'; break; @@ -1169,7 +1169,7 @@ class ComposePopupView extends AbstractViewNext if (identity && ComposeType.Draft !== lineComposeType && ComposeType.EditAsNew !== lineComposeType) { - this.setSignatureFromIdentity(identity); + this.setSignatureFromIdentity(identity, true); } this.setFocusInPopup(); @@ -1193,7 +1193,7 @@ class ComposePopupView extends AbstractViewNext if (identity) { - this.setSignatureFromIdentity(identity); + this.setSignatureFromIdentity(identity, true); } this.setFocusInPopup(); @@ -1217,7 +1217,7 @@ class ComposePopupView extends AbstractViewNext if (identity && ComposeType.Draft !== lineComposeType && ComposeType.EditAsNew !== lineComposeType) { - this.setSignatureFromIdentity(identity); + this.setSignatureFromIdentity(identity, true); } this.setFocusInPopup(); diff --git a/dev/View/User/Login.js b/dev/View/User/Login.js index 299f952a7..d10aa3b80 100644 --- a/dev/View/User/Login.js +++ b/dev/View/User/Login.js @@ -1,5 +1,6 @@ import window from 'window'; +import $ from '$'; import _ from '_'; import ko from 'ko'; diff --git a/vendors/ckeditor-plugins/signature/plugin.js b/vendors/ckeditor-plugins/signature/plugin.js index f7e2fb4be..fabdeb9f0 100644 --- a/vendors/ckeditor-plugins/signature/plugin.js +++ b/vendors/ckeditor-plugins/signature/plugin.js @@ -3,7 +3,7 @@ 'use strict'; - var rl_signature_replacer = function(editor, text, signature, isHtml, insertBefore) { + var rl_signature_replacer = function(editor, text, signature, isHtml, insertBefore, isFirst) { var skipInsert = false, @@ -60,7 +60,15 @@ 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) { signature = '' + signature + ''; @@ -93,6 +101,7 @@ var bIsHtml = false, + bIsFirst = false, bInsertBefore = false, sSignature = '', sResultSignature = ''; @@ -100,6 +109,7 @@ if (cfg) { bIsHtml = undefined === cfg.isHtml ? false : !!cfg.isHtml; + bIsFirst = undefined === cfg.isFirst ? false : !!cfg.isFirst; bInsertBefore = undefined === cfg.insertBefore ? false : !!cfg.insertBefore; sSignature = undefined === cfg.signature ? '' : cfg.signature; } @@ -119,7 +129,7 @@ } 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 @@ -133,7 +143,7 @@ } editor.setData( - rl_signature_replacer(editor, editor.getData(), sResultSignature, true, bInsertBefore)); + rl_signature_replacer(editor, editor.getData(), sResultSignature, true, bInsertBefore, bIsFirst)); } } catch (e) {}