kea-react
Version:
Componentes comunes de react
65 lines (64 loc) • 1.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var formats = require("../format");
/**Formatos por default segun el tipo de dato */
var defaultDataFormats = {
boolean: "yesno",
Date: "date",
number: "number",
string: "tostring",
null: "empty"
};
/**Obtiene el tipo de dato de una celda */
function getCellDataType(x) {
if (x == null) {
return "null";
}
else if (typeof x == "number") {
return "number";
}
else if (typeof x == "boolean") {
return "boolean";
}
else if (typeof x == "string") {
return "string";
}
else if (x instanceof Date) {
return "Date";
}
throw "Tipo no soportado";
}
exports.getCellDataType = getCellDataType;
/**Formatea los datos de una celda */
function formatCellData(data, format) {
if (format) {
if (format == "empty")
return "";
if (data == null)
return "";
if (format == "tostring")
return "" + data;
switch (format) {
case "yesno":
return data ? "si" : "no";
case "currency":
if (typeof data != "boolean" && !(data instanceof Date))
return formats.FormatCurrency(data);
case "number":
return "" + data;
case "date":
if (typeof data != "number" && typeof (data) != "boolean")
return formats.FormatDate(data);
case "datetime":
if (typeof data != "number" && typeof (data) != "boolean")
return formats.FormatDateTime(data);
}
return "" + data;
}
else {
var type = getCellDataType(data);
var defaultFormat = defaultDataFormats[type];
return formatCellData(data, defaultFormat);
}
}
exports.formatCellData = formatCellData;