UNPKG

bigape

Version:

an bigpipe inpired node structure based on express

1 lines 1.62 kB
!function(e){function t(e,t){var n=o(e,t);i(document,n)}function n(e,t){e&&e.classList.remove(t)}function a(e,t){e&&e.classList.add(t)}function c(e,t){if(e){var n=e.parentNode;if(n){var a=document.createDocumentFragment(),c=document.createElement("div");c.innerHTML=t,a.appendChild(c),n.replaceChild(a,e)}}}var r={};console=console||{log:function(){},warn:function(){}};var o=document.createEvent?function(e,t){return event=document.createEvent("HTMLEvents"),event.initEvent(e,!0,!0),event.detail=t,event}:function(e,t){return event=document.createEventObject(),event.eventType=e,event.detail=t,event},i=document.createEvent?function(e,t){e.dispatchEvent(t)}:function(e,t){e.fireEvent("on"+t.eventType,t)};e.BigPipe={setData:function(e,n,a){a=(a||e)+"-data-ready",r[e]=n,t(a,n)},getData:function(e){return e?r[e]:r},onArrive:function(e){var r,o=e.domID,i=null,d=e.html,s=e.scripts,u=e.styles,l=e.data,v=0,m=0,f=e.mode,p=document.body,h=e.dataEventName,E=e.pageletEventName||o;if(t("arrive",e),i=document.getElementById(o),d)if(i){switch(f){case"append":i.innerHTML+=d;break;case"remove":i.innerHTML="";break;case"removeDom":a(i,"hide");break;case"replace":c(i,d);break;case"html":default:i.innerHTML=d}n(i,"hide")}else"layout"===f?p.innerHTML+=d:console.warn("element #"+o+" does not exists.");for(l&&this.setData(e.dataKey||e.modID,l,h),v=0,m=u.length;m>v;v++)r=document.createElement("link"),r.type="text/css",r.rel="stylesheet",r.href=u[v],document.head.appendChild(r);for(v=0,m=s.length;m>v;v++)r=document.createElement("script"),r.type="text/javascript",r.src=s[v],document.head.appendChild(r);t(E+"-ready")}}}(window);