diff --git a/packages/client-app/internal_packages/message-list/lib/email-frame.jsx b/packages/client-app/internal_packages/message-list/lib/email-frame.jsx index 792835e66..63463d7b2 100644 --- a/packages/client-app/internal_packages/message-list/lib/email-frame.jsx +++ b/packages/client-app/internal_packages/message-list/lib/email-frame.jsx @@ -5,7 +5,7 @@ import {EventedIFrame} from 'nylas-component-kit'; import {Utils, QuotedHTMLTransformer, MessageStore} from 'nylas-exports'; import {autolink} from './autolinker'; import {autoscaleImages} from './autoscale-images'; -import {addInlineDownloadPrompts} from './inline-download-prompts'; +import {addInlineImageListeners} from './inline-image-listeners'; import EmailFrameStylesStore from './email-frame-styles-store'; export default class EmailFrame extends React.Component { @@ -70,7 +70,7 @@ export default class EmailFrame extends React.Component { autolink(doc, {async: true}); autoscaleImages(doc); - addInlineDownloadPrompts(doc); + addInlineImageListeners(doc); for (const extension of MessageStore.extensions()) { if (!extension.renderedMessageBodyIntoDocument) { diff --git a/packages/client-app/internal_packages/message-list/lib/inline-download-prompts.es6 b/packages/client-app/internal_packages/message-list/lib/inline-image-listeners.es6 similarity index 83% rename from packages/client-app/internal_packages/message-list/lib/inline-download-prompts.es6 rename to packages/client-app/internal_packages/message-list/lib/inline-image-listeners.es6 index 84e05f4ac..15c86b155 100644 --- a/packages/client-app/internal_packages/message-list/lib/inline-download-prompts.es6 +++ b/packages/client-app/internal_packages/message-list/lib/inline-image-listeners.es6 @@ -26,6 +26,13 @@ function _runOnImageNode(node) { node.style.display = 'none'; node.parentNode.insertBefore(downloadButton, node); }); + + node.addEventListener('load', () => { + const file = JSON.parse(safeDecode(node.dataset.nylasFile), Utils.registeredObjectReviver); + node.addEventListener('dblclick', () => { + Actions.fetchAndOpenFile(file); + }); + }); } } @@ -33,7 +40,7 @@ export function encodedAttributeForFile(file) { return safeEncode(JSON.stringify(file, Utils.registeredObjectReplacer)); } -export function addInlineDownloadPrompts(doc) { +export function addInlineImageListeners(doc) { const imgTagWalker = document.createTreeWalker(doc.body, NodeFilter.SHOW_ELEMENT, { acceptNode: (node) => { if (node.nodeName === 'IMG') {