mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-06 00:45:32 +00:00
Selection direction was not maintained in mutations, which could have unexpected consequences. Added support for selection direction to input and textarea. The functions `getTextBeforeCaret()` and `getTextAfterCaret()` are named somewhat incorrectly, as they actually get the text before and after the active selection (and a collapsed zero-length selection is equivalent to the caret). It would be worth renaming these in a future refactor. This PR fixes the unit tests so that caret position is tested correctly with an active selection -- the caret can be at either the start or the end of the selection, corresponding with the direction in which the user originally selected the text. It also fixes the assumptions around the above named functions for `input` and `textarea` types. Note that selection interactions are still buggy with prediction selections; these bugs were present in 15.0.118-alpha and I will tackle them in an upcoming commit. |
||
|---|---|---|
| .. | ||
| targets | ||
| domDefaultOutput.ts | ||
| domEventHandlers.ts | ||
| domManager.ts | ||
| domOverrides.ts | ||
| preProcessor.ts | ||
| touchAliasElement.ts | ||
| utils.ts | ||
| variableStoreCookieSerializer.ts | ||