diff --git a/apps/desktop/src/App.vue b/apps/desktop/src/App.vue index 0e2b7c101..24f6db234 100644 --- a/apps/desktop/src/App.vue +++ b/apps/desktop/src/App.vue @@ -1909,6 +1909,7 @@ onUnmounted(() => { }) " @object-schema-change="(schema) => activeTab && queryStore.updateSchema(activeTab.id, schema)" + @object-browser-viewport-change="(tabId, viewport) => queryStore.updateObjectBrowserViewport(tabId, viewport)" @structure-editor-saved=" (commentChanged) => activeTab && diff --git a/apps/desktop/src/components/layout/ContentArea.vue b/apps/desktop/src/components/layout/ContentArea.vue index eea3918b0..d3925ebfa 100644 --- a/apps/desktop/src/components/layout/ContentArea.vue +++ b/apps/desktop/src/components/layout/ContentArea.vue @@ -73,7 +73,7 @@ import type { DataGridSortMode } from "@/lib/dataGrid/dataGridSort"; import { useTabScroll } from "@/composables/useTabScroll"; import { formatElapsedSeconds } from "@/lib/common/elapsedTime"; import type { CustomSaveHandler } from "@/composables/useDataGridEditor"; -import type { QueryTab, ConnectionConfig, TableInfoTab, TreeNode, VectorCollectionMeta } from "@/types/database"; +import type { QueryTab, ConnectionConfig, TableInfoTab, TreeNode, VectorCollectionMeta, ObjectBrowserViewport } from "@/types/database"; import { sqlFormatDialectForDbType, type SqlFormatDialect } from "@/lib/sql/sqlFormatter"; type DataGridHandle = { @@ -144,6 +144,7 @@ const emit = defineEmits<{ editTableStructure: [tableName: string]; openObjectTable: [target: { tableName: string; schema?: string; tableType?: string }]; objectSchemaChange: [schema: string | undefined]; + objectBrowserViewportChange: [tabId: string, viewport: ObjectBrowserViewport]; structureEditorSaved: [commentChanged: boolean]; structureEditorClose: []; openSettings: [initialTab?: string, initialSection?: string]; @@ -1496,8 +1497,10 @@ defineExpose({ focusSearch, refreshData, handleModRTarget, requestQueryEditorExe :connection="activeConnection" :database="activeTab.database" :schema="activeTab.objectBrowser?.schema" + :viewport="activeTab.objectBrowser?.viewport" @open-table="emit('openObjectTable', $event)" @schema-change="emit('objectSchemaChange', $event)" + @viewport-change="emit('objectBrowserViewportChange', activeTab.id, $event)" /> diff --git a/apps/desktop/src/components/objects/ObjectBrowser.vue b/apps/desktop/src/components/objects/ObjectBrowser.vue index 6d3d28f44..d1c8a90cc 100644 --- a/apps/desktop/src/components/objects/ObjectBrowser.vue +++ b/apps/desktop/src/components/objects/ObjectBrowser.vue @@ -1,5 +1,5 @@