diff options
Diffstat (limited to 'lib/htmlbuilder.js')
-rw-r--r-- | lib/htmlbuilder.js | 46 |
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 |