spiegel-keyman/common/core/web
Marc Durdin cacbbee5cc fix(web): properly handle selection
Relates to #5853 and others.

Selection management was not working properly with the various
OutputTargets:

1. When there is a non-empty selection, rules have no context -- it's
   like new text.
2. Backspace over a selection deletes just the selection.
3. Typing a character replaces the selection, of course, and collapses
   the caret to the end of the new text.
4. `hasSelection` is a very strange name for `OutputTarget` descendants.
   It doesn't mean "has an active selection" but rather, kinda means
   "supports selection internally".
5. Added `isSelectionEmpty` which is used for some of the new selection
   rules above.

Note that the `touchAlias` OutputTarget class does not currently support
selection. I hope we can deprecate `touchAlias` with the use of
`inputMode` (#3030) in the future, rather than adding support for
selection.
2022-02-23 15:12:58 +11:00
..
input-processor fix(web): further selection tweaks to mocks 2022-02-23 15:12:23 +11:00
keyboard-processor fix(web): properly handle selection 2022-02-23 15:12:58 +11:00
tests/resources chore(web): restores branch unit tests; they were not against embedded tab 2021-08-05 12:23:23 +07:00
tools auto: increment master version to 15.0.202 2022-02-21 13:02:21 -05:00
utils auto: increment master version to 15.0.202 2022-02-21 13:02:21 -05:00