mirror of
https://github.com/gchq/CyberChef.git
synced 2024-11-02 06:01:02 +01:00
Fixed dropping text in the input
This commit is contained in:
parent
5c8aac5572
commit
0dc2322269
@ -149,9 +149,9 @@ class Manager {
|
||||
document.getElementById("reset-layout").addEventListener("click", this.app.resetLayout.bind(this.app));
|
||||
this.addListeners("#clr-io,#btn-close-all-tabs", "click", this.input.clearAllIoClick, this.input);
|
||||
this.addListeners("#open-file,#open-folder", "change", this.input.inputOpen, this.input);
|
||||
this.addListeners("#input-text,#input-file", "dragover", this.input.inputDragover, this.input);
|
||||
this.addListeners("#input-text,#input-file", "dragleave", this.input.inputDragleave, this.input);
|
||||
this.addListeners("#input-text,#input-file", "drop", this.input.inputDrop, this.input);
|
||||
this.addListeners("#input-wrapper", "dragover", this.input.inputDragover, this.input);
|
||||
this.addListeners("#input-wrapper", "dragleave", this.input.inputDragleave, this.input);
|
||||
this.addListeners("#input-wrapper", "drop", this.input.inputDrop, this.input);
|
||||
document.querySelector("#input-file .close").addEventListener("click", this.input.clearIoClick.bind(this.input));
|
||||
document.getElementById("btn-new-tab").addEventListener("click", this.input.addInputClick.bind(this.input));
|
||||
document.getElementById("btn-previous-input-tab").addEventListener("mousedown", this.input.previousTabClick.bind(this.input));
|
||||
|
@ -797,7 +797,10 @@ class InputWaiter {
|
||||
inputDragleave(e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
e.target.closest("#input-text,#input-file").classList.remove("dropping-file");
|
||||
// Dragleave often fires when moving between lines in the editor.
|
||||
// If the target element is within the input-text element, we are still on target.
|
||||
if (!this.inputTextEl.contains(e.target))
|
||||
e.target.closest("#input-text,#input-file").classList.remove("dropping-file");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -813,17 +816,10 @@ class InputWaiter {
|
||||
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
|
||||
const text = e.dataTransfer.getData("Text");
|
||||
|
||||
e.target.closest("#input-text,#input-file").classList.remove("dropping-file");
|
||||
|
||||
if (text) {
|
||||
// Append the text to the current input and fire inputChange()
|
||||
this.setInput(this.getInput() + text);
|
||||
this.inputChange(e);
|
||||
return;
|
||||
}
|
||||
// Dropped text is handled by the editor itself
|
||||
if (e.dataTransfer.getData("Text")) return;
|
||||
|
||||
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
||||
this.loadUIFiles(e.dataTransfer.files);
|
||||
|
Loading…
Reference in New Issue
Block a user