rarnu
e8ab15140a
add: 将AI大模型的设置移至设置页
2026-05-11 23:25:27 +08:00
t8y2
1b0c17315b
feat(i18n): replace locale toggle with dropdown menu and country flags
...
Replace the single-click locale cycle button with a dropdown menu
showing all available languages with their country flag emoji.
Locale switching logic moved from App.vue into AppToolbar.vue.
2026-05-11 12:30:04 +08:00
t8y2
8032c63727
fix(grid): persist WHERE filter input across tab switches ( closes #210 )
...
whereFilterInput was a component-local ref that got lost when switching
tabs because DataGrid is destroyed and recreated via :key binding.
Store whereInput in the QueryTab state and pass it as initialWhereInput
prop so it survives tab switches.
2026-05-11 12:24:08 +08:00
t8y2
cb70625bd8
fix(objects): save SQL Server object source definitions
2026-05-11 12:17:18 +08:00
t8y2
03bea705e7
feat(objects): edit database object source
2026-05-11 11:48:46 +08:00
t8y2
d4c2b4af7b
fix(oracle): 简化编辑器选择器并支持 schema 切换 ( closes #205 )
...
Oracle/Dameng 连接隐藏多余的 Database 选择器,只显示 Schema 选择器。
查询执行时通过 ALTER SESSION SET CURRENT_SCHEMA 切换 schema 上下文。
2026-05-11 11:00:16 +08:00
t8y2
9355fa7e93
fix(sidebar): 修复侧边栏树状态显示
2026-05-11 02:16:36 +08:00
t8y2
bafb424b23
perf: full-stack performance optimization
...
Frontend:
- Debounce queryStore tab persistence (remove flush:sync deep watcher)
- Eliminate unnecessary object spreading in connectionStore error handling
- Use in-place delete for completion cache invalidation
- Deduplicate schema cache prefix API calls
- Split echarts, reka-ui, marked, @codemirror/commands into separate chunks
- Lazy-load xlsxExport and markdownTable in DataGrid
- Lazy-load marked parser in UpdateDialog
Backend:
- Replace tokio::sync::Mutex with RwLock for AppState connections/configs
(60+ concurrent reads no longer block each other)
- Parallelize PostgreSQL DDL metadata queries with tokio::try_join!
2026-05-10 23:23:22 +08:00
t8y2
c6b6ba5769
feat(connections): import DBeaver connections
2026-05-10 22:10:30 +08:00
t8y2
9661c60812
feat(connections): import Navicat NCX files
2026-05-10 21:51:48 +08:00
t8y2
0e0195f734
feat(objects): add virtual object browser
2026-05-10 18:32:24 +08:00
t8y2
5a15d7a424
fix(ui): refine layout polish
2026-05-10 10:17:18 +08:00
t8y2
ebc905a478
feat(ui): add layout preference
2026-05-10 10:11:55 +08:00
t8y2
28f8c88ea9
feat(ui): refine panel and tab chrome
2026-05-10 09:54:21 +08:00
t8y2
cb7428b5a3
feat(ui): refine app chrome layout
2026-05-10 09:37:02 +08:00
t8y2
0b376c234f
feat(ui): add connection color tinting
2026-05-10 09:19:14 +08:00
t8y2
cac383e6bf
feat(sql): add saved SQL library
2026-05-10 00:33:25 +08:00
t8y2
97b77ec46d
feat(diff): add data compare and schema sync coverage
2026-05-09 23:44:49 +08:00
t8y2
9b81fa5f38
fix(editor): improve SQL Server editing support
2026-05-09 18:17:56 +08:00
t8y2
8d318a2146
fix(updater): fix restart after update
2026-05-09 18:08:06 +08:00
t8y2
6a5dd3b51b
feat(sidebar): create connections from group menu
2026-05-09 16:27:25 +08:00
t8y2
b41e548911
fix(sidebar): preserve expanded tree on refresh
2026-05-09 16:22:00 +08:00
skyler
9b4267ef7b
Merge pull request #180 from rarnu/fix/toolbar-condition
...
Fix: 修复表数据编辑的工具栏,条件过滤和刷新丢状态的问题
2026-05-09 16:12:19 +08:00
rarnu
9261cb71a2
1. src/components/grid/DataGrid.vue
...
- 左侧搜索框:移除了 WHERE 支持(isWhereSearch 永远返回 false),现在是纯客户端文本过滤。保留了列名代码提示功能(Tab 补全、箭头导航)。
- WHERE 框:新增列名代码提示(独立的下拉建议面板),支持单双引号和小括号自动配对,Enter 直接应用过滤。
- ORDER BY 框:新增列名代码提示(同样的建议面板),Enter 直接应用排序。
- 刷新/回滚/提交:reload emit 现在传递 4 个参数 (sql, searchText, whereInput, orderBy),确保刷新后所有条件不丢失。
- 分页/排序:统一使用新的 currentWhereInput() 函数,替代已废弃的 activeWhereInput。
- 删除了 applyWhereSearch() 和 onSearchEnter()(左侧搜索不再需要执行 WHERE 查询)。
2. src/composables/useDataGridActions.ts
- onReloadData() 签名改为接受 4 个参数 (sql, searchText, whereInput, orderBy)。
- table-data 模式刷新时,用 buildTableSql(tab, { whereInput, orderBy }) 重建 SQL,保留 WHERE 和 ORDER BY 条件。
3. src/components/layout/ContentArea.vue
- reload emit 签名同步更新为 4 个参数。
- results 模式和 table-data 模式两个 DataGrid 的 @reload 处理器都转发全部 4 个参数。
4. src/App.vue
- ContentArea 的 @reload 处理器转发 4 个参数给 onReloadData()。
2026-05-09 15:04:06 +08:00
t8y2
9a9f67f9ae
fix(window): prevent double-toggle on titlebar double-click ( #179 )
...
data-tauri-drag-region already handles double-click to maximize
natively; the @dblclick handler was calling toggleMaximize() again,
immediately restoring the window.
2026-05-09 14:51:47 +08:00
t8y2
5c911f39ff
fix(ui): prevent tab scroll arrow overlapping with text
...
Widen the scroll button gradient area and use a solid-to-transparent
gradient (40% opaque) instead of a semi-transparent via stop, so tab
text is fully hidden behind the arrow overlay.
2026-05-09 14:26:31 +08:00
t8y2
4c5de25f95
fix: enable tab context menu (close all/close others/close right)
2026-05-09 11:56:09 +08:00
t8y2
d6e273e136
feat: custom titlebar with integrated window controls
...
- macOS: overlay mode with native traffic lights, toolbar as drag region
- Windows/Linux: frameless window with custom minimize/maximize/close buttons
- Double-click toolbar to toggle maximize
2026-05-09 10:44:34 +08:00
t8y2
ad79642502
feat: auto-fit column widths based on header and data content
...
Scan column names and first 50 rows to calculate optimal column width
instead of using a fixed 150px default. Double-click column separator
to auto-fit individual columns. Min 60px, max 400px.
2026-05-09 00:51:51 +08:00
t8y2
9ea098bd57
refactor: use icons for tab mode and Navicat-style tab titles
...
Replace text badges (SQL/表) with icons (Code2/Table2), remove
connection color dot, and adopt table@database.schema naming.
2026-05-09 00:21:56 +08:00
t8y2
70b55fe49a
feat: add independent WHERE and ORDER BY filter inputs to data grid ( #165 )
...
- Split WHERE and ORDER BY into separate inputs alongside search bar
- Three equal sections: Search | WHERE | ORDER BY with border separators
- Preserve tableMeta on error so filters remain visible after failed queries
- Show schema@database format in table data badge
2026-05-09 00:11:46 +08:00
t8y2
acfe9d1b23
fix: disable native context menu and add sidebar refresh button ( #159 )
...
Prevent browser native "Reload" from resetting app state in Tauri,
and add a refresh button to the sidebar header for convenience.
2026-05-08 19:05:21 +08:00
Bacon2994
3b4b6c1ff7
fix(query): 修复查询结果表头提示与全量排序 ( #164 )
...
* fix(grid): 修复查询结果表头提示与排序
修复 MySQL 查询结果列元数据取错库名的问题,并补齐查询结果全量排序链路,避免表头提示与排序行为失效。
* fix(query): 修复结果排序重复列名报错
2026-05-08 18:31:09 +08:00
t8y2
c036dd19e4
feat: support middle-click to close tabs ( #162 )
2026-05-08 17:19:31 +08:00
rarnu
47ad960bbb
Fix: DataGrid数据集和工具栏的修复及加强 ( #157 )
...
* fix: 修复结果集内的数据过滤功能
* add: 将原先误删的WHERE查询加回
* add: 合并事务栏和搜索栏,并且在结果集中不启用搜索功能
* add: 修复在表数据和结果集模式下,DataGrid刷新时未保留查询条件的问题,将表数据和结果集的处理逻辑进行拆分
* add: 与主分支合并,解决冲突
* add: 恢复i18n
* add: 恢复useDataGridActions.ts
* add: 恢复ContentArea.vue
* add: 恢复DataGrid.vue
* fix: 修复括号自动配对的bug
* add: 将DDL按钮移到表数据编辑的第一行尾,并且不在DataGrid中显示
2026-05-08 16:04:21 +08:00
t8y2
631db17a08
refactor: merge data table info bar and transaction toolbar into one row
...
Move refresh/commit/rollback buttons from DataGrid's internal toolbar
to ContentArea's table info header. Remove the redundant second row
and the column count display.
2026-05-07 23:48:51 +08:00
rarnu
53c5c28542
fix: 修复结果集内的数据过滤功能 ( #145 )
2026-05-07 22:05:27 +08:00
skyler
cf25b7d6d4
Merge pull request #139 from rarnu/feat/edit-on-resultset
...
add: 增加对于查询得到的结果集直接进行数据编辑的功能
2026-05-07 17:44:48 +08:00
skyler
db16bf5edd
Merge pull request #140 from Bacon2994/codex/default-database
...
feat: 支持设置默认数据库
2026-05-07 17:41:51 +08:00
t8y2
4973912666
fix: bundle libodbc into macOS app and improve update UX
...
- Bundle libodbc.2.dylib into .app/Contents/Frameworks/ via Tauri's
macOS frameworks config to fix "app can't be opened" on macOS
- Replace relaunch() with exit(0) to avoid Tauri restart bug (#11392 )
- Lock update dialog during download and after install
- Render release notes as markdown
2026-05-07 17:36:44 +08:00
Bacon2994
f9d6edb136
feat(connection): 支持设置默认数据库
...
统一新建查询的默认数据库选择逻辑,减少重复手动选择。
2026-05-07 16:49:56 +08:00
rarnu
814fda7433
add: 增加对于查询得到的结果集直接进行数据编辑的功能。当查询是单表且包含主键(有联合主键时包含全部主键)时,可以在结果集内双击单元格修改数据,修改结果以事务形式提交或回滚。
2026-05-07 15:09:59 +08:00
t8y2
8bea7e40c3
feat(elasticsearch): support REST queries in SQL editor ( #132 )
...
Execute GET/POST/PUT/DELETE queries like Kibana Dev Tools.
Search results are displayed as table rows with _id + _source fields.
Also hide database selector for Elasticsearch connections.
2026-05-07 11:41:33 +08:00
t8y2
ecbd94c7be
fix(grid): preserve sort order when paginating ( #128 )
2026-05-07 10:44:11 +08:00
rarnu
969f441753
add: 对SQL编辑器增加Ctrl(Mac下是Cmd)+左键点击的功能,点击表名可以查看建表DDL,点击列名可以查看列信息 ( #122 )
...
* add: 对SQL编辑器增加Ctrl(Mac下是Cmd)+左键点击的功能,点击表名可以查看建表DDL,点击列名可以查看列信息
* add: 修复联表情况下获取列信息的问题
* fix: 修复联表场景下的SQL语句提示
* remove: 移除不需要的调试打印
* add: 补充'列详情'多语言字段
* remove: 移除不必要的函数
* remove: 移除不必要的导入
* add: 目前会分析SQL语句内引用的表,并且只加载对应的表内的列信息,不再对全表做列信息拉取
2026-05-07 01:04:52 +08:00
t8y2
b6a39c1fa0
feat(query): set schema context (search_path) before query execution ( #113 )
...
Add schema selector to the editor toolbar for schema-aware databases
(PostgreSQL, SQL Server, Oracle). When a schema is selected, the backend
sets the appropriate search_path before executing queries so users no
longer need to write schema-qualified table names.
2026-05-06 18:22:41 +08:00
t8y2
025b676b0b
feat(AppTabBar): improve tab scrolling behavior and enhance tab styling
2026-05-05 17:34:18 +08:00
t8y2
7a71c4866d
feat(ContentArea): enhance tab display with improved styling for table name and database info
2026-05-05 16:55:14 +08:00
t8y2
4cef22904b
feat(chart): add chart functionality with ECharts integration and update output view options
2026-05-05 16:53:26 +08:00
t8y2
3acd9280ac
chore: add oxfmt + husky + lint-staged for code formatting and CI format checks
2026-05-05 15:41:34 +08:00