UNPKG

kea-react

Version:

Componentes comunes de react

65 lines (64 loc) 1.97 kB
"use strict"; 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;