in static/js/util/render.js [58:113]
function render(data, target) {
var context = target || document.createDocumentFragment(),
dataLength = data.length,
i,
item, elem, props, attrName,
isNull;
for (i = 0; i < dataLength; i++) {
item = data[i];
isNull = item === null || item === undefined || item === false;
if (isNull) {
continue;
}
// text node
if (typeof item === 'string' || typeof item === 'number') {
context.appendChild(document.createTextNode(item));
continue;
}
// _elem
if (typeof item[0] === 'string') {
props = util.parseSelector(item[0]);
elem = document.createElement(props.tag);
item.shift();
delete props.tag;
if (util.isObject(item[0])) {
for (attrName in item[0]) {
props[attrName] = item[0][attrName];
}
}
for (attrName in props) {
elem.setAttribute(attrName, props[attrName]);
delete props[attrName];
}
context.appendChild(render(item, elem));
continue;
}
// node
if (item.nodeType !== undefined) {
context.appendChild(item);
continue;
}
render(item, context);
}
return context;
}