t8y2
75e97001ec
style: fix formatting (oxfmt + cargo fmt)
2026-05-24 22:38:16 +08:00
t8y2
801434e423
refactor: convert table structure editor from modal dialog to tab
...
Replace the dialog-based TableStructureEditorDialog with a tab-based
TableStructureEditor, making it consistent with query editors, data
viewers, and object browsers. Users can now switch between editing
table structure and running queries freely.
2026-05-24 21:17:35 +08:00
t8y2
7b9a04ff3e
fix(ui): propagate schema when creating tabs and new queries
...
Table/data tabs were missing schema in createTab, so the toolbar
"new query" button couldn't inherit schema from the active tab.
Also add schema to NewQueryTarget so resolveNewQueryTarget
propagates it from both sidebar and active tab contexts.
2026-05-24 19:11:06 +08:00
t8y2
2fea0c38c5
fix(app): harden clipboard copy flows
2026-05-23 10:52:19 +08:00
t8y2
5f19dccdc1
fix(sidebar): keep connection expansion stable
2026-05-23 01:32:51 +08:00
t8y2
7a3ff3bff9
refactor(sql): move builders to Rust
2026-05-23 01:28:52 +08:00
t8y2
c4a268f670
fix(app): normalize grid JSON smart quotes
2026-05-22 20:08:16 +08:00
t8y2
c91fbc9fd6
feat(export): move text exports to Rust
2026-05-22 15:41:33 +08:00
t8y2
209eff528d
feat(query): move grid save prep to Rust
2026-05-22 15:31:50 +08:00
t8y2
c736fe372a
feat(export): move csv and xlsx generation to Rust backend
2026-05-22 14:56:40 +08:00
t8y2
66d180f729
feat(grid): copy insert without primary keys
2026-05-22 11:55:08 +08:00
t8y2
c8d1b842d3
fix(app): remove mac fullscreen toolbar gap
2026-05-21 10:42:03 +08:00
t8y2
ab6c73c687
fix(grid): reload after inserted rows save
2026-05-21 10:23:37 +08:00
t8y2
01666acd99
fix(updates): keep silent update checks badge-only
2026-05-21 01:03:30 +08:00
t8y2
7592def541
feat(grid): add copy as UPDATE action
2026-05-21 00:42:15 +08:00
t8y2
47ec339d5a
fix: preserve pending row edits when switching tabs ( #362 )
...
Wrap ContentArea in KeepAlive to cache tab instances across switches.
Add a module-level pending-changes cache in useDataGridEditor so edits
survive DataGrid destruction caused by result eviction and reload.
2026-05-20 16:22:17 +08:00
yavon007
13424588b9
Support DBX connection deep links ( #359 )
...
* fix(mysql): avoid metadata collation conflicts
Split MySQL column and primary key metadata lookups so MariaDB and OceanBase do not join information_schema tables with incompatible collations.
* feat(grid): add invert column visibility action
* feat(grid): improve cell detail editing
* feat(grid): add keyboard cell navigation
* feat(grid): add column name copy in header tooltip
* feat(grid): improve transpose navigation
* feat(connection): support dbx connection deep links
* docs: document connection deep links
* fix(connection): harden deep link boolean handling
2026-05-20 16:10:14 +08:00
yavon007
49a7541450
Improve data grid cell detail, navigation, and transpose UX ( #342 )
...
* fix(mysql): avoid metadata collation conflicts
Split MySQL column and primary key metadata lookups so MariaDB and OceanBase do not join information_schema tables with incompatible collations.
* feat(grid): add invert column visibility action
* feat(grid): improve cell detail editing
* feat(grid): add keyboard cell navigation
* feat(grid): add column name copy in header tooltip
* feat(grid): improve transpose navigation
2026-05-20 09:43:40 +08:00
t8y2
dac3d8e3c0
feat(grid): batch multiple rows into single INSERT statement
2026-05-19 19:02:01 +08:00
t8y2
d1ad53a6ca
fix(grid): discard pending edits when result set changes
...
Pending changes (dirty cells, new rows, deleted rows) are tracked by
sourceIndex into the current result array. When the query re-executes
(e.g. different WHERE clause or pagination), stale indices silently
point to different rows, causing wrong-row deletions on commit.
Closes #336 (partial)
2026-05-19 17:56:32 +08:00
t8y2
c1ba7235b9
fix(app): add clipboard fallback for web copy
2026-05-19 13:51:38 +08:00
t8y2
ab87de4054
fix(sidebar): reveal expanded tree items
2026-05-18 16:35:09 +08:00
t8y2
06683c57b1
chore(repo): move desktop app under apps
2026-05-18 02:35:39 +08:00