From 6e9ce4dbc8c3b67d4bdb989795adfdc8356d952c Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 5 Oct 2014 00:06:08 +0400 Subject: [PATCH] fix #2173 AutoScrollEditorIntoView doesn't work for search --- lib/ace/editor.js | 4 +++- lib/ace/ext/searchbox.js | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/ace/editor.js b/lib/ace/editor.js index f2b9744c..7183eb9e 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -2553,7 +2553,9 @@ var Editor = function(renderer, session) { rect = self.renderer.container.getBoundingClientRect(); }); var onAfterRender = this.renderer.on("afterRender", function() { - if (shouldScroll && rect && self.isFocused()) { + if (shouldScroll && rect && (self.isFocused() + || self.searchBox && self.searchBox.isFocused()) + ) { var renderer = self.renderer; var pos = renderer.$cursorLayer.$pixelPos; var config = renderer.layerConfig; diff --git a/lib/ace/ext/searchbox.js b/lib/ace/ext/searchbox.js index 0369f2d0..b316aa75 100644 --- a/lib/ace/ext/searchbox.js +++ b/lib/ace/ext/searchbox.js @@ -281,6 +281,10 @@ var SearchBox = function(editor, range, showReplaceForm) { this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb); }; + this.isFocused = function() { + var el = document.activeElement; + return el == this.searchInput || el == this.replaceInput; + } }).call(SearchBox.prototype); exports.SearchBox = SearchBox;