batchtotask.ui.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. window.renderRowData = function($row, index, row)
  2. {
  3. index += 1;
  4. $row.find('[data-name="story"]').find('.picker-box').on('inited', function(e, info)
  5. {
  6. let $story = $(info[0].element);
  7. if($story.closest('.input-group').length == 0)
  8. {
  9. $story.closest('.form-batch-ditto-wrapper').length == 0 ? $story.css('width', 'calc(100% - 60px)').wrap("<div class='input-group'></div>") : $story.closest('.form-batch-ditto-wrapper').css('width', 'calc(100% - 60px)').wrap("<div class='input-group'></div>");
  10. }
  11. let $inputControl = $story.closest('.input-group');
  12. let viewLink = typeof row != 'undefined' && row.story != 0 ? "href='" + $.createLink('story', 'view', "storyID=" + row.story) + "' data-toggle='modal' data-size='lg'" : "href='###' disabled=disabled";
  13. let $inputGroup = $("<span class='flex items-center' style='padding:0px;'></span>");
  14. $inputGroup.append("<a id='preview_" + index + "' " + viewLink + " class='btn ghost size-sm' title='" + langPreview + "'><i class='icon icon-eye'></i></a>");
  15. $inputGroup.append("<a class='copy-title-btn btn ghost size-sm' title='" + copyStoryTitleTip + "'><i class='icon-arrow-right'></i></a>");
  16. if($inputControl.find('.copy-title-btn').length == 0) $inputControl.append($inputGroup[0]);
  17. });
  18. };
  19. function setStories(event)
  20. {
  21. const $target = $(event.target);
  22. const moduleID = $target.val();
  23. const $row = $target.closest('tr');
  24. const link = $.createLink('story', 'ajaxGetExecutionStories', 'executionID=' + executionID + '&productID=0&branch=all&moduleID=' + moduleID + '&storyID=0&pageType=&type=short');
  25. $.getJSON(link, function(stories)
  26. {
  27. let $story = $row.find('[name^=story]');
  28. let storyID = $story.val();
  29. let $storyPicker = $story.zui('picker');
  30. $storyPicker.render({items: stories});
  31. $storyPicker.$.setValue(storyID);
  32. });
  33. };
  34. function setStoryRelated(event)
  35. {
  36. const $target = $(event.target);
  37. const storyID = $target.val();
  38. const $tr = $target.closest('tr');
  39. const $previewBtn = $tr.find('[id^=preview_]');
  40. let storyLink = '';
  41. if(storyID != 0)
  42. {
  43. storyLink = $.createLink('story', 'view', "storyID=" + storyID);
  44. $previewBtn.removeAttr('disabled');
  45. $previewBtn.attr('data-toggle', 'modal');
  46. $previewBtn.attr('data-size', 'lg');
  47. $previewBtn.css('pointer-events', 'auto');
  48. $previewBtn.attr('href', storyLink);
  49. }
  50. else
  51. {
  52. storyLink = '###';
  53. $previewBtn.attr('disabled', 'disabled');
  54. $previewBtn.css('pointer-events', 'none');
  55. $previewBtn.removeAttr('data-toggle');
  56. $previewBtn.removeAttr('data-size');
  57. $previewBtn.attr('href', storyLink);
  58. }
  59. };
  60. function copyStoryTitle(event)
  61. {
  62. var $target = $(event.target);
  63. var $story = $target.closest('.form-batch-control');
  64. var storyTitle = $story.find('.picker span.picker-single-selection').text();
  65. var startPosition = storyTitle.indexOf(':') + 1;
  66. var endPosition = storyTitle.lastIndexOf('[');
  67. if(endPosition > 0 && startPosition > 0) storyTitle = storyTitle.substr(startPosition, endPosition - startPosition);
  68. $($story.closest('tr').find('[name^=name]')).val(storyTitle);
  69. }
  70. if(hasERUR)
  71. {
  72. zui.Modal.alert(errorERURSplitTask);
  73. }
  74. else if(hasParent)
  75. {
  76. zui.Modal.alert(errorParentSplitTask);
  77. }