Ajaxify browse and delete criteria in DB search
This commit is contained in:
@@ -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
|
||||
|
@@ -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 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 brose 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 seach 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()
|
||||
|
@@ -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');
|
||||
|
@@ -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'])) {
|
||||
|
Reference in New Issue
Block a user