Better classname assignment for keycaps, restructure of keyboard (keyboard/key-container(s)/key/cap(s)).

This commit is contained in:
Michael Jumper
2012-01-20 22:33:14 -08:00
parent 2c0bee0890
commit 6149a33738

View File

@@ -173,13 +173,13 @@ Guacamole.OnScreenKeyboard = function(url) {
var key_element = document.createElement("div"); var key_element = document.createElement("div");
key_element.className = "guacamole-keyboard-key"; key_element.className = "guacamole-keyboard-key";
// Create cap element // Position keys using container div
var cap_element = document.createElement("div"); var key_container_element = document.createElement("div");
cap_element.className = "guacamole-keyboard-cap"; key_container_element.className = "guacamole-keyboard-key-container";
key_element.appendChild(cap_element); key_container_element.appendChild(key_element);
// Create key // Create key
var key = new Guacamole.OnScreenKeyboard.Key(cap_element); var key = new Guacamole.OnScreenKeyboard.Key();
// Set key size // Set key size
var key_units = 1; var key_units = 1;
@@ -204,6 +204,12 @@ Guacamole.OnScreenKeyboard = function(url) {
var cap = new Guacamole.OnScreenKeyboard.Cap(content, var cap = new Guacamole.OnScreenKeyboard.Cap(content,
keysym ? keysym.value : null); keysym ? keysym.value : null);
// Create cap element
var cap_element = document.createElement("div");
cap_element.className = "guacamole-keyboard-cap";
cap_element.textContent = content;
key_element.appendChild(cap_element);
// Get modifier value // Get modifier value
var modifierValue = 0; var modifierValue = 0;
if (required) { if (required) {
@@ -213,6 +219,7 @@ Guacamole.OnScreenKeyboard = function(url) {
var requirements = required.value.split(","); var requirements = required.value.split(",");
for (var i=0; i<requirements.length; i++) { for (var i=0; i<requirements.length; i++) {
modifierValue |= getModifier(requirements[i]); modifierValue |= getModifier(requirements[i]);
cap_element.className += " guacamole-keyboard-requires-" + requirements[i];
} }
} }
@@ -224,11 +231,8 @@ Guacamole.OnScreenKeyboard = function(url) {
} }
}); });
scaledElements.push(new ScaledElement(key_element, key_units, 1, true)); scaledElements.push(new ScaledElement(key_container_element, key_units, 1, true));
row.appendChild(key_element); row.appendChild(key_container_element);
// Initialize key
key.select(0);
} }
@@ -318,7 +322,7 @@ Guacamole.OnScreenKeyboard = function(url) {
}; };
Guacamole.OnScreenKeyboard.Key = function(element) { Guacamole.OnScreenKeyboard.Key = function() {
var key = this; var key = this;
@@ -354,7 +358,6 @@ Guacamole.OnScreenKeyboard.Key = function(element) {
this.select = function(modifier) { this.select = function(modifier) {
key.currentCap = key.caps[modifier & key.modifierMask]; key.currentCap = key.caps[modifier & key.modifierMask];
element.textContent = key.currentCap.text;
}; };