import.ui.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. $(function()
  2. {
  3. checkItem();
  4. $('.form-batch-row-actions .form-batch-btn').each(function()
  5. {
  6. if($(this).data('type') == 'add') $(this).addClass('hidden');
  7. });
  8. });
  9. /**
  10. * Check the project.
  11. *
  12. * @access public
  13. * @return void
  14. */
  15. function checkItem()
  16. {
  17. if(!$("#repoList tbody tr").length) $("#submit").prop('disabled', true);
  18. }
  19. /**
  20. * Change server.
  21. *
  22. * @access public
  23. * @return void
  24. */
  25. function selectServer(event)
  26. {
  27. var server = $(event.target).val();
  28. if(server) loadPage($.createLink('repo', 'import', 'server=' + server));
  29. }
  30. /**
  31. * Render row action.
  32. *
  33. * @access public
  34. * @return void
  35. */
  36. window.onRenderRowCol = function(row, cel)
  37. {
  38. if(cel.name == 'actions')
  39. {
  40. const repoID = $(row).closest('tr').find('input[data-name="serviceProject"]').val();
  41. if(hiddenRepos.includes(repoID))
  42. {
  43. $(row).closest('tr').addClass('hidden hide-repo');
  44. $(row).find('button').attr('title', showLang);
  45. $(row).find('button').html('<i class="icon icon-eye">');
  46. }
  47. else
  48. {
  49. $(row).find('button').attr('title', hideLang);
  50. $(row).find('button').html('<i class="icon icon-eye-off">');
  51. }
  52. }
  53. }
  54. /**
  55. * Show hidden repos.
  56. *
  57. * @access public
  58. * @return void
  59. */
  60. window.toggleShowRepo = function(event)
  61. {
  62. if($(event.target).prop('checked'))
  63. {
  64. $('.hide-repo').removeClass('hidden');
  65. }
  66. else
  67. {
  68. $('.hide-repo').addClass('hidden');
  69. }
  70. }
  71. /**
  72. * Set a repo state.
  73. *
  74. * @access public
  75. * @return void
  76. */
  77. window.setRepoState = function(event)
  78. {
  79. let elem = $(event.target);
  80. if(elem.find('.icon').length > 0) elem = elem.find('.icon');
  81. const trElem = elem.closest('tr');
  82. const repoID = trElem.find('input[data-name="serviceProject"]').val();
  83. const postData = {
  84. "serverID": serverID,
  85. "repoID": repoID
  86. };
  87. if(trElem.hasClass('hide-repo'))
  88. {
  89. $.post($.createLink('repo', 'ajaxShowRepo'), postData, function(response)
  90. {
  91. const {result, message} = JSON.parse(response);
  92. if(result == 'fail') {return zui.Modal.alert(message);}
  93. trElem.removeClass('hide-repo');
  94. elem.removeClass('icon-eye').addClass('icon-eye-off');
  95. elem.parent().attr('title', hideLang);
  96. });
  97. }
  98. else
  99. {
  100. $.post($.createLink('repo', 'ajaxHiddenRepo'), postData, function(response)
  101. {
  102. const {result, message} = JSON.parse(response);
  103. if(result == 'fail') {return zui.Modal.alert(message);}
  104. trElem.addClass('hide-repo');
  105. if(!$('.show-all-repo').prop('checked')) trElem.addClass('hidden');
  106. elem.removeClass('icon-eye-off').addClass('icon-eye');
  107. elem.parent().attr('title', showLang);
  108. const productDom = $('#product_' + trElem.data('index')).zui('picker');
  109. if(productDom) productDom.$.setValue('');
  110. });
  111. }
  112. }