UNPKG

kero

Version:

<img src="http://tinper.org/assets/images/kero.png" width="120" style="max-width:100%;"/>

66 lines (61 loc) 2.26 kB
/*** * Module : kero dataTable row init * Author : liuyk(liuyk@yonyou.com) * Date : 2016-08-08 13:54:01 */ // row的初始化方法 const init = function() { var meta = this.parent.meta; for (var key in meta) { var targetData; if (key.indexOf('.') > 0) { var keys = key.split('.'); targetData = this.data[keys[0]] = this.data[keys[0]] || {}; for (var i = 1; i < keys.length; i++) { targetData[keys[i]] = targetData[keys[i]] || {}; targetData = targetData[keys[i]]; } } else { this.data[key] = this.data[key] || {} targetData = this.data[key]; } targetData.value = null; //this.data[key] = {} //处理子表 if (meta[key]['type'] && meta[key]['type'] === 'child') { targetData.isChild = true; //ns 是多级数据时的空间名: 最顶层的dataTable没有ns。 f1.f2.f3 var ns = this.parent.ns === '' ? key : this.parent.ns + '.' + key targetData.value = new u.DataTable({ root: this.parent.root, ns: ns, meta: meta[key]['meta'] }); } //添加默认值 else if (meta[key]['default']) { var defaults = meta[key]['default'] if (typeof defaults === 'object') { for (var k in defaults) { if (k == 'value') { if (typeof defaults[k] === 'function') targetData.value = this.formatValue(key, defaults[k]()); else targetData.value = this.formatValue(key, defaults[k]); } else { targetData.meta = targetData.meta || {} targetData.meta[k] = defaults[k] } } } else { if (typeof defaults === 'function') targetData.value = this.formatValue(key, defaults()); else targetData.value = this.formatValue(key, defaults); } } } } export const rowInitFunObj = { init: init }