/* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Server Status Processes * * @package PhpMyAdmin */ // object to store process list state information var processList = { // denotes whether auto refresh is on or off autoRefresh: false, // stores the GET request which refresh process list refreshRequest: null, // stores the timeout id returned by setTimeout refreshTimeout: null, // the refresh interval in seconds refreshInterval: null, // the refresh URL (required to save last used option) // i.e. full or sorting url refreshUrl: null, /** * Handles killing of a process * * @return void */ init: function () { processList.setRefreshLabel(); if (processList.refreshUrl === null) { processList.refreshUrl = 'server_status_processes.php' + PMA_commonParams.get('common_query'); } if (processList.refreshInterval === null) { processList.refreshInterval = $('#id_refreshRate').val(); } else { $('#id_refreshRate').val(processList.refreshInterval); } }, /** * Handles killing of a process * * @param object the event object * * @return void */ killProcessHandler: function (event) { event.preventDefault(); var argSep = PMA_commonParams.get('arg_separator'); var params = $(this).getPostData(); params += argSep + 'ajax_request=1' + argSep + 'server=' + PMA_commonParams.get('server'); // Get row element of the process to be killed. var $tr = $(this).closest('tr'); $.post($(this).attr('href'), params, function (data) { // Check if process was killed or not. if (data.hasOwnProperty('success') && data.success) { // remove the row of killed process. $tr.remove(); // As we just removed a row, reapply odd-even classes // to keep table stripes consistent var $tableProcessListTr = $('#tableprocesslist').find('> tbody > tr'); $tableProcessListTr.filter(':even').removeClass('odd').addClass('even'); $tableProcessListTr.filter(':odd').removeClass('even').addClass('odd'); // Show process killed message PMA_ajaxShowMessage(data.message, false); } else { // Show process error message PMA_ajaxShowMessage(data.error, false); } }, 'json'); }, /** * Handles Auto Refreshing * * @param object the event object * * @return void */ refresh: function (event) { // abort any previous pending requests // this is necessary, it may go into // multiple loops causing unnecessary // requests even after leaving the page. processList.abortRefresh(); // if auto refresh is enabled if (processList.autoRefresh) { var interval = parseInt(processList.refreshInterval, 10) * 1000; var urlParams = processList.getUrlParams(); processList.refreshRequest = $.post(processList.refreshUrl, urlParams, function (data) { if (data.hasOwnProperty('success') && data.success) { $newTable = $(data.message); $('#tableprocesslist').html($newTable.html()); PMA_highlightSQL($('#tableprocesslist')); } processList.refreshTimeout = setTimeout( processList.refresh, interval ); }); } }, /** * Stop current request and clears timeout * * @return void */ abortRefresh: function () { if (processList.refreshRequest !== null) { processList.refreshRequest.abort(); processList.refreshRequest = null; } clearTimeout(processList.refreshTimeout); }, /** * Set label of refresh button * change between play & pause * * @return void */ setRefreshLabel: function () { var img = 'play'; var label = PMA_messages.strStartRefresh; if (processList.autoRefresh) { img = 'pause'; label = PMA_messages.strStopRefresh; processList.refresh(); } $('a#toggleRefresh').html(PMA_getImage(img) + escapeHtml(label)); }, /** * Return the Url Parameters * for autorefresh request, * includes showExecuting if the filter is checked * * @return urlParams - url parameters with autoRefresh request */ getUrlParams: function () { var urlParams = { 'ajax_request': true, 'refresh': true }; if ($('#showExecuting').is(':checked')) { urlParams.showExecuting = true; return urlParams; } return urlParams; } }; AJAX.registerOnload('server_status_processes.js', function () { processList.init(); // Bind event handler for kill_process $('#tableprocesslist').on( 'click', 'a.kill_process', processList.killProcessHandler ); // Bind event handler for toggling refresh of process list $('a#toggleRefresh').on('click', function (event) { event.preventDefault(); processList.autoRefresh = !processList.autoRefresh; processList.setRefreshLabel(); }); // Bind event handler for change in refresh rate $('#id_refreshRate').on('change', function (event) { processList.refreshInterval = $(this).val(); processList.refresh(); }); // Bind event handler for table header links $('#tableprocesslist').on('click', 'thead a', function () { processList.refreshUrl = $(this).attr('href'); }); }); /** * Unbind all event handlers before tearing down a page */ AJAX.registerTeardown('server_status_processes.js', function () { $('#tableprocesslist').off('click', 'a.kill_process'); $('a#toggleRefresh').off('click'); $('#id_refreshRate').off('change'); $('#tableprocesslist').off('click', 'thead a'); // stop refreshing further processList.abortRefresh(); });
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 |
|