zwave-js-ui
Version:
Z-Wave Control Panel and MQTT Gateway
3 lines (2 loc) • 20.6 kB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Multipane-CK4wuxo7.js","./index-B8xHYEBg.js","./index-j3oOpPBM.css","./Multipane-Ds04H7aO.css","./MultipaneResizer-DNS3YcQF.js","./RichValue-uWaJ8LbO.js","./RichValue-C1OidLuR.css","./FrameDetails-Fpq1lN84.js","./VTable-DHfEeaF4.js","./VTable-BsI6FsWH.css","./VTextarea-CMX9ej38.js","./VTextarea-DyGjqrlm.css","./FrameDetails-BRjQ9Inw.css"])))=>i.map(i=>d[i]);
import{_ as M,aG as Q,aH as j,aI as G,aJ as J,aK as K,ao as X,m as Y,a as $,d as C,I as ee,e as u,w as s,b as i,q as b,H as n,aL as F,c as f,V as R,f as w,g as te,am as se,al as re,D as ae,h as y,aa as ie,F as P,G as V,l as p,R as oe,k as d,t as m,aM as ne,U as k,s as v,aq as T,O as le,n as ce,as as de,i as x,K as I,aN as ue,u as he,aO as fe,aA as pe,aP as S,aQ as g,a8 as me,aR as A,$ as E,aS as D,aT as ge,x as H,ap as we,an as L,aU as be,aV as ye,y as _,z as c,a9 as Se}from"./index-B8xHYEBg.js";import{R as Ce}from"./index-D80-F-Ix.js";import{V as ke}from"./VDataTable-DFqrHTxq.js";import{V as q}from"./VFab-BT_NQtXp.js";import"./sort-B85QZ63r.js";import"./VTable-DHfEeaF4.js";const z={name:"Zniffer",mixins:[ee],props:{socket:Object},components:{Multipane:C(()=>_(()=>import("./Multipane-CK4wuxo7.js"),__vite__mapDeps([0,1,2,3]),import.meta.url)),MultipaneResizer:C(()=>_(()=>import("./MultipaneResizer-DNS3YcQF.js"),__vite__mapDeps([4,1,2]),import.meta.url)),RichValue:C(()=>_(()=>import("./RichValue-uWaJ8LbO.js"),__vite__mapDeps([5,1,2,6]),import.meta.url)),FrameDetails:C(()=>_(()=>import("./FrameDetails-Fpq1lN84.js"),__vite__mapDeps([7,1,2,8,9,10,11,12]),import.meta.url))},computed:{...$(H,["zniffer","znifferState"]),app(){return be.getInstance(ye.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(){this.clearZnifferConfiguration(),this.znifferState?.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(){this.filterFrames(this.search),this.scrollBottom(),this.viewState==="initial"&&this.frames.length>0&&(this.znifferState?.started?this.viewState="recording":this.viewState="stopped")}}},mounted(){this.socket.on(L.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(L.znifferFrame),this.socket.off("connect",this.onConnnect)),this.timeoutScroll&&clearTimeout(this.timeoutScroll),this.searchTimeout&&clearTimeout(this.searchTimeout)},data(){return{znifferRegions:E,znifferLRChannelConfigs:D,isPopup:we(),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(H,["showSnackbar"]),openInWindow:X,humanFriendlyNumber:K,initializeViewState(){this.znifferState?.started?this.viewState="recording":this.frames.length>0?this.viewState="stopped":this.viewState="initial"},getProtocolIcon(t){return ge(t,this.app.currentTheme)},emptyQueue(){this.framesQueue.length>0&&(this.frames.push(...this.framesQueue),this.framesQueue=[])},async onConnnect(){await this.getFrames(),this.viewState==="initial"&&this.frames.length>0&&(this.viewState=this.znifferState?.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 me(),this.znifferState?(this.znifferRegions=Object.entries(this.znifferState.supportedFrequencies).map(([t,e])=>{const o=parseInt(t,10);return{title:e,value:o,disabled:o===A.Unknown||o===A["Default (EU)"]}}).sort((t,e)=>t.title?.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=E,this.frequency=null,this.lrRegions=[],this.znifferLRChannelConfigs=D,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(o=>e(o,o.homeId?.toString(16)||"",o.channel,o.sourceNodeId,o.destinationNodeId,o.protocolDataRate,o.hop,o.direction,o.repeaters||[])),this.searchError=!1}catch{this.searchError=!0}},onRowClick(t,{item:e,toggleSelect:o,internalItem:h,index:a,isSelected:l}){l(e)?(this.selectedFrame=null,this.autoScroll=!0):(this.selectedFrame=e,this.autoScroll=!1),o(h,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===pe.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=[]){return[...e,t.tags?.join(" "),...(t.encapsulated||[]).map(h=>this.getPayloadTags(h,e))].filter(h=>!!h).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(){if(this.scrollWrapper)return;const t=this.$refs.framesTable?.$el;if(t){const e=t.querySelector(".v-table__wrapper");e.addEventListener("scroll",this.onScroll.bind(this),{passive:!0}),this.scrollWrapper=e}},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:o}=t.target,h=Math.ceil(o/this.rowHeight);this.start=h+this.perPage>=this.totalFrames&&this.perPage<=this.totalFrames?this.totalFrames-this.perPage:h;const a=e<=this.start?"down":"up";this.autoScroll&&a==="up"&&(this.autoScroll=!1)},50)},getTimestamp(t){const e=new Date(t),o=e.getMilliseconds();return`${e.toTimeString().split(" ")[0]}.${o.toString().padEnd(3,"0")}`},getRoute:J,getType:G,getRssi:j,getProtocolDataRate:Q,async sendAction(t={},{hideInfo:e}={}){return new Promise(o=>{this.socket.connected?(e||this.showSnackbar(`API ${t.apiName} called`,"info"),this.socket.emit(fe.zniffer,t,h=>{h.success||this.showSnackbar(`Error while calling ${t.apiName}: ${h.message}`,"error"),o(h)})):(o({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 o=e.name.replace(".zlf","");this.app.exportConfiguration(e.data,o,"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")}}}},N=()=>{Se(t=>({v304404d6:t.$vuetify.theme.current.colors.primary}))},W=z.setup;z.setup=W?(t,e)=>(N(),W(t,e)):N;const ve={class:"mb-0"},_e={key:0},Re={key:1,class:"d-flex text-center"},Te={class:"ml-1"},ze=["innerHTML"],Fe={key:0},Pe={key:1},Ve={key:2},xe={key:3},Ie={key:4},Ae=["colspan"],Ee=["colspan"];function De(t,e,o,h,a,l){const Z=v("rich-value"),B=v("multipane-resizer"),O=v("frame-details"),U=v("multipane");return c(),u(he,{class:"px-3",style:{"max-width":"unset"}},{default:s(()=>[i(U,{class:"horizontal-panes",layout:"horizontal"},{default:s(()=>[b((c(),f("div",{class:"pane",ref:"topPane",style:k({minHeight:"300px",height:`${a.topPaneHeight}px`})},[t.zniffer.enabled?(c(),u(R,{key:0},{default:s(()=>[i(w,{style:{"max-width":"280px","margin-top":"7px"}},{default:s(()=>[i(te,{density:"compact",multiple:""},{default:s(()=>[(c(!0),f(se,null,re(l.buttons,r=>b((c(),u(x,{size:"small",key:r.id,id:r.id,color:r.disabled?"grey":r.color,disabled:r.disabled,onClick:r.action},{default:s(()=>[i(p,null,{default:s(()=>[d(m(r.icon),1)]),_:2},1024)]),_:2},1032,["id","color","disabled","onClick"])),[[T,r.tooltip,"bottom"]])),128))]),_:1})]),_:1}),b((c(),u(w,{ref:"settingCol",class:"pa-0 pt-2",cols:"6"},{default:s(()=>[i(ae,{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(()=>[i(ie,{location:"bottom"},{activator:s(({props:r})=>[i(p,oe(r,{color:"grey",size:"20"}),{default:s(()=>[...e[7]||(e[7]=[d("info",-1)])]),_:1},16)]),default:s(()=>[i(P,null,{default:s(()=>[i(V,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})]),_:1})]),_:1}),l.totalFrames?(c(),u(w,{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})):y("",!0)]),_:1},8,["modelValue","error","error-messages"])]),_:1})),[[Ce,l.onTopColResize]]),i(w,{cols:"12"},{default:s(()=>[b((c(),u(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},ne({"item.timestamp":s(({item:r})=>[b((c(),f("span",null,[d(m(l.getTimestamp(r.timestamp)),1)])),[[T,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",_e)):(c(),f("div",Re,[i(Z,{value:l.getProtocolIcon(r.protocol)},null,8,["value"]),n("span",Te,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,ze)]),"item.homeId":s(({item:r})=>[d(m(r.homeId?.toString(16)),1)]),"item.payload":s(({item:r})=>[r.corrupted?(c(),f("code",Fe," CRC Error ")):r.parsedPayload?(c(),f("span",Pe,m(l.getPayloadTags(r.parsedPayload)),1)):r.payload&&!r.corrupted?(c(),f("span",Ve,m(r.payload),1)):r.routedAck?(c(),f("span",xe,"ROUTED ACK")):(c(),f("span",Ie,"---"))]),_: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,Ee)])]),key:"1"}:void 0]),1032,["headers","items","row-props","onClick:row","height"])),[[F,l.bindScroll,void 0,{once:!0}]]),a.autoScroll?y("",!0):b((c(),u(q,{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(()=>[i(p,null,{default:s(()=>[...e[10]||(e[10]=[d("vertical_align_bottom",-1)])]),_:1})]),_:1})),[[T,"Enable autoscroll","bottom"]])]),_:1})]),_:1})):(c(),u(R,{key:1},{default:s(()=>[i(w,{cols:"12"},{default:s(()=>[i(le,{text:"",type:"info"},{default:s(()=>[...e[11]||(e[11]=[n("span",null,"Zniffer is disabled, enable it in settings",-1)])]),_:1})]),_:1})]),_:1}))],4)),[[F,l.bindTopPaneObserver,void 0,{once:!0}]]),i(B,{class:ce(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)`}])},[i(O,{class:"my-1",modelValue:a.selectedFrame},null,8,["modelValue"])],4)]),_:1}),i(q,{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(),u(p,{key:0},{default:s(()=>[...e[12]||(e[12]=[d("close",-1)])]),_:1})):(c(),u(p,{key:1},{default:s(()=>[...e[13]||(e[13]=[d("menu",-1)])]),_:1}))]),_:1}),i(ue,{modelValue:a.drawer,"onUpdate:modelValue":e[6]||(e[6]=r=>a.drawer=r),absolute:"",location:"right",style:{"z-index":"2"}},{default:s(()=>[i(P,{class:"fill"},{default:s(()=>[i(de,null,{default:s(()=>[...e[14]||(e[14]=[d(" Settings ",-1)])]),_:1}),i(V,null,{default:s(()=>[i(R,null,{default:s(()=>[a.isPopup?y("",!0):(c(),u(w,{key:0,cols:"12"},{default:s(()=>[i(x,{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",-1)),i(p,null,{default:s(()=>[...e[15]||(e[15]=[d("open_in_new",-1)])]),_:1})]),_:1})]),_:1})),i(w,{cols:"12"},{default:s(()=>[i(I,{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(()=>[i(p,null,{default:s(()=>[...e[17]||(e[17]=[d("signal_cellular_alt",-1)])]),_:1})]),append:s(()=>[a.frequencySuccess?(c(),u(p,{key:0,color:"success"},{default:s(()=>[...e[18]||(e[18]=[d("check_circle",-1)])]),_:1})):y("",!0)]),_:1},8,["items","modelValue","onUpdate:modelValue"])]),_:1}),a.lrChannelConfigAvailable?(c(),u(w,{key:1,cols:"12"},{default:s(()=>[i(I,{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(()=>[i(p,null,{default:s(()=>[...e[19]||(e[19]=[d("wifi_channel",-1)])]),_:1})]),append:s(()=>[a.lrChannelConfigSuccess?(c(),u(p,{key:0,color:"success"},{default:s(()=>[...e[20]||(e[20]=[d("check_circle",-1)])]),_:1})):y("",!0)]),_:1},8,["items","modelValue","onUpdate:modelValue"])]),_:1})):y("",!0)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Be=M(z,[["render",De],["__scopeId","data-v-c438cc77"]]);export{Be as default};