From 6f54621b418a68abbed1295cd9f40f4c970c373c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Thu, 24 Nov 2022 02:15:22 -0300 Subject: [PATCH 1/3] Create a shared.js file for common JS dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of using the Webpack's dependOn setting, uses the splitChunks setting to automatically generate the shared.js file. As the contents of these shared dependencies are being moved to the shared.js file, the generated file for each dependency is now empty. Is probably safe to not generate them, but some adjustments are needed for that first. For example, the AJAX's onload and teardown functions expects that some of these files exists. For now, only dependencies that are loaded for all pages should be added in this shared.js file. This will facilitate the refactoring of the JS files, but the trade off, at least for now, is that will be a single large file instead of a few medium ones. Signed-off-by: Maurício Meneghini Fauth --- js/src/ajax.js | 4 +- js/src/common.js | 7 ++-- js/src/functions.js | 15 ++++--- js/src/main.js | 34 ++++++++-------- js/src/navigation.js | 3 ++ libraries/classes/Header.php | 1 + libraries/classes/Scripts.php | 1 + test/classes/HeaderTest.php | 1 + webpack.config.cjs | 75 +++++++++++++++++++---------------- 9 files changed, 79 insertions(+), 62 deletions(-) diff --git a/js/src/ajax.js b/js/src/ajax.js index 52125d3428..1258175383 100644 --- a/js/src/ajax.js +++ b/js/src/ajax.js @@ -1,8 +1,8 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; +import { Navigation } from './navigation.js'; import { CommonParams } from './common.js'; -/* global Navigation */ - /** * This object handles ajax requests for pages. It also * handles the reloading of the main menu and scripts. diff --git a/js/src/common.js b/js/src/common.js index 783591061a..f1026c4b89 100644 --- a/js/src/common.js +++ b/js/src/common.js @@ -1,6 +1,7 @@ import $ from 'jquery'; - -/* global Navigation */ +import { AJAX } from './ajax.js'; +import { Functions } from './functions.js'; +import { Navigation } from './navigation.js'; /** * Holds common parameters such as server, db, table, etc @@ -165,7 +166,7 @@ const CommonActions = { .trigger('click') .remove(); if (typeof callback !== 'undefined') { - window.AJAX.callback = callback; + AJAX.callback = callback; } } }; diff --git a/js/src/functions.js b/js/src/functions.js index 16118ea03c..3748707bae 100644 --- a/js/src/functions.js +++ b/js/src/functions.js @@ -1,8 +1,9 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; +import { Navigation } from './navigation.js'; import { CommonActions, CommonParams } from './common.js'; import { mysqlDocKeyword, mysqlDocBuiltin } from './modules/doc-links.js'; -/* global Navigation */ /* global ChartType, ColumnType, DataTable, JQPlotChartFactory */ // js/chart.js /* global DatabaseStructure */ // js/database/structure.js /* global Indexes */ // js/indexes.js @@ -336,7 +337,7 @@ Functions.getSqlEditor = function ($textarea, options, resize, lintOptions) { value: 3, content: codemirrorEditor.isClean(), }; - window.AJAX.lockPageHandler(e); + AJAX.lockPageHandler(e); }); return codemirrorEditor; @@ -2339,7 +2340,7 @@ Functions.onloadCreateTableEvents = function () { var tableStructureUrl = 'index.php?route=/table/structure' + argsep + 'server=' + data.params.server + argsep + 'db=' + data.params.db + argsep + 'token=' + data.params.token + argsep + 'goto=' + encodeURIComponent('index.php?route=/database/structure') + argsep + 'table=' + data.params.table + ''; - $.get(tableStructureUrl, params12, window.AJAX.responseHandler); + $.get(tableStructureUrl, params12, AJAX.responseHandler); } else { Functions.ajaxShowMessage( '', @@ -2592,7 +2593,7 @@ Functions.onloadChangePasswordEvents = function () { } if (data.scripts) { - window.AJAX.scriptHandler.load(data.scripts); + AJAX.scriptHandler.load(data.scripts); } // for this dialog, we remove the fieldset wrapping due to double headings @@ -3668,7 +3669,7 @@ Functions.onloadLockPage = function () { // val-hash is the hash of default value of the field // so that it can be compared with new value hash // to check whether field was modified or not. - $(this).data('val-hash', window.AJAX.hash($(this).val())); + $(this).data('val-hash', AJAX.hash($(this).val())); }); // initializes lock-page elements (input types checkbox and radio buttons) @@ -3676,7 +3677,7 @@ Functions.onloadLockPage = function () { $('#page_content form.lock-page input[type="checkbox"], ' + '#page_content form.lock-page input[type="radio"]').each(function (i) { $(this).data('lock-id', i); - $(this).data('val-hash', window.AJAX.hash($(this).is(':checked'))); + $(this).data('val-hash', AJAX.hash($(this).is(':checked'))); }); }; @@ -4447,3 +4448,5 @@ Functions.on = function () { Functions.onloadSortLinkMouseEvent(); }; }; + +export { Functions }; diff --git a/js/src/main.js b/js/src/main.js index 60b27be791..ba5a51daf2 100644 --- a/js/src/main.js +++ b/js/src/main.js @@ -1,31 +1,33 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; +import { Functions } from './functions.js'; +import { Navigation } from './navigation.js'; /* global Indexes */ -/* global Navigation */ -window.AJAX.registerOnload('functions.js', () => window.AJAX.removeSubmitEvents()); -$(window.AJAX.loadEventHandler()); +AJAX.registerOnload('functions.js', () => AJAX.removeSubmitEvents()); +$(AJAX.loadEventHandler()); /** * Attach a generic event handler to clicks on pages and submissions of forms. */ -$(document).on('click', 'a', window.AJAX.requestHandler); -$(document).on('submit', 'form', window.AJAX.requestHandler); +$(document).on('click', 'a', AJAX.requestHandler); +$(document).on('submit', 'form', AJAX.requestHandler); -$(document).on('ajaxError', window.AJAX.getFatalErrorHandler()); +$(document).on('ajaxError', AJAX.getFatalErrorHandler()); -window.AJAX.registerTeardown('keyhandler.js', window.KeyHandlerEvents.off()); -window.AJAX.registerOnload('keyhandler.js', window.KeyHandlerEvents.on()); +AJAX.registerTeardown('keyhandler.js', window.KeyHandlerEvents.off()); +AJAX.registerOnload('keyhandler.js', window.KeyHandlerEvents.on()); window.crossFramingProtection(); -window.AJAX.registerTeardown('config.js', window.Config.off()); -window.AJAX.registerOnload('config.js', window.Config.on()); +AJAX.registerTeardown('config.js', window.Config.off()); +AJAX.registerOnload('config.js', window.Config.on()); $.ajaxPrefilter(Functions.addNoCacheToAjaxRequests()); -window.AJAX.registerTeardown('functions.js', Functions.off()); -window.AJAX.registerOnload('functions.js', Functions.on()); +AJAX.registerTeardown('functions.js', Functions.off()); +AJAX.registerOnload('functions.js', Functions.on()); $(Functions.dismissNotifications()); $(Functions.initializeMenuResizer()); @@ -34,10 +36,10 @@ $(Functions.breadcrumbScrollToTop()); $(Navigation.onload()); -window.AJAX.registerTeardown('indexes.js', Indexes.off()); -window.AJAX.registerOnload('indexes.js', Indexes.on()); +AJAX.registerTeardown('indexes.js', Indexes.off()); +AJAX.registerOnload('indexes.js', Indexes.on()); $(() => Functions.checkNumberOfFields()); -window.AJAX.registerTeardown('page_settings.js', window.PageSettings.off()); -window.AJAX.registerOnload('page_settings.js', window.PageSettings.on()); +AJAX.registerTeardown('page_settings.js', window.PageSettings.off()); +AJAX.registerOnload('page_settings.js', window.PageSettings.on()); diff --git a/js/src/navigation.js b/js/src/navigation.js index fa9047c091..920ebb1d53 100644 --- a/js/src/navigation.js +++ b/js/src/navigation.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonParams } from './common.js'; /** @@ -1648,3 +1649,5 @@ Navigation.showFullName = function ($containerELem) { } }); }; + +export { Navigation }; diff --git a/libraries/classes/Header.php b/libraries/classes/Header.php index 7eb4b897b4..08ea09cbda 100644 --- a/libraries/classes/Header.php +++ b/libraries/classes/Header.php @@ -139,6 +139,7 @@ class Header $this->scripts->addFile('vendor/jquery/jquery.validate.min.js'); $this->scripts->addFile('vendor/jquery/jquery-ui-timepicker-addon.js'); $this->scripts->addFile('index.php', ['route' => '/messages', 'l' => $GLOBALS['lang']]); + $this->scripts->addFile('shared.js'); $this->scripts->addFile('ajax.js'); $this->scripts->addFile('keyhandler.js'); $this->scripts->addFile('menu_resizer.js'); diff --git a/libraries/classes/Scripts.php b/libraries/classes/Scripts.php index 1153bbf4e1..ff68aa9843 100644 --- a/libraries/classes/Scripts.php +++ b/libraries/classes/Scripts.php @@ -90,6 +90,7 @@ class Scripts && ! str_contains($filename, 'runtime.js') && ! str_contains($filename, 'name-conflict-fixes.js') && ! str_contains($filename, 'index.php') + && ! str_contains($filename, 'shared.js') && ! str_contains($filename, 'ajax.js') && ! str_contains($filename, 'datetimepicker.js') && ! str_contains($filename, 'validator-messages.js') diff --git a/test/classes/HeaderTest.php b/test/classes/HeaderTest.php index 97525e1627..65d0862046 100644 --- a/test/classes/HeaderTest.php +++ b/test/classes/HeaderTest.php @@ -261,6 +261,7 @@ class HeaderTest extends AbstractTestCase ['name' => 'vendor/jquery/jquery.validate.min.js', 'fire' => 0], ['name' => 'vendor/jquery/jquery-ui-timepicker-addon.js', 'fire' => 0], ['name' => 'index.php', 'fire' => 0], + ['name' => 'shared.js', 'fire' => 0], ['name' => 'ajax.js', 'fire' => 0], ['name' => 'keyhandler.js', 'fire' => 1], ['name' => 'menu_resizer.js', 'fire' => 1], diff --git a/webpack.config.cjs b/webpack.config.cjs index 0d82aff076..bed0a64544 100644 --- a/webpack.config.cjs +++ b/webpack.config.cjs @@ -11,76 +11,76 @@ module.exports = [ mode: 'none', devtool: 'source-map', entry: { - 'ajax': { import: './js/src/ajax.js', dependOn: 'common' }, + 'ajax': './js/src/ajax.js', 'chart': './js/src/chart.js', - 'codemirror/addon/lint/sql-lint': { import: './js/src/codemirror/addon/lint/sql-lint.js', dependOn: 'common' }, + 'codemirror/addon/lint/sql-lint': './js/src/codemirror/addon/lint/sql-lint.js', 'common': './js/src/common.js', - 'config': { import: './js/src/config.js', dependOn: 'common' }, - 'console': { import: './js/src/console.js', library: { name: 'Console', type: 'window', export: 'Console' }, dependOn: 'common' }, + 'config': './js/src/config.js', + 'console': { import: './js/src/console.js', library: { name: 'Console', type: 'window', export: 'Console' } }, 'cross_framing_protection': './js/src/cross_framing_protection.js', 'datetimepicker': './js/src/datetimepicker.js', - 'database/central_columns': { import: './js/src/database/central_columns.js', dependOn: 'common' }, + 'database/central_columns': './js/src/database/central_columns.js', 'database/events': './js/src/database/events.js', - 'database/multi_table_query': { import: './js/src/database/multi_table_query.js', dependOn: 'common' }, - 'database/operations': { import: './js/src/database/operations.js', dependOn: 'common' }, + 'database/multi_table_query': './js/src/database/multi_table_query.js', + 'database/operations': './js/src/database/operations.js', 'database/qbe': './js/src/database/qbe.js', 'database/query_generator': './js/src/database/query_generator.js', 'database/routines': './js/src/database/routines.js', - 'database/search': { import: './js/src/database/search.js', dependOn: 'common' }, - 'database/structure': { import: './js/src/database/structure.js', dependOn: 'common' }, - 'database/tracking': { import: './js/src/database/tracking.js', dependOn: 'common' }, + 'database/search': './js/src/database/search.js', + 'database/structure': './js/src/database/structure.js', + 'database/tracking': './js/src/database/tracking.js', 'database/triggers': './js/src/database/triggers.js', 'designer/database': './js/src/designer/database.js', 'designer/history': './js/src/designer/history.js', 'designer/init': './js/src/designer/init.js', - 'designer/move': { import: './js/src/designer/move.js', dependOn: 'common' }, + 'designer/move': './js/src/designer/move.js', 'designer/objects': './js/src/designer/objects.js', 'designer/page': './js/src/designer/page.js', - 'drag_drop_import': { import: './js/src/drag_drop_import.js', dependOn: 'common' }, - 'error_report': { import: './js/src/error_report.js', dependOn: 'common' }, - 'export': { import: './js/src/export.js', dependOn: 'common' }, + 'drag_drop_import': './js/src/drag_drop_import.js', + 'error_report': './js/src/error_report.js', + 'export': './js/src/export.js', 'export_output': './js/src/export_output.js', - 'functions': { import: './js/src/functions.js', dependOn: 'common' }, - 'gis_data_editor': { import: './js/src/gis_data_editor.js', dependOn: 'common' }, - 'home': { import: './js/src/home.js', dependOn: 'common' }, + 'functions': './js/src/functions.js', + 'gis_data_editor': './js/src/gis_data_editor.js', + 'home': './js/src/home.js', 'import': './js/src/import.js', - 'indexes': { import: './js/src/indexes.js', dependOn: 'common' }, + 'indexes': './js/src/indexes.js', 'jqplot/plugins/jqplot.byteFormatter': './js/src/jqplot/plugins/jqplot.byteFormatter.js', 'jquery.sortable-table': './js/src/jquery.sortable-table.js', 'keyhandler': './js/src/keyhandler.js', 'main': './js/src/main.js', - 'makegrid': { import: './js/src/makegrid.js', dependOn: 'common' }, + 'makegrid': './js/src/makegrid.js', 'menu_resizer': './js/src/menu_resizer.js', - 'multi_column_sort': { import: './js/src/multi_column_sort.js', dependOn: 'common' }, + 'multi_column_sort': './js/src/multi_column_sort.js', 'name-conflict-fixes': './js/src/name-conflict-fixes.js', - 'navigation': { import: './js/src/navigation.js', dependOn: 'common' }, - 'normalization': { import: './js/src/normalization.js', dependOn: 'common' }, + 'navigation': './js/src/navigation.js', + 'normalization': './js/src/normalization.js', 'page_settings': './js/src/page_settings.js', 'replication': './js/src/replication.js', - 'server/databases': { import: './js/src/server/databases.js', dependOn: 'common' }, + 'server/databases': './js/src/server/databases.js', 'server/plugins': './js/src/server/plugins.js', - 'server/privileges': { import: './js/src/server/privileges.js', dependOn: 'common' }, - 'server/status/monitor': { import: './js/src/server/status/monitor.js', dependOn: 'common' }, - 'server/status/processes': { import: './js/src/server/status/processes.js', dependOn: 'common' }, + 'server/privileges': './js/src/server/privileges.js', + 'server/status/monitor': './js/src/server/status/monitor.js', + 'server/status/processes': './js/src/server/status/processes.js', 'server/status/queries': './js/src/server/status/queries.js', 'server/status/sorter': './js/src/server/status/sorter.js', 'server/status/variables': './js/src/server/status/variables.js', 'server/user_groups': './js/src/server/user_groups.js', - 'server/variables': { import: './js/src/server/variables.js', dependOn: 'common' }, + 'server/variables': './js/src/server/variables.js', 'setup/ajax': './js/src/setup/ajax.js', 'setup/scripts': './js/src/setup/scripts.js', - 'shortcuts_handler': { import: './js/src/shortcuts_handler.js', dependOn: 'common' }, - 'sql': { import: './js/src/sql.js', dependOn: 'common' }, + 'shortcuts_handler': './js/src/shortcuts_handler.js', + 'sql': './js/src/sql.js', 'table/change': './js/src/table/change.js', 'table/chart': './js/src/table/chart.js', 'table/find_replace': './js/src/table/find_replace.js', 'table/gis_visualization': './js/src/table/gis_visualization.js', - 'table/operations': { import: './js/src/table/operations.js', dependOn: 'common' }, - 'table/relation': { import: './js/src/table/relation.js', dependOn: 'common' }, - 'table/select': { import: './js/src/table/select.js', dependOn: 'common' }, - 'table/structure': { import: './js/src/table/structure.js', dependOn: 'common' }, - 'table/tracking': { import: './js/src/table/tracking.js', dependOn: 'common' }, - 'table/zoom_plot_jqplot': { import: './js/src/table/zoom_plot_jqplot.js', dependOn: 'common' }, + 'table/operations': './js/src/table/operations.js', + 'table/relation': './js/src/table/relation.js', + 'table/select': './js/src/table/select.js', + 'table/structure': './js/src/table/structure.js', + 'table/tracking': './js/src/table/tracking.js', + 'table/zoom_plot_jqplot': './js/src/table/zoom_plot_jqplot.js', 'transformations/image_upload': './js/src/transformations/image_upload.js', 'transformations/json': './js/src/transformations/json.js', 'transformations/json_editor': './js/src/transformations/json_editor.js', @@ -96,6 +96,11 @@ module.exports = [ }, optimization: { runtimeChunk: 'single', + splitChunks: { + chunks: 'all', + name: 'shared', + minSize: 1, + }, }, externals: { jquery: 'jQuery', From 3ce84326f2faaf8fe39349d43aa202002f8d33d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Thu, 24 Nov 2022 13:53:47 -0300 Subject: [PATCH 2/3] Import the Functions object where possible MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of using from the Window global object. Signed-off-by: Maurício Meneghini Fauth --- .eslintrc.json | 3 --- js/src/ajax.js | 4 ++-- js/src/config.js | 1 + js/src/database/central_columns.js | 1 + js/src/database/events.js | 1 + js/src/database/multi_table_query.js | 4 +--- js/src/database/operations.js | 4 +--- js/src/database/qbe.js | 4 +--- js/src/database/query_generator.js | 4 +--- js/src/database/routines.js | 1 + js/src/database/search.js | 4 +--- js/src/database/structure.js | 3 +-- js/src/database/tracking.js | 1 + js/src/database/triggers.js | 1 + js/src/designer/database.js | 2 ++ js/src/designer/history.js | 1 + js/src/designer/move.js | 1 + js/src/designer/page.js | 1 + js/src/drag_drop_import.js | 1 + js/src/error_report.js | 1 + js/src/export.js | 1 + js/src/gis_data_editor.js | 1 + js/src/import.js | 1 + js/src/indexes.js | 3 +-- js/src/main.js | 6 +++--- js/src/makegrid.js | 1 + js/src/menu_resizer.js | 1 + js/src/modules/console.js | 3 ++- js/src/modules/console/config.js | 2 +- js/src/modules/git-info.js | 1 + js/src/multi_column_sort.js | 1 + js/src/normalization.js | 1 + js/src/page_settings.js | 2 -- js/src/replication.js | 3 +-- js/src/server/databases.js | 1 + js/src/server/privileges.js | 1 + js/src/server/status/monitor.js | 3 +-- js/src/server/status/processes.js | 1 + js/src/server/status/queries.js | 3 +-- js/src/server/user_groups.js | 1 + js/src/server/variables.js | 3 +-- js/src/sql.js | 4 +--- js/src/table/change.js | 4 +--- js/src/table/chart.js | 1 + js/src/table/find_replace.js | 1 + js/src/table/gis_visualization.js | 1 + js/src/table/operations.js | 1 + js/src/table/relation.js | 1 + js/src/table/select.js | 4 +--- js/src/table/structure.js | 3 +-- js/src/table/tracking.js | 1 + js/src/table/zoom_plot_jqplot.js | 4 +--- js/src/transformations/sql_editor.js | 1 + js/src/u2f.js | 1 + libraries/classes/Header.php | 1 - .../Plugins/Transformations/Output/Text_Plain_Sql.php | 1 - test/classes/HeaderTest.php | 1 - webpack.config.cjs | 1 - 58 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 88b2bbe506..47915155a7 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -13,9 +13,6 @@ "browser": true, "es6": true }, - "globals": { - "Functions": "readonly" - }, "rules": { "valid-jsdoc": ["error", { "prefer": { diff --git a/js/src/ajax.js b/js/src/ajax.js index 1258175383..2ef1d04a94 100644 --- a/js/src/ajax.js +++ b/js/src/ajax.js @@ -436,8 +436,8 @@ const AJAX = { $('#modalOverlay').remove(); } $('fieldset.disabled_for_expiration').removeAttr('disabled').removeClass('disabled_for_expiration'); - AJAX.fireTeardown('functions.js'); - AJAX.fireOnload('functions.js'); + AJAX.fireTeardown('main.js'); + AJAX.fireOnload('main.js'); } if (typeof data.new_token !== 'undefined') { $('input[name=token]').val(data.new_token); diff --git a/js/src/config.js b/js/src/config.js index cf9e6fc224..c48be3059b 100644 --- a/js/src/config.js +++ b/js/src/config.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonParams } from './common.js'; /** diff --git a/js/src/database/central_columns.js b/js/src/database/central_columns.js index 04ffe28c66..548b2b7fc6 100644 --- a/js/src/database/central_columns.js +++ b/js/src/database/central_columns.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /** diff --git a/js/src/database/events.js b/js/src/database/events.js index 71fb26a85c..9c4cc93739 100644 --- a/js/src/database/events.js +++ b/js/src/database/events.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /* global Navigation */ diff --git a/js/src/database/multi_table_query.js b/js/src/database/multi_table_query.js index e01ec52f0e..d924b92a43 100644 --- a/js/src/database/multi_table_query.js +++ b/js/src/database/multi_table_query.js @@ -1,15 +1,13 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /** * @fileoverview function used in QBE for DB * @name Database Operations * - * @requires jQuery * @requires jQueryUI - * @requires js/functions.js * @requires js/database/query_generator.js - * */ /** diff --git a/js/src/database/operations.js b/js/src/database/operations.js index daa402b3d6..0766974ff5 100644 --- a/js/src/database/operations.js +++ b/js/src/database/operations.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; /* global Navigation */ @@ -7,10 +8,7 @@ import { CommonActions, CommonParams } from '../common.js'; * @fileoverview function used in server privilege pages * @name Database Operations * - * @requires jQuery * @requires jQueryUI - * @requires js/functions.js - * */ /** diff --git a/js/src/database/qbe.js b/js/src/database/qbe.js index 857fb6cbbb..54233ecf2c 100644 --- a/js/src/database/qbe.js +++ b/js/src/database/qbe.js @@ -1,13 +1,11 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /** * @fileoverview function used in QBE for DB * @name Database Operations * - * @requires jQuery * @requires jQueryUI - * @requires js/functions.js - * */ /** diff --git a/js/src/database/query_generator.js b/js/src/database/query_generator.js index 74a9ba3665..f8a9c8748e 100644 --- a/js/src/database/query_generator.js +++ b/js/src/database/query_generator.js @@ -1,13 +1,11 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /** * @fileoverview function used in QBE for DB * @name Database Operations * - * @requires jQuery * @requires jQueryUI - * @requires js/functions.js - * */ function getFormatsText () { diff --git a/js/src/database/routines.js b/js/src/database/routines.js index 607dca79e1..206a8a8cdf 100644 --- a/js/src/database/routines.js +++ b/js/src/database/routines.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /* global Navigation */ diff --git a/js/src/database/search.js b/js/src/database/search.js index c59cf2784e..b21b89b96e 100644 --- a/js/src/database/search.js +++ b/js/src/database/search.js @@ -1,12 +1,10 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /** * JavaScript functions used on Database Search page * - * @requires jQuery - * @requires js/functions.js - * * @package PhpMyAdmin */ diff --git a/js/src/database/structure.js b/js/src/database/structure.js index ba8d08b59f..7d0f038b7d 100644 --- a/js/src/database/structure.js +++ b/js/src/database/structure.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /* global Navigation */ @@ -7,9 +8,7 @@ import { CommonParams } from '../common.js'; * @fileoverview functions used on the database structure page * @name Database Structure * - * @requires jQuery * @requires jQueryUI - * @required js/functions.js */ var DatabaseStructure = {}; diff --git a/js/src/database/tracking.js b/js/src/database/tracking.js index 1b90e8fcfe..d297beb839 100644 --- a/js/src/database/tracking.js +++ b/js/src/database/tracking.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /** diff --git a/js/src/database/triggers.js b/js/src/database/triggers.js index 1ce388b1f6..4f4f05ccbe 100644 --- a/js/src/database/triggers.js +++ b/js/src/database/triggers.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /* global Navigation */ diff --git a/js/src/designer/database.js b/js/src/designer/database.js index 199c1fffbf..d424f7d742 100644 --- a/js/src/designer/database.js +++ b/js/src/designer/database.js @@ -1,3 +1,5 @@ +import { Functions } from '../functions.js'; + var designerTables = [ { name: 'pdf_pages', diff --git a/js/src/designer/history.js b/js/src/designer/history.js index 05b474d4ab..fbeb9bc809 100644 --- a/js/src/designer/history.js +++ b/js/src/designer/history.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /** * @fileoverview function used in this file builds history tab and generates query. diff --git a/js/src/designer/move.js b/js/src/designer/move.js index 7c877e2fcb..9557134b50 100644 --- a/js/src/designer/move.js +++ b/js/src/designer/move.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; /** diff --git a/js/src/designer/page.js b/js/src/designer/page.js index 5af3fb7bde..a957e50407 100644 --- a/js/src/designer/page.js +++ b/js/src/designer/page.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /* global DesignerOfflineDB */ // js/designer/database.js /* global DesignerMove */ // js/designer/move.js diff --git a/js/src/drag_drop_import.js b/js/src/drag_drop_import.js index aeb111d647..2c48f108f1 100644 --- a/js/src/drag_drop_import.js +++ b/js/src/drag_drop_import.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonParams } from './common.js'; /* This script handles PMA Drag Drop Import, loaded only when configuration is enabled.*/ diff --git a/js/src/error_report.js b/js/src/error_report.js index ee0e1ae425..15b921351c 100644 --- a/js/src/error_report.js +++ b/js/src/error_report.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonParams } from './common.js'; /** diff --git a/js/src/export.js b/js/src/export.js index 9c3f1dfa1f..f5fd1a281b 100644 --- a/js/src/export.js +++ b/js/src/export.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonParams } from './common.js'; /** diff --git a/js/src/gis_data_editor.js b/js/src/gis_data_editor.js index c51c8ad202..56618ef61d 100644 --- a/js/src/gis_data_editor.js +++ b/js/src/gis_data_editor.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonParams } from './common.js'; /** diff --git a/js/src/import.js b/js/src/import.js index bd1568cb9f..8c6f2015d0 100644 --- a/js/src/import.js +++ b/js/src/import.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; /** * Functions used in the import tab diff --git a/js/src/indexes.js b/js/src/indexes.js index 197d9dfda1..44fca976a9 100644 --- a/js/src/indexes.js +++ b/js/src/indexes.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonActions, CommonParams } from './common.js'; /* global Navigation */ @@ -7,9 +8,7 @@ import { CommonActions, CommonParams } from './common.js'; * @fileoverview function used for index manipulation pages * @name Table Structure * - * @requires jQuery * @requires jQueryUI - * @required js/functions.js */ var Indexes = {}; diff --git a/js/src/main.js b/js/src/main.js index ba5a51daf2..2ea8d249cf 100644 --- a/js/src/main.js +++ b/js/src/main.js @@ -5,7 +5,7 @@ import { Navigation } from './navigation.js'; /* global Indexes */ -AJAX.registerOnload('functions.js', () => AJAX.removeSubmitEvents()); +AJAX.registerOnload('main.js', () => AJAX.removeSubmitEvents()); $(AJAX.loadEventHandler()); /** @@ -26,8 +26,8 @@ AJAX.registerOnload('config.js', window.Config.on()); $.ajaxPrefilter(Functions.addNoCacheToAjaxRequests()); -AJAX.registerTeardown('functions.js', Functions.off()); -AJAX.registerOnload('functions.js', Functions.on()); +AJAX.registerTeardown('main.js', Functions.off()); +AJAX.registerOnload('main.js', Functions.on()); $(Functions.dismissNotifications()); $(Functions.initializeMenuResizer()); diff --git a/js/src/makegrid.js b/js/src/makegrid.js index 0a0ae5bd51..da8bd5e97d 100644 --- a/js/src/makegrid.js +++ b/js/src/makegrid.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonParams } from './common.js'; /* global Sql */ diff --git a/js/src/menu_resizer.js b/js/src/menu_resizer.js index 3b72096563..acfb3af9b3 100644 --- a/js/src/menu_resizer.js +++ b/js/src/menu_resizer.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; /** * Handles the resizing of a menu according to the available screen width diff --git a/js/src/modules/console.js b/js/src/modules/console.js index aee28c9a9e..1d54ba776e 100644 --- a/js/src/modules/console.js +++ b/js/src/modules/console.js @@ -1,9 +1,10 @@ import $ from 'jquery'; import CodeMirror from 'codemirror'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; import { Config } from './console/config.js'; -/* global Functions, Navigation */ +/* global Navigation */ /** * Console object diff --git a/js/src/modules/console/config.js b/js/src/modules/console/config.js index 0dc6ae4232..9e793b5498 100644 --- a/js/src/modules/console/config.js +++ b/js/src/modules/console/config.js @@ -1,4 +1,4 @@ -/* global Functions */ +import { Functions } from '../../functions.js'; /** * @link https://docs.phpmyadmin.net/en/latest/config.html#console-settings diff --git a/js/src/modules/git-info.js b/js/src/modules/git-info.js index b1048d4d00..34b0568911 100644 --- a/js/src/modules/git-info.js +++ b/js/src/modules/git-info.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; const GitInfo = { diff --git a/js/src/multi_column_sort.js b/js/src/multi_column_sort.js index 4a1e2034bd..616b07a40c 100644 --- a/js/src/multi_column_sort.js +++ b/js/src/multi_column_sort.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonParams } from './common.js'; /** diff --git a/js/src/normalization.js b/js/src/normalization.js index 780d570516..5a28604891 100644 --- a/js/src/normalization.js +++ b/js/src/normalization.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonParams } from './common.js'; /** diff --git a/js/src/page_settings.js b/js/src/page_settings.js index 67758a9883..54f964ec67 100644 --- a/js/src/page_settings.js +++ b/js/src/page_settings.js @@ -4,9 +4,7 @@ import $ from 'jquery'; * @fileoverview function used for page-related settings * @name Page-related settings * - * @requires jQuery * @requires jQueryUI - * @required js/functions.js */ function showSettings (selector) { diff --git a/js/src/replication.js b/js/src/replication.js index fad5c1adaf..9f442aa274 100644 --- a/js/src/replication.js +++ b/js/src/replication.js @@ -1,12 +1,11 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; /** * @fileoverview Javascript functions used in server replication page * @name Server Replication * - * @requires jQuery * @requires jQueryUI - * @requires js/functions.js */ var randomServerId = Math.floor(Math.random() * 10000000); diff --git a/js/src/server/databases.js b/js/src/server/databases.js index 9d491ca43b..da9bc1f999 100644 --- a/js/src/server/databases.js +++ b/js/src/server/databases.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; /* global Navigation */ diff --git a/js/src/server/privileges.js b/js/src/server/privileges.js index 7cc8cfc08b..2aa16d7a8f 100644 --- a/js/src/server/privileges.js +++ b/js/src/server/privileges.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /* global Navigation */ diff --git a/js/src/server/status/monitor.js b/js/src/server/status/monitor.js index f50534abd9..39b737da4a 100644 --- a/js/src/server/status/monitor.js +++ b/js/src/server/status/monitor.js @@ -1,13 +1,12 @@ import $ from 'jquery'; +import { Functions } from '../../functions.js'; import { CommonParams } from '../../common.js'; /** * @fileoverview Javascript functions used in server status monitor page * @name Server Status Monitor * - * @requires jQuery * @requires jQueryUI - * @requires js/functions.js */ /* global firstDayOfCalendar, themeImagePath */ // templates/javascript/variables.twig diff --git a/js/src/server/status/processes.js b/js/src/server/status/processes.js index 429f80a8b9..3b25671f3e 100644 --- a/js/src/server/status/processes.js +++ b/js/src/server/status/processes.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../../functions.js'; import { CommonParams } from '../../common.js'; /** diff --git a/js/src/server/status/queries.js b/js/src/server/status/queries.js index 255e998aba..679e8e8957 100644 --- a/js/src/server/status/queries.js +++ b/js/src/server/status/queries.js @@ -1,12 +1,11 @@ import $ from 'jquery'; +import { Functions } from '../../functions.js'; /** * @fileoverview Javascript functions used in server status query page * @name Server Status Query * - * @requires jQuery * @requires jQueryUI - * @requires js/functions.js */ /* global initTableSorter */ // js/server/status/sorter.js diff --git a/js/src/server/user_groups.js b/js/src/server/user_groups.js index 4b6b09b195..76b89270e4 100644 --- a/js/src/server/user_groups.js +++ b/js/src/server/user_groups.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /** * @fileoverview Javascript functions used in server user groups page diff --git a/js/src/server/variables.js b/js/src/server/variables.js index 3a74470d0a..d0d2f10526 100644 --- a/js/src/server/variables.js +++ b/js/src/server/variables.js @@ -1,13 +1,12 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /** * @fileoverview Javascript functions used in server variables page * @name Server Replication * - * @requires jQuery * @requires jQueryUI - * @requires js/functions.js */ /** * Unbind all event handlers before tearing down a page diff --git a/js/src/sql.js b/js/src/sql.js index 1f9f89f807..dad08ed995 100644 --- a/js/src/sql.js +++ b/js/src/sql.js @@ -1,12 +1,10 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; import { CommonActions, CommonParams } from './common.js'; /** * @fileoverview functions used wherever an sql query form is used * - * @requires jQuery - * @requires js/functions.js - * * @test-module Sql */ diff --git a/js/src/table/change.js b/js/src/table/change.js index 8a4614e78e..82920b8cc5 100644 --- a/js/src/table/change.js +++ b/js/src/table/change.js @@ -1,12 +1,10 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /** * @fileoverview function used in table data manipulation pages * - * @requires jQuery * @requires jQueryUI - * @requires js/functions.js - * */ /* global extendingValidatorMessages */ // templates/javascript/variables.twig diff --git a/js/src/table/chart.js b/js/src/table/chart.js index a4a14fab7c..16af2134c7 100644 --- a/js/src/table/chart.js +++ b/js/src/table/chart.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /* global ColumnType, DataTable, JQPlotChartFactory */ // js/chart.js diff --git a/js/src/table/find_replace.js b/js/src/table/find_replace.js index 878b5426d9..5881997a0b 100644 --- a/js/src/table/find_replace.js +++ b/js/src/table/find_replace.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /** * Unbind all event handlers before tearing down a page diff --git a/js/src/table/gis_visualization.js b/js/src/table/gis_visualization.js index 14016e4183..0af56e3005 100644 --- a/js/src/table/gis_visualization.js +++ b/js/src/table/gis_visualization.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /** * @fileoverview functions used for visualizing GIS data diff --git a/js/src/table/operations.js b/js/src/table/operations.js index 4e41e1e538..66db97c6b7 100644 --- a/js/src/table/operations.js +++ b/js/src/table/operations.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; /* global Navigation */ diff --git a/js/src/table/relation.js b/js/src/table/relation.js index 7ac6579043..e7c696bb10 100644 --- a/js/src/table/relation.js +++ b/js/src/table/relation.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; /** diff --git a/js/src/table/select.js b/js/src/table/select.js index 2f6694332b..2170233a44 100644 --- a/js/src/table/select.js +++ b/js/src/table/select.js @@ -1,11 +1,9 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /** * @fileoverview JavaScript functions used on /table/search - * - * @requires jQuery - * @requires js/functions.js */ /* global changeValueFieldType, verifyAfterSearchFieldChange */ // js/table/change.js diff --git a/js/src/table/structure.js b/js/src/table/structure.js index dd972ebf51..231b228060 100644 --- a/js/src/table/structure.js +++ b/js/src/table/structure.js @@ -1,13 +1,12 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; /** * @fileoverview functions used on the table structure page * @name Table Structure * - * @requires jQuery * @requires jQueryUI - * @required js/functions.js */ /* global Navigation */ diff --git a/js/src/table/tracking.js b/js/src/table/tracking.js index d19d1516bf..284305a8a2 100644 --- a/js/src/table/tracking.js +++ b/js/src/table/tracking.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /** diff --git a/js/src/table/zoom_plot_jqplot.js b/js/src/table/zoom_plot_jqplot.js index 8bfeb72623..2b20b6047f 100644 --- a/js/src/table/zoom_plot_jqplot.js +++ b/js/src/table/zoom_plot_jqplot.js @@ -1,12 +1,10 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; // TODO: change the axis /** * @fileoverview JavaScript functions used on /table/search - * - * @requires jQuery - * @requires js/functions.js **/ /* global Sql */ diff --git a/js/src/transformations/sql_editor.js b/js/src/transformations/sql_editor.js index b639605474..febdb633ce 100644 --- a/js/src/transformations/sql_editor.js +++ b/js/src/transformations/sql_editor.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from '../functions.js'; /** * SQL syntax highlighting transformation plugin js diff --git a/js/src/u2f.js b/js/src/u2f.js index f6f68dbbe0..0e03c8d18e 100644 --- a/js/src/u2f.js +++ b/js/src/u2f.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { Functions } from './functions.js'; window.AJAX.registerOnload('u2f.js', function () { var $inputReg = $('#u2f_registration_response'); diff --git a/libraries/classes/Header.php b/libraries/classes/Header.php index 08ea09cbda..e8a9a178d5 100644 --- a/libraries/classes/Header.php +++ b/libraries/classes/Header.php @@ -145,7 +145,6 @@ class Header $this->scripts->addFile('menu_resizer.js'); $this->scripts->addFile('cross_framing_protection.js'); $this->scripts->addFile('config.js'); - $this->scripts->addFile('functions.js'); $this->scripts->addFile('navigation.js'); $this->scripts->addFile('indexes.js'); $this->scripts->addFile('common.js'); diff --git a/libraries/classes/Plugins/Transformations/Output/Text_Plain_Sql.php b/libraries/classes/Plugins/Transformations/Output/Text_Plain_Sql.php index a13da15f96..7066849727 100644 --- a/libraries/classes/Plugins/Transformations/Output/Text_Plain_Sql.php +++ b/libraries/classes/Plugins/Transformations/Output/Text_Plain_Sql.php @@ -27,7 +27,6 @@ class Text_Plain_Sql extends SQLTransformationsPlugin $scripts->addFile('vendor/codemirror/lib/codemirror.js'); $scripts->addFile('vendor/codemirror/mode/sql/sql.js'); $scripts->addFile('vendor/codemirror/addon/runmode/runmode.js'); - $scripts->addFile('functions.js'); } /** diff --git a/test/classes/HeaderTest.php b/test/classes/HeaderTest.php index 65d0862046..8eaf2753fb 100644 --- a/test/classes/HeaderTest.php +++ b/test/classes/HeaderTest.php @@ -267,7 +267,6 @@ class HeaderTest extends AbstractTestCase ['name' => 'menu_resizer.js', 'fire' => 1], ['name' => 'cross_framing_protection.js', 'fire' => 0], ['name' => 'config.js', 'fire' => 1], - ['name' => 'functions.js', 'fire' => 1], ['name' => 'navigation.js', 'fire' => 1], ['name' => 'indexes.js', 'fire' => 1], ['name' => 'common.js', 'fire' => 1], diff --git a/webpack.config.cjs b/webpack.config.cjs index bed0a64544..216fbdb191 100644 --- a/webpack.config.cjs +++ b/webpack.config.cjs @@ -40,7 +40,6 @@ module.exports = [ 'error_report': './js/src/error_report.js', 'export': './js/src/export.js', 'export_output': './js/src/export_output.js', - 'functions': './js/src/functions.js', 'gis_data_editor': './js/src/gis_data_editor.js', 'home': './js/src/home.js', 'import': './js/src/import.js', From b2971d618f760fe2019a7098e5a990a946f6799c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Thu, 24 Nov 2022 15:20:16 -0300 Subject: [PATCH 3/3] Import the AJAX object where possible 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 | 13 +++++++------ js/src/database/events.js | 5 +++-- js/src/database/multi_table_query.js | 5 +++-- js/src/database/operations.js | 5 +++-- js/src/database/qbe.js | 5 +++-- js/src/database/routines.js | 5 +++-- js/src/database/search.js | 5 +++-- js/src/database/structure.js | 13 +++++++------ js/src/database/tracking.js | 21 +++++++++++---------- js/src/database/triggers.js | 5 +++-- js/src/designer/history.js | 5 +++-- js/src/designer/init.js | 5 +++-- js/src/designer/move.js | 9 +++++---- js/src/drag_drop_import.js | 3 ++- js/src/error_report.js | 15 ++++++++------- js/src/export.js | 11 ++++++----- js/src/export_output.js | 3 ++- js/src/gis_data_editor.js | 5 +++-- js/src/home.js | 5 +++-- js/src/import.js | 5 +++-- js/src/indexes.js | 5 +++-- js/src/makegrid.js | 3 ++- js/src/modules/console.js | 3 ++- js/src/multi_column_sort.js | 13 +++++++------ js/src/normalization.js | 5 +++-- js/src/replication.js | 9 +++++---- js/src/server/databases.js | 7 ++++--- js/src/server/plugins.js | 3 ++- js/src/server/privileges.js | 5 +++-- js/src/server/status/monitor.js | 13 +++++++------ js/src/server/status/processes.js | 5 +++-- js/src/server/status/queries.js | 5 +++-- js/src/server/status/variables.js | 5 +++-- js/src/server/user_groups.js | 7 ++++--- js/src/server/variables.js | 5 +++-- js/src/sql.js | 19 ++++++++++--------- js/src/table/change.js | 7 ++++--- js/src/table/chart.js | 5 +++-- js/src/table/find_replace.js | 5 +++-- js/src/table/gis_visualization.js | 5 +++-- js/src/table/operations.js | 9 +++++---- js/src/table/relation.js | 5 +++-- js/src/table/select.js | 5 +++-- js/src/table/structure.js | 21 +++++++++++---------- js/src/table/tracking.js | 21 +++++++++++---------- js/src/table/zoom_plot_jqplot.js | 5 +++-- js/src/transformations/image_upload.js | 5 +++-- js/src/transformations/json.js | 3 ++- js/src/transformations/json_editor.js | 3 ++- js/src/transformations/sql_editor.js | 3 ++- js/src/transformations/xml.js | 3 ++- js/src/transformations/xml_editor.js | 3 ++- js/src/u2f.js | 3 ++- libraries/classes/Header.php | 1 - libraries/classes/Scripts.php | 1 - test/classes/HeaderTest.php | 1 - webpack.config.cjs | 1 - 57 files changed, 212 insertions(+), 163 deletions(-) diff --git a/js/src/database/central_columns.js b/js/src/database/central_columns.js index 548b2b7fc6..87e69c0514 100644 --- a/js/src/database/central_columns.js +++ b/js/src/database/central_columns.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; @@ -19,7 +20,7 @@ import { CommonParams } from '../common.js'; * */ -window.AJAX.registerTeardown('database/central_columns.js', function () { +AJAX.registerTeardown('database/central_columns.js', function () { $('.edit').off('click'); $('.edit_save_form').off('click'); $('.edit_cancel_form').off('click'); @@ -36,7 +37,7 @@ window.AJAX.registerTeardown('database/central_columns.js', function () { $('button[name=\'edit_central_columns\']').off('click'); }); -window.AJAX.registerOnload('database/central_columns.js', function () { +AJAX.registerOnload('database/central_columns.js', function () { $('#tableslistcontainer input,#tableslistcontainer select,#tableslistcontainer .default_value,#tableslistcontainer .open_enum_editor').hide(); $('#tableslistcontainer').find('.checkall').show(); $('#tableslistcontainer').find('.checkall_box').show(); @@ -70,8 +71,8 @@ window.AJAX.registerOnload('database/central_columns.js', function () { 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(); - window.AJAX.source = $(this); - $.post('index.php?route=/database/central-columns', editColumnData, window.AJAX.responseHandler); + AJAX.source = $(this); + $.post('index.php?route=/database/central-columns', editColumnData, AJAX.responseHandler); }); $('#multi_edit_central_columns').on('submit', function (event) { event.preventDefault(); @@ -79,8 +80,8 @@ window.AJAX.registerOnload('database/central_columns.js', function () { 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(); - window.AJAX.source = $(this); - $.post('index.php?route=/database/central-columns', multiColumnEditData, window.AJAX.responseHandler); + AJAX.source = $(this); + $.post('index.php?route=/database/central-columns', multiColumnEditData, AJAX.responseHandler); }); $('#add_new').find('td').each(function () { if ($(this).attr('name') !== 'undefined') { diff --git a/js/src/database/events.js b/js/src/database/events.js index 9c4cc93739..002304f37d 100644 --- a/js/src/database/events.js +++ b/js/src/database/events.js @@ -1,9 +1,10 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /* global Navigation */ -window.AJAX.registerTeardown('database/events.js', function () { +AJAX.registerTeardown('database/events.js', function () { $(document).off('click', 'a.ajax.add_anchor, a.ajax.edit_anchor'); $(document).off('click', 'a.ajax.export_anchor'); $(document).off('click', '#bulkActionExportButton'); @@ -534,7 +535,7 @@ const DatabaseEvents = { } }; -window.AJAX.registerOnload('database/events.js', function () { +AJAX.registerOnload('database/events.js', function () { /** * Attach Ajax event handlers for the Add/Edit functionality. */ diff --git a/js/src/database/multi_table_query.js b/js/src/database/multi_table_query.js index d924b92a43..5a101c50fe 100644 --- a/js/src/database/multi_table_query.js +++ b/js/src/database/multi_table_query.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; @@ -17,7 +18,7 @@ import { CommonParams } from '../common.js'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('database/multi_table_query.js', function () { +AJAX.registerTeardown('database/multi_table_query.js', function () { $('.tableNameSelect').each(function () { $(this).off('change'); }); @@ -25,7 +26,7 @@ window.AJAX.registerTeardown('database/multi_table_query.js', function () { $('#add_column_button').off('click'); }); -window.AJAX.registerOnload('database/multi_table_query.js', function () { +AJAX.registerOnload('database/multi_table_query.js', function () { var editor = Functions.getSqlEditor($('#MultiSqlquery'), {}, 'both'); $('.CodeMirror-line').css('text-align', 'left'); editor.setSize(-1, 50); diff --git a/js/src/database/operations.js b/js/src/database/operations.js index 0766974ff5..3e4d2844d3 100644 --- a/js/src/database/operations.js +++ b/js/src/database/operations.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; @@ -24,14 +25,14 @@ import { CommonActions, CommonParams } from '../common.js'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('database/operations.js', function () { +AJAX.registerTeardown('database/operations.js', function () { $(document).off('submit', '#rename_db_form.ajax'); $(document).off('submit', '#copy_db_form.ajax'); $(document).off('submit', '#change_db_charset_form.ajax'); $(document).off('click', '#drop_db_anchor.ajax'); }); -window.AJAX.registerOnload('database/operations.js', function () { +AJAX.registerOnload('database/operations.js', function () { /** * Ajax event handlers for 'Rename Database' */ diff --git a/js/src/database/qbe.js b/js/src/database/qbe.js index 54233ecf2c..35b825ed19 100644 --- a/js/src/database/qbe.js +++ b/js/src/database/qbe.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /** @@ -18,7 +19,7 @@ import { Functions } from '../functions.js'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('database/qbe.js', function () { +AJAX.registerTeardown('database/qbe.js', function () { $(document).off('change', 'select[name^=criteriaColumn]'); $(document).off('change', '#searchId'); $(document).off('click', '#saveSearch'); @@ -26,7 +27,7 @@ window.AJAX.registerTeardown('database/qbe.js', function () { $(document).off('click', '#deleteSearch'); }); -window.AJAX.registerOnload('database/qbe.js', function () { +AJAX.registerOnload('database/qbe.js', function () { Functions.getSqlEditor($('#textSqlquery'), {}, 'none'); $('#tblQbe').width($('#tblQbe').parent().width()); diff --git a/js/src/database/routines.js b/js/src/database/routines.js index 206a8a8cdf..938f4e99de 100644 --- a/js/src/database/routines.js +++ b/js/src/database/routines.js @@ -1,9 +1,10 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /* global Navigation */ -window.AJAX.registerTeardown('database/routines.js', function () { +AJAX.registerTeardown('database/routines.js', function () { $(document).off('click', 'a.ajax.add_anchor'); $(document).off('click', 'a.ajax.edit_anchor'); $(document).off('click', 'a.ajax.exec_anchor'); @@ -871,7 +872,7 @@ const DatabaseRoutines = { } }; -window.AJAX.registerOnload('database/routines.js', function () { +AJAX.registerOnload('database/routines.js', function () { $(document).on('click', 'a.ajax.add_anchor', function (event) { event.preventDefault(); $.datepicker.initialized = false; diff --git a/js/src/database/search.js b/js/src/database/search.js index b21b89b96e..384fef2d3e 100644 --- a/js/src/database/search.js +++ b/js/src/database/search.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; @@ -18,7 +19,7 @@ import { CommonParams } from '../common.js'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('database/search.js', function () { +AJAX.registerTeardown('database/search.js', function () { $('a.browse_results').off('click'); $('a.delete_results').off('click'); $('#buttonGo').off('click'); @@ -30,7 +31,7 @@ window.AJAX.registerTeardown('database/search.js', function () { $(document).off('submit', '#db_search_form.ajax'); }); -window.AJAX.registerOnload('database/search.js', function () { +AJAX.registerOnload('database/search.js', function () { /** Hide the table link in the initial search result */ var icon = Functions.getImage('s_tbl', '', { 'id': 'table-image' }).toString(); $('#table-info').prepend(icon).hide(); diff --git a/js/src/database/structure.js b/js/src/database/structure.js index 7d0f038b7d..6678da12f5 100644 --- a/js/src/database/structure.js +++ b/js/src/database/structure.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; @@ -27,7 +28,7 @@ window.DatabaseStructure = DatabaseStructure; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('database/structure.js', function () { +AJAX.registerTeardown('database/structure.js', function () { $(document).off('click', 'a.truncate_table_anchor.ajax'); $(document).off('click', 'a.drop_table_anchor.ajax'); $(document).off('click', '#real_end_input'); @@ -188,7 +189,7 @@ DatabaseStructure.fetchRealRowCount = function ($target) { }); }; -window.AJAX.registerOnload('database/structure.js', function () { +AJAX.registerOnload('database/structure.js', function () { /** * Event handler on select of "Make consistent with central list" */ @@ -207,12 +208,12 @@ window.AJAX.registerOnload('database/structure.js', function () { const data = $form.serialize() + argSep + 'ajax_request=true' + argSep + 'ajax_page_request=true'; Functions.ajaxShowMessage(); - window.AJAX.source = $form; + AJAX.source = $form; $.post( 'index.php?route=/database/structure/central-columns/make-consistent', data, - window.AJAX.responseHandler + AJAX.responseHandler ); $('#makeConsistentWithCentralListModal').modal('hide'); @@ -302,9 +303,9 @@ window.AJAX.registerOnload('database/structure.js', function () { var data = $form.serialize() + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true'; Functions.ajaxShowMessage(); - window.AJAX.source = $form; + AJAX.source = $form; - $.post(url, data, window.AJAX.responseHandler); + $.post(url, data, AJAX.responseHandler); }); /** diff --git a/js/src/database/tracking.js b/js/src/database/tracking.js index d297beb839..7287baab68 100644 --- a/js/src/database/tracking.js +++ b/js/src/database/tracking.js @@ -1,11 +1,12 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /** * Unbind all event handlers before tearing down the page */ -window.AJAX.registerTeardown('database/tracking.js', function () { +AJAX.registerTeardown('database/tracking.js', function () { $('body').off('click', '#trackedForm.ajax button[name="submit_mult"], #trackedForm.ajax input[name="submit_mult"]'); $('body').off('click', '#untrackedForm.ajax button[name="submit_mult"], #untrackedForm.ajax input[name="submit_mult"]'); $('body').off('click', 'a.delete_tracking_anchor.ajax'); @@ -14,7 +15,7 @@ window.AJAX.registerTeardown('database/tracking.js', function () { /** * Bind event handlers */ -window.AJAX.registerOnload('database/tracking.js', function () { +AJAX.registerOnload('database/tracking.js', function () { var $versions = $('#versions'); $versions.find('tr').first().find('th').append($('
')); $versions.tablesorter({ @@ -54,13 +55,13 @@ window.AJAX.registerOnload('database/tracking.js', function () { var question = window.Messages.strDeleteTrackingDataMultiple; $button.confirm(question, $form.attr('action'), function (url) { Functions.ajaxShowMessage(window.Messages.strDeletingTrackingData); - window.AJAX.source = $form; - $.post(url, submitData, window.AJAX.responseHandler); + AJAX.source = $form; + $.post(url, submitData, AJAX.responseHandler); }); } else { Functions.ajaxShowMessage(); - window.AJAX.source = $form; - $.post($form.attr('action'), submitData, window.AJAX.responseHandler); + AJAX.source = $form; + $.post($form.attr('action'), submitData, AJAX.responseHandler); } }); @@ -74,8 +75,8 @@ window.AJAX.registerOnload('database/tracking.js', function () { 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(); - window.AJAX.source = $form; - $.post($form.attr('action'), submitData, window.AJAX.responseHandler); + AJAX.source = $form; + $.post($form.attr('action'), submitData, AJAX.responseHandler); }); /** @@ -87,11 +88,11 @@ window.AJAX.registerOnload('database/tracking.js', function () { var question = window.Messages.strDeleteTrackingData; $anchor.confirm(question, $anchor.attr('href'), function (url) { Functions.ajaxShowMessage(window.Messages.strDeletingTrackingData); - window.AJAX.source = $anchor; + AJAX.source = $anchor; var argSep = CommonParams.get('arg_separator'); var params = Functions.getJsConfirmCommonParam(this, $anchor.getPostData()); params += argSep + 'ajax_page_request=1'; - $.post(url, params, window.AJAX.responseHandler); + $.post(url, params, AJAX.responseHandler); }); }); }); diff --git a/js/src/database/triggers.js b/js/src/database/triggers.js index 4f4f05ccbe..763edcb53f 100644 --- a/js/src/database/triggers.js +++ b/js/src/database/triggers.js @@ -1,9 +1,10 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /* global Navigation */ -window.AJAX.registerTeardown('database/triggers.js', function () { +AJAX.registerTeardown('database/triggers.js', function () { $(document).off('click', 'a.ajax.add_anchor, a.ajax.edit_anchor'); $(document).off('click', 'a.ajax.export_anchor'); $(document).off('click', '#bulkActionExportButton'); @@ -509,7 +510,7 @@ const DatabaseTriggers = { } }; -window.AJAX.registerOnload('database/triggers.js', function () { +AJAX.registerOnload('database/triggers.js', function () { /** * Attach Ajax event handlers for the Add/Edit functionality. */ diff --git a/js/src/designer/history.js b/js/src/designer/history.js index fbeb9bc809..7622df748b 100644 --- a/js/src/designer/history.js +++ b/js/src/designer/history.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /** @@ -808,7 +809,7 @@ DesignerHistory.buildQuery = function () { }); }; -window.AJAX.registerTeardown('designer/history.js', function () { +AJAX.registerTeardown('designer/history.js', function () { vqbEditor = null; historyArray = []; selectField = []; @@ -818,7 +819,7 @@ window.AJAX.registerTeardown('designer/history.js', function () { $('#ok_edit_where').off('click'); }); -window.AJAX.registerOnload('designer/history.js', function () { +AJAX.registerOnload('designer/history.js', function () { $('#ok_edit_rename').on('click', function () { DesignerHistory.edit('Rename'); }); diff --git a/js/src/designer/init.js b/js/src/designer/init.js index c0fb710ecb..67ff146869 100644 --- a/js/src/designer/init.js +++ b/js/src/designer/init.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; /** * Initializes the data required to run Designer, then fires it up. @@ -10,11 +11,11 @@ import $ from 'jquery'; /* global DesignerPage */ // js/designer/page.js /* global designerConfig */ // templates/database/designer/main.twig -window.AJAX.registerTeardown('designer/init.js', function () { +AJAX.registerTeardown('designer/init.js', function () { $('.trigger').off('click'); }); -window.AJAX.registerOnload('designer/init.js', function () { +AJAX.registerOnload('designer/init.js', function () { $('.trigger').on('click', function () { $('.panel').toggle('fast'); $(this).toggleClass('active'); diff --git a/js/src/designer/move.js b/js/src/designer/move.js index 9557134b50..8b3602249d 100644 --- a/js/src/designer/move.js +++ b/js/src/designer/move.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; @@ -18,12 +19,12 @@ var change = 0; // variable to track any change in designer layout. var showRelationLines = true; var alwaysShowText = false; -window.AJAX.registerTeardown('designer/move.js', function () { +AJAX.registerTeardown('designer/move.js', function () { $(document).off('fullscreenchange'); $('#selflink').show(); }); -window.AJAX.registerOnload('designer/move.js', function () { +AJAX.registerOnload('designer/move.js', function () { var $content = $('#page_content'); var $img = $('#toggleFullscreen').find('img'); var $span = $img.siblings('span'); @@ -2027,7 +2028,7 @@ DesignerMove.enableTableEvents = function (index, element) { DesignerMove.enablePageContentEvents(); }; -window.AJAX.registerTeardown('designer/move.js', function () { +AJAX.registerTeardown('designer/move.js', function () { $('#side_menu').off('mouseenter mouseleave'); $('#key_Show_left_menu').off('click'); $('#toggleFullscreen').off('click'); @@ -2077,7 +2078,7 @@ window.AJAX.registerTeardown('designer/move.js', function () { $('#page_content').off('mousemove'); }); -window.AJAX.registerOnload('designer/move.js', function () { +AJAX.registerOnload('designer/move.js', function () { $('#key_Show_left_menu').on('click', function () { DesignerMove.showLeftMenu(this); return false; diff --git a/js/src/drag_drop_import.js b/js/src/drag_drop_import.js index 2c48f108f1..d86f0c745e 100644 --- a/js/src/drag_drop_import.js +++ b/js/src/drag_drop_import.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; import { CommonParams } from './common.js'; @@ -297,7 +298,7 @@ var DragDropImport = { $('.pma_sql_import_status').slideDown(); for (var i = 0; i < files.length; i++) { var ext = (DragDropImport.getExtension(files[i].name)); - var hash = window.AJAX.hash(++DragDropImport.uploadCount); + var hash = AJAX.hash(++DragDropImport.uploadCount); var $sqlImportStatusDiv = $('.pma_sql_import_status div'); $sqlImportStatusDiv.append('
  • ' + diff --git a/js/src/error_report.js b/js/src/error_report.js index 15b921351c..99426d1cee 100644 --- a/js/src/error_report.js +++ b/js/src/error_report.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; import { CommonParams } from './common.js'; @@ -225,8 +226,8 @@ var ErrorReport = { 'url': window.location.href, 'exception_type': 'js' }; - if (window.AJAX.scriptHandler.scripts.length > 0) { - reportData.scripts = window.AJAX.scriptHandler.scripts.map( + if (AJAX.scriptHandler.scripts.length > 0) { + reportData.scripts = AJAX.scriptHandler.scripts.map( function (script) { return script; } @@ -260,13 +261,13 @@ var ErrorReport = { } }, /** - * Automatically wraps the callback in window.AJAX.registerOnload + * Automatically wraps the callback in AJAX.registerOnload * * @return {void} */ wrapAjaxOnloadCallback: function () { - var oldOnload = window.AJAX.registerOnload; - window.AJAX.registerOnload = function (file, func) { + var oldOnload = AJAX.registerOnload; + AJAX.registerOnload = function (file, func) { var wrappedFunction = ErrorReport.wrapFunction(func); oldOnload.call(this, file, wrappedFunction); }; @@ -289,7 +290,7 @@ var ErrorReport = { }; }, /** - * Wraps the callback in window.AJAX.registerOnload automatically + * Wraps the callback in AJAX.registerOnload automatically * * @return {void} */ @@ -299,7 +300,7 @@ var ErrorReport = { } }; -window.AJAX.registerOnload('error_report.js', function () { +AJAX.registerOnload('error_report.js', function () { window.TraceKit.report.subscribe(ErrorReport.errorHandler); ErrorReport.setUpErrorReporting(); }); diff --git a/js/src/export.js b/js/src/export.js index f5fd1a281b..8a21f6e8f3 100644 --- a/js/src/export.js +++ b/js/src/export.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; import { CommonParams } from './common.js'; @@ -207,7 +208,7 @@ Export.deleteTemplate = function (id) { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('export.js', function () { +AJAX.registerTeardown('export.js', function () { $('#plugins').off('change'); $('input[type=\'radio\'][name=\'sql_structure_or_data\']').off('change'); $('input[type=\'radio\'][name$=\'_structure_or_data\']').off('change'); @@ -231,7 +232,7 @@ window.AJAX.registerTeardown('export.js', function () { $('input[name="deleteTemplate"]').off('click'); }); -window.AJAX.registerOnload('export.js', function () { +AJAX.registerOnload('export.js', function () { $('#showsqlquery').on('click', function () { // Creating a dialog box similar to preview sql container to show sql query var modal = $('#showSqlQueryModal'); @@ -436,7 +437,7 @@ Export.toggleSaveToFile = function () { } }; -window.AJAX.registerOnload('export.js', function () { +AJAX.registerOnload('export.js', function () { Export.toggleSaveToFile(); $('input[type=\'radio\'][name=\'output_format\']').on('change', Export.toggleSaveToFile); }); @@ -582,7 +583,7 @@ Export.handleAddProcCheckbox = function () { } }; -window.AJAX.registerOnload('export.js', function () { +AJAX.registerOnload('export.js', function () { /** * For SQL plugin, if "CREATE TABLE options" is checked/unchecked, check/uncheck each of its sub-options */ @@ -866,7 +867,7 @@ Export.addAlias = function (type, name, field, value) { $('#alias_data tbody').append(row); }; -window.AJAX.registerOnload('export.js', function () { +AJAX.registerOnload('export.js', function () { $('input[type=\'radio\'][name=\'quick_or_custom\']').on('change', toggleQuickOrCustom); $('#format_specific_opts').find('div.format_specific_options') .addClass('d-none') diff --git a/js/src/export_output.js b/js/src/export_output.js index d717c28e2c..5de057fd46 100644 --- a/js/src/export_output.js +++ b/js/src/export_output.js @@ -1,6 +1,7 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; -window.AJAX.registerOnload('export_output.js', function () { +AJAX.registerOnload('export_output.js', function () { $(document).on('keydown', function (e) { if ((e.which || e.keyCode) === 116) { e.preventDefault(); diff --git a/js/src/gis_data_editor.js b/js/src/gis_data_editor.js index 56618ef61d..2abc8d7a45 100644 --- a/js/src/gis_data_editor.js +++ b/js/src/gis_data_editor.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; import { CommonParams } from './common.js'; @@ -210,7 +211,7 @@ function insertDataAndClose () { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('gis_data_editor.js', function () { +AJAX.registerTeardown('gis_data_editor.js', function () { $(document).off('click', '#gis_editor input[name=\'gis_data[save]\']'); $(document).off('submit', '#gis_editor'); $(document).off('change', '#gis_editor input[type=\'text\']'); @@ -222,7 +223,7 @@ window.AJAX.registerTeardown('gis_data_editor.js', function () { $(document).off('click', '#gis_editor a.addJs.addGeom'); }); -window.AJAX.registerOnload('gis_data_editor.js', function () { +AJAX.registerOnload('gis_data_editor.js', function () { /** * Prepares and insert the GIS data to the input field on clicking 'copy'. */ diff --git a/js/src/home.js b/js/src/home.js index f7084dfc0e..0d30b17d76 100644 --- a/js/src/home.js +++ b/js/src/home.js @@ -1,14 +1,15 @@ +import { AJAX } from './ajax.js'; import { showGitVersion } from './modules/git-info.js'; import { ThemesManager } from './modules/themes-manager.js'; -window.AJAX.registerTeardown('home.js', () => { +AJAX.registerTeardown('home.js', () => { const themesModal = document.getElementById('themesModal'); if (themesModal) { themesModal.removeEventListener('show.bs.modal', ThemesManager.handleEvent); } }); -window.AJAX.registerOnload('home.js', () => { +AJAX.registerOnload('home.js', () => { const themesModal = document.getElementById('themesModal'); if (themesModal) { themesModal.addEventListener('show.bs.modal', ThemesManager.handleEvent); diff --git a/js/src/import.js b/js/src/import.js index 8c6f2015d0..f4d58c7aa6 100644 --- a/js/src/import.js +++ b/js/src/import.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; /** @@ -50,7 +51,7 @@ function matchFile (fname) { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('import.js', function () { +AJAX.registerTeardown('import.js', function () { $('#plugins').off('change'); $('#input_import_file').off('change'); $('#select_local_import_file').off('change'); @@ -59,7 +60,7 @@ window.AJAX.registerTeardown('import.js', function () { $('#text_csv_enclosed').add('#text_csv_escaped').off('keyup'); }); -window.AJAX.registerOnload('import.js', function () { +AJAX.registerOnload('import.js', function () { // import_file_form validation. $(document).on('submit', '#import_file_form', function () { var radioLocalImport = $('#localFileTab'); diff --git a/js/src/indexes.js b/js/src/indexes.js index 44fca976a9..7fd22b9ec6 100644 --- a/js/src/indexes.js +++ b/js/src/indexes.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; import { CommonActions, CommonParams } from './common.js'; @@ -594,8 +595,8 @@ Indexes.on = () => function () { var argsep = CommonParams.get('arg_separator'); var submitData = $form.serialize() + argsep + 'do_save_data=1' + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true'; Functions.ajaxShowMessage(window.Messages.strProcessingRequest); - window.AJAX.source = $form; - $.post($form.attr('action'), submitData, window.AJAX.responseHandler); + AJAX.source = $form; + $.post($form.attr('action'), submitData, AJAX.responseHandler); }); $(document).on('click', '#preview_index_frm', function (event) { diff --git a/js/src/makegrid.js b/js/src/makegrid.js index da8bd5e97d..b868b41db9 100644 --- a/js/src/makegrid.js +++ b/js/src/makegrid.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; import { CommonParams } from './common.js'; @@ -2070,7 +2071,7 @@ window.makeGrid = function (t, enableResize, enableReorder, enableVisib, enableG // temporarily remove ajax class so the page loader will not handle it, // submit and then add it back $link.removeClass('ajax'); - window.AJAX.requestHandler.call($link[0]); + AJAX.requestHandler.call($link[0]); $link.addClass('ajax'); $cell.data('clicks', 0); }, 700); diff --git a/js/src/modules/console.js b/js/src/modules/console.js index 1d54ba776e..27c5ea4a39 100644 --- a/js/src/modules/console.js +++ b/js/src/modules/console.js @@ -1,5 +1,6 @@ import $ from 'jquery'; import CodeMirror from 'codemirror'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; import { Config } from './console/config.js'; @@ -96,7 +97,7 @@ var Console = { '' ); Console.$requestForm.children('[name=token]').val(CommonParams.get('token')); - Console.$requestForm.on('submit', window.AJAX.requestHandler); + Console.$requestForm.on('submit', AJAX.requestHandler); // Event binds shouldn't run again if (Console.isInitialized === false) { diff --git a/js/src/multi_column_sort.js b/js/src/multi_column_sort.js index 616b07a40c..e6fb58f374 100644 --- a/js/src/multi_column_sort.js +++ b/js/src/multi_column_sort.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; import { CommonParams } from './common.js'; @@ -10,27 +11,27 @@ import { CommonParams } from './common.js'; * @requires jQuery */ -window.AJAX.registerOnload('keyhandler.js', function () { +AJAX.registerOnload('keyhandler.js', function () { $('th.draggable.column_heading.pointer.marker a').on('click', function (event) { var orderUrlRemove = $(this).parent().find('input[name="url-remove-order"]').val(); var orderUrlAdd = $(this).parent().find('input[name="url-add-order"]').val(); var argsep = CommonParams.get('arg_separator'); if (event.ctrlKey || event.altKey) { event.preventDefault(); - window.AJAX.source = $(this); + AJAX.source = $(this); Functions.ajaxShowMessage(); orderUrlRemove += argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true'; - $.post('index.php?route=/sql', orderUrlRemove, window.AJAX.responseHandler); + $.post('index.php?route=/sql', orderUrlRemove, AJAX.responseHandler); } else if (event.shiftKey) { event.preventDefault(); - window.AJAX.source = $(this); + AJAX.source = $(this); Functions.ajaxShowMessage(); orderUrlAdd += argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true'; - $.post('index.php?route=/sql', orderUrlAdd, window.AJAX.responseHandler); + $.post('index.php?route=/sql', orderUrlAdd, AJAX.responseHandler); } }); }); -window.AJAX.registerTeardown('keyhandler.js', function () { +AJAX.registerTeardown('keyhandler.js', function () { $(document).off('click', 'th.draggable.column_heading.pointer.marker a'); }); diff --git a/js/src/normalization.js b/js/src/normalization.js index 5a28604891..eee23ee6df 100644 --- a/js/src/normalization.js +++ b/js/src/normalization.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; import { CommonParams } from './common.js'; @@ -482,7 +483,7 @@ function moveRepeatingGroup (repeatingCols) { } }); } -window.AJAX.registerTeardown('normalization.js', function () { +AJAX.registerTeardown('normalization.js', function () { $('#extra').off('click', '#selectNonAtomicCol'); $('#splitGo').off('click'); $('.tblFooters').off('click', '#saveSplit'); @@ -495,7 +496,7 @@ window.AJAX.registerTeardown('normalization.js', function () { $('#mainContent').off('click', '.pickPd'); }); -window.AJAX.registerOnload('normalization.js', function () { +AJAX.registerOnload('normalization.js', function () { var selectedCol; normalizeto = $('#mainContent').data('normalizeto'); $('#extra').on('click', '#selectNonAtomicCol', function () { diff --git a/js/src/replication.js b/js/src/replication.js index 9f442aa274..51606d2193 100644 --- a/js/src/replication.js +++ b/js/src/replication.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; /** @@ -34,7 +35,7 @@ function updateConfig () { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('replication.js', function () { +AJAX.registerTeardown('replication.js', function () { $('#db_type').off('change'); $('#db_select').off('change'); $('#primary_status_href').off('click'); @@ -48,7 +49,7 @@ window.AJAX.registerTeardown('replication.js', function () { $('#reset_replica').off('click'); }); -window.AJAX.registerOnload('replication.js', function () { +AJAX.registerOnload('replication.js', function () { $('#rep').text(confPrefix); $('#db_type').on('change', updateConfig); $('#db_select').on('change', updateConfig); @@ -85,12 +86,12 @@ window.AJAX.registerOnload('replication.js', function () { var question = window.Messages.strResetReplicaWarning; $anchor.confirm(question, $anchor.attr('href'), function (url) { Functions.ajaxShowMessage(); - window.AJAX.source = $anchor; + AJAX.source = $anchor; var params = Functions.getJsConfirmCommonParam({ 'ajax_page_request': true, 'ajax_request': true }, $anchor.getPostData()); - $.post(url, params, window.AJAX.responseHandler); + $.post(url, params, AJAX.responseHandler); }); }); $('#button_generate_password').on('click', function () { diff --git a/js/src/server/databases.js b/js/src/server/databases.js index da9bc1f999..fc61c50489 100644 --- a/js/src/server/databases.js +++ b/js/src/server/databases.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; @@ -117,7 +118,7 @@ const CreateDatabase = { var dbStructUrl = data.url; dbStructUrl = dbStructUrl.replace(/amp;/ig, ''); var params = 'ajax_request=true' + CommonParams.get('arg_separator') + 'ajax_page_request=true'; - $.get(dbStructUrl, params, window.AJAX.responseHandler); + $.get(dbStructUrl, params, AJAX.responseHandler); } else { Functions.ajaxShowMessage(data.error, false); } @@ -134,12 +135,12 @@ function checkPrivilegesForDatabase () { }); } -window.AJAX.registerTeardown('server/databases.js', function () { +AJAX.registerTeardown('server/databases.js', function () { $(document).off('submit', '#dbStatsForm'); $(document).off('submit', '#create_database_form.ajax'); }); -window.AJAX.registerOnload('server/databases.js', function () { +AJAX.registerOnload('server/databases.js', function () { $(document).on('submit', '#dbStatsForm', DropDatabases.handleEvent); $(document).on('submit', '#create_database_form.ajax', CreateDatabase.handleEvent); checkPrivilegesForDatabase(); diff --git a/js/src/server/plugins.js b/js/src/server/plugins.js index 41a3e0bea2..e8dba16014 100644 --- a/js/src/server/plugins.js +++ b/js/src/server/plugins.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; /** * Make columns sortable, but only for tables with more than 1 data row. @@ -15,6 +16,6 @@ function makeColumnsSortable () { .append('
    '); } -window.AJAX.registerOnload('server/plugins.js', function () { +AJAX.registerOnload('server/plugins.js', function () { makeColumnsSortable(); }); diff --git a/js/src/server/privileges.js b/js/src/server/privileges.js index 2aa16d7a8f..5e5828564a 100644 --- a/js/src/server/privileges.js +++ b/js/src/server/privileges.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; @@ -486,7 +487,7 @@ const selectPasswordRadioWhenChangingPassword = () => { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('server/privileges.js', function () { +AJAX.registerTeardown('server/privileges.js', function () { $('#fieldset_add_user_login').off('change', 'input[name=\'username\']'); $(document).off('click', '#deleteUserCard .btn.ajax'); $('#text_pma_change_pw').off('keyup'); @@ -508,7 +509,7 @@ window.AJAX.registerTeardown('server/privileges.js', function () { $(document).off('change', '#select_authentication_plugin'); }); -window.AJAX.registerOnload('server/privileges.js', function () { +AJAX.registerOnload('server/privileges.js', function () { $('#fieldset_add_user_login').on('change', 'input[name=\'username\']', AddUserLoginCheckUsername.handleEvent); $('#text_pma_pw').on('keyup', PasswordStrength.handleEvent); $('#text_pma_pw').on('input', SwitchToUseTextField.handleEvent); diff --git a/js/src/server/status/monitor.js b/js/src/server/status/monitor.js index 39b737da4a..6153bf63e6 100644 --- a/js/src/server/status/monitor.js +++ b/js/src/server/status/monitor.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../../ajax.js'; import { Functions } from '../../functions.js'; import { CommonParams } from '../../common.js'; @@ -78,7 +79,7 @@ function destroyGrid () { monitorSettings = null; } -window.AJAX.registerOnload('server/status/monitor.js', function () { +AJAX.registerOnload('server/status/monitor.js', function () { var $jsDataForm = $('#js_data'); serverTimeDiff = new Date().getTime() - $jsDataForm.find('input[name=server_time]').val(); serverOs = $jsDataForm.find('input[name=server_os]').val(); @@ -89,7 +90,7 @@ window.AJAX.registerOnload('server/status/monitor.js', function () { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('server/status/monitor.js', function () { +AJAX.registerTeardown('server/status/monitor.js', function () { $('#emptyDialog').remove(); $('a.popupLink').off('click'); $('body').off('click'); @@ -97,7 +98,7 @@ window.AJAX.registerTeardown('server/status/monitor.js', function () { /** * Popup behaviour */ -window.AJAX.registerOnload('server/status/monitor.js', function () { +AJAX.registerOnload('server/status/monitor.js', function () { $('
    ') .attr('id', 'emptyDialog') .appendTo('#page_content'); @@ -125,7 +126,7 @@ window.AJAX.registerOnload('server/status/monitor.js', function () { }); }); -window.AJAX.registerTeardown('server/status/monitor.js', function () { +AJAX.registerTeardown('server/status/monitor.js', function () { $('a[href="#rearrangeCharts"], a[href="#endChartEditMode"]').off('click'); $('div.popupContent select[name="chartColumns"]').off('change'); $('div.popupContent select[name="gridChartRefresh"]').off('change'); @@ -149,7 +150,7 @@ window.AJAX.registerTeardown('server/status/monitor.js', function () { destroyGrid(); }); -window.AJAX.registerOnload('server/status/monitor.js', function () { +AJAX.registerOnload('server/status/monitor.js', function () { // Show tab links $('div.tabLinks').show(); $('#loadingMonitorIcon').remove(); @@ -2320,6 +2321,6 @@ window.AJAX.registerOnload('server/status/monitor.js', function () { }); // Run the monitor once loaded -window.AJAX.registerOnload('server/status/monitor.js', function () { +AJAX.registerOnload('server/status/monitor.js', function () { $('a[href="#pauseCharts"]').trigger('click'); }); diff --git a/js/src/server/status/processes.js b/js/src/server/status/processes.js index 3b25671f3e..270bb4f5f1 100644 --- a/js/src/server/status/processes.js +++ b/js/src/server/status/processes.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../../ajax.js'; import { Functions } from '../../functions.js'; import { CommonParams } from '../../common.js'; @@ -165,7 +166,7 @@ var processList = { } }; -window.AJAX.registerOnload('server/status/processes.js', function () { +AJAX.registerOnload('server/status/processes.js', function () { processList.init(); // Bind event handler for kill_process $('#tableprocesslist').on( @@ -193,7 +194,7 @@ window.AJAX.registerOnload('server/status/processes.js', function () { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('server/status/processes.js', function () { +AJAX.registerTeardown('server/status/processes.js', function () { $('#tableprocesslist').off('click', 'a.kill_process'); $('a#toggleRefresh').off('click'); $('#id_refreshRate').off('change'); diff --git a/js/src/server/status/queries.js b/js/src/server/status/queries.js index 679e8e8957..c7c4b1fd9a 100644 --- a/js/src/server/status/queries.js +++ b/js/src/server/status/queries.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../../ajax.js'; import { Functions } from '../../functions.js'; /** @@ -13,7 +14,7 @@ import { Functions } from '../../functions.js'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('server/status/queries.js', function () { +AJAX.registerTeardown('server/status/queries.js', function () { if (document.getElementById('serverstatusquerieschart') !== null) { var queryPieChart = $('#serverstatusquerieschart').data('queryPieChart'); if (queryPieChart) { @@ -22,7 +23,7 @@ window.AJAX.registerTeardown('server/status/queries.js', function () { } }); -window.AJAX.registerOnload('server/status/queries.js', function () { +AJAX.registerOnload('server/status/queries.js', function () { // Build query statistics chart var cdata = []; try { diff --git a/js/src/server/status/variables.js b/js/src/server/status/variables.js index 95e36375a6..836dfd45d4 100644 --- a/js/src/server/status/variables.js +++ b/js/src/server/status/variables.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../../ajax.js'; /** * @@ -9,14 +10,14 @@ import $ from 'jquery'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('server/status/variables.js', function () { +AJAX.registerTeardown('server/status/variables.js', function () { $('#filterAlert').off('change'); $('#filterText').off('keyup'); $('#filterCategory').off('change'); $('#dontFormat').off('change'); }); -window.AJAX.registerOnload('server/status/variables.js', function () { +AJAX.registerOnload('server/status/variables.js', function () { // Filters for status variables var textFilter = null; var alertFilter = $('#filterAlert').prop('checked'); diff --git a/js/src/server/user_groups.js b/js/src/server/user_groups.js index 76b89270e4..d26749e710 100644 --- a/js/src/server/user_groups.js +++ b/js/src/server/user_groups.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /** @@ -11,14 +12,14 @@ import { Functions } from '../functions.js'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('server/user_groups.js', function () { +AJAX.registerTeardown('server/user_groups.js', function () { $('#deleteUserGroupModal').off('show.bs.modal'); }); /** * Bind event handlers */ -window.AJAX.registerOnload('server/user_groups.js', function () { +AJAX.registerOnload('server/user_groups.js', function () { const deleteUserGroupModal = $('#deleteUserGroupModal'); deleteUserGroupModal.on('show.bs.modal', function (event) { const userGroupName = $(event.relatedTarget).data('user-group'); @@ -37,7 +38,7 @@ window.AJAX.registerOnload('server/user_groups.js', function () { 'userGroup': userGroupName, 'ajax_request': true, }, - window.AJAX.responseHandler + AJAX.responseHandler ); $('#deleteUserGroupModal').modal('hide'); diff --git a/js/src/server/variables.js b/js/src/server/variables.js index d0d2f10526..9a2be86563 100644 --- a/js/src/server/variables.js +++ b/js/src/server/variables.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; @@ -11,12 +12,12 @@ import { CommonParams } from '../common.js'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('server/variables.js', function () { +AJAX.registerTeardown('server/variables.js', function () { $(document).off('click', 'a.editLink'); $('#serverVariables').find('.var-name').find('a img').remove(); }); -window.AJAX.registerOnload('server/variables.js', function () { +AJAX.registerOnload('server/variables.js', function () { var $saveLink = $('a.saveLink'); var $cancelLink = $('a.cancelLink'); diff --git a/js/src/sql.js b/js/src/sql.js index dad08ed995..ffe6609183 100644 --- a/js/src/sql.js +++ b/js/src/sql.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; import { CommonActions, CommonParams } from './common.js'; @@ -401,7 +402,7 @@ const insertValueQuery = function () { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('sql.js', function () { +AJAX.registerTeardown('sql.js', function () { $(document).off('click', 'a.delete_row.ajax'); $(document).off('submit', '.bookmarkQueryForm'); $('input#bkm_label').off('input'); @@ -451,7 +452,7 @@ window.AJAX.registerTeardown('sql.js', function () { * @name document.ready * @memberOf jQuery */ -window.AJAX.registerOnload('sql.js', function () { +AJAX.registerOnload('sql.js', function () { if (window.codeMirrorEditor || document.sqlform) { Sql.setShowThisQuery(); } @@ -806,7 +807,7 @@ window.AJAX.registerOnload('sql.js', function () { }, null ); - window.AJAX.handleMenu.replace(data.menu); + AJAX.handleMenu.replace(data.menu); } if (data.params) { @@ -921,8 +922,8 @@ window.AJAX.registerOnload('sql.js', function () { var argsep = CommonParams.get('arg_separator'); var submitData = $form.serialize() + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true'; Functions.ajaxShowMessage(); - window.AJAX.source = $form; - $.post($form.attr('action'), submitData, window.AJAX.responseHandler); + AJAX.source = $form; + $.post($form.attr('action'), submitData, AJAX.responseHandler); }; if (! $(this).is(':checked')) { // already showing all rows @@ -1018,7 +1019,7 @@ window.AJAX.registerOnload('sql.js', function () { var argsep = CommonParams.get('arg_separator'); var submitData = $form.serialize() + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true' + argsep; Functions.ajaxShowMessage(); - window.AJAX.source = $form; + AJAX.source = $form; var url; if (action === 'edit') { @@ -1035,7 +1036,7 @@ window.AJAX.registerOnload('sql.js', function () { return; } - $.post(url, submitData, window.AJAX.responseHandler); + $.post(url, submitData, AJAX.responseHandler); }); $(document).on('submit', '.maxRowsForm', function () { @@ -1216,7 +1217,7 @@ Sql.checkSavedQuery = function () { } }; -window.AJAX.registerOnload('sql.js', function () { +AJAX.registerOnload('sql.js', function () { $('body').on('click', 'a.browse_foreign', function (e) { e.preventDefault(); Sql.browseForeignDialog($(this)); @@ -1316,7 +1317,7 @@ Sql.initProfilingTables = function () { }); }; -window.AJAX.registerOnload('sql.js', function () { +AJAX.registerOnload('sql.js', function () { Sql.makeProfilingChart(); Sql.initProfilingTables(); }); diff --git a/js/src/table/change.js b/js/src/table/change.js index 82920b8cc5..4afbff027c 100644 --- a/js/src/table/change.js +++ b/js/src/table/change.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /** @@ -446,7 +447,7 @@ window.verificationsAfterFieldChange = verificationsAfterFieldChange; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('table/change.js', function () { +AJAX.registerTeardown('table/change.js', function () { $(document).off('click', 'span.open_gis_editor'); $(document).off('click', 'input[name^=\'insert_ignore_\']'); $(document).off('click', 'input[name=\'gis_data[save]\']'); @@ -462,7 +463,7 @@ window.AJAX.registerTeardown('table/change.js', function () { * Submit Data to be inserted into the table. * Restart insertion with 'N' rows. */ -window.AJAX.registerOnload('table/change.js', function () { +AJAX.registerOnload('table/change.js', function () { if ($('#insertForm').length) { // validate the comment form when it is submitted $('#insertForm').validate(); @@ -862,7 +863,7 @@ function addNewContinueInsertionFields (event) { * Displays alert if data loss possible on decrease * of rows. */ - var checkLock = $.isEmptyObject(window.AJAX.lockedTargets); + var checkLock = $.isEmptyObject(AJAX.lockedTargets); if (checkLock || confirm(window.Messages.strConfirmRowChange) === true) { while (currRows > targetRows) { $('input[id^=insert_ignore]').last() diff --git a/js/src/table/chart.js b/js/src/table/chart.js index 16af2134c7..00e03870b6 100644 --- a/js/src/table/chart.js +++ b/js/src/table/chart.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /* global ColumnType, DataTable, JQPlotChartFactory */ // js/chart.js @@ -237,7 +238,7 @@ function onDataSeriesChange () { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('table/chart.js', function () { +AJAX.registerTeardown('table/chart.js', function () { $('input[name="chartType"]').off('click'); $('#barStackedCheckbox').off('click'); $('#seriesColumnCheckbox').off('click'); @@ -252,7 +253,7 @@ window.AJAX.registerTeardown('table/chart.js', function () { $('#tblchartform').off('submit'); }); -window.AJAX.registerOnload('table/chart.js', function () { +AJAX.registerOnload('table/chart.js', function () { // handle manual resize $('#resizer').on('resizestop', function () { // make room so that the handle will still appear diff --git a/js/src/table/find_replace.js b/js/src/table/find_replace.js index 5881997a0b..cfc0cb4c5c 100644 --- a/js/src/table/find_replace.js +++ b/js/src/table/find_replace.js @@ -1,10 +1,11 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('table/find_replace.js', function () { +AJAX.registerTeardown('table/find_replace.js', function () { $('#find_replace_form').off('submit'); $('#toggle_find').off('click'); }); @@ -12,7 +13,7 @@ window.AJAX.registerTeardown('table/find_replace.js', function () { /** * Bind events */ -window.AJAX.registerOnload('table/find_replace.js', function () { +AJAX.registerOnload('table/find_replace.js', function () { $('
    ') .insertAfter('#find_replace_form') .hide(); diff --git a/js/src/table/gis_visualization.js b/js/src/table/gis_visualization.js index 0af56e3005..a44760b813 100644 --- a/js/src/table/gis_visualization.js +++ b/js/src/table/gis_visualization.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /** @@ -190,7 +191,7 @@ function onGisMouseWheel (event) { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('table/gis_visualization.js', function () { +AJAX.registerTeardown('table/gis_visualization.js', function () { $(document).off('click', '#choice'); $(document).off('dragstart', 'svg'); $(document).off('mouseup', 'svg'); @@ -212,7 +213,7 @@ window.AJAX.registerTeardown('table/gis_visualization.js', function () { } }); -window.AJAX.registerOnload('table/gis_visualization.js', function () { +AJAX.registerOnload('table/gis_visualization.js', function () { // If we are in GIS visualization, initialize it if ($('#gis_div').length > 0) { initGISVisualization(); diff --git a/js/src/table/operations.js b/js/src/table/operations.js index 66db97c6b7..ced20f4bbc 100644 --- a/js/src/table/operations.js +++ b/js/src/table/operations.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; @@ -7,7 +8,7 @@ import { CommonActions, CommonParams } from '../common.js'; /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('table/operations.js', function () { +AJAX.registerTeardown('table/operations.js', function () { $(document).off('submit', '#copyTable.ajax'); $(document).off('submit', '#moveTableForm'); $(document).off('submit', '#tableOptionsForm'); @@ -67,7 +68,7 @@ var confirmAndPost = function (linkObject, action) { * jQuery coding for 'Table operations'. Used on /table/operations * Attach Ajax Event handlers for Table operations */ -window.AJAX.registerOnload('table/operations.js', function () { +AJAX.registerOnload('table/operations.js', function () { /** * Ajax action for submitting the "Copy table" */ @@ -247,8 +248,8 @@ window.AJAX.registerOnload('table/operations.js', function () { var argsep = CommonParams.get('arg_separator'); var submitData = $form.serialize() + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true'; Functions.ajaxShowMessage(window.Messages.strProcessingRequest); - window.AJAX.source = $form; - $.post($form.attr('action'), submitData, window.AJAX.responseHandler); + AJAX.source = $form; + $.post($form.attr('action'), submitData, AJAX.responseHandler); } if ($('#partitionOperationRadioDrop').is(':checked')) { diff --git a/js/src/table/relation.js b/js/src/table/relation.js index e7c696bb10..57a8ef117d 100644 --- a/js/src/table/relation.js +++ b/js/src/table/relation.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; @@ -130,7 +131,7 @@ TableRelation.getDropdownValues = function ($dropdown) { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('table/relation.js', function () { +AJAX.registerTeardown('table/relation.js', function () { $('body').off('change', 'select[name^="destination_db"], ' + 'select[name^="destination_table"], ' + @@ -142,7 +143,7 @@ window.AJAX.registerTeardown('table/relation.js', function () { $('a.drop_foreign_key_anchor.ajax').off('click'); }); -window.AJAX.registerOnload('table/relation.js', function () { +AJAX.registerOnload('table/relation.js', function () { /** * Ajax event handler to fetch table/column dropdown values. */ diff --git a/js/src/table/select.js b/js/src/table/select.js index 2170233a44..331c63d519 100644 --- a/js/src/table/select.js +++ b/js/src/table/select.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; @@ -46,7 +47,7 @@ TableSelect.checkIfDataTypeNumericOrDate = function (dataType) { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('table/select.js', function () { +AJAX.registerTeardown('table/select.js', function () { $('#togglesearchformlink').off('click'); $(document).off('submit', '#tbl_search_form.ajax'); $('select.geom_func').off('change'); @@ -54,7 +55,7 @@ window.AJAX.registerTeardown('table/select.js', function () { $('body').off('change', 'select[name*="criteriaColumnOperators"]'); // Fix for bug #13778, changed 'click' to 'change' }); -window.AJAX.registerOnload('table/select.js', function () { +AJAX.registerOnload('table/select.js', function () { /** * Prepare a div containing a link, otherwise it's incorrectly displayed * after a couple of clicks diff --git a/js/src/table/structure.js b/js/src/table/structure.js index 231b228060..13a13375d2 100644 --- a/js/src/table/structure.js +++ b/js/src/table/structure.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonActions, CommonParams } from '../common.js'; @@ -45,7 +46,7 @@ function checkFirst () { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('table/structure.js', function () { +AJAX.registerTeardown('table/structure.js', function () { $(document).off('click', 'a.drop_column_anchor.ajax'); $(document).off('click', 'a.add_key.ajax'); $(document).off('click', '#move_columns_anchor'); @@ -55,7 +56,7 @@ window.AJAX.registerTeardown('table/structure.js', function () { $(document).off('click', '#remove_partitioning.ajax'); }); -window.AJAX.registerOnload('table/structure.js', function () { +AJAX.registerOnload('table/structure.js', function () { // Re-initialize variables. window.primaryIndexes = []; window.indexes = []; @@ -271,11 +272,11 @@ window.AJAX.registerOnload('table/structure.js', function () { $thisAnchor.confirm(question, $thisAnchor.attr('href'), function (url) { Functions.ajaxShowMessage(); - window.AJAX.source = $this; + AJAX.source = $this; var params = Functions.getJsConfirmCommonParam(this, $thisAnchor.getPostData()); params += CommonParams.get('arg_separator') + 'ajax_page_request=1'; - $.post(url, params, window.AJAX.responseHandler); + $.post(url, params, AJAX.responseHandler); }); }); // end Add key @@ -399,9 +400,9 @@ window.AJAX.registerOnload('table/structure.js', function () { var submitData = $form.serialize() + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true'; Functions.ajaxShowMessage(); - window.AJAX.source = $form; + AJAX.source = $form; - $.post(this.formAction, submitData, window.AJAX.responseHandler); + $.post(this.formAction, submitData, AJAX.responseHandler); }); /** @@ -414,8 +415,8 @@ window.AJAX.registerOnload('table/structure.js', function () { function submitPartitionAction (url) { var params = 'ajax_request=true&ajax_page_request=true&' + $link.getPostData(); Functions.ajaxShowMessage(); - window.AJAX.source = $link; - $.post(url, params, window.AJAX.responseHandler); + AJAX.source = $link; + $.post(url, params, AJAX.responseHandler); } if ($link.is('#partition_action_DROP')) { @@ -444,8 +445,8 @@ window.AJAX.registerOnload('table/structure.js', function () { 'ajax_page_request' : true }, $link.getPostData()); Functions.ajaxShowMessage(); - window.AJAX.source = $link; - $.post(url, params, window.AJAX.responseHandler); + AJAX.source = $link; + $.post(url, params, AJAX.responseHandler); }); }); diff --git a/js/src/table/tracking.js b/js/src/table/tracking.js index 284305a8a2..302b9cc728 100644 --- a/js/src/table/tracking.js +++ b/js/src/table/tracking.js @@ -1,11 +1,12 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; /** * Unbind all event handlers before tearing down the page */ -window.AJAX.registerTeardown('table/tracking.js', function () { +AJAX.registerTeardown('table/tracking.js', function () { $('body').off('click', '#versionsForm.ajax button[name="submit_mult"], #versionsForm.ajax input[name="submit_mult"]'); $('body').off('click', 'a.delete_version_anchor.ajax'); $('body').off('click', 'a.delete_entry_anchor.ajax'); @@ -14,7 +15,7 @@ window.AJAX.registerTeardown('table/tracking.js', function () { /** * Bind event handlers */ -window.AJAX.registerOnload('table/tracking.js', function () { +AJAX.registerOnload('table/tracking.js', function () { $('#versions tr').first().find('th').append($('
    ')); $('#versions').tablesorter({ sortList: [[1, 0]], @@ -64,13 +65,13 @@ window.AJAX.registerOnload('table/tracking.js', function () { var question = window.Messages.strDeleteTrackingVersionMultiple; $button.confirm(question, $form.attr('action'), function (url) { Functions.ajaxShowMessage(); - window.AJAX.source = $form; - $.post(url, submitData, window.AJAX.responseHandler); + AJAX.source = $form; + $.post(url, submitData, AJAX.responseHandler); }); } else { Functions.ajaxShowMessage(); - window.AJAX.source = $form; - $.post($form.attr('action'), submitData, window.AJAX.responseHandler); + AJAX.source = $form; + $.post($form.attr('action'), submitData, AJAX.responseHandler); } }); @@ -83,11 +84,11 @@ window.AJAX.registerOnload('table/tracking.js', function () { var question = window.Messages.strDeleteTrackingVersion; $anchor.confirm(question, $anchor.attr('href'), function (url) { Functions.ajaxShowMessage(); - window.AJAX.source = $anchor; + AJAX.source = $anchor; var argSep = CommonParams.get('arg_separator'); var params = Functions.getJsConfirmCommonParam(this, $anchor.getPostData()); params += argSep + 'ajax_page_request=1'; - $.post(url, params, window.AJAX.responseHandler); + $.post(url, params, AJAX.responseHandler); }); }); @@ -100,11 +101,11 @@ window.AJAX.registerOnload('table/tracking.js', function () { var question = window.Messages.strDeletingTrackingEntry; $anchor.confirm(question, $anchor.attr('href'), function (url) { Functions.ajaxShowMessage(); - window.AJAX.source = $anchor; + AJAX.source = $anchor; var argSep = CommonParams.get('arg_separator'); var params = Functions.getJsConfirmCommonParam(this, $anchor.getPostData()); params += argSep + 'ajax_page_request=1'; - $.post(url, params, window.AJAX.responseHandler); + $.post(url, params, AJAX.responseHandler); }); }); }); diff --git a/js/src/table/zoom_plot_jqplot.js b/js/src/table/zoom_plot_jqplot.js index 2b20b6047f..6ab392028c 100644 --- a/js/src/table/zoom_plot_jqplot.js +++ b/js/src/table/zoom_plot_jqplot.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; import { CommonParams } from '../common.js'; @@ -103,7 +104,7 @@ function getType (field) { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('table/zoom_plot_jqplot.js', function () { +AJAX.registerTeardown('table/zoom_plot_jqplot.js', function () { $('#tableid_0').off('change'); $('#tableid_1').off('change'); $('#tableid_2').off('change'); @@ -116,7 +117,7 @@ window.AJAX.registerTeardown('table/zoom_plot_jqplot.js', function () { $('div#querychart').off('jqplotDataClick'); }); -window.AJAX.registerOnload('table/zoom_plot_jqplot.js', function () { +AJAX.registerOnload('table/zoom_plot_jqplot.js', function () { var currentChart = null; var searchedDataKey = null; var xLabel = $('#tableid_0').val(); diff --git a/js/src/transformations/image_upload.js b/js/src/transformations/image_upload.js index 94455a995d..2b0034128b 100644 --- a/js/src/transformations/image_upload.js +++ b/js/src/transformations/image_upload.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; /** * Image upload transformations plugin js @@ -6,7 +7,7 @@ import $ from 'jquery'; * @package PhpMyAdmin */ -window.AJAX.registerOnload('transformations/image_upload.js', function () { +AJAX.registerOnload('transformations/image_upload.js', function () { // Change thumbnail when image file is selected // through file upload dialog $('input.image-upload').on('change', function () { @@ -24,6 +25,6 @@ window.AJAX.registerOnload('transformations/image_upload.js', function () { /** * Unbind all event handlers before tearing down a page */ -window.AJAX.registerTeardown('transformations/image_upload.js', function () { +AJAX.registerTeardown('transformations/image_upload.js', function () { $('input.image-upload').off('change'); }); diff --git a/js/src/transformations/json.js b/js/src/transformations/json.js index ced6251f74..3e7f039890 100644 --- a/js/src/transformations/json.js +++ b/js/src/transformations/json.js @@ -1,9 +1,10 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; /** * JSON syntax highlighting transformation plugin */ -window.AJAX.registerOnload('transformations/json.js', function () { +AJAX.registerOnload('transformations/json.js', function () { var $elm = $('#page_content').find('code.json'); $elm.each(function () { var $json = $(this); diff --git a/js/src/transformations/json_editor.js b/js/src/transformations/json_editor.js index 36f2aa1570..6c30278931 100644 --- a/js/src/transformations/json_editor.js +++ b/js/src/transformations/json_editor.js @@ -1,11 +1,12 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; /** * JSON syntax highlighting transformation plugin * * @package PhpMyAdmin */ -window.AJAX.registerOnload('transformations/json_editor.js', function () { +AJAX.registerOnload('transformations/json_editor.js', function () { $('textarea.transform_json_editor').each(function () { window.CodeMirror.fromTextArea(this, { lineNumbers: true, diff --git a/js/src/transformations/sql_editor.js b/js/src/transformations/sql_editor.js index febdb633ce..e3ddf3511f 100644 --- a/js/src/transformations/sql_editor.js +++ b/js/src/transformations/sql_editor.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; import { Functions } from '../functions.js'; /** @@ -6,7 +7,7 @@ import { Functions } from '../functions.js'; * * @package PhpMyAdmin */ -window.AJAX.registerOnload('transformations/sql_editor.js', function () { +AJAX.registerOnload('transformations/sql_editor.js', function () { $('textarea.transform_sql_editor').each(function () { Functions.getSqlEditor($(this), {}, 'both'); }); diff --git a/js/src/transformations/xml.js b/js/src/transformations/xml.js index 68a0fedadb..8037793c15 100644 --- a/js/src/transformations/xml.js +++ b/js/src/transformations/xml.js @@ -1,9 +1,10 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; /** * XML syntax highlighting transformation plugin */ -window.AJAX.registerOnload('transformations/xml.js', function () { +AJAX.registerOnload('transformations/xml.js', function () { var $elm = $('#page_content').find('code.xml'); $elm.each(function () { var $json = $(this); diff --git a/js/src/transformations/xml_editor.js b/js/src/transformations/xml_editor.js index 9b76aef423..437553415c 100644 --- a/js/src/transformations/xml_editor.js +++ b/js/src/transformations/xml_editor.js @@ -1,11 +1,12 @@ import $ from 'jquery'; +import { AJAX } from '../ajax.js'; /** * XML editor plugin * * @package PhpMyAdmin */ -window.AJAX.registerOnload('transformations/xml_editor.js', function () { +AJAX.registerOnload('transformations/xml_editor.js', function () { $('textarea.transform_xml_editor').each(function () { window.CodeMirror.fromTextArea(this, { lineNumbers: true, diff --git a/js/src/u2f.js b/js/src/u2f.js index 0e03c8d18e..865fbe352e 100644 --- a/js/src/u2f.js +++ b/js/src/u2f.js @@ -1,7 +1,8 @@ import $ from 'jquery'; +import { AJAX } from './ajax.js'; import { Functions } from './functions.js'; -window.AJAX.registerOnload('u2f.js', function () { +AJAX.registerOnload('u2f.js', function () { var $inputReg = $('#u2f_registration_response'); if ($inputReg.length > 0) { var $formReg = $inputReg.parents('form'); diff --git a/libraries/classes/Header.php b/libraries/classes/Header.php index e8a9a178d5..8df31a7ee5 100644 --- a/libraries/classes/Header.php +++ b/libraries/classes/Header.php @@ -140,7 +140,6 @@ class Header $this->scripts->addFile('vendor/jquery/jquery-ui-timepicker-addon.js'); $this->scripts->addFile('index.php', ['route' => '/messages', 'l' => $GLOBALS['lang']]); $this->scripts->addFile('shared.js'); - $this->scripts->addFile('ajax.js'); $this->scripts->addFile('keyhandler.js'); $this->scripts->addFile('menu_resizer.js'); $this->scripts->addFile('cross_framing_protection.js'); diff --git a/libraries/classes/Scripts.php b/libraries/classes/Scripts.php index ff68aa9843..bf200308df 100644 --- a/libraries/classes/Scripts.php +++ b/libraries/classes/Scripts.php @@ -91,7 +91,6 @@ class Scripts && ! str_contains($filename, 'name-conflict-fixes.js') && ! str_contains($filename, 'index.php') && ! str_contains($filename, 'shared.js') - && ! str_contains($filename, 'ajax.js') && ! str_contains($filename, 'datetimepicker.js') && ! str_contains($filename, 'validator-messages.js') && ! str_contains($filename, 'cross_framing_protection.js'); diff --git a/test/classes/HeaderTest.php b/test/classes/HeaderTest.php index 8eaf2753fb..34fa117fe2 100644 --- a/test/classes/HeaderTest.php +++ b/test/classes/HeaderTest.php @@ -262,7 +262,6 @@ class HeaderTest extends AbstractTestCase ['name' => 'vendor/jquery/jquery-ui-timepicker-addon.js', 'fire' => 0], ['name' => 'index.php', 'fire' => 0], ['name' => 'shared.js', 'fire' => 0], - ['name' => 'ajax.js', 'fire' => 0], ['name' => 'keyhandler.js', 'fire' => 1], ['name' => 'menu_resizer.js', 'fire' => 1], ['name' => 'cross_framing_protection.js', 'fire' => 0], diff --git a/webpack.config.cjs b/webpack.config.cjs index 216fbdb191..1549aecfa8 100644 --- a/webpack.config.cjs +++ b/webpack.config.cjs @@ -11,7 +11,6 @@ module.exports = [ mode: 'none', devtool: 'source-map', entry: { - 'ajax': './js/src/ajax.js', 'chart': './js/src/chart.js', 'codemirror/addon/lint/sql-lint': './js/src/codemirror/addon/lint/sql-lint.js', 'common': './js/src/common.js',