From 07c06db69dcc7371dff07835adad89903a6a10ae Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 15 May 2020 11:03:39 -0400 Subject: [PATCH] refactor(mail(js)): replace ckEditor directive by sgCkeditor component This refactoring 1. simplifies updating the CKEditor source code; 2. allows many instances of the CKEditor on the same page; 3. fixes the cursor positioning on focus. --- UI/MailerUI/UIxMailEditor.m | 5 - .../ContactsUI/UIxContactFoldersView.wox | 2 +- UI/Templates/MailerUI/UIxMailEditor.wox | 14 +- UI/Templates/MailerUI/UIxMailMainFrame.wox | 2 +- UI/Templates/MailerUI/UIxMailPopupView.wox | 2 +- .../PreferencesUI/UIxAccountEditor.wox | 15 +- UI/Templates/PreferencesUI/UIxPreferences.wox | 2 +- UI/Templates/SchedulerUI/UIxCalMainView.wox | 2 +- .../js/Common/sgCkeditor.component.js | 414 ++++++++++++++++++ .../js/Contacts/Contacts.app.js | 2 +- UI/WebServerResources/js/Mailer/Mailer.app.js | 2 +- .../js/Mailer/Mailer.popup.js | 2 +- .../js/Mailer/MessageEditorController.js | 19 +- .../js/Preferences/AccountDialogController.js | 7 + .../js/Preferences/Preferences.app.js | 2 +- .../js/Scheduler/Scheduler.app.js | 2 +- .../js/vendor/ckeditor/ck.js | 132 ------ 17 files changed, 461 insertions(+), 165 deletions(-) create mode 100644 UI/WebServerResources/js/Common/sgCkeditor.component.js delete mode 100644 UI/WebServerResources/js/vendor/ckeditor/ck.js diff --git a/UI/MailerUI/UIxMailEditor.m b/UI/MailerUI/UIxMailEditor.m index cbd1a0918..aac35dab2 100644 --- a/UI/MailerUI/UIxMailEditor.m +++ b/UI/MailerUI/UIxMailEditor.m @@ -203,11 +203,6 @@ static NSArray *infoKeys = nil; return [[ud mailComposeMessageType] isEqualToString: @"html"]; } -- (NSString *) editorClass -{ - return ([self isHTML]? @"ck-editor" : @"plain-text"); -} - - (NSString *) itemPriorityText { return [self labelForKey: [NSString stringWithFormat: @"%@", [item lowercaseString]]]; diff --git a/UI/Templates/ContactsUI/UIxContactFoldersView.wox b/UI/Templates/ContactsUI/UIxContactFoldersView.wox index 4c0e118ea..852f9d21c 100644 --- a/UI/Templates/ContactsUI/UIxContactFoldersView.wox +++ b/UI/Templates/ContactsUI/UIxContactFoldersView.wox @@ -8,7 +8,7 @@ xmlns:label="OGo:label" className="UIxPageFrame" title="title" - const:jsFiles="vendor/ckeditor/ckeditor.js, vendor/ckeditor/ck.js, Common.js, Preferences.services.js, Mailer.services.js, Contacts.js, Contacts.services.js, vendor/angular-file-upload.min.js, vendor/FileSaver.min.js"> + const:jsFiles="vendor/ckeditor/ckeditor.js, Common/sgCkeditor.component.js, Common.js, Preferences.services.js, Mailer.services.js, Contacts.js, Contacts.services.js, vendor/angular-file-upload.min.js, vendor/FileSaver.min.js"> diff --git a/UI/Templates/MailerUI/UIxMailEditor.wox b/UI/Templates/MailerUI/UIxMailEditor.wox index a1eac26e1..2ffb798cc 100644 --- a/UI/Templates/MailerUI/UIxMailEditor.wox +++ b/UI/Templates/MailerUI/UIxMailEditor.wox @@ -264,18 +264,22 @@ - + diff --git a/UI/Templates/MailerUI/UIxMailMainFrame.wox b/UI/Templates/MailerUI/UIxMailMainFrame.wox index f62b760f5..5041e86c0 100644 --- a/UI/Templates/MailerUI/UIxMailMainFrame.wox +++ b/UI/Templates/MailerUI/UIxMailMainFrame.wox @@ -8,7 +8,7 @@ xmlns:label="OGo:label" className="UIxPageFrame" title="title" - const:jsFiles="vendor/ckeditor/ckeditor.js, vendor/ckeditor/ck.js, Common.js, Preferences.services.js, Contacts.services.js, Scheduler.services.js, Mailer.js, Mailer.services.js, vendor/angular-file-upload.min.js, vendor/FileSaver.min.js"> + const:jsFiles="vendor/ckeditor/ckeditor.js, Common/sgCkeditor.component.js, Common.js, Preferences.services.js, Contacts.services.js, Scheduler.services.js, Mailer.js, Mailer.services.js, vendor/angular-file-upload.min.js, vendor/FileSaver.min.js">