Skip to content

Commit 2341139

Browse files
committed
Assign codeMirrorEditor global var to the window object
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
1 parent ef299ea commit 2341139

4 files changed

Lines changed: 57 additions & 60 deletions

File tree

js/src/functions.js

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ let ajaxMessageCount = 0;
2323
* Object containing CodeMirror editor of the query editor in SQL tab.
2424
* @type {(object|boolean|null)}
2525
*/
26-
var codeMirrorEditor = false;
26+
window.codeMirrorEditor = false;
2727

2828
/**
2929
* Object containing CodeMirror editor of the inline query editor.
@@ -744,9 +744,9 @@ Functions.confirmQuery = function (theForm1, sqlQuery1) {
744744
Functions.checkSqlQuery = function (theForm) {
745745
// get the textarea element containing the query
746746
var sqlQuery;
747-
if (codeMirrorEditor) {
748-
codeMirrorEditor.save();
749-
sqlQuery = codeMirrorEditor.getValue();
747+
if (window.codeMirrorEditor) {
748+
window.codeMirrorEditor.save();
749+
sqlQuery = window.codeMirrorEditor.getValue();
750750
} else {
751751
sqlQuery = theForm.elements.sql_query.value;
752752
}
@@ -768,8 +768,8 @@ Functions.checkSqlQuery = function (theForm) {
768768
alert(Messages.strFormEmpty);
769769
}
770770

771-
if (codeMirrorEditor) {
772-
codeMirrorEditor.focus();
771+
if (window.codeMirrorEditor) {
772+
window.codeMirrorEditor.focus();
773773
} else if (codeMirrorInlineEditor) {
774774
codeMirrorInlineEditor.focus();
775775
}
@@ -1107,7 +1107,7 @@ Functions.setSelectOptions = function (theForm, theSelect, doCheck) {
11071107
*/
11081108
Functions.updateQueryParameters = function () {
11091109
if ($('#parameterized').is(':checked')) {
1110-
var query = codeMirrorEditor ? codeMirrorEditor.getValue() : $('#sqlquery').val();
1110+
var query = window.codeMirrorEditor ? window.codeMirrorEditor.getValue() : $('#sqlquery').val();
11111111

11121112
var allParameters = query.match(/:[a-zA-Z0-9_]+/g);
11131113
var parameters = [];
@@ -1193,8 +1193,8 @@ Functions.teardownSqlQueryEditEvents = () => {
11931193
$(document).off('click', 'a.inline_edit_sql');
11941194
$(document).off('click', 'input#sql_query_edit_save');
11951195
$(document).off('click', 'input#sql_query_edit_discard');
1196-
if (codeMirrorEditor) {
1197-
codeMirrorEditor.off('blur');
1196+
if (window.codeMirrorEditor) {
1197+
window.codeMirrorEditor.off('blur');
11981198
} else {
11991199
$(document).off('blur', '#sqlquery');
12001200
}
@@ -1209,8 +1209,8 @@ Functions.teardownSqlQueryEditEvents = () => {
12091209
codeMirrorInlineEditor.toTextArea();
12101210
codeMirrorInlineEditor = false;
12111211
}
1212-
if (codeMirrorEditor) {
1213-
$(codeMirrorEditor.getWrapperElement()).off('keydown');
1212+
if (window.codeMirrorEditor) {
1213+
$(window.codeMirrorEditor.getWrapperElement()).off('keydown');
12141214
}
12151215
};
12161216

@@ -3636,9 +3636,9 @@ Functions.onloadCodeMirrorEditor = () => {
36363636
}
36373637
if ($elm.length > 0) {
36383638
if (typeof CodeMirror !== 'undefined') {
3639-
codeMirrorEditor = Functions.getSqlEditor($elm);
3640-
codeMirrorEditor.focus();
3641-
codeMirrorEditor.on('blur', Functions.updateQueryParameters);
3639+
window.codeMirrorEditor = Functions.getSqlEditor($elm);
3640+
window.codeMirrorEditor.focus();
3641+
window.codeMirrorEditor.on('blur', Functions.updateQueryParameters);
36423642
} else {
36433643
// without codemirror
36443644
$elm.trigger('focus').on('blur', Functions.updateQueryParameters);
@@ -3651,10 +3651,10 @@ Functions.onloadCodeMirrorEditor = () => {
36513651
* @return {void}
36523652
*/
36533653
Functions.teardownCodeMirrorEditor = () => {
3654-
if (codeMirrorEditor) {
3655-
$('#sqlquery').text(codeMirrorEditor.getValue());
3656-
codeMirrorEditor.toTextArea();
3657-
codeMirrorEditor = false;
3654+
if (window.codeMirrorEditor) {
3655+
$('#sqlquery').text(window.codeMirrorEditor.getValue());
3656+
window.codeMirrorEditor.toTextArea();
3657+
window.codeMirrorEditor = false;
36583658
}
36593659
};
36603660

@@ -3779,7 +3779,7 @@ Functions.onloadCreateView = function () {
37793779
}
37803780

37813781
if ($('textarea[name="view[as]"]').length !== 0) {
3782-
codeMirrorEditor = Functions.getSqlEditor($('textarea[name="view[as]"]'));
3782+
window.codeMirrorEditor = Functions.getSqlEditor($('textarea[name="view[as]"]'));
37833783
}
37843784
};
37853785

@@ -3793,7 +3793,7 @@ Functions.createViewModal = function ($this) {
37933793
Functions.ajaxRemoveMessage($msg);
37943794
$('#createViewModalGoButton').on('click', function () {
37953795
if (typeof CodeMirror !== 'undefined') {
3796-
codeMirrorEditor.save();
3796+
window.codeMirrorEditor.save();
37973797
}
37983798
$msg = Functions.ajaxShowMessage();
37993799
$.post('index.php?route=/view/create', $('#createViewModal').find('form').serialize(), function (data) {
@@ -3810,7 +3810,7 @@ Functions.createViewModal = function ($this) {
38103810
$('#createViewModal').find('.modal-body').first().html(data.message);
38113811
// Attach syntax highlighted editor
38123812
$('#createViewModal').on('shown.bs.modal', function () {
3813-
codeMirrorEditor = Functions.getSqlEditor($('#createViewModal').find('textarea'));
3813+
window.codeMirrorEditor = Functions.getSqlEditor($('#createViewModal').find('textarea'));
38143814
$('input:visible[type=text]', $('#createViewModal')).first().trigger('focus');
38153815
$('#createViewModal').off('shown.bs.modal');
38163816
});

js/src/server/status/monitor.js

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
*/
99

1010
/* global isStorageSupported */ // js/config.js
11-
/* global codeMirrorEditor:writable */ // js/functions.js
1211
/* global firstDayOfCalendar, themeImagePath */ // templates/javascript/variables.twig
1312
/* global variableNames */ // templates/server/status/monitor/index.twig
1413

@@ -139,10 +138,10 @@ window.AJAX.registerOnload('server/status/monitor.js', function () {
139138
$('div.tabLinks').show();
140139
$('#loadingMonitorIcon').remove();
141140
// Codemirror is loaded on demand so we might need to initialize it
142-
if (! codeMirrorEditor) {
141+
if (! window.codeMirrorEditor) {
143142
var $elm = $('#sqlquery');
144143
if ($elm.length > 0 && typeof CodeMirror !== 'undefined') {
145-
codeMirrorEditor = CodeMirror.fromTextArea(
144+
window.codeMirrorEditor = CodeMirror.fromTextArea(
146145
$elm[0],
147146
{
148147
lineNumbers: true,
@@ -2012,14 +2011,14 @@ window.AJAX.registerOnload('server/status/monitor.js', function () {
20122011
var rowData = $(this).parent().data('query');
20132012
var query = rowData.argument || rowData.sql_text;
20142013

2015-
if (codeMirrorEditor) {
2014+
if (window.codeMirrorEditor) {
20162015
// TODO: somehow Functions.sqlPrettyPrint messes up the query, needs be fixed
20172016
// query = Functions.sqlPrettyPrint(query);
2018-
codeMirrorEditor.setValue(query);
2017+
window.codeMirrorEditor.setValue(query);
20192018
// Codemirror is bugged, it doesn't refresh properly sometimes.
20202019
// Following lines seem to fix that
20212020
setTimeout(function () {
2022-
codeMirrorEditor.refresh();
2021+
window.codeMirrorEditor.refresh();
20232022
}, 50);
20242023
} else {
20252024
$('#sqlquery').val(query);
@@ -2045,8 +2044,8 @@ window.AJAX.registerOnload('server/status/monitor.js', function () {
20452044
profilingChart.destroy();
20462045
}
20472046
$('#queryAnalyzerDialog').find('div.placeHolder').html('');
2048-
if (codeMirrorEditor) {
2049-
codeMirrorEditor.setValue('');
2047+
if (window.codeMirrorEditor) {
2048+
window.codeMirrorEditor.setValue('');
20502049
} else {
20512050
$('#sqlquery').val('');
20522051
}
@@ -2065,7 +2064,7 @@ window.AJAX.registerOnload('server/status/monitor.js', function () {
20652064

20662065
$.post('index.php?route=/server/status/monitor/query', {
20672066
'ajax_request': true,
2068-
'query': codeMirrorEditor ? codeMirrorEditor.getValue() : $('#sqlquery').val(),
2067+
'query': window.codeMirrorEditor ? window.codeMirrorEditor.getValue() : $('#sqlquery').val(),
20692068
'database': db,
20702069
'server': window.CommonParams.get('server')
20712070
}, function (responseData) {

js/src/sql.js

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
*/
99

1010
/* global isStorageSupported */ // js/config.js
11-
/* global codeMirrorEditor */ // js/functions.js
1211
/* global makeGrid */ // js/makegrid.js
1312
/* global themeImagePath */ // templates/javascript/variables.twig
1413

@@ -95,8 +94,8 @@ Sql.setShowThisQuery = function () {
9594
&& window.localStorage.showThisQuery === '1') {
9695
$('input[name="show_query"]').prop('checked', true);
9796
if (db === storedDb && table === storedTable) {
98-
if (codeMirrorEditor) {
99-
codeMirrorEditor.setValue(storedQuery);
97+
if (window.codeMirrorEditor) {
98+
window.codeMirrorEditor.setValue(storedQuery);
10099
} else if (document.sqlform) {
101100
document.sqlform.sql_query.value = storedQuery;
102101
}
@@ -202,8 +201,8 @@ const handleSimulateQueryButton = function () {
202201
const deleteRegExp = new RegExp('^\\s*DELETE\\s+FROM\\s', 'i');
203202
let query = '';
204203

205-
if (codeMirrorEditor) {
206-
query = codeMirrorEditor.getValue();
204+
if (window.codeMirrorEditor) {
205+
query = window.codeMirrorEditor.getValue();
207206
} else {
208207
query = $('#sqlquery').val();
209208
}
@@ -248,9 +247,9 @@ const selectContent = function (element) {
248247
* @return {void}
249248
*/
250249
const setQuery = function (query) {
251-
if (codeMirrorEditor) {
252-
codeMirrorEditor.setValue(query);
253-
codeMirrorEditor.focus();
250+
if (window.codeMirrorEditor) {
251+
window.codeMirrorEditor.setValue(query);
252+
window.codeMirrorEditor.focus();
254253
} else if (document.sqlform) {
255254
document.sqlform.sql_query.value = query;
256255
document.sqlform.sql_query.focus();
@@ -269,13 +268,13 @@ const insertQuery = function (queryType) {
269268
setQuery('');
270269
return;
271270
} else if (queryType === 'format') {
272-
if (codeMirrorEditor) {
271+
if (window.codeMirrorEditor) {
273272
$('#querymessage').html(Messages.strFormatting +
274273
'&nbsp;<img class="ajaxIcon" src="' +
275274
themeImagePath + 'ajax_clock_small.gif" alt="">');
276275
var params = {
277276
'ajax_request': true,
278-
'sql': codeMirrorEditor.getValue(),
277+
'sql': window.codeMirrorEditor.getValue(),
279278
'server': window.CommonParams.get('server')
280279
};
281280
$.ajax({
@@ -284,7 +283,7 @@ const insertQuery = function (queryType) {
284283
data: params,
285284
success: function (data) {
286285
if (data.success) {
287-
codeMirrorEditor.setValue(data.sql);
286+
window.codeMirrorEditor.setValue(data.sql);
288287
}
289288
$('#querymessage').html('');
290289
},
@@ -373,9 +372,9 @@ const insertValueQuery = function () {
373372
}
374373

375374
/* CodeMirror support */
376-
if (codeMirrorEditor) {
377-
codeMirrorEditor.replaceSelection(columnsList);
378-
codeMirrorEditor.focus();
375+
if (window.codeMirrorEditor) {
376+
window.codeMirrorEditor.replaceSelection(columnsList);
377+
window.codeMirrorEditor.focus();
379378
// IE support
380379
} else if (document.selection) {
381380
myQuery.focus();
@@ -418,8 +417,8 @@ window.AJAX.registerTeardown('sql.js', function () {
418417
$(document).off('click', 'th.column_heading.marker');
419418
$(document).off('scroll', window);
420419
$(document).off('keyup', '.filter_rows');
421-
if (codeMirrorEditor) {
422-
codeMirrorEditor.off('change');
420+
if (window.codeMirrorEditor) {
421+
window.codeMirrorEditor.off('change');
423422
} else {
424423
$('#sqlquery').off('input propertychange');
425424
}
@@ -452,13 +451,13 @@ window.AJAX.registerTeardown('sql.js', function () {
452451
* @memberOf jQuery
453452
*/
454453
window.AJAX.registerOnload('sql.js', function () {
455-
if (codeMirrorEditor || document.sqlform) {
454+
if (window.codeMirrorEditor || document.sqlform) {
456455
Sql.setShowThisQuery();
457456
}
458457
$(function () {
459-
if (codeMirrorEditor) {
460-
codeMirrorEditor.on('change', function () {
461-
Sql.autoSave(codeMirrorEditor.getValue());
458+
if (window.codeMirrorEditor) {
459+
window.codeMirrorEditor.on('change', function () {
460+
Sql.autoSave(window.codeMirrorEditor.getValue());
462461
});
463462
} else {
464463
$('#sqlquery').on('input propertychange', function () {
@@ -683,8 +682,8 @@ window.AJAX.registerOnload('sql.js', function () {
683682
var db = $('input[name="db"]').val();
684683
var table = $('input[name="table"]').val();
685684
var query;
686-
if (codeMirrorEditor) {
687-
query = codeMirrorEditor.getValue();
685+
if (window.codeMirrorEditor) {
686+
query = window.codeMirrorEditor.getValue();
688687
} else {
689688
query = $('#sqlquery').val();
690689
}
@@ -756,8 +755,8 @@ window.AJAX.registerOnload('sql.js', function () {
756755
event.preventDefault();
757756

758757
var $form = $(this);
759-
if (codeMirrorEditor) {
760-
$form[0].elements.sql_query.value = codeMirrorEditor.getValue();
758+
if (window.codeMirrorEditor) {
759+
$form[0].elements.sql_query.value = window.codeMirrorEditor.getValue();
761760
}
762761
if (! Functions.checkSqlQuery($form[0])) {
763762
return false;
@@ -946,8 +945,8 @@ window.AJAX.registerOnload('sql.js', function () {
946945
var delimiter = $('#id_sql_delimiter').val();
947946
var dbName = $form.find('input[name="db"]').val();
948947

949-
if (codeMirrorEditor) {
950-
query = codeMirrorEditor.getValue();
948+
if (window.codeMirrorEditor) {
949+
query = window.codeMirrorEditor.getValue();
951950
} else {
952951
query = $('#sqlquery').val();
953952
}
@@ -1243,7 +1242,7 @@ window.AJAX.registerOnload('sql.js', function () {
12431242
/**
12441243
* Check if there is any saved query
12451244
*/
1246-
if (codeMirrorEditor || document.sqlform) {
1245+
if (window.codeMirrorEditor || document.sqlform) {
12471246
Sql.checkSavedQuery();
12481247
}
12491248
});

js/src/table/chart.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11

22
/* global ColumnType, DataTable, JQPlotChartFactory */ // js/chart.js
3-
/* global codeMirrorEditor */ // js/functions.js
43

54
var chartData = {};
65
var tempChartTitle;
@@ -362,8 +361,8 @@ window.AJAX.registerOnload('table/chart.js', function () {
362361
// handler for ajax form submission
363362
$('#tblchartform').on('submit', function () {
364363
var $form = $(this);
365-
if (codeMirrorEditor) {
366-
$form[0].elements.sql_query.value = codeMirrorEditor.getValue();
364+
if (window.codeMirrorEditor) {
365+
$form[0].elements.sql_query.value = window.codeMirrorEditor.getValue();
367366
}
368367
if (!Functions.checkSqlQuery($form[0])) {
369368
return false;

0 commit comments

Comments
 (0)