/* vim: set expandtab sw=4 ts=4 sts=4: */ /** * @fileoverview Implements the shiftkey + click remove column * from order by clause funcationality * @name columndelete * * @requires jQuery */ function captureURL(url) { var URL = {}; url = '' + url; // Exclude the url part till HTTP url = url.substr(url.search("sql.php"), url.length); // The url part between ORDER BY and &session_max_rows needs to be replaced. URL.head = url.substr(0, url.indexOf('ORDER+BY') + 9); URL.tail = url.substr(url.indexOf("&session_max_rows"), url.length); return URL; } /** * This function is for navigating to the generated URL * * @param object target HTMLAnchor element * @param object parent HTMLDom Object */ function removeColumnFromMultiSort(target, parent) { var URL = captureURL(target); var begin = target.indexOf('ORDER+BY') + 8; var end = target.indexOf('&session_max_rows'); // get the names of the columns involved var between_part = target.substr(begin, end-begin); var columns = between_part.split('%2C+'); // If the given column is not part of the order clause exit from this function var index = parent.find('small').length ? parent.find('small').text() : ''; if (index === ''){ return ''; } // Remove the current clicked column columns.splice(index-1, 1); // If all the columns have been removed dont submit a query with nothing // After order by clause. if (columns.length === 0) { var head = URL.head; head = head.slice(0,head.indexOf('ORDER+BY')); URL.head = head; // removing the last sort order should have priority over what // is remembered via the RememberSorting directive URL.tail += '&discard_remembered_sort=1'; } var middle_part = columns.join('%2C+'); url = URL.head + middle_part + URL.tail; return url; } AJAX.registerOnload('keyhandler.js', function () { $("th.draggable.column_heading.pointer.marker a").on('click', function (event) { var url = $(this).parent().find('input').val(); if (event.ctrlKey || event.altKey) { event.preventDefault(); url = removeColumnFromMultiSort(url, $(this).parent()); if (url) { AJAX.source = $(this); PMA_ajaxShowMessage(); $.get(url, {'ajax_request' : true, 'ajax_page_request' : true}, AJAX.responseHandler); } } else if (event.shiftKey) { event.preventDefault(); AJAX.source = $(this); PMA_ajaxShowMessage(); $.get(url, {'ajax_request' : true, 'ajax_page_request' : true}, AJAX.responseHandler); } }); }); AJAX.registerTeardown('keyhandler.js', function () { $(document).off('click', "th.draggable.column_heading.pointer.marker a"); });
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
codemirror | Folder | 0755 |
|
|
jqplot | Folder | 0755 |
|
|
jquery | Folder | 0755 |
|
|
openlayers | Folder | 0755 |
|
|
pmd | Folder | 0755 |
|
|
tracekit | Folder | 0755 |
|
|
transformations | Folder | 0755 |
|
|
ajax.js | File | 28.9 KB | 0644 |
|
big_ints.js | File | 1.88 KB | 0644 |
|
chart.js | File | 17.84 KB | 0644 |
|
common.js | File | 18.36 KB | 0644 |
|
config.js | File | 25.86 KB | 0644 |
|
console.js | File | 57.53 KB | 0644 |
|
cross_framing_protection.js | File | 468 B | 0644 |
|
db_central_columns.js | File | 10.63 KB | 0644 |
|
db_operations.js | File | 5.76 KB | 0644 |
|
db_qbe.js | File | 2.04 KB | 0644 |
|
db_search.js | File | 8.42 KB | 0644 |
|
db_structure.js | File | 15.42 KB | 0644 |
|
db_tracking.js | File | 3.22 KB | 0644 |
|
doclinks.js | File | 20.16 KB | 0644 |
|
error_report.js | File | 9.87 KB | 0644 |
|
export.js | File | 28.66 KB | 0644 |
|
functions.js | File | 162.06 KB | 0644 |
|
get_image.js.php | File | 4.65 KB | 0644 |
|
get_scripts.js.php | File | 1.93 KB | 0644 |
|
gis_data_editor.js | File | 14.33 KB | 0644 |
|
import.js | File | 5.49 KB | 0644 |
|
indexes.js | File | 26.3 KB | 0644 |
|
keyhandler.js | File | 3.25 KB | 0644 |
|
line_counts.php | File | 36.92 KB | 0644 |
|
makegrid.js | File | 95.13 KB | 0644 |
|
menu-resizer.js | File | 6.48 KB | 0644 |
|
messages.php | File | 38.55 KB | 0644 |
|
microhistory.js | File | 11.22 KB | 0644 |
|
multi_column_sort.js | File | 2.83 KB | 0644 |
|
navigation.js | File | 53.8 KB | 0644 |
|
normalization.js | File | 26.39 KB | 0644 |
|
page_settings.js | File | 1.66 KB | 0644 |
|
replication.js | File | 3.03 KB | 0644 |
|
rte.js | File | 46.45 KB | 0644 |
|
server_databases.js | File | 4.96 KB | 0644 |
|
server_plugins.js | File | 525 B | 0644 |
|
server_privileges.js | File | 16.23 KB | 0644 |
|
server_status_advisor.js | File | 3.6 KB | 0644 |
|
server_status_monitor.js | File | 84.43 KB | 0644 |
|
server_status_processes.js | File | 5.97 KB | 0644 |
|
server_status_queries.js | File | 950 B | 0644 |
|
server_status_sorter.js | File | 2.51 KB | 0644 |
|
server_status_variables.js | File | 3.57 KB | 0644 |
|
server_user_groups.js | File | 1.34 KB | 0644 |
|
server_variables.js | File | 5.93 KB | 0644 |
|
sprintf.js | File | 7.21 KB | 0644 |
|
sql.js | File | 32.71 KB | 0644 |
|
tbl_change.js | File | 27.8 KB | 0644 |
|
tbl_chart.js | File | 13.61 KB | 0644 |
|
tbl_find_replace.js | File | 1.55 KB | 0644 |
|
tbl_gis_visualization.js | File | 10.64 KB | 0644 |
|
tbl_operations.js | File | 12.99 KB | 0644 |
|
tbl_relation.js | File | 8.35 KB | 0644 |
|
tbl_select.js | File | 15.07 KB | 0644 |
|
tbl_structure.js | File | 20.41 KB | 0644 |
|
tbl_tracking.js | File | 3.44 KB | 0644 |
|
tbl_zoom_plot_jqplot.js | File | 22.55 KB | 0644 |
|
whitelist.php | File | 1.1 KB | 0644 |
|