Small improvements to site breadcrumbs

This commit is contained in:
Herbert Wolverson committed 2023-08-07 17:45:28 +00:00
1 parent 8dab5dfa57
commit 07dd42d981
6 files changed
+10 -8

No files matched your search

+1
View File
@@ -63,6 +63,7 @@ src/rust/long_term_stats/site_build/node_modules
src/rust/long_term_stats/site_build/output
src/rust/long_term_stats/site_build/package-lock.json
src/rust/long_term_stats/wasm_pipe/staging
src/rust/long_term_stats/lts_node/deploy.sh
# Ignore Rust build artifacts
src/rust/target
+3 -3
View File
@@ -1811,7 +1811,7 @@ ${r.stack}`:o}var Fs=0,A_t=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{enco
`)),h+=_+o[g+1]}),h}var inr=sdn;Ku();Rh();nb();var u_a=Ha(Dp(),1),f_a=Ha(v1(),1);var h_a=Ha(Q1(),1);Ec();var lOn=(r,n,i)=>{qt.warn(r),sae(r)?(i&&i(r.str,r.hash),n.push({...r,message:r.str,error:r})):(i&&i(r),r instanceof Error&&n.push({str:r.message,message:r.message,hash:r.name,error:r}))},sxr=async function(r={querySelector:".mermaid"}){try{await cOn(r)}catch(n){if(sae(n)&&qt.error(n.str),NS.parseError&&NS.parseError(n),!r.suppressErrors)throw qt.error("Use the suppressErrors option to suppress these errors"),n}},cOn=async function({postRenderCallback:r,querySelector:n,nodes:i}={querySelector:".mermaid"}){let o=Xu.getConfig();qt.debug(`${r?"":"No "}Callback function found`);let s;if(i)s=i;else if(n)s=document.querySelectorAll(n);else throw new Error("Nodes and querySelector are both undefined");qt.debug(`Found ${s.length} diagrams`),o?.startOnLoad!==void 0&&(qt.debug("Start On Load: "+o?.startOnLoad),Xu.updateSiteConfig({startOnLoad:o?.startOnLoad}));let u=new Po.initIdGenerator(o.deterministicIds,o.deterministicIDSeed),h,d=[];for(let g of Array.from(s)){qt.info("Rendering diagram: "+g.id);if(g.getAttribute("data-processed"))continue;g.setAttribute("data-processed","true");let m=`mermaid-${u.next()}`;h=g.innerHTML,h=inr(Po.entityDecode(h)).trim().replace(/<br\s*\/?>/gi,"<br/>");let w=Po.detectInit(h);w&&qt.debug("Detected early reinit: ",w);try{let{svg:_,bindFunctions:E}=await fxr(m,h,g);g.innerHTML=_,r&&await r(m),E&&E(g)}catch(_){lOn(_,d,NS.parseError)}}if(d.length>0)throw d[0]},lxr=function(r){Xu.initialize(r)},uOn=async function(r,n,i){qt.warn("mermaid.init is deprecated. Please use run instead."),r&&lxr(r);let o={postRenderCallback:i,querySelector:".mermaid"};typeof n=="string"?o.querySelector=n:n&&(n instanceof HTMLElement?o.nodes=[n]:o.nodes=n),await sxr(o)},fOn=async(r,{lazyLoad:n=!0}={})=>{YTt(...r),n===!1&&await yfr()},cxr=function(){if(NS.startOnLoad){let{startOnLoad:r}=Xu.getConfig();r&&NS.run().catch(n=>qt.error("Mermaid failed to initialize",n))}};if(typeof document<"u"){window.addEventListener("load",cxr,!1)}var hOn=function(r){NS.parseError=r},LAt=[],Ble=!1,uxr=async()=>{if(!Ble){for(Ble=!0;LAt.length>0;){let r=LAt.shift();if(r)try{await r()}catch(n){qt.error("Error executing queue",n)}}Ble=!1}},dOn=async(r,n)=>new Promise((i,o)=>{let s=()=>new Promise((u,h)=>{Xu.parse(r,n).then(d=>{u(d),i(d)},d=>{var g;qt.error("Error parsing",d),(g=NS.parseError)==null||g.call(NS,d),h(d),o(d)})});LAt.push(s),uxr().catch(o)}),fxr=(r,n,i)=>new Promise((o,s)=>{let u=()=>new Promise((h,d)=>{Xu.render(r,n,i).then(g=>{h(g),o(g)},g=>{var m;qt.error("Error parsing",g),(m=NS.parseError)==null||m.call(NS,g),d(g),s(g)})});LAt.push(u),uxr().catch(s)}),NS={startOnLoad:!0,mermaidAPI:Xu,parse:dOn,render:fxr,init:uOn,run:sxr,registerExternalDiagrams:fOn,initialize:lxr,parseError:void 0,contentLoaded:cxr,setParseErrorHandler:hOn,detectType:SY};var IAt=class{constructor(){this.count=0;this.menu=new Mm("sitetreeDash");let n=document.getElementById("mainContent");n&&(n.innerHTML=nnr),this.components=[],this.selectedNode=""}wireup(){this.components.forEach(n=>{n.wireup()}),u$()}ontick(){this.menu.ontick(),this.components.forEach(n=>{n.ontick()}),this.count%10==0&&this.selectedNode!=""&&Fle(this.selectedNode),this.count++}onmessage(n){if(n.msg){if(this.menu.onmessage(n),this.components.forEach(i=>{i.onmessage(n)}),n.msg=="NodeStatus"){let i=document.getElementById("shaper_node_select");if(i){let o="";for(let s=0;s<n.NodeStatus.nodes.length;s++){let u="";(s==0||this.selectedNode==n.NodeStatus.nodes[s].node_id)&&(u="selected",s==0&&(this.selectedNode=n.NodeStatus.nodes[s].node_id,Fle(this.selectedNode))),o+="<option "+u+" value='"+n.NodeStatus.nodes[s].node_id+"'>"+n.NodeStatus.nodes[s].node_name+"</option>"}i.innerHTML=o,i.onchange=()=>{let s=document.getElementById("shaper_node_select");this.selectedNode=s.value,Fle(this.selectedNode)}}}n.msg=="SiteTree"&&pOn(n.SiteTree.data)}}};function Fle(r){wVe(r)}var sb=1e6;function pOn(r){r.sort((s,u)=>s.site_name.localeCompare(u.site_name));let n=document.getElementById("site_tree"),i="<table class='table table-striped'>";i+="<thead><tr><th>Site</th><th>Max</th><th>Current</th><th>Utilization</th><th>RTT (ms)</th></tr></thead>",i+="<tbody>";let o=`graph TD
`;for(let s=0;s<r.length;s++)if(r[s].parent==0&&r[s].site_name!="Root"){let u=r[s].current_up/(r[s].max_up*sb)*100,h=r[s].current_down/(r[s].max_down*sb)*100,d=Math.max(u,h),g=Xqt(d),m=Zqt(r[s].current_rtt/100);i+="<tr>";let w=CC(r[s].site_type,r[s].site_name);i+="<td>"+Cat(r[s].site_type)+" <a href='#"+w+`' onclick='window.router.goto("`+w+`")'>`+r[s].site_name+"</a>",i+="</td><td>"+Kl(r[s].max_down*sb)+" / "+Kl(r[s].max_up*sb)+"</td>",i+="</td><td>"+Kl(r[s].current_down)+" / "+Kl(r[s].current_up)+"</td>",i+="<td style='background-color: "+g+"'>"+u.toFixed(1)+"% / "+h.toFixed(1)+"%</td>",i+="<td style='background-color: "+m+"'>"+(r[s].current_rtt/100).toFixed(1)+"</td>",i+="</tr>",i+=hxr(r,r[s].index,1),o+="Root --> "+r[s].index+"["+vOn(r[s].site_name)+`]
`,o+=dxr(r,r[s].index,1)}i+="</tbody></table>",n.innerHTML=i,gOn(o).then(()=>{})}async function gOn(r){let n=document.getElementById("site_map"),{svg:i,bindFunctions:o}=await NS.render("site_map_svg",r);n.innerHTML=i,o?.(n)}function hxr(r,n,i){let o="";for(let s=0;s<r.length;s++)if(r[s].parent==n&&r[s].site_name!="Root"){let u=r[s].current_up/(r[s].max_up*sb)*100,h=r[s].current_down/(r[s].max_down*sb)*100,d=Math.max(u,h),g=Xqt(d),m=Zqt(r[s].current_rtt/100);o+="<tr><td>";for(let _=0;_<i;_++)o+="&nbsp;&nbsp;&nbsp;&nbsp;";let w=CC(r[s].site_type,r[s].site_name);o+=Cat(r[s].site_type)+" <a href='#"+w+`' onclick='window.router.goto("`+w+`")'>`+r[s].site_name+"</a>",o+="</td><td>"+Kl(r[s].max_down*sb)+" / "+Kl(r[s].max_up*sb)+"</td>",o+="</td><td>"+Kl(r[s].current_down)+" / "+Kl(r[s].current_up)+"</td>",o+="<td style='background-color: "+g+"'>"+u.toFixed(1)+"% / "+h.toFixed(1)+"%</td>",o+="<td style='background-color: "+m+"'>"+(r[s].current_rtt/100).toFixed(1)+"</td>",o+="</tr>",i<20&&(o+=hxr(r,r[s].index,i+1))}return o}function vOn(r){return r.replace("(","").replace(")","").replace(" ","_")}function dxr(r,n,i){let o="";for(let s=0;s<r.length;s++)r[s].parent==n&&r[s].site_name!="Root"&&r[s].index!=n&&(s<20&&(o+=n+" --> "+r[s].index+`
`),i<20&&(o+=dxr(r,r[s].index,i+1)));return o}var wK=class{constructor(n){this.siteId=n}wireup(){lYt(decodeURI(this.siteId))}ontick(){lYt(decodeURI(this.siteId))}onmessage(n){if(n.msg=="SiteInfo"){let i=document.getElementById("siteInfo"),o="";o+="<table class='table table-striped'>",o+="<tr><td>Max:</td><td>"+Kl(n.SiteInfo.data.max_down*sb)+" / "+Kl(n.SiteInfo.data.max_up*sb)+"</td></tr>",o+="<tr><td>Current:</td><td>"+Kl(n.SiteInfo.data.current_down)+" / "+Kl(n.SiteInfo.data.current_up)+"</td></tr>",o+="<tr><td>Current RTT:</td><td>"+n.SiteInfo.data.current_rtt/100+" ms</td></tr>",o+="</table>",i.innerHTML=o;let s=n.SiteInfo.oversubscription.dlmax*sb,u=n.SiteInfo.oversubscription.dlmin*sb,h=(s/(n.SiteInfo.data.max_down*sb)*100).toFixed(1),d=(u/(n.SiteInfo.data.max_down*sb)*100).toFixed(1);i=document.getElementById("oversub"),o="",o+="<table class='table table-striped'>",o+="<tr><td>Total Subscribers:</td><td>"+n.SiteInfo.oversubscription.devicecount+"</td></tr>",o+="<tr><td>Total Download (Max):</td><td>"+Kl(s)+" ("+h+"%)</td></tr>",o+="<tr><td>Total Download (Min):</td><td>"+Kl(u)+" ("+d+"%)</td></tr>",o+="</table>",i.innerHTML=o}}};var xK=class{constructor(n){this.chartMade=!1;this.siteId=n,this.div=document.getElementById("rttChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){aYt(window.graphPeriod,this.siteId)}ontick(){aYt(window.graphPeriod,this.siteId)}onmessage(n){if(n.msg=="RttChartSite"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.RttChartSite.nodes.length;d++){let g=n.RttChartSite.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let T=0;T<g.rtt.length;T++)u&&s.push(g.rtt[T].date),m.push(g.rtt[T].value*10),w.push(g.rtt[T].u),_.push(g.rtt[T].l);u&&(u=!1);let E={name:g.node_name,type:"line",data:m,symbol:"none"};o.push(E)}if(!this.chartMade){this.myChart.hideLoading();var i;this.myChart.setOption(i={title:{text:"Average TCP Round-Trip Time"},tooltip:{trigger:"axis",formatter:function(d){return d[0].value.toFixed(1)+" ms<br/>"}},legend:{orient:"horizontal",right:10,top:"bottom",data:h},xAxis:{type:"category",data:s},yAxis:{type:"value",name:"ms"},series:o}),i&&this.myChart.setOption(i)}}}};var OAt=class{constructor(){this.chartMade=!1;this.div=document.getElementById("rttHisto"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){}ontick(){}onmessage(n){}};var _K=class{constructor(n){this.siteId=n}wireup(){xVe(this.siteId)}ontick(){}onmessage(n){if(n.msg=="SiteParents"){let i=document.getElementById("siteName"),o="",s=n.SiteParents.data.reverse();for(let u=0;u<s.length-1;u++){let h=CC(s[u][0],s[u][1]);o+="<a href='#"+h+`' onclick='window.router.goto("`+h+`")'>`+s[u][1]+"</a> | "}o+=s[s.length-1][1]+" | ",o+="<select id='siteChildren'></select>",i.innerHTML=o}else if(n.msg=="SiteChildren"){let i="<option value=''>-- Children --</option>";for(let s=0;s<n.SiteChildren.data.length;s++)i+="<option value='"+CC(n.SiteChildren.data[s][0],n.SiteChildren.data[s][1])+"'>"+n.SiteChildren.data[s][2]+"</option>";let o=document.getElementById("siteChildren");o.innerHTML=i,o.onchange=()=>{let s=document.getElementById("siteChildren");window.router.goto(s.value)}}}};var SK=class{constructor(n){this.myChart=null;this.siteId=decodeURI(n),this.div=document.getElementById("rootHeat")}wireup(){console.log("SiteHeat wireup"),sYt(window.graphPeriod,this.siteId)}ontick(){console.log("SiteHeat ontick"),sYt(window.graphPeriod,this.siteId)}onmessage(n){if(n.msg=="SiteHeat"){let i=[],o=[],s=!0,u=0,h=[],d=[];for(let _ in n.SiteHeat.data)d.push(_);d=d.sort().reverse();for(let _=0;_<d.length;_++){let E=d[_];if(i.push(E),s){s=!1;for(let T=0;T<n.SiteHeat.data[E].length;T++)o.push(n.SiteHeat.data[E][T][0])}for(let T=0;T<n.SiteHeat.data[E].length;T++)h.push([T,u,n.SiteHeat.data[E][T][1].toFixed(1)]);u++}let g=[],m=0;g.push({name:i[m],type:"heatmap",data:h,label:{show:!0,textStyle:{fontSize:6}},emphasis:{itemStyle:{shadowBlur:10,shadowColor:"rgba(0, 0, 0, 0.5)"}}});let w={title:{text:"TCP Round-Trip Time by Site"},tooltip:{show:!1},grid:{height:"50%",top:"10%"},xAxis:{type:"category",data:o,splitArea:{show:!0}},yAxis:{type:"category",data:i,splitArea:{show:!0}},series:g,visualMap:{min:0,max:200,calculable:!0,type:"continuous",orient:"horizontal",left:"center",top:"2%",inRange:{color:["#009000","yellow","#DD2000"]}}};if(this.myChart==null){let E=i.length*20+250;this.div.style.height=E+"px",this.myChart=Sc(this.div)}this.myChart.setOption(w)}}};var T9=class{constructor(n){this.chartMade=!1;this.counter=0;this.siteId=n,this.div=document.getElementById("siteStack"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){rYt(window.graphPeriod,this.siteId)}ontick(){this.counter++,rYt(window.graphPeriod,this.siteId)}onmessage(n){if(n.msg=="SiteStack"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.SiteStack.nodes.length;d++){let g=n.SiteStack.nodes[d];if(g.node_name!="Root"){h.push(g.node_name);let m=[];for(let _=0;_<g.download.length;_++)u&&s.push(g.download[_][0]),m.push(g.download[_][1]*8);u&&(u=!1);let w={nameLine truncated
`),i<20&&(o+=dxr(r,r[s].index,i+1)));return o}var wK=class{constructor(n){this.siteId=n}wireup(){lYt(decodeURI(this.siteId))}ontick(){lYt(decodeURI(this.siteId))}onmessage(n){if(n.msg=="SiteInfo"){let i=document.getElementById("siteInfo"),o="";o+="<table class='table table-striped'>",o+="<tr><td>Max:</td><td>"+Kl(n.SiteInfo.data.max_down*sb)+" / "+Kl(n.SiteInfo.data.max_up*sb)+"</td></tr>",o+="<tr><td>Current:</td><td>"+Kl(n.SiteInfo.data.current_down)+" / "+Kl(n.SiteInfo.data.current_up)+"</td></tr>",o+="<tr><td>Current RTT:</td><td>"+n.SiteInfo.data.current_rtt/100+" ms</td></tr>",o+="</table>",i.innerHTML=o;let s=n.SiteInfo.oversubscription.dlmax*sb,u=n.SiteInfo.oversubscription.dlmin*sb,h=(s/(n.SiteInfo.data.max_down*sb)*100).toFixed(1),d=(u/(n.SiteInfo.data.max_down*sb)*100).toFixed(1);i=document.getElementById("oversub"),o="",o+="<table class='table table-striped'>",o+="<tr><td>Total Subscribers:</td><td>"+n.SiteInfo.oversubscription.devicecount+"</td></tr>",o+="<tr><td>Total Download (Max):</td><td>"+Kl(s)+" ("+h+"%)</td></tr>",o+="<tr><td>Total Download (Min):</td><td>"+Kl(u)+" ("+d+"%)</td></tr>",o+="</table>",i.innerHTML=o}}};var xK=class{constructor(n){this.chartMade=!1;this.siteId=n,this.div=document.getElementById("rttChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){aYt(window.graphPeriod,this.siteId)}ontick(){aYt(window.graphPeriod,this.siteId)}onmessage(n){if(n.msg=="RttChartSite"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.RttChartSite.nodes.length;d++){let g=n.RttChartSite.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let T=0;T<g.rtt.length;T++)u&&s.push(g.rtt[T].date),m.push(g.rtt[T].value*10),w.push(g.rtt[T].u),_.push(g.rtt[T].l);u&&(u=!1);let E={name:g.node_name,type:"line",data:m,symbol:"none"};o.push(E)}if(!this.chartMade){this.myChart.hideLoading();var i;this.myChart.setOption(i={title:{text:"Average TCP Round-Trip Time"},tooltip:{trigger:"axis",formatter:function(d){return d[0].value.toFixed(1)+" ms<br/>"}},legend:{orient:"horizontal",right:10,top:"bottom",data:h},xAxis:{type:"category",data:s},yAxis:{type:"value",name:"ms"},series:o}),i&&this.myChart.setOption(i)}}}};var OAt=class{constructor(){this.chartMade=!1;this.div=document.getElementById("rttHisto"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){}ontick(){}onmessage(n){}};var _K=class{constructor(n){this.siteId=n}wireup(){xVe(this.siteId)}ontick(){}onmessage(n){if(n.msg=="SiteParents"){let i=document.getElementById("siteName"),o="",s=n.SiteParents.data.reverse();for(let u=0;u<s.length-1;u++){let h=CC(s[u][0],s[u][1]);o+=`<a onclick='window.router.goto("`+h+`")'>`+s[u][1]+"</a> | "}o+=`<a onclick='window.router.goto("#dashboard")'>Root</a> |`,o+=s[s.length-1][1]+" | ",o+="<select id='siteChildren'></select>",i.innerHTML=o}else if(n.msg=="SiteChildren"){let i="<option value=''>-- Children --</option>";for(let s=0;s<n.SiteChildren.data.length;s++)i+="<option value='"+CC(n.SiteChildren.data[s][0],n.SiteChildren.data[s][1])+"'>"+n.SiteChildren.data[s][2]+"</option>";let o=document.getElementById("siteChildren");o.innerHTML=i,o.onchange=()=>{let s=document.getElementById("siteChildren");window.router.goto(s.value)}}}};var SK=class{constructor(n){this.myChart=null;this.siteId=decodeURI(n),this.div=document.getElementById("rootHeat")}wireup(){console.log("SiteHeat wireup"),sYt(window.graphPeriod,this.siteId)}ontick(){console.log("SiteHeat ontick"),sYt(window.graphPeriod,this.siteId)}onmessage(n){if(n.msg=="SiteHeat"){let i=[],o=[],s=!0,u=0,h=[],d=[];for(let _ in n.SiteHeat.data)d.push(_);d=d.sort().reverse();for(let _=0;_<d.length;_++){let E=d[_];if(i.push(E),s){s=!1;for(let T=0;T<n.SiteHeat.data[E].length;T++)o.push(n.SiteHeat.data[E][T][0])}for(let T=0;T<n.SiteHeat.data[E].length;T++)h.push([T,u,n.SiteHeat.data[E][T][1].toFixed(1)]);u++}let g=[],m=0;g.push({name:i[m],type:"heatmap",data:h,label:{show:!0,textStyle:{fontSize:6}},emphasis:{itemStyle:{shadowBlur:10,shadowColor:"rgba(0, 0, 0, 0.5)"}}});let w={title:{text:"TCP Round-Trip Time by Site"},tooltip:{show:!1},grid:{height:"50%",top:"10%"},xAxis:{type:"category",data:o,splitArea:{show:!0}},yAxis:{type:"category",data:i,splitArea:{show:!0}},series:g,visualMap:{min:0,max:200,calculable:!0,type:"continuous",orient:"horizontal",left:"center",top:"2%",inRange:{color:["#009000","yellow","#DD2000"]}}};if(this.myChart==null){let E=i.length*20+250;this.div.style.height=E+"px",this.myChart=Sc(this.div)}this.myChart.setOption(w)}}};var T9=class{constructor(n){this.chartMade=!1;this.counter=0;this.siteId=n,this.div=document.getElementById("siteStack"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){rYt(window.graphPeriod,this.siteId)}ontick(){this.counter++,rYt(window.graphPeriod,this.siteId)}onmessage(n){if(n.msg=="SiteStack"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.SiteStack.nodes.length;d++){let g=n.SiteStack.nodes[d];if(g.node_name!="Root"){h.push(g.node_name);let m=[];for(let _=0;_<g.download.length;_++)u&&s.push(g.download[_][0]),Line truncated
<div class="row">
<div class="col-12" id="siteName">
</div>
@@ -1854,7 +1854,7 @@ ${r.stack}`:o}var Fs=0,A_t=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{enco
`;var NAt=class{constructor(n){this.count=0;this.circuitId=decodeURI(n)}wireup(){cYt(this.circuitId)}ontick(){this.count++,this.count%10==0&&cYt(this.circuitId)}onmessage(n){if(n.msg=="CircuitInfo"){let i=document.getElementById("circuitInfo"),o="";o+="<table class='table table-striped'>",o+="<tr><td>Circuit Name:</td><td>"+n.CircuitInfo.data[0].circuit_name+"</td></tr>",o+="<tr><td>Min (CIR) Limits:</td><td>"+n.CircuitInfo.data[0].download_min_mbps+" / "+n.CircuitInfo.data[0].upload_min_mbps+" Mbps</td></tr>",o+="<tr><td>Max (Ceiling) Limits:</td><td>"+n.CircuitInfo.data[0].download_max_mbps+" / "+n.CircuitInfo.data[0].upload_max_mbps+" Mbps</td></tr>",o+="</table>",i.innerHTML=o,i=document.getElementById("circuitDevices"),o="",o+="<table class='table table-striped'>";for(let s=0;s<n.CircuitInfo.data.length;s++)o+="<tr>",o+="<td>Device:</td><td>"+n.CircuitInfo.data[s].device_name+"</td>",o+="<td>IP:</td><td>"+n.CircuitInfo.data[s].ip_range+"/"+n.CircuitInfo.data[s].subnet+"</td>",o+="</tr>";o+="</table>",i.innerHTML=o}}};var RAt=class{constructor(n){this.chartMade=!1;this.circuitId=n,this.div=document.getElementById("throughputChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){}ontick(){vVe(window.graphPeriod,this.circuitId)}onmessage(n){if(n.msg=="BitsChart"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.BitsChart.nodes.length;d++){let g=n.BitsChart.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)u&&s.push(g.down[L].date),m.push(g.down[L].value),w.push(g.down[L].u),_.push(g.down[L].l);u&&(u=!1);let E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"};o.push(E),o.push(T),o.push(M),m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)m.push(0-g.up[L].value),w.push(0-g.up[L].u),_.push(0-g.up[L].l);E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"},o.push(E),o.push(T),o.push(M)}if(!this.chartMade){this.myChart.hideLoading();var i;this.myChart.setOption(i={title:{text:"Bits"},tooltip:{trigger:"axis"},legend:{orient:"horizontal",right:10,top:"bottom",data:h},xAxis:{type:"category",data:s},yAxis:{type:"value",axisLabel:{formatter:function(d){return Kl(Math.abs(d))}}},series:o}),i&&this.myChart.setOption(i)}}}};var BAt=class{constructor(n){this.chartMade=!1;this.circuitId=decodeURI(n),this.div=document.getElementById("rttChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){}ontick(){yVe(window.graphPeriod,this.circuitId)}onmessage(n){if(n.msg=="RttChartCircuit"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.RttChartCircuit.nodes.length;d++){let g=n.RttChartCircuit.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let L=0;L<g.rtt.length;L++)u&&s.push(g.rtt[L].date),m.push(g.rtt[L].value),w.push(g.rtt[L].u),_.push(g.rtt[L].l);u&&(u=!1);let E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"};o.push(E),o.push(T),o.push(M)}if(!this.chartMade){this.myChart.hideLoading();var i;this.myChart.setOption(i={title:{text:"TCP Round-Trip Time"},tooltip:{trigger:"axis"},legend:{orient:"horizontal",right:10,top:"bottom",data:h},xAxis:{type:"category",data:s},yAxis:{type:"value",name:"ms"},series:o}),i&&this.myChart.setOption(i)}}}};var FAt=class{constructor(n){this.circuitId=n}wireup(){_Ve(this.circuitId)}ontick(){}onmessage(n){if(n.msg=="SiteParents"){let i=document.getElementById("siteName"),o="",s=n.SiteParents.data.reverse();for(let u=0;u<s.length;u++){let h=CC(s[u][0],s[u][1]);o+="<a href='#"+h+`' onclick='window.router.goto("`+h+`")'>`+s[u][1]+"</a> | "}o=o.substring(0,o.length-3),i.innerHTML=o}}};var zAt=class{constructor(n){this.circuitId=n,this.menu=new Mm("sitetreeDash");let i=document.getElementById("mainContent");i&&(i.innerHTML=pxr),this.components=[new NAt(this.circuitId),new RAt(this.circuitId),new BAt(this.circuitId),new FAt(this.circuitId)]}wireup(){this.components.forEach(n=>{n.wireup()}),TVe(this.circuitId)}ontick(){this.menu.ontick(),this.components.forEach(n=>{n.ontick()})}onmessage(n){if(n.msg){if(this.menu.onmessage(n),this.components.forEach(o=>{o.onmessage(n)}),n.msg=="DeviceExt"){let o=document.getElementById("ext"),s="";for(let u=0;u<n.DeviceExt.data.length;u++){let h=n.DeviceExt.data[u];s+="<div class='row'>",s+="<div class='col-4'>",s+="<div class='card'>",s+="<div class='card-body' style='height: 250px'>",s+="<h4>"+h.name+"</h4>",s+="<strong>Status</strong>: "+h.Line truncated
<div class="row">
<div class="col-12" id="nodeStatus">
<h1>Dashboard</h1>
<h1><i class="fa-solid fa-gauge"></i> Dashboard</h1>
</div>
</div>
<div class="row">
@@ -1917,7 +1917,7 @@ ${r.stack}`:o}var Fs=0,A_t=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{enco
</div>
</div>
</div>
`;var VAt=class{wireup(){}ontick(){u$()}onmessage(n){if(n.msg=="NodeStatus"){let i=document.getElementById("nodeStatus"),o="";if(i){for(let s=0;s<n.NodeStatus.nodes.length;s++){let u=n.NodeStatus.nodes[s],h="danger";u.last_seen>86400&&(h="secondary"),u.last_seen<60&&(h="warning"),u.last_seen<20&&(h="success");let d='"shaperNode:'+u.node_id+":"+u.node_name.replace(":","_")+'"';o+="<span href='#' onclick='window.router.goto("+d+")' class='badge rounded-pill text-bg-"+h+"'><i class='fa-solid fa-server'></i> "+u.node_name+"</span> "}i.innerHTML=o}}}};var UAt=class{constructor(){this.chartMade=!1;this.div=document.getElementById("packetsChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){Jqt(window.graphPeriod)}ontick(){Jqt(window.graphPeriod)}onmessage(n){if(n.msg=="PacketChart"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.PacketChart.nodes.length;d++){let g=n.PacketChart.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)u&&s.push(g.down[L].date),m.push(g.down[L].value),w.push(g.down[L].u),_.push(g.down[L].l);u&&(u=!1);let E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"};o.push(E),o.push(T),o.push(M),m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)m.push(0-g.up[L].value),w.push(0-g.up[L].u),_.push(0-g.up[L].l);E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"},o.push(E),o.push(T),o.push(M)}if(!this.chartMade){this.myChart.hideLoading();var i;this.myChart.setOption(i={title:{text:"Packets"},tooltip:{trigger:"axis",formatter:function(d){let g="";for(let m=0;m<d.length;m+=3)d[m+2].value>0?g+=d[m+2].seriesName+": "+Kl(Math.abs(d[m+2].value))+" \u2B07\uFE0F<br/>":g+=d[m+2].seriesName+": "+Kl(Math.abs(d[m+2].value))+" \u2B06\uFE0F<br/>";return g}},legend:{orient:"horizontal",right:10,top:"bottom",data:h},xAxis:{type:"category",data:s},yAxis:{type:"value",axisLabel:{formatter:function(d){return Kl(Math.abs(d))}}},series:o}),i&&this.myChart.setOption(i)}}}};var jAt=class{constructor(){this.chartMade=!1;this.div=document.getElementById("throughputChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){tYt(window.graphPeriod)}ontick(){tYt(window.graphPeriod)}onmessage(n){if(n.msg=="BitsChart"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.BitsChart.nodes.length;d++){let g=n.BitsChart.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)u&&s.push(g.down[L].date),m.push(g.down[L].value),w.push(g.down[L].u),_.push(g.down[L].l);u&&(u=!1);let E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"};o.push(E),o.push(T),o.push(M),m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)m.push(0-g.up[L].value),w.push(0-g.up[L].u),_.push(0-g.up[L].l);E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"},o.push(E),o.push(T),o.push(M)}if(!this.chartMade){this.myChart.hideLoading();var i;this.myChart.setOption(i={title:{text:"Bits"},tooltip:{trigger:"axis",formatter:function(d){let g="";for(let m=0;m<d.length;m+=3)d[m+2].value>0?g+=d[m+2].seriesName+": "+Kl(Math.abs(d[m+2].value))+" \u2B07\uFE0F<br/>":g+=d[m+2].seriesName+": "+Kl(Math.abs(d[m+2].value))+" \u2B06\uFE0F<br/>";return g}},legend:{orient:"horizontal",right:10,top:"bottom",data:h},xAxis:{type:"category",data:s},yAxis:{type:"value",axisLabel:{formatter:function(d){return Kl(Math.abs(d))}}},series:o}),i&&this.myChart.setOption(i)}}}};var HAt=class{constructor(){this.chartMade=!1;this.div=document.getElementById("rttChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){nYt(window.graphPeriod)}ontick(){nYt(window.graphPeriod)}onmessage(n){if(n.msg=="RttChart"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.RttChart.nodes.length;d++){let g=n.RttChart.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let L=0;L<g.rtt.length;L++)u&&s.push(g.rtt[L].date),m.push(g.rtt[L].value),w.push(g.rtt[L].u),_.push(g.rtt[L].l);u&&(u=!1);let E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data: Line truncated
`;var VAt=class{wireup(){}ontick(){u$()}onmessage(n){if(n.msg=="NodeStatus"){let i=document.getElementById("nodeStatus"),o="";if(i){for(let s=0;s<n.NodeStatus.nodes.length;s++){let u=n.NodeStatus.nodes[s],h="danger";u.last_seen>86400&&(h="secondary"),u.last_seen<60&&(h="warning"),u.last_seen<20&&(h="success");let d='"shaperNode:'+u.node_id+":"+u.node_name.replace(":","_")+'"';o+="<span href='#' onclick='window.router.goto("+d+")' class='badge rounded-pill text-bg-"+h+"'><i class='fa-solid fa-server'></i> "+u.node_name+"</span> "}i.innerHTML=o}}}};var UAt=class{constructor(){this.chartMade=!1;this.div=document.getElementById("packetsChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){Jqt(window.graphPeriod)}ontick(){Jqt(window.graphPeriod)}onmessage(n){if(n.msg=="PacketChart"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.PacketChart.nodes.length;d++){let g=n.PacketChart.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)u&&s.push(g.down[L].date),m.push(g.down[L].value),w.push(g.down[L].u),_.push(g.down[L].l);u&&(u=!1);let E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"};o.push(E),o.push(T),o.push(M),m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)m.push(0-g.up[L].value),w.push(0-g.up[L].u),_.push(0-g.up[L].l);E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"},o.push(E),o.push(T),o.push(M)}if(!this.chartMade){this.myChart.hideLoading();var i;this.myChart.setOption(i={title:{text:"Packets"},tooltip:{trigger:"axis",formatter:function(d){let g="";for(let m=0;m<d.length;m+=3)d[m+2].value>0?g+=d[m+2].seriesName+": "+Kl(Math.abs(d[m+2].value))+" \u2B07\uFE0F<br/>":g+=d[m+2].seriesName+": "+Kl(Math.abs(d[m+2].value))+" \u2B06\uFE0F<br/>";return g}},legend:{orient:"horizontal",right:10,top:"bottom",data:h},xAxis:{type:"category",data:s},yAxis:{type:"value",axisLabel:{formatter:function(d){return Kl(Math.abs(d))}}},series:o}),i&&this.myChart.setOption(i)}}}};var jAt=class{constructor(){this.chartMade=!1;this.div=document.getElementById("throughputChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){tYt(window.graphPeriod)}ontick(){tYt(window.graphPeriod)}onmessage(n){if(n.msg=="BitsChart"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.BitsChart.nodes.length;d++){let g=n.BitsChart.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)u&&s.push(g.down[L].date),m.push(g.down[L].value),w.push(g.down[L].u),_.push(g.down[L].l);u&&(u=!1);let E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"};o.push(E),o.push(T),o.push(M),m=[],w=[],_=[];for(let L=0;L<g.down.length;L++)m.push(0-g.up[L].value),w.push(0-g.up[L].u),_.push(0-g.up[L].l);E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data:m,symbol:"none"},o.push(E),o.push(T),o.push(M)}if(!this.chartMade){this.myChart.hideLoading();var i;this.myChart.setOption(i={title:{text:"Bits"},tooltip:{trigger:"axis",formatter:function(d){let g="";for(let m=0;m<d.length;m+=3)d[m+2].value>0?g+=d[m+2].seriesName+": "+Kl(Math.abs(d[m+2].value))+" \u2B07\uFE0F<br/>":g+=d[m+2].seriesName+": "+Kl(Math.abs(d[m+2].value))+" \u2B06\uFE0F<br/>";return g}},legend:{orient:"horizontal",right:10,top:"bottom",data:h},xAxis:{type:"category",data:s},yAxis:{type:"value",axisLabel:{formatter:function(d){return Kl(Math.abs(d))}}},series:o}),i&&this.myChart.setOption(i)}}}};var HAt=class{constructor(){this.chartMade=!1;this.div=document.getElementById("rttChart"),this.myChart=Sc(this.div),this.myChart.showLoading()}wireup(){nYt(window.graphPeriod)}ontick(){nYt(window.graphPeriod)}onmessage(n){if(n.msg=="RttChart"){let o=[],s=[],u=!0,h=[];for(let d=0;d<n.RttChart.nodes.length;d++){let g=n.RttChart.nodes[d];h.push(g.node_name);let m=[],w=[],_=[];for(let L=0;L<g.rtt.length;L++)u&&s.push(g.rtt[L].date),m.push(g.rtt[L].value),w.push(g.rtt[L].u),_.push(g.rtt[L].l);u&&(u=!1);let E={name:"L",type:"line",data:_,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0}},T={name:"U",type:"line",data:w,symbol:"none",stack:"confidence-band-"+g.node_id,lineStyle:{opacity:0},areaStyle:{color:"#ccc"}},M={name:g.node_name,type:"line",data: Line truncated
<div class="row">
<div class="col-sm-4"></div>
<div class="col-sm-4">
@@ -1,7 +1,7 @@
{
"version": 3,
"sources": ["../node_modules/@popperjs/core/src/dom-utils/getWindow.js", "../node_modules/@popperjs/core/src/dom-utils/instanceOf.js", "../node_modules/@popperjs/core/src/utils/math.js", "../node_modules/@popperjs/core/src/utils/userAgent.js", "../node_modules/@popperjs/core/src/dom-utils/isLayoutViewport.js", "../node_modules/@popperjs/core/src/dom-utils/getBoundingClientRect.js", "../node_modules/@popperjs/core/src/dom-utils/getWindowScroll.js", "../node_modules/@popperjs/core/src/dom-utils/getHTMLElementScroll.js", "../node_modules/@popperjs/core/src/dom-utils/getNodeScroll.js", "../node_modules/@popperjs/core/src/dom-utils/getNodeName.js", "../node_modules/@popperjs/core/src/dom-utils/getDocumentElement.js", "../node_modules/@popperjs/core/src/dom-utils/getWindowScrollBarX.js", "../node_modules/@popperjs/core/src/dom-utils/getComputedStyle.js", "../node_modules/@popperjs/core/src/dom-utils/isScrollParent.js", "../node_modules/@popperjs/core/src/dom-utils/getCompositeRect.js", "../node_modules/@popperjs/core/src/dom-utils/getLayoutRect.js", "../node_modules/@popperjs/core/src/dom-utils/getParentNode.js", "../node_modules/@popperjs/core/src/dom-utils/getScrollParent.js", "../node_modules/@popperjs/core/src/dom-utils/listScrollParents.js", "../node_modules/@popperjs/core/src/dom-utils/isTableElement.js", "../node_modules/@popperjs/core/src/dom-utils/getOffsetParent.js", "../node_modules/@popperjs/core/src/enums.js", "../node_modules/@popperjs/core/src/utils/orderModifiers.js", "../node_modules/@popperjs/core/src/utils/debounce.js", "../node_modules/@popperjs/core/src/utils/format.js", "../node_modules/@popperjs/core/src/utils/validateModifiers.js", "../node_modules/@popperjs/core/src/utils/uniqueBy.js", "../node_modules/@popperjs/core/src/utils/getBasePlacement.js", "../node_modules/@popperjs/core/src/utils/mergeByName.js", "../node_modules/@popperjs/core/src/dom-utils/getViewportRect.js", "../node_modules/@popperjs/core/src/dom-utils/getDocumentRect.js", "../node_modules/@popperjs/core/src/dom-utils/contains.js", "../node_modules/@popperjs/core/src/utils/rectToClientRect.js", "../node_modules/@popperjs/core/src/dom-utils/getClippingRect.js", "../node_modules/@popperjs/core/src/utils/getVariation.js", "../node_modules/@popperjs/core/src/utils/getMainAxisFromPlacement.js", "../node_modules/@popperjs/core/src/utils/computeOffsets.js", "../node_modules/@popperjs/core/src/utils/getFreshSideObject.js", "../node_modules/@popperjs/core/src/utils/mergePaddingObject.js", "../node_modules/@popperjs/core/src/utils/expandToHashMap.js", "../node_modules/@popperjs/core/src/utils/detectOverflow.js", "../node_modules/@popperjs/core/src/createPopper.js", "../node_modules/@popperjs/core/src/modifiers/eventListeners.js", "../node_modules/@popperjs/core/src/modifiers/popperOffsets.js", "../node_modules/@popperjs/core/src/modifiers/computeStyles.js", "../node_modules/@popperjs/core/src/modifiers/applyStyles.js", "../node_modules/@popperjs/core/src/modifiers/offset.js", "../node_modules/@popperjs/core/src/utils/getOppositePlacement.js", "../node_modules/@popperjs/core/src/utils/getOppositeVariationPlacement.js", "../node_modules/@popperjs/core/src/utils/computeAutoPlacement.js", "../node_modules/@popperjs/core/src/modifiers/flip.js", "../node_modules/@popperjs/core/src/utils/getAltAxis.js", "../node_modules/@popperjs/core/src/utils/within.js", "../node_modules/@popperjs/core/src/modifiers/preventOverflow.js", "../node_modules/@popperjs/core/src/modifiers/arrow.js", "../node_modules/@popperjs/core/src/modifiers/hide.js", "../node_modules/@popperjs/core/src/popper-lite.js", "../node_modules/@popperjs/core/src/popper.js", "../node_modules/bootstrap/js/src/util/index.js", "../node_modules/bootstrap/js/src/dom/event-handler.js", "../node_modules/bootstrap/js/src/dom/data.js", "../node_modules/bootstrap/js/src/dom/manipulator.js", "../node_modules/bootstrap/js/src/util/config.js", "../node_modules/bootstrap/js/src/base-component.js", "../node_modules/bootstrap/js/src/util/component-functions.js", "../node_modules/bootstrap/js/src/alert.js", "../node_modules/bootstrap/js/src/button.js", "../node_modules/bootstrap/js/src/dom/selector-engine.js", "../node_modules/bootstrap/js/src/util/swipe.js", "../node_modules/bootstrap/js/src/carousel.js", "../node_modules/bootstrap/js/src/collapse.js", "../node_modules/bootstrap/js/src/dropdown.js", "../node_modules/bootstrap/js/src/util/scrollbar.js", "../node_modules/bootstrap/js/src/util/backdrop.js", "../node_modules/bootstrap/js/src/util/focustrap.js", "../node_modules/bootstrap/js/src/modal.js", "../node_modules/bootstrap/js/src/offcanvas.js", "../node_modules/bootstrap/js/src/util/sanitizer.js", "../node_modules/bootstrap/js/src/util/template-factory.js", "../node_modules/bootstrap/js/src/tooltip.js", "../node_modules/bootstrap/js/src/popover.js", "../node_modules/bootstrap/js/src/scrollspy.js", "../node_modules/bootstrap/js/src/tab.js", "../node_modules/bootstrap/js/src/toast.js", "../nodLine truncated
"sourcesContent": ["// @flow\nimport type { Window } from '../types';\ndeclare function getWindow(node: Node | Window): Window;\n\nexport default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n", "// @flow\nimport getWindow from './getWindow';\n\ndeclare function isElement(node: mixed): boolean %checks(node instanceof\n Element);\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\ndeclare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement);\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\ndeclare function isShadowRoot(node: mixed): boolean %checks(node instanceof\n ShadowRoot);\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };\n", "// @flow\nexport const max = Math.max;\nexport const min = Math.min;\nexport const round = Math.round;\n", "// @flow\ntype Navigator = Navigator & { userAgentData?: NavigatorUAData };\n\ninterface NavigatorUAData {\n brands: Array<{ brand: string, version: string }>;\n mobile: boolean;\n platform: string;\n}\n\nexport default function getUAString(): string {\n const uaData = (navigator: Navigator).userAgentData;\n\n if (uaData?.brands && Array.isArray(uaData.brands)) {\n return uaData.brands\n .map((item) => `${item.brand}/${item.version}`)\n .join(' ');\n }\n\n return navigator.userAgent;\n}\n", "// @flow\nimport getUAString from '../utils/userAgent';\n\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}\n", "// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport { round } from '../utils/math';\nimport getWindow from './getWindow';\nimport isLayoutViewport from './isLayoutViewport';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement,\n includeScale: boolean = false,\n isFixedStrategy: boolean = false\n): ClientRectObject {\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX =\n (element: HTMLElement).offsetWidth > 0\n ? round(clientRect.width) / (element: HTMLElement).offsetWidth || 1\n : 1;\n scaleY =\n (element: HTMLElement).offsetHeight > 0\n ? round(clientRect.height) / (element: HTMLElement).offsetHeight || 1\n : 1;\n }\n\n const { visualViewport } = isElement(element) ? getWindow(element) : window;\n const addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n\n const x =\n (clientRect.left +\n (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) /\n scaleX;\n const y =\n (clientRect.top +\n (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) /\n scaleY;\n const width = clientRect.width / scaleX;\n const height = clientRect.height / scaleY;\n\n return {\n width,\n height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x,\n y,\n };\n}\n", "// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n", "// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n", "// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n", "// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n", "// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDoLine truncated
"mappings": "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 truncated
"sourcesContent": ["// @flow\nimport type { Window } from '../types';\ndeclare function getWindow(node: Node | Window): Window;\n\nexport default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n", "// @flow\nimport getWindow from './getWindow';\n\ndeclare function isElement(node: mixed): boolean %checks(node instanceof\n Element);\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\ndeclare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement);\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\ndeclare function isShadowRoot(node: mixed): boolean %checks(node instanceof\n ShadowRoot);\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };\n", "// @flow\nexport const max = Math.max;\nexport const min = Math.min;\nexport const round = Math.round;\n", "// @flow\ntype Navigator = Navigator & { userAgentData?: NavigatorUAData };\n\ninterface NavigatorUAData {\n brands: Array<{ brand: string, version: string }>;\n mobile: boolean;\n platform: string;\n}\n\nexport default function getUAString(): string {\n const uaData = (navigator: Navigator).userAgentData;\n\n if (uaData?.brands && Array.isArray(uaData.brands)) {\n return uaData.brands\n .map((item) => `${item.brand}/${item.version}`)\n .join(' ');\n }\n\n return navigator.userAgent;\n}\n", "// @flow\nimport getUAString from '../utils/userAgent';\n\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}\n", "// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport { round } from '../utils/math';\nimport getWindow from './getWindow';\nimport isLayoutViewport from './isLayoutViewport';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement,\n includeScale: boolean = false,\n isFixedStrategy: boolean = false\n): ClientRectObject {\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX =\n (element: HTMLElement).offsetWidth > 0\n ? round(clientRect.width) / (element: HTMLElement).offsetWidth || 1\n : 1;\n scaleY =\n (element: HTMLElement).offsetHeight > 0\n ? round(clientRect.height) / (element: HTMLElement).offsetHeight || 1\n : 1;\n }\n\n const { visualViewport } = isElement(element) ? getWindow(element) : window;\n const addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n\n const x =\n (clientRect.left +\n (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) /\n scaleX;\n const y =\n (clientRect.top +\n (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) /\n scaleY;\n const width = clientRect.width / scaleX;\n const height = clientRect.height / scaleY;\n\n return {\n width,\n height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x,\n y,\n };\n}\n", "// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n", "// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n", "// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n", "// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n", "// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDoLine truncated
"mappings": "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 truncated
"names": ["getWindow", "node", "window", "toString", "ownerDocument", "defaultView", "isElement", "OwnElement", "Element", "isHTMLElement", "HTMLElement", "isShadowRoot", "ShadowRoot", "max", "Math", "min", "round", "getUAString", "uaData", "navigator", "userAgentData", "brands", "Array", "isArray", "map", "item", "brand", "version", "join", "userAgent", "isLayoutViewport", "test", "getBoundingClientRect", "element", "includeScale", "isFixedStrategy", "clientRect", "scaleX", "scaleY", "offsetWidth", "width", "offsetHeight", "height", "_ref", "visualViewport", "addVisualOffsets", "x", "left", "offsetLeft", "y", "top", "offsetTop", "right", "bottom", "getWindowScroll", "win", "scrollLeft", "pageXOffset", "scrollTop", "pageYOffset", "getHTMLElementScroll", "getNodeScroll", "getNodeName", "nodeName", "toLowerCase", "getDocumentElement", "document", "documentElement", "getWindowScrollBarX", "getComputedStyle", "isScrollParent", "_getComputedStyle", "overflow", "overflowX", "overflowY", "isElementScaled", "rect", "getCompositeRect", "elementOrVirtualElement", "offsetParent", "isFixed", "isOffsetParentAnElement", "offsetParentIsScaled", "scroll", "offsets", "clientLeft", "clientTop", "getLayoutRect", "abs", "getParentNode", "assignedSlot", "parentNode", "host", "getScrollParent", "indexOf", "body", "listScrollParents", "list", "_element$ownerDocumen", "scrollParent", "isBody", "target", "concat", "updatedList", "isTableElement", "getTrueOffsetParent", "position", "getContainingBlock", "isFirefox", "isIE", "elementCss", "currentNode", "css", "transform", "perspective", "contain", "willChange", "filter", "getOffsetParent", "auto", "basePlacements", "start", "end", "clippingParents", "viewport", "popper", "reference", "variationPlacements", "reduce", "acc", "placement", "placements", "beforeRead", "read", "afterRead", "beforeMain", "main", "afterMain", "beforeWrite", "write", "afterWrite", "modifierPhases", "order", "modifiers", "Map", "visited", "Set", "result", "forEach", "modifier", "set", "name", "sort", "add", "requires", "requiresIfExists", "dep", "has", "depModifier", "get", "push", "orderModifiers", "orderedModifiers", "phase", "debounce", "fn", "pending", "Promise", "resolve", "then", "undefined", "getBasePlacement", "split", "mergeByName", "merged", "current", "existing", "options", "data", "Object", "keys", "key", "getViewportRect", "strategy", "html", "clientWidth", "clientHeight", "layoutViewport", "getDocumentRect", "winScroll", "scrollWidth", "scrollHeight", "direction", "contains", "parent", "child", "rootNode", "getRootNode", "next", "isSameNode", "rectToClientRect", "getInnerBoundingClientRect", "getClientRectFromMixedType", "clippingParent", "getClippingParents", "canEscapeClipping", "clipperElement", "getClippingRect", "boundary", "rootBoundary", "mainClippingParents", "firstClippingParent", "clippingRect", "accRect", "getVariation", "getMainAxisFromPlacement", "computeOffsets", "basePlacement", "variation", "commonX", "commonY", "mainAxis", "len", "getFreshSideObject", "mergePaddingObject", "paddingObject", "expandToHashMap", "value", "hashMap", "detectOverflow", "state", "_options", "_options$placement", "_options$strategy", "_options$boundary", "_options$rootBoundary", "_options$elementConte", "elementContext", "_options$altBoundary", "altBoundary", "_options$padding", "padding", "altContext", "popperRect", "rects", "elements", "clippingClientRect", "contextElement", "referenceClientRect", "popperOffsets", "popperClientRect", "elementClientRect", "overflowOffsets", "offsetData", "modifiersData", "offset", "multiply", "axis", "DEFAULT_OPTIONS", "areValidElements", "_len", "args", "_key", "some", "popperGenerator", "generatorOptions", "_generatorOptions", "_generatorOptions$def", "defaultModifiers", "_generatorOptions$def2", "defaultOptions", "attributes", "styles", "effectCleanupFns", "isDestroyed", "instance", "setOptions", "setOptionsAction", "cleanupModifierEffects", "scrollParents", "m", "enabled", "flipModifier", "marginTop", "marginRight", "marginBottom", "marginLeft", "runModifierEffects", "update", "forceUpdate", "_state$elements", "reset", "__debug_loops__", "index", "length", "_state$orderedModifie", "_state$orderedModifie2", "destroy", "onFirstUpdate", "_ref3", "_ref3$options", "effect", "cleanupFn", "noopFn", "passive", "_options$scroll", "_options$resize", "resize", "addEventListener", "removeEventListener", "eventListeners", "popperOffsets$1", "unsetSides", "roundOffsetsByDPR", "dpr", "devicePixelRatio", "mapToStyles", "_ref2", "_Object$assign2", "gpuAcceleration", "adaptive", "roundOffsets", "_offsets$x", "_offsets$y", "hasX", "hasOwnProperty", "hasY", "sideX", "sideY", "heightProp", "widthProp", "offsetY", "offsetX", "commonStyles", "_ref4", "_Object$assign", "computeStyles", "_ref5", "_options$gpuAccelerat", "_options$adaptive", "_options$roundOffsets", "transitionProperty", "arrow", "computeStyles$1", "applyStyles", "style", "assign", "removeAttribute", "setAttribute", "initLine truncated
}
@@ -8,7 +8,7 @@ export class RootBreadcrumbs implements Component {
wireup(): void {
let div = document.getElementById("siteName") as HTMLDivElement;
div.innerHTML = "Root | <select id='siteChildren'></select>";
div.innerHTML = "<a onclick='window.router.goto(\"#dashboard\")'>Root</a> | <select id='siteChildren'></select>";
request_root_parents();
}
@@ -24,8 +24,9 @@ export class SiteBreadcrumbs implements Component {
let crumbs = event.SiteParents.data.reverse();
for (let i = 0; i < crumbs.length-1; i++) {
let url = makeUrl(crumbs[i][0], crumbs[i][1]);
html += "<a href='#" + url + "' onclick='window.router.goto(\"" + url + "\")'>" + crumbs[i][1] + "</a> | ";
html += "<a onclick='window.router.goto(\"" + url + "\")'>" + crumbs[i][1] + "</a> | ";
}
html += "<a onclick='window.router.goto(\"#dashboard\")'>Root</a> |";
html += crumbs[crumbs.length-1][1] + " | ";
html += "<select id='siteChildren'></select>";
div.innerHTML = html;
@@ -1,7 +1,7 @@
<div class="container">
<div class="row">
<div class="col-12" id="nodeStatus">
<h1>Dashboard</h1>
<h1><i class="fa-solid fa-gauge"></i> Dashboard</h1>
</div>
</div>
<div class="row">