create.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. $(function()
  2. {
  3. if(from == 'feedback') $("#navbar .nav li[data-id=browse]").addClass('active');
  4. $('#needNotReview').on('change', function()
  5. {
  6. $('#reviewer').attr('disabled', $(this).is(':checked') ? 'disabled' : null).trigger('chosen:updated');
  7. if($(this).is(':checked'))
  8. {
  9. $('#reviewerBox').closest('tr').addClass('hidden');
  10. $('#reviewerBox').removeClass('required');
  11. $('#dataform #needNotReview').val(1);
  12. $('#dataform .form-actions .needNotReview').removeClass('hidden');
  13. $('#dataform .form-actions .needReview').addClass('hidden');
  14. }
  15. else
  16. {
  17. $('#reviewerBox').closest('tr').removeClass('hidden');
  18. $('#reviewerBox').addClass('required');
  19. $('#dataform #needNotReview').val(0);
  20. $('#dataform .form-actions .needNotReview').addClass('hidden');
  21. $('#dataform .form-actions .needReview').removeClass('hidden');
  22. }
  23. });
  24. $('#needNotReview').change();
  25. // init pri selector
  26. $('#pri').on('change', function()
  27. {
  28. var $select = $(this);
  29. var $selector = $select.closest('.pri-selector');
  30. var value = $select.val();
  31. $selector.find('.pri-text').html('<span class="label-pri label-pri-' + value + '" title="' + value + '">' + value + '</span>');
  32. });
  33. $('#customField').click(function()
  34. {
  35. hiddenRequireFields();
  36. });
  37. /* Implement a custom form without feeling refresh. */
  38. $('#formSettingForm .btn-primary').click(function()
  39. {
  40. saveCustomFields('createFields');
  41. return false;
  42. });
  43. $('#pool').on('change', function()
  44. {
  45. var poolID = $(this).val();
  46. link = createLink('demand', 'ajaxGetParentDemands', 'poolID=' + poolID);
  47. $.post(link, function(data)
  48. {
  49. if(!data) data = '<select id="parent" name="parent" class="form-control"></select>';
  50. $('#parent').replaceWith(data);
  51. $('#parent_chosen').remove();
  52. $("#parent").chosen();
  53. })
  54. loadReviewer(poolID);
  55. if(isCopy) updateProducts();
  56. loadAssignedTo(poolID)
  57. });
  58. if(isCopy && isUndetermined)
  59. {
  60. $('#undetermined').prop('checked', true);
  61. toggleProductDropdown();
  62. }
  63. })
  64. function loadAssignedTo(poolID)
  65. {
  66. var link = createLink('demand', 'ajaxGetAssignedTo', 'poolID=' + poolID + '&type=assignedTo');
  67. $.post(link, function(html)
  68. {
  69. $('#assignedTo').replaceWith(html);
  70. $('#assignedToBox .picker').remove();
  71. $('#assignedTo').picker();
  72. });
  73. }
  74. function save(obj, demandStatus = '')
  75. {
  76. event.preventDefault();
  77. if(demandStatus) $('<input />').attr('type', 'hidden').attr('name', 'status').attr('value', demandStatus).appendTo('#dataform');
  78. $(obj).attr('type', 'submit');
  79. $(obj).parent().find('button').attr('disabled', true);
  80. $('#dataform').submit();
  81. setTimeout(function()
  82. {
  83. if($(obj).attr('disabled') == 'disabled')
  84. {
  85. setTimeout(function()
  86. {
  87. $(obj).attr('type', 'button').removeAttr('disabled');
  88. $(obj).parent().find('button').removeAttr('disabled');
  89. }, 10000);
  90. }
  91. else
  92. {
  93. $(obj).parent().find('button').removeAttr('disabled');
  94. }
  95. }, 100);
  96. }