mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-14 13:44:41 +08:00
a20b979208
Summary: Adds the following new events: - Threads Moved to Folder - isArchive - source - folderType - folderDisplayName - numThreads - numMessages - description - isUndo - Threads Changed Labels - isArchive - source - labelTypesToAdd - labelTypesToRemove - labelDisplayNamesToAdd - labelDisplayNamesToRemove - numThreads - numMessages - description - isUndo - Threads Starred - source - numThreads - description - isUndo - Threads Unstarred - source - numThreads - description - isUndo - Threads Marked as Read - source - numThreads - description - isUndo - Threads Marked as Unread - source - numThreads - description - isUndo Each new action has a "source" property that's one of the following: - Category Picker: New Category - Category Picker: Existing Category - Toolbar Button: Message List - Toolbar Button: Thread List - Send and Archive - Context Menu: Thread List - Thread List Icon - Quick Actions: Thread List - Swipe - Keyboard Shortcut - Dragged Out of List - Snooze Move - Important Icon - Label Remove Icon - Thread Selected - Mail Rules - Dragged Into List Test Plan: manual Reviewers: juan Reviewed By: juan Differential Revision: https://phab.nylas.com/D3760
36 lines
1 KiB
CoffeeScript
36 lines
1 KiB
CoffeeScript
{RetinaImg} = require 'nylas-component-kit'
|
|
{Actions,
|
|
React,
|
|
TaskFactory,
|
|
DOMUtils,
|
|
AccountStore,
|
|
FocusedPerspectiveStore} = require 'nylas-exports'
|
|
|
|
class ThreadArchiveButton extends React.Component
|
|
@displayName: "ThreadArchiveButton"
|
|
@containerRequired: false
|
|
|
|
@propTypes:
|
|
thread: React.PropTypes.object.isRequired
|
|
|
|
render: =>
|
|
canArchiveThreads = FocusedPerspectiveStore.current().canArchiveThreads([@props.thread])
|
|
return <span /> unless canArchiveThreads
|
|
|
|
<button className="btn btn-toolbar btn-archive"
|
|
style={order: -107}
|
|
title="Archive"
|
|
onClick={@_onArchive}>
|
|
<RetinaImg name="toolbar-archive.png" mode={RetinaImg.Mode.ContentIsMask}/>
|
|
</button>
|
|
|
|
_onArchive: (e) =>
|
|
return unless DOMUtils.nodeIsVisible(e.currentTarget)
|
|
tasks = TaskFactory.tasksForArchiving
|
|
threads: [@props.thread]
|
|
source: "Toolbar Button: Message List"
|
|
Actions.queueTasks(tasks)
|
|
Actions.popSheet()
|
|
e.stopPropagation()
|
|
|
|
module.exports = ThreadArchiveButton
|