mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-10-03 18:05:32 +08:00
[message-list] Add support for double-clicking inline images to open
Summary: See title Test Plan: Run locally, verify that double clicking inline images opens them Reviewers: evan, juan, spang Reviewed By: juan, spang Differential Revision: https://phab.nylas.com/D3963
This commit is contained in:
parent
9cf703c6cd
commit
00299e446d
2 changed files with 10 additions and 3 deletions
|
@ -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) {
|
||||
|
|
|
@ -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') {
|
Loading…
Add table
Reference in a new issue