mirror of
https://github.com/nocodb/nocodb.git
synced 2026-05-04 12:46:50 +00:00
* fix(nc-gui): udpated data exporter extension ui * fix(nc-gui): update data export extension * fix(nc-gui): alway show add new export input settings * fix(nc-gui): allow user to add data exporter extension only 1 time * revert(nc-gui): limit extension at base level changes * fix(nc-gui): show loading state while exporting data from extension * feat(nocodb): add extension_id in jobs model * fix(nc-gui): filter exported data based on extension id * fix(nc-gui): show expired export data * chore(nc-gui): lint * fix(nc-gui): extension modal scroll issue * fix: use result instead of migration * fix(nc-gui): revert job migration changes * fix(nc-gui): export data extension review changes * feat(nc-gui): delete export functionality * fix(nc-gui): remove expired exports * fix(nocodb): failed export realtime list update * feat(nc-gui): add more extension option in fullscreen modal * fix(nc-gui): rename extension scroll issue * fix(nc-gui): scroll into view duplicated extension * fix(nc-gui): add search table/view functionality * feat(nc-gui): resize extension height * fix(nc-gui): min height issue * fix(nc-gui): use 300px min width for extension side panel * fix(nc-gui): update extension header right side gap * fix(nc-gui): update extension search blank state text align --------- Co-authored-by: mertmit <mertmit99@gmail.com>
65 lines
1.3 KiB
TypeScript
65 lines
1.3 KiB
TypeScript
const jobsState = createGlobalState(() => {
|
|
const baseJobs = ref<Record<string, JobType[]>>({})
|
|
return { baseJobs }
|
|
})
|
|
|
|
interface JobType {
|
|
id: string
|
|
job: string
|
|
status: string
|
|
result: Record<string, any>
|
|
fk_user_id: string
|
|
fk_workspace_id: string
|
|
base_id: string
|
|
created_at: Date
|
|
updated_at: Date
|
|
extension_id: string
|
|
}
|
|
|
|
export const useJobs = createSharedComposable(() => {
|
|
const { baseJobs } = jobsState()
|
|
|
|
const { $api } = useNuxtApp()
|
|
|
|
const { base } = storeToRefs(useBase())
|
|
|
|
const activeBaseJobs = computed(() => {
|
|
if (!base.value || !base.value.id) {
|
|
return null
|
|
}
|
|
return baseJobs.value[base.value.id]
|
|
})
|
|
|
|
const jobList = computed<JobType[]>(() => {
|
|
return activeBaseJobs.value || []
|
|
})
|
|
|
|
const getJobsForBase = (baseId: string) => {
|
|
return baseJobs.value[baseId] || []
|
|
}
|
|
|
|
const loadJobsForBase = async (baseId?: string) => {
|
|
if (!baseId) {
|
|
baseId = base.value.id
|
|
|
|
if (!baseId) {
|
|
return
|
|
}
|
|
}
|
|
|
|
const jobs: JobType[] = await $api.jobs.list(baseId, {})
|
|
|
|
if (baseJobs.value[baseId]) {
|
|
baseJobs.value[baseId] = jobs || baseJobs.value[baseId]
|
|
} else {
|
|
baseJobs.value[baseId] = jobs || []
|
|
}
|
|
}
|
|
|
|
return {
|
|
jobList,
|
|
loadJobsForBase,
|
|
getJobsForBase,
|
|
}
|
|
})
|