The branch, master has been updated via 564d4d7d2daaef2ed3e669d0a7ee7cdd2907f2e8 (commit) via 8af00da90d7baf8a2c848b2e2ac850b4db031e1b (commit) via efa8e3421bd786f0ba0a27b0f84280717c26a48a (commit) via a994e13c3315f45d88782b51c0f71385074a8251 (commit) from 896d3bd54eb166f33521c6101272130513599904 (commit)
- Log ----------------------------------------------------------------- commit 564d4d7d2daaef2ed3e669d0a7ee7cdd2907f2e8 Author: Marc Delisle marc@infomarc.info Date: Mon Feb 28 12:54:04 2011 -0500
Typos
commit 8af00da90d7baf8a2c848b2e2ac850b4db031e1b Author: Marc Delisle marc@infomarc.info Date: Mon Feb 28 12:52:04 2011 -0500
ChangeLog for Ajaxify browse and delete criteria
commit efa8e3421bd786f0ba0a27b0f84280717c26a48a Author: Marc Delisle marc@infomarc.info Date: Mon Feb 28 12:50:02 2011 -0500
Deactivate these messages as we are currently in message freeze for 3.4
commit a994e13c3315f45d88782b51c0f71385074a8251 Author: Thilanka lgtkaushalya@gmail.com Date: Mon Feb 28 12:44:44 2011 -0500
Ajaxify browse and delete criteria in DB search
-----------------------------------------------------------------------
Summary of changes: ChangeLog | 2 + db_search.php | 32 +++++++++++---- js/db_search.js | 98 ++++++++++++++++++++++++++++++++++++++++++---- js/messages.php | 2 + libraries/common.lib.php | 2 +- 5 files changed, 118 insertions(+), 18 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 6ed9d74..a73f0fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -138,6 +138,8 @@ - rfe #3148361 [interface] Replace hard coded limit with $cfg['LimitChars']. - bug #3177136 [interface] Indicate that bookmark is being used on browse. - [interface] Indicate shared bookmarks in interface. +- patch #3176420 [Search] Ajaxify browse and delete criteria in DB Search, + thanks to Thilanka Kaushalya
3.3.10.0 (not yet released) - patch #3147400 [structure] Aria table size printed as unknown, diff --git a/db_search.php b/db_search.php index 4275399..8362fc7 100644 --- a/db_search.php +++ b/db_search.php @@ -249,16 +249,16 @@ if (isset($_REQUEST['submit_search'])) {
if ($res_cnt > 0) { $this_url_params['sql_query'] = $newsearchsqls['select_fields']; - echo '<td>' . PMA_linkOrButton( - 'sql.php' . PMA_generate_common_url($this_url_params), - __('Browse'), '') . "</td>\n"; - + $browse_result_path = 'sql.php' . PMA_generate_common_url($this_url_params); + ?> + <td> <a name="browse_search" href="<?php echo $browse_result_path; ?>" onclick="loadResult('<?php echo $browse_result_path ?> ',' <?php echo $each_table?> ' , '<?php echo PMA_generate_common_url($GLOBALS['db'], $each_table)?>','<?php echo ($GLOBALS['cfg']['AjaxEnable']); ?>');return false;" ><?php echo __('Browse') ?></a> </td> + <?php $this_url_params['sql_query'] = $newsearchsqls['delete']; - echo '<td>' . PMA_linkOrButton( - 'sql.php' . PMA_generate_common_url($this_url_params), - __('Delete'), sprintf(__('Delete the matches for the %s table?'), htmlspecialchars($each_table))) . "</td>\n"; - - } else { + $delete_result_path = 'sql.php' . PMA_generate_common_url($this_url_params); + ?> + <td> <a name="delete_search" href="<?php echo $delete_result_path; ?>" onclick="deleteResult('<?php echo $delete_result_path ?>' , ' <?php echo __('Delete the matches for the '. $each_table . ' table?') ?>','<?php echo ($GLOBALS['cfg']['AjaxEnable']); ?>');return false;" ><?php echo __('Delete') ?></a> </td> + <?php + } else { echo '<td> </td>' . "\n" .'<td> </td>' . "\n"; }// end if else @@ -360,6 +360,20 @@ $alter_select = </fieldset> </form>
+<!-- These two table-image and table-link elements display the table name in browse search results --> +<div id='table-info'> +<a class="item" id="table-link" ></a> +</div> +<div id="browse-results"> +<!-- this browse-results div is used to load the browse and delete results in the db search --> +</div> +<br class="clearfloat" /> +<div id="sqlqueryform"> +<!-- this sqlqueryform div is used to load the delete form in the db search --> +</div> +<!-- toggle query box link--> +<a id="togglequerybox"></a> + <?php /** * Displays the footer diff --git a/js/db_search.js b/js/db_search.js index 0a82a8f..84a3dd8 100644 --- a/js/db_search.js +++ b/js/db_search.js @@ -14,25 +14,107 @@ * Retrieve result of SQL query */
+/** Loads the database search results */ +function loadResult(result_path , table_name , link , ajaxEnable){ + $(document).ready(function() { + if(ajaxEnable) + { + /** Hides the results shown by the delete criteria */ + //PMA_ajaxShowMessage(PMA_messages['strBrowsing']); + $('#sqlqueryform').hide(); + $('#togglequerybox').hide(); + /** Load the browse results to the page */ + $("#table-info").show(); + $('#table-link').attr({"href" : 'sql.php?'+link }).text(table_name); + $('#browse-results').load(result_path + " '"+'#sqlqueryresults' + "'").show(); + } + else + { + event.preventDefault(); + } + }); +} + +/** Delete the selected search results */ +function deleteResult(result_path , msg , ajaxEnable){ + $(document).ready(function() { + /** Hides the results shown by the browse criteria */ + $("#table-info").hide(); + $('#browse-results').hide(); + $('#sqlqueryform').hide(); + $('#togglequerybox').hide(); + /** Conformation message for deletion */ + if(confirm(msg)) + { + if(ajaxEnable) + { + /** Load the deleted option to the page*/ + $('#browse-results').load(result_path + " '"+'#result_query' + "'"); + $('#sqlqueryform').load(result_path + " '"+'#sqlqueryform' + "'"); + $('#togglequerybox').html(PMA_messages['strHideQueryBox']); + + /** Refresh the search results after the deletion */ + document.getElementById('buttonGo'). click(); + //PMA_ajaxShowMessage(PMA_messages['strDeleting']); + /** Show the results of the deletion option */ + $('#browse-results').show(); + $('#sqlqueryform').show(); + $('#togglequerybox').show(); + } + else + { + event.preventDefault(); + } + } + }); +} + $(document).ready(function() {
/** * Set a parameter for all Ajax queries made on this page. Don't let the - * web server serve cached pages + * web server serve cached pagesshow */ $.ajaxSetup({ cache: 'false' });
+ /** Hide the table link in the initial search result */ + $("#table-info").prepend('<img id="table-image" src="./themes/original/img/s_tbl.png" />').hide(); + + /** Hide the browse and deleted results in the new search criteria */ + $('#buttonGo').click(function(){ + $("#table-info").hide(); + $('#browse-results').hide(); + $('#sqlqueryform').hide(); + $('#togglequerybox').hide(); + }); /** - * Prepare a div containing a link, otherwise it's incorrectly displayed + * Prepare a div containing a link for toggle the search form, otherwise it's incorrectly displayed * after a couple of clicks */ $('<div id="togglesearchformdiv"><a id="togglesearchformlink"></a></div>') .insertAfter('#db_search_form') - // don't show it until we have results on-screen + /** don't show it until we have results on-screen */ .hide();
+ /** Changing the displayed text according to the hide/show criteria in search form*/ + $("#togglequerybox").hide(); + $("#togglequerybox").bind('click', function() { + var $link = $(this) + $('#sqlqueryform').slideToggle("medium"); + if ($link.text() == PMA_messages['strHideQueryBox']) { + $link.text(PMA_messages['strShowQueryBox']); + } else { + $link.text(PMA_messages['strHideQueryBox']); + } + /** avoid default click action */ + return false; + }) + + /** don't show it until we have results on-screen */ + + /** Changing the displayed text according to the hide/show criteria in search criteria form*/ $('#togglesearchformlink') .html(PMA_messages['strShowSearchCriteria']) .bind('click', function() { @@ -43,7 +125,7 @@ $(document).ready(function() { } else { $link.text(PMA_messages['strHideSearchCriteria']); } - // avoid default click action + /** avoid default click action */ return false; }); /** @@ -59,8 +141,8 @@ $(document).ready(function() { PMA_ajaxShowMessage(PMA_messages['strSearching']); // jQuery object to reuse $form = $(this); - - // add this hidden field just once + + // add this hidden field just once if (! $form.find('input:hidden').is('#ajax_request_hidden')) { $form.append('<input type="hidden" id="ajax_request_hidden" name="ajax_request" value="true" />'); } @@ -78,12 +160,12 @@ $(document).ready(function() { // always start with the Show message .text(PMA_messages['strShowSearchCriteria']) $('#togglesearchformdiv') - // now it's time to show the div containing the link + // now it's time to show the div containing the link .show(); } else { // error message (zero rows) $("#sqlqueryresults").html(response['message']); - } + } }) }) }, 'top.frame_content'); // end $(document).ready() diff --git a/js/messages.php b/js/messages.php index fa28771..fc28b2e 100644 --- a/js/messages.php +++ b/js/messages.php @@ -79,6 +79,8 @@ $js_messages['strNo'] = __('No');
/* For db_search.js */ $js_messages['strSearching'] = __('Searching'); +//$js_messages['strBrowsing'] = __('Browsing'); +//$js_messages['strDeleting'] = __('Deleting');
/* For sql.js */ $js_messages['strHideQueryBox'] = __('Hide query box'); diff --git a/libraries/common.lib.php b/libraries/common.lib.php index c30d7d0..4f8427b 100644 --- a/libraries/common.lib.php +++ b/libraries/common.lib.php @@ -1009,7 +1009,7 @@ function PMA_showMessage($message, $sql_query = null, $type = 'notice', $is_view
// In an Ajax request, $GLOBALS['cell_align_left'] may not be defined. Hence, // check for it's presence before using it - echo '<div align="' . ( isset($GLOBALS['cell_align_left']) ? $GLOBALS['cell_align_left'] : '' ) . '">' . "\n"; + echo '<div id="result_query" align="' . ( isset($GLOBALS['cell_align_left']) ? $GLOBALS['cell_align_left'] : '' ) . '">' . "\n";
if ($message instanceof PMA_Message) { if (isset($GLOBALS['special_message'])) {
hooks/post-receive