Mailspring/packages/client-app/internal_packages/message-list/lib/thread-trash-button.jsx

47 lines
1.1 KiB
JavaScript

import React from 'react'
import {
Actions,
DOMUtils,
TaskFactory,
FocusedPerspectiveStore,
} from 'nylas-exports';
import {RetinaImg} from 'nylas-component-kit';
export default class ThreadTrashButton extends React.Component {
static displayName = "ThreadTrashButton";
static containerRequired = false;
static propTypes = {
thread: React.PropTypes.object.isRequired,
};
_onRemove = (e) => {
if (!DOMUtils.nodeIsVisible(e.currentTarget)) {
return;
}
const tasks = TaskFactory.tasksForMovingToTrash({
source: "Toolbar Button: Thread List",
threads: [this.props.thread],
});
Actions.queueTasks(tasks);
Actions.popSheet();
e.stopPropagation();
}
render() {
const allowed = FocusedPerspectiveStore.current().canMoveThreadsTo([this.props.thread], 'trash');
if (!allowed) {
return (<span />);
}
return (
<button
className="btn btn-toolbar"
style={{order: -106}}
title="Move to Trash"
onClick={this._onRemove}
>
<RetinaImg name="toolbar-trash.png" mode={RetinaImg.Mode.ContentIsMask} />
</button>
);
}
}