mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
Handle the paste event better
This commit is contained in:
+5
-1
@@ -1,6 +1,6 @@
|
||||
var terminalContainer = document.getElementById('terminal-container'),
|
||||
term = new Terminal(),
|
||||
shellprompt = '> ';
|
||||
shellprompt = '$ ';
|
||||
|
||||
term.open(terminalContainer);
|
||||
term.fit();
|
||||
@@ -32,3 +32,7 @@ term.on('key', function (key, ev) {
|
||||
term.write(key);
|
||||
}
|
||||
});
|
||||
|
||||
term.on('paste', function (data, ev) {
|
||||
term.write(data);
|
||||
});
|
||||
|
||||
+15
-12
@@ -430,15 +430,28 @@
|
||||
};
|
||||
|
||||
/**
|
||||
* Bind to paste event
|
||||
* Bind to paste event and allow right-click pasting.
|
||||
*/
|
||||
Terminal.bindPaste = function(term) {
|
||||
on(term.element, 'paste', function(ev) {
|
||||
if (ev.clipboardData) {
|
||||
var text = ev.clipboardData.getData('text/plain');
|
||||
term.emit('paste', text, ev);
|
||||
term.handler(text);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Contenteditable hack in order to allow right-click paste
|
||||
*/
|
||||
on(term.element, 'contextmenu', function (ev) {
|
||||
console.log('hey');
|
||||
term.element.contentEditable = true;
|
||||
});
|
||||
|
||||
on(term.element, 'mouseup', function (ev) {
|
||||
term.element.contentEditable = false;
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -447,16 +460,6 @@
|
||||
*/
|
||||
Terminal.bindKeys = function(term) {
|
||||
on(term.element, 'keydown', function(ev) {
|
||||
/*
|
||||
* Clear all selections if the key pressed was not among
|
||||
* Shift, Alt, Cmd, Ctrl.
|
||||
*/
|
||||
var selection = window.getSelection();
|
||||
if (selection.toString() != '') {
|
||||
if ([16, 17, 18, 91].indexOf(ev.keyCode) == -1) {
|
||||
selection.removeAllRanges();
|
||||
}
|
||||
}
|
||||
term.keyDown(ev);
|
||||
}, true);
|
||||
|
||||
@@ -471,7 +474,7 @@
|
||||
*/
|
||||
Terminal.bindCopy = function(term) {
|
||||
on(term.element, 'copy', function(ev) {
|
||||
return; //temporary
|
||||
return;
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user