Skip to content

Add support for reordering columns and persisting state#121

Merged
mattwar merged 2 commits into
mainfrom
user/mattwar/CustomizeColumns
May 19, 2026
Merged

Add support for reordering columns and persisting state#121
mattwar merged 2 commits into
mainfrom
user/mattwar/CustomizeColumns

Conversation

@mattwar

@mattwar mattwar commented May 19, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings May 19, 2026 16:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds per-table column layout persistence (resize + reorder) by introducing a serializable table view state, wiring it through the data table provider, and saving it back into .kqr-backed result documents / singleton views while avoiding webview redraw flashes during page rebuilds.

Changes:

  • Introduces ResultTableView and plumbs optional tableViews through ResultData.
  • Extends DataTableProvider/DataTableView to accept initial view state, track column resize/reorder in the webview, and notify host listeners.
  • Persists updated layout back into .kqr documents and suppresses certain webview messages during HTML rebuild to prevent visible flashes.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/Client/tests/unit/dataTableProvider.test.ts Adds unit coverage for initial view state embedding and host-side updates via setColumnView.
src/Client/features/server.ts Adds ResultTableView and optional ResultData.tableViews schema for persisted per-table presentation state.
src/Client/features/resultsViewer.ts Loads saved table view state into table views, listens for changes, and persists them back to .kqr documents; adds suppressMessages to avoid redraw flashes.
src/Client/features/plotlyChartProvider.ts Clears cached chart HTML/payload to avoid stale chart replay after page rebuilds.
src/Client/features/dataTableProvider.ts Implements column width persistence + drag/drop column reorder in the table webview and exposes view-state APIs to the host.
src/Client/features/compositeChartProvider.ts Clears Plotly replay state when delegating rendering to TimePivot.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Client/features/dataTableProvider.ts Outdated
Comment thread src/Client/features/dataTableProvider.ts
Comment thread src/Client/features/dataTableProvider.ts
Comment thread src/Client/features/resultsViewer.ts Outdated
Comment thread src/Client/features/dataTableProvider.ts Outdated
Comment thread src/Client/features/resultsViewer.ts Outdated
@mattwar mattwar merged commit 6a24ab0 into main May 19, 2026
5 checks passed
@mattwar mattwar deleted the user/mattwar/CustomizeColumns branch May 19, 2026 17:28
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.

2 participants