diff --git a/js/tbl_structure.js b/js/tbl_structure.js index c8363034de..411083627b 100644 --- a/js/tbl_structure.js +++ b/js/tbl_structure.js @@ -250,4 +250,119 @@ $(document).ready(function() { }) // end $.post() }) // end insert table button "do_save_data" + /** + *Ajax event handler for index edit + **/ + $("#table_index tbody tr td.edit_index.ajax").live('click', function(event){ + event.preventDefault(); + var url = $(this).find("a").attr("href"); + if (url.substring(0, 16) == "tbl_indexes.php?") { + url = url.substring(16, url.length ); + } + url = url + "&ajax_request=true"; + + var div = $('
'); + + /** + * @var button_options Object that stores the options passed to jQueryUI + * dialog + */ + var button_options = {}; + // in the following function we need to use $(this) + button_options[PMA_messages['strCancel']] = function() {$(this).parent().dialog('close').remove();} + + var button_options_error = {}; + button_options_error[PMA_messages['strOK']] = function() {$(this).parent().dialog('close').remove();} + var $msgbox = PMA_ajaxShowMessage(); + + $.get( "tbl_indexes.php" , url , function(data) { + //in the case of an error, show the error message returned. + if (data.success != undefined && data.success == false) { + div + .append(data.error) + .dialog({ + title: PMA_messages['strEdit'], + height: 230, + width: 900, + open: PMA_verifyTypeOfAllColumns, + buttons : button_options_error + })// end dialog options + } else { + div + .append(data) + .dialog({ + title: PMA_messages['strEdit'], + height: 600, + width: 900, + open: PMA_verifyTypeOfAllColumns, + buttons : button_options + }) + //Remove the top menu container from the dialog + .find("#topmenucontainer").hide() + ; // end dialog options + } + PMA_ajaxRemoveMessage($msgbox); + }) // end $.get() + }); + + /** + *Ajax action for submiting the index form + **/ + $("#index_frm.ajax input[name=do_save_data]").live('click', function(event) { + event.preventDefault(); + /** + * @var the_form object referring to the export form + */ + var $form = $("#index_frm"); + + PMA_prepareForAjaxRequest($form); + //User wants to submit the form + $.post($form.attr('action'), $form.serialize()+"&do_save_data=Save", function(data) { + if ($("#sqlqueryresults").length != 0) { + $("#sqlqueryresults").remove(); + } + if (data.success == true) { + PMA_ajaxShowMessage(data.message); + $("").insertAfter("#topmenucontainer"); + $("#sqlqueryresults").html(data.sql_query); + $("#result_query .notice").remove(); + $("#result_query").prepend((data.message)); + + /*Reload the field form*/ + $("#table_index").remove(); + var temp_div = $("| ' + $r .= ' | ' . ' ' . PMA_getIcon('b_edit.png', __('Edit')) . '' . ' | ' . "\n"; diff --git a/tbl_indexes.php b/tbl_indexes.php index e366047a21..995ee2431f 100644 --- a/tbl_indexes.php +++ b/tbl_indexes.php @@ -97,7 +97,13 @@ if (isset($_REQUEST['do_save_data'])) { PMA_DBI_query($sql_query); $message = PMA_Message::success(__('Table %1$s has been altered successfully')); $message->addParam($table); - + + if( $GLOBALS['is_ajax_request'] == true) { + $extra_data['index_table'] = PMA_Index::getView($table, $db); + $extra_data['sql_query'] = PMA_showMessage(NULL, $sql_query); + PMA_ajaxResponse($message, $message->isSuccess(), $extra_data); + } + $active_page = 'tbl_structure.php'; require './tbl_structure.php'; exit; @@ -133,7 +139,7 @@ if (isset($_REQUEST['index']) && is_array($_REQUEST['index'])) { // end preparing form values ?> -