tracking.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. "use strict";
  2. /**
  3. * Unbind all event handlers before tearing down the page
  4. */
  5. AJAX.registerTeardown('table/tracking.js', function () {
  6. $('body').off('click', '#versionsForm.ajax button[name="submit_mult"], #versionsForm.ajax input[name="submit_mult"]');
  7. $('body').off('click', 'a.delete_version_anchor.ajax');
  8. $('body').off('click', 'a.delete_entry_anchor.ajax');
  9. });
  10. /**
  11. * Bind event handlers
  12. */
  13. AJAX.registerOnload('table/tracking.js', function () {
  14. $('#versions tr').first().find('th').append($('<div class="sorticon"></div>'));
  15. $('#versions').tablesorter({
  16. sortList: [[1, 0]],
  17. headers: {
  18. 0: {
  19. sorter: false
  20. },
  21. 1: {
  22. sorter: 'integer'
  23. },
  24. 5: {
  25. sorter: false
  26. },
  27. 6: {
  28. sorter: false
  29. }
  30. }
  31. });
  32. if ($('#ddl_versions tbody tr').length > 0) {
  33. $('#ddl_versions tr').first().find('th').append($('<div class="sorticon"></div>'));
  34. $('#ddl_versions').tablesorter({
  35. sortList: [[0, 0]],
  36. headers: {
  37. 0: {
  38. sorter: 'integer'
  39. },
  40. 3: {
  41. sorter: false
  42. },
  43. 4: {
  44. sorter: false
  45. }
  46. }
  47. });
  48. }
  49. if ($('#dml_versions tbody tr').length > 0) {
  50. $('#dml_versions tr').first().find('th').append($('<div class="sorticon"></div>'));
  51. $('#dml_versions').tablesorter({
  52. sortList: [[0, 0]],
  53. headers: {
  54. 0: {
  55. sorter: 'integer'
  56. },
  57. 3: {
  58. sorter: false
  59. },
  60. 4: {
  61. sorter: false
  62. }
  63. }
  64. });
  65. }
  66. /**
  67. * Handles multi submit for tracking versions
  68. */
  69. $('body').on('click', '#versionsForm.ajax button[name="submit_mult"], #versionsForm.ajax input[name="submit_mult"]', function (e) {
  70. e.preventDefault();
  71. var $button = $(this);
  72. var $form = $button.parent('form');
  73. var argsep = CommonParams.get('arg_separator');
  74. var submitData = $form.serialize() + argsep + 'ajax_request=true' + argsep + 'ajax_page_request=true' + argsep + 'submit_mult=' + $button.val();
  75. if ($button.val() === 'delete_version') {
  76. var question = Messages.strDeleteTrackingVersionMultiple;
  77. $button.confirm(question, $form.attr('action'), function (url) {
  78. Functions.ajaxShowMessage();
  79. AJAX.source = $form;
  80. $.post(url, submitData, AJAX.responseHandler);
  81. });
  82. } else {
  83. Functions.ajaxShowMessage();
  84. AJAX.source = $form;
  85. $.post($form.attr('action'), submitData, AJAX.responseHandler);
  86. }
  87. });
  88. /**
  89. * Ajax Event handler for 'Delete version'
  90. */
  91. $('body').on('click', 'a.delete_version_anchor.ajax', function (e) {
  92. e.preventDefault();
  93. var $anchor = $(this);
  94. var question = Messages.strDeleteTrackingVersion;
  95. $anchor.confirm(question, $anchor.attr('href'), function (url) {
  96. Functions.ajaxShowMessage();
  97. AJAX.source = $anchor;
  98. var argSep = CommonParams.get('arg_separator');
  99. var params = Functions.getJsConfirmCommonParam(this, $anchor.getPostData());
  100. params += argSep + 'ajax_page_request=1';
  101. $.post(url, params, AJAX.responseHandler);
  102. });
  103. });
  104. /**
  105. * Ajax Event handler for 'Delete tracking report entry'
  106. */
  107. $('body').on('click', 'a.delete_entry_anchor.ajax', function (e) {
  108. e.preventDefault();
  109. var $anchor = $(this);
  110. var question = Messages.strDeletingTrackingEntry;
  111. $anchor.confirm(question, $anchor.attr('href'), function (url) {
  112. Functions.ajaxShowMessage();
  113. AJAX.source = $anchor;
  114. var argSep = CommonParams.get('arg_separator');
  115. var params = Functions.getJsConfirmCommonParam(this, $anchor.getPostData());
  116. params += argSep + 'ajax_page_request=1';
  117. $.post(url, params, AJAX.responseHandler);
  118. });
  119. });
  120. });