From 29e83fde056e949db0627d326ca1260f068377b1 Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Sat, 21 Aug 2021 15:01:30 +0300 Subject: [PATCH] Fix downloading documents through context menu --- src/components/wrappers.ts | 4 ++-- src/helpers/dom/clickEvent.ts | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/wrappers.ts b/src/components/wrappers.ts index 764a109f..4807dd06 100644 --- a/src/components/wrappers.ts +++ b/src/components/wrappers.ts @@ -39,7 +39,7 @@ import { fastRaf } from '../helpers/schedulers'; import appDownloadManager, { DownloadBlob, ThumbCache } from '../lib/appManagers/appDownloadManager'; import appStickersManager from '../lib/appManagers/appStickersManager'; import { cancelEvent } from '../helpers/dom/cancelEvent'; -import { attachClickEvent } from '../helpers/dom/clickEvent'; +import { attachClickEvent, simulateClickEvent } from '../helpers/dom/clickEvent'; import isInDOM from '../helpers/dom/isInDOM'; import lottieLoader from '../lib/lottieLoader'; import { clearBadCharsAndTrim } from '../helpers/cleanSearchText'; @@ -463,7 +463,7 @@ rootScope.addEventListener('download_start', (docId) => { const elements = Array.from(document.querySelectorAll(`.document[data-doc-id="${docId}"]`)) as HTMLElement[]; elements.forEach(element => { if(element.querySelector('.preloader-container.manual')) { - element.click(); + simulateClickEvent(element); } }); }); diff --git a/src/helpers/dom/clickEvent.ts b/src/helpers/dom/clickEvent.ts index eafdffe5..ce701343 100644 --- a/src/helpers/dom/clickEvent.ts +++ b/src/helpers/dom/clickEvent.ts @@ -51,3 +51,8 @@ export function detachClickEvent(elem: HTMLElement, callback: (e: TouchEvent | M elem.removeEventListener(CLICK_EVENT_NAME, callback, options); } } + +export function simulateClickEvent(elem: HTMLElement) { + const event = new Event(CLICK_EVENT_NAME, {bubbles: true, cancelable: true}); + elem.dispatchEvent(event); +}