UNPKG

2.31 kBJavaScriptView Raw
1/**
2 * Module : kero dataTable row getSimpleData
3 * Author : liuyk(liuyk@yonyou.com)
4 * Date : 2016-08-08 13:54:01
5 */
6import {_dateToUTCString} from './row-util';
7import {isEmptyObject} from 'tinper-sparrow/src/util';
8
9const _getSimpleData = function(rowObj, data){
10 var _data = {};
11 var meta = rowObj.parent.getMeta() || {};
12 for(var key in data){
13 if (key === 'meta' || isEmptyObject(data[key])){
14 continue;
15 }else if (data[key].isChild) {
16 _data[key] = data[key].value?data[key].value.getSimpleData():{};
17 }else if (key === '$data'){ //处理一维数组: [1,2,3]
18 _data = data[key].value
19 }else if (typeof data[key].value !== 'undefined'){
20 //如果类型为boolean,无论值为false、true都应该等于他本身
21 if(meta[key] && meta[key].type==='boolean'){
22 _data[key] = data[key].value?true:false;//默认值可能是null
23 }else{
24 _data[key] = data[key].value;
25 }
26 if (meta[key] && meta[key].type) {
27 var obj = {
28 meta: meta,
29 data: data,
30 key: key
31 }
32 _data[key] = rowObj.formatValueFun(obj,rowObj.parent.dateNoConvert);
33
34 }
35 }else if(!data[key].value){
36 _data[key] = data[key].value;
37 }
38 else{
39 _data[key] = _getSimpleData(rowObj, data[key])
40 }
41 }
42 return _data;
43
44}
45
46const formatValueFun = function(obj,isDateNoConvert){
47 var meta = obj.meta,data = obj.data, key = obj.key;
48 if (!isDateNoConvert &&(meta[key].type == 'date' || meta[key].type == 'datetime')) {
49 return _dateToUTCString(data[key].value)
50 }
51 return data[key].value;
52}
53
54const getSimpleData = function(options){
55 options = options || {}
56 var fields = options['fields'] || null;
57 var meta = this.parent.getMeta();
58 var data = this.data;
59 var _data = _getSimpleData(this, data); //{};
60 var _fieldsData = {};
61 if (fields){
62 for (var key in _data){
63 if (fields.indexOf(key) != -1){
64 _fieldsData[key] = _data[key];
65 }
66 }
67 return _fieldsData;
68 }
69 return _data;
70
71};
72
73export {
74 formatValueFun,
75 getSimpleData
76}