@fastybird/smart-panel-admin 1.1.0-alpha.15 → 1.1.0-alpha.17

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.
Files changed (84) hide show
  1. package/dist/assets/{card-add-form-E8HD5P7x.js → card-add-form-CwVNfOa0.js} +1 -1
  2. package/dist/assets/{card-edit-form-krG-iKtG.js → card-edit-form-CSyu6tst.js} +1 -1
  3. package/dist/assets/{components-DGTDixMX.js → components-B6ONxCJg.js} +2 -2
  4. package/dist/assets/{components-BvH9AXH1.js → components-C29cEP3E.js} +1 -1
  5. package/dist/assets/components-COYnCOrj.js +1 -0
  6. package/dist/assets/{components-V875k_UY.js → components-ChpIwZ2c.js} +1 -1
  7. package/dist/assets/{components-DwaYj6Cf.js → components-DOu6SAYU.js} +1 -1
  8. package/dist/assets/{components-fOCQ1-ME.js → components-DcPpAD3w.js} +1 -1
  9. package/dist/assets/{components-Zbysysf4.js → components-EQDhXTcZ.js} +2 -2
  10. package/dist/assets/composables-2NuyfNXO.js +1 -0
  11. package/dist/assets/{composables-CEiy-ejt.js → composables-Cpk78oG1.js} +1 -1
  12. package/dist/assets/{composables-DHJBUFeX.js → composables-D2O7i4W5.js} +1 -1
  13. package/dist/assets/{composables-DDdN4T8e.js → composables-DeXiqZuU.js} +1 -1
  14. package/dist/assets/{dashboard-DtLQGoww.js → dashboard-YUP0xrqH.js} +2 -2
  15. package/dist/assets/devices-DMGNDnfZ.js +2 -0
  16. package/dist/assets/devices.constants-DHQemX04.js +1 -0
  17. package/dist/assets/index-CV45di_J.css +1 -0
  18. package/dist/assets/{index-CgcWJbCW.js → index-DfkQdVsN.js} +5 -5
  19. package/dist/assets/{keys-DghNVBR5.js → keys-DMEIfK2a.js} +1 -1
  20. package/dist/assets/{page-configure-DNI83REl.js → page-configure-Dn69RQ5P.js} +1 -1
  21. package/dist/assets/{page-configure-B_5W0yDK.js → page-configure-Dz17Sp3H.js} +1 -1
  22. package/dist/assets/{scene-add-form-B5GZmYBe.js → scene-add-form-telggkNn.js} +1 -1
  23. package/dist/assets/{scene-edit-form-BpyqxJsJ.js → scene-edit-form-D6fUKT6Q.js} +1 -1
  24. package/dist/assets/{spaces-CJibihNe.js → spaces-DVdwHxsH.js} +2 -2
  25. package/dist/assets/{spaces-home-control.constants-Bmyd_bxK.js → spaces-home-control.constants-BgmjmN0q.js} +1 -1
  26. package/dist/assets/{system-BHTxM7b2.js → system-BYrFmAZQ.js} +2 -2
  27. package/dist/assets/{useDevicesPlugins-C5GU_Od9.js → useDevicesPlugins-DEYJEOHX.js} +1 -1
  28. package/dist/assets/{view-card-add-6cJ2Oi8A.js → view-card-add-pt5m96qu.js} +1 -1
  29. package/dist/assets/{view-card-edit-Cj0ZaAZc.js → view-card-edit-DXjl5oBU.js} +1 -1
  30. package/dist/assets/{view-channel-DhNP8G5E.js → view-channel-CI27Kw3i.js} +1 -1
  31. package/dist/assets/{view-channel-add-Dq2g9C2Q.js → view-channel-add-CG6KLBWk.js} +1 -1
  32. package/dist/assets/{view-channel-edit-CRBGnNO1.js → view-channel-edit-CogATbzW.js} +1 -1
  33. package/dist/assets/{view-channel-property-add-CiPpsqLa.js → view-channel-property-add-BSDtheo1.js} +1 -1
  34. package/dist/assets/{view-channel-property-edit-DgKq8lY_.js → view-channel-property-edit-DSMP7h69.js} +1 -1
  35. package/dist/assets/{view-channels-V4deGym0.js → view-channels-DGrRqo1t.js} +1 -1
  36. package/dist/assets/{view-data-source-add-Duyt58zK.js → view-data-source-add-BwwcOapn.js} +1 -1
  37. package/dist/assets/{view-data-source-add-BVOljAgp.js → view-data-source-add-C-YsEqNf.js} +1 -1
  38. package/dist/assets/{view-data-source-edit-BrHBWN9M.js → view-data-source-edit-3a7uStGk.js} +1 -1
  39. package/dist/assets/{view-data-source-edit-DAp5tr92.js → view-data-source-edit-Bjpg7BqJ.js} +1 -1
  40. package/dist/assets/{view-device-HW-FYK6m.js → view-device-SLBUzdAG.js} +1 -1
  41. package/dist/assets/{view-device-add-h9XeQkR4.js → view-device-add-DnLE34d9.js} +1 -1
  42. package/dist/assets/{view-device-control-k8ySBs5q.js → view-device-control-C3JrCzh9.js} +1 -1
  43. package/dist/assets/{view-device-edit-B6w4Pwoa.js → view-device-edit-YRq9uYoY.js} +1 -1
  44. package/dist/assets/{view-devices-CuSYafue.js → view-devices-DyQJtfEO.js} +1 -1
  45. package/dist/assets/{view-devices-wizard-CVWxP2qH.js → view-devices-wizard-BIJH86VM.js} +1 -1
  46. package/dist/assets/{view-display-WkLUe2li.js → view-display-BPX9RiY5.js} +1 -1
  47. package/dist/assets/{view-display-edit-CVsjKYSe.js → view-display-edit-C1nr56vB.js} +1 -1
  48. package/dist/assets/{view-displays-DEfXxQsx.js → view-displays-DvlfLyrG.js} +1 -1
  49. package/dist/assets/{view-extension-detail-Dt-TRcGZ.js → view-extension-detail-CdtfxCGr.js} +1 -1
  50. package/dist/assets/{view-extensions-Djz5EFGI.js → view-extensions-Db7Zomaz.js} +1 -1
  51. package/dist/assets/{view-onboarding-DHUjhce1.js → view-onboarding-BHdDgVMj.js} +1 -1
  52. package/dist/assets/{view-page-add-B6B4ZDvT.js → view-page-add-CMkgrgRF.js} +1 -1
  53. package/dist/assets/{view-page-configure-CN7s71ow.js → view-page-configure-JhXEhrod.js} +1 -1
  54. package/dist/assets/{view-page-configure-CXwMF5sY.js → view-page-configure-ho3B4Gtr.js} +1 -1
  55. package/dist/assets/{view-page-edit-Cd0oAyro.js → view-page-edit-ubc81fqj.js} +1 -1
  56. package/dist/assets/{view-pages-BA2aoTFo.js → view-pages-CZR6c3uY.js} +1 -1
  57. package/dist/assets/{view-scene-add-CcmfdYfo.js → view-scene-add-H5f00zTk.js} +1 -1
  58. package/dist/assets/{view-scene-edit-CJnJk4xt.js → view-scene-edit-BYUTky-m.js} +1 -1
  59. package/dist/assets/{view-scenes-CzLR08or.js → view-scenes-eWQiAb02.js} +1 -1
  60. package/dist/assets/{view-simulator-device-wizard-DULtvgds.js → view-simulator-device-wizard-BDYOze0x.js} +1 -1
  61. package/dist/assets/{view-space-add-bXDK88NX.js → view-space-add-DLF9C3Az.js} +1 -1
  62. package/dist/assets/{view-space-configure-sQY9tDyB.js → view-space-configure-LA94Bfj9.js} +1 -1
  63. package/dist/assets/{view-space-edit-DPp0vLpb.js → view-space-edit-CVBH6AaO.js} +1 -1
  64. package/dist/assets/{view-space-plugin-BoJTYQbN.js → view-space-plugin-DALFumLq.js} +1 -1
  65. package/dist/assets/{view-spaces-D76KLcmr.js → view-spaces-BpplLq0s.js} +1 -1
  66. package/dist/assets/{view-spaces-wizard-CbbVSvgt.js → view-spaces-wizard-DTzT5Ajh.js} +1 -1
  67. package/dist/assets/{view-stats-BdFxYCJ1.js → view-stats-CAuKFczH.js} +1 -1
  68. package/dist/assets/{view-system-backups-DupEuFGr.js → view-system-backups-DXNhdzEz.js} +1 -1
  69. package/dist/assets/{view-system-info-BRiwO4VM.js → view-system-info-DBIwx_bQ.js} +1 -1
  70. package/dist/assets/{view-system-log-detail-Bilyx2Rg.js → view-system-log-detail-CZ_0wD0X.js} +1 -1
  71. package/dist/assets/{view-system-logs-CCBxaNJd.js → view-system-logs-CdHkOLjd.js} +1 -1
  72. package/dist/assets/{view-tile-add-Bv0G2Mux.js → view-tile-add-ChtKYIGF.js} +1 -1
  73. package/dist/assets/{view-tile-add-ByeFvQ1C.js → view-tile-add-DNOx9gjy.js} +1 -1
  74. package/dist/assets/{view-tile-edit-9CB74778.js → view-tile-edit-CLNWeo9W.js} +1 -1
  75. package/dist/assets/{view-tile-edit--n1jPylB.js → view-tile-edit-pikK5iSE.js} +1 -1
  76. package/dist/assets/{view-virtual-device-wizard-CbkHskbg.js → view-virtual-device-wizard-Cj15InLP.js} +1 -1
  77. package/dist/assets/{weather-Dkj5so01.js → weather-BtkH0RDV.js} +1 -1
  78. package/dist/index.html +28 -28
  79. package/package.json +1 -1
  80. package/dist/assets/components-CExMo9as.js +0 -1
  81. package/dist/assets/composables-CsFD_4mm.js +0 -1
  82. package/dist/assets/devices-3HwG1Cda.js +0 -2
  83. package/dist/assets/devices.constants-HX5whDWr.js +0 -1
  84. package/dist/assets/index-hWiJEHfB.css +0 -1
