Keep the first-selected cell marked as active during a multi-cell selection
The active cell (bold border/handle, formula bar target) used to track selection.focus, so it followed the mouse/cursor while dragging or shift-extending a range. Switch it to selection.anchor -- the first cell of the current selection action -- so it stays put while the range grows, matching Excel/Numbers. Tab/Enter data-entry flow already keeps anchor == focus while it moves the cursor, so that behaviour is unaffected. - document.ts: activeCell/activeCellName/activeCellInput read the anchor. - FormulaBar.vue: commits to the anchor cell to match what it displays. - TableGrid.vue: isActive() (border + handle) and F2/type-to-edit target the anchor; Home/End keep using the cursor's row via s.focus. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -17,7 +17,7 @@ watch(
|
||||
|
||||
function commit() {
|
||||
const sel = store.doc.selection;
|
||||
if (sel) store.setCellInput(sel.tableId, sel.focus.col, sel.focus.row, draft.value);
|
||||
if (sel) store.setCellInput(sel.tableId, sel.anchor.col, sel.anchor.row, draft.value);
|
||||
}
|
||||
function onEnter() {
|
||||
commit();
|
||||
|
||||
Reference in New Issue
Block a user