Mailspring/internal_packages/message-list/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
..
plugins rm(autolinker): Use our own very simple autolinker 2016-03-14 12:30:54 -07:00
autolinker.es6 rm(autolinker): Use our own very simple autolinker 2016-03-14 12:30:54 -07:00
email-frame-styles-store.coffee fix(dark-mode): Adjust email CSS immediately upon switching themes 2015-11-23 20:20:06 -08:00
email-frame.jsx rm(autolinker): Use our own very simple autolinker 2016-03-14 12:30:54 -07:00
find-in-thread.jsx fix(find-in-thread): minor rename fixes 2016-03-02 15:00:01 -08:00
main.cjsx feat(selection): Add new display for selection count + update toolbar 2016-03-21 12:20:11 -07:00
message-controls.cjsx fix(drafts): Formalize draft factory, add reply "behaviors" #1722 2016-03-22 15:47:51 -07:00
message-item-body.cjsx feat(download-all): Adds download-all button + style updates, more ES6 2016-03-21 18:23:26 -07:00
message-item-container.cjsx fix(MessageContainer): Fix state, prevent from getting different messages. #1175 2016-03-03 12:10:03 -08:00
message-item.cjsx feat(download-all): Adds download-all button + style updates, more ES6 2016-03-21 18:23:26 -07:00
message-list-hidden-messages-toggle.jsx fix(hidden-messages): Address diff feedback from @jstejada 2016-03-02 10:28:32 -08:00
message-list.cjsx fix(drafts): Formalize draft factory, add reply "behaviors" #1722 2016-03-22 15:47:51 -07:00
message-participants.cjsx 💄: White buttons, dropdown / popover cleanup, hairline dividers 2016-02-18 15:21:42 -08:00
message-timestamp.cjsx fix(spec): fix message timestamp spec 2016-03-09 16:44:44 -05:00
sidebar-participant-picker.jsx feat(sidebar): Add thread list of currently selected participants 2016-03-09 14:33:31 -05:00
sidebar-plugin-container.cjsx feat(sidebar): Add thread list of currently selected participants 2016-03-09 14:33:31 -05:00
thread-archive-button.cjsx fix(gmail-labels): Constraint so threads always belong to all,spam or trash 2016-03-10 14:13:31 -08:00
thread-star-button.cjsx feat(tooltip): use native tooltip style 2015-10-21 11:27:57 -07:00
thread-toggle-unread-button.cjsx Harmonize require and remove unused ones. 2015-12-17 00:02:37 +01:00
thread-trash-button.cjsx fix(gmail-labels): Constraint so threads always belong to all,spam or trash 2016-03-10 14:13:31 -08:00