zentaomax.ui.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. window.changeJoint = function(event)
  2. {
  3. const joint = $(event.target).val();
  4. if(joint == 1)
  5. {
  6. $('[data-name=product]').hide();
  7. $('[name=build]').closest('.form-group').hide();
  8. $('[data-name=execution]').hide();
  9. $('[data-name=relatedBox]').show();
  10. $('[data-name=relatedBox]').removeClass('hidden');
  11. changeProducts();
  12. }
  13. else
  14. {
  15. $('[data-name=product]').show();
  16. $('[name=build]').closest('.form-group').show();
  17. $('[data-name=execution]').show();
  18. $('[data-name=relatedBox]').hide();
  19. loadTestReports($('[name=product]').val());
  20. }
  21. }
  22. window.changeProducts = function(event)
  23. {
  24. if(event)
  25. {
  26. const productID = $(event.target).val();
  27. const projectID = $('[name=project]').val() || 0;
  28. const executionID = $('[name=execution]').val() || 0;
  29. let link = $.createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=testTaskBuild');
  30. if(executionID == 0) link = $.createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=builds&build=&branch=all&needCreate=&type=notrunk,withexecution');
  31. if(executionID == 0 && projectID == 0) link = $.createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=builds&build=&branch=all&type=notrunk,withexecution');
  32. $.getJSON(link, function(items)
  33. {
  34. const $testreportPicker = $(event.target).closest('.relatedItem').find('[name^="builds"]').zui('picker');
  35. $testreportPicker.render({items});
  36. $testreportPicker.$.setValue('');
  37. });
  38. }
  39. products = '';
  40. $('[name^=products]').each(function() {products += $(this).val() + ',';})
  41. loadTestReports(products);
  42. }
  43. window.addLine = function(event)
  44. {
  45. line = $(event.target).closest('.relatedItem').prop('outerHTML');
  46. line = line.replace(/products\[\d+\]/g, 'products[' + index+ ']').replace(/builds\[\d+\]\[\]/g, 'builds[' + index+ '][]');
  47. index ++;
  48. $(event.target).closest('.relatedItem').after(line);
  49. checkLine();
  50. }
  51. window.removeLine = function(event)
  52. {
  53. $(event.target).closest('.relatedItem').remove();
  54. checkLine();
  55. changeProducts();
  56. }
  57. window.checkLine = function()
  58. {
  59. $('.removeLine').css('visibility', $('.relatedItem').length == 1 ? 'hidden' : 'visible');
  60. }