No hay datos disponibles
@@ -175,8 +181,8 @@ definePageMeta({
})
// State
-const selectedDatabaseId = ref
(null)
-const selectedTableId = ref(null)
+const selectedDatabase = ref(null)
+const selectedTable = ref(null)
const loadingDatabases = ref(false)
const loadingTables = ref(false)
const loadingData = ref(false)
@@ -190,23 +196,11 @@ const tableData = ref([])
const visibleColumns = ref([])
// Computed
-const databaseOptions = computed(() => {
- return databases.value.map(db => ({
- label: db.name,
- value: db.id
- }))
-})
-
-const tableOptions = computed(() => {
- return tables.value.map(table => ({
- label: `${table.display_name || table.name} (${table.row_count || 0} registros)`,
- value: table.id
- }))
-})
+const selectedDatabaseId = computed(() => selectedDatabase.value?.id)
+const selectedTableId = computed(() => selectedTable.value?.id)
const selectedTableName = computed(() => {
- const table = tables.value.find(t => t.id === selectedTableId.value)
- return table ? (table.display_name || table.name) : ''
+ return selectedTable.value ? (selectedTable.value.display_name || selectedTable.value.name) : ''
})
const tableColumns = computed(() => {
@@ -252,7 +246,7 @@ async function loadDatabases() {
// Auto-select first database
if (databases.value.length > 0) {
- selectedDatabaseId.value = databases.value[0].id
+ selectedDatabase.value = databases.value[0]
}
} catch (err: any) {
error.value = `Error al cargar bases de datos: ${err.message || 'Error desconocido'}`
@@ -263,15 +257,15 @@ async function loadDatabases() {
}
async function loadTables() {
- if (!selectedDatabaseId.value) return
+ if (!selectedDatabase.value) return
loadingTables.value = true
error.value = null
- selectedTableId.value = null
+ selectedTable.value = null
tableData.value = []
try {
- const response = await $fetch(`/api/metabase/tables/${selectedDatabaseId.value}`)
+ const response = await $fetch(`/api/metabase/tables/${selectedDatabase.value.id}`)
const metadata = response as any
// Metabase returns tables in the 'tables' property
@@ -339,7 +333,7 @@ function toggleColumn(columnKey: string) {
}
// Watchers
-watch(selectedDatabaseId, () => {
+watch(selectedDatabase, () => {
loadTables()
})