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-B3Yh2NfZ.js","./index-DwzE-W2i.js","./index-B2zoqM3Y.css","./Multipane-Ds04H7aO.css","./MultipaneResizer-Bfhu1sCd.js","./RichValue-CgCQhKXQ.js","./RichValue-C1OidLuR.css","./FrameDetails-D6R7GmGp.js","./VTable-Cxuwit5L.js","./VTable-BsI6FsWH.css","./VTextarea-DtC2nuOc.js","./VTextarea-DyGjqrlm.css","./FrameDetails-BRjQ9Inw.css"])))=>i.map(i=>d[i]);
import{_ as O,aF as M,aG as Q,aH as U,aI as j,aJ as G,ao as J,a as K,d as S,I as X,e as u,w as s,b as a,q as w,H as n,aK as F,c as f,V as T,f as b,g as Y,P as $,an as ee,D as te,h as y,ab as se,F as P,G as V,l as p,T as re,k as d,t as m,aL as ie,W as k,s as v,am as R,O as ae,n as oe,ar as ne,i as x,K as I,aM as le,u as ce,aN as de,az as ue,aO as C,aP as g,a9 as he,aQ as E,a0 as A,aR as D,aS as fe,ap as pe,aT as me,aU as ge,x as be,y as _,z as c,aa as we}from"./index-DwzE-W2i.js";import{R as ye}from"./index-D80-F-Ix.js";import{V as Ce}from"./VDataTable-D8DZXD9Y.js";import{V as H}from"./VFab-BoiUHyPJ.js";import"./sort-C8HQTCiq.js";import"./VTable-Cxuwit5L.js";const z={name:"Zniffer",mixins:[X],props:{socket:Object},components:{Multipane:S(()=>_(()=>import("./Multipane-B3Yh2NfZ.js"),__vite__mapDeps([0,1,2,3]),import.meta.url)),MultipaneResizer:S(()=>_(()=>import("./MultipaneResizer-Bfhu1sCd.js"),__vite__mapDeps([4,1,2]),import.meta.url)),RichValue:S(()=>_(()=>import("./RichValue-CgCQhKXQ.js"),__vite__mapDeps([5,1,2,6]),import.meta.url)),FrameDetails:S(()=>_(()=>import("./FrameDetails-D6R7GmGp.js"),__vite__mapDeps([7,1,2,8,9,10,11,12]),import.meta.url))},computed:{...K(be,["zniffer","znifferState"]),app(){return me.getInstance(ge.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.subscribeChannels(["znifferFrames"]),this.bindEvent("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.unbindEvents(),this.socket.off("connect",this.onConnnect)),this.timeoutScroll&&clearTimeout(this.timeoutScroll),this.searchTimeout&&clearTimeout(this.searchTimeout)},data(){return{znifferRegions:A,znifferLRChannelConfigs:D,isPopup:pe(),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:{openInWindow:J,humanFriendlyNumber:G,initializeViewState(){this.znifferState?.started?this.viewState="recording":this.frames.length>0?this.viewState="stopped":this.viewState="initial"},getProtocolIcon(t){return fe(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 he(),this.znifferState?(this.znifferRegions=Object.entries(this.znifferState.supportedFrequencies).map(([t,e])=>{const o=parseInt(t,10);return{title:e,value:o,disabled:o===E.Unknown||o===E["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=A,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:i,isSelected:l}){l(e)?(this.selectedFrame=null,this.autoScroll=!0):(this.selectedFrame=e,this.autoScroll=!1),o(h,i,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===ue.ZWaveLongRange)switch(t.type){case C.Singlecast:e.backgroundColor="rgba(0, 255, 0, 0.1)";break;case C.Ack:e.backgroundColor="rgba(255, 165, 0, 0.1)";break;case C.BeamStart:e.backgroundColor="rgba(255, 255, 255, 0.1)";break;case C.BeamStop:e.backgroundColor="rgba(0, 0, 0, 0.1)";break;case C.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 i=e<=this.start?"down":"up";this.autoScroll&&i==="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:U,getRssi:Q,getProtocolDataRate:M,async sendAction(t={},{hideInfo:e}={}){return new Promise(o=>{this.socket.connected?(e||this.showSnackbar(`API ${t.apiName} called`,"info"),this.socket.emit(de.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")}}}},L=()=>{we(t=>({e4b69284:t.$vuetify.theme.current.colors.primary}))},q=z.setup;z.setup=q?(t,e)=>(L(),q(t,e)):L;const Se={class:"mb-0"},ke={key:0},ve={key:1,class:"d-flex text-center"},_e={class:"ml-1"},Te=["innerHTML"],Re={key:0},ze={key:1},Fe={key:2},Pe={key:3},Ve={key:4},xe=["colspan"],Ie=["colspan"];function Ee(t,e,o,h,i,l){const N=v("rich-value"),W=v("multipane-resizer"),Z=v("frame-details"),B=v("multipane");return c(),u(ce,{class:"px-3",style:{"max-width":"unset"}},{default:s(()=>[a(B,{class:"horizontal-panes",layout:"horizontal"},{default:s(()=>[w((c(),f("div",{class:"pane",ref:"topPane",style:k({minHeight:"300px",height:`${i.topPaneHeight}px`})},[t.zniffer.enabled?(c(),u(T,{key:0},{default:s(()=>[a(b,{style:{"max-width":"280px","margin-top":"7px"}},{default:s(()=>[a(Y,{density:"compact",multiple:""},{default:s(()=>[(c(!0),f($,null,ee(l.buttons,r=>w((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(()=>[a(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(),u(b,{ref:"settingCol",class:"pa-0 pt-2",cols:"6"},{default:s(()=>[a(te,{modelValue:i.search,"onUpdate:modelValue":e[0]||(e[0]=r=>i.search=r),clearable:"",flat:"","persistent-hint":"",hint:"Search expression using JS. Click on info button for more info",error:i.searchError,"error-messages":i.searchError?["Invalid search"]:[],variant:"outlined",density:"compact","single-line":"",class:"ma-2","prepend-inner-icon":"search",label:"Search"},{append:s(()=>[a(se,{location:"bottom"},{activator:s(({props:r})=>[a(p,re(r,{color:"grey",size:"20"}),{default:s(()=>[...e[7]||(e[7]=[d("info",-1)])]),_:1},16)]),default:s(()=>[a(P,null,{default:s(()=>[a(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(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",Se,m(l.humanFriendlyNumber(l.totalFrames,2)),1)]),_:1})):y("",!0)]),_:1},8,["modelValue","error","error-messages"])]),_:1})),[[ye,l.onTopColResize]]),a(b,{cols:"12"},{default:s(()=>[w((c(),u(Ce,{headers:i.headers,items:l.framesLimited,"row-props":l.getRowStyle,"onClick:row":l.onRowClick,"show-select":"","fixed-header":"",density:"compact",height:i.topPaneHeight-i.offsetTop,id:"framesTable",ref:"framesTable","hide-default-footer":"","disable-pagination":"","mobile-breakpoint":-1},ie({"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",ke)):(c(),f("div",ve,[a(N,{value:l.getProtocolIcon(r.protocol)},null,8,["value"]),n("span",_e,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,Te)]),"item.homeId":s(({item:r})=>[d(m(r.homeId?.toString(16)),1)]),"item.payload":s(({item:r})=>[r.corrupted?(c(),f("code",Re," CRC Error ")):r.parsedPayload?(c(),f("span",ze,m(l.getPayloadTags(r.parsedPayload)),1)):r.payload&&!r.corrupted?(c(),f("span",Fe,m(r.payload),1)):r.routedAck?(c(),f("span",Pe,"ROUTED ACK")):(c(),f("span",Ve,"---"))]),_:2},[i.start>0?{name:"body.prepend",fn:s(()=>[n("tr",null,[n("td",{colspan:i.headers.length,class:"text-center",style:k("padding-top:"+l.startHeight+"px")},null,12,xe)])]),key:"0"}:void 0,i.start+i.perPage<=l.totalFrames?{name:"body.append",fn:s(()=>[n("tr",null,[n("td",{colspan:i.headers.length,class:"text-center",style:k("padding-top:"+l.endHeight+"px")},null,12,Ie)])]),key:"1"}:void 0]),1032,["headers","items","row-props","onClick:row","height"])),[[F,l.bindScroll,void 0,{once:!0}]]),i.autoScroll?y("",!0):w((c(),u(H,{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(()=>[a(p,null,{default:s(()=>[...e[10]||(e[10]=[d("vertical_align_bottom",-1)])]),_:1})]),_:1})),[[R,"Enable autoscroll","bottom"]])]),_:1})]),_:1})):(c(),u(T,{key:1},{default:s(()=>[a(b,{cols:"12"},{default:s(()=>[a(ae,{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}]]),a(W,{class:oe(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 - ${i.topPaneHeight+110}px)`}])},[a(Z,{class:"my-1",modelValue:i.selectedFrame},null,8,["modelValue"])],4)]),_:1}),a(H,{color:"primary",onClick:e[2]||(e[2]=r=>i.drawer=!i.drawer),hover:"",app:"",icon:"",size:"large",location:"bottom right"},{default:s(()=>[i.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}),a(le,{modelValue:i.drawer,"onUpdate:modelValue":e[6]||(e[6]=r=>i.drawer=r),absolute:"",location:"right",style:{"z-index":"2"}},{default:s(()=>[a(P,{class:"fill"},{default:s(()=>[a(ne,null,{default:s(()=>[...e[14]||(e[14]=[d(" Settings ",-1)])]),_:1}),a(V,null,{default:s(()=>[a(T,null,{default:s(()=>[i.isPopup?y("",!0):(c(),u(b,{key:0,cols:"12"},{default:s(()=>[a(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)),a(p,null,{default:s(()=>[...e[15]||(e[15]=[d("open_in_new",-1)])]),_:1})]),_:1})]),_:1})),a(b,{cols:"12"},{default:s(()=>[a(I,{label:"Zniffer frequency","hide-details":"",items:i.znifferRegions,modelValue:i.frequency,"onUpdate:modelValue":[e[4]||(e[4]=r=>i.frequency=r),l.setFrequency]},{prepend:s(()=>[a(p,null,{default:s(()=>[...e[17]||(e[17]=[d("signal_cellular_alt",-1)])]),_:1})]),append:s(()=>[i.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}),i.lrChannelConfigAvailable?(c(),u(b,{key:1,cols:"12"},{default:s(()=>[a(I,{label:"LR Channel Configuration","hide-details":"",items:i.znifferLRChannelConfigs,modelValue:i.lrChannelConfig,"onUpdate:modelValue":[e[5]||(e[5]=r=>i.lrChannelConfig=r),l.setLRChannelConfig]},{prepend:s(()=>[a(p,null,{default:s(()=>[...e[19]||(e[19]=[d("wifi_channel",-1)])]),_:1})]),append:s(()=>[i.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 We=O(z,[["render",Ee],["__scopeId","data-v-2374ebe8"]]);export{We as default};