diff --git a/ApiTestManager/src/components/EditableInput.js b/ApiTestManager/src/components/EditableInput.js index fc874e7..06283c4 100644 --- a/ApiTestManager/src/components/EditableInput.js +++ b/ApiTestManager/src/components/EditableInput.js @@ -54,20 +54,44 @@ class EditableInputView { this.controller.additionalCallback(this.model.getValue()); } }); + // this.editableDiv.addEventListener('paste', (event) => { + // event.preventDefault(); + // if (navigator.clipboard && navigator.clipboard.readText) { + // navigator.clipboard.readText().then(text => { + // this.insertTextAtCursor(text); + // }).catch(err => { + // console.error('Failed to read clipboard contents: ', err); + // // Fallback to using clipboardData from the paste event + // const text = (event.clipboardData || window.clipboardData).getData('text'); + // this.insertTextAtCursor(text); + // }); + // } else { + // const text = (event.clipboardData || window.clipboardData).getData('text'); + // this.insertTextAtCursor(text); + // } + // }); this.editableDiv.addEventListener('paste', (event) => { event.preventDefault(); - if (navigator.clipboard && navigator.clipboard.readText) { + let text = (event.clipboardData || window.clipboardData).getData('text/plain'); // Using 'text/plain' for compatibility + + if (text) { + console.log('Pasted text:', text); // Debug: Log pasted text + this.insertTextAtCursor(text); + if (this.controller.additionalCallback) { + this.controller.additionalCallback(this.model.getValue()); + } + } else if (navigator.clipboard && navigator.clipboard.readText) { navigator.clipboard.readText().then(text => { + console.log('Pasted text from clipboard API:', text); // Debug: Log pasted text this.insertTextAtCursor(text); + if (this.controller.additionalCallback) { + this.controller.additionalCallback(this.model.getValue()); + } }).catch(err => { - console.error('Failed to read clipboard contents: ', err); - // Fallback to using clipboardData from the paste event - const text = (event.clipboardData || window.clipboardData).getData('text'); - this.insertTextAtCursor(text); + console.error('Failed to read clipboard contents:', err); }); } else { - const text = (event.clipboardData || window.clipboardData).getData('text'); - this.insertTextAtCursor(text); + console.error('No text found to paste and clipboard API not available.'); } }); }