inegicomponentes-tabulador
Version:
Componentes de visualizacion 2023 - Tabuladores
64 lines (61 loc) • 2.43 kB
JavaScript
/**==============================================
* UCOLOR utilidad
*
* @title Para el control y gestion de colores para los componentes
* @description Metodos público principal:
* @property colores[] arreglo de todos los colores predefinidos
* - @function generaColor([posicion_color|#color_hexadecimal|"random"|"gradiente"], [numero_colores_generar, color_inicial_hex, color_final_hex])
* - @function random(numero_colores)
* - @function gradiente(numero_colores_generar, color_inicial_hex, color_final_hex)
*
*=============================================**/
const UColor = {
colores: ["#264653", "#2a9d8f","#e9c46a","#457b9d","#f9844a","#9e2a2b","#f08080","#3a5a40","#f15bb5","#a3b18a","#f8961e", "#ffe66d", "#55a630", "#2b9348", "#a44a3f", "#a68a64", "#723d46", "#87986a", "#a53860", "#450920", "#f4e285", "#4a5759", "#55828b", "#004e89", "#f2d0a9", "#bfd8bd", "#b2ff9e", "#ece2d0", "#56ab91", "#c81d25", "#ff5400"],
generaColor: (c, n, i, f) => {
if(UColor._esNumero(c)){
return UColor.colores[c];
} else if(UColor._esHexadecimal(c)){
return c;
} else if(c === "random"){
return UColor.random(n);
} else if(c === "gradiente"){
return UColor.gradiente(n, i, f);
} else if(Array.isArray(c)){
return c;
} else {
throw "Error en Colores.color, el parametro es invalido: "+ c;
return;
}
},
random: (n) => {
var letters = "0123456789ABCDEF", color = '#', aC = [];
for (var i = 0; i < n; i++){
color = "#";
for (var j = 0; j < 6; j++){
color += letters[(Math.floor(Math.random() * 16))];
}
aC[i] = color;
}
return aC;
},
gradiente: (n, [ci, cf]) => {
console.log("gradiente de: "+n+" color inicio: "+ci+", color final: "+cf);
return [];
},
_esNumero:(c) => {
const reNum = /^\d{1,2}/;
if(typeof c === "number" && reNum.test(c)){
return true;
}
return false;
},
_esHexadecimal:(c) => {
let reHex = /(^#{1}([0-9A-Za-z]{6}))$/;
console.log(c);
if(typeof c === "string" && reHex.test(c)){
return true;
}
return false;
}
}
export default UColor;