gl-website-deployer/admin/phpMyAdmin/js/src/page_settings.js

72 lines
2.0 KiB
JavaScript
Raw Normal View History

2024-11-23 20:45:29 +01:00
/**
* @fileoverview function used for page-related settings
* @name Page-related settings
*
* @requires jQuery
* @requires jQueryUI
* @required js/functions.js
*/
function showSettings (selector) {
var buttons = {
[Messages.strApply]: {
text: Messages.strApply,
class: 'btn btn-primary',
},
[Messages.strCancel]: {
text: Messages.strCancel,
class: 'btn btn-secondary',
},
};
buttons[Messages.strApply].click = function () {
$('.config-form').trigger('submit');
};
buttons[Messages.strCancel].click = function () {
$(this).dialog('close');
};
// Keeping a clone to restore in case the user cancels the operation
var $clone = $(selector + ' .page_settings').clone(true);
$(selector)
.dialog({
classes: {
'ui-dialog-titlebar-close': 'btn-close'
},
title: Messages.strPageSettings,
width: 700,
minHeight: 250,
modal: true,
open: function () {
$(this).dialog('option', 'maxHeight', $(window).height() - $(this).offset().top);
},
close: function () {
$(selector + ' .page_settings').replaceWith($clone);
},
buttons: buttons
});
}
function showPageSettings () {
showSettings('#page_settings_modal');
}
function showNaviSettings () {
showSettings('#pma_navigation_settings');
}
AJAX.registerTeardown('page_settings.js', function () {
$('#page_settings_icon').css('display', 'none');
$('#page_settings_icon').off('click');
$('#pma_navigation_settings_icon').off('click');
});
AJAX.registerOnload('page_settings.js', function () {
if ($('#page_settings_modal').length) {
$('#page_settings_icon').css('display', 'inline');
$('#page_settings_icon').on('click', showPageSettings);
}
$('#pma_navigation_settings_icon').on('click', showNaviSettings);
});