diff --git a/frontend/src/routes/translate/[id]/+page.svelte b/frontend/src/routes/translate/[id]/+page.svelte index cce5aaa1..74af88ef 100644 --- a/frontend/src/routes/translate/[id]/+page.svelte +++ b/frontend/src/routes/translate/[id]/+page.svelte @@ -421,95 +421,6 @@ } } - /** @param {Event} event */ - async function handleDatasourceChange(event) { - const val = event.target.value; - datasourceId = val; - availableColumns = []; - virtualColumns = []; - // Reset column selections when datasource changes - sourceKeyCols = []; - targetKeyCols = []; - translationColumn = ''; - contextColumns = []; - } - - isColumnsLoading = true; - try { - const result = await fetchDatasourceColumns(parseInt(datasourceId), environmentId); - if (result) { - availableColumns = result.columns || []; - databaseDialect = result.database_dialect || ''; - virtualColumns = availableColumns.filter(c => c.is_physical === false).map(c => c.name); - } - } catch (err) { - uxState = 'datasource_unavailable'; - addToast(`${_('common.error')}: ${err?.message}`, 'error'); - } finally { - isColumnsLoading = false; - } - } - - /** Load all datasets (or search) */ - async function searchDatasources(searchTerm = '') { - if (!environmentId) return; - datasourceLoading = true; - try { - datasourceList = await fetchDatasources(environmentId, searchTerm); - showDatasourceDropdown = true; - } catch (err) { - datasourceList = []; - } finally { - datasourceLoading = false; - } - } - - async function handleDatasourceSearch() { - await searchDatasources(datasourceSearch); - } - - /** Select a dataset from the dropdown */ - function selectDatasource(ds) { - datasourceId = String(ds.id); - datasourceSearch = `${ds.table_name} (${ds.database_name} ยท ${ds.database_dialect})`; - showDatasourceDropdown = false; - availableColumns = []; - virtualColumns = []; - sourceKeyCols = []; - targetKeyCols = []; - translationColumn = ''; - targetColumn = ''; - targetLanguageColumn = ''; - targetSourceColumn = ''; - targetSourceLanguageColumn = ''; - contextColumns = []; - databaseDialect = ds.database_dialect || ''; - // Auto-set target database ID from the selected datasource's database - if (ds.database_id) { - targetDatabaseId = String(ds.database_id); - } - if (datasourceId && environmentId) { - loadColumnsForDatasource(); - } - } - - /** @param {Event} event */ - async function handleDatasourceChange(event) { - const val = event.target.value; - datasourceId = val; - availableColumns = []; - virtualColumns = []; - // Reset column selections when datasource changes - sourceKeyCols = []; - targetKeyCols = []; - translationColumn = ''; - contextColumns = []; - - if (val && environmentId) { - await loadColumnsForDatasource(); - } - } - async function loadDatabases() { if (!environmentId) { databases = []; @@ -533,38 +444,6 @@ targetDatabaseId = ''; await loadDatabases(); } - } - - /** @param {string} col */ - function toggleContextColumn(col) { - if (contextColumns.includes(col)) { - contextColumns = contextColumns.filter(c => c !== col); - } else { - contextColumns = [...contextColumns, col]; - } - } - - /** @param {string} col */ - function toggleSourceKeyCol(col) { - const idx = sourceKeyCols.indexOf(col); - if (idx >= 0) { - sourceKeyCols = sourceKeyCols.filter((_, i) => i !== idx); - // Also remove corresponding target key - if (targetKeyCols[idx]) { - targetKeyCols = targetKeyCols.filter((_, i) => i !== idx); - } - } else { - sourceKeyCols = [...sourceKeyCols, col]; - targetKeyCols = [...targetKeyCols, '']; - } - } - - /** @param {number} idx @param {string} val */ - function updateTargetKeyCol(idx, val) { - const updated = [...targetKeyCols]; - updated[idx] = val; - targetKeyCols = updated; - } /** @returns {string[]} */ function validate() { @@ -662,11 +541,6 @@ } } - /** @param {string} col */ - function isVirtual(col) { - return virtualColumnNames.includes(col); - } - function getJobStatusLabel(value) { const labels = { DRAFT: $t.translate?.config?.status_draft || 'Draft',