summary refs log tree commit diff
path: root/lib/htmlbuilder.js
diff options
context:
space:
mode:
authorWlodekM <[email protected]>2024-11-30 18:11:32 +0200
committerWlodekM <[email protected]>2024-11-30 18:11:32 +0200
commit97157622be86c68f69e6e48f3746ca2c70b7e8a8 (patch)
tree32fe8069343d2b41f01b2d58325942fb43864056 /lib/htmlbuilder.js
initial commit
Diffstat (limited to 'lib/htmlbuilder.js')
-rw-r--r--lib/htmlbuilder.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/htmlbuilder.js b/lib/htmlbuilder.js
new file mode 100644
index 0000000..7343116
--- /dev/null
+++ b/lib/htmlbuilder.js
@@ -0,0 +1,46 @@
+function makeSigmaHtmlPlusElement(elem) {
+    elem.child = function (type) {
+        let childElem = makeSigmaHtmlPlusElement(document.createElement(type));
+        elem.appendChild(childElem)
+        return childElem;
+    }
+    elem.html = function (html) {
+        elem.innerHTML = html;
+        return elem;
+    }
+    elem.text = function (text) {
+        elem.innerText = text;
+        return elem;
+    }
+    elem.attr = function (attribute, value) {
+        elem.setAttribute(attribute, value);
+        return elem;
+    }
+    elem.class = function (className) {
+        elem.classList.add(className)
+        return elem;
+    }
+    elem.do = function (a, params) {
+        elem.a(...params)
+        return elem;
+    }
+    elem.ev = function (event, listener) {
+        elem.addEventListener(event, listener)
+        return elem;
+    }
+    elem.up = function () {
+        return elem.parentElement
+    }
+    elem.for = function (array, func) {
+        array.forEach(element => elem.appendChild(func(element)));
+        return elem
+    }
+    return elem;
+}
+
+/**
+ * @param {String} type HTML element type
+ */
+export default function make(type) {
+    return makeSigmaHtmlPlusElement(document.createElement(type));
+}
\ No newline at end of file