From a1ebe0481ca639f28b8044d4a5be2cac7202ce65 Mon Sep 17 00:00:00 2001 From: David Malinowski Date: Wed, 15 Apr 2026 08:34:46 +0200 Subject: [PATCH] =?UTF-8?q?fix(msp):=20File-Picker=20zuverl=C3=A4ssig=20?= =?UTF-8?q?=C3=B6ffnen=20(visually-hidden=20statt=20hidden)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Beim Klick auf "Datei auswählen" passierte in manchen Browser-Setups nichts, weil das versteckte per display:none aus dem Hit-Test verschwindet — und ein .click() darauf öffnet den Native-Picker dann nicht. Lösung: Standard "visually hidden"-Pattern (1px im Layout, geclippt, nicht display:none). Damit funktioniert der programmatische Klick zuverlässig, ohne dass der Input sichtbar ist. Co-Authored-By: Claude Opus 4.6 (1M context) --- msp/msp/page/import_dropzone/import_dropzone.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/msp/msp/page/import_dropzone/import_dropzone.js b/msp/msp/page/import_dropzone/import_dropzone.js index 7608a3f..88cbe88 100644 --- a/msp/msp/page/import_dropzone/import_dropzone.js +++ b/msp/msp/page/import_dropzone/import_dropzone.js @@ -46,7 +46,7 @@ frappe.pages["import-dropzone"].on_page_load = function (wrapper) { - @@ -677,6 +677,19 @@ function inject_style(root) { .msp-dropzone__hint { font-size: 13px; color: var(--text-muted); } .msp-dropzone__browse { margin-top: 8px; font-weight: 500; } + /* File-Input visuell ausblenden, aber im Layout halten — manche + Browser öffnen den Native-File-Picker nicht für display:none Inputs */ + .msp-visually-hidden { + position: absolute !important; + width: 1px; height: 1px; + padding: 0; margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; + pointer-events: none; + } + /* ---------- Upload-Cards ---------- */ .msp-cards { display: flex; flex-direction: column; gap: var(--padding-sm);