Clicking participant fields to type in them did not cause state.focusedField to change, because no onFocus events were bound to the ParticipantTextFields. Since setState was not called, the focus would appear to change but revert as soon as you touched state.
This diff also renames `onChangeEnabledFields` to `onAdjustEnabledFields` making it more clear that unlike the other handlers, it does not take a new value, it takes a set of changes. I also noticed that we /always/ focus fields when showing them, so I removed the separate focus param from it and made it adjust focus at the composer-view level only.
I also consolidated everywhere that touches `state.focusedField` so that we can keep the `_lastFocusedParticipantField` value in sync with it more easily.
Summary:
Fixes T3510
Fixes T3509
Fixes T3508
Fixes T3549
Extracted clipboard service
Remove unused style prop
Begin extracting quoted text from composer. Spec for clipboard service
Fix contenteditable specs
Begin to extract floating toolbar
Extract out DOMUtils and further extract floating toolbar
Further extracting domutils and floating toolbar
composer floating toolbar extracted
Fixes to hover and link states
Collapse adjacent ul lists
Fix outdent when deleting on a bulleted list
Fix bullet controls
Fixes to list creation and deletion
Add underline keyboard shortcut
Test Plan: manual :(
Reviewers: dillon, bengotow
Reviewed By: bengotow
Maniphest Tasks: T3508, T3509, T3510, T3549
Differential Revision: https://phab.nylas.com/D2036
Summary:
Participants now collapse Gmail style in the composer field.
New, more declarative system for how we deal with "focusedFields" on the
composer.
Extracted a `CollapsedParticipants` and `ExpandedParticipants` component.
Test Plan: TODO
Reviewers: dillon, bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2013