@nopwdio/sdk-js
Version:
Nopwd JS SDK
37 lines (31 loc) • 2.08 kB
JavaScript
import{a as d}from"../chunk-HHPIKOXT.js";import{a as m,b as u}from"../chunk-325E7D5T.js";import{a as c,b as s,d as p,e as l,f as a}from"../chunk-X5RZB7NH.js";import{a as o}from"../chunk-JFKSI6I7.js";var h=c`
:host {
display: flex;
gap: var(--np-component-padding);
overflow-x: scroll;
}
:host::-webkit-scrollbar {
display: none;
}
span {
border-radius: var(--np-component-border-radius);
min-width: var(--np-component-font-size);
min-height: var(--np-component-font-size);
flex: 1;
}
span.down {
background-color: var(--np-core-color-red-m);
}
span.nodata {
background-color: var(--np-core-color-grey-xs);
}
span.disrupted {
background-color: var(--np-core-color-orange-m);
}
span.operational {
background-color: var(--np-core-color-green-m);
}
span.operational:nth-child(1) {
animation: glow var(--np-core-animation-duration-xl) ease-in-out infinite alternate;
}
`;var e=class extends p{constructor(){super(...arguments);this.statuses=[];this.limit=30}render(){return s`${this.statuses.length===0?s``:this.statuses.map(t=>t.success_count===0&&t.error_count===0?s`<span class="nodata"></span>`:t.success_count===0?s`<span class="down"></span>`:t.error_count>0?s`<span class="disrupted"></span>`:s`<span class="operational"></span>`)}`}connectedCallback(){super.connectedCallback(),this.connect()}async connect(){let t="wss://ws-a5hdgaocga-uc.a.run.app",r=this.getAttribute("scope"),f=r===null?`${t}/status?limit=${this.limit}`:`${t}/status/${r}?limit=${this.limit}`,i=new WebSocket(f);i.onmessage=g=>{let n=JSON.parse(g.data);if(this.statuses.length===0){this.statuses.unshift(n),this.requestUpdate();return}this.statuses[0].day_id===n.day_id?(this.statuses[0]=n,this.requestUpdate()):(this.statuses.unshift(n),this.requestUpdate())},i.onclose=async()=>{this.statuses=[],this.isConnected&&(await d(1e3),this.connect())}}};e.styles=[m,u,h],o([a({type:Array})],e.prototype,"statuses",2),o([a({type:Number})],e.prototype,"limit",2),e=o([l("np-status-history")],e);export{e as NpStatusHistory};