Files
t/static/main.js

37 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-12-21 06:35:49 -08:00
"use strict";
2024-12-21 07:17:19 -08:00
async function main() {
2024-12-21 06:35:49 -08:00
console.log("Hello, world!");
2024-12-21 07:17:19 -08:00
const root = new ElemWrapper(document.body);
const tabGroup = root.add("sl-tab-group");
tabGroup
.add("sl-tab", "slot", "nav", "panel", "tasks", "active", "")
.add("sl-icon", "name", "slash-circle", "style", "font-size: 20px");
tabGroup
.add("sl-tab", "slot", "nav", "panel", "tags")
.add("sl-icon", "name", "tags", "style", "font-size: 20px");
}
function add(name, parent, ...attrs) {
const elem = document.createElement(name);
parent.appendChild(elem);
for (let i = 0; i < attrs.length; i += 2) {
elem.setAttribute(attrs[i], attrs[i + 1]);
}
return elem;
}
class ElemWrapper {
elem;
constructor(elem) {
this.elem = elem;
this.elem = elem;
}
add(name, ...attrs) {
const elem = document.createElement(name);
this.elem.appendChild(elem);
for (let i = 0; i < attrs.length; i += 2) {
elem.setAttribute(attrs[i], attrs[i + 1]);
}
return new ElemWrapper(elem);
}
2024-12-21 06:35:49 -08:00
}
2024-12-21 06:58:13 -08:00
document.addEventListener("DOMContentLoaded", main);