From 2341139e3d4e8244ae14e5abb4b7041c143b8d5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Thu, 30 Jun 2022 11:37:29 -0300 Subject: Assign codeMirrorEditor global var to the window object MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MaurĂ­cio Meneghini Fauth --- js/src/functions.js | 42 ++++++++++++++++---------------- js/src/server/status/monitor.js | 17 +++++++------ js/src/sql.js | 53 ++++++++++++++++++++--------------------- js/src/table/chart.js | 5 ++-- 4 files changed, 57 insertions(+), 60 deletions(-) diff --git a/js/src/functions.js b/js/src/functions.js index fd388ed913..f291d5cbe2 100644 --- a/js/src/functions.js +++ b/js/src/functions.js @@ -23,7 +23,7 @@ let ajaxMessageCount = 0; * Object containing CodeMirror editor of the query editor in SQL tab. * @type {(object|boolean|null)} */ -var codeMirrorEditor = false; +window.codeMirrorEditor = false; /** * Object containing CodeMirror editor of the inline query editor. @@ -744,9 +744,9 @@ Functions.confirmQuery = function (theForm1, sqlQuery1) { Functions.checkSqlQuery = function (theForm) { // get the textarea element containing the query var sqlQuery; - if (codeMirrorEditor) { - codeMirrorEditor.save(); - sqlQuery = codeMirrorEditor.getValue(); + if (window.codeMirrorEditor) { + window.codeMirrorEditor.save(); + sqlQuery = window.codeMirrorEditor.getValue(); } else { sqlQuery = theForm.elements.sql_query.value; } @@ -768,8 +768,8 @@ Functions.checkSqlQuery = function (theForm) { alert(Messages.strFormEmpty); } - if (codeMirrorEditor) { - codeMirrorEditor.focus(); + if (window.codeMirrorEditor) { + window.codeMirrorEditor.focus(); } else if (codeMirrorInlineEditor) { codeMirrorInlineEditor.focus(); } @@ -1107,7 +1107,7 @@ Functions.setSelectOptions = function (theForm, theSelect, doCheck) { */ Functions.updateQueryParameters = function () { if ($('#parameterized').is(':checked')) { - var query = codeMirrorEditor ? codeMirrorEditor.getValue() : $('#sqlquery').val(); + var query = window.codeMirrorEditor ? window.codeMirrorEditor.getValue() : $('#sqlquery').val(); var allParameters = query.match(/:[a-zA-Z0-9_]+/g); var parameters = []; @@ -1193,8 +1193,8 @@ Functions.teardownSqlQueryEditEvents = () => { $(document).off('click', 'a.inline_edit_sql'); $(document).off('click', 'input#sql_query_edit_save'); $(document).off('click', 'input#sql_query_edit_discard'); - if (codeMirrorEditor) { - codeMirrorEditor.off('blur'); + if (window.codeMirrorEditor) { + window.codeMirrorEditor.off('blur'); } else { $(document).off('blur', '#sqlquery'); } @@ -1209,8 +1209,8 @@ Functions.teardownSqlQueryEditEvents = () => { codeMirrorInlineEditor.toTextArea(); codeMirrorInlineEditor = false; } - if (codeMirrorEditor) { - $(codeMirrorEditor.getWrapperElement()).off('keydown'); + if (window.codeMirrorEditor) { + $(window.codeMirrorEditor.getWrapperElement()).off('keydown'); } }; @@ -3636,9 +3636,9 @@ Functions.onloadCodeMirrorEditor = () => { } if ($elm.length > 0) { if (typeof CodeMirror !== 'undefined') { - codeMirrorEditor = Functions.getSqlEditor($elm); - codeMirrorEditor.focus(); - codeMirrorEditor.on('blur', Functions.updateQueryParameters); + window.codeMirrorEditor = Functions.getSqlEditor($elm); + window.codeMirrorEditor.focus(); + window.codeMirrorEditor.on('blur', Functions.updateQueryParameters); } else { // without codemirror $elm.trigger('focus').on('blur', Functions.updateQueryParameters); @@ -3651,10 +3651,10 @@ Functions.onloadCodeMirrorEditor = () => { * @return {void} */ Functions.teardownCodeMirrorEditor = () => { - if (codeMirrorEditor) { - $('#sqlquery').text(codeMirrorEditor.getValue()); - codeMirrorEditor.toTextArea(); - codeMirrorEditor = false; + if (window.codeMirrorEditor) { + $('#sqlquery').text(window.codeMirrorEditor.getValue()); + window.codeMirrorEditor.toTextArea(); + window.codeMirrorEditor = false; } }; @@ -3779,7 +3779,7 @@ Functions.onloadCreateView = function () { } if ($('textarea[name="view[as]"]').length !== 0) { - codeMirrorEditor = Functions.getSqlEditor($('textarea[name="view[as]"]')); + window.codeMirrorEditor = Functions.getSqlEditor($('textarea[name="view[as]"]')); } }; @@ -3793,7 +3793,7 @@ Functions.createViewModal = function ($this) { Functions.ajaxRemoveMessage($msg); $('#createViewModalGoButton').on('click', function () { if (typeof CodeMirror !== 'undefined') { - codeMirrorEditor.save(); + window.codeMirrorEditor.save(); } $msg = Functions.ajaxShowMessage(); $.post('index.php?route=/view/create', $('#createViewModal').find('form').serialize(), function (data) { @@ -3810,7 +3810,7 @@ Functions.createViewModal = function ($this) { $('#createViewModal').find('.modal-body').first().html(data.message); // Attach syntax highlighted editor $('#createViewModal').on('shown.bs.modal', function () { - codeMirrorEditor = Functions.getSqlEditor($('#createViewModal').find('textarea')); + window.codeMirrorEditor = Functions.getSqlEditor($('#createViewModal').find('textarea')); $('input:visible[type=text]', $('#createViewModal')).first().trigger('focus'); $('#createViewModal').off('shown.bs.modal'); }); diff --git a/js/src/server/status/monitor.js b/js/src/server/status/monitor.js index 2f4abc5c0d..1408b493bd 100644 --- a/js/src/server/status/monitor.js +++ b/js/src/server/status/monitor.js @@ -8,7 +8,6 @@ */ /* global isStorageSupported */ // js/config.js -/* global codeMirrorEditor:writable */ // js/functions.js /* global firstDayOfCalendar, themeImagePath */ // templates/javascript/variables.twig /* global variableNames */ // templates/server/status/monitor/index.twig @@ -139,10 +138,10 @@ window.AJAX.registerOnload('server/status/monitor.js', function () { $('div.tabLinks').show(); $('#loadingMonitorIcon').remove(); // Codemirror is loaded on demand so we might need to initialize it - if (! codeMirrorEditor) { + if (! window.codeMirrorEditor) { var $elm = $('#sqlquery'); if ($elm.length > 0 && typeof CodeMirror !== 'undefined') { - codeMirrorEditor = CodeMirror.fromTextArea( + window.codeMirrorEditor = CodeMirror.fromTextArea( $elm[0], { lineNumbers: true, @@ -2012,14 +2011,14 @@ window.AJAX.registerOnload('server/status/monitor.js', function () { var rowData = $(this).parent().data('query'); var query = rowData.argument || rowData.sql_text; - if (codeMirrorEditor) { + if (window.codeMirrorEditor) { // TODO: somehow Functions.sqlPrettyPrint messes up the query, needs be fixed // query = Functions.sqlPrettyPrint(query); - codeMirrorEditor.setValue(query); + window.codeMirrorEditor.setValue(query); // Codemirror is bugged, it doesn't refresh properly sometimes. // Following lines seem to fix that setTimeout(function () { - codeMirrorEditor.refresh(); + window.codeMirrorEditor.refresh(); }, 50); } else { $('#sqlquery').val(query); @@ -2045,8 +2044,8 @@ window.AJAX.registerOnload('server/status/monitor.js', function () { profilingChart.destroy(); } $('#queryAnalyzerDialog').find('div.placeHolder').html(''); - if (codeMirrorEditor) { - codeMirrorEditor.setValue(''); + if (window.codeMirrorEditor) { + window.codeMirrorEditor.setValue(''); } else { $('#sqlquery').val(''); } @@ -2065,7 +2064,7 @@ window.AJAX.registerOnload('server/status/monitor.js', function () { $.post('index.php?route=/server/status/monitor/query', { 'ajax_request': true, - 'query': codeMirrorEditor ? codeMirrorEditor.getValue() : $('#sqlquery').val(), + 'query': window.codeMirrorEditor ? window.codeMirrorEditor.getValue() : $('#sqlquery').val(), 'database': db, 'server': window.CommonParams.get('server') }, function (responseData) { diff --git a/js/src/sql.js b/js/src/sql.js index 572ab8c0f8..df7ca19f8d 100644 --- a/js/src/sql.js +++ b/js/src/sql.js @@ -8,7 +8,6 @@ */ /* global isStorageSupported */ // js/config.js -/* global codeMirrorEditor */ // js/functions.js /* global makeGrid */ // js/makegrid.js /* global themeImagePath */ // templates/javascript/variables.twig @@ -95,8 +94,8 @@ Sql.setShowThisQuery = function () { && window.localStorage.showThisQuery === '1') { $('input[name="show_query"]').prop('checked', true); if (db === storedDb && table === storedTable) { - if (codeMirrorEditor) { - codeMirrorEditor.setValue(storedQuery); + if (window.codeMirrorEditor) { + window.codeMirrorEditor.setValue(storedQuery); } else if (document.sqlform) { document.sqlform.sql_query.value = storedQuery; } @@ -202,8 +201,8 @@ const handleSimulateQueryButton = function () { const deleteRegExp = new RegExp('^\\s*DELETE\\s+FROM\\s', 'i'); let query = ''; - if (codeMirrorEditor) { - query = codeMirrorEditor.getValue(); + if (window.codeMirrorEditor) { + query = window.codeMirrorEditor.getValue(); } else { query = $('#sqlquery').val(); } @@ -248,9 +247,9 @@ const selectContent = function (element) { * @return {void} */ const setQuery = function (query) { - if (codeMirrorEditor) { - codeMirrorEditor.setValue(query); - codeMirrorEditor.focus(); + if (window.codeMirrorEditor) { + window.codeMirrorEditor.setValue(query); + window.codeMirrorEditor.focus(); } else if (document.sqlform) { document.sqlform.sql_query.value = query; document.sqlform.sql_query.focus(); @@ -269,13 +268,13 @@ const insertQuery = function (queryType) { setQuery(''); return; } else if (queryType === 'format') { - if (codeMirrorEditor) { + if (window.codeMirrorEditor) { $('#querymessage').html(Messages.strFormatting + ' '); var params = { 'ajax_request': true, - 'sql': codeMirrorEditor.getValue(), + 'sql': window.codeMirrorEditor.getValue(), 'server': window.CommonParams.get('server') }; $.ajax({ @@ -284,7 +283,7 @@ const insertQuery = function (queryType) { data: params, success: function (data) { if (data.success) { - codeMirrorEditor.setValue(data.sql); + window.codeMirrorEditor.setValue(data.sql); } $('#querymessage').html(''); }, @@ -373,9 +372,9 @@ const insertValueQuery = function () { } /* CodeMirror support */ - if (codeMirrorEditor) { - codeMirrorEditor.replaceSelection(columnsList); - codeMirrorEditor.focus(); + if (window.codeMirrorEditor) { + window.codeMirrorEditor.replaceSelection(columnsList); + window.codeMirrorEditor.focus(); // IE support } else if (document.selection) { myQuery.focus(); @@ -418,8 +417,8 @@ window.AJAX.registerTeardown('sql.js', function () { $(document).off('click', 'th.column_heading.marker'); $(document).off('scroll', window); $(document).off('keyup', '.filter_rows'); - if (codeMirrorEditor) { - codeMirrorEditor.off('change'); + if (window.codeMirrorEditor) { + window.codeMirrorEditor.off('change'); } else { $('#sqlquery').off('input propertychange'); } @@ -452,13 +451,13 @@ window.AJAX.registerTeardown('sql.js', function () { * @memberOf jQuery */ window.AJAX.registerOnload('sql.js', function () { - if (codeMirrorEditor || document.sqlform) { + if (window.codeMirrorEditor || document.sqlform) { Sql.setShowThisQuery(); } $(function () { - if (codeMirrorEditor) { - codeMirrorEditor.on('change', function () { - Sql.autoSave(codeMirrorEditor.getValue()); + if (window.codeMirrorEditor) { + window.codeMirrorEditor.on('change', function () { + Sql.autoSave(window.codeMirrorEditor.getValue()); }); } else { $('#sqlquery').on('input propertychange', function () { @@ -683,8 +682,8 @@ window.AJAX.registerOnload('sql.js', function () { var db = $('input[name="db"]').val(); var table = $('input[name="table"]').val(); var query; - if (codeMirrorEditor) { - query = codeMirrorEditor.getValue(); + if (window.codeMirrorEditor) { + query = window.codeMirrorEditor.getValue(); } else { query = $('#sqlquery').val(); } @@ -756,8 +755,8 @@ window.AJAX.registerOnload('sql.js', function () { event.preventDefault(); var $form = $(this); - if (codeMirrorEditor) { - $form[0].elements.sql_query.value = codeMirrorEditor.getValue(); + if (window.codeMirrorEditor) { + $form[0].elements.sql_query.value = window.codeMirrorEditor.getValue(); } if (! Functions.checkSqlQuery($form[0])) { return false; @@ -946,8 +945,8 @@ window.AJAX.registerOnload('sql.js', function () { var delimiter = $('#id_sql_delimiter').val(); var dbName = $form.find('input[name="db"]').val(); - if (codeMirrorEditor) { - query = codeMirrorEditor.getValue(); + if (window.codeMirrorEditor) { + query = window.codeMirrorEditor.getValue(); } else { query = $('#sqlquery').val(); } @@ -1243,7 +1242,7 @@ window.AJAX.registerOnload('sql.js', function () { /** * Check if there is any saved query */ - if (codeMirrorEditor || document.sqlform) { + if (window.codeMirrorEditor || document.sqlform) { Sql.checkSavedQuery(); } }); diff --git a/js/src/table/chart.js b/js/src/table/chart.js index 3690a10d09..334020161b 100644 --- a/js/src/table/chart.js +++ b/js/src/table/chart.js @@ -1,6 +1,5 @@ /* global ColumnType, DataTable, JQPlotChartFactory */ // js/chart.js -/* global codeMirrorEditor */ // js/functions.js var chartData = {}; var tempChartTitle; @@ -362,8 +361,8 @@ window.AJAX.registerOnload('table/chart.js', function () { // handler for ajax form submission $('#tblchartform').on('submit', function () { var $form = $(this); - if (codeMirrorEditor) { - $form[0].elements.sql_query.value = codeMirrorEditor.getValue(); + if (window.codeMirrorEditor) { + $form[0].elements.sql_query.value = window.codeMirrorEditor.getValue(); } if (!Functions.checkSqlQuery($form[0])) { return false; -- cgit v1.2.3