multi_column_sort.js 1.3 KB

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