From c509ac70bc6fb02034c08a00f5c119464b405425 Mon Sep 17 00:00:00 2001 From: Ben Gotow Date: Mon, 29 Jan 2018 15:21:27 -0800 Subject: [PATCH] =?UTF-8?q?Show=20the=20=E2=80=9CDownload=20All=E2=80=9D?= =?UTF-8?q?=20button=20when=20an=20email=20has=20multiple=20images=20#583?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message-list/lib/message-item.jsx | 42 ++++++++----------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/app/internal_packages/message-list/lib/message-item.jsx b/app/internal_packages/message-list/lib/message-item.jsx index ca80efeb6..ab016cf55 100644 --- a/app/internal_packages/message-list/lib/message-item.jsx +++ b/app/internal_packages/message-list/lib/message-item.jsx @@ -113,14 +113,6 @@ export default class MessageItem extends React.Component { Actions.toggleMessageIdExpanded(this.props.message.id); }; - _isRealFile = file => { - const hasCIDInBody = - file.contentId !== undefined && - this.props.message.body && - this.props.message.body.indexOf(file.contentId) > 0; - return !hasCIDInBody; - }; - _onDownloadStoreChange = () => { const fileIds = this.props.message.fileIds(); this.setState({ @@ -146,27 +138,27 @@ export default class MessageItem extends React.Component { } _renderAttachments() { - const files = (this.props.message.files || []).filter(f => this._isRealFile(f)); - const messageId = this.props.message.id; + const { files = [], body = '', id } = this.props.message; const { filePreviewPaths, downloads } = this.state; - if (files.length === 0) { - return
; - } + const attachedFiles = files.filter(f => !f.contentId || !body.includes(f.contentId)); + return (
{files.length > 1 ? this._renderDownloadAllButton() : null} -
- -
+ {attachedFiles.length > 0 && ( +
+ +
+ )}
); }