@@ -1 +1 @@
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,Sr as ee,T as te,Wr as d,Yr as f,_i as p,b as m,ci as h,ii as g,ji as _,kr as v,ni as y,qi as b,ui as x,x as ne,xr as S}from"./icon-with-child-CgZMNB3F.js";import{t as C}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as w,Er as T,Or as E,Tr as D,g as re,h as ie,vr as ae,yr as O}from"./common-D4Z2wgrj.js";import{t as k}from"./drawer-Dnlv6Zc7.js";import{_ as A,s as j,v as M}from"./components-DGTDixMX.js";import{i as N}from"./system.constants-BvSIFqdm.js";import{n as P}from"./system.exceptions-BOq4IhGI.js";var F={key:1,class:`grow-1 flex flex-col lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden`},I={class:`flex flex-col h-full`},L=c({name:`ViewSystemLogs`,__name:`view-system-logs`,props:{id:{}},setup(c){let L=c,R=m(),z=ne(),{t:B}=te(),{isMDDevice:V,isLGDevice:H}=O(),{fetchSystemLogs:U,loadMoreSystemLogs:oe,systemLogs:W,hasMore:G,filters:K,live:q,filtersActive:J,areLoading:Y,resetFilter:se,refreshSystemLogs:ce}=j(),le=u(!1),X=u(!1),Z=u(!1),ue=r(()=>R.name===N.SYSTEM_LOGS),de=r(()=>[{label:B(`systemModule.breadcrumbs.system.system`),route:z.resolve({name:N.SYSTEM})},{label:B(`systemModule.breadcrumbs.systemLogs.list`),route:z.resolve({name:N.SYSTEM_LOGS})}]),Q=e=>{Z.value?(X.value=!1,Z.value=!1,e?.()):(H.value?z.replace({name:N.SYSTEM_LOGS}):z.push({name:N.SYSTEM_LOGS}),e?.())},fe=e=>{H.value?z.replace({name:N.SYSTEM_LOG_DETAIL,params:{id:e}}):z.push({name:N.SYSTEM_LOG_DETAIL,params:{id:e}})},$=()=>{se()},pe=()=>{oe().catch(e=>{throw new P(`Something went wrong`,e)})},me=()=>{ce().catch(e=>{throw new P(`Something went wrong`,e)})},he=()=>{},ge=()=>{X.value=!0,Z.value=!0};return d(()=>{U().catch(e=>{throw new P(`Something went wrong`,e)}),X.value=R.matched.find(e=>e.name===N.SYSTEM_LOG_DETAIL)!==void 0}),f(()=>{le.value=!0}),h(()=>Y.value,e=>{if(!e&&W.value===null)throw new P(`Something went wrong`)}),h(()=>R.path,()=>{X.value=R.matched.find(e=>e.name===N.SYSTEM_LOG_DETAIL)!==void 0}),C({title:B(`systemModule.meta.systemLogs.list.title`)}),(r,c)=>{let u=y(`router-view`);return l(),e(S,null,[o(_(ae),{items:de.value},null,8,[`items`]),_(V)?v(``,!0):(l(),s(_(D),{key:0,teleport:``},{icon:x(()=>[o(_(t),{icon:`mdi:hammer`,class:`w[20px] h[20px]`})]),title:x(()=>[a(b(_(B)(`systemModule.headings.systemLogs.list`)),1)]),subtitle:x(()=>[a(b(_(B)(`systemModule.subHeadings.systemLogs.list`)),1)]),_:1})),o(_(ie),{heading:_(B)(`systemModule.headings.systemLogs.list`),"sub-heading":_(B)(`systemModule.subHeadings.systemLogs.list`),icon:`mdi:console`},null,8,[`heading`,`sub-heading`]),ue.value||_(H)?(l(),e(`div`,F,[o(_(M),{filters:_(K),"onUpdate:filters":c[0]||=e=>p(K)?K.value=e:null,live:_(q),"onUpdate:live":c[1]||=e=>p(q)?q.value=e:null,items:_(W),loading:_(Y),"filters-active":_(J),"has-more":_(G),onDetail:fe,onAdjustList:ge,onResetFilters:$,onLoadMore:pe,onRefresh:me,onClear:he},null,8,[`filters`,`live`,`items`,`loading`,`filters-active`,`has-more`])])):(l(),s(u,{key:L.id},{default:x(({Component:e})=>[(l(),s(g(e)))]),_:1})),_(H)?(l(),s(_(k),{key:3,modelValue:X.value,"onUpdate:modelValue":c[4]||=e=>X.value=e,"show-close":!1,size:Z.value?`300px`:`40%`,"with-header":!1,"before-close":Q},{default:x(()=>[n(`div`,I,[o(_(E),{"menu-button-hidden":``},{"button-right":x(()=>[o(_(T),{align:_(w).RIGHT,class:`mr-2`,onClick:c[2]||=()=>Q()},{icon:x(()=>[o(_(i),null,{default:x(()=>[o(_(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),X.value?(l(),e(S,{key:0},[Z.value?(l(),s(_(A),{key:0,filters:_(K),"onUpdate:filters":c[3]||=e=>p(K)?K.value=e:null,"filters-active":_(J),onResetFilters:$},null,8,[`filters`,`filters-active`])):(l(),s(_(re),{key:1},{icon:x(()=>[o(_(t),{icon:`mdi:console`})]),message:x(()=>[a(b(_(B)(`systemModule.messages.misc.requestError`)),1)]),default:x(()=>[(l(),s(ee,null,{default:x(()=>[(l(),s(u,{key:L.id},{default:x(({Component:e})=>[(l(),s(g(e)))]),_:1}))]),_:1}))]),_:1}))],64)):v(``,!0)])]),_:1},8,[`modelValue`,`size`])):v(``,!0)],64)}}});export{L as default};
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,Sr as ee,T as te,Wr as d,Yr as f,_i as p,b as m,ci as h,ii as g,ji as _,kr as v,ni as y,qi as b,ui as x,x as ne,xr as S}from"./icon-with-child-CgZMNB3F.js";import{t as C}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as w,Er as T,Or as E,Tr as D,g as re,h as ie,vr as ae,yr as O}from"./common-D4Z2wgrj.js";import{t as k}from"./drawer-Dnlv6Zc7.js";import{_ as A,s as j,v as M}from"./components-B6ONxCJg.js";import{i as N}from"./system.constants-BvSIFqdm.js";import{n as P}from"./system.exceptions-BOq4IhGI.js";var F={key:1,class:`grow-1 flex flex-col lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden`},I={class:`flex flex-col h-full`},L=c({name:`ViewSystemLogs`,__name:`view-system-logs`,props:{id:{}},setup(c){let L=c,R=m(),z=ne(),{t:B}=te(),{isMDDevice:V,isLGDevice:H}=O(),{fetchSystemLogs:U,loadMoreSystemLogs:oe,systemLogs:W,hasMore:G,filters:K,live:q,filtersActive:J,areLoading:Y,resetFilter:se,refreshSystemLogs:ce}=j(),le=u(!1),X=u(!1),Z=u(!1),ue=r(()=>R.name===N.SYSTEM_LOGS),de=r(()=>[{label:B(`systemModule.breadcrumbs.system.system`),route:z.resolve({name:N.SYSTEM})},{label:B(`systemModule.breadcrumbs.systemLogs.list`),route:z.resolve({name:N.SYSTEM_LOGS})}]),Q=e=>{Z.value?(X.value=!1,Z.value=!1,e?.()):(H.value?z.replace({name:N.SYSTEM_LOGS}):z.push({name:N.SYSTEM_LOGS}),e?.())},fe=e=>{H.value?z.replace({name:N.SYSTEM_LOG_DETAIL,params:{id:e}}):z.push({name:N.SYSTEM_LOG_DETAIL,params:{id:e}})},$=()=>{se()},pe=()=>{oe().catch(e=>{throw new P(`Something went wrong`,e)})},me=()=>{ce().catch(e=>{throw new P(`Something went wrong`,e)})},he=()=>{},ge=()=>{X.value=!0,Z.value=!0};return d(()=>{U().catch(e=>{throw new P(`Something went wrong`,e)}),X.value=R.matched.find(e=>e.name===N.SYSTEM_LOG_DETAIL)!==void 0}),f(()=>{le.value=!0}),h(()=>Y.value,e=>{if(!e&&W.value===null)throw new P(`Something went wrong`)}),h(()=>R.path,()=>{X.value=R.matched.find(e=>e.name===N.SYSTEM_LOG_DETAIL)!==void 0}),C({title:B(`systemModule.meta.systemLogs.list.title`)}),(r,c)=>{let u=y(`router-view`);return l(),e(S,null,[o(_(ae),{items:de.value},null,8,[`items`]),_(V)?v(``,!0):(l(),s(_(D),{key:0,teleport:``},{icon:x(()=>[o(_(t),{icon:`mdi:hammer`,class:`w[20px] h[20px]`})]),title:x(()=>[a(b(_(B)(`systemModule.headings.systemLogs.list`)),1)]),subtitle:x(()=>[a(b(_(B)(`systemModule.subHeadings.systemLogs.list`)),1)]),_:1})),o(_(ie),{heading:_(B)(`systemModule.headings.systemLogs.list`),"sub-heading":_(B)(`systemModule.subHeadings.systemLogs.list`),icon:`mdi:console`},null,8,[`heading`,`sub-heading`]),ue.value||_(H)?(l(),e(`div`,F,[o(_(M),{filters:_(K),"onUpdate:filters":c[0]||=e=>p(K)?K.value=e:null,live:_(q),"onUpdate:live":c[1]||=e=>p(q)?q.value=e:null,items:_(W),loading:_(Y),"filters-active":_(J),"has-more":_(G),onDetail:fe,onAdjustList:ge,onResetFilters:$,onLoadMore:pe,onRefresh:me,onClear:he},null,8,[`filters`,`live`,`items`,`loading`,`filters-active`,`has-more`])])):(l(),s(u,{key:L.id},{default:x(({Component:e})=>[(l(),s(g(e)))]),_:1})),_(H)?(l(),s(_(k),{key:3,modelValue:X.value,"onUpdate:modelValue":c[4]||=e=>X.value=e,"show-close":!1,size:Z.value?`300px`:`40%`,"with-header":!1,"before-close":Q},{default:x(()=>[n(`div`,I,[o(_(E),{"menu-button-hidden":``},{"button-right":x(()=>[o(_(T),{align:_(w).RIGHT,class:`mr-2`,onClick:c[2]||=()=>Q()},{icon:x(()=>[o(_(i),null,{default:x(()=>[o(_(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),X.value?(l(),e(S,{key:0},[Z.value?(l(),s(_(A),{key:0,filters:_(K),"onUpdate:filters":c[3]||=e=>p(K)?K.value=e:null,"filters-active":_(J),onResetFilters:$},null,8,[`filters`,`filters-active`])):(l(),s(_(re),{key:1},{icon:x(()=>[o(_(t),{icon:`mdi:console`})]),message:x(()=>[a(b(_(B)(`systemModule.messages.misc.requestError`)),1)]),default:x(()=>[(l(),s(ee,null,{default:x(()=>[(l(),s(u,{key:L.id},{default:x(({Component:e})=>[(l(),s(g(e)))]),_:1}))]),_:1}))]),_:1}))],64)):v(``,!0)])]),_:1},8,[`modelValue`,`size`])):v(``,!0)],64)}}});export{L as default};
@@ -1 +1 @@
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,b as d,ci as f,ii as p,ji as m,jr as te,k as h,kr as g,qi as _,ui as v,x as ne,xr as y}from"./icon-with-child-CgZMNB3F.js";import{t as re}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as b,Er as x,Qr as S,Rr as C,Tr as w,jr as T,vr as E,yr as ie}from"./common-D4Z2wgrj.js";import{t as ae}from"./alert-I-oSc4A8.js";import{t as oe}from"./useUuid-D7PWqngt.js";import{d as D,f as O}from"./keys-DgS2vm-E.js";import"./dashboard-DtLQGoww.js";import{c as se}from"./composables-DLFP4TLA.js";import{i as ce}from"./useDataSources-XOQc7nLH.js";import{n as le,t as ue}from"./components-Zbysysf4.js";import{r as k}from"./pages-tiles.constants-BzKCg6RC.js";var A={class:`uppercase`},j={class:`flex flex-col overflow-hidden h-full`},M={key:0,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},N={class:`p-2`},P=c({name:`ViewPageTileAdd`,__name:`view-tile-add`,props:{pageId:{},page:{},remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(c,{emit:P}){let F=c,I=P,L=d(),R=ne(),{t:z}=ee();re({title:z(`pagesTilesPlugin.meta.pages.addTile.title`)});let{generate:B}=oe(),{isMDDevice:V,isLGDevice:H}=ie(),{plugins:de}=ce(),U=B(),W=u(!1),G=u(D.NONE),K=u(!1),q=u(!1),J=u(L.query.tileType||void 0);f(()=>L.query.tileType||void 0,e=>{J.value=e});let fe=r(()=>de.value.find(e=>(e.elements??[]).some(e=>e.type===J.value))),Y=r(()=>(fe.value?.elements??[]).find(e=>e.type===J.value)),X=r(()=>Y.value?.schemas?.tileAddFormSchema??se),pe=r(()=>{let e=[];return e.push({label:z(`dashboardModule.breadcrumbs.pages.list`),route:R.resolve({name:O.PAGES})}),e.push({label:z(`dashboardModule.breadcrumbs.pages.detail`,{page:F.page?.title}),route:R.resolve({name:O.PAGE,params:{id:F.page?.id}})}),e.push({label:z(`pagesTilesPlugin.breadcrumbs.pages.configure`,{page:F.page?.title}),route:R.resolve({name:k.PAGE,params:{id:F.page?.id}})}),e.push({label:z(`pagesTilesPlugin.breadcrumbs.pages.addTile`,{page:F.page?.title}),route:R.resolve({name:k.PAGE_ADD_TILE,params:{id:F.page?.id}})}),e}),Z=()=>{T.confirm(z(`pagesTilesPlugin.texts.misc.confirmDiscard`),z(`pagesTilesPlugin.headings.misc.discard`),{confirmButtonText:z(`pagesTilesPlugin.buttons.yes.title`),cancelButtonText:z(`pagesTilesPlugin.buttons.no.title`),type:`warning`}).then(()=>{H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}})}).catch(()=>{})},Q=()=>{W.value=!0},$=()=>{H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}})};return f(()=>G.value,e=>{e===D.OK&&(H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}}))}),f(()=>q.value,e=>{I(`update:remote-form-changed`,e)}),(r,c)=>(l(),e(y,null,[o(m(w),{teleport:``},{icon:v(()=>[o(m(t),{icon:`mdi:widget-tree`,class:`w[20px] h[20px]`})]),title:v(()=>[a(_(m(z)(`pagesTilesPlugin.headings.pages.addTile`)),1)]),subtitle:v(()=>[a(_(m(z)(`pagesTilesPlugin.subHeadings.pages.addTile`)),1)]),_:1}),m(V)?g(``,!0):(l(),s(m(x),{key:0,align:m(b).LEFT,teleport:``,small:``,onClick:c[0]||=()=>q.value?Z():$()},{icon:v(()=>[o(m(i),{size:24},{default:v(()=>[o(m(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),m(V)?g(``,!0):(l(),s(m(x),{key:1,align:m(b).RIGHT,teleport:``,small:``,onClick:Q},{default:v(()=>[n(`span`,A,_(m(z)(`pagesTilesPlugin.buttons.add.title`)),1)]),_:1},8,[`align`])),o(m(E),{items:pe.value},null,8,[`items`]),n(`div`,j,[o(m(S),{class:`grow-1 p-2 md:px-4`},{default:v(()=>[o(m(ue),{modelValue:J.value,"onUpdate:modelValue":c[1]||=e=>J.value=e},null,8,[`modelValue`]),o(m(C)),J.value?(l(),e(y,{key:0},[Y.value?.components?.tileAddForm===void 0?(l(),s(m(le),{key:1,id:m(U),"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[6]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[7]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[8]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[9]||=e=>q.value=e,type:J.value,parent:`page`,"parent-id":F.page.id,schema:X.value,"only-draft":``,"with-position":!1,"with-size":!1},null,8,[`id`,`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`type`,`parent-id`,`schema`])):(l(),s(p(Y.value?.components?.tileAddForm),{key:0,id:m(U),"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[2]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[3]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[4]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[5]||=e=>q.value=e,type:J.value,parent:`page`,"parent-id":F.page.id,schema:X.value,"only-draft":``,"with-position":!1,"with-size":!1},null,40,[`id`,`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`type`,`parent-id`,`schema`]))],64)):(l(),s(m(ae),{key:1,title:m(z)(`dashboardModule.headings.tiles.selectPlugin`),description:m(z)(`dashboardModule.texts.tiles.selectPlugin`),closable:!1,"show-icon":``,type:`info`},null,8,[`title`,`description`]))]),_:1}),m(V)?(l(),e(`div`,M,[n(`div`,N,[q.value?(l(),s(m(h),{key:0,link:``,class:`mr-2`,onClick:Z},{default:v(()=>[a(_(m(z)(`pagesTilesPlugin.buttons.discard.title`)),1)]),_:1})):g(``,!0),q.value?g(``,!0):(l(),s(m(h),{key:1,link:``,class:`mr-2`,onClick:$},{default:v(()=>[a(_(m(z)(`pagesTilesPlugin.buttons.close.title`)),1)]),_:1})),o(m(h),{loading:G.value===m(D).WORKING,disabled:G.value!==m(D).NONE,type:`primary`,class:`order-2`,onClick:Q},te({default:v(()=>[a(` `+_(m(z)(`pagesTilesPlugin.buttons.add.title`)),1)]),_:2},[G.value===m(D).OK||G.value===m(D).ERROR?{name:`icon`,fn:v(()=>[G.value===m(D).OK?(l(),s(m(t),{key:0,icon:`mdi:check-circle`})):G.value===m(D).ERROR?(l(),s(m(t),{key:1,icon:`mdi:cross-circle`})):g(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):g(``,!0)])],64))}});export{P as default};
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,b as d,ci as f,ii as p,ji as m,jr as te,k as h,kr as g,qi as _,ui as v,x as ne,xr as y}from"./icon-with-child-CgZMNB3F.js";import{t as re}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as b,Er as x,Qr as S,Rr as C,Tr as w,jr as T,vr as E,yr as ie}from"./common-D4Z2wgrj.js";import{t as ae}from"./alert-I-oSc4A8.js";import{t as oe}from"./useUuid-D7PWqngt.js";import{d as D,f as O}from"./keys-DgS2vm-E.js";import"./dashboard-YUP0xrqH.js";import{c as se}from"./composables-DLFP4TLA.js";import{i as ce}from"./useDataSources-XOQc7nLH.js";import{n as le,t as ue}from"./components-EQDhXTcZ.js";import{r as k}from"./pages-tiles.constants-BzKCg6RC.js";var A={class:`uppercase`},j={class:`flex flex-col overflow-hidden h-full`},M={key:0,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},N={class:`p-2`},P=c({name:`ViewPageTileAdd`,__name:`view-tile-add`,props:{pageId:{},page:{},remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(c,{emit:P}){let F=c,I=P,L=d(),R=ne(),{t:z}=ee();re({title:z(`pagesTilesPlugin.meta.pages.addTile.title`)});let{generate:B}=oe(),{isMDDevice:V,isLGDevice:H}=ie(),{plugins:de}=ce(),U=B(),W=u(!1),G=u(D.NONE),K=u(!1),q=u(!1),J=u(L.query.tileType||void 0);f(()=>L.query.tileType||void 0,e=>{J.value=e});let fe=r(()=>de.value.find(e=>(e.elements??[]).some(e=>e.type===J.value))),Y=r(()=>(fe.value?.elements??[]).find(e=>e.type===J.value)),X=r(()=>Y.value?.schemas?.tileAddFormSchema??se),pe=r(()=>{let e=[];return e.push({label:z(`dashboardModule.breadcrumbs.pages.list`),route:R.resolve({name:O.PAGES})}),e.push({label:z(`dashboardModule.breadcrumbs.pages.detail`,{page:F.page?.title}),route:R.resolve({name:O.PAGE,params:{id:F.page?.id}})}),e.push({label:z(`pagesTilesPlugin.breadcrumbs.pages.configure`,{page:F.page?.title}),route:R.resolve({name:k.PAGE,params:{id:F.page?.id}})}),e.push({label:z(`pagesTilesPlugin.breadcrumbs.pages.addTile`,{page:F.page?.title}),route:R.resolve({name:k.PAGE_ADD_TILE,params:{id:F.page?.id}})}),e}),Z=()=>{T.confirm(z(`pagesTilesPlugin.texts.misc.confirmDiscard`),z(`pagesTilesPlugin.headings.misc.discard`),{confirmButtonText:z(`pagesTilesPlugin.buttons.yes.title`),cancelButtonText:z(`pagesTilesPlugin.buttons.no.title`),type:`warning`}).then(()=>{H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}})}).catch(()=>{})},Q=()=>{W.value=!0},$=()=>{H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}})};return f(()=>G.value,e=>{e===D.OK&&(H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}}))}),f(()=>q.value,e=>{I(`update:remote-form-changed`,e)}),(r,c)=>(l(),e(y,null,[o(m(w),{teleport:``},{icon:v(()=>[o(m(t),{icon:`mdi:widget-tree`,class:`w[20px] h[20px]`})]),title:v(()=>[a(_(m(z)(`pagesTilesPlugin.headings.pages.addTile`)),1)]),subtitle:v(()=>[a(_(m(z)(`pagesTilesPlugin.subHeadings.pages.addTile`)),1)]),_:1}),m(V)?g(``,!0):(l(),s(m(x),{key:0,align:m(b).LEFT,teleport:``,small:``,onClick:c[0]||=()=>q.value?Z():$()},{icon:v(()=>[o(m(i),{size:24},{default:v(()=>[o(m(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),m(V)?g(``,!0):(l(),s(m(x),{key:1,align:m(b).RIGHT,teleport:``,small:``,onClick:Q},{default:v(()=>[n(`span`,A,_(m(z)(`pagesTilesPlugin.buttons.add.title`)),1)]),_:1},8,[`align`])),o(m(E),{items:pe.value},null,8,[`items`]),n(`div`,j,[o(m(S),{class:`grow-1 p-2 md:px-4`},{default:v(()=>[o(m(ue),{modelValue:J.value,"onUpdate:modelValue":c[1]||=e=>J.value=e},null,8,[`modelValue`]),o(m(C)),J.value?(l(),e(y,{key:0},[Y.value?.components?.tileAddForm===void 0?(l(),s(m(le),{key:1,id:m(U),"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[6]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[7]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[8]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[9]||=e=>q.value=e,type:J.value,parent:`page`,"parent-id":F.page.id,schema:X.value,"only-draft":``,"with-position":!1,"with-size":!1},null,8,[`id`,`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`type`,`parent-id`,`schema`])):(l(),s(p(Y.value?.components?.tileAddForm),{key:0,id:m(U),"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[2]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[3]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[4]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[5]||=e=>q.value=e,type:J.value,parent:`page`,"parent-id":F.page.id,schema:X.value,"only-draft":``,"with-position":!1,"with-size":!1},null,40,[`id`,`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`type`,`parent-id`,`schema`]))],64)):(l(),s(m(ae),{key:1,title:m(z)(`dashboardModule.headings.tiles.selectPlugin`),description:m(z)(`dashboardModule.texts.tiles.selectPlugin`),closable:!1,"show-icon":``,type:`info`},null,8,[`title`,`description`]))]),_:1}),m(V)?(l(),e(`div`,M,[n(`div`,N,[q.value?(l(),s(m(h),{key:0,link:``,class:`mr-2`,onClick:Z},{default:v(()=>[a(_(m(z)(`pagesTilesPlugin.buttons.discard.title`)),1)]),_:1})):g(``,!0),q.value?g(``,!0):(l(),s(m(h),{key:1,link:``,class:`mr-2`,onClick:$},{default:v(()=>[a(_(m(z)(`pagesTilesPlugin.buttons.close.title`)),1)]),_:1})),o(m(h),{loading:G.value===m(D).WORKING,disabled:G.value!==m(D).NONE,type:`primary`,class:`order-2`,onClick:Q},te({default:v(()=>[a(` `+_(m(z)(`pagesTilesPlugin.buttons.add.title`)),1)]),_:2},[G.value===m(D).OK||G.value===m(D).ERROR?{name:`icon`,fn:v(()=>[G.value===m(D).OK?(l(),s(m(t),{key:0,icon:`mdi:check-circle`})):G.value===m(D).ERROR?(l(),s(m(t),{key:1,icon:`mdi:cross-circle`})):g(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):g(``,!0)])],64))}});export{P as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as ee,Mr as i,Nr as a,Or as o,Pr as s,Qr as c,Si as l,T as te,Yr as ne,b as re,ci as u,ii as d,ji as f,jr as p,k as m,kr as h,qi as g,ui as _,x as ie,xr as v}from"./icon-with-child-CgZMNB3F.js";import{t as y}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as b,Er as x,Qr as ae,Rr as oe,Tr as S,jr as C,vr as w,yr as T}from"./common-D4Z2wgrj.js";import{t as E}from"./alert-I-oSc4A8.js";import{t as se}from"./useUuid-D7PWqngt.js";import{d as D,f as O}from"./keys-DgS2vm-E.js";import"./dashboard-DtLQGoww.js";import{c as ce}from"./composables-DLFP4TLA.js";import{i as le}from"./useDataSources-XOQc7nLH.js";import{n as ue,t as de}from"./components-Zbysysf4.js";import{o as k}from"./pages-cards.contants-DcS0YOKq.js";var A={class:`uppercase`},j={class:`flex flex-col overflow-hidden h-full`},M={key:0,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},N={class:`p-2`},P=s({name:`ViewCardTileAdd`,__name:`view-tile-add`,props:{pageId:{},page:{},cardId:{},remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(s,{emit:P}){let F=s,I=P,L=re(),R=ie(),{t:z}=te();y({title:z(`pagesCardsPlugin.meta.pages.addTile.title`)});let{generate:B}=se(),{isMDDevice:V,isLGDevice:H}=T(),{plugins:fe}=le(),U=B(),W=l(!1),G=l(D.NONE),K=l(!1),q=l(!1),J=l(L.query.tileType||void 0);u(()=>L.query.tileType||void 0,e=>{J.value=e});let pe=r(()=>fe.value.find(e=>(e.elements??[]).some(e=>e.type===J.value))),Y=r(()=>(pe.value?.elements??[]).find(e=>e.type===J.value)),X=r(()=>Y.value?.schemas?.tileAddFormSchema??ce),me=r(()=>{let e=[];return e.push({label:z(`dashboardModule.breadcrumbs.pages.list`),route:R.resolve({name:O.PAGES})}),e.push({label:z(`dashboardModule.breadcrumbs.pages.detail`,{page:F.page?.title}),route:R.resolve({name:O.PAGE,params:{id:F.page?.id}})}),e.push({label:z(`pagesCardsPlugin.breadcrumbs.pages.configure`,{page:F.page?.title}),route:R.resolve({name:k.PAGE,params:{id:F.page?.id}})}),e.push({label:z(`pagesCardsPlugin.breadcrumbs.pages.addTile`,{page:F.page?.title}),route:R.resolve({name:k.PAGE_CARD_ADD_TILE,params:{id:F.page?.id,cardId:F.cardId}})}),e});ne(()=>{I(`update:remote-form-changed`,q.value)});let Z=()=>{C.confirm(z(`pagesCardsPlugin.texts.misc.confirmDiscard`),z(`pagesCardsPlugin.headings.misc.discard`),{confirmButtonText:z(`pagesCardsPlugin.buttons.yes.title`),cancelButtonText:z(`pagesCardsPlugin.buttons.no.title`),type:`warning`}).then(()=>{H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}})}).catch(()=>{})},Q=()=>{W.value=!0},$=()=>{H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}})};return u(()=>G.value,e=>{e===D.OK&&(H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}}))}),u(()=>q.value,e=>{I(`update:remote-form-changed`,e)}),(r,s)=>(c(),e(v,null,[a(f(S),{teleport:``},{icon:_(()=>[a(f(t),{icon:`mdi:widget-tree`,class:`w[20px] h[20px]`})]),title:_(()=>[i(g(f(z)(`pagesCardsPlugin.headings.pages.addTile`)),1)]),subtitle:_(()=>[i(g(f(z)(`pagesCardsPlugin.subHeadings.pages.addTile`)),1)]),_:1}),f(V)?h(``,!0):(c(),o(f(x),{key:0,align:f(b).LEFT,teleport:``,small:``,onClick:s[0]||=()=>q.value?Z():$()},{icon:_(()=>[a(f(ee),{size:24},{default:_(()=>[a(f(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),f(V)?h(``,!0):(c(),o(f(x),{key:1,align:f(b).RIGHT,teleport:``,small:``,onClick:Q},{default:_(()=>[n(`span`,A,g(f(z)(`pagesCardsPlugin.buttons.add.title`)),1)]),_:1},8,[`align`])),a(f(w),{items:me.value},null,8,[`items`]),n(`div`,j,[a(f(ae),{class:`grow-1 p-2 md:px-4`},{default:_(()=>[a(f(de),{modelValue:J.value,"onUpdate:modelValue":s[1]||=e=>J.value=e},null,8,[`modelValue`]),a(f(oe)),J.value?(c(),e(v,{key:0},[Y.value?.components?.tileAddForm===void 0?(c(),o(f(ue),{key:1,id:f(U),"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":s[6]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":s[7]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":s[8]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":s[9]||=e=>q.value=e,type:J.value,parent:`card`,"parent-id":F.cardId,schema:X.value,"only-draft":``,"with-position":!1,"with-size":!1},null,8,[`id`,`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`type`,`parent-id`,`schema`])):(c(),o(d(Y.value?.components?.tileAddForm),{key:0,id:f(U),"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":s[2]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":s[3]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":s[4]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":s[5]||=e=>q.value=e,type:J.value,parent:`card`,"parent-id":F.cardId,schema:X.value,"only-draft":``,"with-position":!1,"with-size":!1},null,40,[`id`,`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`type`,`parent-id`,`schema`]))],64)):(c(),o(f(E),{key:1,title:f(z)(`dashboardModule.headings.tiles.selectPlugin`),description:f(z)(`dashboardModule.texts.tiles.selectPlugin`),closable:!1,"show-icon":``,type:`info`},null,8,[`title`,`description`]))]),_:1}),f(V)?(c(),e(`div`,M,[n(`div`,N,[q.value?(c(),o(f(m),{key:0,link:``,class:`mr-2`,onClick:Z},{default:_(()=>[i(g(f(z)(`pagesCardsPlugin.buttons.discard.title`)),1)]),_:1})):h(``,!0),q.value?h(``,!0):(c(),o(f(m),{key:1,link:``,class:`mr-2`,onClick:$},{default:_(()=>[i(g(f(z)(`pagesCardsPlugin.buttons.close.title`)),1)]),_:1})),a(f(m),{loading:G.value===f(D).WORKING,disabled:G.value!==f(D).NONE,type:`primary`,class:`order-2`,onClick:Q},p({default:_(()=>[i(` `+g(f(z)(`pagesCardsPlugin.buttons.add.title`)),1)]),_:2},[G.value===f(D).OK||G.value===f(D).ERROR?{name:`icon`,fn:_(()=>[G.value===f(D).OK?(c(),o(f(t),{key:0,icon:`mdi:check-circle`})):G.value===f(D).ERROR?(c(),o(f(t),{key:1,icon:`mdi:cross-circle`})):h(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):h(``,!0)])],64))}});export{P as default};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as ee,Mr as i,Nr as a,Or as o,Pr as s,Qr as c,Si as l,T as te,Yr as ne,b as re,ci as u,ii as d,ji as f,jr as p,k as m,kr as h,qi as g,ui as _,x as ie,xr as v}from"./icon-with-child-CgZMNB3F.js";import{t as y}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as b,Er as x,Qr as ae,Rr as oe,Tr as S,jr as C,vr as w,yr as T}from"./common-D4Z2wgrj.js";import{t as E}from"./alert-I-oSc4A8.js";import{t as se}from"./useUuid-D7PWqngt.js";import{d as D,f as O}from"./keys-DgS2vm-E.js";import"./dashboard-YUP0xrqH.js";import{c as ce}from"./composables-DLFP4TLA.js";import{i as le}from"./useDataSources-XOQc7nLH.js";import{n as ue,t as de}from"./components-EQDhXTcZ.js";import{o as k}from"./pages-cards.contants-DcS0YOKq.js";var A={class:`uppercase`},j={class:`flex flex-col overflow-hidden h-full`},M={key:0,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},N={class:`p-2`},P=s({name:`ViewCardTileAdd`,__name:`view-tile-add`,props:{pageId:{},page:{},cardId:{},remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(s,{emit:P}){let F=s,I=P,L=re(),R=ie(),{t:z}=te();y({title:z(`pagesCardsPlugin.meta.pages.addTile.title`)});let{generate:B}=se(),{isMDDevice:V,isLGDevice:H}=T(),{plugins:fe}=le(),U=B(),W=l(!1),G=l(D.NONE),K=l(!1),q=l(!1),J=l(L.query.tileType||void 0);u(()=>L.query.tileType||void 0,e=>{J.value=e});let pe=r(()=>fe.value.find(e=>(e.elements??[]).some(e=>e.type===J.value))),Y=r(()=>(pe.value?.elements??[]).find(e=>e.type===J.value)),X=r(()=>Y.value?.schemas?.tileAddFormSchema??ce),me=r(()=>{let e=[];return e.push({label:z(`dashboardModule.breadcrumbs.pages.list`),route:R.resolve({name:O.PAGES})}),e.push({label:z(`dashboardModule.breadcrumbs.pages.detail`,{page:F.page?.title}),route:R.resolve({name:O.PAGE,params:{id:F.page?.id}})}),e.push({label:z(`pagesCardsPlugin.breadcrumbs.pages.configure`,{page:F.page?.title}),route:R.resolve({name:k.PAGE,params:{id:F.page?.id}})}),e.push({label:z(`pagesCardsPlugin.breadcrumbs.pages.addTile`,{page:F.page?.title}),route:R.resolve({name:k.PAGE_CARD_ADD_TILE,params:{id:F.page?.id,cardId:F.cardId}})}),e});ne(()=>{I(`update:remote-form-changed`,q.value)});let Z=()=>{C.confirm(z(`pagesCardsPlugin.texts.misc.confirmDiscard`),z(`pagesCardsPlugin.headings.misc.discard`),{confirmButtonText:z(`pagesCardsPlugin.buttons.yes.title`),cancelButtonText:z(`pagesCardsPlugin.buttons.no.title`),type:`warning`}).then(()=>{H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}})}).catch(()=>{})},Q=()=>{W.value=!0},$=()=>{H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}})};return u(()=>G.value,e=>{e===D.OK&&(H.value?R.replace({name:k.PAGE,params:{id:F.page?.id}}):R.push({name:k.PAGE,params:{id:F.page?.id}}))}),u(()=>q.value,e=>{I(`update:remote-form-changed`,e)}),(r,s)=>(c(),e(v,null,[a(f(S),{teleport:``},{icon:_(()=>[a(f(t),{icon:`mdi:widget-tree`,class:`w[20px] h[20px]`})]),title:_(()=>[i(g(f(z)(`pagesCardsPlugin.headings.pages.addTile`)),1)]),subtitle:_(()=>[i(g(f(z)(`pagesCardsPlugin.subHeadings.pages.addTile`)),1)]),_:1}),f(V)?h(``,!0):(c(),o(f(x),{key:0,align:f(b).LEFT,teleport:``,small:``,onClick:s[0]||=()=>q.value?Z():$()},{icon:_(()=>[a(f(ee),{size:24},{default:_(()=>[a(f(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),f(V)?h(``,!0):(c(),o(f(x),{key:1,align:f(b).RIGHT,teleport:``,small:``,onClick:Q},{default:_(()=>[n(`span`,A,g(f(z)(`pagesCardsPlugin.buttons.add.title`)),1)]),_:1},8,[`align`])),a(f(w),{items:me.value},null,8,[`items`]),n(`div`,j,[a(f(ae),{class:`grow-1 p-2 md:px-4`},{default:_(()=>[a(f(de),{modelValue:J.value,"onUpdate:modelValue":s[1]||=e=>J.value=e},null,8,[`modelValue`]),a(f(oe)),J.value?(c(),e(v,{key:0},[Y.value?.components?.tileAddForm===void 0?(c(),o(f(ue),{key:1,id:f(U),"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":s[6]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":s[7]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":s[8]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":s[9]||=e=>q.value=e,type:J.value,parent:`card`,"parent-id":F.cardId,schema:X.value,"only-draft":``,"with-position":!1,"with-size":!1},null,8,[`id`,`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`type`,`parent-id`,`schema`])):(c(),o(d(Y.value?.components?.tileAddForm),{key:0,id:f(U),"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":s[2]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":s[3]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":s[4]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":s[5]||=e=>q.value=e,type:J.value,parent:`card`,"parent-id":F.cardId,schema:X.value,"only-draft":``,"with-position":!1,"with-size":!1},null,40,[`id`,`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`type`,`parent-id`,`schema`]))],64)):(c(),o(f(E),{key:1,title:f(z)(`dashboardModule.headings.tiles.selectPlugin`),description:f(z)(`dashboardModule.texts.tiles.selectPlugin`),closable:!1,"show-icon":``,type:`info`},null,8,[`title`,`description`]))]),_:1}),f(V)?(c(),e(`div`,M,[n(`div`,N,[q.value?(c(),o(f(m),{key:0,link:``,class:`mr-2`,onClick:Z},{default:_(()=>[i(g(f(z)(`pagesCardsPlugin.buttons.discard.title`)),1)]),_:1})):h(``,!0),q.value?h(``,!0):(c(),o(f(m),{key:1,link:``,class:`mr-2`,onClick:$},{default:_(()=>[i(g(f(z)(`pagesCardsPlugin.buttons.close.title`)),1)]),_:1})),a(f(m),{loading:G.value===f(D).WORKING,disabled:G.value!==f(D).NONE,type:`primary`,class:`order-2`,onClick:Q},p({default:_(()=>[i(` `+g(f(z)(`pagesCardsPlugin.buttons.add.title`)),1)]),_:2},[G.value===f(D).OK||G.value===f(D).ERROR?{name:`icon`,fn:_(()=>[G.value===f(D).OK?(c(),o(f(t),{key:0,icon:`mdi:check-circle`})):G.value===f(D).ERROR?(c(),o(f(t),{key:1,icon:`mdi:cross-circle`})):h(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):h(``,!0)])],64))}});export{P as default};
@@ -1 +1 @@
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 te,Yr as ne,ci as d,di as f,ii as p,ji as m,jr as re,k as h,kr as g,qi as _,ui as v,x as y,xr as b}from"./icon-with-child-CgZMNB3F.js";import{t as x}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as S,Er as C,Qr as ie,Tr as ae,jr as oe,p as se,vr as ce,yr as le}from"./common-D4Z2wgrj.js";import{t as ue}from"./directive-D42ORGRu.js";import{t as de}from"./useUuid-D7PWqngt.js";import{a as w,d as T,f as E,i as fe}from"./keys-DgS2vm-E.js";import"./dashboard-DtLQGoww.js";import{l as pe}from"./composables-DLFP4TLA.js";import{i as me,r as D}from"./useDataSources-XOQc7nLH.js";import{t as O}from"./tile-edit-form-CCaFW-XS.js";import{r as k}from"./pages-tiles.constants-BzKCg6RC.js";var A={class:`uppercase`},j=[`element-loading-text`],M={key:1,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},N={class:`p-2`},P=c({name:`ViewPageTileEdit`,__name:`view-tile-edit`,props:{pageId:{},page:{},id:{},remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(c,{emit:P}){let F=c,I=P,L=y(),{t:R}=ee(),he=se();x({title:R(`pagesTilesPlugin.meta.pages.editTile.title`)});let{validate:ge}=de(),{isMDDevice:z,isLGDevice:B}=le(),{tile:V,isLoading:H,fetchTile:_e}=D({id:F.id,parent:`page`,parentId:F.page.id}),U=u(!1);if(!ge(F.id))throw Error(`Element identifier is not valid`);let{plugins:ve}=me(),W=u(!1),G=u(T.NONE),K=u(!1),q=u(!1),ye=r(()=>ve.value.find(e=>(e.elements??[]).some(e=>e.type===V.value?.type))),J=r(()=>(ye.value?.elements??[]).find(e=>e.type===V.value?.type)),Y=r(()=>J.value?.schemas?.tileEditFormSchema??pe),X=r(()=>{let e=[];return e.push({label:R(`dashboardModule.breadcrumbs.pages.list`),route:L.resolve({name:E.PAGES})}),e.push({label:R(`dashboardModule.breadcrumbs.pages.detail`,{page:F.page?.title}),route:L.resolve({name:E.PAGE,params:{id:F.page?.id}})}),e.push({label:R(`pagesTilesPlugin.breadcrumbs.pages.configure`,{page:F.page?.title}),route:L.resolve({name:k.PAGE,params:{id:F.page?.id}})}),e.push({label:R(`pagesTilesPlugin.breadcrumbs.pages.editTile`,{page:F.page?.title}),route:L.resolve({name:k.PAGE_EDIT_TILE,params:{id:F.page?.id,tileId:V.value?.id}})}),e}),Z=()=>{oe.confirm(R(`pagesTilesPlugin.texts.misc.confirmDiscard`),R(`pagesTilesPlugin.headings.misc.discard`),{confirmButtonText:R(`pagesTilesPlugin.buttons.yes.title`),cancelButtonText:R(`pagesTilesPlugin.buttons.no.title`),type:`warning`}).then(()=>{B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}})}).catch(()=>{})},Q=()=>{W.value=!0},$=()=>{B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}})};return te(async()=>{_e().then(()=>{if(V.value!==null&&(U.value=!0),!H.value&&V.value===null&&!U.value)throw new w(`Tile not found`)}).catch(e=>{let t=e;throw t instanceof fe&&t.code===404?new w(`Tile not found`):new w(`Something went wrong`,t)})}),ne(()=>{I(`update:remote-form-changed`,q.value)}),d(()=>H.value,e=>{if(!e&&V.value===null&&!U.value)throw new w(`Tile not found`)}),d(()=>V.value,e=>{if(e!==null)U.value=!0;else if(U.value&&!H.value)he.warning(R(`pagesTilesPlugin.messages.tiles.deletedWhileEditing`),{duration:0}),F.page?.id?B.value?L.replace({name:k.PAGE,params:{id:F.page.id}}):L.push({name:k.PAGE,params:{id:F.page.id}}):B.value?L.replace({name:E.PAGES}):L.push({name:E.PAGES});else if(!H.value&&e===null&&!U.value)throw new w(`Tile not found`)}),d(()=>q.value,e=>{I(`update:remote-form-changed`,e)}),(r,c)=>(l(),e(b,null,[o(m(ae),{teleport:``},{icon:v(()=>[o(m(t),{icon:`mdi:widget-tree`,class:`w[20px] h[20px]`})]),title:v(()=>[a(_(m(R)(`pagesTilesPlugin.headings.pages.editTile`)),1)]),subtitle:v(()=>[a(_(m(R)(`pagesTilesPlugin.subHeadings.pages.editTile`)),1)]),_:1}),m(z)?g(``,!0):(l(),s(m(C),{key:0,align:m(S).LEFT,teleport:``,small:``,onClick:c[0]||=()=>q.value?Z():$()},{icon:v(()=>[o(m(i),{size:24},{default:v(()=>[o(m(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),m(z)?g(``,!0):(l(),s(m(C),{key:1,align:m(S).RIGHT,teleport:``,small:``,onClick:Q},{default:v(()=>[n(`span`,A,_(m(R)(`pagesTilesPlugin.buttons.update.title`)),1)]),_:1},8,[`align`])),o(m(ce),{items:X.value},null,8,[`items`]),f((l(),e(`div`,{"element-loading-text":m(R)(`pagesTilesPlugin.texts.tiles.loadingTile`),class:`flex flex-col overflow-hidden h-full`},[m(V)===null?g(``,!0):(l(),s(m(ie),{key:0,class:`grow-1 p-2 md:px-4`},{default:v(()=>[J.value?.components?.tileEditForm===void 0?(l(),s(m(O),{key:1,"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[5]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[6]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[7]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[8]||=e=>q.value=e,tile:m(V),schema:Y.value,"only-draft":``,"with-position":!1,"with-size":!1},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`tile`,`schema`])):(l(),s(p(J.value?.components?.tileEditForm),{key:0,"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[1]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[2]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[3]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[4]||=e=>q.value=e,tile:m(V),schema:Y.value,"only-draft":``,"with-position":!1,"with-size":!1},null,40,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`tile`,`schema`]))]),_:1})),m(z)?(l(),e(`div`,M,[n(`div`,N,[q.value?(l(),s(m(h),{key:0,link:``,class:`mr-2`,onClick:Z},{default:v(()=>[a(_(m(R)(`pagesTilesPlugin.buttons.discard.title`)),1)]),_:1})):g(``,!0),q.value?g(``,!0):(l(),s(m(h),{key:1,link:``,class:`mr-2`,onClick:$},{default:v(()=>[a(_(m(R)(`pagesTilesPlugin.buttons.close.title`)),1)]),_:1})),o(m(h),{loading:G.value===m(T).WORKING,disabled:G.value!==m(T).NONE||!q.value,type:`primary`,class:`order-2`,onClick:Q},re({default:v(()=>[a(` `+_(m(R)(`pagesTilesPlugin.buttons.update.title`)),1)]),_:2},[G.value===m(T).OK||G.value===m(T).ERROR?{name:`icon`,fn:v(()=>[G.value===m(T).OK?(l(),s(m(t),{key:0,icon:`mdi:check-circle`})):G.value===m(T).ERROR?(l(),s(m(t),{key:1,icon:`mdi:cross-circle`})):g(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):g(``,!0)],8,j)),[[m(ue),m(H)||m(V)===null]])],64))}});export{P as default};
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 te,Yr as ne,ci as d,di as f,ii as p,ji as m,jr as re,k as h,kr as g,qi as _,ui as v,x as y,xr as b}from"./icon-with-child-CgZMNB3F.js";import{t as x}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as S,Er as C,Qr as ie,Tr as ae,jr as oe,p as se,vr as ce,yr as le}from"./common-D4Z2wgrj.js";import{t as ue}from"./directive-D42ORGRu.js";import{t as de}from"./useUuid-D7PWqngt.js";import{a as w,d as T,f as E,i as fe}from"./keys-DgS2vm-E.js";import"./dashboard-YUP0xrqH.js";import{l as pe}from"./composables-DLFP4TLA.js";import{i as me,r as D}from"./useDataSources-XOQc7nLH.js";import{t as O}from"./tile-edit-form-CCaFW-XS.js";import{r as k}from"./pages-tiles.constants-BzKCg6RC.js";var A={class:`uppercase`},j=[`element-loading-text`],M={key:1,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},N={class:`p-2`},P=c({name:`ViewPageTileEdit`,__name:`view-tile-edit`,props:{pageId:{},page:{},id:{},remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(c,{emit:P}){let F=c,I=P,L=y(),{t:R}=ee(),he=se();x({title:R(`pagesTilesPlugin.meta.pages.editTile.title`)});let{validate:ge}=de(),{isMDDevice:z,isLGDevice:B}=le(),{tile:V,isLoading:H,fetchTile:_e}=D({id:F.id,parent:`page`,parentId:F.page.id}),U=u(!1);if(!ge(F.id))throw Error(`Element identifier is not valid`);let{plugins:ve}=me(),W=u(!1),G=u(T.NONE),K=u(!1),q=u(!1),ye=r(()=>ve.value.find(e=>(e.elements??[]).some(e=>e.type===V.value?.type))),J=r(()=>(ye.value?.elements??[]).find(e=>e.type===V.value?.type)),Y=r(()=>J.value?.schemas?.tileEditFormSchema??pe),X=r(()=>{let e=[];return e.push({label:R(`dashboardModule.breadcrumbs.pages.list`),route:L.resolve({name:E.PAGES})}),e.push({label:R(`dashboardModule.breadcrumbs.pages.detail`,{page:F.page?.title}),route:L.resolve({name:E.PAGE,params:{id:F.page?.id}})}),e.push({label:R(`pagesTilesPlugin.breadcrumbs.pages.configure`,{page:F.page?.title}),route:L.resolve({name:k.PAGE,params:{id:F.page?.id}})}),e.push({label:R(`pagesTilesPlugin.breadcrumbs.pages.editTile`,{page:F.page?.title}),route:L.resolve({name:k.PAGE_EDIT_TILE,params:{id:F.page?.id,tileId:V.value?.id}})}),e}),Z=()=>{oe.confirm(R(`pagesTilesPlugin.texts.misc.confirmDiscard`),R(`pagesTilesPlugin.headings.misc.discard`),{confirmButtonText:R(`pagesTilesPlugin.buttons.yes.title`),cancelButtonText:R(`pagesTilesPlugin.buttons.no.title`),type:`warning`}).then(()=>{B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}})}).catch(()=>{})},Q=()=>{W.value=!0},$=()=>{B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}})};return te(async()=>{_e().then(()=>{if(V.value!==null&&(U.value=!0),!H.value&&V.value===null&&!U.value)throw new w(`Tile not found`)}).catch(e=>{let t=e;throw t instanceof fe&&t.code===404?new w(`Tile not found`):new w(`Something went wrong`,t)})}),ne(()=>{I(`update:remote-form-changed`,q.value)}),d(()=>H.value,e=>{if(!e&&V.value===null&&!U.value)throw new w(`Tile not found`)}),d(()=>V.value,e=>{if(e!==null)U.value=!0;else if(U.value&&!H.value)he.warning(R(`pagesTilesPlugin.messages.tiles.deletedWhileEditing`),{duration:0}),F.page?.id?B.value?L.replace({name:k.PAGE,params:{id:F.page.id}}):L.push({name:k.PAGE,params:{id:F.page.id}}):B.value?L.replace({name:E.PAGES}):L.push({name:E.PAGES});else if(!H.value&&e===null&&!U.value)throw new w(`Tile not found`)}),d(()=>q.value,e=>{I(`update:remote-form-changed`,e)}),(r,c)=>(l(),e(b,null,[o(m(ae),{teleport:``},{icon:v(()=>[o(m(t),{icon:`mdi:widget-tree`,class:`w[20px] h[20px]`})]),title:v(()=>[a(_(m(R)(`pagesTilesPlugin.headings.pages.editTile`)),1)]),subtitle:v(()=>[a(_(m(R)(`pagesTilesPlugin.subHeadings.pages.editTile`)),1)]),_:1}),m(z)?g(``,!0):(l(),s(m(C),{key:0,align:m(S).LEFT,teleport:``,small:``,onClick:c[0]||=()=>q.value?Z():$()},{icon:v(()=>[o(m(i),{size:24},{default:v(()=>[o(m(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),m(z)?g(``,!0):(l(),s(m(C),{key:1,align:m(S).RIGHT,teleport:``,small:``,onClick:Q},{default:v(()=>[n(`span`,A,_(m(R)(`pagesTilesPlugin.buttons.update.title`)),1)]),_:1},8,[`align`])),o(m(ce),{items:X.value},null,8,[`items`]),f((l(),e(`div`,{"element-loading-text":m(R)(`pagesTilesPlugin.texts.tiles.loadingTile`),class:`flex flex-col overflow-hidden h-full`},[m(V)===null?g(``,!0):(l(),s(m(ie),{key:0,class:`grow-1 p-2 md:px-4`},{default:v(()=>[J.value?.components?.tileEditForm===void 0?(l(),s(m(O),{key:1,"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[5]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[6]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[7]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[8]||=e=>q.value=e,tile:m(V),schema:Y.value,"only-draft":``,"with-position":!1,"with-size":!1},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`tile`,`schema`])):(l(),s(p(J.value?.components?.tileEditForm),{key:0,"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[1]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[2]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[3]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[4]||=e=>q.value=e,tile:m(V),schema:Y.value,"only-draft":``,"with-position":!1,"with-size":!1},null,40,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`tile`,`schema`]))]),_:1})),m(z)?(l(),e(`div`,M,[n(`div`,N,[q.value?(l(),s(m(h),{key:0,link:``,class:`mr-2`,onClick:Z},{default:v(()=>[a(_(m(R)(`pagesTilesPlugin.buttons.discard.title`)),1)]),_:1})):g(``,!0),q.value?g(``,!0):(l(),s(m(h),{key:1,link:``,class:`mr-2`,onClick:$},{default:v(()=>[a(_(m(R)(`pagesTilesPlugin.buttons.close.title`)),1)]),_:1})),o(m(h),{loading:G.value===m(T).WORKING,disabled:G.value!==m(T).NONE||!q.value,type:`primary`,class:`order-2`,onClick:Q},re({default:v(()=>[a(` `+_(m(R)(`pagesTilesPlugin.buttons.update.title`)),1)]),_:2},[G.value===m(T).OK||G.value===m(T).ERROR?{name:`icon`,fn:v(()=>[G.value===m(T).OK?(l(),s(m(t),{key:0,icon:`mdi:check-circle`})):G.value===m(T).ERROR?(l(),s(m(t),{key:1,icon:`mdi:cross-circle`})):g(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):g(``,!0)],8,j)),[[m(ue),m(H)||m(V)===null]])],64))}});export{P as default};
@@ -1 +1 @@
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 te,Yr as ne,ci as d,di as f,ii as p,ji as m,jr as re,k as h,kr as g,qi as _,ui as v,x as y,xr as b}from"./icon-with-child-CgZMNB3F.js";import{t as x}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as S,Er as C,Qr as ie,Tr as ae,jr as oe,p as se,vr as ce,yr as le}from"./common-D4Z2wgrj.js";import{t as ue}from"./directive-D42ORGRu.js";import{t as de}from"./useUuid-D7PWqngt.js";import{a as w,d as T,f as E,i as fe}from"./keys-DgS2vm-E.js";import"./dashboard-DtLQGoww.js";import{l as pe}from"./composables-DLFP4TLA.js";import{i as me,r as D}from"./useDataSources-XOQc7nLH.js";import{t as O}from"./tile-edit-form-CCaFW-XS.js";import{o as k}from"./pages-cards.contants-DcS0YOKq.js";var A={class:`uppercase`},j=[`element-loading-text`],M={key:1,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},N={class:`p-2`},P=c({name:`ViewCardTileEdit`,__name:`view-tile-edit`,props:{pageId:{},page:{},cardId:{},id:{},remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(c,{emit:P}){let F=c,I=P,L=y(),{t:R}=ee(),he=se();x({title:R(`pagesCardsPlugin.meta.pages.editTile.title`)});let{validate:ge}=de(),{isMDDevice:z,isLGDevice:B}=le(),{tile:V,isLoading:H,fetchTile:_e}=D({id:F.id,parent:`card`,parentId:F.cardId}),U=u(!1);if(!ge(F.id))throw Error(`Element identifier is not valid`);let{plugins:ve}=me(),W=u(!1),G=u(T.NONE),K=u(!1),q=u(!1),ye=r(()=>ve.value.find(e=>(e.elements??[]).some(e=>e.type===V.value?.type))),J=r(()=>(ye.value?.elements??[]).find(e=>e.type===V.value?.type)),Y=r(()=>J.value?.schemas?.tileEditFormSchema??pe),X=r(()=>{let e=[];return e.push({label:R(`dashboardModule.breadcrumbs.pages.list`),route:L.resolve({name:E.PAGES})}),e.push({label:R(`dashboardModule.breadcrumbs.pages.detail`,{page:F.page?.title}),route:L.resolve({name:E.PAGE,params:{id:F.page?.id}})}),e.push({label:R(`pagesCardsPlugin.breadcrumbs.pages.configure`,{page:F.page?.title}),route:L.resolve({name:k.PAGE,params:{id:F.page?.id}})}),e.push({label:R(`pagesCardsPlugin.breadcrumbs.pages.editTile`,{page:F.page?.title}),route:L.resolve({name:k.PAGE_CARD_EDIT_TILE,params:{id:F.page?.id,cardId:F.cardId,tileId:V.value?.id}})}),e}),Z=()=>{oe.confirm(R(`pagesCardsPlugin.texts.misc.confirmDiscard`),R(`pagesCardsPlugin.headings.misc.discard`),{confirmButtonText:R(`pagesCardsPlugin.buttons.yes.title`),cancelButtonText:R(`pagesCardsPlugin.buttons.no.title`),type:`warning`}).then(()=>{B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}})}).catch(()=>{})},Q=()=>{W.value=!0},$=()=>{B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}})};return te(async()=>{_e().then(()=>{if(V.value!==null&&(U.value=!0),!H.value&&V.value===null&&!U.value)throw new w(`Tile not found`)}).catch(e=>{if(e instanceof w)throw e;let t=e;throw t instanceof fe&&t.code===404?new w(`Tile not found`):new w(`Something went wrong`,t)})}),ne(()=>{I(`update:remote-form-changed`,q.value)}),d(()=>H.value,e=>{if(!e&&V.value===null&&!U.value)throw new w(`Tile not found`)}),d(()=>V.value,e=>{if(e!==null)U.value=!0;else if(U.value&&!H.value)he.warning(R(`pagesCardsPlugin.messages.tiles.deletedWhileEditing`),{duration:0}),F.page?.id?B.value?L.replace({name:k.PAGE,params:{id:F.page.id}}):L.push({name:k.PAGE,params:{id:F.page.id}}):B.value?L.replace({name:E.PAGES}):L.push({name:E.PAGES});else if(!H.value&&e===null&&!U.value)throw new w(`Tile not found`)}),d(()=>G.value,e=>{e===T.OK&&(B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}}))}),d(()=>q.value,e=>{I(`update:remote-form-changed`,e)}),(r,c)=>(l(),e(b,null,[o(m(ae),{teleport:``},{icon:v(()=>[o(m(t),{icon:`mdi:widget-tree`,class:`w[20px] h[20px]`})]),title:v(()=>[a(_(m(R)(`pagesCardsPlugin.headings.pages.editTile`)),1)]),subtitle:v(()=>[a(_(m(R)(`pagesCardsPlugin.subHeadings.pages.editTile`)),1)]),_:1}),m(z)?g(``,!0):(l(),s(m(C),{key:0,align:m(S).LEFT,teleport:``,small:``,onClick:c[0]||=()=>q.value?Z():$()},{icon:v(()=>[o(m(i),{size:24},{default:v(()=>[o(m(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),m(z)?g(``,!0):(l(),s(m(C),{key:1,align:m(S).RIGHT,teleport:``,small:``,onClick:Q},{default:v(()=>[n(`span`,A,_(m(R)(`pagesCardsPlugin.buttons.update.title`)),1)]),_:1},8,[`align`])),o(m(ce),{items:X.value},null,8,[`items`]),f((l(),e(`div`,{"element-loading-text":m(R)(`pagesCardsPlugin.texts.tiles.loadingTile`),class:`flex flex-col overflow-hidden h-full`},[m(V)===null?g(``,!0):(l(),s(m(ie),{key:0,class:`grow-1 p-2 md:px-4`},{default:v(()=>[J.value?.components?.tileEditForm===void 0?(l(),s(m(O),{key:1,"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[5]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[6]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[7]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[8]||=e=>q.value=e,tile:m(V),schema:Y.value,"only-draft":``,"with-position":!1,"with-size":!1},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`tile`,`schema`])):(l(),s(p(J.value?.components?.tileEditForm),{key:0,"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[1]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[2]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[3]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[4]||=e=>q.value=e,tile:m(V),schema:Y.value,"only-draft":``,"with-position":!1,"with-size":!1},null,40,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`tile`,`schema`]))]),_:1})),m(z)?(l(),e(`div`,M,[n(`div`,N,[q.value?(l(),s(m(h),{key:0,link:``,class:`mr-2`,onClick:Z},{default:v(()=>[a(_(m(R)(`pagesCardsPlugin.buttons.discard.title`)),1)]),_:1})):g(``,!0),q.value?g(``,!0):(l(),s(m(h),{key:1,link:``,class:`mr-2`,onClick:$},{default:v(()=>[a(_(m(R)(`pagesCardsPlugin.buttons.close.title`)),1)]),_:1})),o(m(h),{loading:G.value===m(T).WORKING,disabled:G.value!==m(T).NONE||!q.value,type:`primary`,class:`order-2`,onClick:Q},re({default:v(()=>[a(` `+_(m(R)(`pagesCardsPlugin.buttons.update.title`)),1)]),_:2},[G.value===m(T).OK||G.value===m(T).ERROR?{name:`icon`,fn:v(()=>[G.value===m(T).OK?(l(),s(m(t),{key:0,icon:`mdi:check-circle`})):G.value===m(T).ERROR?(l(),s(m(t),{key:1,icon:`mdi:cross-circle`})):g(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):g(``,!0)],8,j)),[[m(ue),m(H)||m(V)===null]])],64))}});export{P as default};
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 te,Yr as ne,ci as d,di as f,ii as p,ji as m,jr as re,k as h,kr as g,qi as _,ui as v,x as y,xr as b}from"./icon-with-child-CgZMNB3F.js";import{t as x}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as S,Er as C,Qr as ie,Tr as ae,jr as oe,p as se,vr as ce,yr as le}from"./common-D4Z2wgrj.js";import{t as ue}from"./directive-D42ORGRu.js";import{t as de}from"./useUuid-D7PWqngt.js";import{a as w,d as T,f as E,i as fe}from"./keys-DgS2vm-E.js";import"./dashboard-YUP0xrqH.js";import{l as pe}from"./composables-DLFP4TLA.js";import{i as me,r as D}from"./useDataSources-XOQc7nLH.js";import{t as O}from"./tile-edit-form-CCaFW-XS.js";import{o as k}from"./pages-cards.contants-DcS0YOKq.js";var A={class:`uppercase`},j=[`element-loading-text`],M={key:1,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},N={class:`p-2`},P=c({name:`ViewCardTileEdit`,__name:`view-tile-edit`,props:{pageId:{},page:{},cardId:{},id:{},remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(c,{emit:P}){let F=c,I=P,L=y(),{t:R}=ee(),he=se();x({title:R(`pagesCardsPlugin.meta.pages.editTile.title`)});let{validate:ge}=de(),{isMDDevice:z,isLGDevice:B}=le(),{tile:V,isLoading:H,fetchTile:_e}=D({id:F.id,parent:`card`,parentId:F.cardId}),U=u(!1);if(!ge(F.id))throw Error(`Element identifier is not valid`);let{plugins:ve}=me(),W=u(!1),G=u(T.NONE),K=u(!1),q=u(!1),ye=r(()=>ve.value.find(e=>(e.elements??[]).some(e=>e.type===V.value?.type))),J=r(()=>(ye.value?.elements??[]).find(e=>e.type===V.value?.type)),Y=r(()=>J.value?.schemas?.tileEditFormSchema??pe),X=r(()=>{let e=[];return e.push({label:R(`dashboardModule.breadcrumbs.pages.list`),route:L.resolve({name:E.PAGES})}),e.push({label:R(`dashboardModule.breadcrumbs.pages.detail`,{page:F.page?.title}),route:L.resolve({name:E.PAGE,params:{id:F.page?.id}})}),e.push({label:R(`pagesCardsPlugin.breadcrumbs.pages.configure`,{page:F.page?.title}),route:L.resolve({name:k.PAGE,params:{id:F.page?.id}})}),e.push({label:R(`pagesCardsPlugin.breadcrumbs.pages.editTile`,{page:F.page?.title}),route:L.resolve({name:k.PAGE_CARD_EDIT_TILE,params:{id:F.page?.id,cardId:F.cardId,tileId:V.value?.id}})}),e}),Z=()=>{oe.confirm(R(`pagesCardsPlugin.texts.misc.confirmDiscard`),R(`pagesCardsPlugin.headings.misc.discard`),{confirmButtonText:R(`pagesCardsPlugin.buttons.yes.title`),cancelButtonText:R(`pagesCardsPlugin.buttons.no.title`),type:`warning`}).then(()=>{B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}})}).catch(()=>{})},Q=()=>{W.value=!0},$=()=>{B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}})};return te(async()=>{_e().then(()=>{if(V.value!==null&&(U.value=!0),!H.value&&V.value===null&&!U.value)throw new w(`Tile not found`)}).catch(e=>{if(e instanceof w)throw e;let t=e;throw t instanceof fe&&t.code===404?new w(`Tile not found`):new w(`Something went wrong`,t)})}),ne(()=>{I(`update:remote-form-changed`,q.value)}),d(()=>H.value,e=>{if(!e&&V.value===null&&!U.value)throw new w(`Tile not found`)}),d(()=>V.value,e=>{if(e!==null)U.value=!0;else if(U.value&&!H.value)he.warning(R(`pagesCardsPlugin.messages.tiles.deletedWhileEditing`),{duration:0}),F.page?.id?B.value?L.replace({name:k.PAGE,params:{id:F.page.id}}):L.push({name:k.PAGE,params:{id:F.page.id}}):B.value?L.replace({name:E.PAGES}):L.push({name:E.PAGES});else if(!H.value&&e===null&&!U.value)throw new w(`Tile not found`)}),d(()=>G.value,e=>{e===T.OK&&(B.value?L.replace({name:k.PAGE,params:{id:F.page?.id}}):L.push({name:k.PAGE,params:{id:F.page?.id}}))}),d(()=>q.value,e=>{I(`update:remote-form-changed`,e)}),(r,c)=>(l(),e(b,null,[o(m(ae),{teleport:``},{icon:v(()=>[o(m(t),{icon:`mdi:widget-tree`,class:`w[20px] h[20px]`})]),title:v(()=>[a(_(m(R)(`pagesCardsPlugin.headings.pages.editTile`)),1)]),subtitle:v(()=>[a(_(m(R)(`pagesCardsPlugin.subHeadings.pages.editTile`)),1)]),_:1}),m(z)?g(``,!0):(l(),s(m(C),{key:0,align:m(S).LEFT,teleport:``,small:``,onClick:c[0]||=()=>q.value?Z():$()},{icon:v(()=>[o(m(i),{size:24},{default:v(()=>[o(m(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),m(z)?g(``,!0):(l(),s(m(C),{key:1,align:m(S).RIGHT,teleport:``,small:``,onClick:Q},{default:v(()=>[n(`span`,A,_(m(R)(`pagesCardsPlugin.buttons.update.title`)),1)]),_:1},8,[`align`])),o(m(ce),{items:X.value},null,8,[`items`]),f((l(),e(`div`,{"element-loading-text":m(R)(`pagesCardsPlugin.texts.tiles.loadingTile`),class:`flex flex-col overflow-hidden h-full`},[m(V)===null?g(``,!0):(l(),s(m(ie),{key:0,class:`grow-1 p-2 md:px-4`},{default:v(()=>[J.value?.components?.tileEditForm===void 0?(l(),s(m(O),{key:1,"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[5]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[6]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[7]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[8]||=e=>q.value=e,tile:m(V),schema:Y.value,"only-draft":``,"with-position":!1,"with-size":!1},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`tile`,`schema`])):(l(),s(p(J.value?.components?.tileEditForm),{key:0,"remote-form-submit":W.value,"onUpdate:remoteFormSubmit":c[1]||=e=>W.value=e,"remote-form-result":G.value,"onUpdate:remoteFormResult":c[2]||=e=>G.value=e,"remote-form-reset":K.value,"onUpdate:remoteFormReset":c[3]||=e=>K.value=e,"remote-form-changed":q.value,"onUpdate:remoteFormChanged":c[4]||=e=>q.value=e,tile:m(V),schema:Y.value,"only-draft":``,"with-position":!1,"with-size":!1},null,40,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`tile`,`schema`]))]),_:1})),m(z)?(l(),e(`div`,M,[n(`div`,N,[q.value?(l(),s(m(h),{key:0,link:``,class:`mr-2`,onClick:Z},{default:v(()=>[a(_(m(R)(`pagesCardsPlugin.buttons.discard.title`)),1)]),_:1})):g(``,!0),q.value?g(``,!0):(l(),s(m(h),{key:1,link:``,class:`mr-2`,onClick:$},{default:v(()=>[a(_(m(R)(`pagesCardsPlugin.buttons.close.title`)),1)]),_:1})),o(m(h),{loading:G.value===m(T).WORKING,disabled:G.value!==m(T).NONE||!q.value,type:`primary`,class:`order-2`,onClick:Q},re({default:v(()=>[a(` `+_(m(R)(`pagesCardsPlugin.buttons.update.title`)),1)]),_:2},[G.value===m(T).OK||G.value===m(T).ERROR?{name:`icon`,fn:v(()=>[G.value===m(T).OK?(l(),s(m(t),{key:0,icon:`mdi:check-circle`})):G.value===m(T).ERROR?(l(),s(m(t),{key:1,icon:`mdi:cross-circle`})):g(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):g(``,!0)],8,j)),[[m(ue),m(H)||m(V)===null]])],64))}});export{P as default};
@@ -1 +1 @@
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{Dr as E,Er as D,Mr as O,Qr as k,Tr as A,_ as j,_r as M,dn as N,ei as P,h as F,kn as I,m as L,p as R,qr as z,r as te,rn as B,sn as ne,vr as V,x as re,yr as H}from"./common-D4Z2wgrj.js";import{n as U,t as ie}from"./descriptions-BHa0Pjk7.js";import{n as W,t as ae}from"./table-CeNNpGH7.js";import{n as G,t as K}from"./form-Wa6uIXea.js";import{t as q}from"./alert-I-oSc4A8.js";import{r as J,t as Y}from"./select-CTZp3DyT.js";import{t as X}from"./card-C50YgvLJ.js";import{t as oe}from"./checkbox-CtqO8Xm5.js";import{x as se}from"./components-DGTDixMX.js";import{n as Z,t as Q}from"./steps-DuddYjrb.js";import{t as ce}from"./dist-DJgPCOr0.js";import{C as le,g as ue,n as de}from"./keys-BMDz3FOI.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-3HwG1Cda.js";import{A as ge,M as _e,N as ve,P as ye,j as be,k as xe}from"./composables-CsFD_4mm.js";import{a as Se,i as Ce,n as we,o as Te,r as Ee}from"./devices-virtual.constants-D0L6zhgQ.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(z),{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(),_=j(),v=re().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)},M=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(P),{"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":M},{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=L(),T=j(),E=R(),D=re(),k=D.getStore(fe),A=D.getStore(me),M=D.getStore(pe),N=f({}),P=f({}),F=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!==B.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:N[e.key]??null}))),Z=r(()=>{let e=new Set(X.value.filter(e=>typeof N[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 N[e.key]!=`string`);return{requiredTotal:t.length,requiredFilled:t.length-n.length,remaining:n}}),Q=r(()=>Object.keys(N).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 N[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 N[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(F).some(e=>e)),he=r(()=>u.category!==null&&le.value&&Object.keys(P).length===0&&de.value.length===0&&!$.value),Se=r(()=>ce(k.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(A.findForDevice(e),[e=>e.name],[`asc`]).map(e=>({value:e.id,label:e.name})),Te=e=>e===null?[]:ce(M.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 N[t.key]==`string`||typeof P[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 A.fetch({deviceId:e})}catch(t){return T.error(`Failed to load source channels`,t),A.findForDevice(e)}},je=async e=>{try{await M.fetch({channelId:e})}catch(e){T.error(`Failed to load source properties`,e)}return M.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),F[n.slot.key]=!0,delete P[n.slot.key];let n=(e,n)=>{W.get(e)===t&&(delete F[e],n===null?delete P[e]:P[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?te(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 P[e],delete F[e],t===null){delete N[e];return}N[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 F[e.key];let i=await je(t);if(n.slots.some(e=>W.get(e.key)!==r))return;let a=A.findById(t),o=[];for(let e of n.slots){let n=i.find(t=>t.category===e.specProperty);if(!n){let t=N[e.key];t&&o.push({slot:e,sourceProperty:t});continue}delete P[e.key],N[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(N)){if(V[e]?.channel)continue;let n=M.findById(t),r=n?A.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(N))delete N[e];for(let e of Object.keys(P))delete P[e];for(let e of Object.keys(F))delete F[e];for(let e of Object.keys(V))delete V[e];W.clear();for(let t of e)t.sourceProperty!==null&&(N[`${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(N))delete N[e];for(let e of Object.keys(P))delete P[e];for(let e of Object.keys(F))delete F[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(()=>{k.fetch({hidden:I.all}).catch(e=>T.error(`Failed to load source devices`,e))}),i({slots:X,groups:K,errors:P,checking:F,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(O),{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(O),{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(z),{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(O),{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(z),{key:0,type:`danger`,size:`small`},{default:S(()=>[a(b(h(y)(`devicesVirtualPlugin.wizard.mapping.propertyRequired`)),1)]),_:1})):v(``,!0),o(h(O),{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":N[t.key]??null,placeholder:h(y)(`devicesVirtualPlugin.wizard.mapping.source.propertyPlaceholder`),name:`property-${t.key}`,disabled:!V[t.key]?.channel,loading:F[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`])]),P[t.key]?(l(),s(h(O),{key:0,size:`small`,type:`danger`,class:`block`,"data-test-id":`slot-error-${t.key}`},{default:S(()=>[a(b(P[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:{},showCreateAction:{type:Boolean,default:!0}},emits:[`created`,`submitting`],setup(t,{expose:i,emit:c}){let d=t,f=c,{t:p}=ee(),m=L(),g=j(),x=R(),C=re(),T=C.getStore(fe),E=C.getStore(me),D=C.getStore(pe),O=C.getStore(de),k=u(`idle`),A=u(null),M=u(!1),P=u(`idle`),F=u(null),I=u(0),z=r(()=>d.mappings.filter(e=>e.sourceProperty!==null)),B=()=>p(`devicesVirtualPlugin.wizard.review.unknownSource`),V=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??B(),channelName:n?.name??B(),propertyName:t?t.name??p(`devicesModule.categories.channelsProperties.${t.category}`):B()}},H=r(()=>z.value.map(e=>V(e.sourceProperty))),G=r(()=>z.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:B()}),se=r(()=>d.zoneIds.length===0?p(`devicesVirtualPlugin.wizard.review.noZones`):d.zoneIds.map(e=>{let t=O.findById(e);return t?t.name:B()}).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:N.source,source_property:e.sourceProperty}},le=r(()=>{let e=new Map;for(let t of z.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){P.value=`hiding`,F.value=null;try{await T.edit({id:e.id,data:{type:e.type,hidden:!0,hiddenBy:ne.system}}),P.value=`hidden`}catch(t){g.error(`Failed to hide the source device id=${e.id}`,t),P.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?te(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),M.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:P,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:M.value,"onUpdate:modelValue":i[0]||=e=>M.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`]),P.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`])):P.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)):d.showCreateAction===!1?v(``,!0):(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}=H();T({title:m(`devicesVirtualPlugin.wizard.title`)});let j=f({category:null,mappings:[],name:``,roomId:null,zoneIds:[]}),N=u(0),P=u(!1),I=u(null),L=u(null),R=u(!1),z=r(()=>N.value===$e-1),te=r(()=>N.value===0?j.category!==null:N.value===1?P.value:N.value===2&&j.name.trim().length>0),B=r(()=>[{label:m(`devicesModule.breadcrumbs.devices.list`),route:y.resolve({name:$.DEVICES})},{label:m(`devicesVirtualPlugin.wizard.breadcrumb`),route:y.resolve({name:Ce.WIZARD})}]);M(()=>!R.value);let ne=()=>{R.value||(O.value?y.replace({name:$.DEVICES}):y.push({name:$.DEVICES}))},re=()=>{R.value||N.value!==0&&--N.value},U=()=>{!te.value||z.value||(N.value+=1)},ie=e=>{P.value=e},W=e=>{I.value=e},ae=()=>{if(I.value===null)return;let e={name:$.DEVICE,params:{id:I.value.id}};O.value?y.replace(e):y.push(e)};return p(()=>j.category,(e,t)=>{t==null||t===e||(j.mappings=[],P.value=!1)}),d({activeStep:N,canAdvance:te,createdDevice:I}),(r,c)=>(l(),e(w,null,[h(x)?v(``,!0):(l(),s(h(A),{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(D),{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(V),{items:B.value},null,8,[`items`]),o(h(F),{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,[I.value===null&&N.value>0?(l(),s(h(_),{key:0,disabled:R.value,"data-test-id":`wizard-back`,onClick:re},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.back`)),1)]),_:1},8,[`disabled`])):v(``,!0),I.value===null?(l(),s(h(_),{key:1,link:``,class:`ml-2!`,disabled:R.value,"data-test-id":`wizard-cancel`,onClick:ne},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.cancel`)),1)]),_:1},8,[`disabled`])):v(``,!0),I.value===null?v(``,!0):(l(),s(h(_),{key:2,type:`primary`,"data-test-id":`wizard-view-device`,onClick:ae},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.viewDevice`)),1)]),_:1})),I.value===null&&z.value?(l(),s(h(_),{key:3,type:`primary`,class:`ml-2!`,disabled:!L.value?.canCreate,loading:R.value,"data-test-id":`create-device`,onClick:L.value?.onCreate},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.review.create`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):v(``,!0),I.value===null&&!z.value?(l(),s(h(_),{key:4,type:`primary`,class:`ml-2!`,disabled:!te.value,"data-test-id":`wizard-next`,onClick:U},{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:N.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(k),{class:`flex-1 overflow-hidden h-full`},{default:S(()=>[n(`div`,Ze,[N.value===0?(l(),s(je,{key:0,modelValue:j.category,"onUpdate:modelValue":c[0]||=e=>j.category=e},null,8,[`modelValue`])):N.value===1?(l(),s(Ge,{key:1,modelValue:j.mappings,"onUpdate:modelValue":c[1]||=e=>j.mappings=e,category:j.category,"onUpdate:valid":ie},null,8,[`modelValue`,`category`])):N.value===2?(l(),s(Fe,{key:2,name:j.name,"onUpdate:name":c[2]||=e=>j.name=e,"room-id":j.roomId,"onUpdate:roomId":c[3]||=e=>j.roomId=e,"zone-ids":j.zoneIds,"onUpdate:zoneIds":c[4]||=e=>j.zoneIds=e,category:j.category},null,8,[`name`,`room-id`,`zone-ids`,`category`])):(l(),s(Je,{key:3,ref_key:`reviewStep`,ref:L,category:j.category,mappings:j.mappings,name:j.name,"room-id":j.roomId,"zone-ids":j.zoneIds,"show-create-action":!1,onCreated:W,onSubmitting:c[5]||=e=>R.value=e},null,8,[`category`,`mappings`,`name`,`room-id`,`zone-ids`]))])]),_:1})]),_:1})]),h(x)?v(``,!0):(l(),e(`div`,Qe,[I.value===null&&N.value>0?(l(),s(h(_),{key:0,disabled:R.value,"data-test-id":`wizard-back`,onClick:re},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.back`)),1)]),_:1},8,[`disabled`])):v(``,!0),I.value===null?(l(),s(h(_),{key:1,link:``,class:`ml-2!`,disabled:R.value,"data-test-id":`wizard-cancel`,onClick:ne},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.cancel`)),1)]),_:1},8,[`disabled`])):v(``,!0),I.value===null?v(``,!0):(l(),s(h(_),{key:2,type:`primary`,class:`ml-2!`,"data-test-id":`wizard-view-device`,onClick:ae},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.viewDevice`)),1)]),_:1})),I.value===null&&z.value?(l(),s(h(_),{key:3,type:`primary`,class:`ml-2!`,disabled:!L.value?.canCreate,loading:R.value,"data-test-id":`create-device`,onClick:L.value?.onCreate},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.review.create`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):v(``,!0),I.value===null&&!z.value?(l(),s(h(_),{key:4,type:`primary`,class:`ml-2!`,disabled:!te.value,"data-test-id":`wizard-next`,onClick:U},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.next`)),1)]),_:1},8,[`disabled`])):v(``,!0)]))],64))}});export{et as default};
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{Dr as E,Er as D,Mr as O,Qr as k,Tr as A,_ as j,_r as M,dn as N,ei as P,h as F,kn as I,m as L,p as R,qr as z,r as te,rn as B,sn as ne,vr as V,x as re,yr as H}from"./common-D4Z2wgrj.js";import{n as U,t as ie}from"./descriptions-BHa0Pjk7.js";import{n as W,t as ae}from"./table-CeNNpGH7.js";import{n as G,t as K}from"./form-Wa6uIXea.js";import{t as q}from"./alert-I-oSc4A8.js";import{r as J,t as Y}from"./select-CTZp3DyT.js";import{t as X}from"./card-C50YgvLJ.js";import{t as oe}from"./checkbox-CtqO8Xm5.js";import{x as se}from"./components-B6ONxCJg.js";import{n as Z,t as Q}from"./steps-DuddYjrb.js";import{t as ce}from"./dist-DJgPCOr0.js";import{C as le,g as ue,n as de}from"./keys-BMDz3FOI.js";import{i as fe,o as pe,r as me}from"./keys-DMEIfK2a.js";import{o as $,r as he}from"./devices.constants-DHQemX04.js";import"./devices-DMGNDnfZ.js";import{A as ge,M as _e,N as ve,P as ye,j as be,k as xe}from"./composables-2NuyfNXO.js";import{a as Se,i as Ce,n as we,o as Te,r as Ee}from"./devices-virtual.constants-D0L6zhgQ.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(z),{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(),_=j(),v=re().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)},M=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(P),{"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":M},{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=L(),T=j(),E=R(),D=re(),k=D.getStore(pe),A=D.getStore(fe),M=D.getStore(me),N=f({}),P=f({}),F=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!==B.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:N[e.key]??null}))),Z=r(()=>{let e=new Set(X.value.filter(e=>typeof N[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 N[e.key]!=`string`);return{requiredTotal:t.length,requiredFilled:t.length-n.length,remaining:n}}),Q=r(()=>Object.keys(N).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 N[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 N[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(F).some(e=>e)),he=r(()=>u.category!==null&&le.value&&Object.keys(P).length===0&&de.value.length===0&&!$.value),Se=r(()=>ce(k.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(A.findForDevice(e),[e=>e.name],[`asc`]).map(e=>({value:e.id,label:e.name})),Te=e=>e===null?[]:ce(M.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 N[t.key]==`string`||typeof P[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 A.fetch({deviceId:e})}catch(t){return T.error(`Failed to load source channels`,t),A.findForDevice(e)}},je=async e=>{try{await M.fetch({channelId:e})}catch(e){T.error(`Failed to load source properties`,e)}return M.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),F[n.slot.key]=!0,delete P[n.slot.key];let n=(e,n)=>{W.get(e)===t&&(delete F[e],n===null?delete P[e]:P[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?te(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 P[e],delete F[e],t===null){delete N[e];return}N[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 F[e.key];let i=await je(t);if(n.slots.some(e=>W.get(e.key)!==r))return;let a=A.findById(t),o=[];for(let e of n.slots){let n=i.find(t=>t.category===e.specProperty);if(!n){let t=N[e.key];t&&o.push({slot:e,sourceProperty:t});continue}delete P[e.key],N[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(N)){if(V[e]?.channel)continue;let n=M.findById(t),r=n?A.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(N))delete N[e];for(let e of Object.keys(P))delete P[e];for(let e of Object.keys(F))delete F[e];for(let e of Object.keys(V))delete V[e];W.clear();for(let t of e)t.sourceProperty!==null&&(N[`${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(N))delete N[e];for(let e of Object.keys(P))delete P[e];for(let e of Object.keys(F))delete F[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(()=>{k.fetch({hidden:I.all}).catch(e=>T.error(`Failed to load source devices`,e))}),i({slots:X,groups:K,errors:P,checking:F,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(O),{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(O),{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(z),{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(O),{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(z),{key:0,type:`danger`,size:`small`},{default:S(()=>[a(b(h(y)(`devicesVirtualPlugin.wizard.mapping.propertyRequired`)),1)]),_:1})):v(``,!0),o(h(O),{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":N[t.key]??null,placeholder:h(y)(`devicesVirtualPlugin.wizard.mapping.source.propertyPlaceholder`),name:`property-${t.key}`,disabled:!V[t.key]?.channel,loading:F[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`])]),P[t.key]?(l(),s(h(O),{key:0,size:`small`,type:`danger`,class:`block`,"data-test-id":`slot-error-${t.key}`},{default:S(()=>[a(b(P[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:{},showCreateAction:{type:Boolean,default:!0}},emits:[`created`,`submitting`],setup(t,{expose:i,emit:c}){let d=t,f=c,{t:p}=ee(),m=L(),g=j(),x=R(),C=re(),T=C.getStore(pe),E=C.getStore(fe),D=C.getStore(me),O=C.getStore(de),k=u(`idle`),A=u(null),M=u(!1),P=u(`idle`),F=u(null),I=u(0),z=r(()=>d.mappings.filter(e=>e.sourceProperty!==null)),B=()=>p(`devicesVirtualPlugin.wizard.review.unknownSource`),V=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??B(),channelName:n?.name??B(),propertyName:t?t.name??p(`devicesModule.categories.channelsProperties.${t.category}`):B()}},H=r(()=>z.value.map(e=>V(e.sourceProperty))),G=r(()=>z.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:B()}),se=r(()=>d.zoneIds.length===0?p(`devicesVirtualPlugin.wizard.review.noZones`):d.zoneIds.map(e=>{let t=O.findById(e);return t?t.name:B()}).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:N.source,source_property:e.sourceProperty}},le=r(()=>{let e=new Map;for(let t of z.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){P.value=`hiding`,F.value=null;try{await T.edit({id:e.id,data:{type:e.type,hidden:!0,hiddenBy:ne.system}}),P.value=`hidden`}catch(t){g.error(`Failed to hide the source device id=${e.id}`,t),P.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?te(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),M.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:P,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:M.value,"onUpdate:modelValue":i[0]||=e=>M.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`]),P.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`])):P.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)):d.showCreateAction===!1?v(``,!0):(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}=H();T({title:m(`devicesVirtualPlugin.wizard.title`)});let j=f({category:null,mappings:[],name:``,roomId:null,zoneIds:[]}),N=u(0),P=u(!1),I=u(null),L=u(null),R=u(!1),z=r(()=>N.value===$e-1),te=r(()=>N.value===0?j.category!==null:N.value===1?P.value:N.value===2&&j.name.trim().length>0),B=r(()=>[{label:m(`devicesModule.breadcrumbs.devices.list`),route:y.resolve({name:$.DEVICES})},{label:m(`devicesVirtualPlugin.wizard.breadcrumb`),route:y.resolve({name:Ce.WIZARD})}]);M(()=>!R.value);let ne=()=>{R.value||(O.value?y.replace({name:$.DEVICES}):y.push({name:$.DEVICES}))},re=()=>{R.value||N.value!==0&&--N.value},U=()=>{!te.value||z.value||(N.value+=1)},ie=e=>{P.value=e},W=e=>{I.value=e},ae=()=>{if(I.value===null)return;let e={name:$.DEVICE,params:{id:I.value.id}};O.value?y.replace(e):y.push(e)};return p(()=>j.category,(e,t)=>{t==null||t===e||(j.mappings=[],P.value=!1)}),d({activeStep:N,canAdvance:te,createdDevice:I}),(r,c)=>(l(),e(w,null,[h(x)?v(``,!0):(l(),s(h(A),{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(D),{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(V),{items:B.value},null,8,[`items`]),o(h(F),{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,[I.value===null&&N.value>0?(l(),s(h(_),{key:0,disabled:R.value,"data-test-id":`wizard-back`,onClick:re},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.back`)),1)]),_:1},8,[`disabled`])):v(``,!0),I.value===null?(l(),s(h(_),{key:1,link:``,class:`ml-2!`,disabled:R.value,"data-test-id":`wizard-cancel`,onClick:ne},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.cancel`)),1)]),_:1},8,[`disabled`])):v(``,!0),I.value===null?v(``,!0):(l(),s(h(_),{key:2,type:`primary`,"data-test-id":`wizard-view-device`,onClick:ae},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.viewDevice`)),1)]),_:1})),I.value===null&&z.value?(l(),s(h(_),{key:3,type:`primary`,class:`ml-2!`,disabled:!L.value?.canCreate,loading:R.value,"data-test-id":`create-device`,onClick:L.value?.onCreate},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.review.create`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):v(``,!0),I.value===null&&!z.value?(l(),s(h(_),{key:4,type:`primary`,class:`ml-2!`,disabled:!te.value,"data-test-id":`wizard-next`,onClick:U},{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:N.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(k),{class:`flex-1 overflow-hidden h-full`},{default:S(()=>[n(`div`,Ze,[N.value===0?(l(),s(je,{key:0,modelValue:j.category,"onUpdate:modelValue":c[0]||=e=>j.category=e},null,8,[`modelValue`])):N.value===1?(l(),s(Ge,{key:1,modelValue:j.mappings,"onUpdate:modelValue":c[1]||=e=>j.mappings=e,category:j.category,"onUpdate:valid":ie},null,8,[`modelValue`,`category`])):N.value===2?(l(),s(Fe,{key:2,name:j.name,"onUpdate:name":c[2]||=e=>j.name=e,"room-id":j.roomId,"onUpdate:roomId":c[3]||=e=>j.roomId=e,"zone-ids":j.zoneIds,"onUpdate:zoneIds":c[4]||=e=>j.zoneIds=e,category:j.category},null,8,[`name`,`room-id`,`zone-ids`,`category`])):(l(),s(Je,{key:3,ref_key:`reviewStep`,ref:L,category:j.category,mappings:j.mappings,name:j.name,"room-id":j.roomId,"zone-ids":j.zoneIds,"show-create-action":!1,onCreated:W,onSubmitting:c[5]||=e=>R.value=e},null,8,[`category`,`mappings`,`name`,`room-id`,`zone-ids`]))])]),_:1})]),_:1})]),h(x)?v(``,!0):(l(),e(`div`,Qe,[I.value===null&&N.value>0?(l(),s(h(_),{key:0,disabled:R.value,"data-test-id":`wizard-back`,onClick:re},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.back`)),1)]),_:1},8,[`disabled`])):v(``,!0),I.value===null?(l(),s(h(_),{key:1,link:``,class:`ml-2!`,disabled:R.value,"data-test-id":`wizard-cancel`,onClick:ne},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.cancel`)),1)]),_:1},8,[`disabled`])):v(``,!0),I.value===null?v(``,!0):(l(),s(h(_),{key:2,type:`primary`,class:`ml-2!`,"data-test-id":`wizard-view-device`,onClick:ae},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.viewDevice`)),1)]),_:1})),I.value===null&&z.value?(l(),s(h(_),{key:3,type:`primary`,class:`ml-2!`,disabled:!L.value?.canCreate,loading:R.value,"data-test-id":`create-device`,onClick:L.value?.onCreate},{default:S(()=>[a(b(h(m)(`devicesVirtualPlugin.wizard.review.create`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):v(``,!0),I.value===null&&!z.value?(l(),s(h(_),{key:4,type:`primary`,class:`ml-2!`,disabled:!te.value,"data-test-id":`wizard-next`,onClick:U},{default:S(()=>[a(b(h(m)(`devicesModule.wizard.actions.next`)),1)]),_:1},8,[`disabled`])):v(``,!0)]))],64))}});export{et as default};