diff --git a/packages/nc-gui/components/dlg/AirtableImport.vue b/packages/nc-gui/components/dlg/AirtableImport.vue index 769f776db2..1358a7438c 100644 --- a/packages/nc-gui/components/dlg/AirtableImport.vue +++ b/packages/nc-gui/components/dlg/AirtableImport.vue @@ -144,12 +144,12 @@ async function createOrUpdate() { } } -async function listenForUpdates() { +async function listenForUpdates(id?: string) { if (listeningForUpdates.value) return listeningForUpdates.value = true - const job = await $api.jobs.status({ syncId: syncSource.value.id }) + const job = id ? { id } : await $api.jobs.status({ syncId: syncSource.value.id }) if (!job) { listeningForUpdates.value = false @@ -226,12 +226,12 @@ async function loadSyncSrc() { async function sync() { try { - await $fetch(`/api/v1/db/meta/syncs/${syncSource.value.id}/trigger`, { + const jobData: any = await $fetch(`/api/v1/db/meta/syncs/${syncSource.value.id}/trigger`, { baseURL, method: 'POST', headers: { 'xc-auth': $state.token.value as string }, }) - listenForUpdates() + listenForUpdates(jobData.id) } catch (e: any) { message.error(await extractSdkResponseErrorMsg(e)) } @@ -251,6 +251,9 @@ async function abort() { headers: { 'xc-auth': $state.token.value as string }, }) step.value = 1 + progress.value = [] + goBack.value = false + enableAbort.value = false } catch (e: any) { message.error(await extractSdkResponseErrorMsg(e)) } @@ -258,6 +261,13 @@ async function abort() { }) } +function cancel() { + step.value = 1 + progress.value = [] + goBack.value = false + enableAbort.value = false +} + function migrateSync(src: any) { if (!src.details?.options) { src.details.options = { @@ -456,7 +466,7 @@ onMounted(async () => { {{ $t('labels.goToDashboard') }} - {{ + {{ $t('general.cancel') }} {{