virtual-keypad 5.8.0 → 5.9.1
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 +19 -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
|
@@ -67,8 +67,13 @@ class Keypad extends KeypadPeer {
|
|
|
67
67
|
break;
|
|
68
68
|
case "UpdateHeader":
|
|
69
69
|
document.getElementById("keypad-header").innerText = data.headerContent;
|
|
70
|
+
document.getElementById("keypad-header").style.display = data.headerContent === "" ? "none" : "block";
|
|
70
71
|
this.headerMessage = data.headerContent;
|
|
71
72
|
break;
|
|
73
|
+
case "UpdateFooter":
|
|
74
|
+
document.getElementById("keypad-footer").innerText = data.headerContent;
|
|
75
|
+
this.footerMessage = data.headerContent;
|
|
76
|
+
break;
|
|
72
77
|
case "Update":
|
|
73
78
|
// Keypad has received data to update the keypad
|
|
74
79
|
if ((!data.hasOwnProperty("alphabet") && !data.hasOwnProperty("font"))) {
|
|
@@ -148,9 +153,12 @@ class Keypad extends KeypadPeer {
|
|
|
148
153
|
const keypadControlKeys = document.createElement("div");
|
|
149
154
|
keypadControlKeys.setAttribute("id", "keypad-control-keys");
|
|
150
155
|
keypadControlKeys.classList.add("keys");
|
|
156
|
+
const keypadFooter = document.createElement("div");
|
|
157
|
+
keypadFooter.setAttribute("id", "keypad-footer");
|
|
151
158
|
keypadElem.appendChild(keypadHeader);
|
|
152
159
|
keypadElem.appendChild(keypadKeys);
|
|
153
160
|
keypadElem.appendChild(keypadControlKeys);
|
|
161
|
+
keypadElem.appendChild(keypadFooter);
|
|
154
162
|
// Add keypad, ie container with header,keys,control keys to page where specified
|
|
155
163
|
if (document.getElementById(this.targetElement)) {
|
|
156
164
|
console.log("Specified target element successfully used.");
|
|
@@ -268,12 +276,14 @@ class Keypad extends KeypadPeer {
|
|
|
268
276
|
|
|
269
277
|
// Set-up an instruction/welcome message for the user
|
|
270
278
|
const header = document.getElementById("keypad-header");
|
|
271
|
-
header.innerText = this.headerMessage || "
|
|
279
|
+
header.innerText = this.headerMessage || "";
|
|
280
|
+
header.style.display = header.innerText === "" ? "none" : "block";
|
|
272
281
|
// Get the keypad element
|
|
273
282
|
const remoteControl = document.getElementById("keypad");
|
|
274
283
|
|
|
275
284
|
// Set-up audio element
|
|
276
285
|
const feedbackAudio = document.createElement("audio");
|
|
286
|
+
// TODO investigate why feedback audio is broken/unreliable
|
|
277
287
|
feedbackAudio.id = "feedbackAudio";
|
|
278
288
|
feedbackAudio.src = "onems.mp3";
|
|
279
289
|
header.appendChild(feedbackAudio);
|
|
@@ -292,11 +302,17 @@ class Keypad extends KeypadPeer {
|
|
|
292
302
|
setTimeout(defaultKeypadMessaging, delayTime);
|
|
293
303
|
};
|
|
294
304
|
defaultKeypadMessaging = (
|
|
295
|
-
headerText = "
|
|
305
|
+
headerText = ""
|
|
296
306
|
) => {
|
|
297
307
|
// Set-up an instruction/welcome message for the user
|
|
298
308
|
const header = document.getElementById("keypad-header");
|
|
299
|
-
|
|
309
|
+
if (headerText === "") {
|
|
310
|
+
header.style.display = "none";
|
|
311
|
+
} else {
|
|
312
|
+
header.innerText = headerText;
|
|
313
|
+
header.style.display = "block";
|
|
314
|
+
|
|
315
|
+
}
|
|
300
316
|
|
|
301
317
|
// Make each button pressable
|
|
302
318
|
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(
|