From 49865fe64740279c3353d958ab63b13c17590995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Tue, 29 Nov 2022 14:39:16 -0300 Subject: [PATCH] Remove Indexes object from the Window global object MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MaurĂ­cio Meneghini Fauth --- js/src/functions.js | 2 +- js/src/indexes.js | 6 +++--- js/src/main.js | 7 +++---- libraries/classes/Controllers/Sql/SqlController.php | 1 - libraries/classes/Controllers/Table/AddFieldController.php | 2 +- libraries/classes/Controllers/Table/CreateController.php | 2 +- .../classes/Controllers/Table/IndexRenameController.php | 2 -- libraries/classes/Controllers/Table/IndexesController.php | 2 -- libraries/classes/Controllers/Table/RelationController.php | 2 +- libraries/classes/Controllers/Table/ReplaceController.php | 2 +- .../Controllers/Table/Structure/ChangeController.php | 2 +- .../Controllers/Table/Structure/PartitioningController.php | 2 +- .../classes/Controllers/Table/StructureController.php | 2 +- libraries/classes/Header.php | 1 - test/classes/HeaderTest.php | 1 - webpack.config.cjs | 1 - 16 files changed, 14 insertions(+), 23 deletions(-) diff --git a/js/src/functions.js b/js/src/functions.js index d422f18a32..56cb7d9534 100644 --- a/js/src/functions.js +++ b/js/src/functions.js @@ -3,10 +3,10 @@ import { AJAX } from './ajax.js'; import { Navigation } from './navigation.js'; import { CommonActions, CommonParams } from './common.js'; import { mysqlDocKeyword, mysqlDocBuiltin } from './modules/doc-links.js'; +import { Indexes } from './indexes.js'; /* global ChartType, ColumnType, DataTable, JQPlotChartFactory */ // js/chart.js /* global DatabaseStructure */ // js/database/structure.js -/* global Indexes */ // js/indexes.js /* global firstDayOfCalendar, maxInputVars, mysqlDocTemplate, themeImagePath */ // templates/javascript/variables.twig /** diff --git a/js/src/indexes.js b/js/src/indexes.js index 1cf2115424..339cb3da9f 100644 --- a/js/src/indexes.js +++ b/js/src/indexes.js @@ -10,9 +10,7 @@ import { CommonActions, CommonParams } from './common.js'; * * @requires jQueryUI */ - -var Indexes = {}; -window.Indexes = Indexes; +const Indexes = {}; /** * Returns the array of indexes based on the index choice @@ -803,3 +801,5 @@ Indexes.on = () => function () { } }); }; + +export { Indexes }; diff --git a/js/src/main.js b/js/src/main.js index 153b1db910..4457aa27ef 100644 --- a/js/src/main.js +++ b/js/src/main.js @@ -5,8 +5,7 @@ import { KeyHandlerEvents } from './keyhandler.js'; import { Navigation } from './navigation.js'; import { PageSettings } from './page_settings.js'; import { crossFramingProtection } from './cross_framing_protection.js'; - -/* global Indexes */ +import { Indexes } from './indexes.js'; AJAX.registerOnload('main.js', () => AJAX.removeSubmitEvents()); $(AJAX.loadEventHandler()); @@ -39,8 +38,8 @@ $(Functions.breadcrumbScrollToTop()); $(Navigation.onload()); -AJAX.registerTeardown('indexes.js', Indexes.off()); -AJAX.registerOnload('indexes.js', Indexes.on()); +AJAX.registerTeardown('main.js', Indexes.off()); +AJAX.registerOnload('main.js', Indexes.on()); $(() => Functions.checkNumberOfFields()); diff --git a/libraries/classes/Controllers/Sql/SqlController.php b/libraries/classes/Controllers/Sql/SqlController.php index 699f9ac300..9055c9ebe8 100644 --- a/libraries/classes/Controllers/Sql/SqlController.php +++ b/libraries/classes/Controllers/Sql/SqlController.php @@ -77,7 +77,6 @@ class SqlController extends AbstractController $this->addScriptFiles([ 'vendor/jquery/jquery.uitablefilter.js', 'table/change.js', - 'indexes.js', 'gis_data_editor.js', 'multi_column_sort.js', ]); diff --git a/libraries/classes/Controllers/Table/AddFieldController.php b/libraries/classes/Controllers/Table/AddFieldController.php index 9a28efeb0d..edc9f4d02a 100644 --- a/libraries/classes/Controllers/Table/AddFieldController.php +++ b/libraries/classes/Controllers/Table/AddFieldController.php @@ -188,7 +188,7 @@ class AddFieldController extends AbstractController $GLOBALS['active_page'] = Url::getFromRoute('/table/structure'); - $this->addScriptFiles(['vendor/jquery/jquery.uitablefilter.js', 'indexes.js']); + $this->addScriptFiles(['vendor/jquery/jquery.uitablefilter.js']); $this->checkParameters(['server', 'db', 'table', 'num_fields']); diff --git a/libraries/classes/Controllers/Table/CreateController.php b/libraries/classes/Controllers/Table/CreateController.php index 169acfaaa0..15cb4a1b82 100644 --- a/libraries/classes/Controllers/Table/CreateController.php +++ b/libraries/classes/Controllers/Table/CreateController.php @@ -153,7 +153,7 @@ class CreateController extends AbstractController // Do not display the table in the header since it hasn't been created yet $this->response->getHeader()->getMenu()->setTable(''); - $this->addScriptFiles(['vendor/jquery/jquery.uitablefilter.js', 'indexes.js']); + $this->addScriptFiles(['vendor/jquery/jquery.uitablefilter.js']); $this->checkParameters(['server', 'db']); diff --git a/libraries/classes/Controllers/Table/IndexRenameController.php b/libraries/classes/Controllers/Table/IndexRenameController.php index 6f8d4cefe7..8e6cd9787f 100644 --- a/libraries/classes/Controllers/Table/IndexRenameController.php +++ b/libraries/classes/Controllers/Table/IndexRenameController.php @@ -91,8 +91,6 @@ final class IndexRenameController extends AbstractController $formParams['old_index'] = $_POST['index']; } - $this->addScriptFiles(['indexes.js']); - $this->render('table/index_rename_form', [ 'index' => $index, 'form_params' => $formParams, diff --git a/libraries/classes/Controllers/Table/IndexesController.php b/libraries/classes/Controllers/Table/IndexesController.php index 4382d40bbc..98bb86fe6b 100644 --- a/libraries/classes/Controllers/Table/IndexesController.php +++ b/libraries/classes/Controllers/Table/IndexesController.php @@ -139,8 +139,6 @@ class IndexesController extends AbstractController $form_params['old_index'] = $_POST['index']; } - $this->addScriptFiles(['indexes.js']); - $this->render('table/index_form', [ 'fields' => $fields, 'index' => $index, diff --git a/libraries/classes/Controllers/Table/RelationController.php b/libraries/classes/Controllers/Table/RelationController.php index 1a4c105d3f..c38d0214ca 100644 --- a/libraries/classes/Controllers/Table/RelationController.php +++ b/libraries/classes/Controllers/Table/RelationController.php @@ -93,7 +93,7 @@ final class RelationController extends AbstractController return; } - $this->addScriptFiles(['table/relation.js', 'indexes.js']); + $this->addScriptFiles(['table/relation.js']); // Set the database $this->dbi->selectDb($GLOBALS['db']); diff --git a/libraries/classes/Controllers/Table/ReplaceController.php b/libraries/classes/Controllers/Table/ReplaceController.php index 5f4af5de97..37da83c735 100644 --- a/libraries/classes/Controllers/Table/ReplaceController.php +++ b/libraries/classes/Controllers/Table/ReplaceController.php @@ -83,7 +83,7 @@ final class ReplaceController extends AbstractController $this->dbi->selectDb($GLOBALS['db']); - $this->addScriptFiles(['makegrid.js', 'sql.js', 'indexes.js', 'gis_data_editor.js']); + $this->addScriptFiles(['makegrid.js', 'sql.js', 'gis_data_editor.js']); $insertRows = $_POST['insert_rows'] ?? null; if (is_numeric($insertRows) && $insertRows != $GLOBALS['cfg']['InsertRows']) { diff --git a/libraries/classes/Controllers/Table/Structure/ChangeController.php b/libraries/classes/Controllers/Table/Structure/ChangeController.php index 6f844dd63c..b9bd0f0a2c 100644 --- a/libraries/classes/Controllers/Table/Structure/ChangeController.php +++ b/libraries/classes/Controllers/Table/Structure/ChangeController.php @@ -90,7 +90,7 @@ final class ChangeController extends AbstractController $checkUserPrivileges = new CheckUserPrivileges($this->dbi); $checkUserPrivileges->getPrivileges(); - $this->addScriptFiles(['vendor/jquery/jquery.uitablefilter.js', 'indexes.js']); + $this->addScriptFiles(['vendor/jquery/jquery.uitablefilter.js']); $this->checkParameters(['server', 'db', 'table', 'num_fields']); diff --git a/libraries/classes/Controllers/Table/Structure/PartitioningController.php b/libraries/classes/Controllers/Table/Structure/PartitioningController.php index ba6163a529..4a41ac657f 100644 --- a/libraries/classes/Controllers/Table/Structure/PartitioningController.php +++ b/libraries/classes/Controllers/Table/Structure/PartitioningController.php @@ -66,7 +66,7 @@ final class PartitioningController extends AbstractController $this->response->addHTML($pageSettings->getErrorHTML()); $this->response->addHTML($pageSettings->getHTML()); - $this->addScriptFiles(['table/structure.js', 'indexes.js']); + $this->addScriptFiles(['table/structure.js']); $partitionDetails = null; if (! isset($_POST['partition_by'])) { diff --git a/libraries/classes/Controllers/Table/StructureController.php b/libraries/classes/Controllers/Table/StructureController.php index e9b7628d33..82f3af688a 100644 --- a/libraries/classes/Controllers/Table/StructureController.php +++ b/libraries/classes/Controllers/Table/StructureController.php @@ -121,7 +121,7 @@ class StructureController extends AbstractController $checkUserPrivileges = new CheckUserPrivileges($this->dbi); $checkUserPrivileges->getPrivileges(); - $this->addScriptFiles(['table/structure.js', 'indexes.js']); + $this->addScriptFiles(['table/structure.js']); $relationParameters = $this->relation->getRelationParameters(); diff --git a/libraries/classes/Header.php b/libraries/classes/Header.php index a2b192adae..db3ca1afcf 100644 --- a/libraries/classes/Header.php +++ b/libraries/classes/Header.php @@ -142,7 +142,6 @@ class Header $this->scripts->addFile('shared.js'); $this->scripts->addFile('menu_resizer.js'); $this->scripts->addFile('config.js'); - $this->scripts->addFile('indexes.js'); $this->scripts->addFile('main.js'); $this->scripts->addCode($this->getJsParamsCode()); diff --git a/test/classes/HeaderTest.php b/test/classes/HeaderTest.php index 2fd2a21318..622ff21183 100644 --- a/test/classes/HeaderTest.php +++ b/test/classes/HeaderTest.php @@ -264,7 +264,6 @@ class HeaderTest extends AbstractTestCase ['name' => 'shared.js', 'fire' => 0], ['name' => 'menu_resizer.js', 'fire' => 1], ['name' => 'config.js', 'fire' => 1], - ['name' => 'indexes.js', 'fire' => 1], ['name' => 'main.js', 'fire' => 1], ]; $this->assertSame($expected, $scripts->getFiles()); diff --git a/webpack.config.cjs b/webpack.config.cjs index 07db4a6d50..f4fe5b02c1 100644 --- a/webpack.config.cjs +++ b/webpack.config.cjs @@ -40,7 +40,6 @@ module.exports = [ 'gis_data_editor': './js/src/gis_data_editor.js', 'home': './js/src/home.js', 'import': './js/src/import.js', - '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', 'main': './js/src/main.js',