diff --git a/js/src/database/structure.js b/js/src/database/structure.js index 4760bfd909..a5082c6064 100644 --- a/js/src/database/structure.js +++ b/js/src/database/structure.js @@ -185,36 +185,9 @@ DatabaseStructure.fetchRealRowCount = function ($target) { }; AJAX.registerOnload('database/structure.js', function () { -/** - * function to open the confirmation dialog for making table consistent with central list - * - * @param string msg message text to be displayed to user - * @param function success function to be called on success - * - */ - var jqConfirm = function (msg, success) { - var dialogObj = $('
' + msg + '
'); - $('body').append(dialogObj); - var buttonOptions = {}; - buttonOptions[Messages.strContinue] = function () { - success(); - $(this).dialog('close'); - }; - buttonOptions[Messages.strCancel] = function () { - $(this).dialog('close'); - $('#tablesForm')[0].reset(); - }; - $(dialogObj).dialog({ - resizable: false, - modal: true, - title: Messages.confirmTitle, - buttons: buttonOptions - }); - }; - /** - * Event handler on select of "Make consistent with central list" - */ + * Event handler on select of "Make consistent with central list" + */ $('select[name=submit_mult]').on('change', function (event) { var url = 'index.php?route=/database/structure'; var action = $(this).val(); @@ -222,12 +195,12 @@ AJAX.registerOnload('database/structure.js', function () { if (action === 'make_consistent_with_central_list') { event.preventDefault(); event.stopPropagation(); - jqConfirm( - Messages.makeConsistentMessage, - function () { - var $form = $('#tablesForm'); - var argsep = CommonParams.get('arg_separator'); - var data = $form.serialize() + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true'; + + $('#makeConsistentWithCentralListModal').modal('show').on('shown.bs.modal', function () { + $('#makeConsistentWithCentralListContinue').on('click', function () { + const $form = $('#tablesForm'); + const argSep = CommonParams.get('arg_separator'); + const data = $form.serialize() + argSep + 'ajax_request=true' + argSep + 'ajax_page_request=true'; Functions.ajaxShowMessage(); AJAX.source = $form; @@ -237,9 +210,12 @@ AJAX.registerOnload('database/structure.js', function () { data, AJAX.responseHandler ); - } - ); - return false; + + $('#makeConsistentWithCentralListModal').modal('hide'); + }); + }); + + return; } if (action === 'copy_tbl' || @@ -272,25 +248,17 @@ AJAX.registerOnload('database/structure.js', function () { url: url, dataType: 'html', data: formData - - }).done(function (data) { - var dialogObj = $('
' + data + '
'); - $('body').append(dialogObj); - var buttonOptions = {}; - buttonOptions[Messages.strContinue] = function () { - $('#ajax_form').trigger('submit'); - $(this).dialog('close'); - }; - buttonOptions[Messages.strCancel] = function () { - $(this).dialog('close'); - $('#tablesForm')[0].reset(); - }; - $(dialogObj).dialog({ - minWidth: 500, - resizable: false, - modal: true, - title: modalTitle, - buttons: buttonOptions + }).done(function (modalBody) { + const bulkActionModal = $('#bulkActionModal'); + bulkActionModal.on('show.bs.modal', function () { + this.querySelector('.modal-title').innerText = modalTitle; + this.querySelector('.modal-body').innerHTML = modalBody; + }); + bulkActionModal.modal('show').on('shown.bs.modal', function () { + $('#bulkActionContinue').on('click', function () { + $('#ajax_form').trigger('submit'); + $('#bulkActionModal').modal('hide'); + }); }); }); diff --git a/js/src/error_report.js b/js/src/error_report.js index 9897052317..8fe789f788 100644 --- a/js/src/error_report.js +++ b/js/src/error_report.js @@ -61,57 +61,31 @@ var ErrorReport = { * @return void */ showReportDialog: function (exception) { - var reportData = ErrorReport.getReportData(exception); + const reportData = ErrorReport.getReportData(exception); - /* Remove the hidden dialogs if there are*/ - if ($('#error_report_dialog').length !== 0) { - $('#error_report_dialog').remove(); - } - var $div = $('
'); - $div.css('z-index', '1000'); - - var buttonOptions = {}; - - buttonOptions[Messages.strSendErrorReport] = function () { - var $dialog = $(this); - var postData = $.extend(reportData, { + const sendErrorReport = function () { + const postData = $.extend(reportData, { 'send_error_report': true, - 'description': $('#report_description').val(), - 'always_send': $('#always_send_checkbox')[0].checked + 'description': $('#errorReportDescription').val(), + 'always_send': $('#errorReportAlwaysSendCheckbox')[0].checked }); $.post('index.php?route=/error-report', postData, function (data) { - $dialog.dialog('close'); if (data.success === false) { - // in the case of an error, show the error message returned. Functions.ajaxShowMessage(data.error, false); } else { Functions.ajaxShowMessage(data.message, 3000); } }); + $('#errorReportModal').modal('hide'); }; - buttonOptions[Messages.strCancel] = function () { - $(this).dialog('close'); - }; - - $.post('index.php?route=/error-report', reportData, function (data) { - if (data.success === false) { - // in the case of an error, show the error message returned. - Functions.ajaxShowMessage(data.error, false); - } else { - // Show dialog if the request was successful - $div - .append(data.message) - .dialog({ - title: Messages.strSubmitErrorReport, - width: 650, - modal: true, - buttons: buttonOptions, - close: function () { - $(this).remove(); - } - }); - } + $.post('index.php?route=/error-report', reportData).done(function (data) { + const $errorReportModal = $('#errorReportModal'); + $errorReportModal.on('show.bs.modal', function () { + $('#errorReportModalConfirm').on('click', sendErrorReport); + this.querySelector('.modal-body').innerHTML = data.message; + }); + $errorReportModal.modal('show'); }); }, /** diff --git a/js/src/server/user_groups.js b/js/src/server/user_groups.js index 15d2bafa32..3119e5ec66 100644 --- a/js/src/server/user_groups.js +++ b/js/src/server/user_groups.js @@ -3,47 +3,41 @@ * @name Server User Groups * * @requires jQuery - * @requires jQueryUI */ /** * Unbind all event handlers before tearing down a page */ AJAX.registerTeardown('server/user_groups.js', function () { - $(document).off('click', 'a.deleteUserGroup.ajax'); + $('#deleteUserGroupModal').off('show.bs.modal'); }); /** * Bind event handlers */ AJAX.registerOnload('server/user_groups.js', function () { - // update the checkall checkbox on Edit user group page - $(Functions.checkboxesSel).trigger('change'); + const deleteUserGroupModal = $('#deleteUserGroupModal'); + deleteUserGroupModal.on('show.bs.modal', function (event) { + const userGroupName = $(event.relatedTarget).data('user-group'); + this.querySelector('.modal-body').innerText = Functions.sprintf( + Messages.strDropUserGroupWarning, + Functions.escapeHtml(userGroupName) + ); + }); + deleteUserGroupModal.on('shown.bs.modal', function (event) { + const userGroupName = $(event.relatedTarget).data('user-group'); + $('#deleteUserGroupConfirm').on('click', function () { + $.post( + 'index.php?route=/server/user-groups', + { + 'deleteUserGroup': true, + 'userGroup': userGroupName, + 'ajax_request': true, + }, + AJAX.responseHandler + ); - $(document).on('click', 'a.deleteUserGroup.ajax', function (event) { - event.preventDefault(); - var $link = $(this); - var groupName = $link.parents('tr').find('td').first().text(); - var buttonOptions = {}; - buttonOptions[Messages.strGo] = function () { - $(this).dialog('close'); - $link.removeClass('ajax').trigger('click'); - }; - buttonOptions[Messages.strClose] = function () { - $(this).dialog('close'); - }; - $('
') - .attr('id', 'confirmUserGroupDeleteDialog') - .append(Functions.sprintf(Messages.strDropUserGroupWarning, Functions.escapeHtml(groupName))) - .dialog({ - width: 300, - minWidth: 200, - modal: true, - buttons: buttonOptions, - title: Messages.strConfirm, - close: function () { - $(this).remove(); - } - }); + $('#deleteUserGroupModal').modal('hide'); + }); }); }); diff --git a/libraries/classes/Controllers/JavaScriptMessagesController.php b/libraries/classes/Controllers/JavaScriptMessagesController.php index 56944cbd11..6154d51db9 100644 --- a/libraries/classes/Controllers/JavaScriptMessagesController.php +++ b/libraries/classes/Controllers/JavaScriptMessagesController.php @@ -405,12 +405,6 @@ final class JavaScriptMessagesController . 'database %s has columns that are not present in the current table.' ), 'seeMore' => __('See more'), - 'confirmTitle' => __('Are you sure?'), - 'makeConsistentMessage' => __( - 'This action may change some of the columns definition.
Are you sure you ' - . 'want to continue?' - ), - 'strContinue' => __('Continue'), /** For normalization */ 'strAddPrimaryKey' => __('Add primary key'), @@ -635,8 +629,6 @@ final class JavaScriptMessagesController 'strCreateView' => __('Create view'), /* Error Reporting */ - 'strSendErrorReport' => __('Send error report'), - 'strSubmitErrorReport' => __('Submit error report'), 'strErrorOccurred' => __( 'A fatal JavaScript error has occurred. Would you like to send an error report?' ), diff --git a/libraries/classes/ErrorHandler.php b/libraries/classes/ErrorHandler.php index 0c09a05e72..ebb2ec6ce3 100644 --- a/libraries/classes/ErrorHandler.php +++ b/libraries/classes/ErrorHandler.php @@ -385,8 +385,8 @@ class ErrorHandler . __('Report') . '" id="pma_report_errors" class="btn btn-primary float-end">' . '' - . '