You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

repo-migrate.js 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const {appSubUrl, csrfToken} = window.config;
  2. export function initRepoMigrationStatusChecker() {
  3. const migrating = $('#repo_migrating');
  4. $('#repo_migrating_failed').hide();
  5. $('#repo_migrating_failed_image').hide();
  6. $('#repo_migrating_progress_message').hide();
  7. if (migrating) {
  8. const task = migrating.attr('task');
  9. if (typeof task === 'undefined') {
  10. return;
  11. }
  12. $.ajax({
  13. type: 'GET',
  14. url: `${appSubUrl}/user/task/${task}`,
  15. data: {
  16. _csrf: csrfToken,
  17. },
  18. complete(xhr) {
  19. if (xhr.status === 200 && xhr.responseJSON) {
  20. if (xhr.responseJSON.status === 4) {
  21. window.location.reload();
  22. return;
  23. } else if (xhr.responseJSON.status === 3) {
  24. $('#repo_migrating_progress').hide();
  25. $('#repo_migrating').hide();
  26. $('#repo_migrating_failed').show();
  27. $('#repo_migrating_failed_image').show();
  28. $('#repo_migrating_failed_error').text(xhr.responseJSON.message);
  29. return;
  30. }
  31. if (xhr.responseJSON.message) {
  32. $('#repo_migrating_progress_message').show();
  33. $('#repo_migrating_progress_message').text(xhr.responseJSON.message);
  34. }
  35. setTimeout(() => {
  36. initRepoMigrationStatusChecker();
  37. }, 2000);
  38. return;
  39. }
  40. $('#repo_migrating_progress').hide();
  41. $('#repo_migrating').hide();
  42. $('#repo_migrating_failed').show();
  43. $('#repo_migrating_failed_image').show();
  44. }
  45. });
  46. }
  47. }