Commit graph

112 commits

Author SHA1 Message Date
Marc Durdin
34568b3e8e fix(web): toolbar and loading optimisations
There are a number of changes here to improve the performance of
KeymanWeb and the toolbar and reduce unnecessary requests:

1. (kmwbase.ts and kmwkeyboards.ts) Added option `setActiveOnRegister`,
   default `'true'`; if set to `'false'` then will never attempt to
   activate the first registered keyboard. Note that this property is a
   string because the `options` object currently supports only string
   types, which is not ideal, but out of scope for this PR.

2. (kmwuitoolbar.ts) fixed issue with toolbar not matching correctly on
   full BCP 47 code (line 960) after keyboard change notification.

3. (kmwuitoolbar.ts) fixed issue with toolbar not showing active
   keyboard if the keyboard is activated before init is complete
   (see `ui.lastSelectedKeyboard` references).

4. (kmwuitoolbar.ts) avoided re-entrancy for `ui.changeKeyboardEvent`
   by ensuring that `ui.selectKeyboard` does not attempt to set the
   active keyboard again for keymanweb; note that this was being caught
   by the event dispatcher in keymanweb but it was still not ideal.

5. (kmwuitoolbar.ts) with above changes, able to remove appalling two
   second timeout on load (yay!)

These changes will be useful immediately with keymanweb.com.
2021-01-21 12:07:15 +11:00
jahorton
6d111783e3 fix(common/core/web): predictive context reset 2020-12-03 15:48:18 +07:00
jahorton
d9ff26daec refactor(web/engine): fixes DOM-web, recorder 2020-06-17 10:51:33 +07:00
jahorton
b57309846b feat(web): reports detected device 2020-05-13 13:45:56 +07:00
jahorton
49488ed17f feat(web): adds some event metadata for reports 2020-05-13 10:07:14 +07:00
jahorton
5c709f9468 chore(web/engine): post-rebase cleanup 2020-04-24 14:35:52 +07:00
jahorton
a2146209e1 fix(web): adjusts KeymanWeb build script to use inputProcessor package 2020-04-24 14:35:49 +07:00
jahorton
1125c3ba3e refactor(web/engine): successful web-core compilation 2020-04-17 11:33:03 +07:00
jahorton
2f6e1e42af refactor(web/engine): initial ModelManager split 2020-04-09 09:22:35 +07:00
jahorton
7a04baa9a5 change(web/engine): kbdProcessor.core => core.keyboardProcessor 2020-04-06 13:17:32 +07:00
jahorton
227062ba56 refactor(web/engine): InputProcessor/KeyboardProcessor split 2020-04-03 10:50:58 +07:00
Joshua Horton
b438291cb0
Merge branch 'master' into refactor/web/engine/keyboard-api-dom-split-start 2020-04-03 08:26:45 +07:00
Joshua Horton
8efdd9616d
Merge pull request #2927 from keymanapp/fix/web/539-active-element-tracking
fix(web): fixes activeElement typing
2020-04-03 08:17:30 +07:00
Joshua Horton
8801779166
Merge pull request #2926 from keymanapp/refactor/web/engine/variable-store-storage-abstraction
refactor(web/engine): variable store storage abstraction
2020-04-03 08:16:31 +07:00
Joshua Horton
09847c6a7c
Merge pull request #2920 from keymanapp/refactor/web/engine/layer-system-store
refactor(web/engine): Processor now manages current layer; OSK listens via callback
2020-04-03 08:15:46 +07:00
jahorton
948f55c8ac fix(web): missed a few HTMLElement|Document spots 2020-03-31 15:39:34 +07:00
jahorton
616934f8b0 refactor(web/engine): abstraction for variable-store serialization 2020-03-31 14:46:04 +07:00
jahorton
8fa4b1eaf1 refactor(web/engine): moves getOutputTarget() => DOM space 2020-03-31 11:48:14 +07:00
jahorton
55998fa1e1 refactor(web/engine): Processor now controls layer 2020-03-31 10:48:53 +07:00
jahorton
096ab5906b chore(web/engine): Merge branch 'master' into refactor/web/engine/keyboard-api-dom-split-start 2020-03-31 08:41:02 +07:00
jahorton
8f2058de2c refactor(web/engine): starts splitting KeyboardInterface defns 2020-03-30 11:58:49 +07:00
jahorton
27564418e9 change(web/engine): Addresses PR comments 2020-03-29 21:53:30 +07:00
jahorton
944d93aa62 refactor(web/engine): reworks resetContext, adds OutputTarget version 2020-03-27 15:56:29 +07:00
jahorton
fdb6ba0c4f refactor(web/engine): moves kbd state management to Processor 2020-03-27 15:45:09 +07:00
jahorton
fc5e8f2449 refactor(web/engine): renames old DOM-related sources 2020-03-26 10:05:47 +07:00
jahorton
47bec08cc5 refactor(web/engine): relocates kmwdom.ts and kmwdomevents.ts 2020-03-26 10:05:47 +07:00
jahorton
39eb9bfabc feat(web): Adds 'force' parameter to removeKeyboards for unit test use 2020-03-24 12:51:00 +07:00
jahorton
97c3ff9b19 chore(web/engine): Merge branch 'refactor/web/engine/keyboard-wrapper-2' into refactor/web/engine/keyMapManager 2020-03-24 08:21:17 +07:00
jahorton
b5f37dd699 fix(web/engine): Addresses PR comments 2020-03-23 12:42:11 +07:00
jahorton
1b1a79fae6 refactor(web/engine): base layout now set on Processor 2020-03-21 23:11:51 +07:00
jahorton
bffd87fbd5 refactor(web/engine): headless-friendly keymapping 2020-03-21 22:50:14 +07:00
jahorton
69b309104a refactor(web/engine): moves CJK, RTL, chiral checks to Keyboard wrapper 2020-03-21 21:40:40 +07:00
jahorton
e6788e2ad9 refactor(web/engine): wraps active keyboard 2020-03-21 14:30:33 +07:00
jahorton
e1bc6cfdd0 refactor(web/engine): starts com.keyman.keyboards TS namespace 2020-03-21 13:41:52 +07:00
jahorton
6ba4c8dd69 refactor(web/engine): a few missed details, ensures embedded works 2020-03-20 22:09:43 +07:00
jahorton
19888503c3 refactor(web/engine): Processor.installInterface 2020-03-20 21:03:21 +07:00
jahorton
fdc09c21b8 refactor(web/engine): KeyboardInterface now property of Processor 2020-03-20 20:39:53 +07:00
jahorton
246f4ae42c fix(web): Partial fix for documentation OSK gen 2020-03-10 13:55:21 +07:00
jahorton
2f3be18779 change(web): better 'keyman.build' assignment (for unmini'd) 2020-01-31 12:50:20 +07:00
jahorton
ecddb73862 change(android): gets API 23 working again, but not 19 or 21 (yet) 2019-12-02 07:55:37 +07:00
jahorton
24dca0e6a6 Adds documentation, integrates partially for iOS. 2019-04-23 09:16:42 +07:00
jahorton
8cbbd9d961 Baseline in-app suggestion acceptance 2019-04-22 15:26:33 +07:00
Joshua A. Horton
b00e47fdfe Start of the BannerManager class. 2019-03-19 15:48:41 +07:00
Darcy
2074956bf9 Add methods to control visibility and enable 2019-03-14 15:42:38 +07:00
Joshua A. Horton
aeae40ae21 Links KMW to the reworked LMLayer API. 2019-03-05 08:12:54 +07:00
Joshua A. Horton
89f8f88e1b Initial work on KMW's ModelManager. 2019-02-27 12:19:47 +07:00
Joshua A. Horton
d761a74823 Actually includes the files this time... 2019-02-19 08:52:31 +07:00
Joshua A. Horton
e56dc00ee8 Merge branch 'master' into web-touch-alias-refactor 2019-02-15 08:34:29 +07:00
Joshua A. Horton
ebce04fdca Moves text-processing related files to text namespace. 2019-02-07 02:28:27 +07:00
Joshua A. Horton
87bd9cabb1 Tidies up some of the recent refactor work. 2019-02-06 23:36:48 +07:00