T21a round 2 fixes

- a field notes its selection when a key goes down, so undo of typing selects
  what the typing replaced
- reading order skips table cells merged away, so Up and Down across blocks
  land on cells that show
This commit is contained in:
ZacharyZhang-NY committed 2026-09-26 03:57:27 -04:00
1 parent 82e227cf60
commit d0c7f98269
6 files changed
+68 -3

No files matched your search

+3
View File
@@ -76,6 +76,8 @@ pub struct BlockEditor {
current: Snapshot,
/// The field that last held focus, as block and field.
caret: Option<(u64, usize)>,
/// The selection a key went down on, before its field changed.
typed_from: Option<(u64, usize, std::ops::Range<usize>)>,
pub(crate) people: Vec<SharedString>,
pub(crate) diagram: Option<RenderDiagram>,
_synced: Subscription,
@@ -95,6 +97,7 @@ impl BlockEditor {
caret: None,
},
caret: None,
typed_from: None,
people: Vec::new(),
diagram: None,
_synced: synced,