/* vim: set expandtab sw=4 ts=4 sts=4: */ /** * JavaScript functions used on Database Search page * * @requires jQuery * @requires js/functions.js * * @package PhpMyAdmin */ /** * AJAX script for the Database Search page. * * Actions ajaxified here: * Retrieve result of SQL query */ /** * Unbind all event handlers before tearing down a page */ AJAX.registerTeardown('db_search.js', function () { $('a.browse_results').off('click'); $('a.delete_results').off('click'); $('#buttonGo').off('click'); $('#togglesearchresultlink').off('click'); $('#togglequerybox').off('click'); $('#togglesearchformlink').off('click'); $(document).off('submit', '#db_search_form.ajax'); }); AJAX.registerOnload('db_search.js', function () { /** Hide the table link in the initial search result */ var icon = PMA_getImage('s_tbl', '', { 'id': 'table-image' }).toString(); $('#table-info').prepend(icon).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 for toggle the search results */ $('#togglesearchresultsdiv') /** don't show it until we have results on-screen */ .hide(); /** * Changing the displayed text according to * the hide/show criteria in search result forms */ $('#togglesearchresultlink') .html(PMA_messages.strHideSearchResults) .on('click', function () { var $link = $(this); $('#searchresults').slideToggle(); if ($link.text() === PMA_messages.strHideSearchResults) { $link.text(PMA_messages.strShowSearchResults); } else { $link.text(PMA_messages.strHideSearchResults); } /** avoid default click action */ return false; }); /** * Prepare a div containing a link for toggle the search form, * otherwise it's incorrectly displayed after a couple of clicks */ $('#togglesearchformdiv') .hide(); // don't show it until we have results on-screen /** * Changing the displayed text according to * the hide/show criteria in search form */ $('#togglequerybox') .hide() .on('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) .on('click', function () { var $link = $(this); $('#db_search_form').slideToggle(); if ($link.text() === PMA_messages.strHideSearchCriteria) { $link.text(PMA_messages.strShowSearchCriteria); } else { $link.text(PMA_messages.strHideSearchCriteria); } /** avoid default click action */ return false; }); /* * Ajax Event handler for retrieving the results from a table */ $(document).on('click', 'a.browse_results', function (e) { e.preventDefault(); /** Hides the results shown by the delete criteria */ var $msg = PMA_ajaxShowMessage(PMA_messages.strBrowsing, false); $('#sqlqueryform').hide(); $('#togglequerybox').hide(); /** Load the browse results to the page */ $('#table-info').show(); var table_name = $(this).data('table-name'); $('#table-link').attr({ 'href' : $(this).attr('href') }).text(table_name); var url = $(this).attr('href') + '#searchresults'; var browse_sql = $(this).data('browse-sql'); var params = { 'ajax_request': true, 'is_js_confirmed': true, 'sql_query' : browse_sql }; $.post(url, params, function (data) { if (typeof data !== 'undefined' && data.success) { $('#browse-results').html(data.message); PMA_ajaxRemoveMessage($msg); $('.table_results').each(function () { PMA_makegrid(this, true, true, true, true); }); $('#browse-results').show(); PMA_highlightSQL($('#browse-results')); $('html, body') .animate({ scrollTop: $('#browse-results').offset().top }, 1000); } else { PMA_ajaxShowMessage(data.error, false); } }); }); /* * Ajax Event handler for deleting the results from a table */ $(document).on('click', 'a.delete_results', function (e) { e.preventDefault(); /** Hides the results shown by the browse criteria */ $('#table-info').hide(); $('#sqlqueryform').hide(); $('#togglequerybox').hide(); /** Conformation message for deletion */ var msg = PMA_sprintf( PMA_messages.strConfirmDeleteResults, $(this).data('table-name') ); if (confirm(msg)) { var $msg = PMA_ajaxShowMessage(PMA_messages.strDeleting, false); /** Load the deleted option to the page*/ $('#sqlqueryform').html(''); var params = { 'ajax_request': true, 'is_js_confirmed': true, 'sql_query': $(this).data('delete-sql') }; var url = $(this).attr('href'); $.post(url, params, function (data) { if (typeof data === 'undefined' || !data.success) { PMA_ajaxShowMessage(data.error, false); return; } $('#sqlqueryform').html(data.sql_query); /** Refresh the search results after the deletion */ document.getElementById('buttonGo').click(); $('#togglequerybox').html(PMA_messages.strHideQueryBox); /** Show the results of the deletion option */ $('#browse-results').hide(); $('#sqlqueryform').show(); $('#togglequerybox').show(); $('html, body') .animate({ scrollTop: $('#browse-results').offset().top }, 1000); PMA_ajaxRemoveMessage($msg); }); } }); /** * Ajax Event handler for retrieving the result of an SQL Query */ $(document).on('submit', '#db_search_form.ajax', function (event) { event.preventDefault(); var $msgbox = PMA_ajaxShowMessage(PMA_messages.strSearching, false); // jQuery object to reuse var $form = $(this); PMA_prepareForAjaxRequest($form); var url = $form.serialize() + PMA_commonParams.get('arg_separator') + 'submit_search=' + $('#buttonGo').val(); $.post($form.attr('action'), url, function (data) { if (typeof data !== 'undefined' && data.success === true) { // found results $('#searchresults').html(data.message); $('#togglesearchresultlink') // always start with the Show message .text(PMA_messages.strHideSearchResults); $('#togglesearchresultsdiv') // now it's time to show the div containing the link .show(); $('#searchresults').show(); $('#db_search_form') // workaround for Chrome problem (bug #3168569) .slideToggle() .hide(); $('#togglesearchformlink') // always start with the Show message .text(PMA_messages.strShowSearchCriteria); $('#togglesearchformdiv') // now it's time to show the div containing the link .show(); } else { // error message (zero rows) $('#searchresults').html(data.error).show(); } PMA_ajaxRemoveMessage($msgbox); }); }); }); // end $()
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
codemirror | Folder | 0755 |
|
|
designer | Folder | 0755 |
|
|
jqplot | Folder | 0755 |
|
|
transformations | Folder | 0755 |
|
|
vendor | Folder | 0755 |
|
|
ajax.js | File | 30.51 KB | 0644 |
|
chart.js | File | 18.08 KB | 0644 |
|
common.js | File | 18.75 KB | 0644 |
|
config.js | File | 26.88 KB | 0644 |
|
console.js | File | 55.94 KB | 0644 |
|
cross_framing_protection.js | File | 471 B | 0644 |
|
db_central_columns.js | File | 10.86 KB | 0644 |
|
db_multi_table_query.js | File | 7.85 KB | 0644 |
|
db_operations.js | File | 6.21 KB | 0644 |
|
db_qbe.js | File | 2.47 KB | 0644 |
|
db_query_generator.js | File | 4.39 KB | 0644 |
|
db_search.js | File | 8.56 KB | 0644 |
|
db_structure.js | File | 15.43 KB | 0644 |
|
db_tracking.js | File | 3.57 KB | 0644 |
|
doclinks.js | File | 20.16 KB | 0644 |
|
error_report.js | File | 10.58 KB | 0644 |
|
export.js | File | 34.24 KB | 0644 |
|
export_output.js | File | 289 B | 0644 |
|
functions.js | File | 171.32 KB | 0644 |
|
gis_data_editor.js | File | 14.42 KB | 0644 |
|
import.js | File | 5.51 KB | 0644 |
|
indexes.js | File | 27.01 KB | 0644 |
|
keyhandler.js | File | 3.25 KB | 0644 |
|
makegrid.js | File | 96.42 KB | 0644 |
|
menu-resizer.js | File | 8.12 KB | 0644 |
|
messages.php | File | 40.42 KB | 0644 |
|
microhistory.js | File | 11.32 KB | 0644 |
|
multi_column_sort.js | File | 3.21 KB | 0644 |
|
navigation.js | File | 59.35 KB | 0644 |
|
normalization.js | File | 27.47 KB | 0644 |
|
page_settings.js | File | 1.71 KB | 0644 |
|
replication.js | File | 3.13 KB | 0644 |
|
rte.js | File | 46.57 KB | 0644 |
|
server_databases.js | File | 5.56 KB | 0644 |
|
server_plugins.js | File | 495 B | 0644 |
|
server_privileges.js | File | 18.58 KB | 0644 |
|
server_status_advisor.js | File | 3.63 KB | 0644 |
|
server_status_monitor.js | File | 84.47 KB | 0644 |
|
server_status_processes.js | File | 6.17 KB | 0644 |
|
server_status_queries.js | File | 1.13 KB | 0644 |
|
server_status_sorter.js | File | 1.96 KB | 0644 |
|
server_status_variables.js | File | 3.19 KB | 0644 |
|
server_user_groups.js | File | 1.34 KB | 0644 |
|
server_variables.js | File | 4.17 KB | 0644 |
|
shortcuts_handler.js | File | 3.19 KB | 0644 |
|
sql.js | File | 37.76 KB | 0644 |
|
tbl_change.js | File | 27.89 KB | 0644 |
|
tbl_chart.js | File | 13.8 KB | 0644 |
|
tbl_find_replace.js | File | 1.54 KB | 0644 |
|
tbl_gis_visualization.js | File | 10.7 KB | 0644 |
|
tbl_operations.js | File | 13.88 KB | 0644 |
|
tbl_relation.js | File | 8.83 KB | 0644 |
|
tbl_select.js | File | 15.44 KB | 0644 |
|
tbl_structure.js | File | 19.41 KB | 0644 |
|
tbl_tracking.js | File | 3.85 KB | 0644 |
|
tbl_zoom_plot_jqplot.js | File | 21.81 KB | 0644 |
|
u2f.js | File | 2.47 KB | 0644 |
|
whitelist.php | File | 1.26 KB | 0644 |
|