/** | |
* @file data table base processor | |
* @author sushuang(sushuang@baidu.com) | |
*/ | |
define(function (require) { | |
var $ = require('jquery'); | |
var helper = {}; | |
/** | |
* @public | |
*/ | |
helper.formatJSDataToEditorData = function (value, jsDataOb, editorData) { | |
var emptyValue = jsDataOb.getEmptyValue(); | |
if (value === emptyValue) { | |
return editorData.getEmptyValue(); | |
} | |
// Dont use stringify methods. | |
// 'toString' conversion relies on handsontable, just for simple. | |
return value; | |
}; | |
/** | |
* @public | |
*/ | |
helper.formatEditorDataToJSData = function (value, jsDataOb, editorData) { | |
var emptyValue = editorData.getEmptyValue(); | |
if (value === emptyValue) { | |
return jsDataOb.getEmptyValue(); | |
} | |
return value; | |
}; | |
/** | |
* @public | |
*/ | |
helper.objectPropertyCount = function (obj) { | |
obj = obj || {}; | |
var count = 0; | |
for (var key in obj) { | |
if (obj.hasOwnProperty(key)) { | |
count++; | |
} | |
} | |
return count; | |
}; | |
/** | |
* @public | |
* @param {string} data | |
* @return {Array} | |
*/ | |
helper.parseToArray = function (data) { | |
var result; | |
try { | |
result = (new Function('return (' + data + ')'))(); // jshint ignore:line | |
} | |
catch (e) { | |
} | |
if (!$.isArray(result)) { | |
result = null; | |
} | |
return result; | |
}; | |
return helper; | |
}); |