virtual-keypad 5.8.0 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/package.json +1 -1
- package/src/keypad.css +8 -0
- package/src/keypad.js +18 -3
- package/src/receiver.js +11 -0
package/package.json
CHANGED
package/src/keypad.css
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
justify-content: center;
|
|
14
14
|
|
|
15
15
|
padding: 1em;
|
|
16
|
+
font-family: sans-serif;
|
|
16
17
|
}
|
|
17
18
|
#keypad-header {
|
|
18
19
|
height: 100%;
|
|
@@ -34,6 +35,13 @@
|
|
|
34
35
|
box-shadow: inset 2px 2px 4px #888888,
|
|
35
36
|
inset -2px -2px 4px #fff;
|
|
36
37
|
}
|
|
38
|
+
#keypad-footer {
|
|
39
|
+
position: absolute;
|
|
40
|
+
font-size: smaller;
|
|
41
|
+
width: 100%;
|
|
42
|
+
bottom: 0;
|
|
43
|
+
right: 0;
|
|
44
|
+
}
|
|
37
45
|
|
|
38
46
|
/* Grid of main keys themselves */
|
|
39
47
|
#keypad-keys {
|
package/src/keypad.js
CHANGED
|
@@ -69,6 +69,10 @@ class Keypad extends KeypadPeer {
|
|
|
69
69
|
document.getElementById("keypad-header").innerText = data.headerContent;
|
|
70
70
|
this.headerMessage = data.headerContent;
|
|
71
71
|
break;
|
|
72
|
+
case "UpdateFooter":
|
|
73
|
+
document.getElementById("keypad-footer").innerText = data.headerContent;
|
|
74
|
+
this.footerMessage = data.headerContent;
|
|
75
|
+
break;
|
|
72
76
|
case "Update":
|
|
73
77
|
// Keypad has received data to update the keypad
|
|
74
78
|
if ((!data.hasOwnProperty("alphabet") && !data.hasOwnProperty("font"))) {
|
|
@@ -148,9 +152,12 @@ class Keypad extends KeypadPeer {
|
|
|
148
152
|
const keypadControlKeys = document.createElement("div");
|
|
149
153
|
keypadControlKeys.setAttribute("id", "keypad-control-keys");
|
|
150
154
|
keypadControlKeys.classList.add("keys");
|
|
155
|
+
const keypadFooter = document.createElement("div");
|
|
156
|
+
keypadFooter.setAttribute("id", "keypad-footer");
|
|
151
157
|
keypadElem.appendChild(keypadHeader);
|
|
152
158
|
keypadElem.appendChild(keypadKeys);
|
|
153
159
|
keypadElem.appendChild(keypadControlKeys);
|
|
160
|
+
keypadElem.appendChild(keypadFooter);
|
|
154
161
|
// Add keypad, ie container with header,keys,control keys to page where specified
|
|
155
162
|
if (document.getElementById(this.targetElement)) {
|
|
156
163
|
console.log("Specified target element successfully used.");
|
|
@@ -268,12 +275,14 @@ class Keypad extends KeypadPeer {
|
|
|
268
275
|
|
|
269
276
|
// Set-up an instruction/welcome message for the user
|
|
270
277
|
const header = document.getElementById("keypad-header");
|
|
271
|
-
header.innerText = this.headerMessage || "
|
|
278
|
+
header.innerText = this.headerMessage || "";
|
|
279
|
+
header.style.display = header.innerText === "" ? "none" : "block";
|
|
272
280
|
// Get the keypad element
|
|
273
281
|
const remoteControl = document.getElementById("keypad");
|
|
274
282
|
|
|
275
283
|
// Set-up audio element
|
|
276
284
|
const feedbackAudio = document.createElement("audio");
|
|
285
|
+
// TODO investigate why feedback audio is broken/unreliable
|
|
277
286
|
feedbackAudio.id = "feedbackAudio";
|
|
278
287
|
feedbackAudio.src = "onems.mp3";
|
|
279
288
|
header.appendChild(feedbackAudio);
|
|
@@ -292,11 +301,17 @@ class Keypad extends KeypadPeer {
|
|
|
292
301
|
setTimeout(defaultKeypadMessaging, delayTime);
|
|
293
302
|
};
|
|
294
303
|
defaultKeypadMessaging = (
|
|
295
|
-
headerText = "
|
|
304
|
+
headerText = ""
|
|
296
305
|
) => {
|
|
297
306
|
// Set-up an instruction/welcome message for the user
|
|
298
307
|
const header = document.getElementById("keypad-header");
|
|
299
|
-
|
|
308
|
+
if (headerText === "") {
|
|
309
|
+
header.style.display = "none";
|
|
310
|
+
} else {
|
|
311
|
+
header.innerText = headerText;
|
|
312
|
+
header.style.display = "block";
|
|
313
|
+
|
|
314
|
+
}
|
|
300
315
|
|
|
301
316
|
// Make each button pressable
|
|
302
317
|
const buttons = document.getElementsByClassName("response-button");
|
package/src/receiver.js
CHANGED
|
@@ -94,6 +94,17 @@ class Receiver extends KeypadPeer {
|
|
|
94
94
|
console.error(e);
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
|
+
updateFooterMessage = (message) => {
|
|
98
|
+
try {
|
|
99
|
+
this.conn.send({
|
|
100
|
+
message: "UpdateFooter",
|
|
101
|
+
headerContent: message
|
|
102
|
+
})
|
|
103
|
+
} catch (e) {
|
|
104
|
+
this.displayUpdate("Error in updating footer message.") // Debug
|
|
105
|
+
console.error(e);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
97
108
|
#verifyKeypadParameters = (keypadParameters) => {
|
|
98
109
|
if (!keypadParameters.hasOwnProperty("alphabet")) {
|
|
99
110
|
console.error(
|