From a193402ccdb9d45fa3ffbf73f5041dd16550cb34 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Wed, 26 Oct 2022 21:47:31 -0400 Subject: [PATCH] fix file load touch chain on iOS --- src/kiri/init.js | 6 +++++- src/kiri/main.js | 11 +++-------- src/kiri/ui.js | 10 +++++++--- web/kiri/index.html | 6 +++--- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/kiri/init.js b/src/kiri/init.js index 59ddd96d..64ee9a5a 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -2157,6 +2157,10 @@ gapp.register("kiri.init", [], (root, exports) => { sliderUpdate(); }); + ui.load.onchange = function(event) { + api.platform.load_files(event.target.files); + }; + ui.sliderMin.onclick = () => { api.show.layer(0,0); } @@ -2744,7 +2748,7 @@ gapp.register("kiri.init", [], (root, exports) => { ui.acct.export.onclick = (ev) => { ev.stopPropagation(); profileExport() }; ui.acct.export.title = LANG.acct_xpo; $('file-recent').onclick = () => { api.modal.show('files') }; - $('file-import').onclick = (ev) => { api.event.import(ev) }; + $('file-import').onclick = (ev) => { api.event.import(ev); }; ui.back.onclick = api.platform.layout; ui.options.trash.onclick = api.selection.delete; ui.options.enable.onclick = api.selection.enable; diff --git a/src/kiri/main.js b/src/kiri/main.js index 7adab47f..3d592e22 100644 --- a/src/kiri/main.js +++ b/src/kiri/main.js @@ -531,9 +531,9 @@ gapp.register("kiri.main", [], (root, exports) => { }; } - function loadFile() { + function loadFile(ev) { // use modern Filesystem api when available - if (window.showOpenFilePicker) { + if (false && window.showOpenFilePicker) { window.showOpenFilePicker().then(files => { return Promise.all(files.map(fh => fh.getFile())) }).then(files => { @@ -543,12 +543,7 @@ gapp.register("kiri.main", [], (root, exports) => { }).catch(e => { /* ignore cancel */ }); return; } - const button = $('load-file'); - button.onchange = function(event) { - console.log(event); - api.platform.load_files(event.target.files); - }; - button.click(); + api.ui.load.click(); } function saveWorkspace(quiet) { diff --git a/src/kiri/ui.js b/src/kiri/ui.js index 6a21d844..b31b5050 100644 --- a/src/kiri/ui.js +++ b/src/kiri/ui.js @@ -998,11 +998,15 @@ gapp.register("kiri.ui", [], (root, exports) => { popped = false; }; if (opt.auto !== false) { - el.addEventListener("mouseenter", openit); + el.addEventListener("mouseenter", () => { + openit(); + }); el.addEventListener("touchstart", (ev) => { if (ev.target.onclick) { - // pass action clicks on children - ev.target.onclick(ev); + if (mobile && popped) { + setTimeout(closeit, 500); + return; + } } mobile = true; if (popped) { diff --git a/web/kiri/index.html b/web/kiri/index.html index e12d33fb..07028ae8 100644 --- a/web/kiri/index.html +++ b/web/kiri/index.html @@ -185,7 +185,9 @@
-
@@ -442,8 +444,6 @@
- -