55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
| export function toggleClass(elem, className, bool) {
 | |
|     if (bool === true)
 | |
|         return elem.classList.add(className);
 | |
|     elem.classList.remove(className);
 | |
| }
 | |
| export function createElement(tag, className, content) {
 | |
|     var e = window.document.createElement(tag);
 | |
|     className = className || "";
 | |
|     content = content || "";
 | |
|     e.className = className;
 | |
|     if (content !== undefined)
 | |
|         e.textContent = content;
 | |
|     return e;
 | |
| }
 | |
| export function clearNode(node) {
 | |
|     while (node.firstChild)
 | |
|         node.removeChild(node.firstChild);
 | |
| }
 | |
| export function findParent(node, condition) {
 | |
|     if (condition(node))
 | |
|         return node;
 | |
|     else if (node.parentNode)
 | |
|         return findParent(node.parentNode, condition);
 | |
|     return undefined;
 | |
| }
 | |
| export function createNumberInput(inputClassName, opts) {
 | |
|     var wrapper = createElement("div", "numInputWrapper"), numInput = createElement("input", "numInput " + inputClassName), arrowUp = createElement("span", "arrowUp"), arrowDown = createElement("span", "arrowDown");
 | |
|     if (navigator.userAgent.indexOf("MSIE 9.0") === -1) {
 | |
|         numInput.type = "number";
 | |
|     }
 | |
|     else {
 | |
|         numInput.type = "text";
 | |
|         numInput.pattern = "\\d*";
 | |
|     }
 | |
|     if (opts !== undefined)
 | |
|         for (var key in opts)
 | |
|             numInput.setAttribute(key, opts[key]);
 | |
|     wrapper.appendChild(numInput);
 | |
|     wrapper.appendChild(arrowUp);
 | |
|     wrapper.appendChild(arrowDown);
 | |
|     return wrapper;
 | |
| }
 | |
| export function getEventTarget(event) {
 | |
|     try {
 | |
|         if (typeof event.composedPath === "function") {
 | |
|             var path = event.composedPath();
 | |
|             return path[0];
 | |
|         }
 | |
|         return event.target;
 | |
|     }
 | |
|     catch (error) {
 | |
|         return event.target;
 | |
|     }
 | |
| }
 |