multi_column_sort.js 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. /**
  2. * @fileoverview Implements the shiftkey + click remove column
  3. * from order by clause functionality
  4. * @name columndelete
  5. *
  6. * @requires jQuery
  7. */
  8. AJAX.registerOnload('keyhandler.js', function () {
  9. $('th.draggable.column_heading.pointer.marker a').on('click', function (event) {
  10. var orderUrlRemove = $(this).parent().find('input[name="url-remove-order"]').val();
  11. var orderUrlAdd = $(this).parent().find('input[name="url-add-order"]').val();
  12. var argsep = CommonParams.get('arg_separator');
  13. if (event.ctrlKey || event.altKey) {
  14. event.preventDefault();
  15. AJAX.source = $(this);
  16. Functions.ajaxShowMessage();
  17. orderUrlRemove += argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true';
  18. $.post('index.php?route=/sql', orderUrlRemove, AJAX.responseHandler);
  19. } else if (event.shiftKey) {
  20. event.preventDefault();
  21. AJAX.source = $(this);
  22. Functions.ajaxShowMessage();
  23. orderUrlAdd += argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true';
  24. $.post('index.php?route=/sql', orderUrlAdd, AJAX.responseHandler);
  25. }
  26. });
  27. });
  28. AJAX.registerTeardown('keyhandler.js', function () {
  29. $(document).off('click', 'th.draggable.column_heading.pointer.marker a');
  30. });