WIP: Note editing, markdown to html
[oweals/karmaworld.git] / karmaworld / apps / wysihtml5 / static / wysihtml5 / wysihtml-0.4.17 / src / dom / class.js
1 (function(wysihtml5) {
2   var api = wysihtml5.dom;
3
4   api.addClass = function(element, className) {
5     var classList = element.classList;
6     if (classList) {
7       return classList.add(className);
8     }
9     if (api.hasClass(element, className)) {
10       return;
11     }
12     element.className += " " + className;
13   };
14
15   api.removeClass = function(element, className) {
16     var classList = element.classList;
17     if (classList) {
18       return classList.remove(className);
19     }
20
21     element.className = element.className.replace(new RegExp("(^|\\s+)" + className + "(\\s+|$)"), " ");
22   };
23
24   api.hasClass = function(element, className) {
25     var classList = element.classList;
26     if (classList) {
27       return classList.contains(className);
28     }
29
30     var elementClassName = element.className;
31     return (elementClassName.length > 0 && (elementClassName == className || new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
32   };
33 })(wysihtml5);