spiegel-keyman/web/source
Marc Durdin b05fda1c6a fix(web): selection direction and tests
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.
2022-02-23 15:13:07 +11:00
..
dom fix(web): selection direction and tests 2022-02-23 15:13:07 +11:00
fonts Move KMBM variable out of KV member in keyboards to match compiler behaviour 2017-10-20 10:42:54 +07:00
keyboards feat(web): basic support for newContext 2021-11-23 15:00:47 +11:00
osk fix(web): add readonly mode for rule behavior finalization 2022-02-22 10:42:20 +11:00
resources fix(web): remove canvas use for iOS compatibility 2021-11-16 16:51:34 +11:00
text fix(web): improve keyboard switch performance 2021-11-22 10:47:05 +11:00
utils chore(web): replaces literals with constants 2021-09-23 09:27:09 +07:00
.editorconfig Start adding banner module 2019-03-14 15:42:38 +07:00
build.sh chore: remove sentry exported variables (rely on build configuration) 2021-10-05 09:26:52 +11:00
build_dev_resources.sh change(web): better recorder build management 2020-05-01 08:06:12 +07:00
build_kill_browserstack.sh fix(web): Always pass kill_browserstack 2021-06-08 07:48:43 +07:00
keymanweb.ts change(web): SMP processing now always enabled 2021-04-21 10:53:11 +07:00
kmwapi.ts fix(web/engine): final PR review fixes 2020-05-01 08:01:14 +07:00
kmwbase.ts feat(web): basic support for newContext 2021-11-23 15:00:47 +11:00
kmwdebug.js change(web/engine): kbdProcessor.core => core.keyboardProcessor 2020-04-06 13:17:32 +07:00
kmwdebugstub.js KeymanWeb 10.0 alpha (#124) 2017-07-26 07:36:58 +07:00
kmwdevice.ts fix(web): revise tablet detect strategy 2021-12-02 15:37:56 +11:00
kmwembedded.ts fix(web): Incorporate review comments 2022-01-17 09:54:50 +07:00
kmwexthtml.ts fix(web): Fixes #2322, updates to tsc 3.7.2 2019-11-18 12:22:43 +07:00
kmwhotkeys.ts refactor(web/engine): starts DOM pre-processor 2020-03-26 13:01:14 +07:00
kmwinit.ts KeymanWeb - versioning update for beta. 2019-01-15 08:52:43 +07:00
kmwnative.ts fix(web): Have util.wait check useAlerts option 2021-08-03 10:33:16 +07:00
kmwreleasestub.js KeymanWeb - versioning update for beta. 2019-01-15 08:52:43 +07:00
kmwrotation.ts fix(web): error-prone uses of _Show; initial pred-banner load when embedded 2021-08-24 09:24:23 +07:00
kmwtypedefs.ts refactor(web): OSK connection to active element 2021-09-01 09:44:00 +07:00
kmwuibutton.ts chore(web): addresses review comments 2021-07-23 11:48:51 +07:00
kmwuifloat.ts chore(web): addresses review comments 2021-07-23 11:48:51 +07:00
kmwuimanager.ts Applies namespacing to the bulk of currently-refactored KMW code. 2018-03-05 09:51:20 +07:00
kmwuitoggle.ts chore(web): addresses review comments 2021-07-23 11:48:51 +07:00
kmwuitoolbar.ts chore(web): addresses review comments 2021-07-23 11:48:51 +07:00
kmwutils.ts fix(web): font size was not consistently set 2021-11-15 10:08:18 +11:00
singleton.ts Initial reorganization of OSK code complete. Regressions exist, though. 2019-01-10 11:54:47 +07:00
tsconfig.base.json change(web): reworks source-map root 2020-03-11 08:44:43 +07:00
tsconfig.dev_resources.json refactor(web/engine): fixes DOM-web, recorder 2020-06-17 10:51:33 +07:00
tsconfig.embedded.json refactor(web/engine): fixes DOM-web, recorder 2020-06-17 10:51:33 +07:00
tsconfig.json Refactors TS compile defs, converts the UI element sources. 2017-12-15 10:19:53 +07:00
tsconfig.ui.json fix(web): fixes UI modules' compilation 2020-04-24 13:45:16 +07:00
tsconfig.web.json refactor(web/engine): fixes DOM-web, recorder 2020-06-17 10:51:33 +07:00
version.txt Move KeymanWeb project to web/ 2017-05-26 11:00:34 +07:00