'use strict';
/* dom操作 */
/** @module dom */
/**
* 页面加载准备好事件函数
* @param {Function} callback 页面ready之后的 回调函数
*/
function ready(callback) {
if (/complete|loaded|interactive/.test(document.readyState)) {
callback();
} else {
document.addEventListener('DOMContentLoaded', function () {
callback();
}, false);
}
}
function singleRender(group_name, data, funcs) {
document.querySelectorAll('[d-group=\'' + group_name + '\']').forEach(function (dom) {
let name = dom.getAttribute('name'),
isFormElem = /input|select|option|textarea/.test(
dom.nodeName.toLowerCase()
);
if (funcs != undefined && name in funcs) {
let target = dom;
let o = {
f: funcs[name],
set: function (val) {
isFormElem ? (target.value = val) : (target.innerHTML = val);
}
};
o.f(data, dom);
} else {
isFormElem
? (dom.value = (data[name] === undefined) ? '' : data[name])
: (dom.innerHTML = (data[name] === undefined) ? '' : data[name]);
}
});
}
export {
ready,
singleRender
};