common.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. /**
  2. * Set mailto.
  3. *
  4. * @param string $field
  5. * @param int $value
  6. * @access public
  7. * @return void
  8. */
  9. function setMailto(field, value)
  10. {
  11. var link = createLink('kanban', 'ajaxGetContactUsers', 'field=' + field + '&listID=' + value);
  12. $.post(link, function(data)
  13. {
  14. $('#' + field).replaceWith(data);
  15. $('#' + field + '_chosen').remove();
  16. $('#' + field).siblings('.picker').remove();
  17. $('#' + field).picker();
  18. })
  19. }
  20. /**
  21. * Initialize custom color selector.
  22. *
  23. * @access public
  24. * @return void
  25. */
  26. function initColorPicker()
  27. {
  28. var selectedColor = $().val();
  29. if(selectedColor && $.inArray(selectedColor.toUpperCase(), colorList) == -1) colorList.unshift(selectedColor);
  30. colorList.forEach(function(color, index)
  31. {
  32. var itemClass = color.toUpperCase() == $('input[name=color]').val().toUpperCase() ? 'color-picker-item checked' : 'color-picker-item';
  33. var colorItem = "<div class='" + itemClass + "' data-color='" + color + "' style='background: " + color + "'>";
  34. colorItem += "<i class='icon icon-check'></i>";
  35. colorItem += "</div>";
  36. $('#color-picker').append(colorItem);
  37. });
  38. $('.color-picker-item').click(function()
  39. {
  40. var color = $(this).attr('data-color');
  41. $('input[name=color]').val(color);
  42. $(this).addClass('checked');
  43. $(this).siblings().removeClass('checked');
  44. })
  45. }
  46. /**
  47. * Reload object list.
  48. *
  49. * @param int $targetID
  50. * @access public
  51. * @return void
  52. */
  53. function reloadObjectList(targetID)
  54. {
  55. location.href = createLink('kanban', methodName, 'kanbanID=' + kanbanID + '&regionID=' + regionID + '&groupID=' + groupID + '&columnID=' + columnID + '&targetID=' + targetID);
  56. }
  57. /**
  58. * Set target lane ID.
  59. *
  60. * @param int $targetLaneID
  61. * @access public
  62. * @return void
  63. */
  64. function setTargetLane(targetLaneID)
  65. {
  66. $('#targetLane').val(targetLaneID);
  67. }
  68. /**
  69. * Jump to the view page.
  70. *
  71. * @param string $module
  72. * @param int $objectID
  73. * @access public
  74. * @return void
  75. */
  76. function locateView(module, objectID)
  77. {
  78. var dataApp = 'kanban';
  79. if(module == 'productplan' || module == 'release') dataApp = 'product';
  80. if(module == 'execution') dataApp = 'execution';
  81. if(module == 'build') dataApp = 'project';
  82. if(module == 'ticket') dataApp = 'feedback';
  83. parent.$.apps.open(createLink(module, 'view', 'objectID=' + objectID), dataApp);
  84. }
  85. /**
  86. * When type change.
  87. *
  88. * @param string type
  89. * @access public
  90. * @return void
  91. */
  92. function changeType(type)
  93. {
  94. if(type == 'private')
  95. {
  96. $('#ownerBox').addClass('hidden');
  97. $('#teamBox').addClass('hidden');
  98. $('#whitelistBox').removeClass('hidden');
  99. }
  100. else
  101. {
  102. $('#ownerBox').removeClass('hidden');
  103. $('#teamBox').removeClass('hidden');
  104. $('#whitelistBox').addClass('hidden');
  105. }
  106. }
  107. /**
  108. * Load all users.
  109. *
  110. * @access public
  111. * @return void
  112. */
  113. function loadAllUsers()
  114. {
  115. var link = createLink('kanban', 'ajaxLoadUsers', 'spaceID=0&field=owner&selectedUser=' + $('#owner').val() + "&type=all");
  116. $.get(link, function(data)
  117. {
  118. $('#owner').replaceWith(data);
  119. $('#owner' + "_chosen").remove();
  120. $('#owner').next('.picker').remove();
  121. $('#owner').chosen();
  122. });
  123. }
  124. /**
  125. * The owners that loads kanban.
  126. *
  127. * @oaram int spaceID
  128. * @access public
  129. * @return void
  130. */
  131. function loadOwners(spaceID)
  132. {
  133. var link = createLink('kanban', 'ajaxLoadUsers', 'spaceID='+ spaceID + '&field=owner&selectedUser=' + $('#owner').val());
  134. $.get(link, function(data)
  135. {
  136. $('#owner').replaceWith(data);
  137. $('#owner' + "_chosen").remove();
  138. $('#owner').next('.picker').remove();
  139. $('#owner').chosen();
  140. });
  141. }