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) {
|
if ($res_cnt > 0) {
|
||||||
$this_url_params['sql_query'] = $newsearchsqls['select_fields'];
|
$this_url_params['sql_query'] = $newsearchsqls['select_fields'];
|
||||||
echo '<td>' . PMA_linkOrButton(
|
$browse_result_path = 'sql.php' . PMA_generate_common_url($this_url_params);
|
||||||
'sql.php' . PMA_generate_common_url($this_url_params),
|
?>
|
||||||
__('Browse'), '') . "</td>\n";
|
<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'];
|
$this_url_params['sql_query'] = $newsearchsqls['delete'];
|
||||||
echo '<td>' . PMA_linkOrButton(
|
$delete_result_path = 'sql.php' . PMA_generate_common_url($this_url_params);
|
||||||
'sql.php' . PMA_generate_common_url($this_url_params),
|
?>
|
||||||
__('Delete'), sprintf(__('Delete the matches for the %s table?'), htmlspecialchars($each_table))) . "</td>\n";
|
<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 {
|
} else {
|
||||||
echo '<td> </td>' . "\n"
|
echo '<td> </td>' . "\n"
|
||||||
.'<td> </td>' . "\n";
|
.'<td> </td>' . "\n";
|
||||||
}// end if else
|
}// end if else
|
||||||
@@ -360,6 +360,20 @@ $alter_select =
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</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
|
<?php
|
||||||
/**
|
/**
|
||||||
* Displays the footer
|
* Displays the footer
|
||||||
|
@@ -14,25 +14,107 @@
|
|||||||
* Retrieve result of SQL query
|
* 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() {
|
$(document).ready(function() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set a parameter for all Ajax queries made on this page. Don't let the
|
* 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({
|
$.ajaxSetup({
|
||||||
cache: 'false'
|
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
|
* after a couple of clicks
|
||||||
*/
|
*/
|
||||||
$('<div id="togglesearchformdiv"><a id="togglesearchformlink"></a></div>')
|
$('<div id="togglesearchformdiv"><a id="togglesearchformlink"></a></div>')
|
||||||
.insertAfter('#db_search_form')
|
.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();
|
.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')
|
$('#togglesearchformlink')
|
||||||
.html(PMA_messages['strShowSearchCriteria'])
|
.html(PMA_messages['strShowSearchCriteria'])
|
||||||
.bind('click', function() {
|
.bind('click', function() {
|
||||||
@@ -43,7 +125,7 @@ $(document).ready(function() {
|
|||||||
} else {
|
} else {
|
||||||
$link.text(PMA_messages['strHideSearchCriteria']);
|
$link.text(PMA_messages['strHideSearchCriteria']);
|
||||||
}
|
}
|
||||||
// avoid default click action
|
/** avoid default click action */
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
/**
|
/**
|
||||||
@@ -59,8 +141,8 @@ $(document).ready(function() {
|
|||||||
PMA_ajaxShowMessage(PMA_messages['strSearching']);
|
PMA_ajaxShowMessage(PMA_messages['strSearching']);
|
||||||
// jQuery object to reuse
|
// jQuery object to reuse
|
||||||
$form = $(this);
|
$form = $(this);
|
||||||
|
|
||||||
// add this hidden field just once
|
// add this hidden field just once
|
||||||
if (! $form.find('input:hidden').is('#ajax_request_hidden')) {
|
if (! $form.find('input:hidden').is('#ajax_request_hidden')) {
|
||||||
$form.append('<input type="hidden" id="ajax_request_hidden" name="ajax_request" value="true" />');
|
$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
|
// always start with the Show message
|
||||||
.text(PMA_messages['strShowSearchCriteria'])
|
.text(PMA_messages['strShowSearchCriteria'])
|
||||||
$('#togglesearchformdiv')
|
$('#togglesearchformdiv')
|
||||||
// now it's time to show the div containing the link
|
// now it's time to show the div containing the link
|
||||||
.show();
|
.show();
|
||||||
} else {
|
} else {
|
||||||
// error message (zero rows)
|
// error message (zero rows)
|
||||||
$("#sqlqueryresults").html(response['message']);
|
$("#sqlqueryresults").html(response['message']);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}, 'top.frame_content'); // end $(document).ready()
|
}, 'top.frame_content'); // end $(document).ready()
|
||||||
|
@@ -79,6 +79,8 @@ $js_messages['strNo'] = __('No');
|
|||||||
|
|
||||||
/* For db_search.js */
|
/* For db_search.js */
|
||||||
$js_messages['strSearching'] = __('Searching');
|
$js_messages['strSearching'] = __('Searching');
|
||||||
|
$js_messages['strBrowsing'] = __('Browsing');
|
||||||
|
$js_messages['strDeleting'] = __('Deleting');
|
||||||
|
|
||||||
/* For sql.js */
|
/* For sql.js */
|
||||||
$js_messages['strHideQueryBox'] = __('Hide query box');
|
$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,
|
// In an Ajax request, $GLOBALS['cell_align_left'] may not be defined. Hence,
|
||||||
// check for it's presence before using it
|
// 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 ($message instanceof PMA_Message) {
|
||||||
if (isset($GLOBALS['special_message'])) {
|
if (isset($GLOBALS['special_message'])) {
|
||||||
|
Reference in New Issue
Block a user