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;
 | 
						|
    }
 | 
						|
}
 |