create.ui.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. window.toggleReviewer = function(obj)
  2. {
  3. const $this = $(obj);
  4. const isChecked = $this.prop('checked');
  5. $reviewer = $('[name^=reviewer]').zui('picker');
  6. options = $reviewer.options;
  7. if(isChecked)
  8. {
  9. options.disabled = true;
  10. $reviewer.render(options);
  11. $('#reviewerBox').addClass('hidden');
  12. $('#needNotReview').val(1);
  13. $('input[name=needNotReview]').val(1);
  14. }
  15. else
  16. {
  17. options.disabled = false;
  18. $reviewer.render(options);
  19. $('#reviewerBox').removeClass('hidden');
  20. $('#needNotReview').val(0);
  21. $('input[name=needNotReview]').val(0);
  22. }
  23. }
  24. window.toggleFeedback = function(obj)
  25. {
  26. const $this = $(obj);
  27. const source = $this.val();
  28. if(!source) return;
  29. $('.feedbackBox').toggleClass('hidden', !feedbackSource.includes(source));
  30. }
  31. waitDom('[name=source]', function(){toggleFeedback($('[name=source]'));});
  32. window.loadProduct = function(e)
  33. {
  34. const $this = $(e.target);
  35. const productID = $this.val();
  36. const $modal = $this.closest('.modal');
  37. const inModal = $modal.length > 0;
  38. if(inModal) loadModal($.createLink(storyType, 'create', 'productID=' + productID + '&' + createParams), $modal.attr('id'));
  39. if(!inModal) loadPage($.createLink(storyType, 'create', 'productID=' + productID + '&' + createParams));
  40. };
  41. window.setLane = function(e)
  42. {
  43. const regionID = $(e.target).val();
  44. const laneLink = $.createLink('kanban', 'ajaxGetLanes', 'regionID=' + regionID + '&type=story&field=lane');
  45. $.getJSON(laneLink, function(data)
  46. {
  47. const laneID = data.items.length > 0 ? data.items[0].value : '';
  48. $('[name=lane]').zui('picker').render(data);
  49. $('[name=lane]').zui('picker').$.setValue(laneID);
  50. });
  51. };
  52. let formSettingLabelClicked = false;
  53. $(document).on('click', 'form.form-setting-form .row label.state', function()
  54. {
  55. if(formSettingLabelClicked) return;
  56. formSettingLabelClicked = true;
  57. let text = $(this).find('.text-clip').text();
  58. $('form.form-setting-form .row label.state').each(function()
  59. {
  60. if(text == langSource || text == langSourceNote)
  61. {
  62. $this = $(this);
  63. if(text == langSource && langSourceNote == $this.find('.text-clip').text()) $this[0].click();
  64. if(text == langSourceNote && langSource == $this.find('.text-clip').text()) $this[0].click();
  65. }
  66. })
  67. formSettingLabelClicked = false;
  68. });
  69. window.loadGrade = function(e)
  70. {
  71. const parent = e.target.value;
  72. const link = $.createLink('story', 'ajaxGetGrade', 'parent=' + parent + '&type=' + storyType);
  73. $.getJSON(link, function(data)
  74. {
  75. const $grade = $('[name=grade]').zui('picker');
  76. $grade.render({items: data.items});
  77. $grade.$.setValue(data.default);
  78. })
  79. }