Do not require classList.

This commit is contained in:
Michael Jumper
2012-03-01 12:56:21 -08:00
parent 612b1c19ef
commit 64b8bb0295

View File

@@ -42,19 +42,69 @@ var GuacamoleUI = {
var guacErrorImage = new Image(); var guacErrorImage = new Image();
guacErrorImage.src = "images/noguacamole-logo-24.png"; guacErrorImage.src = "images/noguacamole-logo-24.png";
// Function for adding a class to an element
var addClass;
// Function for removing a class from an element
var removeClass;
// If Node.classList is supported, implement addClass/removeClass using that
if (Node.classList) {
addClass = function(element, classname) {
element.classList.add(classname);
};
removeClass = function(element, classname) {
element.classList.remove(classname);
};
}
// Otherwise, implement own
else {
addClass = function(element, classname) {
// Simply add new class
element.className += " " + classname;
};
removeClass = function(element, classname) {
// Filter out classes with given name
element.className = element.className.replace(/([^ ]+)[ ]*/g,
function(match, testClassname, spaces, offset, string) {
// If same class, remove
if (testClassname == classname)
return "";
// Otherwise, allow
return match;
}
);
};
}
GuacamoleUI.hideStatus = function() { GuacamoleUI.hideStatus = function() {
document.body.classList.remove("guac-error"); removeClass(document.body, "guac-error");
GuacamoleUI.containers.state.style.visibility = "hidden"; GuacamoleUI.containers.state.style.visibility = "hidden";
}; };
GuacamoleUI.showStatus = function(text) { GuacamoleUI.showStatus = function(text) {
document.body.classList.remove("guac-error"); removeClass(document.body, "guac-error");
GuacamoleUI.containers.state.style.visibility = "visible"; GuacamoleUI.containers.state.style.visibility = "visible";
GuacamoleUI.state.textContent = text; GuacamoleUI.state.textContent = text;
}; };
GuacamoleUI.showError = function(error) { GuacamoleUI.showError = function(error) {
document.body.classList.add("guac-error"); addClass(document.body, "guac-error");
GuacamoleUI.state.textContent = error; GuacamoleUI.state.textContent = error;
}; };