Permalink
Browse files

Merge pull request #741 from ajaxorg/hotfix/prevent_unwanted_scrollin…

…toview

a document change now doesn't scroll the cursor into view
  • Loading branch information...
2 parents 3645c88 + 616bf24 commit e50c738d3e6281c5cb17742d87a8c79e0e314c8d @fjakobs fjakobs committed Apr 28, 2012
Showing with 11 additions and 7 deletions.
  1. +11 −7 lib/ace/editor.js
View
@@ -282,6 +282,14 @@ var Editor = function(renderer, session) {
this._emit("blur");
};
+ function cursorChange() {
+ this.renderer.updateCursor();
+
+ // move text input over the cursor
+ // this is required for iOS and IME
+ this.renderer.moveTextAreaToCursor(this.textInput.getElement());
+ }
+
this.onDocumentChange = function(e) {
var delta = e.data;
var range = delta.range;
@@ -296,7 +304,7 @@ var Editor = function(renderer, session) {
this._emit("change", e);
// update cursor because tab characters can influence the cursor position
- this.onCursorChange();
+ cursorChange.call(this);
};
this.onTokenizerUpdate = function(e) {
@@ -313,16 +321,12 @@ var Editor = function(renderer, session) {
};
this.onCursorChange = function() {
- this.renderer.updateCursor();
+ cursorChange.call(this);
if (!this.$blockScrolling) {
this.renderer.scrollCursorIntoView();
}
- // move text input over the cursor
- // this is required for iOS and IME
- this.renderer.moveTextAreaToCursor(this.textInput.getElement());
-
this.$highlightBrackets();
this.$updateHighlightActiveLine();
};
@@ -1239,7 +1243,7 @@ var Editor = function(renderer, session) {
var cursor = this.getCursorPosition();
if (!this.isRowFullyVisible(cursor.row))
this.scrollToLine(cursor.row, true);
-
+
//@todo scroll X
//if (!this.isColumnFullyVisible(cursor.column))
//this.scrollToRow(cursor.column);

0 comments on commit e50c738

Please sign in to comment.