Merge pull request #2825 from keymanapp/fix/web/cherry/bulk-renderer-internal-api

fix(web): fixes internal reference for validation tool
This commit is contained in:
Joshua Horton 2020-03-13 15:39:05 +07:00 committed by GitHub
commit 3d0d5f1be5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 6 deletions

View file

@ -106,7 +106,7 @@ namespace com.keyman.renderer {
// Uses 'private' APIs that may be subject to change in the future. Keep it updated!
var layers;
if(isMobile) {
layers = keyman.osk.layers;
layers = keyman.osk.vkbd.layers;
} else {
// The desktop OSK will be overpopulated, with a number of blank layers to display in most cases.
// We instead rely upon the KLS definition to ensure we keep the renders sparse.
@ -116,10 +116,14 @@ namespace com.keyman.renderer {
let renderLayer = function(i: number) {
return new Promise(function(resolve) {
// (Private API) Directly sets the keyboard layer within KMW, then uses .show to force-display it.
if(isMobile) {
keyman.osk.layerId = layers[i].id;
if(keyman.osk.vkbd) {
if(isMobile) {
keyman.osk.vkbd.layerId = layers[i].id;
} else {
keyman.osk.vkbd.layerId = Object.keys(layers)[i];
}
} else {
keyman.osk.layerId = Object.keys(layers)[i];
console.error("Error - keyman.osk.vkbd is undefined!");
}
// Make sure the active element's still set!
renderer.setActiveDummy();
@ -128,7 +132,7 @@ namespace com.keyman.renderer {
renderer.render(box, isMobile).then(function(imgEle: HTMLImageElement) {
let eleLayer = document.createElement('div');
let eleLayerId = document.createElement('p');
eleLayerId.textContent = 'Layer ID: ' + (isMobile ? keyman.osk.layers[i].id : Object.keys(layers)[i]);
eleLayerId.textContent = 'Layer ID: ' + (isMobile ? layers[i].id : Object.keys(layers)[i]);
eleLayer.appendChild(eleLayerId);
eleLayer.appendChild(imgEle);
@ -141,7 +145,7 @@ namespace com.keyman.renderer {
};
// The resulting Promise will only call it's `.then()` once all of this keyboard's renders have been completed.
return renderer.arrayPromiseIteration(renderLayer, isMobile ? keyman.osk.layers.length : Object.keys(layers).length);
return renderer.arrayPromiseIteration(renderLayer, isMobile ? layers.length : Object.keys(layers).length);
}).catch(function() {
console.log("Failed to load the \"" + kbd['InternalName'] + "\" keyboard for rendering!");
divSummary.appendChild(renderer.createKeyboardHeader(kbd, false));

View file

@ -4,6 +4,7 @@
* Bug fix: further updates BuildVisualKeyboard (#2823)
* Bug fix: fixes word lookup for wordlist models for languages in the SMP Unicode planes (#2821)
* Bug fix: fixes issue with touch-layout popup key modifier interpretation (#2820)
* Bug fix: fixes issue with bulk-rendering OSK validation dev tool (#2823)
## 2020-03-11 13.0.103 stable
* Bug fix: updates BuildVisualKeyboard for generating help documentation (#2807)