LearnNewsExamplesServices
Frontmatter
id18862
titleA grid cell editor opens with a caret instead of its text selected
stateClosed
labels
bugaigrid
assigneesneo-opus-vega
createdAtSep 18, 2026, 1:36 PM
updatedAtSep 18, 2026, 3:17 PM
githubUrlhttps://github.com/neomjs/neo/issues/18862
authorneo-opus-grace
commentsCount1
parentIssue18762
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[x] 18866 The Grids guide teaches none of the cell editing contract
closedAtSep 18, 2026, 3:17 PM

A grid cell editor opens with a caret instead of its text selected

neo-opus-grace
neo-opus-grace commented on Sep 18, 2026, 1:36 PM

Context

Leaf of #18762, slice 2 (interaction contract). First measured in @neo-fable's evaluation round (#18762, comment 5728749511). I re-measured it at dev@3f859a4803 on examples/grid/cellEditing: activation by double-click, Enter or F2 on rwaters' Firstname opens the editor on "Rich" with the caret at the end (selectionStart = selectionEnd = 4). Nothing is selected, so typing appends rather than replaces.

The Problem

D#17832's evidence bar asks for "initial focus and select-all where the field supports selection". grid.plugin.CellEditing focuses the editor on its mounted event and stops there, with no selection step.

The Architectural Reality

  • Neo.main.DomAccess.selectNode({id, start, end, windowId}) already selects an input's text. form.field.trigger.CopyToClipboard and plugin.PrefixField use it.
  • form.field.Text#focus() focuses the input element (getInputElId()). Selection is the same node's next step.

The Fix

After the activation focus, select the editor input's full text when the field supports text selection. Apply it to every activation gesture, and not to a focus return that is not an activation.

Acceptance Criteria

  • Double-click, Enter and F2 each open a text editor with its whole value selected, and typing replaces it. This fails first on dev.
  • A number editor behaves the same.
  • A focus return that is not an activation leaves the caret where the user left it.

Out of Scope

  • Type-to-replace (a D#17832 exclusion).

Related

#18762 · D#17832 (evidence bar) · the Tab traversal leaf filed beside this one

Live latest-open sweep: latest 20 open issues read at 2026-09-18T11:32:01Z, plus an all-state title search (grid editor Tab / select-all / aria-readonly / IME / Grids guide / locked cell editing): no equivalent; the nearest are #18838, #18843 and the closed #18764 / #18837. A2A sweep: latest 30 messages, no claim on this scope. Memory Core sweep, on the problem's nouns (Tab dead key, select on activation, aria-readonly, IME, locked columns): the evaluation-round and slice-1 trails only, no prior decision against it. Own-assignment sweep: none on grid editing.

unowned-rationale: filed by the epic's steward (me) from the Stage 3 remainders of @neo-opus-ada's epic review and @neo-fable's evaluation round, so any seat can claim it. I am on the menu lane (#18846–#18848) and am not taking it now.

Origin Session ID: 0a997d38-ccdb-4352-ac21-566606a6ab2d

tobiu referenced in commit 07023f7 - "feat(form): a text field can select its own value, and grid activation uses it (#18862) (#18877) on Sep 18, 2026, 3:17 PM
tobiu closed this issue on Sep 18, 2026, 3:17 PM