Mailspring/internal_packages
Evan Morikawa d18642fb3e refactor(contenteditable): new ContenteditableExtension API
Summary:
This provides a new API for `ContenteditableExtension`s. Instead of
manually manipulating the raw DOM and `Selection` objects, there's a new
`Editor` interface that encapsulates it and provides helper methods.

You can now do:

      editor.select(someNode).createLink("foo").collapseToEnd()

Now raw methods like `execCommand` ONLY show up in the `Editor` interface
as well as most of the raw `Selection` APIs.

There are also more integration tests :)

Another major goal was cleaning up the contenteditable file itself. To
that end:

1. The DOMNormalizer got pulled out into its own extension
1. The TabManager is now its own extension
1. Url wrangling got moved into the FloatingToolbar control
1. There is now the concept of a `ContenteditableService`, which are
tightly-couple blocks of code separated out into logical units. These are
dependent on the core state, innerState, and props and are not full
extensions.
1. `MouseService` now handles all the click event logic
1. `ClipboardService` was modified to the new service architecture

Test Plan: script/grunt run-integration-tests

Reviewers: drew, juan, bengotow

Reviewed By: juan, bengotow

Differential Revision: https://phab.nylas.com/D2367
2015-12-21 19:58:01 -08:00
..
account-sidebar fix(warning): Remove implicit return from event handler to remove react 2015-12-10 18:19:13 -08:00
attachments fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
category-picker fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
composer feat(editor-region): Add support to register components as editors 2015-12-18 11:06:44 -08:00
composer-signature fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
composer-spellcheck refactor(contenteditable): new ContenteditableExtension API 2015-12-21 19:58:01 -08:00
events feat(observables): Implementation of observables to replace some stores 2015-12-07 16:52:46 -08:00
feedback bump(electron): 0.34.3 => 0.35.1 2015-11-23 22:09:17 -08:00
inbox-contact-elements fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
message-autoload-images fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
message-list feat(editor-region): Add support to register components as editors 2015-12-18 11:06:44 -08:00
mode-switch fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
notification-mailto fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
notification-update-available fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
notifications feat(observables): Implementation of observables to replace some stores 2015-12-07 16:52:46 -08:00
onboarding fix(auth): Log first account creation 2015-12-08 17:05:59 -08:00
plugins fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
preferences fix(aliases): Add note that aliases may need to be setup 2015-12-15 11:56:31 -08:00
print fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
search-bar fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
sidebar-fullcontact feat(transactions): Explicit (and faster) database transactions 2015-12-17 11:46:05 -08:00
system-tray update(tray): Show 'Open Inbox' tray menu option and option to disable 2015-12-20 21:32:59 -08:00
thread-list fix(shortcuts): Fix shortcut handlers for marking as read/unread 2015-12-14 10:32:45 -08:00
tooltip fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
ui-dark feat(theme-selector): Add theme selector to preferences page 2015-12-15 10:29:58 -08:00
ui-light feat(theme-selector): Add theme selector to preferences page 2015-12-15 10:29:58 -08:00
undo-redo fix(theme): Dark mode styling for undo/redo component 2015-12-07 15:11:11 -08:00
unread-notifications feat(account-prefs): Adds new page for Account in preferences 2015-12-10 15:27:29 -08:00
worker-sync feat(transactions): Explicit (and faster) database transactions 2015-12-17 11:46:05 -08:00
worker-ui feat(transactions): Explicit (and faster) database transactions 2015-12-17 11:46:05 -08:00