phpmyadmin/resources/js/modules/page_settings.ts
Maurício Meneghini Fauth 0d843e68fe
Replace var with let or const in TypeScript files
Most of the changes were done by PhpStorm.

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2026-04-09 20:48:22 -03:00

80 lines
2.8 KiB
TypeScript

import $ from 'jquery';
function createPageSettingsModal (): void {
if ($('#pageSettingsModal').length > 0) {
return;
}
const pageSettingsModalTemplate = '<div class="modal fade" id="pageSettingsModal" tabindex="-1" aria-labelledby="pageSettingsModalLabel" aria-hidden="true">' +
' <div class="modal-dialog modal-lg" id="pageSettingsModalDialog">' +
' <div class="modal-content">' +
' <div class="modal-header">' +
' <h5 class="modal-title" id="pageSettingsModalLabel">' + window.Messages.strPageSettings + '</h5>' +
' <button type="button" class="btn-close" id="pageSettingsModalCloseButton" aria-label="' + window.Messages.strClose + '"></button>' +
' </div>' +
' <div class="modal-body"></div>' +
' <div class="modal-footer">' +
' <button type="button" class="btn btn-secondary" id="pageSettingsModalApplyButton">' + window.Messages.strApply + '</button>' +
' <button type="button" class="btn btn-secondary" id="pageSettingsModalCancelButton">' + window.Messages.strCancel + '</button>' +
' </div>' +
' </div>' +
' </div>' +
'</div>';
$(pageSettingsModalTemplate).appendTo('body');
}
/**
* @fileoverview function used for page-related settings
* @name Page-related settings
*
* @requires jQueryUI
*/
function showSettings (selector) {
createPageSettingsModal();
// Keeping a clone to restore in case the user cancels the operation
const $clone = $(selector + ' .page_settings').clone(true);
$('#pageSettingsModalApplyButton').on('click', function () {
$('.config-form').trigger('submit');
});
$('#pageSettingsModalCloseButton,#pageSettingsModalCancelButton').on('click', function () {
$(selector + ' .page_settings').replaceWith($clone);
$('#pageSettingsModal').modal('hide');
});
$('#pageSettingsModal').modal('show');
// @ts-ignore
$('#pageSettingsModal').find('.modal-body').first().html($(selector));
$(selector).css('display', 'block');
}
function showPageSettings () {
showSettings('#page_settings_modal');
}
function showNaviSettings () {
showSettings('#pma_navigation_settings');
}
const PageSettings = {
off: (): void => {
$('#page_settings_icon').css('display', 'none');
$('#page_settings_icon').off('click');
$('#pma_navigation_settings_icon').off('click');
},
on: (): void => {
if ($('#page_settings_modal').length) {
$('#page_settings_icon').css('display', 'inline');
$('#page_settings_icon').on('click', showPageSettings);
}
$('#pma_navigation_settings_icon').on('click', showNaviSettings);
},
};
export { PageSettings };