fix(10-13): escape modifier and capture-phase OS drop

- SearchBar.vue: add .prevent.stop to @keydown.escape to suppress browser native blur (Gap 5)
- OsDragOverlay.vue: register window drop listener with capture=true to fire before folder-row handlers (Gap 6)
This commit is contained in:
curo1305
2026-06-16 19:12:57 +02:00
parent 5972a62041
commit bac5dcfe3d
2 changed files with 3 additions and 3 deletions
@@ -8,7 +8,7 @@
aria-label="Search documents" aria-label="Search documents"
class="border border-gray-300 rounded-lg px-3 py-2 text-sm w-56 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent" class="border border-gray-300 rounded-lg px-3 py-2 text-sm w-56 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent"
@input="emit('update:modelValue', $event.target.value)" @input="emit('update:modelValue', $event.target.value)"
@keydown.escape="emit('update:modelValue', '')" @keydown.escape.prevent.stop="emit('update:modelValue', '')"
/> />
</div> </div>
</template> </template>
@@ -53,13 +53,13 @@ export default {
window.addEventListener('dragenter', this.onDragEnter) window.addEventListener('dragenter', this.onDragEnter)
window.addEventListener('dragleave', this.onDragLeave) window.addEventListener('dragleave', this.onDragLeave)
window.addEventListener('dragover', this.onDragOver) window.addEventListener('dragover', this.onDragOver)
window.addEventListener('drop', this.onDrop) window.addEventListener('drop', this.onDrop, true)
}, },
beforeUnmount() { beforeUnmount() {
window.removeEventListener('dragenter', this.onDragEnter) window.removeEventListener('dragenter', this.onDragEnter)
window.removeEventListener('dragleave', this.onDragLeave) window.removeEventListener('dragleave', this.onDragLeave)
window.removeEventListener('dragover', this.onDragOver) window.removeEventListener('dragover', this.onDragOver)
window.removeEventListener('drop', this.onDrop) window.removeEventListener('drop', this.onDrop, true)
}, },
} }
</script> </script>