Files
pyMC_Repeater/repeater/web/html/assets/useMultiRadioConfig-dsafOcXN.js
T

1 line
2.1 KiB
JavaScript

import{W as e,o as t}from"./runtime-core.esm-bundler-DkFx5553.js";import{t as n}from"./system-CkJsuakf.js";import{r}from"./modemTransport-Bi9_DJET.js";function i(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function a(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n,i=String(e.id??e.radio_id??``).trim();i&&t.push({...r(e),id:i})}return t}function o(){let o=n(),s=t(()=>{let e=o.stats;if(!e)return{};let t=i(e.config);return r({...e,...t})}),c=t(()=>{let e=s.value.radios;if(Array.isArray(e)&&e.length)return a(e);let t=o.stats;return a(t?.radios)}),l=t(()=>{let e=i(s.value.fabric);if(Object.keys(e).length)return e;let t=o.stats;return i(t?.fabric)}),u=t(()=>{let e=i(s.value.radio_stack);if(Object.keys(e).length)return e;let t=o.stats;return i(t?.radio_stack)}),d=t(()=>c.value.length>0),f=t(()=>{let e=l.value,t=e.default_radio||e.default_radio_id;return t?String(t):c.value.length?c.value[0].id:`radio0`}),p=e(``),m=t(()=>{if(!d.value)return``;let e=new Set(c.value.map(e=>e.id));return p.value&&e.has(p.value)?p.value:f.value});function h(e){p.value=e}function g(){if(!d.value){p.value=``;return}let e=new Set(c.value.map(e=>e.id));(!p.value||!e.has(p.value))&&(p.value=f.value)}let _=t(()=>{if(!d.value)return null;let e=m.value;return c.value.find(t=>t.id===e)??null});return{rootConfig:s,radios:c,fabric:l,radioStack:u,isMultiRadio:d,defaultRadioId:f,selectedRadioId:p,effectiveSelectedId:m,selectedEntry:_,activeRadioAirConfig:t(()=>_.value?i(_.value.radio):i(s.value.radio)),activeHardware:t(()=>{let e=_.value;return e?{radio_type:e.radio_type??s.value.radio_type,sx1262:i(e.sx1262),ch341:i(e.ch341),kiss:i(e.kiss),modem_usb:i(e.modem_usb),modem_tcp:i(e.modem_tcp)}:{radio_type:s.value.radio_type,sx1262:i(s.value.sx1262),ch341:i(s.value.ch341),kiss:i(s.value.kiss),modem_usb:i(s.value.modem_usb),modem_tcp:i(s.value.modem_tcp)}}),radioOptions:t(()=>c.value.map(e=>({id:e.id,label:e.id,radio_type:String(e.radio_type??`unknown`),isDefault:e.id===f.value}))),txMode:t(()=>{let e=String(l.value.tx_mode||`default`).toLowerCase();return e===`sticky`||e===`bridge`?e:`default`}),selectRadio:h,ensureSelection:g}}export{o as t};