mirror of
https://github.com/gchq/CyberChef.git
synced 2025-04-20 14:56:19 -04:00
Fixed dropping text in the input
This commit is contained in:
parent
5c8aac5572
commit
0dc2322269
2 changed files with 9 additions and 13 deletions
|
@ -149,9 +149,9 @@ class Manager {
|
||||||
document.getElementById("reset-layout").addEventListener("click", this.app.resetLayout.bind(this.app));
|
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("#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("#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-wrapper", "dragover", this.input.inputDragover, this.input);
|
||||||
this.addListeners("#input-text,#input-file", "dragleave", this.input.inputDragleave, this.input);
|
this.addListeners("#input-wrapper", "dragleave", this.input.inputDragleave, this.input);
|
||||||
this.addListeners("#input-text,#input-file", "drop", this.input.inputDrop, 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.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-new-tab").addEventListener("click", this.input.addInputClick.bind(this.input));
|
||||||
document.getElementById("btn-previous-input-tab").addEventListener("mousedown", this.input.previousTabClick.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) {
|
inputDragleave(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
e.preventDefault();
|
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.stopPropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
const text = e.dataTransfer.getData("Text");
|
|
||||||
|
|
||||||
e.target.closest("#input-text,#input-file").classList.remove("dropping-file");
|
e.target.closest("#input-text,#input-file").classList.remove("dropping-file");
|
||||||
|
|
||||||
if (text) {
|
// Dropped text is handled by the editor itself
|
||||||
// Append the text to the current input and fire inputChange()
|
if (e.dataTransfer.getData("Text")) return;
|
||||||
this.setInput(this.getInput() + text);
|
|
||||||
this.inputChange(e);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
||||||
this.loadUIFiles(e.dataTransfer.files);
|
this.loadUIFiles(e.dataTransfer.files);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue