Browse Source

Merge pull request #6997 from nocodb/nc-fix/at-import-ux

fix: at import UX
pull/7001/head
Raju Udava 1 year ago committed by GitHub
parent
commit
739ec73bda
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      packages/nc-gui/components/dlg/AirtableImport.vue
  2. 7
      packages/nocodb/src/modules/jobs/jobs/at-import/at-import.processor.ts

7
packages/nc-gui/components/dlg/AirtableImport.vue

@ -90,8 +90,10 @@ const onStatus = async (status: JobStatus, data?: any) => {
refreshCommandPalette() refreshCommandPalette()
// TODO: add tab of the first table // TODO: add tab of the first table
} else if (status === JobStatus.FAILED) { } else if (status === JobStatus.FAILED) {
await loadTables()
goBack.value = true goBack.value = true
pushProgress(data.error.message, status) pushProgress(data.error.message, status)
refreshCommandPalette()
} }
} }
@ -115,7 +117,10 @@ const { validateInfos } = useForm(syncSource, validators)
const disableImportButton = computed(() => !syncSource.value.details.apiKey || !syncSource.value.details.syncSourceUrlOrId) const disableImportButton = computed(() => !syncSource.value.details.apiKey || !syncSource.value.details.syncSourceUrlOrId)
const isLoading = ref(false)
async function saveAndSync() { async function saveAndSync() {
isLoading.value = true
await createOrUpdate() await createOrUpdate()
await sync() await sync()
} }
@ -178,6 +183,7 @@ async function listenForUpdates(id?: string) {
} }
} else { } else {
listeningForUpdates.value = false listeningForUpdates.value = false
isLoading.value = false
} }
}, },
) )
@ -494,6 +500,7 @@ onMounted(async () => {
v-e="['c:sync-airtable:save-and-sync']" v-e="['c:sync-airtable:save-and-sync']"
type="primary" type="primary"
class="nc-btn-airtable-import" class="nc-btn-airtable-import"
:loading="isLoading"
:disabled="disableImportButton" :disabled="disableImportButton"
@click="saveAndSync" @click="saveAndSync"
> >

7
packages/nocodb/src/modules/jobs/jobs/at-import/at-import.processor.ts

@ -2529,6 +2529,13 @@ export class AtImportProcessor {
await generateMigrationStats(aTblSchema); await generateMigrationStats(aTblSchema);
} }
} catch (e) { } catch (e) {
// delete tables that were created
for (const table of ncSchema.tables) {
await this.tablesService.tableDelete({
tableId: table.id,
user: syncDB.user,
});
}
if (e.message) { if (e.message) {
this.telemetryService.sendEvent({ this.telemetryService.sendEvent({
evt_type: 'a:airtable-import:error', evt_type: 'a:airtable-import:error',

Loading…
Cancel
Save