inegicomponentes-grafica
Version:
Componentes de visualizacion 2023 - Graficas
76 lines (71 loc) • 2.85 kB
JavaScript
/**==============================================
* METODOS DE AYUDA
* @title UTILS
* @description Contiene metodos utiles puros, D3 y React para diferentes acciones dentro de los componentes
*
*
*=============================================**/
import { GRAFICAS } from "../Utilidades/Constantes";
const _INTLNumberFormat = Intl.NumberFormat('es-MX',{style:'decimal'});
const _INTLDateTimeFormat = (options) => { return INTL.DateTimeFormat("default",options); };
const _MESES = {
en:["January","February","March","April","May","June","July","August","September","October","November",",December"],
es:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"]
}
/**==============================================
* Utilidad Formato
*
* @title Para cualquier accion que se tenga que realizar sobre los datos, cadenas, fechas, numeros, etc
* @description Metodos:
* @property colores[] arreglo de todos los colores predefinidos
* - @function formatoMiles(v), [v => valor numerico)
* - @function formatoFecha(d, sformato), [d => fecha, sformato => formato de visualizacion requerido [Y | m-Y | d-m-Y | YYYY | d-m-YYYY | etc])
*
*=============================================**/
const Helper = {
formatoMiles : (n) => {
let valorFormateado = _INTLNumberFormat.format(n);
return valorFormateado;
},
formatoFecha : (fecha, sFormato) => {
const o = {year:"numeric", month:"numeric",day:"numeric"};
let fechaFormateada = _INTLDateTimeFormat(o).format(fecha);
if(sFormato === undefined || sFormato === ""){
return fechaFormateada;
} else {
//pendiente de hacer
}
},
stringANumero : (v) => {
let val = v;
if(typeof v === "string"){
val = v.replaceAll(",","");
val = Number(val);
}
return val;
},
buscaTipoGrafica : (tipo) => {
let oGrafica = null;
const oTiposGraficas = GRAFICAS.tipos;
if(tipo === "") return oGrafica;
oGrafica = oTiposGraficas.find((g) => {
return g.alias === tipo;
})
return oGrafica;
},
buscaTooltip: (modo) => {
let oModoTip = GRAFICAS.tooltip.modos;
const oModosTip = GRAFICAS.tooltip.modos;
let oModo = oModosTip.find((g) => {
return g.alias === modo;
})
if(modo === "" && oModo === undefined) { return oModoTip[0] } else { return oModo };
},
objetoVacio: (obj) => {
if(typeof obj === "object"){
return (Object.keys(obj).length === 0)? true : false;
}
return true;
}
}
export default Helper;