UNPKG

zwave-js-ui

Version:

Z-Wave Control Panel and MQTT Gateway

3 lines (2 loc) 20.8 kB
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Multipane-DY8yX5Fs.js","./index-B9yS4Bcc.js","./index-Bm7DxUwf.css","./Multipane-Ds04H7aO.css","./MultipaneResizer-DtRhcazY.js","./RichValue-BEvxy1kn.js","./RichValue-C1OidLuR.css","./FrameDetails-Dzoz1k7B.js","./VTable-BXtGlLLl.js","./VTable-CQyv0wyO.css","./VTextarea-BABdvF5b.js","./VTextarea-BTR7f0gW.css","./FrameDetails-BRjQ9Inw.css"])))=>i.map(i=>d[i]); import{_ as U,I as j,d as C,m as J,u as P,aE as G,aF as K,al as V,E as x,aG as I,aj as X,a as Y,ak as $,aH as ee,aI as te,a8 as se,aJ as E,av as re,aK as S,aL as g,aM as ae,aN as ie,aO as oe,aP as ne,aQ as le,l as h,w as s,V as ce,a9 as de,r as _,o as c,b as o,v as w,aR as A,c as f,e as T,f as b,g as ue,an as he,am as fe,W as pe,ab as me,i as p,$ as ge,k as d,N as D,O as H,U as n,t as m,q as y,aS as be,a1 as k,ao as R,X as we,n as ye,ar as Se,h as L,Q as q,aT as Ce,z as v}from"./index-B9yS4Bcc.js";import{R as _e}from"./index-_vbXjPry.js";import{V as ke}from"./VDataTable-CKSj76XP.js";import{V as N}from"./VFab-OEmwwbnb.js";import"./sort-CSOGXH9I.js";import"./VTable-BXtGlLLl.js";const z={name:"Zniffer",mixins:[j],props:{socket:Object},components:{Multipane:C(()=>v(()=>import("./Multipane-DY8yX5Fs.js"),__vite__mapDeps([0,1,2,3]),import.meta.url)),MultipaneResizer:C(()=>v(()=>import("./MultipaneResizer-DtRhcazY.js"),__vite__mapDeps([4,1,2]),import.meta.url)),RichValue:C(()=>v(()=>import("./RichValue-BEvxy1kn.js"),__vite__mapDeps([5,1,2,6]),import.meta.url)),FrameDetails:C(()=>v(()=>import("./FrameDetails-Dzoz1k7B.js"),__vite__mapDeps([7,1,2,8,9,10,11,12]),import.meta.url))},computed:{...J(P,["zniffer","znifferState"]),app(){return G.getInstance(K.APP)},buttons(){return[{id:"start",icon:"play_arrow",color:"success",tooltip:"Start Zniffer",action:this.startZniffer,disabled:this.viewState==="recording"},{id:"stop",icon:"stop",color:"error",tooltip:"Stop Zniffer",action:this.stopZniffer,disabled:this.viewState!=="recording"},{id:"clear",icon:"delete",color:"warning",tooltip:"Clear Zniffer",action:this.clearFrames,disabled:this.frames.length===0||this.viewState==="loaded"},{id:"load",icon:"folder_open",color:"info",tooltip:"Load capture from file",action:this.loadCapture,disabled:this.viewState==="recording"},{id:"save",icon:"save",color:"primary",tooltip:"Save capture",action:this.createCapture,disabled:this.frames.length===0||this.viewState==="loaded"}]},framesLimited(){return this.framesFiltered.slice(this.start,this.perPage+this.start)},totalFrames(){return this.framesFiltered.length},startHeight(){return this.start*this.rowHeight},endHeight(){const t=this.start+this.perPage;return this.rowHeight*(this.totalFrames-t+1)}},watch:{topPaneHeight(){this.resizeScrollWrapper()},znifferState(){var t;this.clearZnifferConfiguration(),(t=this.znifferState)!=null&&t.started&&this.viewState!=="recording"?this.viewState="recording":this.viewState==="recording"&&(this.viewState="stopped")},frequencySuccess(t){t&&setTimeout(()=>{this.frequencySuccess=!1},3e3)},lrChannelConfigSuccess(t){t&&setTimeout(()=>{this.lrChannelConfigSuccess=!1},3e3)},framesQueue:{deep:1,handler(){this.queueTimeout&&clearTimeout(this.queueTimeout),this.queueTimeout=setTimeout(()=>{this.emptyQueue()},50)}},search(t){this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout(()=>{this.filterFrames(t)},300)},frames:{deep:1,handler(){var t;this.filterFrames(this.search),this.scrollBottom(),this.viewState==="initial"&&this.frames.length>0&&((t=this.znifferState)!=null&&t.started?this.viewState="recording":this.viewState="stopped")}}},mounted(){this.socket.on(V.znifferFrame,this.addFrame),this.onWindowResize=()=>{this.topPaneHeight=window.innerHeight/2},this.socket.on("connect",this.onConnnect),this.socket.connected&&this.onConnnect(),window.addEventListener("resize",this.onWindowResize),this.onWindowResize(),this.clearZnifferConfiguration(),this.initializeViewState()},beforeUnmount(){window.removeEventListener("resize",this.onWindowResize),this.roTopPane&&(this.roTopPane.unobserve(this.$refs.topPane),this.roTopPane.disconnect()),this.socket&&(this.socket.off(V.znifferFrame),this.socket.off("connect",this.onConnnect)),this.timeoutScroll&&clearTimeout(this.timeoutScroll),this.searchTimeout&&clearTimeout(this.searchTimeout)},data(){return{znifferRegions:x,znifferLRChannelConfigs:I,isPopup:X(),fab:!1,drawer:!1,frequency:null,frequencySuccess:!1,lrRegions:[],lrChannelConfigAvailable:!1,lrChannelConfig:null,lrChannelConfigSuccess:!1,start:0,offsetTop:125,search:"",searchError:!1,viewState:"initial",busy:!1,selectedFrame:null,scrollWrapper:null,rowHeight:41,perPage:22,topPaneHeight:500,frames:[],framesFiltered:[],framesQueue:[],headers:[{title:"#",key:"id",width:"10ch",sortable:!1},{title:"Timestamp",key:"timestamp",width:"12ch",sortable:!1,class:"no-wrap"},{title:"Delta [ms]",key:"delta",width:"4ch",sortable:!1},{title:"Protocol Data Rate",key:"protocolDataRate",width:"20ch",sortable:!1},{title:"RSSI",key:"rssi",width:"4ch",sortable:!1},{title:"Ch",key:"channel",width:"4ch",sortable:!1},{title:"Home Id",key:"homeId",width:"8ch",sortable:!1,class:"no-wrap"},{title:"Type",width:"8ch",key:"type",sortable:!1},{title:"Route",key:"sourceNodeId",sortable:!1},{title:"Payload",key:"payload",sortable:!1}],autoScroll:!0}},methods:{...Y(P,["showSnackbar"]),openInWindow:$,humanFriendlyNumber:ee,initializeViewState(){var t;(t=this.znifferState)!=null&&t.started?this.viewState="recording":this.frames.length>0?this.viewState="stopped":this.viewState="initial"},getProtocolIcon(t){return te(t,this.app.currentTheme)},emptyQueue(){this.framesQueue.length>0&&(this.frames.push(...this.framesQueue),this.framesQueue=[])},async onConnnect(){var t;await this.getFrames(),this.viewState==="initial"&&this.frames.length>0&&(this.viewState=(t=this.znifferState)!=null&&t.started?"recording":"stopped")},addFrame(t){const e=this.framesQueue.length>0?this.framesQueue[this.framesQueue.length-1]:this.frames[this.frames.length-1];t.id=e?e.id+1:1,t.delta=e?t.timestamp-e.timestamp:0,this.framesQueue.push(t)},async clearZnifferConfiguration(){await se(),this.znifferState?(this.znifferRegions=Object.entries(this.znifferState.supportedFrequencies).map(([t,e])=>{const i=parseInt(t,10);return{title:e,value:i,disabled:i===E.Unknown||i===E["Default (EU)"]}}).sort((t,e)=>{var i;return(i=t.title)==null?void 0:i.localeCompare(e.title)}),this.frequency=this.znifferState.frequency,this.lrRegions=this.znifferState.lrRegions,this.znifferLRChannelConfigs=Object.entries(this.znifferState.supportedLRChannelConfigs).map(([t,e])=>({title:e,value:parseInt(t,10)})),this.lrChannelConfig=this.znifferState.lrChannelConfig,this.lrChannelConfigAvailable=this.lrRegions.includes(this.frequency)):(this.znifferRegions=x,this.frequency=null,this.lrRegions=[],this.znifferLRChannelConfigs=I,this.lrChannelConfig=null,this.lrChannelConfigAvailable=!1)},onTopColResize(){this.offsetTop=this.$refs.settingCol.$el.clientHeight+20,this.resizeScrollWrapper()},resizeScrollWrapper(){this.scrollWrapper&&(this.scrollWrapper.style.height=`${this.topPaneHeight-this.offsetTop}px`)},filterFrames(t){if(!t||t.trim()===""){this.framesFiltered=this.frames,this.searchError=!1;return}try{t=t.replace(/([^=])=([^=])/g,"$1==$2");const e=new Function("frame, homeId, ch, src, dest, protocolDataRate, hop, dir, repeaters",`return ${t.replace(/\\/g,"\\\\")}`);this.framesFiltered=this.frames.filter(i=>{var u;return e(i,((u=i.homeId)==null?void 0:u.toString(16))||"",i.channel,i.sourceNodeId,i.destinationNodeId,i.protocolDataRate,i.hop,i.direction,i.repeaters||[])}),this.searchError=!1}catch{this.searchError=!0}},onRowClick(t,{item:e,toggleSelect:i,internalItem:u,index:a,isSelected:l}){l(e)?(this.selectedFrame=null,this.autoScroll=!0):(this.selectedFrame=e,this.autoScroll=!1),i(u,a,t)},getRowStyle({item:t}){const e={backgroundColor:""};if(this.selectedFrame&&this.selectedFrame.id===t.id)e.backgroundColor="rgba(0, 0, 255, 0.5)";else if(t.corrupted)e.backgroundColor="rgba(255, 0, 0, 0.1)";else if(t.routedAck)e.backgroundColor="rgba(255, 165, 0, 0.1)";else if(t.protocol===re.ZWaveLongRange)switch(t.type){case S.Singlecast:e.backgroundColor="rgba(0, 255, 0, 0.1)";break;case S.Ack:e.backgroundColor="rgba(255, 165, 0, 0.1)";break;case S.BeamStart:e.backgroundColor="rgba(255, 255, 255, 0.1)";break;case S.BeamStop:e.backgroundColor="rgba(0, 0, 0, 0.1)";break;case S.Broadcast:e.backgroundColor="rgba(165, 0, 255, 0.1)";break}else switch(t.type){case g.Singlecast:e.backgroundColor="rgba(0, 255, 0, 0.1)";break;case g.Multicast:e.backgroundColor="rgba(0, 0, 255, 0.1)";break;case g.AckDirect:e.backgroundColor="rgba(255, 165, 0, 0.1)";break;case g.ExplorerNormal:e.backgroundColor="rgba(255, 255, 0, 0.1)";break;case g.ExplorerSearchResult:e.backgroundColor="rgba(255, 0, 255, 0.1)";break;case g.ExplorerInclusionRequest:e.backgroundColor="rgba(0, 255, 255, 0.1)";break;case g.BeamStart:e.backgroundColor="rgba(255, 255, 255, 0.1)";break;case g.BeamStop:e.backgroundColor="rgba(0, 0, 0, 0.1)";break;case g.Broadcast:e.backgroundColor="rgba(165, 0, 255, 0.1)";break}return{style:e}},getPayloadTags(t,e=[]){var u;return[...e,(u=t.tags)==null?void 0:u.join(" "),...(t.encapsulated||[]).map(a=>this.getPayloadTags(a,e))].filter(a=>!!a).join(" > ")},bindTopPaneObserver(){const t=e=>{this.topPaneHeight=e[0].contentRect.height,this.perPage=Math.ceil((this.topPaneHeight-this.offsetTop)/this.rowHeight)};this.roTopPane=new ResizeObserver(t),this.roTopPane.observe(this.$refs.topPane)},bindScroll(){var e;if(this.scrollWrapper)return;const t=(e=this.$refs.framesTable)==null?void 0:e.$el;if(t){const i=t.querySelector(".v-table__wrapper");i.addEventListener("scroll",this.onScroll.bind(this),{passive:!0}),this.scrollWrapper=i}},enableAutoScroll(){this.autoScroll=!0,this.scrollBottom()},scrollBottom(){this.scrollWrapper&&this.autoScroll&&this.scrollWrapper.scrollTo(0,this.scrollWrapper.scrollHeight+this.rowHeight)},async onScroll(t){this.timeoutScroll&&clearTimeout(this.timeoutScroll),this.timeoutScroll=setTimeout(async()=>{const e=this.start,{scrollTop:i}=t.target,u=Math.ceil(i/this.rowHeight);this.start=u+this.perPage>=this.totalFrames&&this.perPage<=this.totalFrames?this.totalFrames-this.perPage:u;const a=e<=this.start?"down":"up";this.autoScroll&&a==="up"&&(this.autoScroll=!1)},50)},getTimestamp(t){const e=new Date(t),i=e.getMilliseconds();return`${e.toTimeString().split(" ")[0]}.${i.toString().padEnd(3,"0")}`},getRoute:ae,getType:ie,getRssi:oe,getProtocolDataRate:ne,async sendAction(t={},{hideInfo:e}={}){return new Promise(i=>{this.socket.connected?(e||this.showSnackbar(`API ${t.apiName} called`,"info"),this.socket.emit(le.zniffer,t,u=>{u.success||this.showSnackbar(`Error while calling ${t.apiName}: ${u.message}`,"error"),i(u)})):(i({success:!1,message:"Socket disconnected"}),this.showSnackbar("Socket disconnected","error"))})},async getFrames(){const t=await this.sendAction({apiName:"getFrames"},{hideInfo:!0});t.success&&(this.frames=[],t.result.forEach(this.addFrame))},async setFrequency(){(await this.sendAction({apiName:"setFrequency",frequency:this.frequency},{hideInfo:!0})).success&&(this.frequencySuccess=!0)},async setLRChannelConfig(){(await this.sendAction({apiName:"setLRChannelConfig",channelConfig:this.lrChannelConfig},{hideInfo:!0})).success&&(this.lrChannelConfigSuccess=!0)},async startZniffer(){if(this.viewState==="loaded"&&this.frames.length>0&&!await this.app.confirm("Discard loaded trace","Are you sure you want to discard the currently loaded trace?","warning"))return;(await this.sendAction({apiName:"start"})).success&&(this.viewState="recording",this.showSnackbar("Zniffer started","success"))},async stopZniffer(){(await this.sendAction({apiName:"stop"})).success&&(this.viewState="stopped",this.showSnackbar("Zniffer stopped","success"))},async clearFrames(){(await this.sendAction({apiName:"clear"})).success&&(this.showSnackbar("Zniffer cleared","success"),this.frames=[],this.framesFiltered=[],(this.viewState==="stopped"||this.viewState==="loaded")&&(this.viewState="initial"))},async createCapture(){const t=await this.sendAction({apiName:"saveCaptureToFile"});if(t.success){const e=t.result;this.showSnackbar(`Capture "${e.name}" created in store`,"success");const i=e.name.replace(".zlf","");this.app.exportConfiguration(e.data,i,"zlf")}},async loadCapture(){try{if(this.frames.length>0){if(this.viewState==="recording"){if(!await this.app.confirm("Stop recording","Are you sure you want to stop recording and discard the recorded frames?","warning"))return;await this.stopZniffer()}else if(this.viewState==="stopped"&&!await this.app.confirm("Discard recorded frames","Are you sure you want to discard the recorded frames?","warning"))return}const{data:t}=await this.app.importFile("buffer");if(!t)return;const e=await this.sendAction({apiName:"loadCaptureFromBuffer",buffer:Array.from(new Uint8Array(t))},{hideInfo:!0});if(e.success)this.viewState="loaded",await this.getFrames();else throw new Error(e.message||"Failed to load capture")}catch(t){this.showSnackbar(`Error loading capture: ${t.message}`,"error")}}}},W=()=>{de(t=>({"304404d6":t.$vuetify.theme.current.colors.primary}))},Z=z.setup;z.setup=Z?(t,e)=>(W(),Z(t,e)):W;const ve={class:"mb-0"},Te={key:0},Re={key:1,class:"d-flex text-center"},ze={class:"ml-1"},Fe=["innerHTML"],Pe={key:0},Ve={key:1},xe={key:2},Ie={key:3},Ee={key:4},Ae=["colspan"],De=["colspan"];function He(t,e,i,u,a,l){const B=_("rich-value"),O=_("multipane-resizer"),Q=_("frame-details"),M=_("multipane");return c(),h(ce,{class:"px-3",style:{"max-width":"unset"}},{default:s(()=>[o(M,{class:"horizontal-panes",layout:"horizontal"},{default:s(()=>[w((c(),f("div",{class:"pane",ref:"topPane",style:k({minHeight:"300px",height:`${a.topPaneHeight}px`})},[t.zniffer.enabled?(c(),h(T,{key:0},{default:s(()=>[o(b,{style:{"max-width":"280px","margin-top":"7px"}},{default:s(()=>[o(ue,{density:"compact",multiple:""},{default:s(()=>[(c(!0),f(he,null,fe(l.buttons,r=>w((c(),h(L,{size:"small",key:r.id,id:r.id,color:r.disabled?"grey":r.color,disabled:r.disabled,onClick:r.action},{default:s(()=>[o(p,null,{default:s(()=>[d(m(r.icon),1)]),_:2},1024)]),_:2},1032,["id","color","disabled","onClick"])),[[R,r.tooltip,"bottom"]])),128))]),_:1})]),_:1}),w((c(),h(b,{ref:"settingCol",class:"pa-0 pt-2",cols:"6"},{default:s(()=>[o(pe,{modelValue:a.search,"onUpdate:modelValue":e[0]||(e[0]=r=>a.search=r),clearable:"",flat:"","persistent-hint":"",hint:"Search expression using JS. Click on info button for more info",error:a.searchError,"error-messages":a.searchError?["Invalid search"]:[],variant:"outlined",density:"compact","single-line":"",class:"ma-2","prepend-inner-icon":"search",label:"Search"},{append:s(()=>[o(me,{location:"bottom"},{activator:s(({props:r})=>[o(p,ge(r,{color:"grey",size:"20"}),{default:s(()=>e[7]||(e[7]=[d("info")])),_:2,__:[7]},1040)]),default:s(()=>[o(D,null,{default:s(()=>[o(H,null,{default:s(()=>e[8]||(e[8]=[n("p",null," Write a custom filter function in JS. Function arguments are: frame (the full frame object), homeId, ch, src, dest, protocolDataRate, hop, dir (direction), repeaters. ",-1),n("strong",null,"Examples:",-1),n("ul",null,[n("li",null,[n("code",null,"frame.corrupted")]),n("li",null,[n("code",null,"src === 1 && dest === 2")]),n("li",null,[n("code",null,"protocolDataRate === '100kbps'")]),n("li",null,[n("code",null,"homeId === '12345678'")]),n("li",null,[n("code",null,"hop > 1")]),n("li",null,[n("code",null,"dir === 'inbound'")]),n("li",null,[n("code",null,"repeaters.length > 0")])],-1)])),_:1,__:[8]})]),_:1})]),_:1}),l.totalFrames?(c(),h(b,{key:0,style:{"margin-top":"-7px"},class:"pa-0 ml-3 text-caption text-grey text-center"},{default:s(()=>[e[9]||(e[9]=n("p",{class:"mb-0"},"Frames",-1)),n("p",ve,m(l.humanFriendlyNumber(l.totalFrames,2)),1)]),_:1,__:[9]})):y("",!0)]),_:1},8,["modelValue","error","error-messages"])]),_:1})),[[_e,l.onTopColResize]]),o(b,{cols:"12"},{default:s(()=>[w((c(),h(ke,{headers:a.headers,items:l.framesLimited,"row-props":l.getRowStyle,"onClick:row":l.onRowClick,"show-select":"","fixed-header":"",density:"compact",height:a.topPaneHeight-a.offsetTop,id:"framesTable",ref:"framesTable","hide-default-footer":"","disable-pagination":"","mobile-breakpoint":-1},be({"item.timestamp":s(({item:r})=>[w((c(),f("span",null,[d(m(l.getTimestamp(r.timestamp)),1)])),[[R,new Date(r.timestamp).toLocaleDateString(),"bottom"]])]),"item.channel":s(({item:r})=>[d(m(r.channel),1)]),"item.rssi":s(({item:r})=>[d(m(l.getRssi(r)),1)]),"item.protocolDataRate":s(({item:r})=>[r.corrupted?(c(),f("span",Te)):(c(),f("div",Re,[o(B,{value:l.getProtocolIcon(r.protocol)},null,8,["value"]),n("span",ze,m(l.getProtocolDataRate(r,!1)+(r.speedModified?" 🐌":"")),1)]))]),"item.type":s(({item:r})=>[n("span",null,m(l.getType(r)),1)]),"item.sourceNodeId":s(({item:r})=>[n("span",{innerHTML:l.getRoute(r)},null,8,Fe)]),"item.homeId":s(({item:r})=>{var F;return[d(m((F=r.homeId)==null?void 0:F.toString(16)),1)]}),"item.payload":s(({item:r})=>[r.corrupted?(c(),f("code",Pe," CRC Error ")):r.parsedPayload?(c(),f("span",Ve,m(l.getPayloadTags(r.parsedPayload)),1)):r.payload&&!r.corrupted?(c(),f("span",xe,m(r.payload),1)):r.routedAck?(c(),f("span",Ie,"ROUTED ACK")):(c(),f("span",Ee,"---"))]),_:2},[a.start>0?{name:"body.prepend",fn:s(()=>[n("tr",null,[n("td",{colspan:a.headers.length,class:"text-center",style:k("padding-top:"+l.startHeight+"px")},null,12,Ae)])]),key:"0"}:void 0,a.start+a.perPage<=l.totalFrames?{name:"body.append",fn:s(()=>[n("tr",null,[n("td",{colspan:a.headers.length,class:"text-center",style:k("padding-top:"+l.endHeight+"px")},null,12,De)])]),key:"1"}:void 0]),1032,["headers","items","row-props","onClick:row","height"])),[[A,l.bindScroll,void 0,{once:!0}]]),a.autoScroll?y("",!0):w((c(),h(N,{key:0,color:"purple",onClick:e[1]||(e[1]=r=>l.enableAutoScroll()),size:"small",hover:"",icon:"",location:"top right",absolute:"",style:{top:"40px"}},{default:s(()=>[o(p,null,{default:s(()=>e[10]||(e[10]=[d("vertical_align_bottom")])),_:1,__:[10]})]),_:1})),[[R,"Enable autoscroll","bottom"]])]),_:1})]),_:1})):(c(),h(T,{key:1},{default:s(()=>[o(b,{cols:"12"},{default:s(()=>[o(we,{text:"",type:"info"},{default:s(()=>e[11]||(e[11]=[n("span",null,"Zniffer is disabled, enable it in settings",-1)])),_:1,__:[11]})]),_:1})]),_:1}))],4)),[[A,l.bindTopPaneObserver,void 0,{once:!0}]]),o(O,{class:ye(t.$vuetify.theme.current.dark?"dark":"")},null,8,["class"]),n("div",{class:"pane pa-2",style:k([{"flex-grow":"1","overflow-y":"scroll","overflow-x":"hidden"},{height:`calc(100vh - ${a.topPaneHeight+110}px)`}])},[o(Q,{class:"my-1",modelValue:a.selectedFrame},null,8,["modelValue"])],4)]),_:1}),o(N,{color:"primary",onClick:e[2]||(e[2]=r=>a.drawer=!a.drawer),hover:"",app:"",icon:"",size:"large",location:"bottom right"},{default:s(()=>[a.drawer?(c(),h(p,{key:0},{default:s(()=>e[12]||(e[12]=[d("close")])),_:1,__:[12]})):(c(),h(p,{key:1},{default:s(()=>e[13]||(e[13]=[d("menu")])),_:1,__:[13]}))]),_:1}),o(Ce,{modelValue:a.drawer,"onUpdate:modelValue":e[6]||(e[6]=r=>a.drawer=r),absolute:"",location:"right",style:{"z-index":"2"}},{default:s(()=>[o(D,{class:"fill"},{default:s(()=>[o(Se,null,{default:s(()=>e[14]||(e[14]=[d(" Settings ")])),_:1,__:[14]}),o(H,null,{default:s(()=>[o(T,null,{default:s(()=>[a.isPopup?y("",!0):(c(),h(b,{key:0,cols:"12"},{default:s(()=>[o(L,{variant:"text",size:"small",color:"primary",onClick:e[3]||(e[3]=r=>l.openInWindow("Zniffer",800,1500))},{default:s(()=>[e[16]||(e[16]=d(" Open in new")),o(p,null,{default:s(()=>e[15]||(e[15]=[d("open_in_new")])),_:1,__:[15]})]),_:1,__:[16]})]),_:1})),o(b,{cols:"12"},{default:s(()=>[o(q,{label:"Zniffer frequency","hide-details":"",items:a.znifferRegions,modelValue:a.frequency,"onUpdate:modelValue":[e[4]||(e[4]=r=>a.frequency=r),l.setFrequency]},{prepend:s(()=>[o(p,null,{default:s(()=>e[17]||(e[17]=[d("signal_cellular_alt")])),_:1,__:[17]})]),append:s(()=>[a.frequencySuccess?(c(),h(p,{key:0,color:"success"},{default:s(()=>e[18]||(e[18]=[d("check_circle")])),_:1,__:[18]})):y("",!0)]),_:1},8,["items","modelValue","onUpdate:modelValue"])]),_:1}),a.lrChannelConfigAvailable?(c(),h(b,{key:1,cols:"12"},{default:s(()=>[o(q,{label:"LR Channel Configuration","hide-details":"",items:a.znifferLRChannelConfigs,modelValue:a.lrChannelConfig,"onUpdate:modelValue":[e[5]||(e[5]=r=>a.lrChannelConfig=r),l.setLRChannelConfig]},{prepend:s(()=>[o(p,null,{default:s(()=>e[19]||(e[19]=[d("wifi_channel")])),_:1,__:[19]})]),append:s(()=>[a.lrChannelConfigSuccess?(c(),h(p,{key:0,color:"success"},{default:s(()=>e[20]||(e[20]=[d("check_circle")])),_:1,__:[20]})):y("",!0)]),_:1},8,["items","modelValue","onUpdate:modelValue"])]),_:1})):y("",!0)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Oe=U(z,[["render",He],["__scopeId","data-v-c438cc77"]]);export{Oe as default};