diff options
author | Madhura Jayaratne <madhura.cj@gmail.com> | 2015-01-14 15:35:14 +0300 |
---|---|---|
committer | Madhura Jayaratne <madhura.cj@gmail.com> | 2015-01-14 15:35:14 +0300 |
commit | 785123b6437bafdcaf0405e9d7db290de7676560 (patch) | |
tree | 74a302d4fa6742640d0ff676eeb3a555d1ba2e0c /js/tbl_structure.js | |
parent | b2a37f7b5d9893df6b9e54127b6be2801a4df0dd (diff) |
bug #4705 Table structure: adding primary key doesn't refresh page
Signed-off-by: Madhura Jayaratne <madhura.cj@gmail.com>
Diffstat (limited to 'js/tbl_structure.js')
-rw-r--r-- | js/tbl_structure.js | 156 |
1 files changed, 24 insertions, 132 deletions
diff --git a/js/tbl_structure.js b/js/tbl_structure.js index 583adfc64b..846046f83d 100644 --- a/js/tbl_structure.js +++ b/js/tbl_structure.js @@ -71,9 +71,7 @@ function reloadFieldForm() { */ AJAX.registerTeardown('tbl_structure.js', function () { $(document).off('click', "a.drop_column_anchor.ajax"); - $(document).off('click', "a.add_primary_key_anchor.ajax"); - $(document).off('click', "a.add_index_anchor.ajax"); - $(document).off('click', "a.add_unique_anchor.ajax"); + $(document).off('click', "a.add_key.ajax"); $(document).off('click', "#move_columns_anchor"); $(document).off('submit', ".append_fields_form.ajax"); $('body').off('click', '#fieldsForm.ajax button[name="submit_mult"], #fieldsForm.ajax input[name="submit_mult"]'); @@ -201,141 +199,35 @@ AJAX.registerOnload('tbl_structure.js', function () { }); //end of Drop Column Anchor action /** - * Ajax Event handler for 'Add Primary Key' + * Ajax Event handler for adding keys */ - $(document).on('click', "a.add_primary_key_anchor.ajax", function (event) { + $(document).on('click', "a.add_key.ajax", function (event) { event.preventDefault(); - /** - * @var curr_table_name String containing the name of the current table - */ - var curr_table_name = $(this).closest('form').find('input[name=table]').val(); - /** - * @var curr_column_name String containing name of the field referred to by {@link curr_row} - */ - var curr_column_name = $(this).parents('tr').children('th').children('label').text(); - /** - * @var question String containing the question to be asked for confirmation - */ - var question = PMA_sprintf(PMA_messages.strDoYouReally, 'ALTER TABLE `' + escapeHtml(curr_table_name) + '` ADD PRIMARY KEY(`' + escapeHtml(curr_column_name) + '`);'); - $(this).PMA_confirm(question, $(this).attr('href'), function (url) { - var $msg = PMA_ajaxShowMessage(PMA_messages.strAddingPrimaryKey, false); - $.get(url, - {'is_js_confirmed' : 1, 'ajax_request' : true, 'index_change' : true}, - function (data) { - if (typeof data !== 'undefined' && data.success === true) { - PMA_ajaxRemoveMessage($msg); - $(this).remove(); - if (typeof data.reload != 'undefined') { - PMA_commonActions.refreshMain(false, function () { - if ($('.result_query').length) { - $('.result_query').remove(); - } - if (data.sql_query) { - $('<div class="result_query"></div>') - .html(data.sql_query) - .prependTo('#page_content'); - PMA_highlightSQL($('#page_content')); - } - }); - PMA_reloadNavigation(); - } - if (data.indexes_list) { - $('.index_info').replaceWith(data.indexes_list); - } - } else { - PMA_ajaxShowMessage(PMA_messages.strErrorProcessingRequest + " : " + data.error, false); - } - }); // end $.get() - }); // end $.PMA_confirm() - }); //end Add Primary Key - /** - * Ajax Event handler for 'Add Index' - */ - $(document).on('click', "a.add_index_anchor.ajax", function (event) { - event.preventDefault(); - /** - * @var curr_table_name String containing the name of the current table - */ - var curr_table_name = $(this).closest('form').find('input[name=table]').val(); - /** - * @var curr_column_name String containing name of the field referred to by {@link curr_row} - */ - var curr_column_name = $(this).parents('tr').children('th').children('label').text(); - /** - * @var question String containing the question to be asked for confirmation - */ - var question = PMA_sprintf(PMA_messages.strDoYouReally, 'ALTER TABLE `' + escapeHtml(curr_table_name) + '` ADD INDEX(`' + escapeHtml(curr_column_name) + '`);'); - $(this).PMA_confirm(question, $(this).attr('href'), function (url) { - var $msg = PMA_ajaxShowMessage(PMA_messages.strAddingIndex, false); - $.get(url, - {'is_js_confirmed' : 1, 'ajax_request' : true, 'index_change' : true}, - function (data) { - if (typeof data !== 'undefined' && data.success === true) { - PMA_ajaxRemoveMessage($msg); - if ($('.result_query').length) { - $('.result_query').remove(); - } - if (data.sql_query) { - $('<div class="result_query"></div>') - .html(data.sql_query) - .prependTo('#page_content'); - PMA_highlightSQL($('#page_content')); - } - if (data.indexes_list) { - $('.index_info').replaceWith(data.indexes_list); - } - PMA_reloadNavigation(); - } else { - PMA_ajaxShowMessage(PMA_messages.strErrorProcessingRequest + " : " + data.error, false); - } - }); // end $.get() - }); // end $.PMA_confirm() - }); //end Add Index + $this = $(this); + var curr_table_name = $this.closest('form').find('input[name=table]').val(); + var curr_column_name = $this.parents('tr').children('th').children('label').text(); + + var add_cluase = ''; + if ($this.is('.add_primary_key_anchor')) { + add_cluase = 'ADD PRIMARY KEY'; + } else if ($this.is('.add_index_anchor')) { + add_cluase = 'ADD INDEX'; + } else if ($this.is('.add_unique_anchor')) { + add_cluase = 'ADD UNIQUE'; + } else if ($this.is('.add_spatial_anchor')) { + add_cluase = 'ADD SPATIAL'; + } else if ($this.is('.add_fulltext_anchor')) { + add_cluase = 'ADD FULLTEXT'; + } + var question = PMA_sprintf(PMA_messages.strDoYouReally, 'ALTER TABLE `' + + escapeHtml(curr_table_name) + '` ' + add_cluase + '(`' + escapeHtml(curr_column_name) + '`);'); - /** - * Ajax Event handler for 'Add Unique' - */ - $(document).on('click', "a.add_unique_anchor.ajax", function (event) { - event.preventDefault(); - /** - * @var curr_table_name String containing the name of the current table - */ - var curr_table_name = $(this).closest('form').find('input[name=table]').val(); - /** - * @var curr_column_name String containing name of the field referred to by {@link curr_row} - */ - var curr_column_name = $(this).parents('tr').children('th').children('label').text(); - /** - * @var question String containing the question to be asked for confirmation - */ - var question = PMA_sprintf(PMA_messages.strDoYouReally, 'ALTER TABLE `' + escapeHtml(curr_table_name) + '` ADD UNIQUE(`' + escapeHtml(curr_column_name) + '`);'); $(this).PMA_confirm(question, $(this).attr('href'), function (url) { - var $msg = PMA_ajaxShowMessage(PMA_messages.strAddingUnique, false); - $.get(url, - {'is_js_confirmed' : 1, 'ajax_request' : true, 'index_change' : true}, - function (data) { - if (typeof data !== 'undefined' && data.success === true) { - PMA_ajaxRemoveMessage($msg); - if ($('.result_query').length) { - $('.result_query').remove(); - } - if (data.sql_query) { - $('<div id="result_query"></div>') - .html(data.sql_query) - .prependTo('#page_content'); - PMA_highlightSQL($('#page_content')); - } - if (data.indexes_list) { - $('.index_info').replaceWith(data.indexes_list); - } - PMA_reloadNavigation(); - } else { - PMA_ajaxShowMessage(PMA_messages.strErrorProcessingRequest + " : " + data.error, false); - } - }); // end $.get() + PMA_ajaxShowMessage(); + $.get(url, {'ajax_request' : true, 'ajax_page_request' : true}, AJAX.responseHandler); }); // end $.PMA_confirm() - }); //end Add Unique + }); //end Add key /** * Inline move columns |