atriusmaps-node-sdk
Version:
This project provides an API to Atrius Personal Wayfinder maps within a Node environment. See the README.md for more information
43 lines (40 loc) • 1.24 kB
JavaScript
;
const $ = (expr, container) => typeof expr === "string" ? (container || document).querySelector(expr) : expr || null;
const $$ = (expr, container) => Array.prototype.slice.call((document).querySelectorAll(expr));
function ad(eConf, parent) {
const c = eConf || {};
parent = parent ? typeof parent === "string" ? document.querySelector(parent) : parent : document.body;
let tag = "div";
if (c.tag) {
tag = c.tag;
}
const node = document.createElement(tag);
for (const cc in c) {
if (c[cc] != null) {
if (cc === "klass") {
node.setAttribute("class", c.klass);
} else if (cc === "tag") ; else if (cc === "styles") {
setStyles(node, c.styles);
} else if (cc === "text") {
node.textContent = c.text;
} else if (cc === "html") {
node.innerHTML = c.html;
} else {
node.setAttribute(cc, c[cc]);
}
}
}
parent.appendChild(node);
return node;
}
const del = (element) => element?.parentNode?.removeChild(element);
const setStyles = (node, styles) => {
for (const style in styles) {
node.style[style] = styles[style];
}
};
exports.$ = $;
exports.$$ = $$;
exports.ad = ad;
exports.del = del;
exports.setStyles = setStyles;