UNPKG

2.51 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
8
9/**
10 * Module : kero dataTable row init
11 * Author : liuyk(liuyk@yonyou.com)
12 * Date : 2016-08-08 13:54:01
13 */
14
15/**
16* Row初始化方法
17* @private
18*/
19var init = function init() {
20 var meta = this.parent.meta;
21
22 for (var key in meta) {
23 var targetData;
24 if (key.indexOf('.') > 0) {
25 var keys = key.split('.');
26 targetData = this.data[keys[0]] = this.data[keys[0]] || {};
27 for (var i = 1; i < keys.length; i++) {
28 targetData[keys[i]] = targetData[keys[i]] || {};
29 targetData = targetData[keys[i]];
30 }
31 } else {
32 this.data[key] = this.data[key] || {};
33 targetData = this.data[key];
34 }
35 targetData.value = null;
36 //this.data[key] = {}
37 //处理子表
38 if (meta[key]['type'] && meta[key]['type'] === 'child') {
39 targetData.isChild = true;
40 //ns 是多级数据时的空间名: 最顶层的dataTable没有ns。 f1.f2.f3
41 var ns = this.parent.ns === '' ? key : this.parent.ns + '.' + key;
42 targetData.value = new u.DataTable({ root: this.parent.root, ns: ns, meta: meta[key]['meta'] });
43 }
44 //添加默认值
45 else if (meta[key]['default']) {
46 var defaults = meta[key]['default'];
47 if ((typeof defaults === 'undefined' ? 'undefined' : _typeof(defaults)) === 'object') {
48 for (var k in defaults) {
49 if (k == 'value') {
50 if (typeof defaults[k] === 'function') targetData.value = this.formatValue(key, defaults[k]());else targetData.value = this.formatValue(key, defaults[k]);
51 } else {
52 targetData.meta = targetData.meta || {};
53 targetData.meta[k] = defaults[k];
54 }
55 }
56 } else {
57 if (typeof defaults === 'function') targetData.value = this.formatValue(key, defaults());else targetData.value = this.formatValue(key, defaults);
58 }
59 }
60 }
61};
62
63exports.init = init;
\No newline at end of file