/* path: /utils/lib_domTools.js */ function cargar_js(url){ return new Promise((resolve, reject) => { if(!document.querySelector('script[src="'+url+'"]')){ var script = document.createElement("script"); script.setAttribute("async",""); script.src=url; script.load = 0; document.head.appendChild(script); script.onload = function() { script.load = 1; resolve(); }; script.onerror = function() { script.load = -1; reject(); } }else{ script = document.querySelector('script[src="'+url+'"]'); if(script.load == 1) resolve(); else if(script.load == -1) reject(); else{ script.addEventListener("load",resolve); script.addEventListener("error",reject); } } }); } function lib_cargar_css(url){ return new Promise((resolve, reject) => { if(!document.querySelector('[href="'+url+'"]')){ let css = document.createElement("link"); css.setAttribute("rel", "stylesheet"); css.setAttribute("type", "text/css"); css.setAttribute("href", url); css.load=0; css.onload= ()=>{css.load=1;resolve();} css.error= ()=>{css.load=-1;reject();} document.head.appendChild(css); }else{ let css = document.querySelector('[href="'+url+'"]'); if(css.load == 1) resolve(); else if(css.load == -1) reject(); else{ css.addEventListener("load",resolve); css.addEventListener("error",reject); } } }); } function constructElement(tag = "",attrib = []){ var ele = document.createElement(tag); for (i in attrib) { if(ele[i]) ele[i]=attrib[i]; else ele.setAttribute(i,attrib[i]); } return ele; } //crea un div que contiene div para cada key de objeto //y lo añade al elemento parent o lo devuelve function objectToDOM(obj, parent="", clase="", id=""){ let main_div= document.createElement('div'); main_div.className= clase; if(id) main_div.setAttribute("id", id); for(let campo in obj){ let campo_div= document.createElement('div'); campo_div.className= campo; let html=""; html+= ''+campo+''; html+= ''+obj[campo]+''; campo_div.innerHTML= html; main_div.appendChild(campo_div); } if(parent) parent.appendChild(main_div); else return main_div; } function lib_cargar_modulo(url_modulo){ return new Promise((resolve,reject)=>{ if(!document.querySelector('[src="'+url_modulo+'"]')){ let js = document.createElement("script"); js.setAttribute("src", url_modulo); js.addEventListener("load",()=>resolve(true)); js.addEventListener("error",reject); document.head.appendChild(js); }else{ resolve(false); } }); } //pone el html en el contenedor y ejecuta la parte de //código en etiquetas