diff --git a/js/functions.js b/js/functions.js index 542305e32..e445b92c9 100644 --- a/js/functions.js +++ b/js/functions.js @@ -906,10 +906,13 @@ $(document).ready(function() { * next pages reached via AJAX); a tr may have the class noclick to remove * this behavior. */ - $('tr.odd:not(.noclick), tr.even:not(.noclick)').live('click',function() { - var $tr = $(this); - $tr.toggleClass('marked'); - $tr.children().toggleClass('marked'); + $('tr.odd:not(.noclick), tr.even:not(.noclick)').live('click',function(e) { + //do not trigger when clicked on anchor or inside input element (in inline editing mode) with exception of the first checkbox + if (!jQuery(e.target).is('a, a *, :input:not([name^="rows_to_delete"])')) { + var $tr = $(this); + $tr.toggleClass('marked'); + $tr.children().toggleClass('marked'); + } }); /** diff --git a/js/tbl_structure.js b/js/tbl_structure.js index 2720b5104..352848cb6 100644 --- a/js/tbl_structure.js +++ b/js/tbl_structure.js @@ -114,21 +114,30 @@ $(document).ready(function() { $('.drop_primary_key_index_anchor').live('click', function(event) { event.preventDefault(); + $anchor = $(this); + /** - * @var curr_row Object containing reference to the current field's row + * @var $curr_row Object containing reference to the current field's row */ - var curr_row = $(this).parents('tr'); + var $curr_row = $anchor.parents('tr'); + /** @var Number of columns in the key */ + var rows = $anchor.parents('td').attr('rowspan') || 1; + /** @var Rows that should be hidden */ + var $rows_to_hide = $curr_row; + for (var i = 1, $last_row = $curr_row.next(); i < rows; i++, $last_row = $last_row.next()) { + $rows_to_hide = $rows_to_hide.add($last_row); + } - var question = $(curr_row).children('td').children('.drop_primary_key_index_msg').val(); + var question = $curr_row.children('td').children('.drop_primary_key_index_msg').val(); - $(this).PMA_confirm(question, $(this).attr('href'), function(url) { + $anchor.PMA_confirm(question, $anchor.attr('href'), function(url) { PMA_ajaxShowMessage(PMA_messages['strDroppingPrimaryKeyIndex']); $.get(url, {'is_js_confirmed': 1, 'ajax_request': true}, function(data) { if(data.success == true) { PMA_ajaxShowMessage(data.message); - $(curr_row).hide("medium").remove(); + $rows_to_hide.hide("medium").remove(); } else { PMA_ajaxShowMessage(PMA_messages['strErrorProcessingRequest'] + " : " + data.error); diff --git a/themes/darkblue_orange/css/theme_right.css.php b/themes/darkblue_orange/css/theme_right.css.php index e555da9ee..07e786efb 100644 --- a/themes/darkblue_orange/css/theme_right.css.php +++ b/themes/darkblue_orange/css/theme_right.css.php @@ -680,14 +680,14 @@ ul#topmenu li, ul#topmenu2 li { /* default tab styles */ ul#topmenu a, ul#topmenu span { display: block; - margin: 0.2em 0.2em 0 0.2em; - padding: 0.2em 0.2em 0 0.2em; + margin: 2px 2px 0; + padding: 2px 2px 0; white-space: nowrap; } ul#topmenu ul a { margin: 0; - padding-bottom: 0.2em; + padding-bottom: 2px; } ul#topmenu .submenu { @@ -797,7 +797,7 @@ ul#topmenu ul li:first-child a { ul#topmenu > li > a:hover, ul#topmenu > li > .tabactive { margin: 0; - padding: 0.2em 0.4em 0.2em 0.4em; + padding: 2px 4px; text-decoration: none; } diff --git a/themes/original/css/theme_right.css.php b/themes/original/css/theme_right.css.php index bc5f6ee1e..02736c61b 100644 --- a/themes/original/css/theme_right.css.php +++ b/themes/original/css/theme_right.css.php @@ -655,14 +655,14 @@ ul#topmenu li, ul#topmenu2 li { /* default tab styles */ ul#topmenu a, ul#topmenu span { display: block; - margin: 0.2em 0.2em 0 0.2em; - padding: 0.2em 0.2em 0 0.2em; + margin: 2px 2px 0; + padding: 2px 2px 0; white-space: nowrap; } ul#topmenu ul a { margin: 0; - padding-bottom: 0.2em; + padding-bottom: 2px; } ul#topmenu .submenu { @@ -772,7 +772,7 @@ ul#topmenu ul li:first-child a { ul#topmenu > li > a:hover, ul#topmenu > li > .tabactive { margin: 0; - padding: 0.2em 0.4em 0.2em 0.4em; + padding: 2px 4px; text-decoration: none; }