Commit Graph
155 Commits
Author SHA1 Message Date
zipg 0b4b1f956f fix(dameng): preserve cloned column comments 2026-07-27 14:53:13 +08:00
zhangsan 406b7acdbb feat(sidebar): persist custom pinned item ordering 2026-07-26 10:30:09 +08:00
zipg 6ddfa8bd24 fix(postgres): improve view column save guidance 2026-07-24 15:51:27 +08:00
zipg 6b2f55e4de fix(postgresql): show trigger source details 2026-07-23 21:16:43 +08:00
zipg 127328a4ed fix(ui): support legacy WebView dialog viewports 2026-07-22 15:26:23 +08:00
amwps290 52499f4c9f feat(postgres): add extension management 2026-07-22 15:08:51 +08:00
gggaiitx cdfcbad4e9 feat(objects): highlight active browser object 2026-07-21 17:25:48 +08:00
amwps290 727290fa32 fix(postgres): preserve overloaded routine signatures 2026-07-21 16:58:12 +08:00
二丫讲梵 2dad288907 fix(objects): align filter counts with search 2026-07-20 15:36:34 +08:00
二丫讲梵 85836f8e95 feat(sqlite): support attached database schema changes 2026-07-20 10:51:16 +08:00
t8y2 1e0c25d754 fix(objects): refresh object browser from shortcut 2026-07-17 22:54:33 +08:00
zipg f184bc3055 fix(objects): prevent idle object browser refresh 2026-07-17 21:15:08 +08:00
Elias 08cd8903f4 feat(xugu): expose programmable object metadata 2026-07-17 17:53:44 +08:00
LRcoding 17747f8a2d feat(objects): search table fields by comment 2026-07-17 00:11:16 +08:00
LRcoding 63ea5f1fd8 feat(table-info): show column default values 2026-07-17 00:10:46 +08:00
jischeng a9e76dc130 fix(doris): preserve catalog in metadata views 2026-07-16 18:20:12 +08:00
gggaiitx 1b3f182202 统一表属性面板中编辑表结构图标为 PencilRuler (#3574) 2026-07-15 18:02:06 +08:00
Freedom 58466e049e fix(objects): keep grid tile cards equal height 2026-07-14 19:03:35 +08:00
jischeng a9ca66a829 fix(doris): qualify external catalog tables 2026-07-13 23:56:53 +08:00
zipg d1cce3ed1e fix(kingbase): quote MySQL-compatible identifiers 2026-07-13 18:51:32 +08:00
zipg cc9b802b49 fix(editor): handle Oracle line comments in DDL viewer 2026-07-13 16:14:56 +08:00
t8y2 a3f3cadb39 fix(postgres): distinguish overloaded routines 2026-07-13 00:26:04 +08:00
wuxiemian 130477c48c fix(safety): guard object browser batch empty 2026-07-12 21:30:37 +08:00
gggaiitx 3c4c16dc06 fix: 修复双击模式下单击对象失效,右键查看DDL、源码等复用右侧面板 2026-07-12 10:07:13 +08:00
wuxiemian 1be66fb115 feat(safety): add production environment safeguards 2026-07-12 10:02:27 +08:00
zipgandtangheng 8ff0f13bd4 fix: 兼容intel Mac旧版系统webview中样式问题
Co-authored-by: tangheng <tangheng@tanghengdeMacBook-Pro.local>
2026-07-11 21:53:29 +08:00
t8y2 361f7774e9 fix(objects): preserve database object source formatting 2026-07-11 21:38:24 +08:00
zipg 3747f08baa fix(table): refresh data tabs after clearing tables 2026-07-11 17:48:51 +08:00
zipg 085d7661af fix(objects): add safe object browser batch empty action 2026-07-11 17:48:45 +08:00
t8y2 a1b8174951 fix(doris): preserve external catalog in object browser 2026-07-11 13:34:18 +08:00
gggaiitx 5bcd24df1c feat(objects): open database objects in side panel 2026-07-11 12:48:57 +08:00
onlyc0302 903ab26c9b fix(postgres): allow extension dialog scrolling on desktop (#3107)
* fix(postgres): allow extension dialog scrolling

* feat(postgres): 优化安装插件弹窗高度响应式样式
对于issus#2989-pr#3033的补充修改。
2026-07-10 13:27:10 +08:00
t8y2 0431fbea49 fix(ui): preserve tab scroll positions 2026-07-10 00:35:33 +08:00
onlyc0302 5dfefbc0f5 fix(postgres): allow extension dialog scrolling 2026-07-09 18:19:40 +08:00
Abeautifulsnowanddbx-i18n-bot 2c2d9d7fef feat(objects): add checkbox multi-select and grid view for object browser
* feat(objects): add checkbox column toggle for object browser

- Add objectBrowserShowCheckbox setting (default: false) to EditorSettings
- Checkbox column hidden by default; auto-shows when any tables are selected
- Toolbar button toggles multi-select mode (active state highlighted in primary color)
- Clearing the toggle also clears all selections
- Add i18n key objects.toggleCheckbox in en/zh-CN

Closes #2748 (part 2)

* feat(objects): add grid view mode for object browser

- Add objectBrowserViewMode setting (list | grid, default: list) to EditorSettings
- Toolbar segmented control toggles between list and grid views, persisted across sessions
- Grid view renders cards (icon + name + type + row count) in a responsive auto-fill layout
- Reuses existing sort, search, filter, multi-select and context menu
- Partition children not expandable in grid mode (minimal version)
- Add i18n keys objects.viewList/objects.viewGrid across all locales
- Backfill objects.toggleCheckbox in es/it/ja/pt-BR/zh-TW (missed in prior commit)

Refs #2748

* fix(objects): redesign grid view cards for visual polish

- Center-align content (icon + name + metadata) for a proper tile look
- Enlarge type icons (h-7) so color coding is visible at a glance
- Merge type label and row count on one line with separator
- Reduce internal spacing (gap-1.5) and tighten padding
- Replace background hover with border glow + shadow for cleaner feedback
- Narrow min card width (150px) for denser grid, add align-content:start
- Softer rounded-lg corners

Refs #2748

* fix(objects): polish grid view card visual details

- Add colored circle background behind icons (type-matched opacity-10)
- Increase name font from text-xs to text-sm for better legibility
- Separate row count into a primary-tinted badge (only shown when > 0)
- Keep type label clean without mixing row count inline

Refs #2748

* fix(objects): refine grid card min-width, icon shadow, and type label size

* @
feat(object-browser): align tile/grid card metadata with list view columns

Add the metadata categories present in the list view but missing from
the tile/grid card view (objectBrowserViewMode === "grid"):
- Size pill (totalBytes) next to the existing rows pill in the stats row
- Timestamps row showing created_at · updated_at (per-row conditional)
- Comment row (truncated, per-row conditional, with hover tooltip)

Each card now shows: icon, name, type label, rows pill, size pill,
timestamps (when present), and comment (when present) — matching the
same metadata categories the list view displays across its 8 columns.

Also fix a pre-existing bug in the list view where the totalBytes
column tooltip (:title) used formatObjectBrowserCount instead of
formatObjectBrowserBytes, showing a count-formatted number instead
of a byte-formatted size string.
@

* @
feat(object-browser): add sort selector in toolbar for grid/list views

The list view has column header click-to-sort but the grid/tile view
had no way to change sort order. Add a compact sort selector in the
toolbar that works identically in both views:

- Native <select> dropdown with all 7 sort keys (name, type, rows,
  size, created, updated, comment) using existing column i18n labels
- ArrowUp/ArrowDown direction toggle button with localized tooltip
- Positioned between schema selector and view toggle in the toolbar
- Shares the existing sortKey/sortDirection/toggleSort logic — list
  view column headers continue to work as before
- Accessible: aria-label on select, title on direction button

i18n: added sortAsc/sortDesc/sortBy to en.ts and zh-CN.ts
@

* @
fix(object-browser): make sort key options reactive to available data

sortKeyOptions was a static array that always included created_at and
updated_at even when no row had data for those fields. Sorting by an
empty field is a no-op that silently confuses users.

Convert to a computed that mirrors the list view column visibility logic
(hasCreatedAt / hasUpdatedAt): the two time-based sort options only
appear when at least one loaded row has that field populated.

Follows design decision: sort selector remains visible in both list and
grid views (plan B), acting as a shared sort state indicator.
@

* @
fix(object-browser): reset sortKey when selected option disappears from options

When sortKeyOptions loses created_at or updated_at (e.g. after a schema
switch clears all rows), sortKey could remain set to a key no longer in
the dropdown, causing the <select> to show a blank selection.

Add a watch on sortKeyOptions that resets sortKey to "name" and
sortDirection to "asc" whenever the current key is no longer present.
@

* chore(i18n): autofill new translations

* perf(object-browser): virtualize tile/grid view with RecycleScroller

Replaces the flat v-for over filteredRows with a row-chunked
RecycleScroller, matching the list view. Previously, switching to tile
mode on a schema with thousands of tables mounted every card and its
CustomContextMenu at once, stalling the UI for several seconds.

Changes:
- gridRows computed: chunks filteredRows into rows of gridColumns cards
- ResizeObserver on the grid container drives gridColumns; initial read
  uses getComputedStyle to match contentRect.width and avoid a 1-frame
  column jump on mount
- objectGridRowHeight computed: item-size adapts to whether the dataset
  has timestamp/comment rows, minimising wasted row space
- watch(gridContainerRef) re-attaches the observer across list<->grid
  toggles; onBeforeUnmount cleans up
- scrollObjectsToTop() resets scroll position on sort, search,
  object-type filter and view-mode changes
- CSS: new .object-browser-grid-wrapper / -scroller / -row classes with
  will-change / contain parity with the list scroller

---------

Co-authored-by: dbx-i18n-bot <github-actions[bot]@users.noreply.github.com>
2026-07-09 11:59:25 +08:00
一颗红心 c60b23ffe7 fix: swap upload and download icons in various components for consistency 2026-07-07 14:17:33 +08:00
t8y2 1db11ea145 feat(postgres): support batch table cascade actions 2026-07-07 11:57:44 +08:00
zipg 668919a7c9 fix(gbase8s): make view source saves safer 2026-07-07 01:50:53 +08:00
zipgandzipg 26647ff755 fix(ddl-viewer): fix selection style visibility
Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-06 17:10:50 +08:00
t8y2 745f7f60b0 feat(postgres): add cascade table drop option 2026-07-06 15:45:47 +08:00
zergmk2 f800d80f90 feat: add SSH config aliases and PostgreSQL extensions 2026-07-05 20:29:49 +08:00
zipgandstaff 5c35755219 Feature:新增多套应用配色主题 (#2559)
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-05 00:34:47 +08:00
t8y2 223ecbec20 fix(oracle): skip rowid for view data queries 2026-07-04 17:07:43 +08:00
t8y2 7e7c4944e9 refactor(desktop): organize lib modules by domain 2026-07-04 13:53:52 +08:00
t8y2 32a9496d2a fix(tabs): close dropped table tabs 2026-07-04 12:21:44 +08:00
二丫讲梵 90d2ede740 feat(sidebar): add connection copy paste shortcuts 2026-07-04 12:19:56 +08:00
t8y2 a36d3c8f71 fix(objects): expand object browser search field 2026-07-04 10:54:25 +08:00
一颗红心andCursor 97f107caac fix(app): unify import/export icons and clarify result archive tooltip
* fix(app): unify import and export icons across sidebar surfaces

Use Upload for import actions and Download for export actions in the
connection sidebar, object browser, connection tree menus, and table
toolbox so icon semantics match the rest of the app.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(i18n): rename import result archive tooltip label

Clarify the editor toolbar action as importing a saved result archive so
it pairs clearly with the save result archive action.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 23:45:02 +08:00
zipgandstaff bba23aa9d3 fix(objects): make object browser width responsive and scroll internally
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-01 17:55:38 +08:00
zipgandstaff 5e8af8df2e Feature:支持模式选择搜索
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-01 15:44:36 +08:00