95 lines
3.0 KiB
JavaScript
95 lines
3.0 KiB
JavaScript
|
Mapeate.Base = function(mapeate, entradas){
|
||
|
|
||
|
const self = this,
|
||
|
base_cache = {x : 0, y : 0};
|
||
|
let iniciado = false,
|
||
|
base_hilo,
|
||
|
construido = false;
|
||
|
|
||
|
const constructor = () => {
|
||
|
|
||
|
mapeate.print("info", "mapeate_base_construyendose");
|
||
|
|
||
|
mapeate.print("ok", "mapeate_base_construido");
|
||
|
|
||
|
};
|
||
|
|
||
|
this.iniciar = callback => {
|
||
|
|
||
|
const terminar = estado => typeof callback == "function" && callback(estado);
|
||
|
|
||
|
if(iniciado){
|
||
|
terminar(false);
|
||
|
return false;
|
||
|
};
|
||
|
iniciado = true;
|
||
|
|
||
|
self.construir(() => {
|
||
|
mapeate.print("ok", "base_construida");
|
||
|
terminar(true);
|
||
|
});
|
||
|
|
||
|
return true;
|
||
|
};
|
||
|
|
||
|
const base_hilo_metodo = () => {
|
||
|
|
||
|
if(mapeate.si_mismo && (base_cache.x != mapeate.si_mismo.offsetWidth || base_cache.y != mapeate.si_mismo.offsetHeight) && mapeate.si_mismo.getAttribute){
|
||
|
|
||
|
const minimo = Number(mapeate.si_mismo.getAttribute("data-celdas-minimo"));
|
||
|
let tamano;
|
||
|
|
||
|
base_cache.x = mapeate.si_mismo.offsetWidth;
|
||
|
base_cache.y = mapeate.si_mismo.offsetHeight;
|
||
|
|
||
|
tamano = base_cache[base_cache.x < base_cache.y ? "x" : "y"] / Number(mapeate.si_mismo.getAttribute("data-celdas"));
|
||
|
|
||
|
mapeate.si_mismo.style.fontSize = (tamano < minimo ? tamano = minimo : tamano) + "px";
|
||
|
mapeate.si_mismo.setAttribute("data-menu-principal-completo", base_cache.x / tamano > 50);
|
||
|
|
||
|
};
|
||
|
|
||
|
};
|
||
|
|
||
|
this.construir = callback => {
|
||
|
|
||
|
const terminar = estado => typeof callback == "function" && callback(estado);
|
||
|
|
||
|
if(construido){
|
||
|
terminar(false);
|
||
|
return false;
|
||
|
};
|
||
|
construido = true;
|
||
|
|
||
|
mapeate.vistas.establecer(mapeate.configuracion("posicion_html"), mapeate.vistas.coger("base"), {
|
||
|
clases : "",
|
||
|
link_local : "#",
|
||
|
logo : mapeate.configuracion("logo"),
|
||
|
hash : mapeate.coger_hash(),
|
||
|
menu_principal : mapeate.vistas.crear_elementos_de_menu("elemento_menu_principal", mapeate.configuracion("menu_principal")),
|
||
|
menu_links : mapeate.vistas.crear_elementos_de_menu("elemento_menu_links", mapeate.configuracion("menu_links")),
|
||
|
lista_mapas : mapeate.mapas.selector.crear_lista(),
|
||
|
parametros_raiz : {
|
||
|
aplicacion : mapeate.configuracion("aplicacion"),
|
||
|
link : mapeate.configuracion("link"),
|
||
|
git : mapeate.configuracion("git"),
|
||
|
organizacion : mapeate.configuracion("organizacion"),
|
||
|
celdas : mapeate.configuracion("celdas"),
|
||
|
celdas_minimo : mapeate.configuracion("tamano_minimo_celda")
|
||
|
}
|
||
|
}, () => {
|
||
|
|
||
|
mapeate.establecer_si_mismo(document.querySelector("#" + mapeate.hash_self));
|
||
|
|
||
|
base_hilo = mapeate.anadir_hilo_de_proceso(base_hilo_metodo);
|
||
|
|
||
|
terminar(true);
|
||
|
|
||
|
});
|
||
|
|
||
|
return true;
|
||
|
};
|
||
|
|
||
|
constructor();
|
||
|
|
||
|
};
|