add support for contextmenu
This commit is contained in:
parent
be2e78616e
commit
27a95f634d
3 changed files with 30 additions and 6 deletions
|
|
@ -74,7 +74,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace_editor textarea {
|
.ace_editor textarea {
|
||||||
position: "absolute";
|
position: absolute;
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
width: 10px;
|
width: 10px;
|
||||||
|
|
|
||||||
|
|
@ -357,10 +357,16 @@ var Editor =function(renderer, session) {
|
||||||
var pos = this.renderer.screenToTextCoordinates(pageX, pageY);
|
var pos = this.renderer.screenToTextCoordinates(pageX, pageY);
|
||||||
pos.row = Math.max(0, Math.min(pos.row, this.session.getLength()-1));
|
pos.row = Math.max(0, Math.min(pos.row, this.session.getLength()-1));
|
||||||
|
|
||||||
if (event.getButton(e) != 0) {
|
var button = event.getButton(e)
|
||||||
if (this.selection.isEmpty()) {
|
if (button != 0) {
|
||||||
|
var isEmpty = this.selection.isEmpty()
|
||||||
|
if (isEmpty) {
|
||||||
this.moveCursorToPosition(pos);
|
this.moveCursorToPosition(pos);
|
||||||
}
|
}
|
||||||
|
if(button == 2) {
|
||||||
|
this.textInput.onContextMenu({x: pageX, y: pageY}, isEmpty);
|
||||||
|
event.capture(this.container, function(){}, this.textInput.onContextMenuClose);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,24 @@ var TextInput = function(parentNode, host) {
|
||||||
this.getElement = function() {
|
this.getElement = function() {
|
||||||
return text;
|
return text;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.onContextMenu = function(mousePos, isEmpty){
|
||||||
|
if(mousePos){
|
||||||
|
text.style.cssText = 'position:fixed; z-index:1000;' +
|
||||||
|
'left:' + (mousePos.x - 2) + 'px; top:' + (mousePos.y - 2) + 'px;'
|
||||||
|
|
||||||
|
}
|
||||||
|
if(isEmpty)
|
||||||
|
text.value='';
|
||||||
|
}
|
||||||
|
|
||||||
|
this.onContextMenuClose = function(){
|
||||||
|
setTimeout(function () {
|
||||||
|
sendText();
|
||||||
|
}, 0);
|
||||||
|
text.style.position = '';
|
||||||
|
text.style.zIndex = '';
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.TextInput = TextInput;
|
exports.TextInput = TextInput;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue