51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
Mapeate.Mapas.Espana = function(mapeate, entradas){
|
|
|
|
const self = this;
|
|
let iniciado = false;
|
|
|
|
const constructor = () => {};
|
|
|
|
this.iniciar = callback => {
|
|
|
|
const terminar = estado => typeof callback == "function" && callback(estado);
|
|
|
|
if(iniciado){
|
|
terminar(false);
|
|
return false;
|
|
};
|
|
iniciado = true;
|
|
|
|
terminar(true);
|
|
|
|
return true;
|
|
};
|
|
|
|
this.preparar = svg => {
|
|
|
|
svg = svg.replace(/\sid="(pr_[0-9]{2})"/g, (...argumentos) => {
|
|
|
|
const id = argumentos[1];
|
|
let html = argumentos[0];
|
|
|
|
[
|
|
["data_objetivo", id],
|
|
["data_habilitado", false],
|
|
["data_ver_titulo", false],
|
|
["data_acertado", false],
|
|
["data_i18n", "mapeate_espana_" + id],
|
|
["data_title", mapeate.i18n("mapeate_espana_" + id)],
|
|
["onmouseover", mapeate.nombre_objeto + ".mapas.mostrar_seleccion(this, event);"],
|
|
["onmouseout", mapeate.nombre_objeto + ".mapas.ocultar_seleccion(this, event);"],
|
|
["onclick", mapeate.nombre_objeto + ".mapas.elegir(this, event);"]
|
|
].forEach(([nombre, valor]) => html += ` ` + nombre.replace(/_/g, '-') + `="` + valor + `"`);
|
|
|
|
return html;
|
|
});
|
|
svg = svg.replace(/<style[^>]*>((?!<\/style)(.|[\r\n]))+<\/style>/, "");
|
|
|
|
return svg;
|
|
};
|
|
|
|
constructor();
|
|
|
|
}; |