Mailspring/internal_packages/composer/lib
Ben Gotow c265cf0dfa fix(drafts): Formalize draft factory, add reply "behaviors" #1722
Summary:
This diff implements a behavior change described in https://github.com/nylas/N1/issues/1722.

Reply buttons should prefer to focus an existing draft in reply to the same message, if one is pristine, altering it as necessary to switch between reply / reply-all. If no pristine reply is already there, it creates one.

Reply keyboard shortcuts should do the same, but more strictly - the shortcuts should switch between reply / reply-all for an existing draft regardless of whether it's pristine.

This diff also cleans up the DraftStore and moves all the draft creation itself to a new DraftFactory object. This makes it much easier to see what's going on in the DraftStore, and I also refactored away the "newMessageWithContext" method, which was breaking the logic for Reply vs Forward between a bunch of different helper methods and was hard to follow.

Test Plan: They're all wrecked. Will fix after concept is greenlighted

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2776
2016-03-22 15:47:51 -07:00
..
account-contact-field.cjsx
collapsed-participants.cjsx fix(drafts): Formalize draft factory, add reply "behaviors" #1722 2016-03-22 15:47:51 -07:00
compose-button.cjsx
composer-editor.jsx fix(quoted-text): div vs blockquote, signature cleanup #1746 2016-03-17 13:11:00 -07:00
composer-header-actions.cjsx fix(composer): Refactor header actions, clean up layout 2016-03-21 11:32:48 -07:00
composer-view.cjsx fix(drafts): Formalize draft factory, add reply "behaviors" #1722 2016-03-22 15:47:51 -07:00
expanded-participants.cjsx fix(composer): Refactor header actions, clean up layout 2016-03-21 11:32:48 -07:00
fields.cjsx
file-upload.cjsx
image-file-upload.cjsx
main.cjsx fix(composer): Refactor header actions, clean up layout 2016-03-21 11:32:48 -07:00
participants-text-field.cjsx
send-action-button.cjsx