Browse Source

Fix downloading documents through context menu

master
Eduard Kuzmenko 3 years ago
parent
commit
29e83fde05
  1. 4
      src/components/wrappers.ts
  2. 5
      src/helpers/dom/clickEvent.ts

4
src/components/wrappers.ts

@ -39,7 +39,7 @@ import { fastRaf } from '../helpers/schedulers'; @@ -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) => { @@ -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);
}
});
});

5
src/helpers/dom/clickEvent.ts

@ -51,3 +51,8 @@ export function detachClickEvent(elem: HTMLElement, callback: (e: TouchEvent | M @@ -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);
}

Loading…
Cancel
Save