Commit graph

139 commits

Author SHA1 Message Date
Marc Durdin
55c2192171
Merge pull request #5348 from keymanapp/feat/web/949-spacebar-text-controls
feat(web): spacebar text controls
2021-07-02 08:17:59 +10:00
Marc Durdin
b4840f96c4 fix(web): add spacebarText to OptionType 2021-06-29 06:07:11 +10:00
Darcy Wong
ec9e6aaef8
Update web/source/kmwbase.ts
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2021-06-28 14:29:39 +07:00
Marc Durdin
e56f377d69
Merge branch 'master' into feat/web/949-spacebar-text-controls 2021-06-28 16:01:26 +10:00
Darcy Wong
fc514cc0f0 chore(web): Merge remote-tracking branch 'origin/master' into feat/web/error-stubs 2021-06-25 14:45:39 +07:00
Darcy Wong
026bf9db2e
Merge pull request #5302 from keymanapp/feat/web/alert-option
feat(web): Add option useAlerts to control alerts()
2021-06-25 14:29:54 +07:00
Darcy Wong
1ba05a429a
Merge pull request #5260 from keymanapp/feat/web/promise-api
feat(web): Update addLanguageKeyboards to return a Promise
2021-06-25 14:29:26 +07:00
Darcy Wong
37c42e7dee chore(web): Merge branch 'feat/web/alert-option' into feat/web/error-stubs 2021-06-25 09:24:19 +07:00
Darcy Wong
b843a24f9a chore(web): Address additional review comments
* Add more description on promise-api/index.html
* Use OptionType
2021-06-25 09:15:13 +07:00
Marc Durdin
38fc826fbf feat(web): spacebar text controls
Relates to #949.

* Adds optional `displayName` property to keyboard stubs: if present,
  this will override the name on the spacebar.

* Adds optional `spacebarText` member to `keyman.options`. This defaults
  to `SpacebarText.LANGUAGE_KEYBOARD`, and can be one of:

  ```
  SpacebarText.LANGUAGE
  SpacebarText.KEYBOARD
  SpacebarText.LANGUAGE_KEYBOARD
  SpacebarText.BLANK
  ```

* Sets the display pattern for LANGUAGE_KEYBOARD to be
  "language - keyboard" instead of "language (keyboard)", which
  reduces the number of parentheses visible on the spacebar.
2021-06-24 08:44:23 +10:00
Darcy Wong
359eabec2f feat(web): Merge keyboard stub with error stub 2021-06-23 16:19:37 +07:00
Darcy Wong
b68ed7f874 fix(web): revert assigning default attachType 2021-06-23 13:58:48 +07:00
Darcy Wong
9c4170bba6 fix(web): Handle blank attachType 2021-06-23 12:43:34 +07:00
Darcy Wong
ccc2ecaddb fix(web): Set optional properties in OptionType 2021-06-20 09:05:48 +07:00
Darcy Wong
473b0b44be fix(web): And attachType assignment 2021-06-19 07:44:55 +07:00
Darcy Wong
e7d35a798d fix(web): Fix attachType enumeration 2021-06-19 07:43:47 +07:00
Darcy Wong
9bbd8035e0 fix(web): Start addressing review comments 2021-06-18 15:26:54 +07:00
Darcy Wong
b2636603d8 feat(web): Add option useAlerts to control alerts() 2021-06-17 13:03:56 +07:00
Darcy Wong
d7d5ad085d chore(web): Update preamble 2021-06-16 21:44:02 +07:00
Darcy Wong
e81a7c1611 fix(web): Fix return of nested promises 2021-06-16 17:57:17 +07:00
Darcy Wong
59f26a0e64 chore(web): Remove Error return type 2021-06-16 09:26:59 +07:00
Darcy Wong
2c0f8e8566 chore(web): Minor cleanup 2021-06-15 12:59:00 +07:00
Darcy Wong
083d2ba711 fix(web): Use async/await for getting language list catalog 2021-06-15 12:27:27 +07:00
Darcy Wong
9c93f31861 fix(web): Cleanup params 2021-06-11 12:14:52 +07:00
Darcy Wong
61f3a8dd5b feat(web): Initial try for addLanguageKeyboards to return a Promise 2021-06-10 15:02:57 +07:00
jahorton
99b186b9f4 refactor(web): internal BuildVisualKeyboard signature (external API unchanged) 2021-06-10 14:39:24 +07:00
jahorton
a702262637 refactor(web): osk height-adjustment 2021-06-10 14:33:17 +07:00
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