Fixes behavior when there are no template files, prevents renaming/creating
with an empty name, fixes yet another way to accidentally make yellow text,
misc small style fixes
clicking outside:
- When focusing the composer via click inside the contenteditable region or via
tabbing, last text node before the signature (or blockquotes) will be focused.
- When focusing composer by clicking outside contenteditable region, it
will default to default contenteditable focus behavior via new method:
`nativeFocus`
Rather than computing the types ahead of time when the object is created and generating methods, keep a few standard methods around and change the hardcoded names to maps so the lookup is O[1]
- ComponentRegistry: findComponentsMatching often returns zero results but makes a lot of transient data structures. Add a cache to make it O[1]
- Contact isMe is called a zillion times to compute thread participant display. Checking the AccountStore had been required was slow.
- getStandardCategory is also called a ton. Rather than create a filtered array and then searching that, just search the existing array.
- Switches to using CategoryStore to reduce complexity
- Update CategoryStore.categories to retun all categories when account
is null
- Inits AccountSidebarStore._account based on the currently focused
MailboxPerspective
Summary:
You can now break up blockquotes (as in quoted text areas) by pressing
"delete" at the start of a line. This allows you to reply inline.
Test Plan: new tests
Reviewers: bengotow, juan
Reviewed By: bengotow, juan
Differential Revision: https://phab.nylas.com/D2421
- Adds check to `_runInnerDOMMethod` to check if inner is an UnsafeComponent and
relay the call appropriately
- Removes duplicated logic from `_setRequiredMethods`
- Removes use of observables from category store and keeps a big cache
of categories per account
- Upates Category Observables with new helper observables
- Updates CategoryPicker and AccountSidebarStore to use observables
- Misc fixes