Skip to content

feat: context menu for cells (3.11.0) - #15

Merged
asif7774 merged 10 commits into
mainfrom
feat/context-menu
Oct 26, 2026
Merged

asif7774 merged 10 commits into
mainfrom
feat/context-menu

Conversation

@asif7774

Copy link
Copy Markdown
Member

Summary

Adds an opt-in cell context menu and releases it as 3.11.0.

  • contextMenu prop: right-click, Shift+F10 / the ContextMenu key, or Ctrl+click on Apple devices opens a menu on a body cell.
  • Built-in items: Copy, Copy with headers, and Undo / Redo when undoRedo is on (disabled when there is nothing to undo or redo).
  • Inside the current cell range, Copy writes the range (same text as Ctrl/Cmd+C) and the range stays; elsewhere it copies the clicked cell.
  • getContextMenuItems(params, defaultItems) replaces or extends the items; an empty list keeps the browser's own menu.
  • apiRef.openContextMenu(id, field) / closeContextMenu(); it opens on a later frame, once the cell is scrolled into view.
  • New public types GridContextMenuParams, GridContextMenuItem, GridContextMenuEntry, and 5 localeText keys.
  • Internal: ColumnMenu and the new menu share useMenuKeyboard; the column menu's behaviour is unchanged.

With contextMenu off nothing changes: no listener is attached, and the new CSS only targets new classes.

Guide: docs/features/context-menu.md. Demo page: Context Menu.

Size

DataGrid is 89.0 KB gzipped (CI budget 92 KB). The feature adds about 2.1 KB, inside the 2.15 KB allowance in the plan, which also records why the allowance was raised.

Known issues (documented)

  • On Windows, the ContextMenu key may fire the browser's contextmenu event on key-up and re-open the menu on the same cell.
  • closeContextMenu() does not cancel an openContextMenu that is still waiting for its cell to render.

Test plan

  • npm test (2045 tests)
  • Context-menu browser tests in Chromium, Firefox and WebKit (33 tests)
  • npm run test:all, npm run test:demo, npm run test:smoke
  • lint, typecheck, build, build:lib, check:package, check:compiler, check:versions, wiki:build
  • CI green on this PR

Spec: docs/superpowers/specs/2026-10-26-context-menu-design.md. Plan: docs/superpowers/plans/2026-10-26-context-menu.md.

🤖 Generated with Claude Code

@ecc-tools

ecc-tools Bot commented Oct 26, 2026

Copy link
Copy Markdown

ECC Tools / Security Evidence

Commit: b8229e43b9e365db8ec40f92792972a71586c394

Security scanner evidence required (action_required)

Detected 1 security-sensitive predictive risk signal(s) without scanner evidence.

Mode: enforce

Findings:

  • Security-sensitive changes may ship without scanner evidence: The PR touches billing, secrets, auth, webhooks, agent, or CI-sensitive surfaces without adding obvious security scanner, code scanning, or security-focused validation evidence. (11 security-sensitive paths changed; 0 security scanner or security-focused validation artifacts changed)

Touched security-sensitive paths:

  • lib/hooks/core/gridApiPlaceholder.ts
  • lib/hooks/core/gridKeyDown.test.ts

Expected evidence:

  • Security scanner, code scanning, secret scanning, dependency/security review, or focused security regression output.
  • SARIF/code-scanning upload or equivalent pass/fail gate for the changed surface.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Oct 26, 2026

Copy link
Copy Markdown

ECC Tools / PR Risk Taxonomy

Commit: b8229e43b9e365db8ec40f92792972a71586c394

PR taxonomy review recommended (neutral)

Detected 3 PR taxonomy bucket(s): Security Evidence, Install Manifest Integrity, CI/CD Recommendation.

Scanned 52 changed file(s).

Roadmap taxonomy buckets:

Security Evidence

Security-sensitive changes should carry explicit scanner, code-scanning, or focused regression evidence.

Signals:

  • Security-sensitive changes may ship without scanner evidence
  • 0 security-sensitive path(s) changed

Paths:

  • CHANGELOG.md
  • CLAUDE.md
  • demo/App.tsx

Install Manifest Integrity

Install manifests, plugin metadata, and shipped skills should stay synchronized with user-facing setup guidance.

Signals:

  • 2 install or manifest path(s) changed

Paths:

  • package-lock.json
  • package.json

CI/CD Recommendation

CI, dependency, coverage, and contract signals should be routed into follow-up checks or verification work.

Signals:

  • User-facing UI changes may ship without browser coverage
  • 13 CI or workflow path(s) changed

Paths:

  • lib/components/ContextMenu/GridContextMenu.test.tsx
  • lib/components/DataGrid/DataGrid.contextMenu.apple.test.tsx
  • lib/components/DataGrid/DataGrid.contextMenu.browser.test.tsx
  • lib/components/DataGrid/DataGrid.contextMenu.test.tsx
  • lib/components/DataGrid/DataGrid.rowMemo.test.tsx
  • lib/components/ui/useMenuKeyboard.test.tsx
  • lib/hooks/core/gridKeyDown.test.ts
  • lib/hooks/core/useGridCellSelection.test.ts

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Oct 26, 2026

Copy link
Copy Markdown

ECC Tools / Reference Set Readiness

Commit: b8229e43b9e365db8ec40f92792972a71586c394

Reference set readiness gaps detected (neutral)

Reference evidence present for 0/7 areas (0%) across 52 changed file(s).

This check is based on files changed in this PR. Repository-level readiness is still reported by /ecc-tools analyze comments and generated manifests.

Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Oct 26, 2026

Copy link
Copy Markdown

ECC Tools / Hosted Promotion Readiness

Commit: b8229e43b9e365db8ec40f92792972a71586c394

Hosted promotion readiness passed (success)

No hosted promotion evidence gaps detected across 52 changed file(s); 0 corpus scenarios had matching evidence.

This check compares PR file changes against the evaluator/RAG promotion corpus in src/analyzers/fixtures/evaluator-rag-corpus.ts.
Hosted output scoring inspected 0 completed cached hosted job results.

No evaluator corpus scenarios matched this PR.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Oct 26, 2026

Copy link
Copy Markdown

ECC Tools / PR Config Audit

Commit: b8229e43b9e365db8ec40f92792972a71586c394

No changed-config issues detected (success)

Scanned 1 config file(s) present at this commit across 1 changed config path(s) and found no issues in the supported security rules.

Changed config files:

  • CLAUDE.md

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Oct 26, 2026

Copy link
Copy Markdown

ECC Tools / PR Harness Audit

Commit: b8229e43b9e365db8ec40f92792972a71586c394

Harness warnings detected (neutral)

Scanned 1 changed config file(s) and found 1 harness issue(s).

  • [medium] ECC manifest missing (CLAUDE.md)

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@asif7774
asif7774 merged commit 8c80a72 into main Oct 26, 2026
2 of 3 checks passed
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