Skip to content

feat: add cell height clamping and editable full-content modal - #97

Open
cDivus wants to merge 1 commit into
jonaraphael:mainfrom
cDivus:feat/cell-truncation
Open

feat: add cell height clamping and editable full-content modal#97
cDivus wants to merge 1 commit into
jonaraphael:mainfrom
cDivus:feat/cell-truncation

Conversation

@cDivus

@cDivus cDivus commented Aug 9, 2026

Copy link
Copy Markdown

Demo: https://youtu.be/pRLV8W7mKcE

Adds cell height clamping and an editable modal viewer to handle large cells without stretching grid layouts or hurting performance:

  • csv.maxCellHeightLines setting: Clamps visible cell height (default 3 lines; set to 0 to disable).
  • DOM text truncation: Truncates cell text over 1,000 characters in the DOM and fetches full content on demand via IPC.
  • Editable modal viewer: Inspect and edit full cell contents with Save (Ctrl+Enter), Copy, and Close (Esc) buttons.
  • Context menu & double-click routing: Adds "View Full Cell Content" to context menu and routes ultra-long cell edits to the modal.
  • Tests & docs: Updated README and package config; added unit tests (108 passing).

…lHeightLines setting

- Wrap table cell contents in block container with CSS line-clamping
- Add configurable csv.maxCellHeightLines setting (default 3, 0 for no truncation before 1000 chars)
- Truncate ultra-long cell text (>1000 chars) in DOM nodes for fast rendering (ex. Base64 image), with on-demand getCellContent IPC fetching
- Make full content viewer modal editable with explicit Save, Copy, and Close actions
- Route ultra-long cell edits and double-clicks to the modal viewer to prevent horizontal column stretching
- Register csv.maxCellHeightLines in package.json, README.md, and configuration listener for live settings refresh
- Add unit tests for cell truncation, modal editing, and IPC handlers (108 tests passing)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant