@fastybird/smart-panel-admin 1.1.0-alpha.1 → 1.1.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{card-add-form-y0JKMGkg.js → card-add-form-hQfcolyj.js} +1 -1
- package/dist/assets/{card-edit-form-C5lxEul-.js → card-edit-form-BPs9Aljn.js} +1 -1
- package/dist/assets/components-1l-XQ9JU.js +6 -0
- package/dist/assets/{components-BHQu75iz.js → components-B4a-3cag.js} +1 -1
- package/dist/assets/{components-D-Zy5b_J.js → components-BqvPyJ09.js} +2 -2
- package/dist/assets/{components-IJY1gRZ-.js → components-CDS0rEqD.js} +1 -1
- package/dist/assets/components-CGY9a3zE.js +1 -0
- package/dist/assets/{components-D4AuJ7WM.js → components-DJ-PhAdU.js} +1 -1
- package/dist/assets/{components-w1Sp0NSp.js → components-niPBJezT.js} +1 -1
- package/dist/assets/{composables-BWLSK4fg.js → composables-BiL7NDB2.js} +1 -1
- package/dist/assets/{dashboard-CIZXZYsZ.js → dashboard-CQWK08VY.js} +2 -2
- package/dist/assets/{devices-eIGsCNDg.js → devices-Cx9K7dqW.js} +2 -2
- package/dist/assets/{index-mFC4sSVS.js → index-CRKyZO94.js} +4 -4
- package/dist/assets/index-E5bAVcL9.css +1 -0
- package/dist/assets/{page-configure-C00e7Aho.js → page-configure-Bt3Zbbmn.js} +1 -1
- package/dist/assets/{page-configure-DOEhCZdm.js → page-configure-CVQE_kOC.js} +1 -1
- package/dist/assets/{spaces-BStWGhe9.js → spaces-DUnXUSuq.js} +2 -2
- package/dist/assets/{spaces-home-control.constants-CW7LkkKR.js → spaces-home-control.constants-DR2Pcn9V.js} +1 -1
- package/dist/assets/{system-Cv_hpTOe.js → system-DVGufF5G.js} +2 -2
- package/dist/assets/{view-card-add-DD5YryZP.js → view-card-add-BcIFVzzf.js} +1 -1
- package/dist/assets/{view-card-edit-Dffb6C_5.js → view-card-edit-BbS-QIUa.js} +1 -1
- package/dist/assets/{view-channel-add-DrABNejP.js → view-channel-add-D9FB9I0d.js} +1 -1
- package/dist/assets/{view-channel-edit-DgJprYvz.js → view-channel-edit-BMC2n_jY.js} +1 -1
- package/dist/assets/{view-channel-property-add-DzdI9AUZ.js → view-channel-property-add-DMGQZ9QS.js} +1 -1
- package/dist/assets/{view-channel-property-edit-BdmTT670.js → view-channel-property-edit-DZPQoC26.js} +1 -1
- package/dist/assets/{view-channel-q98Exy7t.js → view-channel-vLXMY5of.js} +1 -1
- package/dist/assets/{view-channels-CqHCFAo-.js → view-channels-Bo16Lq4L.js} +1 -1
- package/dist/assets/{view-data-source-add-D4vJyE9o.js → view-data-source-add-Bzb-61aK.js} +1 -1
- package/dist/assets/{view-data-source-add-HhueBh4s.js → view-data-source-add-_7ip7mrf.js} +1 -1
- package/dist/assets/{view-data-source-edit-D4vape9E.js → view-data-source-edit-CoUrprKG.js} +1 -1
- package/dist/assets/{view-data-source-edit-T9LTr9Ls.js → view-data-source-edit-DrlMJPDn.js} +1 -1
- package/dist/assets/view-device-B6vGkfF5.js +1 -0
- package/dist/assets/view-device-TJjGoba6.css +1 -0
- package/dist/assets/{view-device-add-EQksbpRv.js → view-device-add-BjIlyY6E.js} +1 -1
- package/dist/assets/{view-device-control-R7en7F29.js → view-device-control-DdEXyVpn.js} +1 -1
- package/dist/assets/{view-device-edit-BhvFQYS7.js → view-device-edit-DoQRQB09.js} +1 -1
- package/dist/assets/{view-devices-BZvnh_6I.css → view-devices-BV3p7TrL.css} +1 -1
- package/dist/assets/view-devices-_LNxDPyf.js +1 -0
- package/dist/assets/{view-devices-wizard-fmlWqzsS.js → view-devices-wizard-DNVtEru3.js} +1 -1
- package/dist/assets/{view-display-edit-BTw3bsC4.js → view-display-edit-KWE_nXux.js} +1 -1
- package/dist/assets/{view-displays-DF3FwHTl.js → view-displays-CHfrmtje.js} +1 -1
- package/dist/assets/{view-extension-detail-QL4_ZhS_.js → view-extension-detail-BzdALouU.js} +1 -1
- package/dist/assets/{view-extensions-BhgJ2M09.js → view-extensions-BEUE9DZM.js} +1 -1
- package/dist/assets/{view-page-add-j9s2LGzK.js → view-page-add-CKANfB0w.js} +1 -1
- package/dist/assets/{view-page-configure-ejLDXru-.js → view-page-configure-C-eA0dC4.js} +1 -1
- package/dist/assets/{view-page-configure-BderLwGA.js → view-page-configure-C5n0g4eO.js} +1 -1
- package/dist/assets/{view-page-edit-D0oRtckq.js → view-page-edit-CWXaQZak.js} +1 -1
- package/dist/assets/{view-pages-BR2NP6KY.js → view-pages-BBiRpjJE.js} +1 -1
- package/dist/assets/{view-scenes-085iK0py.js → view-scenes-DWbfoSPZ.js} +1 -1
- package/dist/assets/{view-simulator-device-wizard-D6hl-fV8.js → view-simulator-device-wizard-DO1CpTZ7.js} +1 -1
- package/dist/assets/{view-space-configure-D9U0Iqm8.js → view-space-configure-DpiLxtMc.js} +1 -1
- package/dist/assets/{view-spaces-CHnRlHr9.js → view-spaces-BlGL7Tsw.js} +1 -1
- package/dist/assets/{view-stats-DFIFKdoJ.js → view-stats-sqy4OQw5.js} +1 -1
- package/dist/assets/{view-system-backups-BnGnx4Cv.js → view-system-backups-DRhdTizI.js} +1 -1
- package/dist/assets/{view-system-info-DChy6JDC.js → view-system-info-SAJnQgbZ.js} +1 -1
- package/dist/assets/{view-system-log-detail-CcJNgQDH.js → view-system-log-detail-De0uz6BL.js} +1 -1
- package/dist/assets/{view-system-logs-BBW0txIV.js → view-system-logs-B0eMqnft.js} +1 -1
- package/dist/assets/{view-tile-add-M2rs-Gls.js → view-tile-add-BXX2-rGD.js} +1 -1
- package/dist/assets/{view-tile-add-TeQiMyjD.js → view-tile-add-Cn7SJEqT.js} +1 -1
- package/dist/assets/{view-tile-edit-CRrO0_NH.js → view-tile-edit-D80VgTdu.js} +1 -1
- package/dist/assets/{view-tile-edit-CqHN9fJY.js → view-tile-edit-XzR_OQfI.js} +1 -1
- package/dist/assets/view-virtual-device-wizard-CCj2n1FE.js +1 -0
- package/dist/assets/{weather-CM1Kb9sH.js → weather-DMmOelu3.js} +1 -1
- package/dist/index.html +19 -19
- package/package.json +1 -1
- package/dist/assets/components-B3o0jJFh.js +0 -6
- package/dist/assets/components-B6Z0UuLq.js +0 -1
- package/dist/assets/index-ypk03oDF.css +0 -1
- package/dist/assets/view-device-CoxxlPu_.css +0 -1
- package/dist/assets/view-device-Qz8-vs_4.js +0 -1
- package/dist/assets/view-devices-YjxrKDyE.js +0 -1
- package/dist/assets/view-virtual-device-wizard-_rXxNd6h.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.el-view-device__channels-list[data-v-06a0ee79] .el-table__inner-wrapper:before{display:none}.el-view-device__channels-list[data-v-06a0ee79] .el-table__inner-wrapper tbody tr:last-child>td{border-bottom:none}.el-view-device__tabs[data-v-06a0ee79] .el-tabs__content{flex-direction:column;flex:1;min-height:0;display:flex}.el-view-device__tabs[data-v-06a0ee79] .el-tab-pane{flex:1;height:100%;min-height:0}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,E as r,Er as i,H as ee,Mr as a,Mt as o,Nr as s,O as c,Or as l,Pr as u,Qr as d,Si as f,Sr as te,T as ne,Wi as p,Wr as re,Yr as m,b as h,ci as g,di as _,ei as v,ii as y,ji as b,k as x,kr as S,ni as C,qi as w,r as T,t as E,ui as D,x as O,xr as k}from"./icon-with-child-CgZMNB3F.js";import{t as A}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{A as j,Cr as M,Dr as N,Jr as P,Mr as F,Nr as I,On as L,Or as R,Sr as z,Ur as B,b as ie,f as ae,g as V,h as oe,hr as se,jr as ce,m as le,mr as ue,n as H,on as de,p as U,un as W,wr as fe,xr as pe}from"./common-CEAYa_VX.js";import{n as G,t as me}from"./table-CP4k6PuT.js";import{t as K}from"./alert-B_504iE8.js";import{r as q,t as he}from"./select-BE-J6w_y.js";import{t as ge}from"./card-C50YgvLJ.js";import{t as J}from"./dialog-BKnLpTNm.js";import{t as _e}from"./drawer-Bv6YcfZX.js";import{E as ve,T as ye,a as be,o as xe}from"./components-D4AuJ7WM.js";import{t as Se}from"./link-mE1gaRBg.js";import{n as Ce,t as we}from"./tabs-BlmPldJW.js";import{t as Y}from"./directive-D42ORGRu.js";import{t as Te}from"./useUuid-B2AwaEQg.js";import{t as Ee}from"./dist-DJgPCOr0.js";import{a as De,n as Oe,r as X}from"./keys-DghNVBR5.js";import{o as Z}from"./devices.constants-HX5whDWr.js";import{a as Q,n as ke}from"./devices-eIGsCNDg.js";import{H as Ae,I as je,R as Me,d as Ne,h as Pe,i as Fe,j as Ie,n as Le,t as Re,x as ze}from"./composables-BWLSK4fg.js";import{n as Be}from"./devices-virtual.constants-Ckcs-m8t.js";var Ve={class:`flex flex-wrap items-center gap-2`},He=u({name:`VirtualDeviceRemapDialog`,__name:`virtual-device-remap-dialog`,props:{propertyId:{}},emits:[`close`,`remapped`],setup(t,{expose:r,emit:ee}){let o=t,c=ee,{t:u}=ne(),te=U(),p=V(),m=ae(),h=ie(),_=h.getStore(De),y=h.getStore(X),C=h.getStore(Oe),E=f(!0),O=f(null),A=f(null),j=f(null),M=f(null),N=f(!1),P=f(!1),F=f(null),I=0,z=i(()=>C.findById(o.propertyId)??void 0),B=i(()=>z.value?y.findById(z.value.channel)??void 0:void 0),oe=i(()=>B.value?_.findById(B.value.device)??void 0:void 0),se=i(()=>z.value?z.value.name??u(`devicesModule.categories.channelsProperties.${z.value.category}`):``),ce=i(()=>u(`devicesVirtualPlugin.remap.title`,{property:se.value})),le=i(()=>Ee(_.findAll().filter(e=>!e.draft&&(!e.hidden||e.hiddenBy===de.system)&&e.type!==`virtual`),[e=>e.name],[`asc`]).map(e=>({value:e.id,label:e.name}))),ue=i(()=>O.value===null?[]:Ee(y.findForDevice(O.value),[e=>e.name],[`asc`]).map(e=>({value:e.id,label:e.name}))),W=i(()=>A.value===null?[]:Ee(C.findForChannel(A.value),[e=>e.name??e.category],[`asc`]).map(e=>({value:e.id,label:e.name??u(`devicesModule.categories.channelsProperties.${e.category}`)}))),fe=i(()=>z.value!==void 0&&j.value!==null&&M.value===null&&!N.value&&!P.value),pe=async e=>{try{await y.fetch({deviceId:e})}catch(e){p.error(`Failed to load remap source channels`,e)}},G=async e=>{try{await C.fetch({channelId:e})}catch(e){p.error(`Failed to load remap source properties`,e)}},me=async e=>{if(!z.value||!B.value||!oe.value){M.value=u(`devicesVirtualPlugin.wizard.mapping.errors.checkFailed`);return}let t=++I;N.value=!0,M.value=null;try{let{data:n,error:r}=await te.client.POST(`/${T}/${Be}/devices/compatibility`,{body:{data:{category:oe.value.category,candidates:[{spec_channel:B.value.category,spec_property:z.value.category,source_property:e}]}}});if(t!==I)return;let i=n?.data?.[0];if(!i){M.value=r?H(r,u(`devicesVirtualPlugin.wizard.mapping.errors.checkFailed`)):u(`devicesVirtualPlugin.wizard.mapping.errors.checkFailed`);return}M.value=i.compatible?null:i.reason??u(`devicesVirtualPlugin.wizard.mapping.errors.incompatible`)}catch(e){if(t!==I)return;p.error(`Virtual device remap compatibility check failed`,e),M.value=u(`devicesVirtualPlugin.wizard.mapping.errors.checkFailed`)}finally{t===I&&(N.value=!1)}},ge=async e=>{if(j.value=e,M.value=null,e===null){I++,N.value=!1;return}await me(e)},_e=e=>{A.value=null,j.value=null,M.value=null,I++,N.value=!1,e!==null&&pe(e).catch(e=>p.error(`Failed to load remap source channels`,e))},ve=e=>{j.value=null,M.value=null,I++,N.value=!1,e!==null&&G(e).catch(e=>p.error(`Failed to load remap source properties`,e))},ye=e=>{ge(e).catch(e=>p.error(`Failed to select remap source property`,e))},be=async()=>{if(!fe.value||!z.value||j.value===null)return;P.value=!0,F.value=null;let e=z.value,t=j.value,n=C.findById(t),r={type:e.type,...n?{dataType:n.dataType,format:n.format??null,step:n.step??null,invalid:n.invalid??null}:{dataType:e.dataType,format:e.format,step:e.step},sourceProperty:t};try{await C.edit({id:e.id,channelId:e.channel,data:r}),m.success(u(`devicesVirtualPlugin.remap.success`,{property:se.value})),c(`remapped`,{propertyId:e.id,sourceProperty:t})}catch(e){p.error(`Failed to remap virtual device property`,e),F.value=e instanceof Error?e.message:u(`devicesVirtualPlugin.remap.errors.updateFailed`),m.error(F.value)}finally{P.value=!1}},xe=()=>{P.value||c(`close`)};return g(E,e=>{e||xe()}),re(()=>{_.fetch({hidden:L.all}).catch(e=>p.error(`Failed to load remap source devices`,e))}),r({property:z,sourceDevicesOptions:le,channelsOptions:ue,propertiesOptions:W,selection:j,error:M,checking:N,canConfirm:fe,confirming:P,confirmError:F,selectSource:ge,onPickDevice:_e,onPickChannel:ve,onPickProperty:ye,confirm:be,onClose:xe}),(t,r)=>(d(),l(b(J),{modelValue:E.value,"onUpdate:modelValue":r[3]||=e=>E.value=e,title:ce.value,class:`max-w-[600px]`,"close-on-click-modal":!P.value,"close-on-press-escape":!P.value,"show-close":!P.value,"data-test-id":`remap-dialog`},{footer:D(()=>[s(b(x),{disabled:P.value,"data-test-id":`remap-cancel`,onClick:xe},{default:D(()=>[a(w(b(u)(`devicesModule.buttons.cancel.title`)),1)]),_:1},8,[`disabled`]),s(b(x),{type:`primary`,disabled:!fe.value,loading:P.value,"data-test-id":`remap-confirm`,onClick:be},{default:D(()=>[a(w(b(u)(`devicesVirtualPlugin.remap.confirm`)),1)]),_:1},8,[`disabled`,`loading`])]),default:D(()=>[z.value?(d(),e(k,{key:1},[s(b(R),{size:`small`,type:`info`,class:`block mb-3`},{default:D(()=>[a(w(b(u)(`devicesVirtualPlugin.remap.description`)),1)]),_:1}),n(`div`,Ve,[s(b(q),{modelValue:O.value,"onUpdate:modelValue":[r[0]||=e=>O.value=e,_e],placeholder:b(u)(`devicesVirtualPlugin.wizard.mapping.source.devicePlaceholder`),name:`remap-device`,filterable:``,clearable:``,class:`w-60`},{default:D(()=>[(d(!0),e(k,null,v(le.value,e=>(d(),l(b(he),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`]),s(b(q),{modelValue:A.value,"onUpdate:modelValue":[r[1]||=e=>A.value=e,ve],placeholder:b(u)(`devicesVirtualPlugin.wizard.mapping.source.channelPlaceholder`),name:`remap-channel`,disabled:!O.value,filterable:``,clearable:``,class:`w-60`},{default:D(()=>[(d(!0),e(k,null,v(ue.value,e=>(d(),l(b(he),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`]),s(b(q),{modelValue:j.value,"onUpdate:modelValue":[r[2]||=e=>j.value=e,ye],placeholder:b(u)(`devicesVirtualPlugin.wizard.mapping.source.propertyPlaceholder`),name:`remap-property`,disabled:!A.value,loading:N.value,filterable:``,clearable:``,class:`w-60`},{default:D(()=>[(d(!0),e(k,null,v(W.value,e=>(d(),l(b(he),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`,`loading`])]),M.value?(d(),l(b(R),{key:0,size:`small`,type:`danger`,class:`block mt-2`,"data-test-id":`remap-error`},{default:D(()=>[a(w(M.value),1)]),_:1})):S(``,!0),F.value?(d(),l(b(K),{key:1,type:`error`,title:F.value,closable:!1,"show-icon":``,class:`mt-2`,"data-test-id":`remap-confirm-error`},null,8,[`title`])):S(``,!0)],64)):(d(),l(b(K),{key:0,type:`error`,title:b(u)(`devicesVirtualPlugin.remap.errors.propertyGone`),closable:!1,"show-icon":``,"data-test-id":`remap-property-gone`},null,8,[`title`]))]),_:1},8,[`modelValue`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`]))}}),Ue={class:`flex items-center gap-2`},We={key:0,class:`space-y-2 mb-3`},Ge={key:2,class:`list-none p-0 m-0 space-y-1`,"data-test-id":`sources-list`},Ke=u({name:`VirtualDeviceSources`,__name:`virtual-device-sources`,props:{device:{}},setup(r,{expose:ee}){let o=r,{t:c}=ne(),u=O(),te=U(),p=V(),m=ie(),h=m.getStore(X),y=m.getStore(Oe),C=f([]),E=f(!1),A=f(null),j=f(null),M=i(()=>h.findForDevice(o.device.id)),N=i(()=>M.value.flatMap(e=>y.findForChannel(e.id).filter(e=>e.valueOrigin===W.source&&e.sourceProperty===null).map(t=>({action:`remap`,propertyId:t.id,specChannel:e.category,specProperty:t.category})))),P=e=>c(`devicesVirtualPlugin.sources.warning.title`,{channel:c(`devicesModule.categories.channels.${e.specChannel}`),property:c(`devicesModule.categories.channelsProperties.${e.specProperty}`)}),F=0,I=async()=>{let e=++F;E.value=!0,A.value=null;try{let{data:t,error:n}=await te.client.GET(`/${T}/${Be}/devices/{id}/source-devices`,{params:{path:{id:o.device.id}}});if(e!==F)return;if(!t){A.value=n?H(n,c(`devicesVirtualPlugin.sources.loadFailed`)):c(`devicesVirtualPlugin.sources.loadFailed`);return}C.value=t.data.map(e=>ke(e,Q))}catch(t){p.error(`Failed to load virtual device source devices`,t),e===F&&(A.value=c(`devicesVirtualPlugin.sources.loadFailed`))}finally{e===F&&(E.value=!1)}},L=()=>{I().catch(e=>p.error(`Failed to retry loading virtual device source devices`,e))},z=()=>{j.value=null,I().catch(e=>p.error(`Failed to reload virtual device source devices after a remap`,e))};g(i(()=>M.value.flatMap(e=>y.findForChannel(e.id).map(e=>`${e.id}:${e.sourceProperty??``}`)).sort().join(`|`)),(e,t)=>{t===void 0||e===t||I().catch(e=>p.error(`Failed to reload virtual device source devices after its links changed`,e))});let B=e=>{u.push({name:Z.DEVICE,params:{id:e}}).catch(e=>p.error(`Failed to open source device`,e))},ae=e=>{j.value=e};return re(()=>{h.fetch({deviceId:o.device.id}).catch(e=>p.error(`Failed to load virtual device channels`,e)),I().catch(e=>p.error(`Failed to load virtual device source devices`,e))}),ee({warnings:N,sourceDevices:C,loading:E,loadError:A,remapTarget:j,onRemap:ae,onRetry:L,fetchSourceDevices:I}),(r,i)=>(d(),e(k,null,[s(b(ge),{class:`mt-2`,shadow:`never`,"data-test-id":`virtual-device-sources`},{header:D(()=>[n(`div`,Ue,[s(b(t),{icon:`mdi:source-branch`}),n(`strong`,null,w(b(c)(`devicesVirtualPlugin.sources.heading`)),1)])]),default:D(()=>[s(b(R),{size:`small`,type:`info`,class:`block mb-3`},{default:D(()=>[a(w(b(c)(`devicesVirtualPlugin.sources.description`)),1)]),_:1}),N.value.length>0?(d(),e(`div`,We,[(d(!0),e(k,null,v(N.value,e=>(d(),l(b(K),{key:e.propertyId,type:`warning`,title:P(e),description:b(c)(`devicesVirtualPlugin.sources.warning.description`),closable:!1,"show-icon":``,"data-test-id":`source-warning-${e.propertyId}`},{default:D(()=>[s(b(x),{size:`small`,type:`warning`,plain:``,"data-test-id":`remap-${e.propertyId}`,onClick:t=>ae(e)},{default:D(()=>[a(w(b(c)(`devicesVirtualPlugin.sources.warning.remap`)),1)]),_:1},8,[`data-test-id`,`onClick`])]),_:2},1032,[`title`,`description`,`data-test-id`]))),128))])):S(``,!0),_((d(),e(`div`,null,[A.value?(d(),l(b(K),{key:0,type:`error`,title:A.value,closable:!1,"show-icon":``,"data-test-id":`sources-error`},{default:D(()=>[s(b(x),{size:`small`,"data-test-id":`sources-retry`,onClick:L},{default:D(()=>[a(w(b(c)(`devicesVirtualPlugin.sources.retry`)),1)]),_:1})]),_:1},8,[`title`])):!E.value&&C.value.length===0?(d(),l(b(R),{key:1,size:`small`,type:`info`,"data-test-id":`sources-empty`},{default:D(()=>[a(w(b(c)(`devicesVirtualPlugin.sources.empty`)),1)]),_:1})):(d(),e(`ul`,Ge,[(d(!0),e(k,null,v(C.value,n=>(d(),e(`li`,{key:n.id},[s(b(Se),{type:`primary`,underline:!1,onClick:e=>B(n.id)},{default:D(()=>[s(b(t),{icon:`mdi:devices`,class:`mr-1`}),a(` `+w(n.name),1)]),_:2},1032,[`onClick`])]))),128))]))])),[[b(Y),E.value]])]),_:1}),j.value?(d(),l(He,{key:0,"property-id":j.value.propertyId,onClose:i[0]||=e=>j.value=null,onRemapped:z},null,8,[`property-id`])):S(``,!0)],64))}}),qe={class:`uppercase`},Je={class:`flex items-center`},Ye={class:`flex items-center gap-2 px-4`},Xe={class:`flex items-center gap-2 px-4`},Ze={key:1,class:`text-gray-400`},Qe={class:`flex items-center gap-2 px-4`},$e={class:`flex flex-col h-full`},et=r(u({name:`ViewDevice`,__name:`view-device`,props:{id:{},channelId:{},propertyId:{}},setup(r){let u=r,_=h(),T=O(),{t:L}=ne(),{meta:ie}=A({}),V=ae(),H=o(`view-device`),{validate:de}=Te(),{isMDDevice:U,isLGDevice:W}=se(),{device:K,isLoading:q,fetchDevice:he}=Pe({id:u.id}),{issues:J,fetchValidation:Se}=Fe({id:u.id}),Y=Re({deviceId:i(()=>u.id)}),{alertCount:Ee,hasAlerts:De,fetchLogs:Oe}=Y,X=f(!1),Q=f(!1),{canAddAnotherChannel:ke}=Ne({id:u.id}),{channels:Be,fetchChannels:Ve}=Me({deviceId:u.id}),{controls:He,fetchControls:Ue}=Le({deviceId:u.id}),We=je(),Ge=ze();de(u.id)||(Q.value=!0);let et=f(!1),$=f(!1),tt=f(!1),nt=f(`overview`),rt=f(!1);g(J,e=>{nt.value===`validation`&&e.length===0&&(nt.value=`overview`)}),g(nt,e=>{e!==`logs`&&rt.value&&(rt.value=!1,Y.live.value=!1)});let it=i(()=>_.name===Z.DEVICE),at=i(()=>K.value?Ie[K.value.category]??[]:[]),ot=i(()=>Be.value.slice().sort((e,t)=>{let n=at.value.indexOf(e.category),r=at.value.indexOf(t.category);return n===r?e.name.localeCompare(t.name):(n===-1?2**53-1:n)-(r===-1?2**53-1:r)})),st=i(()=>[{label:L(`devicesModule.breadcrumbs.devices.list`),route:T.resolve({name:Z.DEVICES})},{label:L(`devicesModule.breadcrumbs.devices.detail`,{device:K.value?.name}),route:T.resolve({name:Z.DEVICE,params:{id:u.id}})}]),ct=e=>{tt.value?N.confirm(L(`devicesModule.texts.misc.confirmDiscard`),L(`devicesModule.headings.misc.discard`),{confirmButtonText:L(`devicesModule.buttons.yes.title`),cancelButtonText:L(`devicesModule.buttons.no.title`),type:`warning`}).then(()=>{W.value?T.replace({name:Z.DEVICE,params:{id:u.id}}):T.push({name:Z.DEVICE,params:{id:u.id}}),e?.()}).catch(()=>{}):(W.value?T.replace({name:Z.DEVICE,params:{id:u.id}}):T.push({name:Z.DEVICE,params:{id:u.id}}),e?.())},lt=()=>{W.value?T.replace({name:Z.DEVICE_EDIT,params:{id:u.id}}):T.push({name:Z.DEVICE_EDIT,params:{id:u.id}})},ut=()=>{W.value?T.replace({name:Z.DEVICE_CONTROL,params:{id:u.id}}):T.push({name:Z.DEVICE_CONTROL,params:{id:u.id}})},dt=()=>{W.value?T.replace({name:Z.DEVICE_ADD_CHANNEL,params:{id:u.id}}):T.push({name:Z.DEVICE_ADD_CHANNEL,params:{id:u.id}})},ft=e=>{W.value?T.replace({name:Z.DEVICE_EDIT_CHANNEL,params:{id:u.id,channelId:e}}):T.push({name:Z.DEVICE_EDIT_CHANNEL,params:{id:u.id,channelId:e}})},pt=e=>{We.remove(e)},mt=e=>{W.value?T.replace({name:Z.DEVICE_CHANNEL_ADD_PROPERTY,params:{id:u.id,channelId:e}}):T.push({name:Z.DEVICE_CHANNEL_ADD_PROPERTY,params:{id:u.id,channelId:e}})},ht=(e,t)=>{W.value?T.replace({name:Z.DEVICE_CHANNEL_EDIT_PROPERTY,params:{id:u.id,channelId:e,propertyId:t}}):T.push({name:Z.DEVICE_CHANNEL_EDIT_PROPERTY,params:{id:u.id,channelId:e,propertyId:t}})},gt=(e,t)=>{Ge.remove(t)},_t=()=>{W.value?T.replace({name:Z.DEVICES}):T.push({name:Z.DEVICES})};return re(()=>{Q.value||(he().then(()=>{if(!q.value&&K.value===null&&!X.value){Q.value=!0;return}K.value!==null&&(X.value=!0),Ve().catch(()=>{V.error(L(`devicesModule.messages.channels.notLoadedForDevice`))}),Se().catch(()=>{}),Ue().catch(()=>{}),Oe().catch(()=>{})}).catch(e=>{e instanceof Ae&&e.code===404||V.error(L(`devicesModule.messages.devices.notLoaded`)),Q.value=!0}),$.value=_.matched.find(e=>e.name===Z.DEVICE_EDIT||e.name===Z.DEVICE_CONTROL||e.name===Z.DEVICE_ADD_CHANNEL||e.name===Z.DEVICE_EDIT_CHANNEL||e.name===Z.DEVICE_CHANNEL_ADD_PROPERTY||e.name===Z.DEVICE_CHANNEL_EDIT_PROPERTY)!==void 0)}),m(()=>{et.value=!0}),g(()=>_.path,()=>{$.value=_.matched.find(e=>e.name===Z.DEVICE_EDIT||e.name===Z.DEVICE_CONTROL||e.name===Z.DEVICE_ADD_CHANNEL||e.name===Z.DEVICE_EDIT_CHANNEL||e.name===Z.DEVICE_CHANNEL_ADD_PROPERTY||e.name===Z.DEVICE_CHANNEL_EDIT_PROPERTY)!==void 0}),g(()=>q.value,e=>{!e&&K.value===null&&!X.value&&(Q.value=!0)}),g(()=>K.value,e=>{e===null?X.value&&!q.value?(V.warning(L(`devicesModule.messages.devices.deletedWhileEditing`),{duration:0}),W.value?T.replace({name:Z.DEVICES}):T.push({name:Z.DEVICES})):!q.value&&e===null&&!X.value&&(Q.value=!0):(X.value=!0,ie.title=L(`devicesModule.meta.devices.detail.title`,{device:K.value?.name}))}),g(()=>_.path,()=>{_.matched.find(e=>e.name===Z.DEVICE_ADD_CHANNEL)!==void 0&&!ke&&(V.info(L(`devicesModule.messages.channels.noMoreAllowed`)),W.value?T.replace({name:Z.DEVICE,params:{id:u.id}}):T.push({name:Z.DEVICE,params:{id:u.id}}))}),(r,i)=>{let o=C(`router-view`);return d(),e(k,null,[Q.value?S(``,!0):(d(),e(k,{key:0},[s(b(ue),{items:st.value},null,8,[`items`]),!b(U)&&it.value?(d(),l(b(pe),{key:0,teleport:``},{icon:D(()=>[s(b(t),{icon:`mdi:devices`,class:`w[20px] h[20px]`})]),title:D(()=>[a(w(b(L)(`devicesModule.headings.devices.detail`,{device:b(K)?.name})),1)]),subtitle:D(()=>[a(w(b(L)(`devicesModule.subHeadings.devices.detail`,{device:b(K)?.name})),1)]),_:1})):S(``,!0),b(U)?S(``,!0):(d(),l(b(z),{key:1,align:b(M).LEFT,teleport:``,small:``,onClick:_t},{icon:D(()=>[s(b(ee),{size:24},{default:D(()=>[s(b(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),!b(U)&&it.value&&b(ke)?(d(),l(b(z),{key:2,align:b(M).RIGHT,teleport:``,small:``,onClick:dt},{default:D(()=>[n(`span`,qe,w(b(L)(`devicesModule.buttons.add.title`)),1)]),_:1},8,[`align`])):S(``,!0),s(b(le),{heading:b(L)(`devicesModule.headings.devices.detail`,{device:b(K)?.name}),"sub-heading":b(L)(`devicesModule.subHeadings.devices.detail`,{device:b(K)?.name}),icon:`mdi:devices`},{extra:D(()=>[n(`div`,Je,[s(b(x),{type:`primary`,plain:``,class:`px-4! ml-2!`,disabled:!b(ke),onClick:dt},{icon:D(()=>[s(b(t),{icon:`mdi:plus`})]),default:D(()=>[a(` `+w(b(L)(`devicesModule.buttons.addChannel.title`)),1)]),_:1},8,[`disabled`]),s(b(x),{plain:``,class:`px-4! ml-2!`,onClick:lt},{icon:D(()=>[s(b(t),{icon:`mdi:pencil`})]),_:1}),s(b(x),{plain:``,class:`px-4! ml-2!`,onClick:ut},{icon:D(()=>[s(b(t),{icon:`mdi:tune-variant`})]),_:1}),b(He).length===0?S(``,!0):(d(),l(b(ce),{key:0,trigger:`click`},{dropdown:D(()=>[s(b(I),null,{default:D(()=>[(d(!0),e(k,null,v(b(He),e=>(d(),l(b(F),{key:e.id},{icon:D(()=>[s(b(t),{icon:`mdi:pencil`})]),default:D(()=>[a(` `+w(e.name),1)]),_:2},1024))),128))]),_:1})]),default:D(()=>[s(b(x),{plain:``,class:`px-4! ml-2!`},{icon:D(()=>[s(b(t),{icon:`mdi:cog`})]),_:1})]),_:1}))])]),_:1},8,[`heading`,`sub-heading`])],64)),Q.value?(d(),l(b(j),{key:1,icon:`mdi:devices`,message:b(L)(`devicesModule.messages.devices.notFound`),"button-label":b(L)(`devicesModule.buttons.back.title`),onBack:_t},null,8,[`message`,`button-label`])):it.value||b(W)?(d(),e(`div`,{key:2,class:p([`flex flex-col flex-1 min-h-0 lt-sm:mx-1 sm:mx-2 mb-2`,[b(H).b()]])},[b(K)?(d(),l(b(xe),{key:0,device:b(K)},null,8,[`device`])):S(``,!0),b(K)&&b(K).type===b(`virtual`)?(d(),l(Ke,{key:1,device:b(K)},null,8,[`device`])):S(``,!0),s(b(Ce),{modelValue:nt.value,"onUpdate:modelValue":i[1]||=e=>nt.value=e,class:p([`flex-1 min-h-0 flex flex-col mt-2`,b(H).e(`tabs`)])},{default:D(()=>[s(b(we),{name:`overview`,class:`h-full overflow-hidden`},{label:D(()=>[n(`div`,Ye,[s(b(t),{icon:`mdi:information-outline`}),a(` `+w(b(L)(`devicesModule.labels.overview`)),1)])]),default:D(()=>[s(b(P),{class:`h-full`},{default:D(()=>[ot.value?(d(),l(b(ve),{key:0,direction:`vertical`,size:`large`,class:p([`w-full mb-2`,[b(H).e(`channels-list`)]]),fill:``},{default:D(()=>[(d(!0),e(k,null,v(ot.value,e=>(d(),l(b(ye),{key:e.id,channel:e,onChannelEdit:ft,onChannelRemove:pt,onPropertyAdd:mt,onPropertyEdit:ht,onPropertyRemove:gt},null,8,[`channel`]))),128))]),_:1},8,[`class`])):(d(),l(b(ge),{key:1,"body-class":`flex flex-row justify-center`},{default:D(()=>[s(b(c),{class:`h-full max-w-[700px]`},{icon:D(()=>[s(b(E),{size:80},{primary:D(()=>[s(b(t),{icon:`mdi:chip`})]),secondary:D(()=>[s(b(t),{icon:`mdi:timer-sand-empty`})]),_:1})]),title:D(()=>[s(b(R),{class:`block`},{default:D(()=>[a(w(b(L)(`devicesModule.texts.devices.noChannels`)),1)]),_:1}),s(b(x),{type:`primary`,plain:``,class:`mt-4`,onClick:dt},{icon:D(()=>[s(b(t),{icon:`mdi:plus`})]),default:D(()=>[a(` `+w(b(L)(`devicesModule.buttons.addChannel.title`)),1)]),_:1})]),_:1})]),_:1}))]),_:1})]),_:1}),b(J).length>0?(d(),l(b(we),{key:0,name:`validation`,class:`h-full overflow-hidden`},{label:D(()=>[n(`div`,Xe,[s(b(t),{icon:`mdi:alert-circle-outline`}),a(` `+w(b(L)(`devicesModule.labels.validation`))+` `,1),s(b(B),{type:`danger`,size:`small`},{default:D(()=>[a(w(b(J).length),1)]),_:1})])]),default:D(()=>[s(b(P),{class:`h-full`},{default:D(()=>[s(b(me),{data:b(J),size:`small`,class:`w-full`},{default:D(()=>[s(b(G),{label:b(L)(`devicesModule.validation.table.severity`),prop:`severity`,width:100},{default:D(e=>[s(b(B),{type:e.row.severity===`error`?`danger`:`warning`,size:`small`},{default:D(()=>[a(w(e.row.severity===`error`?b(L)(`devicesModule.validation.severity.error`):b(L)(`devicesModule.validation.severity.warning`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),s(b(G),{label:b(L)(`devicesModule.validation.table.type`),prop:`type`,width:150},{default:D(e=>[a(w(b(L)(`devicesModule.validation.issueTypes.${e.row.type}`,e.row.type)),1)]),_:1},8,[`label`]),s(b(G),{label:b(L)(`devicesModule.validation.table.message`),prop:`message`},null,8,[`label`]),s(b(G),{label:b(L)(`devicesModule.validation.table.channel`),prop:`channelCategory`,width:150},{default:D(t=>[t.row.channelCategory?(d(),e(k,{key:0},[a(w(b(L)(`devicesModule.categories.channels.${t.row.channelCategory}`,t.row.channelCategory)),1)],64)):(d(),e(`span`,Ze,` - `))]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1})]),_:1})):S(``,!0),s(b(we),{name:`logs`,class:`h-full overflow-hidden`},{label:D(()=>[n(`div`,Qe,[s(b(t),{icon:`mdi:console`}),a(` `+w(b(L)(`devicesModule.labels.logs`))+` `,1),b(De)?(d(),l(b(B),{key:0,type:`danger`,size:`small`},{default:D(()=>[a(w(b(Ee)),1)]),_:1})):S(``,!0)])]),default:D(()=>[b(K)?(d(),l(b(be),{key:0,live:rt.value,"onUpdate:live":i[0]||=e=>rt.value=e,"device-id":b(K).id,logs:b(Y).logs,"has-more":b(Y).hasMore,"is-loading":b(Y).isLoading,"live-ref":b(Y).live,"fetch-logs":b(Y).fetchLogs,"load-more-logs":b(Y).loadMoreLogs,"refresh-logs":b(Y).refreshLogs},null,8,[`live`,`device-id`,`logs`,`has-more`,`is-loading`,`live-ref`,`fetch-logs`,`load-more-logs`,`refresh-logs`])):S(``,!0)]),_:1})]),_:1},8,[`modelValue`,`class`])],2)):(d(),l(o,{key:`${u.id}-${b(K)?.id}`},{default:D(({Component:e})=>[(d(),l(y(e),{device:b(K)},null,8,[`device`]))]),_:1})),b(W)?(d(),l(b(_e),{key:4,modelValue:$.value,"onUpdate:modelValue":i[4]||=e=>$.value=e,"show-close":!1,size:`40%`,"with-header":!1,"before-close":ct},{default:D(()=>[n(`div`,$e,[s(b(fe),{"menu-button-hidden":``},{"button-right":D(()=>[s(b(z),{align:b(M).RIGHT,class:`mr-2`,onClick:i[2]||=()=>ct()},{icon:D(()=>[s(b(ee),null,{default:D(()=>[s(b(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),$.value?(d(),l(b(oe),{key:0},{icon:D(()=>[s(b(t),{icon:`mdi:devices`})]),message:D(()=>[a(w(b(L)(`devicesModule.messages.misc.requestError`)),1)]),default:D(()=>[(d(),l(te,null,{default:D(()=>[(d(),l(o,{key:`${u.id}-${b(K)?.id}`},{default:D(({Component:e})=>[(d(),l(y(e),{"remote-form-changed":tt.value,"onUpdate:remoteFormChanged":i[3]||=e=>tt.value=e,device:b(K)},null,40,[`remote-form-changed`,`device`]))]),_:1}))]),_:1}))]),_:1})):S(``,!0)])]),_:1},8,[`modelValue`])):S(``,!0)],64)}}}),[[`__scopeId`,`data-v-06a0ee79`]]);export{et as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,E as r,Er as i,H as a,Mr as o,Nr as s,Or as c,Pr as l,Qr as u,Si as d,Sr as ee,T as te,Wi as ne,Wr as re,Yr as ie,_i as f,b as ae,ci as p,ei as m,ii as h,ji as g,k as _,kr as v,ni as oe,qi as y,ui as b,x as se,xr as x}from"./icon-with-child-CgZMNB3F.js";import{t as ce}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Cr as S,Dr as le,Sr as C,f as ue,h as de,hr as fe,m as pe,mr as me,wr as he,xr as ge}from"./common-CEAYa_VX.js";import{t as _e}from"./card-C50YgvLJ.js";import{t as ve}from"./dialog-BKnLpTNm.js";import{t as ye}from"./drawer-Bv6YcfZX.js";import{i as be,r as xe}from"./components-D4AuJ7WM.js";import{o as w}from"./devices.constants-HX5whDWr.js";import{U as Se,a as Ce,m as we,p as Te}from"./composables-BWLSK4fg.js";import{t as Ee}from"./useDevicesPlugins-IYuPoZmZ.js";var De={class:`uppercase`},Oe={class:`uppercase`},ke={class:`flex items-center`},Ae={key:5,class:`flex gap-2 lt-sm:mx-1 sm:mx-2 mt-2`},je={key:6,class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},Me={class:`flex flex-col h-full`},Ne={class:`flex flex-col gap-2`},Pe={class:`flex items-start gap-3`},Fe={class:`devices-wizard-plugin-card__icon`},Ie={class:`flex-1 min-w-0 devices-wizard-plugin-card__content`},Le={class:`devices-wizard-plugin-card__title`},Re={class:`devices-wizard-plugin-card__description`},ze={class:`devices-wizard-plugin-card__chevron`},T=r(l({name:`ViewDevices`,__name:`view-devices`,props:{id:{},type:{}},setup(r){let l=r,T=ae(),E=se(),{t:D}=te();ce({title:D(`devicesModule.meta.devices.list.title`)});let{isMDDevice:O,isLGDevice:k}=fe(),Be=ue(),{fetchDevices:A,devices:Ve,devicesPaginated:He,totalRows:Ue,filters:j,filtersActive:M,sortBy:N,sortDir:P,paginateSize:F,paginatePage:I,areLoading:We,resetFilter:Ge,showHidden:L}=we(),R=Te(),{fetchValidation:Ke}=Ce(),{wizardOptions:z,wizardRouteOptions:B}=Ee(),V=i(()=>z.value.filter(e=>!e.disabled)),H=i(()=>B.value.filter(e=>!e.disabled)),qe=d(!1),U=d(!1),W=d(!1),G=d(!1),K=d(!1),q=i(()=>T.name===w.DEVICES),J=i(()=>T.name===w.DEVICES_WIZARD||B.value.some(e=>E.resolve(e.to).name===T.name)),Je=i(()=>[{label:D(`devicesModule.breadcrumbs.devices.list`),route:E.resolve({name:w.DEVICES})}]),Y=e=>{W.value?(U.value=!1,W.value=!1,e?.()):K.value?le.confirm(D(`devicesModule.texts.misc.confirmDiscard`),D(`devicesModule.headings.misc.discard`),{confirmButtonText:D(`devicesModule.buttons.yes.title`),cancelButtonText:D(`devicesModule.buttons.no.title`),type:`warning`}).then(()=>{k.value?E.replace({name:w.DEVICES}):E.push({name:w.DEVICES}),e?.()}).catch(()=>{}):(k.value?E.replace({name:w.DEVICES}):E.push({name:w.DEVICES}),e?.())},Ye=e=>{E.push({name:w.DEVICE,params:{id:e}})},Xe=e=>{k.value?E.replace({name:w.DEVICES_EDIT,params:{id:e}}):E.push({name:w.DEVICES_EDIT,params:{id:e}})},Ze=e=>{R.remove(e)},Qe=(e,t)=>{switch(e){case`delete`:R.bulkRemove(t);break;case`enable`:R.bulkEnable(t);break;case`disable`:R.bulkDisable(t);break}},X=()=>{Ge()},Z=()=>{k.value?E.replace({name:w.DEVICES_ADD}):E.push({name:w.DEVICES_ADD})},$e=()=>{U.value=!0,W.value=!0},et=()=>{if(V.value.length===1&&V.value[0]){tt(V.value[0].value);return}G.value=!0},tt=e=>{G.value=!1,E.push({name:w.DEVICES_WIZARD,params:{type:e}})},Q=e=>{k.value?E.replace(e):E.push(e)};re(()=>{A().catch(e=>{throw new Se(`Something went wrong`,e)}),Ke().catch(e=>{console.warn(`Failed to fetch device validation data:`,e)}),U.value=T.matched.find(e=>e.name===w.DEVICES_ADD||e.name===w.DEVICES_EDIT)!==void 0}),ie(()=>{qe.value=!0}),p(()=>T.path,()=>{U.value=T.matched.find(e=>e.name===w.DEVICES_ADD||e.name===w.DEVICES_EDIT)!==void 0});let $=!1;return p(()=>L.value,(e,t)=>{if($){$=!1;return}A().catch(()=>{L.value===e&&($=!0,L.value=t,Be.error(D(`devicesModule.messages.devices.hiddenNotLoaded`)))})}),(r,i)=>{let d=oe(`router-view`);return u(),e(x,null,[J.value?v(``,!0):(u(),c(g(me),{key:0,items:Je.value},null,8,[`items`])),!g(O)&&q.value&&!J.value?(u(),c(g(ge),{key:1,teleport:``},{icon:b(()=>[s(g(t),{icon:`mdi:devices`,class:`w[20px] h[20px]`})]),title:b(()=>[o(y(g(D)(`devicesModule.headings.devices.list`)),1)]),subtitle:b(()=>[o(y(g(D)(`devicesModule.subHeadings.devices.list`)),1)]),_:1})):v(``,!0),!g(O)&&q.value&&!J.value?(u(),c(g(C),{key:2,align:g(S).LEFT,teleport:``,small:``,onClick:i[0]||=e=>g(E).push(`/`)},{icon:b(()=>[s(g(a),{size:24},{default:b(()=>[s(g(t),{icon:`mdi:chevron-left`})]),_:1})]),default:b(()=>[n(`span`,De,y(g(D)(`application.buttons.home.title`)),1)]),_:1},8,[`align`])):v(``,!0),!g(O)&&q.value&&!J.value?(u(),c(g(C),{key:3,align:g(S).RIGHT,teleport:``,small:``,onClick:Z},{default:b(()=>[n(`span`,Oe,y(g(D)(`devicesModule.buttons.add.title`)),1)]),_:1},8,[`align`])):v(``,!0),J.value?v(``,!0):(u(),c(g(pe),{key:4,heading:g(D)(`devicesModule.headings.devices.list`),"sub-heading":g(D)(`devicesModule.subHeadings.devices.list`),icon:`mdi:devices`},{extra:b(()=>[n(`div`,ke,[V.value.length>0?(u(),c(g(_),{key:0,class:`px-4!`,onClick:et},{default:b(()=>[s(g(a),{class:`mr-1`},{default:b(()=>[s(g(t),{icon:`mdi:wizard-hat`})]),_:1}),o(` `+y(g(D)(`devicesModule.buttons.wizard.title`)),1)]),_:1})):v(``,!0),(u(!0),e(x,null,m(H.value,e=>(u(),c(g(_),{key:e.value,class:`px-4! ml-2!`,"data-test-id":e.testId,onClick:t=>Q(e.to)},{default:b(()=>[s(g(a),{class:`mr-1`},{default:b(()=>[s(g(t),{icon:e.icon},null,8,[`icon`])]),_:2},1024),o(` `+y(g(D)(e.label)),1)]),_:2},1032,[`data-test-id`,`onClick`]))),128)),s(g(_),{type:`primary`,plain:``,class:`px-4! ml-2!`,onClick:Z},{icon:b(()=>[s(g(t),{icon:`mdi:plus`})]),default:b(()=>[o(` `+y(g(D)(`devicesModule.buttons.add.title`)),1)]),_:1})])]),_:1},8,[`heading`,`sub-heading`])),!g(O)&&q.value&&!J.value&&(V.value.length>0||H.value.length>0)?(u(),e(`div`,Ae,[V.value.length>0?(u(),c(g(_),{key:0,class:`flex-1`,"data-test-id":`wizard-small`,onClick:et},{default:b(()=>[s(g(a),{class:`mr-1`},{default:b(()=>[s(g(t),{icon:`mdi:wizard-hat`})]),_:1}),o(` `+y(g(D)(`devicesModule.buttons.wizard.title`)),1)]),_:1})):v(``,!0),(u(!0),e(x,null,m(H.value,e=>(u(),c(g(_),{key:e.value,class:`flex-1`,"data-test-id":`${e.testId}-small`,onClick:t=>Q(e.to)},{default:b(()=>[s(g(a),{class:`mr-1`},{default:b(()=>[s(g(t),{icon:e.icon},null,8,[`icon`])]),_:2},1024),o(` `+y(g(D)(e.label)),1)]),_:2},1032,[`data-test-id`,`onClick`]))),128))])):v(``,!0),(q.value||g(k))&&!J.value?(u(),e(`div`,je,[s(g(be),{filters:g(j),"onUpdate:filters":i[1]||=e=>f(j)?j.value=e:null,"sort-by":g(N),"onUpdate:sortBy":i[2]||=e=>f(N)?N.value=e:null,"sort-dir":g(P),"onUpdate:sortDir":i[3]||=e=>f(P)?P.value=e:null,"paginate-size":g(F),"onUpdate:paginateSize":i[4]||=e=>f(F)?F.value=e:null,"paginate-page":g(I),"onUpdate:paginatePage":i[5]||=e=>f(I)?I.value=e:null,"show-hidden":g(L),"onUpdate:showHidden":i[6]||=e=>f(L)?L.value=e:null,items:g(He),"all-items":g(Ve),"total-rows":g(Ue),loading:g(We),"filters-active":g(M),onDetail:Ye,onEdit:Xe,onRemove:Ze,onAdjustList:$e,onResetFilters:X,onBulkAction:Qe},null,8,[`filters`,`sort-by`,`sort-dir`,`paginate-size`,`paginate-page`,`show-hidden`,`items`,`all-items`,`total-rows`,`loading`,`filters-active`])])):v(``,!0),J.value||!q.value&&!g(k)?(u(),c(d,{key:l.id},{default:b(({Component:e})=>[(u(),c(h(e)))]),_:1})):v(``,!0),g(k)?(u(),c(g(ye),{key:8,modelValue:U.value,"onUpdate:modelValue":i[10]||=e=>U.value=e,"show-close":!1,size:W.value?`300px`:`40%`,"with-header":!1,"before-close":Y},{default:b(()=>[n(`div`,Me,[s(g(he),{"menu-button-hidden":``},{"button-right":b(()=>[s(g(C),{align:g(S).RIGHT,class:`mr-2`,onClick:i[7]||=()=>Y()},{icon:b(()=>[s(g(a),null,{default:b(()=>[s(g(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),U.value?(u(),e(x,{key:0},[W.value?(u(),c(g(xe),{key:0,filters:g(j),"onUpdate:filters":i[8]||=e=>f(j)?j.value=e:null,"filters-active":g(M),onResetFilters:X},null,8,[`filters`,`filters-active`])):(u(),c(g(de),{key:1},{icon:b(()=>[s(g(t),{icon:`mdi:devices`})]),message:b(()=>[o(y(g(D)(`devicesModule.messages.misc.requestError`)),1)]),default:b(()=>[(u(),c(ee,null,{default:b(()=>[(u(),c(d,{key:l.id},{default:b(({Component:e})=>[(u(),c(h(e),{"remote-form-changed":K.value,"onUpdate:remoteFormChanged":i[9]||=e=>K.value=e},null,40,[`remote-form-changed`]))]),_:1}))]),_:1}))]),_:1}))],64)):v(``,!0)])]),_:1},8,[`modelValue`,`size`])):v(``,!0),s(g(ve),{modelValue:G.value,"onUpdate:modelValue":i[12]||=e=>G.value=e,title:g(D)(`devicesModule.headings.devices.selectWizardPlugin`),width:`520px`},{footer:b(()=>[s(g(_),{onClick:i[11]||=e=>G.value=!1},{default:b(()=>[o(y(g(D)(`devicesModule.buttons.cancel.title`)),1)]),_:1})]),default:b(()=>[n(`div`,Ne,[(u(!0),e(x,null,m(g(z),e=>(u(),c(g(_e),{key:e.value,shadow:`hover`,class:ne([`devices-wizard-plugin-card`,{"devices-wizard-plugin-card--disabled":e.disabled}]),"body-class":`p-4!`,onClick:t=>!e.disabled&&tt(e.value)},{default:b(()=>[n(`div`,Pe,[n(`div`,Fe,[s(g(t),{icon:`mdi:puzzle-outline`})]),n(`div`,Ie,[n(`h3`,Le,y(e.label),1),n(`p`,Re,y(e.description||`\xA0`),1)]),n(`div`,ze,[s(g(t),{icon:`mdi:chevron-right`})])])]),_:2},1032,[`class`,`onClick`]))),128))])]),_:1},8,[`modelValue`,`title`])],64)}}}),[[`__scopeId`,`data-v-08604bd0`]]);export{T as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,Or as s,Pr as c,Qr as l,Si as u,T as ee,Wr as d,bi as f,ci as p,ei as m,ji as h,jr as g,k as _,kr as v,n as y,qi as b,r as x,ui as S,x as C,xr as w}from"./icon-with-child-CgZMNB3F.js";import{t as T}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Cr as E,Jr as D,On as O,Or as k,Sr as A,Ur as j,Xr as M,b as N,f as P,g as te,hr as F,m as I,mr as L,n as R,nn as z,on as ne,p as re,pr as B,un as V,xr as H}from"./common-CEAYa_VX.js";import{n as U,t as ie}from"./descriptions-Bk8rb6i3.js";import{n as W,t as ae}from"./table-CP4k6PuT.js";import{n as G,t as K}from"./form-CYGBQyZI.js";import{t as q}from"./alert-B_504iE8.js";import{r as J,t as Y}from"./select-BE-J6w_y.js";import{t as X}from"./card-C50YgvLJ.js";import{t as oe}from"./checkbox-DKrpi0d7.js";import{x as se}from"./components-B3o0jJFh.js";import{n as Z,t as Q}from"./steps-ChWGGNoh.js";import{t as ce}from"./dist-DJgPCOr0.js";import{C as le,g as ue,n as de}from"./keys-BYonWGX0.js";import{a as fe,n as pe,r as me}from"./keys-DghNVBR5.js";import{o as $,r as he}from"./devices.constants-HX5whDWr.js";import"./devices-eIGsCNDg.js";import{A as ge,M as _e,N as ve,P as ye,j as be,k as xe}from"./composables-BWLSK4fg.js";import{a as Se,i as Ce,n as we,o as Te,r as Ee}from"./devices-virtual.constants-Ckcs-m8t.js";var De={class:`space-y-4`},Oe={key:0,"data-test-id":`blocked-categories`},ke={class:`text-sm text-gray-500 mb-2`},Ae={class:`flex flex-wrap gap-2`},je=c({name:`VirtualWizardCategoryStep`,__name:`virtual-wizard-category-step`,props:{modelValue:{}},emits:[`update:modelValue`],setup(t,{expose:i,emit:c}){let u=c,{t:d}=ee(),f=r(()=>Te.map(e=>({value:e,label:d(`devicesModule.categories.devices.${e}`)}))),p=r(()=>Se.map(e=>({value:e,label:d(`devicesModule.categories.devices.${e}`),reason:d(`devicesVirtualPlugin.wizard.category.blockedReason`)}))),g=e=>{u(`update:modelValue`,e)};return i({categories:f,blockedCategories:p}),(r,i)=>(l(),e(`div`,De,[o(h(q),{type:`info`,title:h(d)(`devicesVirtualPlugin.wizard.category.heading`),description:h(d)(`devicesVirtualPlugin.wizard.category.description`),closable:!1,"show-icon":``},null,8,[`title`,`description`]),o(h(K),{"label-position":`top`},{default:S(()=>[o(h(G),{label:h(d)(`devicesVirtualPlugin.fields.devices.category.title`)},{default:S(()=>[o(h(J),{"model-value":t.modelValue,placeholder:h(d)(`devicesVirtualPlugin.fields.devices.category.placeholder`),name:`category`,filterable:``,class:`w-full`,"onUpdate:modelValue":g},{default:S(()=>[(l(!0),e(w,null,m(f.value,e=>(l(),s(h(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`])]),_:1},8,[`label`])]),_:1}),p.value.length>0?(l(),e(`div`,Oe,[n(`p`,ke,b(h(d)(`devicesVirtualPlugin.wizard.category.blockedHeading`)),1),n(`div`,Ae,[(l(!0),e(w,null,m(p.value,e=>(l(),s(h(j),{key:e.value,type:`info`,title:e.reason,class:`opacity-60! cursor-not-allowed!`},{default:S(()=>[a(b(e.label),1)]),_:2},1032,[`title`]))),128))])])):v(``,!0)]))}}),Me={class:`space-y-4`},Ne={class:`text-xs text-gray-500 mt-1`},Pe={class:`text-xs text-gray-500 mt-1`},Fe=c({name:`VirtualWizardDetailsStep`,__name:`virtual-wizard-details-step`,props:{category:{},name:{},roomId:{},zoneIds:{}},emits:[`update:name`,`update:roomId`,`update:zoneIds`],setup(t,{expose:i,emit:a}){let c=t,f=a,{t:g}=ee(),_=te(),v=N().getStore(de),y=r(()=>c.name),x=r(()=>c.roomId),C=r(()=>c.zoneIds),T=r(()=>ce(v.findAll().filter(e=>e.type===ue.ROOM),[e=>e.name],[`asc`]).map(e=>({value:e.id,label:e.name}))),E=r(()=>ce(v.findAll().filter(e=>e.type===ue.ZONE&&!le(e.category)),[e=>e.name],[`asc`]).map(e=>({value:e.id,label:e.name}))),D=r(()=>{if(c.category===null)return``;let e=g(`devicesModule.categories.devices.${c.category}`);if(c.roomId===null)return e;let t=v.findById(c.roomId);return t?`${e} — ${t.name}`:e}),O=u(c.name===``||c.name===D.value?c.name:null);p(D,e=>{c.name===O.value&&e!==c.name&&(O.value=e,f(`update:name`,e))},{immediate:!0});let k=e=>{f(`update:name`,e)},A=e=>{f(`update:roomId`,e)},j=e=>{f(`update:zoneIds`,e)};return d(()=>{v.fetch().catch(e=>_.error(`Failed to load rooms and zones`,e))}),i({roomOptions:T,zoneOptions:E,generatedName:D}),(t,r)=>(l(),e(`div`,Me,[o(h(q),{type:`info`,title:h(g)(`devicesVirtualPlugin.wizard.details.heading`),description:h(g)(`devicesVirtualPlugin.wizard.details.description`),closable:!1,"show-icon":``},null,8,[`title`,`description`]),o(h(K),{"label-position":`top`},{default:S(()=>[o(h(G),{label:h(g)(`devicesVirtualPlugin.fields.devices.name.title`)},{default:S(()=>[o(h(M),{"model-value":y.value,placeholder:h(g)(`devicesVirtualPlugin.fields.devices.name.placeholder`),name:`name`,"onUpdate:modelValue":k},null,8,[`model-value`,`placeholder`])]),_:1},8,[`label`]),o(h(G),{label:h(g)(`devicesModule.fields.devices.room.title`)},{default:S(()=>[o(h(J),{"model-value":x.value,placeholder:h(g)(`devicesModule.fields.devices.room.placeholder`),name:`room`,filterable:``,clearable:``,class:`w-full`,"onUpdate:modelValue":A},{default:S(()=>[(l(!0),e(w,null,m(T.value,e=>(l(),s(h(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`]),n(`div`,Ne,b(h(g)(`devicesModule.fields.devices.room.hint`)),1)]),_:1},8,[`label`]),o(h(G),{label:h(g)(`devicesModule.fields.devices.zones.title`)},{default:S(()=>[o(h(J),{"model-value":C.value,placeholder:h(g)(`devicesModule.fields.devices.zones.placeholder`),name:`zones`,filterable:``,clearable:``,multiple:``,class:`w-full`,"onUpdate:modelValue":j},{default:S(()=>[(l(!0),e(w,null,m(E.value,e=>(l(),s(h(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`]),n(`div`,Pe,b(h(g)(`devicesModule.fields.devices.zones.hint`)),1)]),_:1},8,[`label`])]),_:1})]))}}),Ie={class:`space-y-4`},Le={class:`flex items-center gap-3`,"data-test-id":`mapping-progress`},Re=[`data-test-id`],ze={class:`flex items-center gap-2 flex-wrap`},Be={class:`flex flex-wrap items-center gap-2`},Ve=[`data-test-id`],He={class:`flex items-center gap-2 flex-wrap`},Ue={class:`text-sm font-medium`},We={class:`flex flex-wrap items-center gap-2`},Ge=c({name:`VirtualWizardMappingStep`,__name:`virtual-wizard-mapping-step`,props:{category:{},modelValue:{}},emits:[`update:modelValue`,`update:valid`],setup(t,{expose:i,emit:c}){let u=t,g=c,{t:y}=ee(),C=re(),T=te(),E=P(),D=N(),A=D.getStore(fe),M=D.getStore(me),F=D.getStore(pe),I=f({}),L=f({}),B=f({}),V=f({}),H=f({}),U=f({}),ie=0,W=new Map,ae=e=>ye[e]?.constraints??{},G=e=>ve[e]?.constraints??{},K=r(()=>{if(u.category===null)return[];let e=ge[u.category];if(!e)return[];let t=(be[u.category]??[...e.required,...e.optional]).filter(e=>e!==z.device_information);return[...t.filter(t=>e.required.includes(t)),...t.filter(t=>!e.required.includes(t))].map(t=>{let n=e.required.includes(t),r=xe[t]??{required:[],optional:[]};return{specChannel:t,required:n,slots:[...r.required,...r.optional].map(e=>{let i=_e(t,e),a=r.required.includes(e);return{key:`${t}.${e}`,specChannel:t,specProperty:e,required:n&&a,channelRequired:n,propertyRequired:a,permissions:i?.permissions??[],dataType:i?.data_type??null,unit:i?.unit??null}})}})}),X=r(()=>K.value.flatMap(e=>e.slots)),oe=r(()=>X.value.map(e=>({specChannel:e.specChannel,specProperty:e.specProperty,sourceProperty:I[e.key]??null}))),Z=r(()=>{let e=new Set(X.value.filter(e=>typeof I[e.key]==`string`).map(e=>e.specChannel)),t=X.value.filter(t=>t.required||t.propertyRequired&&e.has(t.specChannel)),n=t.filter(e=>typeof I[e.key]!=`string`);return{requiredTotal:t.length,requiredFilled:t.length-n.length,remaining:n}}),Q=r(()=>Object.keys(I).length>0),le=r(()=>Q.value&&Z.value.remaining.length===0),ue=r(()=>Z.value.requiredTotal===0?Q.value?100:0:Math.round(Z.value.requiredFilled/Z.value.requiredTotal*100)),de=r(()=>{let e=[],t=K.value.filter(e=>e.slots.some(e=>typeof I[e.key]==`string`)).map(e=>e.specChannel);if(u.category!==null&&t.length>0){let n=G(u.category);for(let r of n.oneOrMoreOf??[])r.some(e=>t.includes(e))||e.push({specChannel:r[0],message:y(`devicesVirtualPlugin.wizard.mapping.constraints.deviceOneOrMoreOf`,{channels:r.map(e=>y(`devicesModule.categories.channels.${e}`)).join(`, `)})});for(let r of n.oneOf??[])r.filter(e=>t.includes(e)).length>1&&e.push({specChannel:r[0],message:y(`devicesVirtualPlugin.wizard.mapping.constraints.deviceOneOf`,{channels:r.map(e=>y(`devicesModule.categories.channels.${e}`)).join(`, `)})});for(let r of n.mutuallyExclusiveGroups??[]){let n=r.filter(e=>e.some(e=>t.includes(e)));n.length>1&&e.push({specChannel:n[0][0],message:y(`devicesVirtualPlugin.wizard.mapping.constraints.deviceMutuallyExclusive`,{groups:n.map(e=>e.map(e=>y(`devicesModule.categories.channels.${e}`)).join(` + `)).join(` / `)})})}}for(let t of K.value){let n=t.slots.filter(e=>typeof I[e.key]==`string`).map(e=>e.specProperty);if(n.length===0)continue;let r=ae(t.specChannel);for(let i of r.oneOrMoreOf??[])i.some(e=>n.includes(e))||e.push({specChannel:t.specChannel,message:y(`devicesVirtualPlugin.wizard.mapping.constraints.oneOrMoreOf`,{properties:i.map(e=>y(`devicesModule.categories.channelsProperties.${e}`)).join(`, `)})});for(let i of r.oneOf??[])i.filter(e=>n.includes(e)).length>1&&e.push({specChannel:t.specChannel,message:y(`devicesVirtualPlugin.wizard.mapping.constraints.oneOf`,{properties:i.map(e=>y(`devicesModule.categories.channelsProperties.${e}`)).join(`, `)})});for(let i of r.mutuallyExclusiveGroups??[]){let r=i.filter(e=>e.some(e=>n.includes(e)));r.length>1&&e.push({specChannel:t.specChannel,message:y(`devicesVirtualPlugin.wizard.mapping.constraints.mutuallyExclusive`,{groups:r.map(e=>e.map(e=>y(`devicesModule.categories.channelsProperties.${e}`)).join(` + `)).join(` / `)})})}}return e}),$=r(()=>Object.values(B).some(e=>e)),he=r(()=>u.category!==null&&le.value&&Object.keys(L).length===0&&de.value.length===0&&!$.value),Se=r(()=>ce(A.findAll().filter(e=>!e.draft&&(!e.hidden||e.hiddenBy===ne.system)&&e.type!==`virtual`),[e=>e.name],[`asc`]).map(e=>({value:e.id,label:e.name}))),Ce=e=>e===null?[]:ce(M.findForDevice(e),[e=>e.name],[`asc`]).map(e=>({value:e.id,label:e.name})),Te=e=>e===null?[]:ce(F.findForChannel(e),[e=>e.name??e.category],[`asc`]).map(e=>({value:e.id,label:e.name??y(`devicesModule.categories.channelsProperties.${e.category}`)})),Ee=e=>[e.dataType,e.unit,e.permissions.join(`/`)].filter(e=>typeof e==`string`&&e.length>0).join(` · `),De=(e,t)=>t.required||U[e.specChannel]===!0||typeof I[t.key]==`string`||typeof L[t.key]==`string`,Oe=e=>e.slots.filter(t=>De(e,t)),ke=e=>e.slots.length-Oe(e).length,Ae=async e=>{try{return await M.fetch({deviceId:e})}catch(t){return T.error(`Failed to load source channels`,t),M.findForDevice(e)}},je=async e=>{try{await F.fetch({channelId:e})}catch(e){T.error(`Failed to load source properties`,e)}return F.findForChannel(e)},Me=(e,t,n)=>{let r=e=>e.spec_channel===t.slot.specChannel&&e.spec_property===t.slot.specProperty&&e.source_property===t.sourceProperty,i=e[n];return i&&r(i)?i:e.find(r)??null},Ne=async e=>{if(u.category===null||e.length===0)return;let t=++ie;for(let n of e)W.set(n.slot.key,t),B[n.slot.key]=!0,delete L[n.slot.key];let n=(e,n)=>{W.get(e)===t&&(delete B[e],n===null?delete L[e]:L[e]=n)};try{let{data:t,error:r}=await C.client.POST(`/${x}/${we}/devices/compatibility`,{body:{data:{category:u.category,candidates:e.map(e=>({spec_channel:e.slot.specChannel,spec_property:e.slot.specProperty,source_property:e.sourceProperty}))}}}),i=t?.data;if(!i){let t=r?R(r,y(`devicesVirtualPlugin.wizard.mapping.errors.checkFailed`)):y(`devicesVirtualPlugin.wizard.mapping.errors.checkFailed`);for(let r of e)n(r.slot.key,t);E.error(t);return}e.forEach((e,t)=>{let r=Me(i,e,t);if(!r){n(e.slot.key,y(`devicesVirtualPlugin.wizard.mapping.errors.checkFailed`));return}n(e.slot.key,r.compatible?null:r.reason??y(`devicesVirtualPlugin.wizard.mapping.errors.incompatible`))})}catch(t){T.error(`Virtual device compatibility check failed`,t);let r=y(`devicesVirtualPlugin.wizard.mapping.errors.checkFailed`);for(let t of e)n(t.slot.key,r);E.error(r)}},Pe=async(e,t)=>{let n=X.value.find(t=>t.key===e);if(n){if(W.set(e,++ie),delete L[e],delete B[e],t===null){delete I[e];return}I[e]=t,await Ne([{slot:n,sourceProperty:t}])}},Fe=async(e,t)=>{let n=K.value.find(t=>t.specChannel===e);if(!n||t===null)return;let r=++ie;for(let e of n.slots)W.set(e.key,r),delete B[e.key];let i=await je(t);if(n.slots.some(e=>W.get(e.key)!==r))return;let a=M.findById(t),o=[];for(let e of n.slots){let n=i.find(t=>t.category===e.specProperty);if(!n){let t=I[e.key];t&&o.push({slot:e,sourceProperty:t});continue}delete L[e.key],I[e.key]=n.id,V[e.key]={device:a?.device??null,channel:t},o.push({slot:e,sourceProperty:n.id})}if(o.length===0){E.info(y(`devicesVirtualPlugin.wizard.mapping.shortcut.nothingApplied`));return}U[e]=!0,E.info(y(`devicesVirtualPlugin.wizard.mapping.shortcut.applied`,{filled:o.length,total:n.slots.length})),await Ne(o)},Ge=(e,t)=>{V[e]={device:t,channel:null},Pe(e,null).catch(e=>T.error(`Failed to clear source property`,e)),t!==null&&Ae(t).catch(e=>T.error(`Failed to load source channels`,e))},Ke=(e,t)=>{V[e]={device:V[e]?.device??null,channel:t},Pe(e,null).catch(e=>T.error(`Failed to clear source property`,e)),t!==null&&je(t).catch(e=>T.error(`Failed to load source properties`,e))},qe=(e,t)=>{Pe(e,t).catch(e=>T.error(`Failed to select source property`,e))},Je=(e,t)=>{H[e]={device:t,channel:null},t!==null&&Ae(t).catch(e=>T.error(`Failed to load source channels`,e))},Ye=(e,t)=>{H[e]={device:H[e]?.device??null,channel:t},t!==null&&je(t).catch(e=>T.error(`Failed to load source properties`,e))},Xe=e=>{Fe(e,H[e]?.channel??null).catch(e=>T.error(`Failed to apply source channel`,e))},Ze=e=>e.filter(e=>e.sourceProperty!==null).map(e=>`${e.specChannel}.${e.specProperty}=${e.sourceProperty}`).sort().join(`|`),Qe=()=>{for(let[e,t]of Object.entries(I)){if(V[e]?.channel)continue;let n=F.findById(t),r=n?M.findById(n.channel):null;V[e]={device:r?.device??null,channel:r?.id??null}}};return p(()=>u.modelValue,e=>{if(Ze(e)!==Ze(oe.value)){for(let e of Object.keys(I))delete I[e];for(let e of Object.keys(L))delete L[e];for(let e of Object.keys(B))delete B[e];for(let e of Object.keys(V))delete V[e];W.clear();for(let t of e)t.sourceProperty!==null&&(I[`${t.specChannel}.${t.specProperty}`]=t.sourceProperty);Qe()}},{deep:!0,immediate:!0}),p(()=>u.category,(e,t)=>{if(!(t==null||t===e)){for(let e of Object.keys(I))delete I[e];for(let e of Object.keys(L))delete L[e];for(let e of Object.keys(B))delete B[e];for(let e of Object.keys(V))delete V[e];for(let e of Object.keys(H))delete H[e];W.clear(),ie++}}),p(oe,e=>g(`update:modelValue`,e),{deep:!0,immediate:!0}),p(he,e=>g(`update:valid`,e),{immediate:!0}),d(()=>{A.fetch({hidden:O.all}).catch(e=>T.error(`Failed to load source devices`,e))}),i({slots:X,groups:K,errors:L,checking:B,pickers:V,progress:Z,constraintViolations:de,isValid:he,sourceDevicesOptions:Se,selectSource:Pe,applyChannel:Fe}),(r,i)=>(l(),e(`div`,Ie,[o(h(q),{type:`info`,title:h(y)(`devicesVirtualPlugin.wizard.mapping.heading`),description:h(y)(`devicesVirtualPlugin.wizard.mapping.description`),closable:!1,"show-icon":``},null,8,[`title`,`description`]),t.category===null?(l(),s(h(q),{key:0,type:`warning`,title:h(y)(`devicesVirtualPlugin.wizard.mapping.noCategory`),closable:!1,"show-icon":``},null,8,[`title`])):(l(),e(w,{key:1},[n(`div`,Le,[o(h(se),{percentage:ue.value,status:le.value?`success`:void 0,class:`grow`},null,8,[`percentage`,`status`]),Z.value.requiredTotal>0?(l(),s(h(k),{key:0,size:`small`,class:`whitespace-nowrap`},{default:S(()=>[a(b(h(y)(`devicesVirtualPlugin.wizard.mapping.progress`,{filled:Z.value.requiredFilled,total:Z.value.requiredTotal})),1)]),_:1})):Q.value?v(``,!0):(l(),s(h(k),{key:1,size:`small`},{default:S(()=>[a(b(h(y)(`devicesVirtualPlugin.wizard.mapping.noRequired`)),1)]),_:1}))]),(l(!0),e(w,null,m(de.value,e=>(l(),s(h(q),{key:`${e.specChannel}-${e.message}`,type:`error`,closable:!1,"show-icon":``,class:`mt-2`,"data-test-id":`constraint-violation`},{default:S(()=>[n(`strong`,null,b(h(y)(`devicesModule.categories.channels.${e.specChannel}`)),1),a(` `+b(e.message),1)]),_:2},1024))),128)),(l(!0),e(w,null,m(K.value,t=>(l(),e(`div`,{key:t.specChannel,class:`b b-solid b-gray-200 dark:b-gray-700 rounded p-3 space-y-3`,"data-test-id":`slot-group-${t.specChannel}`},[n(`div`,ze,[n(`strong`,null,b(h(y)(`devicesModule.categories.channels.${t.specChannel}`)),1),o(h(j),{type:t.required?`danger`:`info`,size:`small`},{default:S(()=>[a(b(t.required?h(y)(`devicesVirtualPlugin.wizard.mapping.channelRequired`):h(y)(`devicesVirtualPlugin.wizard.mapping.channelOptional`)),1)]),_:2},1032,[`type`])]),n(`div`,Be,[o(h(k),{size:`small`,class:`basis-full`},{default:S(()=>[a(b(h(y)(`devicesVirtualPlugin.wizard.mapping.shortcut.description`)),1)]),_:1}),o(h(J),{"model-value":H[t.specChannel]?.device??null,placeholder:h(y)(`devicesVirtualPlugin.wizard.mapping.source.devicePlaceholder`),name:`shortcut-device-${t.specChannel}`,filterable:``,clearable:``,class:`w-60`,"onUpdate:modelValue":e=>Je(t.specChannel,e)},{default:S(()=>[(l(!0),e(w,null,m(Se.value,e=>(l(),s(h(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`name`,`onUpdate:modelValue`]),o(h(J),{"model-value":H[t.specChannel]?.channel??null,placeholder:h(y)(`devicesVirtualPlugin.wizard.mapping.source.channelPlaceholder`),name:`shortcut-channel-${t.specChannel}`,disabled:!H[t.specChannel]?.device,filterable:``,clearable:``,class:`w-60`,"onUpdate:modelValue":e=>Ye(t.specChannel,e)},{default:S(()=>[(l(!0),e(w,null,m(Ce(H[t.specChannel]?.device??null),e=>(l(),s(h(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`name`,`disabled`,`onUpdate:modelValue`]),o(h(_),{disabled:!H[t.specChannel]?.channel,plain:``,onClick:e=>Xe(t.specChannel)},{default:S(()=>[a(b(h(y)(`devicesVirtualPlugin.wizard.mapping.shortcut.apply`)),1)]),_:1},8,[`disabled`,`onClick`])]),(l(!0),e(w,null,m(Oe(t),t=>(l(),e(`div`,{key:t.key,class:`space-y-1`,"data-test-id":`slot-${t.key}`},[n(`div`,He,[n(`span`,Ue,b(h(y)(`devicesModule.categories.channelsProperties.${t.specProperty}`)),1),t.required?(l(),s(h(j),{key:0,type:`danger`,size:`small`},{default:S(()=>[a(b(h(y)(`devicesVirtualPlugin.wizard.mapping.propertyRequired`)),1)]),_:1})):v(``,!0),o(h(k),{size:`small`,type:`info`},{default:S(()=>[a(b(Ee(t)),1)]),_:2},1024)]),n(`div`,We,[o(h(J),{"model-value":V[t.key]?.device??null,placeholder:h(y)(`devicesVirtualPlugin.wizard.mapping.source.devicePlaceholder`),name:`device-${t.key}`,filterable:``,clearable:``,class:`w-60`,"onUpdate:modelValue":e=>Ge(t.key,e)},{default:S(()=>[(l(!0),e(w,null,m(Se.value,e=>(l(),s(h(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`name`,`onUpdate:modelValue`]),o(h(J),{"model-value":V[t.key]?.channel??null,placeholder:h(y)(`devicesVirtualPlugin.wizard.mapping.source.channelPlaceholder`),name:`channel-${t.key}`,disabled:!V[t.key]?.device,filterable:``,clearable:``,class:`w-60`,"onUpdate:modelValue":e=>Ke(t.key,e)},{default:S(()=>[(l(!0),e(w,null,m(Ce(V[t.key]?.device??null),e=>(l(),s(h(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`name`,`disabled`,`onUpdate:modelValue`]),o(h(J),{"model-value":I[t.key]??null,placeholder:h(y)(`devicesVirtualPlugin.wizard.mapping.source.propertyPlaceholder`),name:`property-${t.key}`,disabled:!V[t.key]?.channel,loading:B[t.key]===!0,filterable:``,clearable:``,class:`w-60`,"onUpdate:modelValue":e=>qe(t.key,e)},{default:S(()=>[(l(!0),e(w,null,m(Te(V[t.key]?.channel??null),e=>(l(),s(h(Y),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`name`,`disabled`,`loading`,`onUpdate:modelValue`])]),L[t.key]?(l(),s(h(k),{key:0,size:`small`,type:`danger`,class:`block`,"data-test-id":`slot-error-${t.key}`},{default:S(()=>[a(b(L[t.key]),1)]),_:2},1032,[`data-test-id`])):v(``,!0)],8,Ve))),128)),ke(t)>0?(l(),s(h(_),{key:0,link:``,type:`primary`,onClick:e=>U[t.specChannel]=!0},{default:S(()=>[a(b(h(y)(`devicesVirtualPlugin.wizard.mapping.showOptional`,{count:ke(t)})),1)]),_:2},1032,[`onClick`])):v(``,!0)],8,Re))),128))],64))]))}}),Ke={class:`space-y-4`},qe={class:`text-xs text-gray-500`},Je=c({name:`VirtualWizardReviewStep`,__name:`virtual-wizard-review-step`,props:{category:{},mappings:{},name:{},roomId:{},zoneIds:{}},emits:[`created`,`submitting`],setup(t,{expose:i,emit:c}){let d=t,f=c,{t:p}=ee(),m=re(),g=te(),x=P(),C=N(),T=C.getStore(fe),E=C.getStore(me),D=C.getStore(pe),O=C.getStore(de),k=u(`idle`),A=u(null),j=u(!1),M=u(`idle`),F=u(null),I=u(0),L=r(()=>d.mappings.filter(e=>e.sourceProperty!==null)),z=()=>p(`devicesVirtualPlugin.wizard.review.unknownSource`),B=e=>{let t=D.findById(e),n=t?E.findById(t.channel):null,r=n?T.findById(n.device):null;return{deviceId:n?.device??null,deviceName:r?.name??z(),channelName:n?.name??z(),propertyName:t?t.name??p(`devicesModule.categories.channelsProperties.${t.category}`):z()}},H=r(()=>L.value.map(e=>B(e.sourceProperty))),G=r(()=>L.value.map((e,t)=>{let n=H.value[t];return{key:`${e.specChannel}.${e.specProperty}`,specChannel:e.specChannel,specProperty:e.specProperty,sourceDevice:n.deviceName,sourceChannel:n.channelName,sourceProperty:n.propertyName}})),K=r(()=>{let e=H.value.map(e=>e.deviceId);return e.length===0||e.some(e=>e===null)?!1:new Set(e).size===1}),J=r(()=>{if(!K.value)return null;let e=H.value[0]?.deviceId??null;return e===null?null:T.findById(e)}),Y=r(()=>d.category===null?``:p(`devicesModule.categories.devices.${d.category}`)),X=r(()=>{if(d.roomId===null)return p(`devicesVirtualPlugin.wizard.review.noRoom`);let e=O.findById(d.roomId);return e?e.name:z()}),se=r(()=>d.zoneIds.length===0?p(`devicesVirtualPlugin.wizard.review.noZones`):d.zoneIds.map(e=>{let t=O.findById(e);return t?t.name:z()}).join(`, `)),Z=r(()=>k.value!==`submitting`&&k.value!==`created`&&d.category!==null&&d.name.trim().length>0&&G.value.length>0),Q=(e,t)=>{let n=D.findById(e.sourceProperty)?.dataType??null,r=ye[e.specChannel],i=Object.values(r?.properties??{}).find(t=>t.category===e.specProperty);return(n===null?void 0:i?.data_types?.find(e=>e.data_type===n))??t},ce=e=>{let t=_e(e.specChannel,e.specProperty);if(!t)return g.error(`No specification found for ${e.specChannel}.${e.specProperty}; leaving it out of the create payload`),null;let n=Q(e,{data_type:t.data_type,format:t.format??void 0,step:t.step??void 0});return{type:Ee,category:e.specProperty,identifier:e.specProperty,name:null,permissions:t.permissions,data_type:n.data_type,format:n.format??null,invalid:D.findById(e.sourceProperty)?.invalid??t.invalid??null,step:n.step??null,value:null,value_origin:V.source,source_property:e.sourceProperty}},le=r(()=>{let e=new Map;for(let t of L.value){let n=ce(t);if(!n)continue;let r=e.get(t.specChannel)??[];r.push(n),e.set(t.specChannel,r)}return Array.from(e.entries()).map(([e,t])=>({type:Ee,category:e,identifier:e,name:p(`devicesModule.categories.channels.${e}`),properties:t}))}),ue=async e=>{I.value=0;for(let t of d.zoneIds)try{await T.addZone({id:e,zoneId:t})}catch(n){g.error(`Failed to assign the created device id=${e} to zone id=${t}`,n),I.value+=1}I.value>0&&x.warning(p(`devicesVirtualPlugin.wizard.review.errors.zonesFailed`,{count:I.value}))},$=async()=>{let e=J.value;if(e){M.value=`hiding`,F.value=null;try{await T.edit({id:e.id,data:{type:e.type,hidden:!0,hiddenBy:ne.system}}),M.value=`hidden`}catch(t){g.error(`Failed to hide the source device id=${e.id}`,t),M.value=`failed`,F.value=t instanceof Error?t.message:p(`devicesVirtualPlugin.wizard.review.errors.hideFailed`),x.error(p(`devicesVirtualPlugin.wizard.review.errors.hideFailedFlash`,{device:e.name}))}}},ge=()=>{$().catch(e=>g.error(`Failed to retry hiding the source device`,e))},ve=async()=>{if(!Z.value)return;let e=d.category,t=d.name.trim(),n=d.roomId,r=d.zoneIds,i=le.value;if(e===null)return;k.value=`submitting`,f(`submitting`,!0),A.value=null;let a={type:Ee,category:e,name:t,room_id:n,channels:i};try{let{data:e,error:t}=await m.client.POST(`/${y}/${he}/devices`,{body:{data:a}});if(!e){A.value=t?R(t,p(`devicesVirtualPlugin.wizard.review.errors.createFailed`)):p(`devicesVirtualPlugin.wizard.review.errors.createFailed`),k.value=`error`,f(`submitting`,!1),x.error(A.value);return}let n=e.data;k.value=`created`;try{await T.get({id:n.id})}catch(e){g.error(`Failed to refresh the created device`,e)}r.length>0&&await ue(n.id),j.value&&K.value&&await $(),f(`submitting`,!1),f(`created`,{id:n.id,name:n.name})}catch(e){g.error(`Failed to create the virtual device`,e),A.value=p(`devicesVirtualPlugin.wizard.review.errors.createFailed`),k.value=`error`,f(`submitting`,!1),x.error(A.value)}};return i({rows:G,canHideSource:K,sourceDevice:J,submitState:k,hideState:M,hideError:F,createError:A,canCreate:Z,onCreate:ve,onRetryHide:ge}),(r,i)=>(l(),e(`div`,Ke,[o(h(q),{type:`info`,title:h(p)(`devicesVirtualPlugin.wizard.review.heading`),description:h(p)(`devicesVirtualPlugin.wizard.review.description`),closable:!1,"show-icon":``},null,8,[`title`,`description`]),o(h(ie),{column:1,border:``,"data-test-id":`review-summary`},{default:S(()=>[o(h(U),{label:h(p)(`devicesVirtualPlugin.fields.devices.category.title`)},{default:S(()=>[a(b(Y.value),1)]),_:1},8,[`label`]),o(h(U),{label:h(p)(`devicesVirtualPlugin.fields.devices.name.title`)},{default:S(()=>[a(b(t.name),1)]),_:1},8,[`label`]),o(h(U),{label:h(p)(`devicesModule.fields.devices.room.title`)},{default:S(()=>[a(b(X.value),1)]),_:1},8,[`label`]),o(h(U),{label:h(p)(`devicesModule.fields.devices.zones.title`)},{default:S(()=>[a(b(se.value),1)]),_:1},8,[`label`])]),_:1}),G.value.length===0?(l(),s(h(q),{key:0,type:`warning`,title:h(p)(`devicesVirtualPlugin.wizard.review.noMappings`),closable:!1,"show-icon":``,"data-test-id":`review-no-mappings`},null,8,[`title`])):(l(),s(h(ae),{key:1,data:G.value,"data-test-id":`review-rows`},{default:S(()=>[o(h(W),{label:h(p)(`devicesVirtualPlugin.wizard.review.columns.property`)},{default:S(({row:e})=>[n(`strong`,null,b(h(p)(`devicesModule.categories.channels.${e.specChannel}`)),1),a(` · `+b(h(p)(`devicesModule.categories.channelsProperties.${e.specProperty}`)),1)]),_:1},8,[`label`]),o(h(W),{label:h(p)(`devicesVirtualPlugin.wizard.review.columns.sourceDevice`),prop:`sourceDevice`},null,8,[`label`]),o(h(W),{label:h(p)(`devicesVirtualPlugin.wizard.review.columns.sourceChannel`),prop:`sourceChannel`},null,8,[`label`]),o(h(W),{label:h(p)(`devicesVirtualPlugin.wizard.review.columns.sourceProperty`),prop:`sourceProperty`},null,8,[`label`])]),_:1},8,[`data`])),K.value&&k.value!==`created`?(l(),e(w,{key:2},[o(h(oe),{modelValue:j.value,"onUpdate:modelValue":i[0]||=e=>j.value=e,"data-test-id":`hide-source-checkbox`},{default:S(()=>[a(b(h(p)(`devicesVirtualPlugin.wizard.review.hideSource.label`,{device:J.value?.name??``})),1)]),_:1},8,[`modelValue`]),n(`div`,qe,b(h(p)(`devicesVirtualPlugin.wizard.review.hideSource.hint`)),1)],64)):v(``,!0),k.value===`error`?(l(),s(h(q),{key:3,type:`error`,title:A.value??``,closable:!1,"show-icon":``,"data-test-id":`create-error`},null,8,[`title`])):v(``,!0),k.value===`created`?(l(),e(w,{key:4},[o(h(q),{type:`success`,title:h(p)(`devicesVirtualPlugin.wizard.review.created`,{name:t.name}),closable:!1,"show-icon":``,"data-test-id":`create-success`},null,8,[`title`]),M.value===`failed`?(l(),s(h(q),{key:0,type:`warning`,title:F.value??``,closable:!1,"show-icon":``,"data-test-id":`hide-error`},{default:S(()=>[o(h(_),{size:`small`,"data-test-id":`retry-hide`,onClick:ge},{default:S(()=>[a(b(h(p)(`devicesVirtualPlugin.wizard.review.hideSource.retry`)),1)]),_:1})]),_:1},8,[`title`])):M.value===`hidden`?(l(),s(h(q),{key:1,type:`success`,title:h(p)(`devicesVirtualPlugin.wizard.review.hideSource.success`,{device:J.value?.name??``}),closable:!1,"show-icon":``,"data-test-id":`hide-success`},null,8,[`title`])):v(``,!0)],64)):(l(),s(h(_),{key:5,type:`primary`,disabled:!Z.value,loading:k.value===`submitting`,"data-test-id":`create-device`,onClick:ve},{default:S(()=>[a(b(h(p)(`devicesVirtualPlugin.wizard.review.create`)),1)]),_:1},8,[`disabled`,`loading`]))]))}}),Ye={class:`flex items-center`},Xe={class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},Ze={class:`p-4`},Qe={key:2,class:`mt-2 flex justify-end lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2`},$e=4,et=c({name:`ViewVirtualDeviceWizard`,__name:`view-virtual-device-wizard`,setup(c,{expose:d}){let{t:m}=ee(),y=C(),{isMDDevice:x,isLGDevice:O}=F();T({title:m(`devicesVirtualPlugin.wizard.title`)});let k=f({category:null,mappings:[],name:``,roomId:null,zoneIds:[]}),j=u(0),M=u(!1),N=u(null),P=u(!1),te=r(()=>j.value===$e-1),R=r(()=>j.value===0?k.category!==null:j.value===1?M.value:j.value===2&&k.name.trim().length>0),z=r(()=>[{label:m(`devicesModule.breadcrumbs.devices.list`),route:y.resolve({name:$.DEVICES})},{label:m(`devicesVirtualPlugin.wizard.breadcrumb`),route:y.resolve({name:Ce.WIZARD})}]);B(()=>!P.value);let ne=()=>{P.value||(O.value?y.replace({name:$.DEVICES}):y.push({name:$.DEVICES}))},re=()=>{P.value||j.value!==0&&--j.value},V=()=>{!R.value||te.value||(j.value+=1)},U=e=>{M.value=e},ie=e=>{N.value=e},W=()=>{if(N.value===null)return;let e={name:$.DEVICE,params:{id:N.value.id}};O.value?y.replace(e):y.push(e)};return p(()=>k.category,(e,t)=>{t==null||t===e||(k.mappings=[],M.value=!1)}),d({activeStep:j,canAdvance:R,createdDevice:N}),(r,c)=>(l(),e(w,null,[h(x)?v(``,!0):(l(),s(h(H),{key:0,teleport:``},{icon:S(()=>[o(h(t),{icon:`mdi:wizard-hat`,class:`w[20px] h[20px]`})]),title:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.title`)),1)]),subtitle:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.subtitle`)),1)]),_:1})),h(x)?v(``,!0):(l(),s(h(A),{key:1,align:h(E).LEFT,teleport:``,small:``,onClick:ne},{icon:S(()=>[o(h(i),{size:24},{default:S(()=>[o(h(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),o(h(L),{items:z.value},null,8,[`items`]),o(h(I),{heading:h(m)(`devicesVirtualPlugin.wizard.title`),"sub-heading":h(m)(`devicesVirtualPlugin.wizard.subtitle`),icon:`mdi:wizard-hat`},g({_:2},[h(x)?{name:`extra`,fn:S(()=>[n(`div`,Ye,[N.value===null?(l(),s(h(_),{key:0,disabled:P.value,"data-test-id":`wizard-cancel`,onClick:ne},{default:S(()=>[a(b(h(m)(`devicesModule.buttons.cancel.title`)),1)]),_:1},8,[`disabled`])):(l(),s(h(_),{key:1,type:`primary`,"data-test-id":`wizard-view-device`,onClick:W},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.viewDevice`)),1)]),_:1})),N.value===null&&j.value>0?(l(),s(h(_),{key:2,class:`ml-2!`,disabled:P.value,"data-test-id":`wizard-back`,onClick:re},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.back`)),1)]),_:1},8,[`disabled`])):v(``,!0),N.value===null&&!te.value?(l(),s(h(_),{key:3,type:`primary`,class:`ml-2!`,disabled:!R.value,"data-test-id":`wizard-next`,onClick:V},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.next`)),1)]),_:1},8,[`disabled`])):v(``,!0)])]),key:`0`}:void 0]),1032,[`heading`,`sub-heading`]),n(`div`,Xe,[o(h(X),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{header:S(()=>[o(h(Z),{active:j.value,"finish-status":`success`,"align-center":``},{default:S(()=>[o(h(Q),{title:h(m)(`devicesVirtualPlugin.wizard.steps.category`)},null,8,[`title`]),o(h(Q),{title:h(m)(`devicesVirtualPlugin.wizard.steps.mapping`)},null,8,[`title`]),o(h(Q),{title:h(m)(`devicesVirtualPlugin.wizard.steps.details`)},null,8,[`title`]),o(h(Q),{title:h(m)(`devicesVirtualPlugin.wizard.steps.review`)},null,8,[`title`])]),_:1},8,[`active`])]),default:S(()=>[o(h(D),{class:`flex-1 overflow-hidden h-full`},{default:S(()=>[n(`div`,Ze,[j.value===0?(l(),s(je,{key:0,modelValue:k.category,"onUpdate:modelValue":c[0]||=e=>k.category=e},null,8,[`modelValue`])):j.value===1?(l(),s(Ge,{key:1,modelValue:k.mappings,"onUpdate:modelValue":c[1]||=e=>k.mappings=e,category:k.category,"onUpdate:valid":U},null,8,[`modelValue`,`category`])):j.value===2?(l(),s(Fe,{key:2,name:k.name,"onUpdate:name":c[2]||=e=>k.name=e,"room-id":k.roomId,"onUpdate:roomId":c[3]||=e=>k.roomId=e,"zone-ids":k.zoneIds,"onUpdate:zoneIds":c[4]||=e=>k.zoneIds=e,category:k.category},null,8,[`name`,`room-id`,`zone-ids`,`category`])):(l(),s(Je,{key:3,category:k.category,mappings:k.mappings,name:k.name,"room-id":k.roomId,"zone-ids":k.zoneIds,onCreated:ie,onSubmitting:c[5]||=e=>P.value=e},null,8,[`category`,`mappings`,`name`,`room-id`,`zone-ids`]))])]),_:1})]),_:1})]),h(x)?v(``,!0):(l(),e(`div`,Qe,[N.value===null&&j.value>0?(l(),s(h(_),{key:0,disabled:P.value,"data-test-id":`wizard-back`,onClick:re},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.back`)),1)]),_:1},8,[`disabled`])):v(``,!0),N.value===null?(l(),s(h(_),{key:1,class:`ml-2!`,disabled:P.value,"data-test-id":`wizard-cancel`,onClick:ne},{default:S(()=>[a(b(h(m)(`devicesModule.buttons.cancel.title`)),1)]),_:1},8,[`disabled`])):(l(),s(h(_),{key:2,type:`primary`,class:`ml-2!`,"data-test-id":`wizard-view-device`,onClick:W},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.viewDevice`)),1)]),_:1})),N.value===null&&!te.value?(l(),s(h(_),{key:3,type:`primary`,class:`ml-2!`,disabled:!R.value,"data-test-id":`wizard-next`,onClick:V},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.next`)),1)]),_:1},8,[`disabled`])):v(``,!0)]))],64))}});export{et as default};
|