diff --git a/ChangeLog b/ChangeLog index 9741b3a21b..6344b96cd1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17,6 +17,7 @@ phpMyAdmin - ChangeLog - bug #3925 Table sorting in navigation panel is case-sensitive - bug #3915 Import of CSV file (Replace table data with file) with duplicate values +- bug #3898 Structure not refreshed after column drop 4.0.1.0 (not yet released) - bug #3879 Import broken for CSV using LOAD DATA diff --git a/js/tbl_structure.js b/js/tbl_structure.js index f845dc3ac4..c1a3957aa1 100644 --- a/js/tbl_structure.js +++ b/js/tbl_structure.js @@ -169,8 +169,8 @@ AJAX.registerOnload('tbl_structure.js', function () { var question = $.sprintf(PMA_messages.strDoYouReally, 'ALTER TABLE `' + escapeHtml(curr_table_name) + '` DROP `' + escapeHtml(curr_column_name) + '`;'); $(this).PMA_confirm(question, $(this).attr('href'), function (url) { var $msg = PMA_ajaxShowMessage(PMA_messages.strDroppingColumn, false); - $.get(url, {'is_js_confirmed' : 1, 'ajax_request' : true}, function (data) { - if (data.success === true) { + $.get(url, {'is_js_confirmed' : 1, 'ajax_request' : true, 'ajax_page_request' : true}, function (data) { + if (data.success == true) { PMA_ajaxRemoveMessage($msg); if ($('#result_query').length) { $('#result_query').remove(); @@ -188,8 +188,12 @@ AJAX.registerOnload('tbl_structure.js', function () { } $after_field_item.remove(); $curr_row.hide("medium").remove(); + //refresh table stats + if (data.tableStat) { + $('#tablestatistics').html(data.tableStat); + } // refresh the list of indexes (comes from sql.php) - $('#indexes').html(data.indexes_list); + $('.index_info').replaceWith(data.indexes_list); PMA_reloadNavigation(); } else { PMA_ajaxShowMessage(PMA_messages.strErrorProcessingRequest + " : " + data.error, false); diff --git a/libraries/Index.class.php b/libraries/Index.class.php index 68424c5300..39553e2bf9 100644 --- a/libraries/Index.class.php +++ b/libraries/Index.class.php @@ -532,7 +532,7 @@ class PMA_Index $no_indexes .= ''; if (! $print_mode) { - $r = '
'; + $r = '
'; $r .= '' . __('Indexes'); $r .= PMA_Util::showMySQLDocu( 'optimization', 'optimizing-database-structure' diff --git a/libraries/display_structure.lib.php b/libraries/display_structure.lib.php index dd92ceaec7..096088b110 100644 --- a/libraries/display_structure.lib.php +++ b/libraries/display_structure.lib.php @@ -238,6 +238,11 @@ if (! $tbl_is_view && ! $db_is_information_schema && 'ARCHIVE' != $tbl_storage_engine ) { + //return the list of index + $response->addJSON( + 'indexes_list', + PMA_Index::getView($GLOBALS['table'], $GLOBALS['db']) + ); $response->addHTML(PMA_getHtmlForDisplayIndexes()); } @@ -247,13 +252,15 @@ if (! $tbl_is_view // BEGIN - Calc Table Space // Get valid statistics whatever is the table type if ($cfg['ShowStats']) { - $response->addHTML( - PMA_getHtmlForDisplayTableStats( - $showtable, $table_info_num_rows, $tbl_is_view, - $db_is_information_schema, $tbl_storage_engine, - $url_query, $tbl_collation - ) + //get table stats in HTML format + $tablestats = PMA_getHtmlForDisplayTableStats( + $showtable, $table_info_num_rows, $tbl_is_view, + $db_is_information_schema, $tbl_storage_engine, + $url_query, $tbl_collation ); + //returning the response in JSON format to be used by Ajax + $response->addJSON('tableStat', $tablestats); + $response->addHTML($tablestats); } // END - Calc Table Space