diff options
author | Nisarg Jhaveri <nisargjhaveri@gmail.com> | 2015-05-08 17:06:15 +0300 |
---|---|---|
committer | Marc Delisle <marc@infomarc.info> | 2015-05-08 18:36:04 +0300 |
commit | c8a4ed578b55befbca8e990e8c7bc7ff77510a5c (patch) | |
tree | 729c711e4e63fd11f2a78a0603362cb30242cb0e /js/functions.js | |
parent | 4c5592e6325e76d37b698d6138ace270f4ec5583 (diff) |
Prevent multiple request for SQL autocomplete
Fix Bug#4858
Signed-off-by: Nisarg Jhaveri <nisargjhaveri@gmail.com>
Diffstat (limited to 'js/functions.js')
-rw-r--r-- | js/functions.js | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/js/functions.js b/js/functions.js index 45b59a0147..71d88d3301 100644 --- a/js/functions.js +++ b/js/functions.js @@ -35,6 +35,11 @@ var codemirror_editor = false; var codemirror_inline_editor = false; /** + * @var sql_autocomplete_in_progress bool shows if Table/Column name autocomplete AJAX is in progress + */ +var sql_autocomplete_in_progress = false; + +/** * @var sql_autocomplete object containing list of columns in each table */ var sql_autocomplete = false; @@ -1733,12 +1738,16 @@ AJAX.registerOnload('functions.js', function () { * "inputRead" event handler for CodeMirror SQL query editors for autocompletion */ function codemirrorAutocompleteOnInputRead(instance) { - if (!instance.options.hintOptions.tables || !sql_autocomplete){ + if (!sql_autocomplete_in_progress + && (!instance.options.hintOptions.tables || !sql_autocomplete)) { + if (!sql_autocomplete) { // Reset after teardown instance.options.hintOptions.tables = false; instance.options.hintOptions.defaultTable = ''; + sql_autocomplete_in_progress = true; + var href = 'db_sql_autocomplete.php'; var params = { 'ajax_request': true, @@ -1782,6 +1791,9 @@ function codemirrorAutocompleteOnInputRead(instance) { instance.options.hintOptions.tables = result; instance.options.hintOptions.defaultTable = sql_autocomplete_default_table; } + }, + complete: function () { + sql_autocomplete_in_progress = false; } }); } |