From 3bc3c7de4d8a1878a43092b0dcb201332017120b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Sun, 4 Dec 2022 19:31:34 -0300 Subject: [PATCH] Extract Functions.ajaxShowMessage() into ajax-messages.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MaurĂ­cio Meneghini Fauth --- js/src/database/central_columns.js | 16 +- js/src/database/events.js | 33 +-- js/src/database/multi_table_query.js | 5 +- js/src/database/operations.js | 33 +-- js/src/database/routines.js | 53 ++-- js/src/database/search.js | 19 +- js/src/database/structure.js | 23 +- js/src/database/tracking.js | 9 +- js/src/database/triggers.js | 33 +-- js/src/designer/database.js | 14 +- js/src/designer/move.js | 105 ++++---- js/src/designer/page.js | 3 +- js/src/error_report.js | 11 +- js/src/export.js | 33 +-- js/src/gis_data_editor.js | 10 +- js/src/import.js | 13 +- js/src/makegrid.js | 19 +- js/src/modules/ajax-message.js | 166 +++++++++++++ js/src/modules/ajax.js | 41 +-- js/src/modules/config.js | 5 +- js/src/modules/functions.js | 235 +++--------------- js/src/modules/indexes.js | 21 +- js/src/modules/navigation.js | 31 +-- js/src/multi_column_sort.js | 6 +- js/src/normalization.js | 27 +- js/src/replication.js | 3 +- js/src/server/databases.js | 15 +- js/src/server/privileges.js | 25 +- js/src/server/status/processes.js | 5 +- js/src/server/variables.js | 16 +- js/src/sql.js | 41 +-- js/src/table/chart.js | 9 +- js/src/table/find_replace.js | 5 +- js/src/table/operations.js | 43 ++-- js/src/table/relation.js | 13 +- js/src/table/select.js | 13 +- js/src/table/structure.js | 29 +-- js/src/table/tracking.js | 9 +- js/src/table/zoom_plot_jqplot.js | 7 +- js/src/u2f.js | 22 +- .../Controllers/ErrorReportController.php | 2 +- libraries/classes/ErrorHandler.php | 4 +- test/selenium/TestBase.php | 2 +- 43 files changed, 632 insertions(+), 595 deletions(-) create mode 100644 js/src/modules/ajax-message.js diff --git a/js/src/database/central_columns.js b/js/src/database/central_columns.js index 5110707086..3cfe80d1cf 100644 --- a/js/src/database/central_columns.js +++ b/js/src/database/central_columns.js @@ -1,7 +1,7 @@ import $ from 'jquery'; import { AJAX } from '../modules/ajax.js'; -import { Functions } from '../modules/functions.js'; import { CommonParams } from '../modules/common.js'; +import { ajaxShowMessage } from '../modules/ajax-message.js'; /** * @fileoverview events handling from central columns page @@ -54,10 +54,10 @@ AJAX.registerOnload('database/central_columns.js', function () { event.preventDefault(); var multiDeleteColumns = $('.checkall:checkbox:checked').serialize(); if (multiDeleteColumns === '') { - Functions.ajaxShowMessage(window.Messages.strRadioUnchecked); + ajaxShowMessage(window.Messages.strRadioUnchecked); return false; } - Functions.ajaxShowMessage(); + ajaxShowMessage(); $('#del_col_name').val(multiDeleteColumns); $('#del_form').trigger('submit'); }); @@ -65,12 +65,12 @@ AJAX.registerOnload('database/central_columns.js', function () { event.preventDefault(); var editColumnList = $('.checkall:checkbox:checked').serialize(); if (editColumnList === '') { - Functions.ajaxShowMessage(window.Messages.strRadioUnchecked); + ajaxShowMessage(window.Messages.strRadioUnchecked); return false; } var argsep = CommonParams.get('arg_separator'); var editColumnData = editColumnList + '' + argsep + 'edit_central_columns_page=true' + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true' + argsep + 'db=' + encodeURIComponent(CommonParams.get('db')) + argsep + 'server=' + CommonParams.get('server'); - Functions.ajaxShowMessage(); + ajaxShowMessage(); AJAX.source = $(this); $.post('index.php?route=/database/central-columns', editColumnData, AJAX.responseHandler); }); @@ -79,7 +79,7 @@ AJAX.registerOnload('database/central_columns.js', function () { event.stopPropagation(); var argsep = CommonParams.get('arg_separator'); var multiColumnEditData = $('#multi_edit_central_columns').serialize() + argsep + 'multi_edit_central_column_save=true' + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true' + argsep + 'db=' + encodeURIComponent(CommonParams.get('db')) + argsep + 'server=' + CommonParams.get('server'); - Functions.ajaxShowMessage(); + ajaxShowMessage(); AJAX.source = $(this); $.post('index.php?route=/database/central-columns', multiColumnEditData, AJAX.responseHandler); }); @@ -162,7 +162,7 @@ AJAX.registerOnload('database/central_columns.js', function () { dataType: 'json', success: function (data) { if (data.message !== '1') { - Functions.ajaxShowMessage( + ajaxShowMessage( '', @@ -186,7 +186,7 @@ AJAX.registerOnload('database/central_columns.js', function () { $('#tableslistcontainer').find('.checkall').show(); }, error: function () { - Functions.ajaxShowMessage( + ajaxShowMessage( '', diff --git a/js/src/database/events.js b/js/src/database/events.js index e9e87b61f0..c2568f59dd 100644 --- a/js/src/database/events.js +++ b/js/src/database/events.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import { AJAX } from '../modules/ajax.js'; import { Functions } from '../modules/functions.js'; import { Navigation } from '../modules/navigation.js'; +import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js'; AJAX.registerTeardown('database/events.js', function () { $(document).off('click', 'a.ajax.add_anchor, a.ajax.edit_anchor'); @@ -57,7 +58,7 @@ const DatabaseEvents = { }, exportDialog: function ($this) { - var $msg = Functions.ajaxShowMessage(); + var $msg = ajaxShowMessage(); if ($this.attr('id') === 'bulkActionExportButton') { var combined = { success: true, @@ -94,11 +95,11 @@ const DatabaseEvents = { } else { $.get($this.attr('href'), { 'ajax_request': true }, showExport); } - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); function showExport (data) { if (data.success === true) { - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); /** * @var buttonOptions Object containing options * for jQueryUI dialog buttons @@ -132,7 +133,7 @@ const DatabaseEvents = { var $elm = $ajaxDialog.find('textarea'); Functions.getSqlEditor($elm); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } } // end showExport() }, // end exportDialog() @@ -154,11 +155,11 @@ const DatabaseEvents = { * @var $msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(); + var $msg = ajaxShowMessage(); $.get($this.attr('href'), { 'ajax_request': true }, function (data) { if (data.success === true) { // We have successfully fetched the editor form - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); /** * @var buttonOptions Object containing options * for jQueryUI dialog buttons @@ -187,14 +188,14 @@ const DatabaseEvents = { * @var data Form data to be sent in the AJAX request */ var data = $('form.rte_form').last().serialize(); - $msg = Functions.ajaxShowMessage( + $msg = ajaxShowMessage( window.Messages.strProcessingRequest ); var url = $('form.rte_form').last().attr('action'); $.post(url, data, function (data) { if (data.success === true) { // Item created successfully - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); Functions.slidingMessage(data.message); that.$ajaxDialog.dialog('close'); // If we are in 'edit' mode, we must @@ -285,7 +286,7 @@ const DatabaseEvents = { } Navigation.reload(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() } // end "if (that.validate())" @@ -343,7 +344,7 @@ const DatabaseEvents = { linterOptions.eventEditor = true; that.syntaxHiglighter = Functions.getSqlEditor($elm, {}, 'both', linterOptions); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.get() }, @@ -365,7 +366,7 @@ const DatabaseEvents = { * @var msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msg = ajaxShowMessage(window.Messages.strProcessingRequest); var params = Functions.getJsConfirmCommonParam(this, $this.getPostData()); $.post(url, params, function (data) { if (data.success === true) { @@ -409,12 +410,12 @@ const DatabaseEvents = { }); } // Get rid of the "Loading" message - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); // Show the query that we just executed Functions.slidingMessage(data.sql_query); Navigation.reload(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() }); @@ -427,7 +428,7 @@ const DatabaseEvents = { * @var msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msg = ajaxShowMessage(window.Messages.strProcessingRequest); // drop anchors of all selected rows var dropAnchors = $('input.checkall:checked').parents('tr').find('.drop_anchor'); @@ -486,13 +487,13 @@ const DatabaseEvents = { if (returnCount === count) { if (success) { // Get rid of the "Loading" message - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); $('#rteListForm_checkall').prop({ checked: false, indeterminate: false }); } Navigation.reload(); } } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); success = false; if (returnCount === count) { Navigation.reload(); diff --git a/js/src/database/multi_table_query.js b/js/src/database/multi_table_query.js index 6cef9e1863..8d06e9be73 100644 --- a/js/src/database/multi_table_query.js +++ b/js/src/database/multi_table_query.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import { AJAX } from '../modules/ajax.js'; import { Functions } from '../modules/functions.js'; import { CommonParams } from '../modules/common.js'; +import { ajaxShowMessage } from '../modules/ajax-message.js'; /** * @fileoverview function used in QBE for DB @@ -61,7 +62,7 @@ AJAX.registerOnload('database/multi_table_query.js', function () { } }); if (Object.keys(tableAliases).length === 0) { - Functions.ajaxShowMessage('Nothing selected', false, 'error'); + ajaxShowMessage('Nothing selected', false, 'error'); return; } @@ -120,7 +121,7 @@ AJAX.registerOnload('database/multi_table_query.js', function () { var query = editor.getDoc().getValue(); // Verifying that the query is not empty if (query === '') { - Functions.ajaxShowMessage(window.Messages.strEmptyQuery, false, 'error'); + ajaxShowMessage(window.Messages.strEmptyQuery, false, 'error'); return; } var data = { diff --git a/js/src/database/operations.js b/js/src/database/operations.js index 2e83b0235f..962028b88c 100644 --- a/js/src/database/operations.js +++ b/js/src/database/operations.js @@ -3,6 +3,7 @@ import { AJAX } from '../modules/ajax.js'; import { Functions } from '../modules/functions.js'; import { Navigation } from '../modules/navigation.js'; import { CommonActions, CommonParams } from '../modules/common.js'; +import { ajaxShowMessage } from '../modules/ajax-message.js'; /** * @fileoverview function used in server privilege pages @@ -39,7 +40,7 @@ AJAX.registerOnload('database/operations.js', function () { event.preventDefault(); if (Functions.emptyCheckTheField(this, 'newname')) { - Functions.ajaxShowMessage(window.Messages.strFormEmpty, false, 'error'); + ajaxShowMessage(window.Messages.strFormEmpty, false, 'error'); return false; } @@ -47,7 +48,7 @@ AJAX.registerOnload('database/operations.js', function () { var newDbName = $('#new_db_name').val(); if (newDbName === oldDbName) { - Functions.ajaxShowMessage(window.Messages.strDatabaseRenameToSameName, false, 'error'); + ajaxShowMessage(window.Messages.strDatabaseRenameToSameName, false, 'error'); return false; } @@ -58,10 +59,10 @@ AJAX.registerOnload('database/operations.js', function () { Functions.prepareForAjaxRequest($form); $form.confirm(question, $form.attr('action'), function (url) { - Functions.ajaxShowMessage(window.Messages.strRenamingDatabases, false); + ajaxShowMessage(window.Messages.strRenamingDatabases, false); $.post(url, $('#rename_db_form').serialize() + CommonParams.get('arg_separator') + 'is_js_confirmed=1', function (data) { if (typeof data !== 'undefined' && data.success === true) { - Functions.ajaxShowMessage(data.message); + ajaxShowMessage(data.message); CommonParams.set('db', data.newname); Navigation.reload(function () { @@ -77,7 +78,7 @@ AJAX.registerOnload('database/operations.js', function () { }); }); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() }); @@ -90,11 +91,11 @@ AJAX.registerOnload('database/operations.js', function () { event.preventDefault(); if (Functions.emptyCheckTheField(this, 'newname')) { - Functions.ajaxShowMessage(window.Messages.strFormEmpty, false, 'error'); + ajaxShowMessage(window.Messages.strFormEmpty, false, 'error'); return false; } - Functions.ajaxShowMessage(window.Messages.strCopyingDatabase, false); + ajaxShowMessage(window.Messages.strCopyingDatabase, false); var $form = $(this); Functions.prepareForAjaxRequest($form); $.post($form.attr('action'), $form.serialize(), function (data) { @@ -104,15 +105,15 @@ AJAX.registerOnload('database/operations.js', function () { if ($('#checkbox_switch').is(':checked')) { CommonParams.set('db', data.newname); CommonActions.refreshMain(false, function () { - Functions.ajaxShowMessage(data.message); + ajaxShowMessage(data.message); }); } else { CommonParams.set('db', data.db); - Functions.ajaxShowMessage(data.message); + ajaxShowMessage(data.message); } Navigation.reload(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() }); // end copy database @@ -132,12 +133,12 @@ AJAX.registerOnload('database/operations.js', function () { event.preventDefault(); var $form = $(this); Functions.prepareForAjaxRequest($form); - Functions.ajaxShowMessage(window.Messages.strChangingCharset); + ajaxShowMessage(window.Messages.strChangingCharset); $.post($form.attr('action'), $form.serialize(), function (data) { if (typeof data !== 'undefined' && data.success === true) { - Functions.ajaxShowMessage(data.message); + ajaxShowMessage(data.message); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() }); // end change charset @@ -159,7 +160,7 @@ AJAX.registerOnload('database/operations.js', function () { var params = Functions.getJsConfirmCommonParam(this, $link.getPostData()); $(this).confirm(question, $(this).attr('href'), function (url) { - Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + ajaxShowMessage(window.Messages.strProcessingRequest); $.post(url, params, function (data) { if (typeof data !== 'undefined' && data.success) { // Database deleted successfully, refresh both the frames @@ -168,11 +169,11 @@ AJAX.registerOnload('database/operations.js', function () { CommonActions.refreshMain( 'index.php?route=/server/databases', function () { - Functions.ajaxShowMessage(data.message); + ajaxShowMessage(data.message); } ); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); }); diff --git a/js/src/database/routines.js b/js/src/database/routines.js index d3e281bf49..8d09af6c78 100644 --- a/js/src/database/routines.js +++ b/js/src/database/routines.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import { AJAX } from '../modules/ajax.js'; import { Functions } from '../modules/functions.js'; import { Navigation } from '../modules/navigation.js'; +import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js'; AJAX.registerTeardown('database/routines.js', function () { $(document).off('click', 'a.ajax.add_anchor'); @@ -67,7 +68,7 @@ const DatabaseRoutines = { }, exportDialog: function ($this) { - var $msg = Functions.ajaxShowMessage(); + var $msg = ajaxShowMessage(); if ($this.attr('id') === 'bulkActionExportButton') { var combined = { success: true, @@ -82,7 +83,7 @@ const DatabaseRoutines = { // No routine is exportable (due to privilege issues) if (count === 0) { - Functions.ajaxShowMessage(window.Messages.NoExportable); + ajaxShowMessage(window.Messages.NoExportable); } var p = $.when(); exportAnchors.each(function () { @@ -109,11 +110,11 @@ const DatabaseRoutines = { } else { $.get($this.attr('href'), { 'ajax_request': true }, showExport); } - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); function showExport (data) { if (data.success === true) { - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); /** * @var buttonOptions Object containing options * for jQueryUI dialog buttons @@ -147,7 +148,7 @@ const DatabaseRoutines = { var $elm = $ajaxDialog.find('textarea'); Functions.getSqlEditor($elm); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } } // end showExport() }, // end exportDialog() @@ -169,7 +170,7 @@ const DatabaseRoutines = { * @var $msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(); + var $msg = ajaxShowMessage(); $.get($this.attr('href'), { 'ajax_request': true }, function (data) { if (data.success === true) { var buttonOptions = { @@ -183,7 +184,7 @@ const DatabaseRoutines = { }, }; // We have successfully fetched the editor form - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); // Now define the function that is called when // the user presses the "Go" button buttonOptions[window.Messages.strGo].click = function () { @@ -198,14 +199,14 @@ const DatabaseRoutines = { * @var data Form data to be sent in the AJAX request */ var data = $('form.rte_form').last().serialize(); - $msg = Functions.ajaxShowMessage( + $msg = ajaxShowMessage( window.Messages.strProcessingRequest ); var url = $('form.rte_form').last().attr('action'); $.post(url, data, function (data) { if (data.success === true) { // Item created successfully - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); Functions.slidingMessage(data.message); that.$ajaxDialog.dialog('close'); @@ -298,7 +299,7 @@ const DatabaseRoutines = { } Navigation.reload(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() } // end "if (that.validate())" @@ -360,7 +361,7 @@ const DatabaseRoutines = { // Execute item-specific code that.postDialogShow(data); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.get() }, @@ -382,7 +383,7 @@ const DatabaseRoutines = { * @var msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msg = ajaxShowMessage(window.Messages.strProcessingRequest); var params = Functions.getJsConfirmCommonParam(this, $this.getPostData()); $.post(url, params, function (data) { if (data.success === true) { @@ -426,12 +427,12 @@ const DatabaseRoutines = { }); } // Get rid of the "Loading" message - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); // Show the query that we just executed Functions.slidingMessage(data.sql_query); Navigation.reload(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() }); @@ -444,7 +445,7 @@ const DatabaseRoutines = { * @var msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msg = ajaxShowMessage(window.Messages.strProcessingRequest); // drop anchors of all selected rows var dropAnchors = $('input.checkall:checked').parents('tr').find('.drop_anchor'); @@ -503,13 +504,13 @@ const DatabaseRoutines = { if (returnCount === count) { if (success) { // Get rid of the "Loading" message - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); $('#rteListForm_checkall').prop({ checked: false, indeterminate: false }); } Navigation.reload(); } } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); success = false; if (returnCount === count) { Navigation.reload(); @@ -768,11 +769,11 @@ const DatabaseRoutines = { * @var msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(); + var $msg = ajaxShowMessage(); var params = Functions.getJsConfirmCommonParam($this[0], $this.getPostData()); $.post($this.attr('href'), params, function (data) { if (data.success === true) { - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); // If 'data.dialog' is true we show a dialog with a form // to get the input parameters for routine, otherwise // we just show the results of the query @@ -794,17 +795,17 @@ const DatabaseRoutines = { * @var data Form data to be sent in the AJAX request */ var data = $('form.rte_form').last().serialize(); - $msg = Functions.ajaxShowMessage( + $msg = ajaxShowMessage( window.Messages.strProcessingRequest ); $.post('index.php?route=/database/routines', data, function (data) { if (data.success === true) { // Routine executed successfully - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); Functions.slidingMessage(data.message); $ajaxDialog.dialog('close'); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); }; @@ -843,19 +844,19 @@ const DatabaseRoutines = { * @var data Form data to be sent in the AJAX request */ var data = $(this).serialize(); - $msg = Functions.ajaxShowMessage( + $msg = ajaxShowMessage( window.Messages.strProcessingRequest ); var url = $(this).attr('action'); $.post(url, data, function (data) { if (data.success === true) { // Routine executed successfully - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); Functions.slidingMessage(data.message); $('form.rte_form').off('keyup'); $ajaxDialog.remove(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); } @@ -865,7 +866,7 @@ const DatabaseRoutines = { Functions.slidingMessage(data.message); } } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() } diff --git a/js/src/database/search.js b/js/src/database/search.js index 28acb35cf8..a865b685da 100644 --- a/js/src/database/search.js +++ b/js/src/database/search.js @@ -3,6 +3,7 @@ import { AJAX } from '../modules/ajax.js'; import { Functions } from '../modules/functions.js'; import { CommonParams } from '../modules/common.js'; import highlightSql from '../modules/sql-highlight.js'; +import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js'; /** * JavaScript functions used on Database Search page @@ -120,7 +121,7 @@ AJAX.registerOnload('database/search.js', function () { $(document).on('click', 'a.browse_results', function (e) { e.preventDefault(); /** Hides the results shown by the delete criteria */ - var $msg = Functions.ajaxShowMessage(window.Messages.strBrowsing, false); + var $msg = ajaxShowMessage(window.Messages.strBrowsing, false); $('#sqlqueryform').hide(); $('#togglequerybox').hide(); /** Load the browse results to the page */ @@ -138,7 +139,7 @@ AJAX.registerOnload('database/search.js', function () { $.post(url, params, function (data) { if (typeof data !== 'undefined' && data.success) { $('#browse-results').html(data.message); - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); $('.table_results').each(function () { window.makeGrid(this, true, true, true, true); }); @@ -149,7 +150,7 @@ AJAX.registerOnload('database/search.js', function () { scrollTop: $('#browse-results').offset().top }, 1000); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); }); @@ -169,7 +170,7 @@ AJAX.registerOnload('database/search.js', function () { $(this).data('table-name') ); if (confirm(msg)) { - var $msg = Functions.ajaxShowMessage(window.Messages.strDeleting, false); + var $msg = ajaxShowMessage(window.Messages.strDeleting, false); /** Load the deleted option to the page*/ $('#sqlqueryform').html(''); var params = { @@ -181,7 +182,7 @@ AJAX.registerOnload('database/search.js', function () { $.post(url, params, function (data) { if (typeof data === 'undefined' || ! data.success) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); return; } @@ -197,7 +198,7 @@ AJAX.registerOnload('database/search.js', function () { .animate({ scrollTop: $('#browse-results').offset().top }, 1000); - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); }); } }); @@ -208,10 +209,10 @@ AJAX.registerOnload('database/search.js', function () { $(document).on('submit', '#db_search_form.ajax', function (event) { event.preventDefault(); if ($('#criteriaTables :selected').length === 0) { - Functions.ajaxShowMessage(window.Messages.strNoTableSelected); + ajaxShowMessage(window.Messages.strNoTableSelected); return; } - var $msgbox = Functions.ajaxShowMessage(window.Messages.strSearching, false); + var $msgbox = ajaxShowMessage(window.Messages.strSearching, false); // jQuery object to reuse var $form = $(this); @@ -247,7 +248,7 @@ AJAX.registerOnload('database/search.js', function () { $('#searchresults').html(data.error).show(); } - Functions.ajaxRemoveMessage($msgbox); + ajaxRemoveMessage($msgbox); }); }); diff --git a/js/src/database/structure.js b/js/src/database/structure.js index d9796e341a..961c805199 100644 --- a/js/src/database/structure.js +++ b/js/src/database/structure.js @@ -4,6 +4,7 @@ import { Functions } from '../modules/functions.js'; import { Navigation } from '../modules/navigation.js'; import { CommonParams } from '../modules/common.js'; import tooltip from '../modules/tooltip.js'; +import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js'; /** * @fileoverview functions used on the database structure page @@ -180,11 +181,11 @@ DatabaseStructure.fetchRealRowCount = function ($target) { // Adjust the 'Sum' displayed at the bottom. DatabaseStructure.adjustTotals(); } else { - Functions.ajaxShowMessage(window.Messages.strErrorRealRowCount); + ajaxShowMessage(window.Messages.strErrorRealRowCount); } }, error: function () { - Functions.ajaxShowMessage(window.Messages.strErrorRealRowCount); + ajaxShowMessage(window.Messages.strErrorRealRowCount); } }); }; @@ -207,7 +208,7 @@ AJAX.registerOnload('database/structure.js', function () { const argSep = CommonParams.get('arg_separator'); const data = $form.serialize() + argSep + 'ajax_request=true' + argSep + 'ajax_page_request=true'; - Functions.ajaxShowMessage(); + ajaxShowMessage(); AJAX.source = $form; $.post( @@ -302,7 +303,7 @@ AJAX.registerOnload('database/structure.js', function () { var argsep = CommonParams.get('arg_separator'); var data = $form.serialize() + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true'; - Functions.ajaxShowMessage(); + ajaxShowMessage(); AJAX.source = $form; $.post(url, data, AJAX.responseHandler); @@ -332,20 +333,20 @@ AJAX.registerOnload('database/structure.js', function () { Functions.getForeignKeyCheckboxLoader(); $thisAnchor.confirm(question, $thisAnchor.attr('href'), function (url) { - Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + ajaxShowMessage(window.Messages.strProcessingRequest); var params = Functions.getJsConfirmCommonParam(this, $thisAnchor.getPostData()); $.post(url, params, function (data) { if (typeof data !== 'undefined' && data.success === true) { - Functions.ajaxShowMessage(data.message); + ajaxShowMessage(data.message); // Adjust table statistics var $tr = $thisAnchor.closest('tr'); $tr.find('.tbl_rows').text('0'); $tr.find('.tbl_size, .tbl_overhead').text('-'); DatabaseStructure.adjustTotals(); } else { - Functions.ajaxShowMessage(window.Messages.strErrorProcessingRequest + ' : ' + data.error, false); + ajaxShowMessage(window.Messages.strErrorProcessingRequest + ' : ' + data.error, false); } }); // end $.post() }, Functions.loadForeignKeyCheckbox); @@ -386,19 +387,19 @@ AJAX.registerOnload('database/structure.js', function () { question += Functions.getForeignKeyCheckboxLoader(); $thisAnchor.confirm(question, $thisAnchor.attr('href'), function (url) { - var $msg = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msg = ajaxShowMessage(window.Messages.strProcessingRequest); var params = Functions.getJsConfirmCommonParam(this, $thisAnchor.getPostData()); $.post(url, params, function (data) { if (typeof data !== 'undefined' && data.success === true) { - Functions.ajaxShowMessage(data.message); + ajaxShowMessage(data.message); $currRow.hide('medium').remove(); DatabaseStructure.adjustTotals(); Navigation.reload(); - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); } else { - Functions.ajaxShowMessage(window.Messages.strErrorProcessingRequest + ' : ' + data.error, false); + ajaxShowMessage(window.Messages.strErrorProcessingRequest + ' : ' + data.error, false); } }); // end $.post() }, Functions.loadForeignKeyCheckbox); diff --git a/js/src/database/tracking.js b/js/src/database/tracking.js index a6c968029c..aa72822478 100644 --- a/js/src/database/tracking.js +++ b/js/src/database/tracking.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import { AJAX } from '../modules/ajax.js'; import { Functions } from '../modules/functions.js'; import { CommonParams } from '../modules/common.js'; +import { ajaxShowMessage } from '../modules/ajax-message.js'; /** * Unbind all event handlers before tearing down the page @@ -54,12 +55,12 @@ AJAX.registerOnload('database/tracking.js', function () { if ($button.val() === 'delete_tracking') { var question = window.Messages.strDeleteTrackingDataMultiple; $button.confirm(question, $form.attr('action'), function (url) { - Functions.ajaxShowMessage(window.Messages.strDeletingTrackingData); + ajaxShowMessage(window.Messages.strDeletingTrackingData); AJAX.source = $form; $.post(url, submitData, AJAX.responseHandler); }); } else { - Functions.ajaxShowMessage(); + ajaxShowMessage(); AJAX.source = $form; $.post($form.attr('action'), submitData, AJAX.responseHandler); } @@ -74,7 +75,7 @@ AJAX.registerOnload('database/tracking.js', function () { var $form = $button.parent('form'); var argsep = CommonParams.get('arg_separator'); var submitData = $form.serialize() + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true' + argsep + 'submit_mult=' + $button.val(); - Functions.ajaxShowMessage(); + ajaxShowMessage(); AJAX.source = $form; $.post($form.attr('action'), submitData, AJAX.responseHandler); }); @@ -87,7 +88,7 @@ AJAX.registerOnload('database/tracking.js', function () { var $anchor = $(this); var question = window.Messages.strDeleteTrackingData; $anchor.confirm(question, $anchor.attr('href'), function (url) { - Functions.ajaxShowMessage(window.Messages.strDeletingTrackingData); + ajaxShowMessage(window.Messages.strDeletingTrackingData); AJAX.source = $anchor; var argSep = CommonParams.get('arg_separator'); var params = Functions.getJsConfirmCommonParam(this, $anchor.getPostData()); diff --git a/js/src/database/triggers.js b/js/src/database/triggers.js index 44cca68097..b1d0aeeed5 100644 --- a/js/src/database/triggers.js +++ b/js/src/database/triggers.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import { AJAX } from '../modules/ajax.js'; import { Functions } from '../modules/functions.js'; import { Navigation } from '../modules/navigation.js'; +import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js'; AJAX.registerTeardown('database/triggers.js', function () { $(document).off('click', 'a.ajax.add_anchor, a.ajax.edit_anchor'); @@ -66,7 +67,7 @@ const DatabaseTriggers = { }, // end validateCustom() exportDialog: function ($this) { - var $msg = Functions.ajaxShowMessage(); + var $msg = ajaxShowMessage(); if ($this.attr('id') === 'bulkActionExportButton') { var combined = { success: true, @@ -103,11 +104,11 @@ const DatabaseTriggers = { } else { $.get($this.attr('href'), { 'ajax_request': true }, showExport); } - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); function showExport (data) { if (data.success === true) { - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); /** * @var buttonOptions Object containing options * for jQueryUI dialog buttons @@ -141,7 +142,7 @@ const DatabaseTriggers = { var $elm = $ajaxDialog.find('textarea'); Functions.getSqlEditor($elm); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } } // end showExport() }, // end exportDialog() @@ -163,7 +164,7 @@ const DatabaseTriggers = { * @var $msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(); + var $msg = ajaxShowMessage(); $.get($this.attr('href'), { 'ajax_request': true }, function (data) { if (data.success === true) { var buttonOptions = { @@ -177,7 +178,7 @@ const DatabaseTriggers = { }, }; // We have successfully fetched the editor form - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); // Now define the function that is called when // the user presses the "Go" button buttonOptions[window.Messages.strGo].click = function () { @@ -192,14 +193,14 @@ const DatabaseTriggers = { * @var data Form data to be sent in the AJAX request */ var data = $('form.rte_form').last().serialize(); - $msg = Functions.ajaxShowMessage( + $msg = ajaxShowMessage( window.Messages.strProcessingRequest ); var url = $('form.rte_form').last().attr('action'); $.post(url, data, function (data) { if (data.success === true) { // Item created successfully - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); Functions.slidingMessage(data.message); that.$ajaxDialog.dialog('close'); // If we are in 'edit' mode, we must @@ -290,7 +291,7 @@ const DatabaseTriggers = { } Navigation.reload(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() } // end "if (that.validate())" @@ -348,7 +349,7 @@ const DatabaseTriggers = { linterOptions.triggerEditor = true; that.syntaxHiglighter = Functions.getSqlEditor($elm, {}, 'both', linterOptions); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.get() }, @@ -370,7 +371,7 @@ const DatabaseTriggers = { * @var msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msg = ajaxShowMessage(window.Messages.strProcessingRequest); var params = Functions.getJsConfirmCommonParam(this, $this.getPostData()); $.post(url, params, function (data) { if (data.success === true) { @@ -414,12 +415,12 @@ const DatabaseTriggers = { }); } // Get rid of the "Loading" message - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); // Show the query that we just executed Functions.slidingMessage(data.sql_query); Navigation.reload(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() }); @@ -432,7 +433,7 @@ const DatabaseTriggers = { * @var msg jQuery object containing the reference to * the AJAX message shown to the user */ - var $msg = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msg = ajaxShowMessage(window.Messages.strProcessingRequest); // drop anchors of all selected rows var dropAnchors = $('input.checkall:checked').parents('tr').find('.drop_anchor'); @@ -491,13 +492,13 @@ const DatabaseTriggers = { if (returnCount === count) { if (success) { // Get rid of the "Loading" message - Functions.ajaxRemoveMessage($msg); + ajaxRemoveMessage($msg); $('#rteListForm_checkall').prop({ checked: false, indeterminate: false }); } Navigation.reload(); } } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); success = false; if (returnCount === count) { Navigation.reload(); diff --git a/js/src/designer/database.js b/js/src/designer/database.js index df62962546..c3e1367ef5 100644 --- a/js/src/designer/database.js +++ b/js/src/designer/database.js @@ -1,4 +1,4 @@ -import { Functions } from '../modules/functions.js'; +import { ajaxShowMessage } from '../modules/ajax-message.js'; var designerTables = [ { @@ -86,7 +86,7 @@ var DesignerOfflineDB = (function () { }; request.onerror = function () { - Functions.ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); + ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); }; }; @@ -98,7 +98,7 @@ var DesignerOfflineDB = (function () { */ designerDB.loadObject = function (table, id, callback) { if (datastore === null) { - Functions.ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); + ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); return; } @@ -119,7 +119,7 @@ var DesignerOfflineDB = (function () { */ designerDB.loadAllObjects = function (table, callback) { if (datastore === null) { - Functions.ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); + ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); return; } @@ -150,7 +150,7 @@ var DesignerOfflineDB = (function () { */ designerDB.loadFirstObject = function (table, callback) { if (datastore === null) { - Functions.ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); + ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); return; } @@ -181,7 +181,7 @@ var DesignerOfflineDB = (function () { */ designerDB.addObject = function (table, obj, callback) { if (datastore === null) { - Functions.ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); + ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); return; } @@ -205,7 +205,7 @@ var DesignerOfflineDB = (function () { */ designerDB.deleteObject = function (table, id, callback) { if (datastore === null) { - Functions.ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); + ajaxShowMessage(window.Messages.strIndexedDBNotWorking, null, 'error'); return; } diff --git a/js/src/designer/move.js b/js/src/designer/move.js index c12baa004c..219d4c107f 100644 --- a/js/src/designer/move.js +++ b/js/src/designer/move.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import { AJAX } from '../modules/ajax.js'; import { Functions } from '../modules/functions.js'; import { CommonActions, CommonParams } from '../modules/common.js'; +import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js'; /** * @package PhpMyAdmin-Designer @@ -675,7 +676,7 @@ DesignerMove.addOtherDbTables = function () { // Check if table already imported or not. var $table = $('[id="' + encodeURIComponent(db) + '.' + encodeURIComponent(table) + '"]'); if ($table.length !== 0) { - Functions.ajaxShowMessage( + ajaxShowMessage( window.sprintf(window.Messages.strTableAlreadyExists, db + '.' + table), undefined, 'error' @@ -792,13 +793,13 @@ DesignerMove.save2 = function (callback) { poststr += argsep + 'server=' + window.server + argsep + 'db=' + encodeURIComponent(window.db) + argsep + 'selected_page=' + window.selectedPage; poststr += DesignerMove.getUrlPos(); - var $msgbox = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msgbox = ajaxShowMessage(window.Messages.strProcessingRequest); $.post('index.php?route=/database/designer', poststr, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); - Functions.ajaxShowMessage(window.Messages.strModificationSaved); + ajaxRemoveMessage($msgbox); + ajaxShowMessage(window.Messages.strModificationSaved); DesignerMove.markSaved(); if (typeof callback !== 'undefined') { callback(); @@ -820,19 +821,19 @@ DesignerMove.submitSaveDialogAndClose = function (callback, modal) { var $form = $('#save_page'); var name = $form.find('input[name="selected_value"]').val().trim(); if (name === '') { - Functions.ajaxShowMessage(window.Messages.strEnterValidPageName, false); + ajaxShowMessage(window.Messages.strEnterValidPageName, false); return; } modal.modal('hide'); if (window.designerTablesEnabled) { - var $msgbox = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msgbox = ajaxShowMessage(window.Messages.strProcessingRequest); Functions.prepareForAjaxRequest($form); $.post($form.attr('action'), $form.serialize() + DesignerMove.getUrlPos(), function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); + ajaxRemoveMessage($msgbox); DesignerMove.markSaved(); if (data.id) { window.selectedPage = data.id; @@ -886,7 +887,7 @@ DesignerMove.save3 = function (callback) { // ------------------------------ EDIT PAGES ------------------------------------------ DesignerMove.editPages = function () { DesignerMove.promptToSaveCurrentPage(function () { - var $msgbox = Functions.ajaxShowMessage(); + var $msgbox = ajaxShowMessage(); $.post('index.php?route=/database/designer', { 'ajax_request': true, 'server': window.server, @@ -894,9 +895,9 @@ DesignerMove.editPages = function () { 'dialog': 'edit' }, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); + ajaxRemoveMessage($msgbox); if (! window.designerTablesEnabled) { DesignerPage.createPageList(window.db, function (options) { @@ -908,7 +909,7 @@ DesignerMove.editPages = function () { var $form = $('#edit_delete_pages'); var selected = $form.find('select[name="selected_page"]').val(); if (selected === '0') { - Functions.ajaxShowMessage(window.Messages.strSelectPage, 2000); + ajaxShowMessage(window.Messages.strSelectPage, 2000); return; } @@ -923,7 +924,7 @@ DesignerMove.editPages = function () { // ----------------------------- DELETE PAGES --------------------------------------- DesignerMove.deletePages = function () { - var $msgbox = Functions.ajaxShowMessage(); + var $msgbox = ajaxShowMessage(); $.post('index.php?route=/database/designer', { 'ajax_request': true, 'server': window.server, @@ -931,9 +932,9 @@ DesignerMove.deletePages = function () { 'dialog': 'delete' }, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); + ajaxRemoveMessage($msgbox); if (! window.designerTablesEnabled) { DesignerPage.createPageList(window.db, function (options) { @@ -946,37 +947,37 @@ DesignerMove.deletePages = function () { var $form = $('#edit_delete_pages'); var selected = $form.find('select[name="selected_page"]').val(); if (selected === '0') { - Functions.ajaxShowMessage(window.Messages.strSelectPage, 2000); + ajaxShowMessage(window.Messages.strSelectPage, 2000); return; } - var $messageBox = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $messageBox = ajaxShowMessage(window.Messages.strProcessingRequest); var deletingCurrentPage = parseInt(selected) === window.selectedPage; Functions.prepareForAjaxRequest($form); if (window.designerTablesEnabled) { $.post($form.attr('action'), $form.serialize(), function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($messageBox); + ajaxRemoveMessage($messageBox); if (deletingCurrentPage) { DesignerMove.loadPage(null); } else { - Functions.ajaxShowMessage(window.Messages.strSuccessfulPageDelete); + ajaxShowMessage(window.Messages.strSuccessfulPageDelete); } } }); // end $.post() } else { DesignerPage.deletePage(selected, function (success) { if (! success) { - Functions.ajaxShowMessage('Error', false); + ajaxShowMessage('Error', false); } else { - Functions.ajaxRemoveMessage($messageBox); + ajaxRemoveMessage($messageBox); if (deletingCurrentPage) { DesignerMove.loadPage(null); } else { - Functions.ajaxShowMessage(window.Messages.strSuccessfulPageDelete); + ajaxShowMessage(window.Messages.strSuccessfulPageDelete); } } }); @@ -991,7 +992,7 @@ DesignerMove.deletePages = function () { // ------------------------------ SAVE AS PAGES --------------------------------------- DesignerMove.saveAs = function () { - var $msgbox = Functions.ajaxShowMessage(); + var $msgbox = ajaxShowMessage(); $.post('index.php?route=/database/designer', { 'ajax_request': true, 'server': window.server, @@ -999,9 +1000,9 @@ DesignerMove.saveAs = function () { 'dialog': 'save_as' }, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); + ajaxRemoveMessage($msgbox); if (! window.designerTablesEnabled) { DesignerPage.createPageList(window.db, function (options) { @@ -1019,26 +1020,26 @@ DesignerMove.saveAs = function () { if (choice === 'same') { if ($selectedPage.val() === '0') { - Functions.ajaxShowMessage(window.Messages.strSelectPage, 2000); + ajaxShowMessage(window.Messages.strSelectPage, 2000); return; } name = $selectedPage.find('option:selected').text(); } else if (choice === 'new') { if (selectedValue === '') { - Functions.ajaxShowMessage(window.Messages.strEnterValidPageName, 2000); + ajaxShowMessage(window.Messages.strEnterValidPageName, 2000); return; } name = selectedValue; } - var $msgbox = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msgbox = ajaxShowMessage(window.Messages.strProcessingRequest); if (window.designerTablesEnabled) { Functions.prepareForAjaxRequest($form); $.post($form.attr('action'), $form.serialize() + DesignerMove.getUrlPos(), function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); + ajaxRemoveMessage($msgbox); DesignerMove.markSaved(); if (data.id) { window.selectedPage = data.id; @@ -1050,7 +1051,7 @@ DesignerMove.saveAs = function () { if (choice === 'same') { var selectedPageId = $selectedPage.find('option:selected').val(); DesignerPage.saveToSelectedPage(window.db, selectedPageId, name, DesignerMove.getUrlPos(), function (page) { - Functions.ajaxRemoveMessage($msgbox); + ajaxRemoveMessage($msgbox); DesignerMove.markSaved(); if (page.pgNr) { window.selectedPage = page.pgNr; @@ -1059,7 +1060,7 @@ DesignerMove.saveAs = function () { }); } else if (choice === 'new') { DesignerPage.saveToNewPage(window.db, name, DesignerMove.getUrlPos(), function (page) { - Functions.ajaxRemoveMessage($msgbox); + ajaxRemoveMessage($msgbox); DesignerMove.markSaved(); if (page.pgNr) { window.selectedPage = page.pgNr; @@ -1099,7 +1100,7 @@ DesignerMove.promptToSaveCurrentPage = function (callback) { // ------------------------------ EXPORT PAGES --------------------------------------- DesignerMove.exportPages = function () { - var $msgbox = Functions.ajaxShowMessage(); + var $msgbox = ajaxShowMessage(); var argsep = CommonParams.get('arg_separator'); $.post('index.php?route=/database/designer', { @@ -1110,9 +1111,9 @@ DesignerMove.exportPages = function () { 'selected_page': window.selectedPage }, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); + ajaxRemoveMessage($msgbox); var $form = $(data.message); if (! window.designerTablesEnabled) { @@ -1204,7 +1205,7 @@ DesignerMove.saveValueInConfig = function (indexSent, valueSent) { }, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); }; @@ -1296,7 +1297,7 @@ DesignerMove.clickField = function (db, T, f, pk) { document.getElementById('designer_hint').style.display = 'none'; document.getElementById('display_field_button').className = 'M_butt'; - var $msgbox = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msgbox = ajaxShowMessage(window.Messages.strProcessingRequest); $.post('index.php?route=/database/designer', { 'operation': 'setDisplayField', @@ -1308,10 +1309,10 @@ DesignerMove.clickField = function (db, T, f, pk) { }, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); - Functions.ajaxShowMessage(window.Messages.strModificationSaved); + ajaxRemoveMessage($msgbox); + ajaxShowMessage(window.Messages.strModificationSaved); } }); } @@ -1324,13 +1325,13 @@ DesignerMove.newRelation = function () { linkRelation += argsep + 'on_delete=' + document.getElementById('on_delete').value + argsep + 'on_update=' + document.getElementById('on_update').value; linkRelation += argsep + 'operation=addNewRelation' + argsep + 'ajax_request=true'; - var $msgbox = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msgbox = ajaxShowMessage(window.Messages.strProcessingRequest); $.post('index.php?route=/database/designer', linkRelation, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); - Functions.ajaxShowMessage(data.message); + ajaxRemoveMessage($msgbox); + ajaxShowMessage(data.message); DesignerMove.loadPage(window.selectedPage); } }); // end $.post() @@ -1550,13 +1551,13 @@ DesignerMove.updRelation = function () { linkRelation += argsep + 'server=' + window.server + argsep + 'db=' + window.db; linkRelation += argsep + 'operation=removeRelation' + argsep + 'ajax_request=true'; - var $msgbox = Functions.ajaxShowMessage(window.Messages.strProcessingRequest); + var $msgbox = ajaxShowMessage(window.Messages.strProcessingRequest); $.post('index.php?route=/database/designer', linkRelation, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxRemoveMessage($msgbox); - Functions.ajaxShowMessage(data.message); + ajaxRemoveMessage($msgbox); + ajaxShowMessage(data.message); DesignerMove.loadPage(window.selectedPage); } }); // end $.post() @@ -1913,7 +1914,7 @@ DesignerMove.addObject = function (dbName, tableName, colName, dbTableNameUrl) { var init = historyArray.length; if (rel.value !== '--') { if (document.getElementById('Query').value === '') { - Functions.ajaxShowMessage(window.sprintf(window.Messages.strQueryEmpty)); + ajaxShowMessage(window.sprintf(window.Messages.strQueryEmpty)); return; } p = document.getElementById('Query'); @@ -1956,7 +1957,7 @@ DesignerMove.addObject = function (dbName, tableName, colName, dbTableNameUrl) { sum = sum + 1; // make orderby } - Functions.ajaxShowMessage(window.sprintf(window.Messages.strObjectsCreated, sum)); + ajaxShowMessage(window.sprintf(window.Messages.strObjectsCreated, sum)); // output sum new objects created var existingDiv = document.getElementById('ab'); existingDiv.innerHTML = DesignerHistory.display(init, historyArray.length); diff --git a/js/src/designer/page.js b/js/src/designer/page.js index e90baaf333..cab3e4b0e3 100644 --- a/js/src/designer/page.js +++ b/js/src/designer/page.js @@ -1,5 +1,6 @@ import $ from 'jquery'; import { Functions } from '../modules/functions.js'; +import { ajaxShowMessage } from '../modules/ajax-message.js'; /* global DesignerOfflineDB */ // js/designer/database.js /* global DesignerMove */ // js/designer/move.js @@ -151,7 +152,7 @@ DesignerPage.loadHtmlForPage = function (pageId) { DesignerMove.markSaved(); if (tableMissing === true) { DesignerMove.markUnsaved(); - Functions.ajaxShowMessage(window.Messages.strSavedPageTableMissing); + ajaxShowMessage(window.Messages.strSavedPageTableMissing); } window.selectedPage = page.pgNr; }); diff --git a/js/src/error_report.js b/js/src/error_report.js index 3a695984b7..0780502289 100644 --- a/js/src/error_report.js +++ b/js/src/error_report.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import { AJAX } from './modules/ajax.js'; import { Functions } from './modules/functions.js'; import { CommonParams } from './modules/common.js'; +import { ajaxShowMessage } from './modules/ajax-message.js'; /** * general function, usually for data manipulation pages @@ -29,7 +30,7 @@ var ErrorReport = { */ errorDataHandler: function (data, exception) { if (data.success !== true) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); return; } if (data.report_setting === 'ask') { @@ -43,9 +44,9 @@ var ErrorReport = { $.post('index.php?route=/error-report', postData, function (data) { if (data.success === false) { // in the case of an error, show the error message returned. - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxShowMessage(data.message, false); + ajaxShowMessage(data.message, false); } }); } @@ -91,9 +92,9 @@ var ErrorReport = { }); $.post('index.php?route=/error-report', postData, function (data) { if (data.success === false) { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } else { - Functions.ajaxShowMessage(data.message, 3000); + ajaxShowMessage(data.message, 3000); } }); $('#errorReportModal').modal('hide'); diff --git a/js/src/export.js b/js/src/export.js index 69d7d8c879..94ab2a35e8 100644 --- a/js/src/export.js +++ b/js/src/export.js @@ -3,6 +3,7 @@ import { AJAX } from './modules/ajax.js'; import { Functions } from './modules/functions.js'; import { CommonParams } from './modules/common.js'; import highlightSql from './modules/sql-highlight.js'; +import { ajaxShowMessage } from './modules/ajax-message.js'; /** * Functions used in the export tab @@ -88,7 +89,7 @@ Export.createTemplate = function (name) { 'templateData': JSON.stringify(templateData) }; - Functions.ajaxShowMessage(); + ajaxShowMessage(); $.post('index.php?route=/export/template/create', params, function (response) { if (response.success === true) { $('#templateName').val(''); @@ -98,9 +99,9 @@ Export.createTemplate = function (name) { $(this).prop('selected', true); } }); - Functions.ajaxShowMessage(window.Messages.strTemplateCreated); + ajaxShowMessage(window.Messages.strTemplateCreated); } else { - Functions.ajaxShowMessage(response.error, false); + ajaxShowMessage(response.error, false); } }); }; @@ -120,7 +121,7 @@ Export.loadTemplate = function (id) { 'templateId': id, }; - Functions.ajaxShowMessage(); + ajaxShowMessage(); $.post('index.php?route=/export/template/load', params, function (response) { if (response.success === true) { var $form = $('form[name="dump"]'); @@ -145,9 +146,9 @@ Export.loadTemplate = function (id) { } }); $('input[name="template_id"]').val(id); - Functions.ajaxShowMessage(window.Messages.strTemplateLoaded); + ajaxShowMessage(window.Messages.strTemplateLoaded); } else { - Functions.ajaxShowMessage(response.error, false); + ajaxShowMessage(response.error, false); } }); }; @@ -170,12 +171,12 @@ Export.updateTemplate = function (id) { 'templateData': JSON.stringify(templateData) }; - Functions.ajaxShowMessage(); + ajaxShowMessage(); $.post('index.php?route=/export/template/update', params, function (response) { if (response.success === true) { - Functions.ajaxShowMessage(window.Messages.strTemplateUpdated); + ajaxShowMessage(window.Messages.strTemplateUpdated); } else { - Functions.ajaxShowMessage(response.error, false); + ajaxShowMessage(response.error, false); } }); }; @@ -195,13 +196,13 @@ Export.deleteTemplate = function (id) { 'templateId': id, }; - Functions.ajaxShowMessage(); + ajaxShowMessage(); $.post('index.php?route=/export/template/delete', params, function (response) { if (response.success === true) { $('#template').find('option[value="' + id + '"]').remove(); - Functions.ajaxShowMessage(window.Messages.strTemplateDeleted); + ajaxShowMessage(window.Messages.strTemplateDeleted); } else { - Functions.ajaxShowMessage(response.error, false); + ajaxShowMessage(response.error, false); } }); }; @@ -765,7 +766,7 @@ Export.checkTimeOut = function (timeLimit) { timeOut = setTimeout(function () { $.get('index.php?route=/export/check-time-out', { 'ajax_request': true }, function (data) { if (data.message === 'timeout') { - Functions.ajaxShowMessage( + ajaxShowMessage( '', @@ -809,7 +810,7 @@ Export.createAliasModal = function (event) { $('#db_alias_select').append(option); }); } else { - Functions.ajaxShowMessage(response.error, false); + ajaxShowMessage(response.error, false); } }); } @@ -927,7 +928,7 @@ AJAX.registerOnload('export.js', function () { $('#table_alias_select').append(option); }); } else { - Functions.ajaxShowMessage(response.error, false); + ajaxShowMessage(response.error, false); } }); } @@ -952,7 +953,7 @@ AJAX.registerOnload('export.js', function () { $('#column_alias_select').append(option); }); } else { - Functions.ajaxShowMessage(response.error, false); + ajaxShowMessage(response.error, false); } }); }); diff --git a/js/src/gis_data_editor.js b/js/src/gis_data_editor.js index 9523cf5d3c..c9b9afff2f 100644 --- a/js/src/gis_data_editor.js +++ b/js/src/gis_data_editor.js @@ -1,7 +1,7 @@ import $ from 'jquery'; import { AJAX } from './modules/ajax.js'; -import { Functions } from './modules/functions.js'; import { CommonParams } from './modules/common.js'; +import { ajaxShowMessage } from './modules/ajax-message.js'; /** * @fileoverview functions used in GIS data editor @@ -153,7 +153,7 @@ function loadGISEditor (value, field, type, inputName) { initGISEditorVisualization(); prepareJSVersion(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }, 'json'); } @@ -205,7 +205,7 @@ function insertDataAndClose () { if (typeof data !== 'undefined' && data.success === true) { $('input[name=\'' + inputName + '\']').val(data.result); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }, 'json'); closeGISEditor(); @@ -259,7 +259,7 @@ AJAX.registerOnload('gis_data_editor.js', function () { eval(data.openLayers); initGISEditorVisualization(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }, 'json'); }); @@ -278,7 +278,7 @@ AJAX.registerOnload('gis_data_editor.js', function () { initGISEditorVisualization(); prepareJSVersion(); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }, 'json'); }); diff --git a/js/src/import.js b/js/src/import.js index 71756a75f7..c587bc071d 100644 --- a/js/src/import.js +++ b/js/src/import.js @@ -3,6 +3,7 @@ import { AJAX } from './modules/ajax.js'; import { Functions } from './modules/functions.js'; import { Navigation } from './modules/navigation.js'; import { CommonParams } from './modules/common.js'; +import { ajaxShowMessage } from './modules/ajax-message.js'; /* global themeImagePath */ // templates/javascript/variables.twig @@ -79,19 +80,19 @@ AJAX.registerOnload('import.js', function () { if (radioImport.hasClass('active') && $('#input_import_file').val() === '') { $('#input_import_file').trigger('focus'); - Functions.ajaxShowMessage(fileMsg, false); + ajaxShowMessage(fileMsg, false); return false; } if (radioLocalImport.hasClass('active')) { if ($('#select_local_import_file').length === 0) { - Functions.ajaxShowMessage('', false); + ajaxShowMessage('', false); return false; } if ($('#select_local_import_file').val() === '') { $('#select_local_import_file').trigger('focus'); - Functions.ajaxShowMessage(fileMsg, false); + ajaxShowMessage(fileMsg, false); return false; } } @@ -99,20 +100,20 @@ AJAX.registerOnload('import.js', function () { // local upload. if ($('#input_import_file').val() === '') { $('#input_import_file').trigger('focus'); - Functions.ajaxShowMessage(fileMsg, false); + ajaxShowMessage(fileMsg, false); return false; } if ($('#text_csv_new_tbl_name').length > 0) { var newTblName = $('#text_csv_new_tbl_name').val(); if (newTblName.length > 0 && newTblName.trim().length === 0) { - Functions.ajaxShowMessage(wrongTblNameMsg, false); + ajaxShowMessage(wrongTblNameMsg, false); return false; } } if ($('#text_csv_new_db_name').length > 0) { var newDBName = $('#text_csv_new_db_name').val(); if (newDBName.length > 0 && newDBName.trim().length === 0) { - Functions.ajaxShowMessage(wrongDBNameMsg, false); + ajaxShowMessage(wrongDBNameMsg, false); return false; } } diff --git a/js/src/makegrid.js b/js/src/makegrid.js index 71d47f2ebb..93ac03ff7a 100644 --- a/js/src/makegrid.js +++ b/js/src/makegrid.js @@ -4,6 +4,7 @@ import { Functions } from './modules/functions.js'; import { CommonParams } from './modules/common.js'; import tooltip from './modules/tooltip.js'; import highlightSql from './modules/sql-highlight.js'; +import { ajaxShowMessage } from './modules/ajax-message.js'; /* global Sql */ /* global firstDayOfCalendar */ // templates/javascript/variables.twig @@ -410,7 +411,7 @@ window.makeGrid = function (t, enableResize, enableReorder, enableVisib, enableG var $tempDiv = $(document.createElement('div')); $tempDiv.html(data.error); $tempDiv.addClass('alert alert-danger'); - Functions.ajaxShowMessage($tempDiv, false); + ajaxShowMessage($tempDiv, false); } }); } @@ -967,7 +968,7 @@ window.makeGrid = function (t, enableResize, enableReorder, enableVisib, enableG g.lastXHR = $.post('index.php?route=/sql/get-enum-values', postParams, function (data) { g.lastXHR = null; if (typeof data === 'object' && data.success === false) { - Functions.ajaxShowMessage(data.error, undefined, 'error'); + ajaxShowMessage(data.error, undefined, 'error'); return; } $editArea.removeClass('edit_area_loading'); @@ -1009,7 +1010,7 @@ window.makeGrid = function (t, enableResize, enableReorder, enableVisib, enableG g.lastXHR = $.post('index.php?route=/sql/get-set-values', postParams, function (data) { g.lastXHR = null; if (typeof data === 'object' && data.success === false) { - Functions.ajaxShowMessage(data.error, undefined, 'error'); + ajaxShowMessage(data.error, undefined, 'error'); return; } $editArea.removeClass('edit_area_loading'); @@ -1069,7 +1070,7 @@ window.makeGrid = function (t, enableResize, enableReorder, enableVisib, enableG $td.data('original_data', data.value); $(g.cEdit).find('.edit_box').val(data.value); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); } }); // end $.post() } @@ -1373,7 +1374,7 @@ window.makeGrid = function (t, enableResize, enableReorder, enableVisib, enableG } if (typeof data !== 'undefined' && data.success === true) { if (typeof options === 'undefined' || ! options.move) { - Functions.ajaxShowMessage(data.message); + ajaxShowMessage(data.message); } // update where_clause related data in each edited row @@ -1442,7 +1443,7 @@ window.makeGrid = function (t, enableResize, enableReorder, enableVisib, enableG g.isCellEdited = false; } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); if (! g.saveCellsAtOnce) { $(g.t).find('.to_be_saved') .removeClass('to_be_saved'); @@ -1512,7 +1513,7 @@ window.makeGrid = function (t, enableResize, enableReorder, enableVisib, enableG thisFieldParams[fieldName] = $(g.cEdit).find('.edit_box').val(); } else { var hexError = ''; - Functions.ajaxShowMessage(hexError, false); + ajaxShowMessage(hexError, false); thisFieldParams[fieldName] = Functions.getCellValue(g.currentEditCell); } } else { @@ -1676,9 +1677,9 @@ window.makeGrid = function (t, enableResize, enableReorder, enableVisib, enableG e.preventDefault(); var res = Functions.copyToClipboard($(this).data('column')); if (res) { - Functions.ajaxShowMessage(window.Messages.strCopyColumnSuccess, false, 'success'); + ajaxShowMessage(window.Messages.strCopyColumnSuccess, false, 'success'); } else { - Functions.ajaxShowMessage(window.Messages.strCopyColumnFailure, false, 'error'); + ajaxShowMessage(window.Messages.strCopyColumnFailure, false, 'error'); } }); $(g.t).find('th.draggable a') diff --git a/js/src/modules/ajax-message.js b/js/src/modules/ajax-message.js new file mode 100644 index 0000000000..9e5025ed8b --- /dev/null +++ b/js/src/modules/ajax-message.js @@ -0,0 +1,166 @@ +import $ from 'jquery'; +import tooltip from './tooltip.js'; +import highlightSql from './sql-highlight.js'; + +/** + * Number of AJAX messages shown since page load. + * @type {number} + */ +let ajaxMessageCount = 0; + +/** + * Show a message on the top of the page for an Ajax request + * + * Sample usage: + * + * 1) var $msg = ajaxShowMessage(); + * This will show a message that reads "Loading...". Such a message will not + * disappear automatically and cannot be dismissed by the user. To remove this + * message either the ajaxRemoveMessage($msg) function must be called or + * another message must be show with ajaxShowMessage() function. + * + * 2) var $msg = ajaxShowMessage(window.Messages.strProcessingRequest); + * This is a special case. The behaviour is same as above, + * just with a different message + * + * 3) var $msg = ajaxShowMessage('The operation was successful'); + * This will show a message that will disappear automatically and it can also + * be dismissed by the user. + * + * 4) var $msg = ajaxShowMessage('Some error', false); + * This will show a message that will not disappear automatically, but it + * can be dismissed by the user after they have finished reading it. + * + * @param {string|null} message string containing the message to be shown. + * optional, defaults to 'Loading...' + * @param {any} timeout number of milliseconds for the message to be visible + * optional, defaults to 5000. If set to 'false', the + * notification will never disappear + * @param {string|null} type string to dictate the type of message shown. + * optional, defaults to normal notification. + * If set to 'error', the notification will show message + * with red background. + * If set to 'success', the notification will show with + * a green background. + * @return {JQuery} jQuery Element that holds the message div + * this object can be passed to ajaxRemoveMessage() + * to remove the notification + */ +const ajaxShowMessage = function (message = null, timeout = null, type = null) { + var msg = message; + var newTimeOut = timeout; + /** + * @var self_closing Whether the notification will automatically disappear + */ + var selfClosing = true; + /** + * @var dismissable Whether the user will be able to remove + * the notification by clicking on it + */ + var dismissable = true; + // Handle the case when a empty data.message is passed. + // We don't want the empty message + if (msg === '') { + return true; + } else if (! msg) { + // If the message is undefined, show the default + msg = window.Messages.strLoading; + dismissable = false; + selfClosing = false; + } else if (msg === window.Messages.strProcessingRequest) { + // This is another case where the message should not disappear + dismissable = false; + selfClosing = false; + } + // Figure out whether (or after how long) to remove the notification + if (newTimeOut === undefined || newTimeOut === null) { + newTimeOut = 5000; + } else if (newTimeOut === false) { + selfClosing = false; + } + // Determine type of message, add styling as required + if (type === 'error') { + msg = ''; + } else if (type === 'success') { + msg = ''; + } + // Create a parent element for the AJAX messages, if necessary + if ($('#loading_parent').length === 0) { + $('
') + .prependTo('#page_content'); + } + // Update message count to create distinct message elements every time + ajaxMessageCount++; + // Remove all old messages, if any + $('span.ajax_notification[id^=ajax_message_num]').remove(); + /** + * @var $retval a jQuery object containing the reference + * to the created AJAX message + */ + var $retval = $( + '' + ) + .hide() + .appendTo('#loading_parent') + .html(msg) + .show(); + // If the notification is self-closing we should create a callback to remove it + if (selfClosing) { + $retval + .delay(newTimeOut) + .fadeOut('medium', function () { + if ($(this).is(':data(tooltip)')) { + $(this).uiTooltip('destroy'); + } + // Remove the notification + $(this).remove(); + }); + } + // If the notification is dismissable we need to add the relevant class to it + // and add a tooltip so that the users know that it can be removed + if (dismissable) { + $retval.addClass('dismissable').css('cursor', 'pointer'); + /** + * Add a tooltip to the notification to let the user know that they + * can dismiss the ajax notification by clicking on it. + */ + tooltip($retval, 'span', window.Messages.strDismiss); + } + // Hide spinner if this is not a loading message + if (msg !== window.Messages.strLoading) { + $retval.css('background-image', 'none'); + } + highlightSql($retval); + + return $retval; +}; + +/** + * Removes the message shown for an Ajax operation when it's completed + * + * @param {JQuery} $thisMessageBox Element that holds the notification + * + * @return {void} + */ +const ajaxRemoveMessage = function ($thisMessageBox) { + if ($thisMessageBox !== undefined && $thisMessageBox instanceof $) { + $thisMessageBox + .stop(true, true) + .fadeOut('medium'); + if ($thisMessageBox.is(':data(tooltip)')) { + $thisMessageBox.uiTooltip('destroy'); + } else { + $thisMessageBox.remove(); + } + } +}; + +/** + * @return {number} + */ +window.getAjaxMessageCount = () => ajaxMessageCount; +window.ajaxShowMessage = ajaxShowMessage; + +export { ajaxShowMessage, ajaxRemoveMessage }; diff --git a/js/src/modules/ajax.js b/js/src/modules/ajax.js index 24151221da..1c03467df8 100644 --- a/js/src/modules/ajax.js +++ b/js/src/modules/ajax.js @@ -3,6 +3,7 @@ import { Functions } from './functions.js'; import { Navigation } from './navigation.js'; import { CommonParams } from './common.js'; import highlightSql from './sql-highlight.js'; +import { ajaxRemoveMessage, ajaxShowMessage } from './ajax-message.js'; /** * This object handles ajax requests for pages. It also @@ -40,7 +41,7 @@ const AJAX = { debug: false, /** * @var {object} $msgbox A reference to a jQuery object that links to a message - * box that is generated by Functions.ajaxShowMessage() + * box that is generated by ajaxShowMessage() */ $msgbox: null, /** @@ -284,7 +285,7 @@ const AJAX = { AJAX.xhr.abort(); if (AJAX.xhr.status === 0 && AJAX.xhr.statusText === 'abort') { // If aborted - AJAX.$msgbox = Functions.ajaxShowMessage(window.Messages.strAbortedRequest); + AJAX.$msgbox = ajaxShowMessage(window.Messages.strAbortedRequest); AJAX.active = false; AJAX.xhr = null; previousLinkAborted = true; @@ -320,7 +321,7 @@ const AJAX = { if (isLink) { AJAX.active = true; - AJAX.$msgbox = Functions.ajaxShowMessage(); + AJAX.$msgbox = ajaxShowMessage(); // Save reference for the new link request AJAX.xhr = $.get(url, params, AJAX.responseHandler); var state = { @@ -344,7 +345,7 @@ const AJAX = { // or if it returns a value that evaluates to true if (typeof onsubmit !== 'function' || onsubmit.apply(this, [event])) { AJAX.active = true; - AJAX.$msgbox = Functions.ajaxShowMessage(); + AJAX.$msgbox = ajaxShowMessage(); if ($(this).attr('id') === 'login_form') { $.post(url, params, AJAX.loginResponseHandler); } else { @@ -367,7 +368,7 @@ const AJAX = { if (typeof data === 'undefined' || data === null) { return; } - Functions.ajaxRemoveMessage(AJAX.$msgbox); + ajaxRemoveMessage(AJAX.$msgbox); CommonParams.set('token', data.new_token); @@ -403,7 +404,7 @@ const AJAX = { data.stopErrorReportLoop !== '1' ) { $('#pma_report_errors_form').trigger('submit'); - Functions.ajaxShowMessage(window.Messages.phpErrorsBeingSubmitted, false); + ajaxShowMessage(window.Messages.phpErrorsBeingSubmitted, false); $('html, body').animate({ scrollTop: $(document).height() }, 'slow'); } else if (data.promptPhpErrors) { // otherwise just prompt user if it is set so. @@ -413,7 +414,7 @@ const AJAX = { } } - Functions.ajaxShowMessage(msg, false); + ajaxShowMessage(msg, false); // bind for php error reporting forms (popup) $('#pma_ignore_errors_popup').on('click', function () { Functions.ignorePhpErrors(); @@ -426,7 +427,7 @@ const AJAX = { // reload page if user trying to login has changed if (CommonParams.get('user') !== data.params.user) { window.location = 'index.php'; - Functions.ajaxShowMessage(window.Messages.strLoading, false); + ajaxShowMessage(window.Messages.strLoading, false); AJAX.active = false; AJAX.xhr = null; return; @@ -446,7 +447,7 @@ const AJAX = { } else if (typeof data.logged_in !== 'undefined' && data.logged_in === 0) { $('#modalOverlay').replaceWith(data.error); } else { - Functions.ajaxShowMessage(data.error, false); + ajaxShowMessage(data.error, false); AJAX.active = false; AJAX.xhr = null; Functions.handleRedirectAndReload(data); @@ -475,18 +476,18 @@ const AJAX = { } // Can be a string when an error occurred and only HTML was returned. if (typeof data === 'string') { - Functions.ajaxRemoveMessage(AJAX.$msgbox); - Functions.ajaxShowMessage($(data).text(), false, 'error'); + ajaxRemoveMessage(AJAX.$msgbox); + ajaxShowMessage($(data).text(), false, 'error'); AJAX.active = false; AJAX.xhr = null; return; } if (typeof data.success !== 'undefined' && data.success) { $('html, body').animate({ scrollTop: 0 }, 'fast'); - Functions.ajaxRemoveMessage(AJAX.$msgbox); + ajaxRemoveMessage(AJAX.$msgbox); if (data.redirect) { - Functions.ajaxShowMessage(data.redirect, false); + ajaxShowMessage(data.redirect, false); AJAX.active = false; AJAX.xhr = null; return; @@ -586,7 +587,7 @@ const AJAX = { data.stopErrorReportLoop !== '1' ) { $('#pma_report_errors_form').trigger('submit'); - Functions.ajaxShowMessage(window.Messages.phpErrorsBeingSubmitted, false); + ajaxShowMessage(window.Messages.phpErrorsBeingSubmitted, false); $('html, body').animate({ scrollTop: $(document).height() }, 'slow'); } else if (data.promptPhpErrors) { // otherwise just prompt user if it is set so. @@ -595,7 +596,7 @@ const AJAX = { $('html, body').animate({ scrollTop: $(document).height() }, 'slow'); } } - Functions.ajaxShowMessage(msg, false); + ajaxShowMessage(msg, false); // bind for php error reporting forms (popup) $('#pma_ignore_errors_popup').on('click', function () { Functions.ignorePhpErrors(); @@ -611,8 +612,8 @@ const AJAX = { }; }); } else { - Functions.ajaxShowMessage(data.error, false); - Functions.ajaxRemoveMessage(AJAX.$msgbox); + ajaxShowMessage(data.error, false); + ajaxRemoveMessage(AJAX.$msgbox); var $ajaxError = $('
'); $ajaxError.attr({ 'id': 'ajaxError' }); $('#page_content').append($ajaxError); @@ -878,7 +879,7 @@ const AJAX = { } var state = event.originalEvent.state; if (state && state.menu) { - AJAX.$msgbox = Functions.ajaxShowMessage(); + AJAX.$msgbox = ajaxShowMessage(); var params = 'ajax_request=true' + CommonParams.get('arg_separator') + 'ajax_page_request=true'; var url = state.url || location.href; $.get(url, params, AJAX.responseHandler); @@ -912,7 +913,7 @@ const AJAX = { 'isErrorResponse' in request.responseJSON && request.responseJSON.isErrorResponse ) { - Functions.ajaxShowMessage( + ajaxShowMessage( '', @@ -931,7 +932,7 @@ const AJAX = { if (state === 'rejected' || state === 'timeout') { details += '
' + Functions.escapeHtml(window.Messages.strErrorConnection) + '
'; } - Functions.ajaxShowMessage( + ajaxShowMessage( '