ryutai
Version:
A next generation window manager.
31 lines (25 loc) • 679 B
JavaScript
var Oven = function() {
};
Oven.prototype.bakeMesh = function(mesh, callback) {
var dom = document.createElement(mesh.type);
dom.id = mesh.dom;
if(mesh.styles) {
dom.className = mesh.styles;
}
if(mesh.text) {
dom.innerHTML = mesh.text;
}
if(mesh.subs) {
for(var sub in mesh.subs) {
this.bakeMesh(mesh.subs[sub], (ddddom, mmmesh) => {
dom.appendChild(ddddom);
mesh.subs[sub] = mmmesh; // allow meshes to be updated
});
}
}
mesh.obj = dom;
if(mesh.init) {
setTimeout(mesh.init(dom), 0);
}
callback(dom, mesh);
};