From 0bb8e0a01602cd0fcc337b60f4e319aba06a3c73 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Sun, 4 Jun 2023 00:16:19 +0200 Subject: [PATCH] add webxdc.importFiles() API --- res/raw/webxdc.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/res/raw/webxdc.js b/res/raw/webxdc.js index 34f3e4cc5..7f474b54d 100644 --- a/res/raw/webxdc.js +++ b/res/raw/webxdc.js @@ -104,5 +104,27 @@ window.webxdc = (() => { return Promise.reject(errorMsg); } }, + + importFiles: (filters) => { + var element = document.createElement("input"); + element.type = "file"; + element.accept = [...filters.extensions||[], ...filters.mimeTypes||[]].join( + "," + ); + element.multiple = filters.multiple || false; + const promise = new Promise((resolve, _reject) => { + element.onchange = (_ev) => { + console.log("element.files", element.files); + const files = [...element.files]; + document.body.removeChild(element); + resolve(files); + }; + }); + element.style.display = "none" + document.body.appendChild(element); + element.click(); + console.log(element); + return promise; + }, }; })();