TelegramPWA/src/util/systemFilesDialog.ts
Alexander Zinchuk 3afcde3217 Initial commit
2021-04-09 14:11:51 +03:00

24 lines
621 B
TypeScript

let fileSelector: HTMLInputElement;
export function openSystemFilesDialog(accept = '*', callback: (e: Event) => void, noMultiple = false) {
if (!fileSelector) {
fileSelector = document.createElement('input');
fileSelector.setAttribute('type', 'file');
}
fileSelector.setAttribute('accept', accept);
if (noMultiple) {
fileSelector.removeAttribute('multiple');
} else {
fileSelector.setAttribute('multiple', 'multiple');
}
// eslint-disable-next-line no-null/no-null
fileSelector.onchange = null;
fileSelector.value = '';
fileSelector.onchange = callback;
fileSelector.click();
}