diff --git a/js/src/server/databases.js b/js/src/server/databases.js
index 2d2da46711..a4891b8ffa 100644
--- a/js/src/server/databases.js
+++ b/js/src/server/databases.js
@@ -44,7 +44,7 @@ AJAX.registerOnload('server/databases.js', function () {
});
if (! selectedDbs.length) {
Functions.ajaxShowMessage(
- $('
').text(
+ $('').text(
Messages.strNoDatabasesSelected
),
2000
@@ -57,41 +57,45 @@ AJAX.registerOnload('server/databases.js', function () {
var question = Messages.strDropDatabaseStrongWarning + ' ' +
Functions.sprintf(Messages.strDoYouReally, selectedDbs.join('
'));
- var argsep = CommonParams.get('arg_separator');
- $(this).confirm(
- question,
- 'index.php?route=/server/databases/destroy&' + $(this).serialize() +
- argsep + 'drop_selected_dbs=1',
- function (url) {
- Functions.ajaxShowMessage(Messages.strProcessingRequest, false);
+ const modal = $('#dropDatabaseModal');
+ modal.find('.modal-body').html(question);
+ modal.modal('show');
- var parts = url.split('?');
- var params = Functions.getJsConfirmCommonParam(this, parts[1]);
+ const url = 'index.php?route=/server/databases/destroy&' + $(this).serialize()
+ + CommonParams.get('arg_separator') + 'drop_selected_dbs=1';
- $.post(parts[0], params, function (data) {
- if (typeof data !== 'undefined' && data.success === true) {
- Functions.ajaxShowMessage(data.message);
+ $('#dropDatabaseModalDropButton').on('click', function () {
+ Functions.ajaxShowMessage(Messages.strProcessingRequest, false);
- var $rowsToRemove = $form.find('tr.removeMe');
- var $databasesCount = $('#filter-rows-count');
- var newCount = parseInt($databasesCount.text(), 10) - $rowsToRemove.length;
- $databasesCount.text(newCount);
+ var parts = url.split('?');
+ var params = Functions.getJsConfirmCommonParam(this, parts[1]);
- $rowsToRemove.remove();
- $form.find('tbody').sortTable('.name');
- if ($form.find('tbody').find('tr').length === 0) {
- // user just dropped the last db on this page
- CommonActions.refreshMain();
- }
- Navigation.reload();
- } else {
- $form.find('tr.removeMe').removeClass('removeMe');
- Functions.ajaxShowMessage(data.error, false);
+ $.post(parts[0], params, function (data) {
+ if (typeof data !== 'undefined' && data.success === true) {
+ Functions.ajaxShowMessage(data.message);
+
+ var $rowsToRemove = $form.find('tr.removeMe');
+ var $databasesCount = $('#filter-rows-count');
+ var newCount = parseInt($databasesCount.text(), 10) - $rowsToRemove.length;
+ $databasesCount.text(newCount);
+
+ $rowsToRemove.remove();
+ $form.find('tbody').sortTable('.name');
+ if ($form.find('tbody').find('tr').length === 0) {
+ // user just dropped the last db on this page
+ CommonActions.refreshMain();
}
- }); // end $.post()
- }
- );
- }); // end of Drop Database action
+ Navigation.reload();
+ } else {
+ $form.find('tr.removeMe').removeClass('removeMe');
+ Functions.ajaxShowMessage(data.error, false);
+ }
+ });
+
+ modal.modal('hide');
+ $('#dropDatabaseModalDropButton').off('click');
+ });
+ });
/**
* Attach Ajax event handlers for 'Create Database'.
diff --git a/templates/server/databases/index.twig b/templates/server/databases/index.twig
index ebe0619ca8..65292f7ce8 100644
--- a/templates/server/databases/index.twig
+++ b/templates/server/databases/index.twig
@@ -64,7 +64,7 @@
-