importjira.ui.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. let dynamicImporting = langImporting;
  2. const intervalId = setInterval(function()
  3. {
  4. const $dynamicImporting = $('#importResult .dynamicImporting');
  5. if($dynamicImporting.length == 0) return;
  6. let ellipsis = $dynamicImporting.html().replace(langImporting, '');
  7. ellipsis += '•';
  8. if(ellipsis.length > 12) ellipsis = '';
  9. $('#importResult .dynamicImporting').html(langImporting + ' ' + ellipsis);
  10. }, 1000);
  11. function importJira(event, url, hide)
  12. {
  13. if(hide === true) $(event.target).hide();
  14. $('#importResult .importing').removeClass('hidden');
  15. if($('#importResult .dynamicImporting').length == 0) $('#importResult').append("<li class='dynamicImporting'>" + dynamicImporting + "</li>");
  16. $('#actionBar').hide();
  17. $.get(url, function(data)
  18. {
  19. try
  20. {
  21. let response = JSON.parse(data);
  22. if(response.result == 'finished')
  23. {
  24. clearInterval(intervalId);
  25. $('#importResult .dynamicImporting').remove();
  26. $('#importResult').append("<li class='text-success my-1'>" + response.message + '</li>');
  27. $('#importResult .importing').addClass('hidden');
  28. return false;
  29. }
  30. else
  31. {
  32. const className = response.type + 'count';
  33. const $typeCount = $('#importResult .' + className)
  34. if($typeCount.length == 0)
  35. {
  36. dynamicImporting = $('#importResult .dynamicImporting').html();
  37. $('#importResult .dynamicImporting').remove();
  38. $('#importResult').append("<li class='text-success my-1'>" + response.message + '</li>');
  39. }
  40. else
  41. {
  42. const count = parseInt($typeCount.html()) + parseInt(response.count);
  43. $typeCount.html(count);
  44. }
  45. return importJira(event, response.next);
  46. }
  47. }
  48. catch(e)
  49. {
  50. clearInterval(intervalId);
  51. $('#importResult .dynamicImporting').remove();
  52. $('#importResult').append("<li class='text-danger my-1'>" + data + '</li>');
  53. $('#importResult').append("<li class='text-danger my-1'>" + langImportFailed + '</li>');
  54. }
  55. });
  56. return false;
  57. };