2015-10-22 01:38:00 +08:00
|
|
|
_ = require 'underscore'
|
|
|
|
React = require 'react'
|
|
|
|
{Actions,
|
|
|
|
DOMUtils,
|
|
|
|
TaskFactory,
|
2016-03-08 10:13:53 +08:00
|
|
|
AccountStore,
|
2016-01-09 06:58:31 +08:00
|
|
|
FocusedPerspectiveStore} = require 'nylas-exports'
|
2015-10-22 01:38:00 +08:00
|
|
|
{RetinaImg} = require 'nylas-component-kit'
|
|
|
|
|
|
|
|
class ThreadTrashButton extends React.Component
|
|
|
|
@displayName: "ThreadTrashButton"
|
|
|
|
@containerRequired: false
|
|
|
|
|
|
|
|
@propTypes:
|
|
|
|
thread: React.PropTypes.object.isRequired
|
|
|
|
|
|
|
|
render: =>
|
2016-04-20 02:32:33 +08:00
|
|
|
allowed = FocusedPerspectiveStore.current().canMoveThreadsTo([@props.thread], 'trash')
|
|
|
|
return <span /> unless allowed
|
2015-10-22 01:38:00 +08:00
|
|
|
|
|
|
|
<button className="btn btn-toolbar"
|
|
|
|
style={order: -106}
|
2015-10-22 02:03:27 +08:00
|
|
|
title="Move to Trash"
|
2015-10-22 01:38:00 +08:00
|
|
|
onClick={@_onRemove}>
|
|
|
|
<RetinaImg name="toolbar-trash.png" mode={RetinaImg.Mode.ContentIsMask}/>
|
|
|
|
</button>
|
|
|
|
|
|
|
|
_onRemove: (e) =>
|
|
|
|
return unless DOMUtils.nodeIsVisible(e.currentTarget)
|
2016-01-22 05:46:04 +08:00
|
|
|
tasks = TaskFactory.tasksForMovingToTrash
|
2017-01-25 01:22:33 +08:00
|
|
|
source: "Toolbar Button: Thread List"
|
fix(gmail-labels): Constraint so threads always belong to all,spam or trash
Summary:
- In Gmail all threads /must/ belong to either All Mail, Trash and Spam, and
they are mutually exclusive, so we need to make sure that any add/remove
label operation still guarantees that constraint
- Update ChangeLabelsTask to modify the set of labels to add and remove
based on this rule
- Update tasksFor archiving, moving to trash and moving to spam so they
don't affect any other labels in the thread, as gmail does.
- Removing from view /will/ remove any current labels, but will also
move between all mail and trash as needed
- Remove Inbox, Trash and Spam from the CategoryPicker, as Gmail does
Test Plan: - Unit tests
Reviewers: drew, evan, bengotow
Reviewed By: drew, evan, bengotow
Differential Revision: https://phab.nylas.com/D2715
2016-03-11 06:11:47 +08:00
|
|
|
threads: [@props.thread]
|
2016-01-22 05:46:04 +08:00
|
|
|
Actions.queueTasks(tasks)
|
2015-10-24 06:21:37 +08:00
|
|
|
Actions.popSheet()
|
2015-10-22 01:38:00 +08:00
|
|
|
e.stopPropagation()
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = ThreadTrashButton
|