11import $ from 'jquery' ;
22import { hideElem , showElem } from '../utils/dom.js' ;
33
4- const { appSubUrl} = window . config ;
4+ const { appSubUrl, csrfToken } = window . config ;
55
66export function initRepoMigrationStatusChecker ( ) {
77 const $repoMigrating = $ ( '#repo_migrating' ) ;
88 if ( ! $repoMigrating . length ) return ;
99
10+ $ ( '#repo_migrating_retry' ) . on ( 'click' , doMigrationRetry ) ;
11+
1012 const task = $repoMigrating . attr ( 'data-migrating-task-id' ) ;
1113
1214 // returns true if the refresh still need to be called after a while
@@ -31,6 +33,7 @@ export function initRepoMigrationStatusChecker() {
3133 if ( data . status === 3 ) {
3234 hideElem ( '#repo_migrating_progress' ) ;
3335 hideElem ( '#repo_migrating' ) ;
36+ showElem ( '#repo_migrating_retry' ) ;
3437 showElem ( '#repo_migrating_failed' ) ;
3538 showElem ( '#repo_migrating_failed_image' ) ;
3639 $ ( '#repo_migrating_failed_error' ) . text ( data . message ) ;
@@ -53,3 +56,14 @@ export function initRepoMigrationStatusChecker() {
5356
5457 syncTaskStatus ( ) ; // no await
5558}
59+
60+ async function doMigrationRetry ( e ) {
61+ await fetch ( $ ( e . target ) . attr ( 'data-migrating-task-retry-url' ) , {
62+ method : 'post' ,
63+ headers : {
64+ 'X-Csrf-Token' : csrfToken ,
65+ 'Content-Type' : 'application/json' ,
66+ } ,
67+ } ) ;
68+ window . location . reload ( ) ;
69+ }
0 commit comments