From c93d1e209abdde0d97bb6d7fcf5567c5f4bcdd65 Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Tue, 13 Dec 2011 12:21:30 +0100 Subject: [PATCH] remove classList support --- lib/ace/lib/dom.js | 98 +++++++++++++++++++--------------------------- 1 file changed, 40 insertions(+), 58 deletions(-) diff --git a/lib/ace/lib/dom.js b/lib/ace/lib/dom.js index 22c5bf18..fdeead68 100644 --- a/lib/ace/lib/dom.js +++ b/lib/ace/lib/dom.js @@ -57,69 +57,51 @@ exports.setText = function(elem, text) { } }; -if (!document.documentElement.classList) { - exports.hasCssClass = function(el, name) { - var classes = el.className.split(/\s+/g); - return classes.indexOf(name) !== -1; - }; +exports.hasCssClass = function(el, name) { + var classes = el.className.split(/\s+/g); + return classes.indexOf(name) !== -1; +}; - /** - * Add a CSS class to the list of classes on the given node - */ - exports.addCssClass = function(el, name) { - if (!exports.hasCssClass(el, name)) { - el.className += " " + name; +/** +* Add a CSS class to the list of classes on the given node +*/ +exports.addCssClass = function(el, name) { + if (!exports.hasCssClass(el, name)) { + el.className += " " + name; + } +}; + +/** +* Remove a CSS class from the list of classes on the given node +*/ +exports.removeCssClass = function(el, name) { + var classes = el.className.split(/\s+/g); + while (true) { + var index = classes.indexOf(name); + if (index == -1) { + break; } - }; + classes.splice(index, 1); + } + el.className = classes.join(" "); +}; - /** - * Remove a CSS class from the list of classes on the given node - */ - exports.removeCssClass = function(el, name) { - var classes = el.className.split(/\s+/g); - while (true) { - var index = classes.indexOf(name); - if (index == -1) { - break; - } - classes.splice(index, 1); +exports.toggleCssClass = function(el, name) { + var classes = el.className.split(/\s+/g), add = true; + while (true) { + var index = classes.indexOf(name); + if (index == -1) { + break; } - el.className = classes.join(" "); - }; + add = false; + classes.splice(index, 1); + } + if(add) + classes.push(name); - exports.toggleCssClass = function(el, name) { - var classes = el.className.split(/\s+/g), add = true; - while (true) { - var index = classes.indexOf(name); - if (index == -1) { - break; - } - add = false; - classes.splice(index, 1); - } - if(add) - classes.push(name); - - el.className = classes.join(" "); - return add; - }; -} else { - exports.hasCssClass = function(el, name) { - return el.classList.contains(name); - }; - - exports.addCssClass = function(el, name) { - el.classList.add(name); - }; - - exports.removeCssClass = function(el, name) { - el.classList.remove(name); - }; - - exports.toggleCssClass = function(el, name) { - return el.classList.toggle(name); - }; -} + el.className = classes.join(" "); + return add; +}; /** * Add or remove a CSS class from the list of classes on the given node