db_tracking.js 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /**
  2. * Unbind all event handlers before tearing down the page
  3. */
  4. AJAX.registerTeardown('db_tracking.js', function () {
  5. $('body').off('click', '#trackedForm.ajax button[name="submit_mult"], #trackedForm.ajax input[name="submit_mult"]');
  6. $('body').off('click', '#untrackedForm.ajax button[name="submit_mult"], #untrackedForm.ajax input[name="submit_mult"]');
  7. $('body').off('click', 'a.delete_tracking_anchor.ajax');
  8. });
  9. /**
  10. * Bind event handlers
  11. */
  12. AJAX.registerOnload('db_tracking.js', function () {
  13. var $versions = $('#versions');
  14. $versions.find('tr:first th').append($('<div class="sorticon"></div>'));
  15. $versions.tablesorter({
  16. sortList: [[1, 0]],
  17. headers: {
  18. 0: {sorter: false},
  19. 2: {sorter: "integer"},
  20. 5: {sorter: false},
  21. 6: {sorter: false},
  22. 7: {sorter: false}
  23. }
  24. });
  25. var $noVersions = $('#noversions');
  26. $noVersions.find('tr:first th').append($('<div class="sorticon"></div>'));
  27. $noVersions.tablesorter({
  28. sortList: [[1, 0]],
  29. headers: {
  30. 0: {sorter: false},
  31. 2: {sorter: false}
  32. }
  33. });
  34. var $body = $('body');
  35. /**
  36. * Handles multi submit for tracked tables
  37. */
  38. $body.on('click', '#trackedForm.ajax button[name="submit_mult"], #trackedForm.ajax input[name="submit_mult"]', function (e) {
  39. e.preventDefault();
  40. var $button = $(this);
  41. var $form = $button.parent('form');
  42. var submitData = $form.serialize() + '&ajax_request=true&ajax_page_request=true&submit_mult=' + $button.val();
  43. if ($button.val() == 'delete_tracking') {
  44. var question = PMA_messages.strDeleteTrackingDataMultiple;
  45. $button.PMA_confirm(question, $form.attr('action'), function (url) {
  46. PMA_ajaxShowMessage(PMA_messages.strDeletingTrackingData);
  47. AJAX.source = $form;
  48. $.post(url, submitData, AJAX.responseHandler);
  49. });
  50. } else {
  51. PMA_ajaxShowMessage();
  52. AJAX.source = $form;
  53. $.post($form.attr('action'), submitData, AJAX.responseHandler);
  54. }
  55. });
  56. /**
  57. * Handles multi submit for untracked tables
  58. */
  59. $body.on('click', '#untrackedForm.ajax button[name="submit_mult"], #untrackedForm.ajax input[name="submit_mult"]', function (e) {
  60. e.preventDefault();
  61. var $button = $(this);
  62. var $form = $button.parent('form');
  63. var submitData = $form.serialize() + '&ajax_request=true&ajax_page_request=true&submit_mult=' + $button.val();
  64. PMA_ajaxShowMessage();
  65. AJAX.source = $form;
  66. $.post($form.attr('action'), submitData, AJAX.responseHandler);
  67. });
  68. /**
  69. * Ajax Event handler for 'Delete tracking'
  70. */
  71. $body.on('click', 'a.delete_tracking_anchor.ajax', function (e) {
  72. e.preventDefault();
  73. var $anchor = $(this);
  74. var question = PMA_messages.strDeleteTrackingData;
  75. $anchor.PMA_confirm(question, $anchor.attr('href'), function (url) {
  76. PMA_ajaxShowMessage(PMA_messages.strDeletingTrackingData);
  77. AJAX.source = $anchor;
  78. $.get(url, {'ajax_page_request': true, 'ajax_request': true}, AJAX.responseHandler);
  79. });
  80. });
  81. });