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(a)infomarc.info>
Date: Mon Feb 28 12:54:04 2011 -0500
Typos
commit 8af00da90d7baf8a2c848b2e2ac850b4db031e1b
Author: Marc Delisle <marc(a)infomarc.info>
Date: Mon Feb 28 12:52:04 2011 -0500
ChangeLog for Ajaxify browse and delete criteria
commit efa8e3421bd786f0ba0a27b0f84280717c26a48a
Author: Marc Delisle <marc(a)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(a)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
--
phpMyAdmin