in seatunnel-ui/src/views/datasource/list/index.tsx [39:104]
setup: function() {
const { t } = useI18n()
const showSourceModal = ref(false)
const columns: Ref<TableColumns> = ref([])
const router = useRouter()
const route = useRoute()
const { data, changePage, changePageSize, deleteRecord, updateList } =
useTable()
const handleSearch = () => {
updateList()
}
const { getColumns } = useColumns((id: string, type: 'edit' | 'delete') => {
if (type === 'edit') {
router.push({ name: 'datasource-edit', params: { id } })
} else if(type === 'delete'){
deleteRecord(id)
}
})
const onCreate = () => {
showSourceModal.value = true
}
const closeSourceModal = () => {
showSourceModal.value = false
}
const handleSelectSourceType = (value: string) => {
router.push({ name: 'datasource-create', query: { type: value } })
closeSourceModal()
}
const initSearch = () => {
const { searchVal } = route.query
if (searchVal) {
data.searchVal = searchVal as string
}
}
onMounted(() => {
initSearch()
if (!route.query.tab || route.query.tab === 'datasource') {
changePage(1)
columns.value = getColumns()
}
})
watch(useI18n().locale, () => {
columns.value = getColumns()
})
return {
t,
showSourceModal,
columns,
...toRefs(data),
changePage,
changePageSize,
onCreate,
handleSearch,
handleSelectSourceType,
closeSourceModal
}
},