From e9310bf9952be242a2a830474076e6065cc492e1 Mon Sep 17 00:00:00 2001 From: Rouslan Placella Date: Fri, 22 Jun 2012 20:06:03 +0100 Subject: [PATCH] Ajaxification for the "Delete row" action --- js/sql.js | 19 +++++++++++++++++++ libraries/DisplayResults.class.php | 5 +++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/js/sql.js b/js/sql.js index 540c6394b1..df68461207 100644 --- a/js/sql.js +++ b/js/sql.js @@ -60,6 +60,7 @@ function getFieldName($this_field) * Unbind all event handlers before tearing down a page */ AJAX.registerTeardown('sql.js', function() { + $('a.delete_row.ajax').unbind('click'); $('#bookmarkQueryForm').die('submit'); $('input#bkm_label').unbind('keyup'); $("#sqlqueryresults").die('makegrid'); @@ -96,6 +97,24 @@ AJAX.registerTeardown('sql.js', function() { * @memberOf jQuery */ AJAX.registerOnload('sql.js', function() { + // Delete row from SQL results + $('a.delete_row.ajax').click(function (e) { + e.preventDefault(); + var question = $.sprintf(PMA_messages['strDoYouReally'], $(this).closest('td').find('div').text()); + var $link = $(this); + $link.PMA_confirm(question, $link.attr('href'), function (url) { + $msgbox = PMA_ajaxShowMessage(); + $.get(url, {'ajax_request':true, 'is_js_confirmed': true}, function (data) { + if (data.success) { + PMA_ajaxShowMessage(data.message); + $link.closest('tr').remove(); + } else { + PMA_ajaxShowMessage(data.error, false); + } + }) + }); + }); + // Ajaxification for 'Bookmark this SQL query' $('#bookmarkQueryForm').live('submit', function (e) { e.preventDefault(); diff --git a/libraries/DisplayResults.class.php b/libraries/DisplayResults.class.php index 2fa55d5462..22217509ea 100644 --- a/libraries/DisplayResults.class.php +++ b/libraries/DisplayResults.class.php @@ -5826,11 +5826,12 @@ class PMA_DisplayResults if (! empty($class)) { $ret .= $class . ' '; } - + $ajax = $GLOBALS['is_ajax_request'] ? ' ajax' : ''; $ret .= 'center" ' . ' >' . PMA_Util::linkOrButton( - $del_url, $del_str, $js_conf, false + $del_url, $del_str, array('class' => 'delete_row' . $ajax), false ) + . '
' . $js_conf . '
' . ''; }