@fastybird/smart-panel-admin 1.1.0-alpha.56 → 1.1.0-alpha.58

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 (220) hide show
  1. package/dist/assets/{alert-Bc6ljXPb.js → alert-QrG1sCYZ.js} +1 -1
  2. package/dist/assets/{card-add-form-B4x7u0cp.js → card-add-form-xQ3jq8UU.js} +1 -1
  3. package/dist/assets/{card-edit-form-Cf5VjS68.js → card-edit-form-ij_WELVm.js} +1 -1
  4. package/dist/assets/{checkbox-C8Q48mHi.js → checkbox-DC8SWg5-.js} +1 -1
  5. package/dist/assets/{clamp-lVqf-YIx.js → clamp-FW02HANf.js} +1 -1
  6. package/dist/assets/{col-DG0Uk0fn.js → col-DutoOaP1.js} +1 -1
  7. package/dist/assets/{collapse-itpGQffm.js → collapse-YYBw5kEr.js} +1 -1
  8. package/dist/assets/{common-Bn7l0dTZ.js → common-DkmUkaQU.js} +3 -3
  9. package/dist/assets/components-7TijlKrf.js +1 -0
  10. package/dist/assets/{components-0KOwvMX5.js → components-B9rBWPBZ.js} +1 -1
  11. package/dist/assets/components-CJN-jy0X.js +1 -0
  12. package/dist/assets/components-CMvUs0Wr.js +6 -0
  13. package/dist/assets/{components-B3v9rgBa.js → components-CN6pwpAH.js} +1 -1
  14. package/dist/assets/{components-Dsancsu8.js → components-CRnkbXLk.js} +2 -2
  15. package/dist/assets/{components-Da42LJvb.js → components-Cifm_fnj.js} +1 -1
  16. package/dist/assets/components-DdRbccBG.js +1 -0
  17. package/dist/assets/{components-Dc4T4W8z.js → components-mhuhocCR.js} +1 -1
  18. package/dist/assets/{components-dPbDseUH.js → components-uz62kHtl.js} +1 -1
  19. package/dist/assets/composables-B9DljBQT.js +1 -0
  20. package/dist/assets/{composables-XOSB-fgc.js → composables-BOOOE2P5.js} +1 -1
  21. package/dist/assets/{composables-DHER6Xkm.js → composables-C-o6-CAH.js} +1 -1
  22. package/dist/assets/{composables-D76SlpcV.js → composables-CPxXv_dj.js} +1 -1
  23. package/dist/assets/{composables-BSctq0KM.js → composables-CptvqUdI.js} +1 -1
  24. package/dist/assets/composables-D0d8feiK.js +1 -0
  25. package/dist/assets/{composables-DUQ9KHEb.js → composables-DC6tLXWe.js} +1 -1
  26. package/dist/assets/{composables-ZLvwxxZC.js → composables-DPgLjJbY.js} +1 -1
  27. package/dist/assets/composables-DleezpFx2.js +1 -0
  28. package/dist/assets/composables-DlulzZQO.js +1 -0
  29. package/dist/assets/{composables-DW-Zpqxd.js → composables-kGCsTX0b.js} +1 -1
  30. package/dist/assets/{config-CAo-YTTc.js → config-CdzBdVwi.js} +2 -2
  31. package/dist/assets/{dashboard-CtTnq3HK.js → dashboard-C9xOrxUn.js} +2 -2
  32. package/dist/assets/{dashboard.types-BpuAFT4r.js → dashboard.types-B1PBhwVR.js} +1 -1
  33. package/dist/assets/{data-source-edit-form-D35kVTS6.js → data-source-edit-form-DEVPfSNf.js} +1 -1
  34. package/dist/assets/{descriptions-M8aFuu-k.js → descriptions-AI3JbKtS.js} +1 -1
  35. package/dist/assets/{devices-D3cFtzR9.js → devices-CZPTk_Qy.js} +2 -2
  36. package/dist/assets/{devices-virtual.constants-C1_ro-LK.js → devices-virtual.constants-BIMeiR5r.js} +1 -1
  37. package/dist/assets/{dialog-DhC8145N.js → dialog-Bfheq391.js} +1 -1
  38. package/dist/assets/{drawer-ByKAvd_2.js → drawer-C7FPifGU.js} +1 -1
  39. package/dist/assets/{form-jpL98Nph.js → form-D4GORLIN.js} +1 -1
  40. package/dist/assets/{index-s5sxH1P9.js → index-DspO5k2d.js} +6 -6
  41. package/dist/assets/input-number-BZA4bSND.js +1 -0
  42. package/dist/assets/{integration-config-dialog-aLehHqcK.js → integration-config-dialog-DCWljoXP.js} +1 -1
  43. package/dist/assets/{keys-C5NnpJdN.js → keys-TghOLUK_.js} +1 -1
  44. package/dist/assets/{layout-config-NcC5DHPR.js → layout-config-B5_LNz9i.js} +1 -1
  45. package/dist/assets/{layout-default-CPoBlQZ5.js → layout-default-CQvX8pvu.js} +1 -1
  46. package/dist/assets/{layout-lock-CESlP_M8.js → layout-lock-DRVJcMfF.js} +1 -1
  47. package/dist/assets/layout-profile-DWnH5jHT.js +1 -0
  48. package/dist/assets/{layout-profile-0bWlxiwz.js → layout-profile-PUlyhE4I.js} +1 -1
  49. package/dist/assets/{layout-sign-Cg2b24JH.js → layout-sign-AHug0XoT.js} +1 -1
  50. package/dist/assets/layout-sign-DvG4Nfc1.js +1 -0
  51. package/dist/assets/{list-data-sources-adjust-2lJX_ENq.js → list-data-sources-adjust-6RL1H-hB.js} +1 -1
  52. package/dist/assets/{list-locations-uySMgHl2.js → list-locations-BgjPPXLh.js} +1 -1
  53. package/dist/assets/{list-users-BBgR3DOQ.js → list-users-BBeCJy0F.js} +1 -1
  54. package/dist/assets/{logs-entries.transformers-BjKfup2a.js → logs-entries.transformers-p26XEWE3.js} +1 -1
  55. package/dist/assets/{mcp.exceptions-D0YUoxSw.js → mcp.exceptions-0AO2PkjW.js} +1 -1
  56. package/dist/assets/notifications.exceptions-iK91Mjq1.js +1 -0
  57. package/dist/assets/{omit-B_6GPdqv.js → omit-CwOnvSVN.js} +1 -1
  58. package/dist/assets/{page-configure-By4HPQSb.js → page-configure-BN473onl.js} +1 -1
  59. package/dist/assets/{page-configure-DE6uqM2E.js → page-configure-BwvoI9-V.js} +1 -1
  60. package/dist/assets/pagination-CSrb9USq.js +1 -0
  61. package/dist/assets/radio-BfBpfygp.js +1 -0
  62. package/dist/assets/{scene-add-form-CAxqp0MZ.js → scene-add-form-CHA8yKeQ.js} +1 -1
  63. package/dist/assets/{scene-edit-form-CvKkPJuT.js → scene-edit-form-DScYyBtx.js} +1 -1
  64. package/dist/assets/{schemas.utils-BElnm6kF.js → schemas.utils-D840MBN3.js} +1 -1
  65. package/dist/assets/select-SNW1ZnG3.js +1 -0
  66. package/dist/assets/{select-data-source-plugin-C80G-hUW.js → select-data-source-plugin-D3pcvOKH.js} +1 -1
  67. package/dist/assets/{slider-Dne3bbVF.js → slider-Cfdt_kIA.js} +1 -1
  68. package/dist/assets/{spaces-DWJb7hcY.js → spaces-D-tQFPMe.js} +2 -2
  69. package/dist/assets/spaces-home-control.constants-Ci3s_u49.js +1 -0
  70. package/dist/assets/{steps-CKdwrlWC.js → steps-DVtRuf_2.js} +1 -1
  71. package/dist/assets/system-BkBBlA8r.js +2 -0
  72. package/dist/assets/{table-DiAinRPD.js → table-DOZz9A77.js} +1 -1
  73. package/dist/assets/tabs-CUYibH1q.js +1 -0
  74. package/dist/assets/{tile-detail-PAEZvBde.js → tile-detail-E3wkJ8QA.js} +1 -1
  75. package/dist/assets/{tile-edit-form-B4Fn98xv.js → tile-edit-form-DrcZiDuz.js} +1 -1
  76. package/dist/assets/types-B6K6Du7l.js +1 -0
  77. package/dist/assets/types-CKQ-nhSt.js +1 -0
  78. package/dist/assets/{use-dialog-B0Bfl4rV.js → use-dialog-BNeR0eyg.js} +1 -1
  79. package/dist/assets/{use-ordered-children-DKgoLYUM.js → use-ordered-children-D5mRegXD.js} +1 -1
  80. package/dist/assets/useBuddyChat-O-Nu32au.js +1 -0
  81. package/dist/assets/{useConfigModule-R_7PM1I0.js → useConfigModule-DLtc9prD.js} +1 -1
  82. package/dist/assets/{useDataSources-CSAJizk1.js → useDataSources-Hdo8qJZg.js} +1 -1
  83. package/dist/assets/{useDevicesPlugins-DWrs7Fyl.js → useDevicesPlugins-BNDlsi9J.js} +1 -1
  84. package/dist/assets/useEventBus-Bqm_mpTp.js +1 -0
  85. package/dist/assets/useExtensions-DoQMQb0z.js +1 -0
  86. package/dist/assets/{useGeolocation-BTHIW0Vo.js → useGeolocation-BDxIXwid.js} +1 -1
  87. package/dist/assets/useLocation-D66xYs9N.js +1 -0
  88. package/dist/assets/{useMcpClients-DcNgf4kP.js → useMcpClients-1EbfQ9P3.js} +1 -1
  89. package/dist/assets/{useModule-CXgrRxAp.js → useModule-CkH6rcF3.js} +1 -1
  90. package/dist/assets/{useModules-CTA2wgv3.js → useModules-Diux-w1Q.js} +1 -1
  91. package/dist/assets/{useNumberFormat-CihLXNU2.js → useNumberFormat-Cpk8jRAr.js} +1 -1
  92. package/dist/assets/{usePage-C9_04WQu.js → usePage-qUuM3PR6.js} +1 -1
  93. package/dist/assets/{usePersonalTokens-0POLLRnY.js → usePersonalTokens-ePsqRodN.js} +1 -1
  94. package/dist/assets/{usePlugin-kD3zkpk6.js → usePlugin-DAzjvxjS.js} +1 -1
  95. package/dist/assets/{usePlugins-BE15XY1o.js → usePlugins-BzLkBW9_.js} +1 -1
  96. package/dist/assets/{useSpaces-kPcgR4I4.js → useSpaces-CWuh4Y89.js} +1 -1
  97. package/dist/assets/{useUuid-CglXc4gF.js → useUuid-d9Pl2-B1.js} +1 -1
  98. package/dist/assets/{view-buddy-chat-cpi2sm5F.js → view-buddy-chat-DgkTnDkf.js} +1 -1
  99. package/dist/assets/{view-card-add-dHXYuPoI.js → view-card-add-D9LBvOga.js} +1 -1
  100. package/dist/assets/view-card-edit-bpvsyA1z.js +1 -0
  101. package/dist/assets/{view-channel-rYG4gyDj.js → view-channel-BB9Pjpao.js} +1 -1
  102. package/dist/assets/{view-channel-add-Dg50oE6d.js → view-channel-add-C9Kwwr8a.js} +1 -1
  103. package/dist/assets/view-channel-edit-CNpZgVjF.js +1 -0
  104. package/dist/assets/{view-channel-property-add-CrXFXsIW.js → view-channel-property-add-C_JC8OEg.js} +1 -1
  105. package/dist/assets/{view-channel-property-edit-xI642YYx.js → view-channel-property-edit-CZ7mEb73.js} +1 -1
  106. package/dist/assets/{view-channels-B0YasPyU.js → view-channels-Bn_g2ZPC.js} +1 -1
  107. package/dist/assets/{view-config-module-edit-DvIZUIoY.js → view-config-module-edit-D1EjDVlr.js} +1 -1
  108. package/dist/assets/{view-config-modules-Cpl4pRnH.js → view-config-modules-ggI2BfJX.js} +1 -1
  109. package/dist/assets/{view-config-plugin-edit-BnYjdm-M.js → view-config-plugin-edit-X-ItOKUt.js} +1 -1
  110. package/dist/assets/{view-config-plugins-CDHn_Y7z.js → view-config-plugins-C_yffKUH.js} +1 -1
  111. package/dist/assets/{view-data-source-add-JnCP4qPQ.js → view-data-source-add-BY8C94Cw.js} +1 -1
  112. package/dist/assets/view-data-source-add-v_akMAIZ.js +1 -0
  113. package/dist/assets/{view-data-source-edit-CMTCeuLV.js → view-data-source-edit-BvwZfjcY.js} +1 -1
  114. package/dist/assets/{view-data-source-edit-DtAzqjtE.js → view-data-source-edit-sz5TUYS-.js} +1 -1
  115. package/dist/assets/view-device-CvgIHrRG.js +1 -0
  116. package/dist/assets/view-device-add-Cvp9rRho.js +1 -0
  117. package/dist/assets/{view-device-control-DdMGpqjp.js → view-device-control-CVzclK1W.js} +1 -1
  118. package/dist/assets/{view-device-edit-BxDSjwZC.js → view-device-edit-Cv-7OxTh.js} +1 -1
  119. package/dist/assets/{view-devices-DlfHUUVx.js → view-devices-vBg-hpSw.js} +1 -1
  120. package/dist/assets/{view-devices-wizard-D5nnJ7kp.js → view-devices-wizard-B2m-QpZf.js} +1 -1
  121. package/dist/assets/{view-display-DF7n1Ma7.js → view-display-BeXpzbyP.js} +1 -1
  122. package/dist/assets/{view-display-edit-B14Vz_PU.js → view-display-edit-DLXJwBL0.js} +1 -1
  123. package/dist/assets/{view-display-tokens-BVYDl9PU.js → view-display-tokens-CiXmtc2w.js} +1 -1
  124. package/dist/assets/{view-displays-CsyrHH6e.js → view-displays-Cm3Fc3dW.js} +1 -1
  125. package/dist/assets/{view-extension-detail-D5D3owAm.js → view-extension-detail-DN82Favg.js} +1 -1
  126. package/dist/assets/{view-extensions-2qpYYPIg.js → view-extensions-BvH9mCbu.js} +1 -1
  127. package/dist/assets/{view-location-CS43dxHB.js → view-location-C9JKUHrG.js} +1 -1
  128. package/dist/assets/{view-location-add-CYRPjb2K.js → view-location-add-Cyw9rNUf.js} +1 -1
  129. package/dist/assets/view-location-edit-aKeRl0KT.js +1 -0
  130. package/dist/assets/{view-locations-cm61ZZVu.js → view-locations-BRvsyxJX.js} +1 -1
  131. package/dist/assets/{view-lock-screen-Bxd62Z7P.js → view-lock-screen-CwFynNcI.js} +1 -1
  132. package/dist/assets/view-mcp-clients-4Wbh1wHR.js +1 -0
  133. package/dist/assets/{view-mcp-oauth-consent-CxTGj6oc.js → view-mcp-oauth-consent-Bg7DsVZA.js} +1 -1
  134. package/dist/assets/{view-mcp-oauth-management-6LFmtUIE.js → view-mcp-oauth-management-Dd1VS4ue.js} +1 -1
  135. package/dist/assets/{view-notifications-DXtoy3F7.js → view-notifications-CPtnm75W.js} +1 -1
  136. package/dist/assets/view-onboarding-Cy66_-so.js +1 -0
  137. package/dist/assets/{view-page-B3HzxxsX.js → view-page-B5vr7x6L.js} +1 -1
  138. package/dist/assets/{view-page-add-Bz0-KkC8.js → view-page-add-Bx4kqewh.js} +1 -1
  139. package/dist/assets/view-page-configure-C8gP42vB.js +1 -0
  140. package/dist/assets/view-page-configure-DLbQ0jo4.js +1 -0
  141. package/dist/assets/{view-page-data-source-add-sBhundim.js → view-page-data-source-add-Bw6M4YHe.js} +1 -1
  142. package/dist/assets/{view-page-data-source-edit-BUDtKHqt.js → view-page-data-source-edit-Dgg9mncl.js} +1 -1
  143. package/dist/assets/{view-page-edit-boPE7ykI.js → view-page-edit-Dye6EYLo.js} +1 -1
  144. package/dist/assets/{view-page-plugin-BeDc-i9y.js → view-page-plugin-DEtt9En1.js} +1 -1
  145. package/dist/assets/{view-pages-BX1YcSiV.js → view-pages-Dn8Drdve.js} +1 -1
  146. package/dist/assets/{view-profile-general-DOypVvxs.js → view-profile-general-DcuWoY91.js} +1 -1
  147. package/dist/assets/{view-profile-security-BJg_3p8X.js → view-profile-security-D43iEga-.js} +1 -1
  148. package/dist/assets/{view-remote-access-BPpD4vh8.js → view-remote-access-e4HQhY5z.js} +1 -1
  149. package/dist/assets/{view-scene-add-B5nE1_9A.js → view-scene-add-RhFPc4Wu.js} +1 -1
  150. package/dist/assets/{view-scene-edit-BDTtehVO.js → view-scene-edit-C2C5cYN8.js} +1 -1
  151. package/dist/assets/{view-scenes-BvOCSVVZ.js → view-scenes-cbBuTg7e.js} +1 -1
  152. package/dist/assets/{view-sign-in-BJccCXjl.js → view-sign-in-B44x2dGs.js} +1 -1
  153. package/dist/assets/{view-sign-up-DTxO1jnm.js → view-sign-up-BkgRGItz.js} +1 -1
  154. package/dist/assets/view-simulator-device-wizard-o9e4Adtr.js +1 -0
  155. package/dist/assets/{view-space-add-7b9qh77w.js → view-space-add-BkLSwO2X.js} +1 -1
  156. package/dist/assets/{view-space-configure-DaR-fxwT.js → view-space-configure-DbW2ofRt.js} +1 -1
  157. package/dist/assets/{view-space-edit-DR5oXpyg.js → view-space-edit-DP5Y5ggD.js} +1 -1
  158. package/dist/assets/{view-space-plugin-BLF5lyOd.js → view-space-plugin-Cwd9TUxg.js} +1 -1
  159. package/dist/assets/view-spaces-C6SFJ1VW.js +1 -0
  160. package/dist/assets/{view-spaces-wizard-BB_-rtib.js → view-spaces-wizard-Y3wiwlhs.js} +1 -1
  161. package/dist/assets/{view-stats-D7o5aSAc.js → view-stats-CA_2sfRr.js} +1 -1
  162. package/dist/assets/{view-system-backups-DcOzOinf.js → view-system-backups-BEq7Epp3.js} +1 -1
  163. package/dist/assets/{view-system-info-CkB9iblU.js → view-system-info-CuyLpYBp.js} +1 -1
  164. package/dist/assets/{view-system-log-detail-HoBcLS9y.js → view-system-log-detail-hV6W2zsL.js} +1 -1
  165. package/dist/assets/{view-system-logs-_uTtopJc.js → view-system-logs-Bci103E2.js} +1 -1
  166. package/dist/assets/view-tile-BPCK9n9t.js +1 -0
  167. package/dist/assets/{view-tile-add-D3JURMrl.js → view-tile-add-CF9ubtMw.js} +1 -1
  168. package/dist/assets/{view-tile-add-CetZHPLA.js → view-tile-add-h0VJqXUB.js} +1 -1
  169. package/dist/assets/{view-tile-data-source-add-C5zeEU15.js → view-tile-data-source-add-CVTfQps5.js} +1 -1
  170. package/dist/assets/{view-tile-data-source-edit-meG-cEWv.js → view-tile-data-source-edit-BzY0kuaA.js} +1 -1
  171. package/dist/assets/{view-tile-edit-I6s2oufQ.js → view-tile-edit-50dQVXk8.js} +1 -1
  172. package/dist/assets/{view-tile-edit-DI7MVvjk.js → view-tile-edit-BDAe8RfW.js} +1 -1
  173. package/dist/assets/{view-tile-edit-B3LkQVu3.js → view-tile-edit-DR26QBRL.js} +1 -1
  174. package/dist/assets/{view-user-add-Bu2LDCre.js → view-user-add-D6yErQib.js} +1 -1
  175. package/dist/assets/{view-user-edit-BwbWL9a6.js → view-user-edit-Dx054xQN.js} +1 -1
  176. package/dist/assets/view-users-BRcK8se-.js +1 -0
  177. package/dist/assets/view-virtual-device-wizard-B958dSM1.js +1 -0
  178. package/dist/assets/{weather-CWHuUa88.js → weather-B-E6b7Uj.js} +2 -2
  179. package/dist/assets/{weather-forecast.transformers-vh4hgT-a.js → weather-forecast.transformers-Byk60sNo.js} +1 -1
  180. package/dist/index.html +91 -91
  181. package/package.json +1 -1
  182. package/dist/assets/components-BQk9ABpe.js +0 -1
  183. package/dist/assets/components-CJWEFCAE.js +0 -6
  184. package/dist/assets/components-DS0uNHCr.js +0 -1
  185. package/dist/assets/components-DT2rRZ-S.js +0 -1
  186. package/dist/assets/composables-B8QvbgV62.js +0 -1
  187. package/dist/assets/composables-CH-OkvsW.js +0 -1
  188. package/dist/assets/composables-CmYPZ47C.js +0 -1
  189. package/dist/assets/composables-DdPJS-mE.js +0 -1
  190. package/dist/assets/input-number-BRmkMRRq.js +0 -1
  191. package/dist/assets/layout-profile-C4ht-llW.js +0 -1
  192. package/dist/assets/layout-sign-_yS8Xz76.js +0 -1
  193. package/dist/assets/notifications.exceptions-CpBjpo3W.js +0 -1
  194. package/dist/assets/pagination-CdLRjz12.js +0 -1
  195. package/dist/assets/radio-CMz-0Y0Y.js +0 -1
  196. package/dist/assets/select-pvePhCbe.js +0 -1
  197. package/dist/assets/spaces-home-control.constants-bGgXf051.js +0 -1
  198. package/dist/assets/system-Dz9Oatwt.js +0 -2
  199. package/dist/assets/tabs-DIGEewlR.js +0 -1
  200. package/dist/assets/types--W3-1FoJ.js +0 -1
  201. package/dist/assets/types-DzAQW7Py.js +0 -1
  202. package/dist/assets/useBuddyChat-CHeVnV6E.js +0 -1
  203. package/dist/assets/useEventBus-CEYwTYd6.js +0 -1
  204. package/dist/assets/useExtensions-fmnb_pZR.js +0 -1
  205. package/dist/assets/useLocation-B7kX3B8V.js +0 -1
  206. package/dist/assets/view-card-edit-kvtcgYdp.js +0 -1
  207. package/dist/assets/view-channel-edit-Dd_hpvE-.js +0 -1
  208. package/dist/assets/view-data-source-add-BeHpMEWY.js +0 -1
  209. package/dist/assets/view-device-Ci9Lt36U.js +0 -1
  210. package/dist/assets/view-device-add-DAeFLE7B.js +0 -1
  211. package/dist/assets/view-location-edit-DwnmyFCR.js +0 -1
  212. package/dist/assets/view-mcp-clients-DmWpQiHV.js +0 -1
  213. package/dist/assets/view-onboarding-Z1W0nz_2.js +0 -1
  214. package/dist/assets/view-page-configure-DUhE_7Mv.js +0 -1
  215. package/dist/assets/view-page-configure-pvQyC5nt.js +0 -1
  216. package/dist/assets/view-simulator-device-wizard-DZ-taA1b.js +0 -1
  217. package/dist/assets/view-spaces-Z8CI7cFu.js +0 -1
  218. package/dist/assets/view-tile-DPs5o6f9.js +0 -1
  219. package/dist/assets/view-users-DvBH7yS0.js +0 -1
  220. package/dist/assets/view-virtual-device-wizard-WQUKpJGN.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Er as e,Si as t,T as n,ci as r,ki as i,n as a,yi as o}from"./icon-with-child-CgZMNB3F.js";import{Mt as s,Nt as c,Pr as l,Pt as u,_ as d,fa as f,gt as p,it as m,jn as h,m as g,p as _,s as v,x as y,yt as b}from"./common-Bn7l0dTZ.js";import{t as x}from"./dist-DJgPCOr0.js";import{s as S}from"./system.constants-BvSIFqdm.js";import{n as C}from"./logs-entries.transformers-BjKfup2a.js";import"./useExtensions-fmnb_pZR.js";var w=`extensions-module`,T={EXTENSIONS:`extensions_module-extensions`,EXTENSION:`extensions_module-extension`,EXTENSION_DETAIL:`extensions_module-extension-detail`},E=`table`,D=(e,t,n)=>`${e}:${t}:${n}`,O=t=>{let n=y().getStore(s),{semaphore:r,firstLoad:a}=f(n);return{extension:e(()=>n.findByType(i(t.type))),isLoading:e(()=>r.value.fetching.items||!a.value),fetchExtension:async()=>{await n.fetch()}}},k=p({search:b().optional(),kind:m([`all`,h.module,h.plugin]).default(`all`),enabled:m([`all`,`enabled`,`disabled`]).default(`all`),isCore:m([`all`,`core`,`addon`]).default(`all`)}),A={search:void 0,kind:`all`,enabled:`all`,isCore:`all`},j={by:`name`,dir:`asc`},M=()=>{let n=y().getStore(s),{semaphore:i}=f(n),{filters:a,sort:o,pagination:c,viewMode:l,reset:u}=v({key:`${w}:extensions:list`,filters:{schema:k,defaults:A},sort:{defaults:[j]},pagination:{defaults:{page:1,size:10}},viewMode:{options:[`table`,`cards`],default:E},syncQuery:!0,version:1}),d=e({get:()=>l.value??`table`,set:e=>{l.value=e}}),p=e(()=>a.value.search!==A.search||a.value.kind!==A.kind||a.value.enabled!==A.enabled||a.value.isCore!==A.isCore),m=t(c.value.size||10),g=t(c.value.page||1),_=t(o.value.length>0?o.value[0]?.by:void 0),b=t(o.value.length>0?o.value[0]?.dir??null:null),S=e(()=>Object.values(n.data)),C=e(()=>x(S.value.filter(e=>(!a.value.search||e.type.toLowerCase().includes(a.value.search.toLowerCase())||e.name.toLowerCase().includes(a.value.search.toLowerCase())||e.description?.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.kind===`all`||e.kind===a.value.kind)&&(a.value.enabled===`all`||a.value.enabled===`enabled`&&e.enabled||a.value.enabled===`disabled`&&!e.enabled)&&(a.value.isCore===`all`||a.value.isCore===`core`&&e.isCore||a.value.isCore===`addon`&&!e.isCore)),[e=>_.value===`enabled`?+!!e.enabled:e[_.value]??``],[b.value===`asc`?`asc`:`desc`])),T=e(()=>C.value),D=e(()=>{let e=(g.value-1)*m.value,t=e+m.value;return T.value.slice(e,t)}),O=e(()=>C.value.filter(e=>e.kind===h.module)),M=e(()=>C.value.filter(e=>e.kind===h.plugin)),N=async()=>{await n.fetch()},P=e(()=>i.value.fetching.items),F=e(()=>T.value.length);return r(()=>c.value,e=>{g.value=e.page??1,m.value=e.size??10},{deep:!0}),r(()=>g.value,e=>{c.value.page=e}),r(()=>m.value,e=>{c.value.size=e}),r(()=>b.value,e=>{_.value===void 0||e===null?o.value=[]:o.value=[{by:_.value,dir:e}]}),r(()=>_.value,e=>{e===void 0||b.value===null?o.value=[]:o.value=[{by:e,dir:b.value}]}),{extensions:T,extensionsPaginated:D,modules:O,plugins:M,totalRows:F,areLoading:P,fetchExtensions:N,filters:a,filtersActive:p,paginateSize:m,paginatePage:g,sortBy:_,sortDir:b,viewMode:d,resetFilter:u}},N=()=>{let{t:e}=n(),t=y(),r=_(),i=t.getStore(s),a=t.getStore(c);return{toggleEnabled:async(t,n)=>{try{return await i.update({type:t,data:{enabled:n}}),r.success(e(n?`extensionsModule.messages.extensionEnabled`:`extensionsModule.messages.extensionDisabled`)),n&&setTimeout(()=>{a.fetch().then(()=>{let e=a.findAll().filter(e=>e.extensionType===t);for(let t of e)t.lastError&&r.warning(t.lastError)}).catch(()=>{})},1500),!0}catch(t){return t instanceof u&&t.code===400?r.error(e(`extensionsModule.messages.notConfigurableError`)):r.error(e(`extensionsModule.messages.updateError`)),!1}},bulkEnable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&!e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToEnable`));return}try{await l.confirm(e(`extensionsModule.messages.confirmBulkEnable`,{count:n.length}),e(`extensionsModule.headings.bulkEnable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`info`})}catch{r.info(e(`extensionsModule.messages.bulkEnableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!0});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkEnabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:n.length}))}},bulkDisable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToDisable`));return}try{await l.confirm(e(`extensionsModule.messages.confirmBulkDisable`,{count:n.length}),e(`extensionsModule.headings.bulkDisable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`warning`})}catch{r.info(e(`extensionsModule.messages.bulkDisableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!1});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkDisabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:n.length}))}}}},P=n=>{let s=g(),c=d(),l=t({}),u=t(!1),f=t(!1),p=t(!1),m=t(void 0),h=t(!1),_=t([]),v=t(`all`),y=null,b={"1h":3600*1e3,"6h":360*60*1e3,"24h":1440*60*1e3,"7d":10080*60*1e3,all:0},x=e(()=>Object.values(l.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),w=e(()=>{let e=x.value;if(_.value.length>0&&(e=e.filter(e=>_.value.includes(e.type))),v.value!==`all`){let t=Date.now()-b[v.value];e=e.filter(e=>new Date(e.ts).getTime()>=t)}return e}),T=e(()=>_.value.length>0||v.value!==`all`),E=()=>{_.value=[],v.value=`all`},D=async()=>{let e=i(n.extensionType);y=e,f.value=!0;try{let{data:t,error:n}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,limit:50}}});if(y!==e)return;if(t!==void 0){let e=Object.fromEntries(t.data.map(e=>{let t=C(e);return[t.id,t]}));l.value=e,p.value=!0,u.value=t.metadata.has_more,m.value=t.metadata.next_cursor}else n&&c.error(`Failed to fetch extension logs:`,n)}catch(t){y===e&&c.error(`Error fetching extension logs:`,t)}finally{y===e&&(f.value=!1)}},O=async()=>{if(f.value||!u.value||!m.value)return;let e=i(n.extensionType),t=m.value;f.value=!0;try{let{data:n,error:r}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,after_id:t,limit:50}}});if(y!==e)return;if(n!==void 0){let e=Object.fromEntries(n.data.map(e=>{let t=C(e);return[t.id,t]}));l.value={...l.value,...e},u.value=n.metadata.has_more,m.value=n.metadata.next_cursor}else r&&c.error(`Failed to load more extension logs:`,r)}catch(t){y===e&&c.error(`Error loading more extension logs:`,t)}finally{y===e&&(f.value=!1)}},k=async()=>{l.value={},m.value=void 0,u.value=!1,p.value=!1,await D()},A=null;return r(()=>h.value,e=>{A&&=(clearInterval(A),null),e&&(A=setInterval(()=>void D(),3e3))}),o(()=>{A&&=(clearInterval(A),null)}),r(()=>i(n.extensionType),()=>{k()}),{logs:w,hasMore:u,isLoading:f,loaded:p,live:h,filterLevels:_,filterTimeRange:v,filtersActive:T,clearFilters:E,fetchLogs:D,loadMoreLogs:O,refreshLogs:k}},F=()=>{let t=y().getStore(c),{data:n,semaphore:r}=f(t);return{services:e(()=>Object.values(n.value)),areLoading:e(()=>r.value.fetching.items),fetchServices:async()=>{await t.fetch()}}};export{O as a,T as c,M as i,P as n,D as o,N as r,w as s,F as t};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Er as e,Si as t,T as n,ci as r,ki as i,n as a,yi as o}from"./icon-with-child-CgZMNB3F.js";import{Fr as s,Mt as c,Nt as l,Pt as u,_ as d,gt as f,it as p,jn as m,m as h,p as g,pa as _,s as v,x as y,yt as b}from"./common-DkmUkaQU.js";import{t as x}from"./dist-DJgPCOr0.js";import{s as S}from"./system.constants-BvSIFqdm.js";import{n as C}from"./logs-entries.transformers-p26XEWE3.js";import"./useExtensions-DoQMQb0z.js";var w=`extensions-module`,T={EXTENSIONS:`extensions_module-extensions`,EXTENSION:`extensions_module-extension`,EXTENSION_DETAIL:`extensions_module-extension-detail`},E=`table`,D=(e,t,n)=>`${e}:${t}:${n}`,O=t=>{let n=y().getStore(c),{semaphore:r,firstLoad:a}=_(n);return{extension:e(()=>n.findByType(i(t.type))),isLoading:e(()=>r.value.fetching.items||!a.value),fetchExtension:async()=>{await n.fetch()}}},k=f({search:b().optional(),kind:p([`all`,m.module,m.plugin]).default(`all`),enabled:p([`all`,`enabled`,`disabled`]).default(`all`),isCore:p([`all`,`core`,`addon`]).default(`all`)}),A={search:void 0,kind:`all`,enabled:`all`,isCore:`all`},j={by:`name`,dir:`asc`},M=()=>{let n=y().getStore(c),{semaphore:i}=_(n),{filters:a,sort:o,pagination:s,viewMode:l,reset:u}=v({key:`${w}:extensions:list`,filters:{schema:k,defaults:A},sort:{defaults:[j]},pagination:{defaults:{page:1,size:10}},viewMode:{options:[`table`,`cards`],default:E},syncQuery:!0,version:1}),d=e({get:()=>l.value??`table`,set:e=>{l.value=e}}),f=e(()=>a.value.search!==A.search||a.value.kind!==A.kind||a.value.enabled!==A.enabled||a.value.isCore!==A.isCore),p=t(s.value.size||10),h=t(s.value.page||1),g=t(o.value.length>0?o.value[0]?.by:void 0),b=t(o.value.length>0?o.value[0]?.dir??null:null),S=e(()=>Object.values(n.data)),C=e(()=>x(S.value.filter(e=>(!a.value.search||e.type.toLowerCase().includes(a.value.search.toLowerCase())||e.name.toLowerCase().includes(a.value.search.toLowerCase())||e.description?.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.kind===`all`||e.kind===a.value.kind)&&(a.value.enabled===`all`||a.value.enabled===`enabled`&&e.enabled||a.value.enabled===`disabled`&&!e.enabled)&&(a.value.isCore===`all`||a.value.isCore===`core`&&e.isCore||a.value.isCore===`addon`&&!e.isCore)),[e=>g.value===`enabled`?+!!e.enabled:e[g.value]??``],[b.value===`asc`?`asc`:`desc`])),T=e(()=>C.value),D=e(()=>{let e=(h.value-1)*p.value,t=e+p.value;return T.value.slice(e,t)}),O=e(()=>C.value.filter(e=>e.kind===m.module)),M=e(()=>C.value.filter(e=>e.kind===m.plugin)),N=async()=>{await n.fetch()},P=e(()=>i.value.fetching.items),F=e(()=>T.value.length);return r(()=>s.value,e=>{h.value=e.page??1,p.value=e.size??10},{deep:!0}),r(()=>h.value,e=>{s.value.page=e}),r(()=>p.value,e=>{s.value.size=e}),r(()=>b.value,e=>{g.value===void 0||e===null?o.value=[]:o.value=[{by:g.value,dir:e}]}),r(()=>g.value,e=>{e===void 0||b.value===null?o.value=[]:o.value=[{by:e,dir:b.value}]}),{extensions:T,extensionsPaginated:D,modules:O,plugins:M,totalRows:F,areLoading:P,fetchExtensions:N,filters:a,filtersActive:f,paginateSize:p,paginatePage:h,sortBy:g,sortDir:b,viewMode:d,resetFilter:u}},N=()=>{let{t:e}=n(),t=y(),r=g(),i=t.getStore(c),a=t.getStore(l);return{toggleEnabled:async(t,n)=>{try{return await i.update({type:t,data:{enabled:n}}),r.success(e(n?`extensionsModule.messages.extensionEnabled`:`extensionsModule.messages.extensionDisabled`)),n&&setTimeout(()=>{a.fetch().then(()=>{let e=a.findAll().filter(e=>e.extensionType===t);for(let t of e)t.lastError&&r.warning(t.lastError)}).catch(()=>{})},1500),!0}catch(t){return t instanceof u&&t.code===400?r.error(e(`extensionsModule.messages.notConfigurableError`)):r.error(e(`extensionsModule.messages.updateError`)),!1}},bulkEnable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&!e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToEnable`));return}try{await s.confirm(e(`extensionsModule.messages.confirmBulkEnable`,{count:n.length}),e(`extensionsModule.headings.bulkEnable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`info`})}catch{r.info(e(`extensionsModule.messages.bulkEnableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!0});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkEnabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:n.length}))}},bulkDisable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToDisable`));return}try{await s.confirm(e(`extensionsModule.messages.confirmBulkDisable`,{count:n.length}),e(`extensionsModule.headings.bulkDisable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`warning`})}catch{r.info(e(`extensionsModule.messages.bulkDisableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!1});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkDisabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:n.length}))}}}},P=n=>{let s=h(),c=d(),l=t({}),u=t(!1),f=t(!1),p=t(!1),m=t(void 0),g=t(!1),_=t([]),v=t(`all`),y=null,b={"1h":3600*1e3,"6h":360*60*1e3,"24h":1440*60*1e3,"7d":10080*60*1e3,all:0},x=e(()=>Object.values(l.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),w=e(()=>{let e=x.value;if(_.value.length>0&&(e=e.filter(e=>_.value.includes(e.type))),v.value!==`all`){let t=Date.now()-b[v.value];e=e.filter(e=>new Date(e.ts).getTime()>=t)}return e}),T=e(()=>_.value.length>0||v.value!==`all`),E=()=>{_.value=[],v.value=`all`},D=async()=>{let e=i(n.extensionType);y=e,f.value=!0;try{let{data:t,error:n}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,limit:50}}});if(y!==e)return;if(t!==void 0){let e=Object.fromEntries(t.data.map(e=>{let t=C(e);return[t.id,t]}));l.value=e,p.value=!0,u.value=t.metadata.has_more,m.value=t.metadata.next_cursor}else n&&c.error(`Failed to fetch extension logs:`,n)}catch(t){y===e&&c.error(`Error fetching extension logs:`,t)}finally{y===e&&(f.value=!1)}},O=async()=>{if(f.value||!u.value||!m.value)return;let e=i(n.extensionType),t=m.value;f.value=!0;try{let{data:n,error:r}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,after_id:t,limit:50}}});if(y!==e)return;if(n!==void 0){let e=Object.fromEntries(n.data.map(e=>{let t=C(e);return[t.id,t]}));l.value={...l.value,...e},u.value=n.metadata.has_more,m.value=n.metadata.next_cursor}else r&&c.error(`Failed to load more extension logs:`,r)}catch(t){y===e&&c.error(`Error loading more extension logs:`,t)}finally{y===e&&(f.value=!1)}},k=async()=>{l.value={},m.value=void 0,u.value=!1,p.value=!1,await D()},A=null;return r(()=>g.value,e=>{A&&=(clearInterval(A),null),e&&(A=setInterval(()=>void D(),3e3))}),o(()=>{A&&=(clearInterval(A),null)}),r(()=>i(n.extensionType),()=>{k()}),{logs:w,hasMore:u,isLoading:f,loaded:p,live:g,filterLevels:_,filterTimeRange:v,filtersActive:T,clearFilters:E,fetchLogs:D,loadMoreLogs:O,refreshLogs:k}},F=()=>{let t=y().getStore(l),{data:n,semaphore:r}=_(t);return{services:e(()=>Object.values(n.value)),areLoading:e(()=>r.value.fetching.items),fetchServices:async()=>{await t.fetch()}}};export{O as a,T as c,M as i,P as n,D as o,N as r,w as s,F as t};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Er as e,Si as t,T as n,bi as r,ci as i}from"./icon-with-child-CgZMNB3F.js";import{Fr as a,Vt as o,f as s,l as c,p as l,pa as u,x as d}from"./common-DkmUkaQU.js";import{t as f}from"./dist-DJgPCOr0.js";var p=`users`,m=`users-module`,h=`UsersModule.`,g=function(e){return e.USER_CREATED=`UsersModule.User.Created`,e.USER_UPDATED=`UsersModule.User.Updated`,e.USER_DELETED=`UsersModule.User.Deleted`,e.USER_RESET=`UsersModule.User.Reset`,e.MODULE_RESET=`UsersModule.All.Reset`,e}({}),_=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),v={USERS:`users_module-users`,USER_ADD:`users_module-user-add`,USER_EDIT:`users_module-user-edit`},y=Symbol(`FB-Module-Users-UsersStore`),b=class extends Error{exception;constructor(e,t=null){super(e),this.name=`UsersException`,this.exception=t}},x=class extends b{code;constructor(e,t=null,n=null){super(e,n),this.name=`UsersApiException`,this.code=t}},S=class extends b{constructor(e,t=null){super(e,t),this.name=`UsersValidationException`}},C=({id:t})=>{let n=d().getStore(y),{data:r,semaphore:i}=u(n);return{user:e(()=>t===null?null:r.value[t]??null),isLoading:e(()=>i.value.fetching.item.includes(t)?!0:r.value[t]===void 0&&i.value.fetching.items),fetchUser:async()=>{r.value[t]?.draft||await n.get({id:t})}}},w=({id:e})=>{let a=d().getStore(y),{t:s}=n(),c=l(),u=t(_.NONE),f,p=r({username:``,password:``,repeatPassword:``,email:``,firstName:``,lastName:``,role:o.user}),m=t(void 0),h=t(!1),g=async()=>{let t=s(`usersModule.messages.notCreated`,{user:p.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);u.value=_.WORKING;try{await a.add({id:e,draft:!1,data:{username:p.username,password:p.password,email:p.email?.trim()===``?null:p.email,firstName:p.firstName?.trim()===``?null:p.firstName,lastName:p.lastName?.trim()===``?null:p.lastName,role:p.role}})}catch(e){throw u.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(t),e}return u.value=_.OK,f=window.setTimeout(v,2e3),c.success(s(`usersModule.messages.created`,{user:p.username})),`added`},v=()=>{window.clearTimeout(f),u.value=_.NONE};return i(p,e=>{e.username===``&&e.password===``&&e.email===``&&e.firstName===``&&e.lastName===``&&e.role===o.user?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:u}},T=({user:e,messages:a})=>{let o=d().getStore(y),{t:s}=n(),c=l(),u=t(_.NONE),f,p=r({username:e.username,password:`secretpassword`,email:e.email||``,firstName:e.firstName||``,lastName:e.lastName||``,role:e.role}),m=t(void 0),h=t(!1),g=async()=>{let t=e.draft,n=a&&a.error?a.error:e.draft?s(`usersModule.messages.notCreated`,{user:e.username}):s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);u.value=_.WORKING;try{await o.edit({id:e.id,data:{email:!p.email||p.email.trim()===``?null:p.email,firstName:!p.firstName||p.firstName.trim()===``?null:p.firstName,lastName:!p.lastName||p.lastName.trim()===``?null:p.lastName,role:p.role}}),e.draft&&await o.save({id:e.id})}catch(e){throw u.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(n),e}return u.value=_.OK,f=window.setTimeout(v,2e3),t?(c.success(s(a&&a.success?a.success:`usersModule.messages.created`,{user:e.username})),`added`):(c.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`)},v=()=>{window.clearTimeout(f),u.value=_.NONE};return i(p,t=>{t.email===e.email&&t.firstName===e.firstName&&t.lastName===e.lastName&&t.role===e.role?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:u}},E=({user:e,messages:a})=>{let o=d().getStore(y),{t:s}=n(),c=l(),u=t(_.NONE),f,p=r({password:``,repeatPassword:``}),m=t(void 0),h=t(!1),g=async()=>{let t=a&&a.error?a.error:s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);u.value=_.WORKING;try{await o.edit({id:e.id,data:{password:p.password}}),e.draft&&await o.save({id:e.id})}catch(e){throw u.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(t),e}return u.value=_.OK,f=window.setTimeout(v,2e3),c.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`},v=()=>{window.clearTimeout(f),u.value=_.NONE};return i(p,e=>{e.password===``&&e.repeatPassword===``?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:u}},D=({user:e,messages:a})=>{let o=d().getStore(y),{t:s}=n(),c=l(),u=t(_.NONE),f,p=r({username:e.username}),m=t(void 0),h=t(!1),g=async()=>{let t=a&&a.error?a.error:s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);u.value=_.WORKING;try{await o.edit({id:e.id,data:{username:p.username}}),e.draft&&await o.save({id:e.id})}catch(e){throw u.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(t),e}return u.value=_.OK,f=window.setTimeout(v,2e3),c.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`},v=()=>{window.clearTimeout(f),u.value=_.NONE};return i(p,t=>{h.value=t.username!==e.username}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:u}},O=s(),k={search:void 0,roles:[]},A=()=>{let n=d().getStore(y),{firstLoad:r,semaphore:a}=u(n),o=t(10),s=t(1),l=t(c(k)),p=e(()=>l.value.search!==k.search||!(0,O.isEqual)(l.value.roles,k.roles)),m=t(`username`),h=t(`ascending`),g=e(()=>f(n.findAll().filter(e=>!e.draft&&(!l.value.search||e.username.toLowerCase().includes(l.value.search.toLowerCase()))&&(l.value.roles.length===0||l.value.roles.includes(e.role))),[e=>e[m.value]??``],[h.value===`ascending`?`asc`:`desc`])),_=e(()=>{let e=(s.value-1)*o.value,t=e+o.value;return g.value.slice(e,t)}),v=async()=>{await n.fetch()},b=e(()=>a.value.fetching.items||!r.value),x=e(()=>r.value),S=e(()=>n.findAll().filter(e=>!e.draft).length);return i(()=>l.value,()=>{s.value=1},{deep:!0}),{users:g,usersPaginated:_,totalRows:S,areLoading:b,loaded:x,fetchUsers:v,filters:l,filtersActive:p,paginateSize:o,paginatePage:s,sortBy:m,sortDir:h,resetFilter:()=>{l.value=c(k)}}},j=()=>{let{t:e}=n(),t=l(),r=d().getStore(y);return{remove:async n=>{let i=r.findById(n);if(i===null)throw new b(`Something went wrong, user can't be loaded`);a.confirm(e(`usersModule.texts.confirmRemove`,{user:i.username}),e(`usersModule.headings.remove`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await r.remove({id:i.id}),t.success(e(`usersModule.messages.removed`,{user:i.username}))}catch(n){if(n instanceof x&&n.code===404){let n=e(`usersModule.messages.notFound`,{user:i.username});t.error(n)}else if(n instanceof x&&n.code===422)t.error(n.message);else{let n=e(`usersModule.messages.notRemoved`,{user:i.username});t.error(n)}}}).catch(()=>{t.info(e(`usersModule.messages.removeCanceled`,{user:i.username}))})},bulkRemove:async n=>{if(n.length!==0){try{await a.confirm(e(`usersModule.texts.confirmBulkRemove`,{count:n.length}),e(`usersModule.headings.removeBulk`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await r.bulkRemove({ids:n.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`usersModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`usersModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`usersModule.messages.bulkRemoveFailed`,{count:n.length}))}}}}};export{p as _,T as a,x as c,y as d,g as f,m as g,h,E as i,b as l,v as m,A as n,w as o,_ as p,D as r,C as s,j as t,S as u};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Si as n,T as r,bi as i,ci as a,ji as o,ki as s}from"./icon-with-child-CgZMNB3F.js";import{Pr as c,bt as l,f as u,fa as d,gt as f,ht as p,it as m,l as h,ot as g,p as _,pt as v,s as y,st as b,x,yt as S}from"./common-Bn7l0dTZ.js";import{r as C}from"./config-CAo-YTTc.js";import{r as w}from"./usePlugins-BE15XY1o.js";import{t as T}from"./dist-DJgPCOr0.js";import{t as E}from"./keys-DExX7OfU.js";import{C as D,S as O,_ as k,b as A,d as j,g as M,h as N,n as P,s as F,y as I}from"./keys-C5NnpJdN.js";import{l as L,u as R}from"./useSpaces-kPcgR4I4.js";import{o as z}from"./keys-DMEIfK2a.js";var B=e=>{let n=x().getStore(P),{data:r,semaphore:i}=d(n);return{space:t(()=>e.value?r.value[e.value]??null:null),fetching:t(()=>e.value?i.value.fetching.item.includes(e.value):!1),fetchSpace:async()=>e.value?n.get({id:e.value}):null,editSpace:async t=>{if(!e.value)throw Error(`Space ID is required`);return n.edit({id:e.value,data:t})},removeSpace:async()=>{if(!e.value)throw Error(`Space ID is required`);return n.remove({id:e.value})}}},V=u(),H=f({search:S().optional(),types:g(S())}),U=f({name:S().min(1),description:S().nullable().optional(),category:l([v(N),v(k)]).nullable().optional(),icon:S().nullable().optional(),displayOrder:p().int().min(0).default(0),parentId:S().uuid().nullable().optional()}),W=U.extend({id:S().uuid(),type:m([M.ROOM,M.ZONE]).default(M.ROOM)}),G=U.extend({id:S().uuid(),type:v(M),suggestionsEnabled:b().default(!0),statusWidgets:g(L).nullable().optional()}),K=({id:t,type:o})=>{let s=x().getStore(P),{t:c}=r(),l=_(),u=n(F.NONE),d=n(null),f,p=i({id:t,type:o??M.ROOM,name:``,description:null,category:null,icon:null,displayOrder:0,parentId:null}),m=h(e(p)),g=n(void 0),v=n(!1),y=async()=>{if(g.value.clearValidate(),!await g.value.validate())throw Error(`Form not valid`);let e=W.safeParse(p);if(!e.success)throw Error(`Failed to validate create space model.`);u.value=F.WORKING;let n=c(`spacesModule.messages.notCreated`,{space:p.name});try{d.value=await s.add({id:t,data:{name:e.data.name,type:e.data.type,category:e.data.category??null,description:e.data.description??null,icon:e.data.icon??null,displayOrder:e.data.displayOrder,parentId:e.data.parentId??null}})}catch(e){throw u.value=F.ERROR,d.value=null,f=window.setTimeout(b,2e3),l.error(n),e}return u.value=F.OK,f=window.setTimeout(b,2e3),l.success(c(`spacesModule.messages.created`,{space:p.name})),`added`},b=()=>{window.clearTimeout(f),u.value=F.NONE,d.value=null};return a(p,()=>{v.value=!(0,V.isEqual)(e(p),m)}),{model:p,formEl:g,formChanged:v,submit:y,clear:b,formResult:u,createdSpace:d}};function q(e){let n=e=>{let t=I(e);return e===M.ROOM?[...t].sort((e,t)=>e.localeCompare(t)):t},r=e=>{let t=A(e);return t&&t.length>0?t:null};return{getCategoryOptions:n,getCategoryGroups:r,getCategoryTemplates:e=>O(e),categoryOptions:t(()=>{let t=o(e)??M.ROOM;return n(t)}),categoryGroups:t(()=>{let t=o(e)??M.ROOM;return r(t)}),currentTemplates:t(()=>O(o(e)??M.ROOM))}}var J=(e,r)=>{let i=x(),a=i.getStore(z),o=i.getStore(P),{semaphore:s,firstLoad:c}=d(a),l=n(!1);return{devices:t(()=>{if(!e.value||!r.value)return[];let t=a.findAll().filter(e=>!e.draft&&!e.hidden),n;return n=r.value===M.ROOM?t.filter(t=>t.roomId===e.value):t.filter(t=>t.zoneIds.includes(e.value)),n.sort((e,t)=>e.name.localeCompare(t.name))}),loading:t(()=>!!(l.value||s.value.fetching.items||!c.value)),firstLoadFinished:t(()=>c.value),fetchDevices:async()=>{await a.fetch()},addDevice:async t=>{if(!e.value||!r.value)throw Error(`Space ID and type are required`);l.value=!0;try{if(r.value===M.ROOM){let n=a.findById(t);if(!n)throw Error(`Device not found`);await a.edit({id:t,data:{type:n.type,roomId:e.value}})}else{let n=o.findById(e.value);if(n&&D(n.category))throw Error(`Cannot assign devices to floor zones. Floor membership is derived from room assignment.`);await a.addZone({id:t,zoneId:e.value})}}finally{l.value=!1}},removeDevice:async t=>{if(!e.value||!r.value)throw Error(`Space ID and type are required`);l.value=!0;try{if(r.value===M.ROOM){let e=a.findById(t);if(!e)throw Error(`Device not found`);await a.edit({id:t,data:{type:e.type,roomId:null}})}else await a.removeZone({id:t,zoneId:e.value})}finally{l.value=!1}},reassignDevice:async(e,t)=>{l.value=!0;try{let n=a.findById(e);if(!n)throw Error(`Device not found`);await a.edit({id:e,data:{type:n.type,roomId:t}})}finally{l.value=!1}}}},Y=e=>{let r=x().getStore(E),i=n(!1);return{displays:t(()=>e.value?r.findAll().filter(t=>t.spaceId===e.value).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)):[]),loading:t(()=>i.value?!0:r.fetching()),fetchDisplays:async()=>{await r.fetch()},reassignDisplay:async(e,t)=>{i.value=!0;try{await r.edit({id:e,data:{spaceId:t}})}finally{i.value=!1}},removeDisplay:async e=>{i.value=!0;try{await r.edit({id:e,data:{spaceId:null}})}finally{i.value=!1}}}},X=({space:t})=>{let o=()=>`value`in t?t.value:t,s=o(),c=x().getStore(P),{t:l}=r(),u=_(),d=n(F.NONE),f,p=i({id:s.id,type:s.type,name:s.name,description:s.description,category:s.category,icon:s.icon,displayOrder:s.displayOrder,parentId:s.parentId,suggestionsEnabled:s.suggestionsEnabled,statusWidgets:s.statusWidgets?[...s.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null}),m=h(e(p)),g=n(void 0),v=n(!1),y=async()=>{if(g.value.clearValidate(),!await g.value.validate())throw Error(`Form not valid`);let t=G.safeParse(p);if(!t.success)throw Error(`Failed to validate edit space model.`);d.value=F.WORKING;let n=l(`spacesModule.messages.notEdited`,{space:p.name});try{await c.edit({id:s.id,data:{name:t.data.name,type:t.data.type,category:t.data.category??null,description:t.data.description??null,icon:t.data.icon??null,displayOrder:t.data.displayOrder,parentId:t.data.parentId??null,suggestionsEnabled:t.data.suggestionsEnabled,statusWidgets:t.data.statusWidgets??null}})}catch(e){throw d.value=F.ERROR,f=window.setTimeout(b,2e3),u.error(n),e}return d.value=F.OK,f=window.setTimeout(b,2e3),v.value=!1,m=h(e(p)),`saved`},b=()=>{window.clearTimeout(f),d.value=F.NONE};return a(p,()=>{v.value=!(0,V.isEqual)(e(p),m)}),a(()=>o(),t=>{t&&(p.id=t.id,p.type=t.type,p.name=t.name,p.description=t.description,p.category=t.category,p.icon=t.icon,p.displayOrder=t.displayOrder,p.parentId=t.parentId,p.suggestionsEnabled=t.suggestionsEnabled,p.statusWidgets=t.statusWidgets?[...t.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null,m=h(e(p)),v.value=!1)},{deep:!0}),{model:p,formEl:g,formChanged:v,submit:y,clear:b,formResult:d}},Z=()=>{let{t:e}=r(),t=_(),n=x().getStore(P);return{remove:async r=>{let i=n.findById(r);return i?c.confirm(e(`spacesModule.messages.confirmRemove`,{name:i.name}),e(`spacesModule.headings.removeSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{return await n.remove({id:r}),t.success(e(`spacesModule.messages.removed`,{space:i.name})),!0}catch(e){return e instanceof R&&t.error(e.message),!1}}).catch(()=>(t.info(e(`spacesModule.messages.removeCanceled`,{space:i.name})),!1)):(t.error(e(`spacesModule.messages.notFound`)),!1)},bulkRemove:async r=>{if(r.length!==0){try{await c.confirm(e(`spacesModule.messages.confirmBulkRemove`,{count:r.length}),e(`spacesModule.headings.bulkRemoveSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`spacesModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`spacesModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`spacesModule.messages.bulkRemoveFailed`,{count:r.length}))}}}}},Q={search:void 0,types:[]},ee={by:`name`,dir:`asc`},te=()=>{let e=x().getStore(P),{firstLoad:r,semaphore:i}=d(e),{filters:o,sort:s,pagination:c,reset:l}=y({key:`${j}:spaces:list`,filters:{schema:H,defaults:Q},sort:{defaults:[ee]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:2}),u=t(()=>o.value.search!==Q.search||!(0,V.isEqual)(o.value.types,Q.types)),f=n(c.value.size||10),p=n(c.value.page||1),m=n(s.value.length>0?s.value[0]?.by:void 0),h=n(s.value.length>0?s.value[0]?.dir??null:null),g=t(()=>T(e.findAll().filter(e=>!e.draft&&(!o.value.search||e.id.toLowerCase().includes(o.value.search.toLowerCase())||e.name?.toLowerCase().includes(o.value.search.toLowerCase())||e.description?.toLowerCase().includes(o.value.search.toLowerCase()))&&(o.value.types.length===0||o.value.types.includes(e.type))),[e=>{switch(m.value){case`name`:return e.name;case`type`:return e.type;case`displayOrder`:return e.displayOrder;default:return e.displayOrder}}],[h.value??`asc`])),_=t(()=>{let e=(p.value-1)*f.value,t=e+f.value;return g.value.slice(e,t)}),v=async()=>{await e.fetch()},b=t(()=>!!(i.value.fetching.items||!r.value)),S=t(()=>r.value),C=t(()=>e.findAll().filter(e=>!e.draft).length);return a(()=>c.value,e=>{p.value=e.page??1,f.value=e.size??10},{deep:!0}),a(()=>p.value,e=>{c.value.page=e}),a(()=>f.value,e=>{c.value.size=e}),a(()=>h.value,e=>{m.value===void 0||e===null?s.value=[]:s.value=[{by:m.value,dir:e}]}),a(()=>m.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:h.value}]}),{spaces:g,spacesPaginated:_,totalRows:C,areLoading:b,loaded:S,fetchSpaces:v,filters:o,filtersActive:u,paginateSize:f,paginatePage:p,sortBy:m,sortDir:h,resetFilter:l}},$=()=>{let e=w(),{enabled:n}=C(),{t:i,te:a}=r(),o=[`spaceDetail`,`spaceAddForm`,`spaceEditForm`,`spaceWizard`],s=[`spaceDetail`,`spaceAddForm`,`spaceEditForm`],c=[`spaceSchema`,`spaceAddFormSchema`,`spaceEditFormSchema`,`spaceCreateReqSchema`,`spaceUpdateReqSchema`],l=[`configure`],u=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`spaces-module`)?l.length>0&&l.some(t=>e.routes&&t in e.routes)?!0:(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`spaces-module`)))return!1;let t=o.length===0||!!e.components&&o.some(t=>e.components&&t in e.components),n=c.length===0||!!e.schemas&&c.some(t=>e.schemas&&t in e.schemas);return t||n}):!1)),d=e=>a(e)?i(e):e;return{plugins:u,options:t(()=>T(u.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`spaces-module`)).filter(e=>{let t=!!e.components&&s.some(t=>e.components&&t in e.components),n=!!e.schemas&&c.some(t=>e.schemas&&t in e.schemas);return t||n}).map(t=>({value:t.type,label:t.name?.trim()?d(t.name):d(e.name),disabled:!n(e.type)}))),[e=>e.label],[`asc`])),wizardOptions:t(()=>T(u.value.filter(e=>(e.elements??[]).some(e=>(e.modules===void 0||e.modules.includes(`spaces-module`))&&!!e.components?.spaceWizard)).map(e=>({value:e.type,label:d(e.name),description:e.description,disabled:!n(e.type)})),[e=>e.label],[`asc`])),getByPluginType:e=>u.value.find(t=>t.type===e),getByType:e=>u.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`spaces-module`)))),getElement:e=>{for(let t of u.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`spaces-module`)));if(n)return n}}}},ne=({type:e})=>{let{getByType:n}=$(),r=t(()=>n(s(e)));return{plugin:r,element:t(()=>{let t=s(e);return(r.value?.elements??[]).find(e=>e.type===t&&(e.modules===void 0||e.modules.includes(`spaces-module`)))})}};export{X as a,q as c,G as d,B as f,Z as i,K as l,$ as n,Y as o,te as r,J as s,ne as t,W as u};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Si as n,T as r,bi as i,ci as a,ji as o,ki as s}from"./icon-with-child-CgZMNB3F.js";import{Fr as c,bt as l,f as u,gt as d,ht as f,it as p,l as m,ot as h,p as g,pa as _,pt as v,s as y,st as b,x,yt as S}from"./common-DkmUkaQU.js";import{r as C}from"./config-CdzBdVwi.js";import{r as w}from"./usePlugins-BzLkBW9_.js";import{t as T}from"./dist-DJgPCOr0.js";import{t as E}from"./keys-DExX7OfU.js";import{C as D,S as O,_ as k,b as A,d as j,g as M,h as N,n as P,s as F,y as I}from"./keys-TghOLUK_.js";import{l as L,u as R}from"./useSpaces-CWuh4Y89.js";import{o as z}from"./keys-DMEIfK2a.js";var B=e=>{let n=x().getStore(P),{data:r,semaphore:i}=_(n);return{space:t(()=>e.value?r.value[e.value]??null:null),fetching:t(()=>e.value?i.value.fetching.item.includes(e.value):!1),fetchSpace:async()=>e.value?n.get({id:e.value}):null,editSpace:async t=>{if(!e.value)throw Error(`Space ID is required`);return n.edit({id:e.value,data:t})},removeSpace:async()=>{if(!e.value)throw Error(`Space ID is required`);return n.remove({id:e.value})}}},V=u(),H=d({search:S().optional(),types:h(S())}),U=d({name:S().min(1),description:S().nullable().optional(),category:l([v(N),v(k)]).nullable().optional(),icon:S().nullable().optional(),displayOrder:f().int().min(0).default(0),parentId:S().uuid().nullable().optional()}),W=U.extend({id:S().uuid(),type:p([M.ROOM,M.ZONE]).default(M.ROOM)}),G=U.extend({id:S().uuid(),type:v(M),suggestionsEnabled:b().default(!0),statusWidgets:h(L).nullable().optional()}),K=({id:t,type:o})=>{let s=x().getStore(P),{t:c}=r(),l=g(),u=n(F.NONE),d=n(null),f,p=i({id:t,type:o??M.ROOM,name:``,description:null,category:null,icon:null,displayOrder:0,parentId:null}),h=m(e(p)),_=n(void 0),v=n(!1),y=async()=>{if(_.value.clearValidate(),!await _.value.validate())throw Error(`Form not valid`);let e=W.safeParse(p);if(!e.success)throw Error(`Failed to validate create space model.`);u.value=F.WORKING;let n=c(`spacesModule.messages.notCreated`,{space:p.name});try{d.value=await s.add({id:t,data:{name:e.data.name,type:e.data.type,category:e.data.category??null,description:e.data.description??null,icon:e.data.icon??null,displayOrder:e.data.displayOrder,parentId:e.data.parentId??null}})}catch(e){throw u.value=F.ERROR,d.value=null,f=window.setTimeout(b,2e3),l.error(n),e}return u.value=F.OK,f=window.setTimeout(b,2e3),l.success(c(`spacesModule.messages.created`,{space:p.name})),`added`},b=()=>{window.clearTimeout(f),u.value=F.NONE,d.value=null};return a(p,()=>{v.value=!(0,V.isEqual)(e(p),h)}),{model:p,formEl:_,formChanged:v,submit:y,clear:b,formResult:u,createdSpace:d}};function q(e){let n=e=>{let t=I(e);return e===M.ROOM?[...t].sort((e,t)=>e.localeCompare(t)):t},r=e=>{let t=A(e);return t&&t.length>0?t:null};return{getCategoryOptions:n,getCategoryGroups:r,getCategoryTemplates:e=>O(e),categoryOptions:t(()=>{let t=o(e)??M.ROOM;return n(t)}),categoryGroups:t(()=>{let t=o(e)??M.ROOM;return r(t)}),currentTemplates:t(()=>O(o(e)??M.ROOM))}}var J=(e,r)=>{let i=x(),a=i.getStore(z),o=i.getStore(P),{semaphore:s,firstLoad:c}=_(a),l=n(!1);return{devices:t(()=>{if(!e.value||!r.value)return[];let t=a.findAll().filter(e=>!e.draft&&!e.hidden),n;return n=r.value===M.ROOM?t.filter(t=>t.roomId===e.value):t.filter(t=>t.zoneIds.includes(e.value)),n.sort((e,t)=>e.name.localeCompare(t.name))}),loading:t(()=>!!(l.value||s.value.fetching.items||!c.value)),firstLoadFinished:t(()=>c.value),fetchDevices:async()=>{await a.fetch()},addDevice:async t=>{if(!e.value||!r.value)throw Error(`Space ID and type are required`);l.value=!0;try{if(r.value===M.ROOM){let n=a.findById(t);if(!n)throw Error(`Device not found`);await a.edit({id:t,data:{type:n.type,roomId:e.value}})}else{let n=o.findById(e.value);if(n&&D(n.category))throw Error(`Cannot assign devices to floor zones. Floor membership is derived from room assignment.`);await a.addZone({id:t,zoneId:e.value})}}finally{l.value=!1}},removeDevice:async t=>{if(!e.value||!r.value)throw Error(`Space ID and type are required`);l.value=!0;try{if(r.value===M.ROOM){let e=a.findById(t);if(!e)throw Error(`Device not found`);await a.edit({id:t,data:{type:e.type,roomId:null}})}else await a.removeZone({id:t,zoneId:e.value})}finally{l.value=!1}},reassignDevice:async(e,t)=>{l.value=!0;try{let n=a.findById(e);if(!n)throw Error(`Device not found`);await a.edit({id:e,data:{type:n.type,roomId:t}})}finally{l.value=!1}}}},Y=e=>{let r=x().getStore(E),i=n(!1);return{displays:t(()=>e.value?r.findAll().filter(t=>t.spaceId===e.value).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)):[]),loading:t(()=>i.value?!0:r.fetching()),fetchDisplays:async()=>{await r.fetch()},reassignDisplay:async(e,t)=>{i.value=!0;try{await r.edit({id:e,data:{spaceId:t}})}finally{i.value=!1}},removeDisplay:async e=>{i.value=!0;try{await r.edit({id:e,data:{spaceId:null}})}finally{i.value=!1}}}},X=({space:t})=>{let o=()=>`value`in t?t.value:t,s=o(),c=x().getStore(P),{t:l}=r(),u=g(),d=n(F.NONE),f,p=i({id:s.id,type:s.type,name:s.name,description:s.description,category:s.category,icon:s.icon,displayOrder:s.displayOrder,parentId:s.parentId,suggestionsEnabled:s.suggestionsEnabled,statusWidgets:s.statusWidgets?[...s.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null}),h=m(e(p)),_=n(void 0),v=n(!1),y=async()=>{if(_.value.clearValidate(),!await _.value.validate())throw Error(`Form not valid`);let t=G.safeParse(p);if(!t.success)throw Error(`Failed to validate edit space model.`);d.value=F.WORKING;let n=l(`spacesModule.messages.notEdited`,{space:p.name});try{await c.edit({id:s.id,data:{name:t.data.name,type:t.data.type,category:t.data.category??null,description:t.data.description??null,icon:t.data.icon??null,displayOrder:t.data.displayOrder,parentId:t.data.parentId??null,suggestionsEnabled:t.data.suggestionsEnabled,statusWidgets:t.data.statusWidgets??null}})}catch(e){throw d.value=F.ERROR,f=window.setTimeout(b,2e3),u.error(n),e}return d.value=F.OK,f=window.setTimeout(b,2e3),v.value=!1,h=m(e(p)),`saved`},b=()=>{window.clearTimeout(f),d.value=F.NONE};return a(p,()=>{v.value=!(0,V.isEqual)(e(p),h)}),a(()=>o(),t=>{t&&(p.id=t.id,p.type=t.type,p.name=t.name,p.description=t.description,p.category=t.category,p.icon=t.icon,p.displayOrder=t.displayOrder,p.parentId=t.parentId,p.suggestionsEnabled=t.suggestionsEnabled,p.statusWidgets=t.statusWidgets?[...t.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null,h=m(e(p)),v.value=!1)},{deep:!0}),{model:p,formEl:_,formChanged:v,submit:y,clear:b,formResult:d}},Z=()=>{let{t:e}=r(),t=g(),n=x().getStore(P);return{remove:async r=>{let i=n.findById(r);return i?c.confirm(e(`spacesModule.messages.confirmRemove`,{name:i.name}),e(`spacesModule.headings.removeSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{return await n.remove({id:r}),t.success(e(`spacesModule.messages.removed`,{space:i.name})),!0}catch(e){return e instanceof R&&t.error(e.message),!1}}).catch(()=>(t.info(e(`spacesModule.messages.removeCanceled`,{space:i.name})),!1)):(t.error(e(`spacesModule.messages.notFound`)),!1)},bulkRemove:async r=>{if(r.length!==0){try{await c.confirm(e(`spacesModule.messages.confirmBulkRemove`,{count:r.length}),e(`spacesModule.headings.bulkRemoveSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`spacesModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`spacesModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`spacesModule.messages.bulkRemoveFailed`,{count:r.length}))}}}}},Q={search:void 0,types:[]},ee={by:`name`,dir:`asc`},te=()=>{let e=x().getStore(P),{firstLoad:r,semaphore:i}=_(e),{filters:o,sort:s,pagination:c,reset:l}=y({key:`${j}:spaces:list`,filters:{schema:H,defaults:Q},sort:{defaults:[ee]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:2}),u=t(()=>o.value.search!==Q.search||!(0,V.isEqual)(o.value.types,Q.types)),d=n(c.value.size||10),f=n(c.value.page||1),p=n(s.value.length>0?s.value[0]?.by:void 0),m=n(s.value.length>0?s.value[0]?.dir??null:null),h=t(()=>T(e.findAll().filter(e=>!e.draft&&(!o.value.search||e.id.toLowerCase().includes(o.value.search.toLowerCase())||e.name?.toLowerCase().includes(o.value.search.toLowerCase())||e.description?.toLowerCase().includes(o.value.search.toLowerCase()))&&(o.value.types.length===0||o.value.types.includes(e.type))),[e=>{switch(p.value){case`name`:return e.name;case`type`:return e.type;case`displayOrder`:return e.displayOrder;default:return e.displayOrder}}],[m.value??`asc`])),g=t(()=>{let e=(f.value-1)*d.value,t=e+d.value;return h.value.slice(e,t)}),v=async()=>{await e.fetch()},b=t(()=>!!(i.value.fetching.items||!r.value)),S=t(()=>r.value),C=t(()=>e.findAll().filter(e=>!e.draft).length);return a(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),a(()=>f.value,e=>{c.value.page=e}),a(()=>d.value,e=>{c.value.size=e}),a(()=>m.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),a(()=>p.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:m.value}]}),{spaces:h,spacesPaginated:g,totalRows:C,areLoading:b,loaded:S,fetchSpaces:v,filters:o,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:m,resetFilter:l}},$=()=>{let e=w(),{enabled:n}=C(),{t:i,te:a}=r(),o=[`spaceDetail`,`spaceAddForm`,`spaceEditForm`,`spaceWizard`],s=[`spaceDetail`,`spaceAddForm`,`spaceEditForm`],c=[`spaceSchema`,`spaceAddFormSchema`,`spaceEditFormSchema`,`spaceCreateReqSchema`,`spaceUpdateReqSchema`],l=[`configure`],u=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`spaces-module`)?l.length>0&&l.some(t=>e.routes&&t in e.routes)?!0:(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`spaces-module`)))return!1;let t=o.length===0||!!e.components&&o.some(t=>e.components&&t in e.components),n=c.length===0||!!e.schemas&&c.some(t=>e.schemas&&t in e.schemas);return t||n}):!1)),d=e=>a(e)?i(e):e;return{plugins:u,options:t(()=>T(u.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`spaces-module`)).filter(e=>{let t=!!e.components&&s.some(t=>e.components&&t in e.components),n=!!e.schemas&&c.some(t=>e.schemas&&t in e.schemas);return t||n}).map(t=>({value:t.type,label:t.name?.trim()?d(t.name):d(e.name),disabled:!n(e.type)}))),[e=>e.label],[`asc`])),wizardOptions:t(()=>T(u.value.filter(e=>(e.elements??[]).some(e=>(e.modules===void 0||e.modules.includes(`spaces-module`))&&!!e.components?.spaceWizard)).map(e=>({value:e.type,label:d(e.name),description:e.description,disabled:!n(e.type)})),[e=>e.label],[`asc`])),getByPluginType:e=>u.value.find(t=>t.type===e),getByType:e=>u.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`spaces-module`)))),getElement:e=>{for(let t of u.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`spaces-module`)));if(n)return n}}}},ne=({type:e})=>{let{getByType:n}=$(),r=t(()=>n(s(e)));return{plugin:r,element:t(()=>{let t=s(e);return(r.value?.elements??[]).find(e=>e.type===t&&(e.modules===void 0||e.modules.includes(`spaces-module`)))})}};export{X as a,q as c,G as d,B as f,Z as i,K as l,$ as n,Y as o,te as r,J as s,ne as t,W as u};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Gr as n,Si as r,T as i,bi as a,ci as o}from"./icon-with-child-CgZMNB3F.js";import{Pr as s,_ as c,bt as l,dt as u,f as d,fa as f,gt as p,ht as m,it as h,l as g,ot as _,p as v,pt as y,qn as b,s as x,st as S,vt as C,x as w,xt as T,yt as E}from"./common-Bn7l0dTZ.js";import{r as D}from"./config-CAo-YTTc.js";import{r as O}from"./usePlugins-BE15XY1o.js";import{t as k}from"./dist-DJgPCOr0.js";import{g as A,x as j}from"./keys-C5NnpJdN.js";import{t as ee}from"./useSpaces-kPcgR4I4.js";import"./composables-DUQ9KHEb.js";var M=`scenes`,N=`scenes-module`,P=`ScenesModule.`,F=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerScene`,e}({}),I=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerSceneHandler`,e}({}),te=function(e){return e.SCENE_CREATED=`ScenesModule.Scene.Created`,e.SCENE_UPDATED=`ScenesModule.Scene.Updated`,e.SCENE_DELETED=`ScenesModule.Scene.Deleted`,e.SCENE_TRIGGERED=`ScenesModule.Scene.Triggered`,e.SCENE_EXECUTION_STARTED=`ScenesModule.Scene.ExecutionStarted`,e.SCENE_EXECUTION_COMPLETED=`ScenesModule.Scene.ExecutionCompleted`,e.SCENE_EXECUTION_FAILED=`ScenesModule.Scene.ExecutionFailed`,e.SCENE_ACTION_CREATED=`ScenesModule.SceneAction.Created`,e.SCENE_ACTION_UPDATED=`ScenesModule.SceneAction.Updated`,e.SCENE_ACTION_DELETED=`ScenesModule.SceneAction.Deleted`,e}({}),L=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),R={SCENES:`scenes_module-scenes`,SCENES_ADD:`scenes_module-scenes_add`,SCENES_EDIT:`scenes_module-scenes_edit`,SCENE:`scenes_module-scene`,SCENE_EDIT:`scenes_module-scene_edit`,SCENE_ADD_ACTION:`scenes_module-scene_add_action`,SCENE_EDIT_ACTION:`scenes_module-scene_edit_action`},z={[b.generic]:`mdi:playlist-play`,[b.lighting]:`mdi:lightbulb-group`,[b.climate]:`mdi:thermostat`,[b.media]:`mdi:television-play`,[b.work]:`mdi:briefcase`,[b.relax]:`mdi:sofa`,[b.night]:`mdi:weather-night`,[b.morning]:`mdi:weather-sunset-up`,[b.party]:`mdi:party-popper`,[b.movie]:`mdi:movie-open`,[b.away]:`mdi:home-export-outline`,[b.home]:`mdi:home-import-outline`,[b.security]:`mdi:shield-home`,[b.energy]:`mdi:flash`,[b.custom]:`mdi:shape-outline`},B=p({search:E().optional(),categories:_(y(b)),primarySpaceId:l([E().uuid(),u(`whole_home`)]).optional(),enabled:h([`all`,`enabled`,`disabled`]).default(`all`)}),V=Symbol(`FB-Module-Scenes-ScenesStore`),H=Symbol(`FB-Module-Scenes-ScenesActionsStore`),U=({id:e})=>{let n=w(),r=n.getStore(V),i=n.getStore(H),{data:a,semaphore:o}=f(r);return{scene:t(()=>e===null?null:a.value.get(e)??null),isLoading:t(()=>o.value.fetching.item.includes(e)?!0:a.value.get(e)===void 0&&o.value.fetching.items),fetchScene:async()=>{a.value.get(e)?.draft||(await r.get({id:e}),await i.fetch({sceneId:e}))}}},W=d(),G=p({id:E().uuid().optional(),type:E().trim().nonempty(),configuration:C(E(),T()).default({}),order:m().int().min(0).optional(),enabled:S().default(!0)}).catchall(T());p({id:E().uuid(),type:E().trim().nonempty(),configuration:C(E(),T()).optional(),order:m().int().min(0).optional(),enabled:S().optional()}).catchall(T());var K=p({id:E().uuid().optional(),name:E().trim().nonempty(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:y(b).default(b.generic),icon:E().nullable().optional(),enabled:S().default(!0),order:m().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:_(G).default([])}),q=p({id:E().uuid(),name:E().trim().nonempty().optional(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:y(b).optional(),icon:E().nullable().optional(),enabled:S().optional(),order:m().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:_(G).default([])}),J=class extends Error{exception;constructor(e,t=null){super(e),this.name=`ScenesException`,this.exception=t}},Y=class extends J{code;constructor(e,t=null,n=null){super(e,n),this.name=`ScenesApiException`,this.code=t}},X=class extends J{constructor(e,t=null){super(e,t),this.name=`ScenesValidationException`}},ne=()=>{let e=O(),{enabled:n}=D(),r=[`sceneActionAddForm`,`sceneActionEditForm`,`sceneActionCard`],i=[`sceneActionSchema`,`sceneActionAddFormSchema`,`sceneActionEditFormSchema`,`sceneActionCreateReqSchema`,`sceneActionUpdateReqSchema`],a=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`scenes-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`scenes-module`)))return!1;let t=r.length===0||!!e.components&&r.some(t=>e.components&&t in e.components),n=i.length===0||!!e.schemas&&i.some(t=>e.schemas&&t in e.schemas);return t||n}):!1));return{plugins:a,options:t(()=>k(a.value.flatMap(e=>(e.elements??[]).filter(e=>{let t=e.modules===void 0||e.modules.includes(`scenes-module`),n=!!e.components&&r.some(t=>e.components&&t in e.components);return t&&n}).map(t=>({value:t.type,label:t.name?.trim()?t.name:e.name,disabled:!n(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>a.value.find(t=>t.type===e),getByType:e=>a.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)))),getElement:e=>{for(let t of a.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)));if(n)return n}}}},Z=({id:n})=>{let s=w(),l=s.getStore(V),u=s.getStore(H),{t:d}=i(),f=v(),p=c(),{spaces:m,fetching:h,fetchSpaces:_}=ee(),y=r(L.NONE),x,S=t(()=>Object.values(b).map(e=>({value:e,label:d(`scenes.categories.${e}`),icon:z[e]}))),C=t(()=>{let e=m.value.filter(e=>e.type===A.ROOM).map(e=>({value:e.id,label:e.name,icon:j(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=m.value.filter(e=>e.type===A.ZONE).map(e=>({value:e.id,label:e.name,icon:j(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:A.ROOM,label:d(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:A.ZONE,label:d(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),T=a({id:n,category:b.generic,name:``,description:null,icon:null,enabled:!0,primarySpaceId:null,actions:[]}),{options:E,getElement:D}=ne(),O=e=>{let t=e.propertyId;return t&&T.actions.find(e=>e.propertyId===t)?(f.warning(d(`scenes.messages.duplicateAction`)),!1):(T.actions.push(e),!0)},k=e=>{T.actions.splice(e,1)},M=(e,t)=>{e>=0&&e<T.actions.length&&(T.actions[e]=t)},N=e=>D(e)?.components?.sceneActionCard??null,P=e=>D(e)?.components?.sceneActionAddForm??null,F=e=>D(e)?.components?.sceneActionEditForm??null,I=e=>E.value.find(t=>t.value===e)?.label??e,te=g(e(T)),R=r(void 0),B=r(!1),U=async(e,t)=>{try{for(let n=0;n<t.length;n++){let r=t[n];r&&await u.add({sceneId:e,data:{...r,order:n,enabled:r.enabled??!0}})}}catch(e){throw p.error(`Error syncing scene actions:`,e),e}},G=async()=>{if(R.value.clearValidate(),!await R.value.validate())throw new X(`Form not valid`);let e=K.safeParse(T);if(!e.success)throw p.error(`Schema validation failed with:`,e.error),new X(`Failed to validate create scene model.`);y.value=L.WORKING;let t=d(`scenes.messages.createFailed`);try{let t=await l.add({id:n,draft:!1,data:e.data});e.data.actions.length>0&&await U(t.id,e.data.actions)}catch(e){throw y.value=L.ERROR,x=window.setTimeout(q,2e3),e instanceof Y&&e.code===422?f.error(e.message):f.error(t),e}return y.value=L.OK,x=window.setTimeout(q,2e3),f.success(d(`scenes.messages.created`)),`added`},q=()=>{window.clearTimeout(x),y.value=L.NONE};return o(T,()=>{B.value=!(0,W.isEqual)(e(T),te)}),{categoriesOptions:S,spacesOptionsGrouped:C,model:T,formEl:R,formChanged:B,submit:G,clear:q,formResult:y,loadingSpaces:h,fetchSpaces:_,actionPluginOptions:E,addAction:O,removeAction:k,updateAction:M,getActionCardComponent:N,getActionFormComponent:P,getActionEditFormComponent:F,getPluginLabel:I}},re=({scene:s,messages:l})=>{let u=w(),d=u.getStore(V),f=u.getStore(H),{t:p}=i(),m=v(),h=c(),{spaces:_,fetching:y,fetchSpaces:x}=ee(),S=r(L.NONE),C=t(()=>f.findForScene(s.id)),T=r(g(C.value)),E,D=t(()=>Object.values(b).map(e=>({value:e,label:p(`scenes.categories.${e}`),icon:z[e]}))),O=t(()=>{let e=_.value.filter(e=>e.type===A.ROOM).map(e=>({value:e.id,label:e.name,icon:j(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=_.value.filter(e=>e.type===A.ZONE).map(e=>({value:e.id,label:e.name,icon:j(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:A.ROOM,label:p(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:A.ZONE,label:p(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),k=t(()=>C.value.map(e=>({...e}))),M=a({id:s.id,category:s.category,name:s.name,description:s.description,icon:s.icon,enabled:s.enabled,primarySpaceId:s.primarySpaceId,actions:k.value}),{options:N,getElement:P}=ne(),F=e=>{let t=e.propertyId;return t&&M.actions.find(e=>e.propertyId===t)?(m.warning(p(`scenes.messages.duplicateAction`)),!1):(M.actions.push(e),!0)},I=e=>{M.actions.splice(e,1)},te=(e,t)=>{e>=0&&e<M.actions.length&&(M.actions[e]=t)},R=e=>P(e)?.components?.sceneActionCard??null,B=e=>P(e)?.components?.sceneActionAddForm??null,U=e=>P(e)?.components?.sceneActionEditForm??null,G=e=>N.value.find(t=>t.value===e)?.label??e,K=r(void 0),J=r(!1),Z=g(e(M)),re=async(e,t)=>{try{let n=new Set(T.value.map(e=>e.id)),r=new Set(t.filter(e=>e.id).map(e=>e.id));for(let t of T.value)r.has(t.id)||await f.remove({id:t.id,sceneId:e});let i=new Map;for(let r=0;r<t.length;r++){let a=t[r];if(!a)continue;let o=a.id;if(!o||!n.has(o)){let t=await f.add({sceneId:e,data:{...a,order:r,enabled:a.enabled??!0}});i.set(r,t.id)}else{let t=T.value.find(e=>e.id===o);if(t){let n=new Set([`id`,`draft`,`createdAt`,`updatedAt`,`scene`]),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n.has(e)));(0,W.isEqual)(i(t),{...i(a),order:r})||await f.edit({id:o,sceneId:e,data:{...a,order:r}})}}}for(let[e,t]of i){let n=M.actions[e];n&&(n.id=t)}T.value=g(f.findForScene(e))}catch(e){throw h.error(`Error syncing scene actions:`,e),e}},ie=async()=>{let t=s.draft,n=l&&l.error?l.error:s.draft?p(`scenes.messages.createFailed`):p(`scenes.messages.editFailed`,{scene:s.name});if(K.value.clearValidate(),!await K.value.validate())throw new X(`Form not valid`);let r=q.safeParse(M);if(!r.success)throw h.error(`Schema validation failed with:`,r.error),new X(`Failed to validate edit scene model.`);S.value=L.WORKING;try{await d.edit({id:s.id,data:r.data});let e=s.id;if(t){let t=await d.save({id:s.id});M.id=t.id,M.category=t.category,M.name=t.name,M.description=t.description,M.icon=t.icon,M.enabled=t.enabled,M.primarySpaceId=t.primarySpaceId,e=t.id}await re(e,r.data.actions)}catch(e){throw S.value=L.ERROR,E=window.setTimeout(Q,2e3),e instanceof Y&&e.code===422?m.error(e.message):e instanceof X||(m.error(n),h.error(`Scene edit failed:`,e)),e}return S.value=L.OK,E=window.setTimeout(Q,2e3),t?(m.success(p(l&&l.success?l.success:`scenes.messages.created`)),`added`):(m.success(p(l&&l.success?l.success:`scenes.messages.edited`,{scene:s.name})),J.value=!1,Z=g(e(M)),`saved`)},Q=()=>{window.clearTimeout(E),S.value=L.NONE};return o(M,()=>{J.value=!(0,W.isEqual)(e(M),Z)}),n(()=>{Q()}),{categoriesOptions:D,spacesOptionsGrouped:O,model:M,formEl:K,formChanged:J,submit:ie,clear:Q,formResult:S,loadingSpaces:y,fetchSpaces:x,actionPluginOptions:N,addAction:F,removeAction:I,updateAction:te,getActionCardComponent:R,getActionFormComponent:B,getActionEditFormComponent:U,getPluginLabel:G}},ie=({id:e})=>{let n=w().getStore(V);return{icon:t(()=>{let t=n.findById(e);return t?.icon?t.icon:t?.category&&t.category in z?z[t.category]:z[b.generic]})}},Q=()=>{let e=w().getStore(V),{data:n,semaphore:r,firstLoad:i}=f(e);return{scenes:t(()=>Array.from(n.value.values()).sort((e,t)=>e.name.localeCompare(t.name))),fetching:t(()=>r.value.fetching.items),loaded:t(()=>i.value),fetchScenes:async()=>e.fetch(),getScene:async t=>e.get({id:t}),findById:t=>e.findById(t),findBySpace:t=>e.findBySpace(t),triggerScene:async(t,n)=>{await e.trigger({id:t,source:n})},removeScene:async t=>{await e.remove({id:t})}}},ae=()=>{let{t:e}=i(),t=v(),n=w().getStore(V);return{addScene:async e=>n.add(e),editScene:async e=>n.edit(e),removeScene:async e=>{await n.remove({id:e})},bulkRemove:async r=>{if(r.length!==0){try{await s.confirm(e(`scenes.texts.confirmBulkRemove`,{count:r.length}),e(`scenes.headings.bulkRemove`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`warning`})}catch{return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`scenes.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`scenes.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`scenes.messages.bulkRemoveFailed`,{count:r.length}))}}},bulkEnable:async r=>{if(r.length!==0){try{await s.confirm(e(`scenes.texts.confirmBulkEnable`,{count:r.length}),e(`scenes.headings.bulkEnable`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`info`})}catch{t.info(e(`scenes.messages.bulkEnableCanceled`));return}try{let i=await n.bulkSetEnabled({ids:r.map(e=>e.id),enabled:!0});i.succeeded.length>0&&t.success(e(`scenes.messages.bulkEnabled`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`scenes.messages.bulkEnableFailed`,{count:i.failed.length}))}catch{t.error(e(`scenes.messages.bulkEnableFailed`,{count:r.length}))}}},bulkDisable:async r=>{if(r.length!==0){try{await s.confirm(e(`scenes.texts.confirmBulkDisable`,{count:r.length}),e(`scenes.headings.bulkDisable`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`warning`})}catch{t.info(e(`scenes.messages.bulkDisableCanceled`));return}try{let i=await n.bulkSetEnabled({ids:r.map(e=>e.id),enabled:!1});i.succeeded.length>0&&t.success(e(`scenes.messages.bulkDisabled`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`scenes.messages.bulkDisableFailed`,{count:i.failed.length}))}catch{t.error(e(`scenes.messages.bulkDisableFailed`,{count:r.length}))}}}}},$={search:void 0,categories:[],primarySpaceId:void 0,enabled:`all`},oe={by:`name`,dir:`asc`},se=()=>{let e=w().getStore(V),{firstLoad:n,semaphore:i}=f(e),{filters:a,sort:s,pagination:c,reset:l}=x({key:`${N}:scenes:list`,filters:{schema:B,defaults:$},sort:{defaults:[oe]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=t(()=>a.value.search!==$.search||!(0,W.isEqual)(a.value.categories,$.categories)||a.value.primarySpaceId!==$.primarySpaceId||a.value.enabled!==$.enabled),d=r(c.value.size||10),p=r(c.value.page||1),m=r(s.value.length>0?s.value[0]?.by:void 0),h=r(s.value.length>0?s.value[0]?.dir??null:null),g=(e,t)=>t?t===`whole_home`?!e:e===t:!0,_=t(()=>{let t=e.findAll().filter(e=>!e.draft&&(!a.value.search||e.id.toLowerCase().includes(a.value.search.toLowerCase())||e.name.toLowerCase().includes(a.value.search.toLowerCase())||e.description?.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.categories.length===0||a.value.categories.includes(e.category))&&g(e.primarySpaceId,a.value.primarySpaceId)&&(a.value.enabled===`all`||a.value.enabled===`enabled`&&e.enabled||a.value.enabled===`disabled`&&!e.enabled)),n=m.value??`order`;return k(t,[e=>e[n]??``],[h.value??`asc`])}),v=t(()=>{let e=(p.value-1)*d.value,t=e+d.value;return _.value.slice(e,t)}),y=async()=>{await e.fetch()},b=t(()=>i.value.fetching.items||!n.value),S=t(()=>n.value),C=t(()=>e.findAll().filter(e=>!e.draft).length);return o(()=>c.value,e=>{p.value=e.page??1,d.value=e.size??10},{deep:!0}),o(()=>p.value,e=>{c.value.page=e}),o(()=>d.value,e=>{c.value.size=e}),o(()=>h.value,e=>{m.value===void 0||e===null?s.value=[]:s.value=[{by:m.value,dir:e}]}),o(()=>m.value,e=>{e===void 0||h.value===null?s.value=[]:s.value=[{by:e,dir:h.value}]}),o(()=>a.value,()=>{p.value=1},{deep:!0}),{scenes:_,scenesPaginated:v,totalRows:C,areLoading:b,loaded:S,fetchScenes:y,filters:a,filtersActive:u,paginateSize:d,paginatePage:p,sortBy:m,sortDir:h,resetFilter:l}};export{R as _,re as a,M as b,J as c,H as d,V as f,L as g,te as h,ie as i,X as l,F as m,ae as n,Z as o,I as p,Q as r,Y as s,se as t,U as u,P as v,z as x,N as y};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Gr as n,Si as r,T as i,bi as a,ci as o}from"./icon-with-child-CgZMNB3F.js";import{Fr as s,_ as c,bt as l,dt as u,f as d,gt as f,ht as p,it as m,l as h,ot as g,p as _,pa as v,pt as y,qn as b,s as x,st as S,vt as C,x as w,xt as T,yt as E}from"./common-DkmUkaQU.js";import{r as D}from"./config-CdzBdVwi.js";import{r as O}from"./usePlugins-BzLkBW9_.js";import{t as k}from"./dist-DJgPCOr0.js";import{g as A,x as j}from"./keys-TghOLUK_.js";import{t as ee}from"./useSpaces-CWuh4Y89.js";import"./composables-DC6tLXWe.js";var M=`scenes`,N=`scenes-module`,P=`ScenesModule.`,F=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerScene`,e}({}),I=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerSceneHandler`,e}({}),te=function(e){return e.SCENE_CREATED=`ScenesModule.Scene.Created`,e.SCENE_UPDATED=`ScenesModule.Scene.Updated`,e.SCENE_DELETED=`ScenesModule.Scene.Deleted`,e.SCENE_TRIGGERED=`ScenesModule.Scene.Triggered`,e.SCENE_EXECUTION_STARTED=`ScenesModule.Scene.ExecutionStarted`,e.SCENE_EXECUTION_COMPLETED=`ScenesModule.Scene.ExecutionCompleted`,e.SCENE_EXECUTION_FAILED=`ScenesModule.Scene.ExecutionFailed`,e.SCENE_ACTION_CREATED=`ScenesModule.SceneAction.Created`,e.SCENE_ACTION_UPDATED=`ScenesModule.SceneAction.Updated`,e.SCENE_ACTION_DELETED=`ScenesModule.SceneAction.Deleted`,e}({}),L=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),R={SCENES:`scenes_module-scenes`,SCENES_ADD:`scenes_module-scenes_add`,SCENES_EDIT:`scenes_module-scenes_edit`,SCENE:`scenes_module-scene`,SCENE_EDIT:`scenes_module-scene_edit`,SCENE_ADD_ACTION:`scenes_module-scene_add_action`,SCENE_EDIT_ACTION:`scenes_module-scene_edit_action`},z={[b.generic]:`mdi:playlist-play`,[b.lighting]:`mdi:lightbulb-group`,[b.climate]:`mdi:thermostat`,[b.media]:`mdi:television-play`,[b.work]:`mdi:briefcase`,[b.relax]:`mdi:sofa`,[b.night]:`mdi:weather-night`,[b.morning]:`mdi:weather-sunset-up`,[b.party]:`mdi:party-popper`,[b.movie]:`mdi:movie-open`,[b.away]:`mdi:home-export-outline`,[b.home]:`mdi:home-import-outline`,[b.security]:`mdi:shield-home`,[b.energy]:`mdi:flash`,[b.custom]:`mdi:shape-outline`},B=f({search:E().optional(),categories:g(y(b)),primarySpaceId:l([E().uuid(),u(`whole_home`)]).optional(),enabled:m([`all`,`enabled`,`disabled`]).default(`all`)}),V=Symbol(`FB-Module-Scenes-ScenesStore`),H=Symbol(`FB-Module-Scenes-ScenesActionsStore`),U=({id:e})=>{let n=w(),r=n.getStore(V),i=n.getStore(H),{data:a,semaphore:o}=v(r);return{scene:t(()=>e===null?null:a.value.get(e)??null),isLoading:t(()=>o.value.fetching.item.includes(e)?!0:a.value.get(e)===void 0&&o.value.fetching.items),fetchScene:async()=>{a.value.get(e)?.draft||(await r.get({id:e}),await i.fetch({sceneId:e}))}}},W=d(),G=f({id:E().uuid().optional(),type:E().trim().nonempty(),configuration:C(E(),T()).default({}),order:p().int().min(0).optional(),enabled:S().default(!0)}).catchall(T());f({id:E().uuid(),type:E().trim().nonempty(),configuration:C(E(),T()).optional(),order:p().int().min(0).optional(),enabled:S().optional()}).catchall(T());var K=f({id:E().uuid().optional(),name:E().trim().nonempty(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:y(b).default(b.generic),icon:E().nullable().optional(),enabled:S().default(!0),order:p().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:g(G).default([])}),q=f({id:E().uuid(),name:E().trim().nonempty().optional(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:y(b).optional(),icon:E().nullable().optional(),enabled:S().optional(),order:p().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:g(G).default([])}),J=class extends Error{exception;constructor(e,t=null){super(e),this.name=`ScenesException`,this.exception=t}},Y=class extends J{code;constructor(e,t=null,n=null){super(e,n),this.name=`ScenesApiException`,this.code=t}},X=class extends J{constructor(e,t=null){super(e,t),this.name=`ScenesValidationException`}},ne=()=>{let e=O(),{enabled:n}=D(),r=[`sceneActionAddForm`,`sceneActionEditForm`,`sceneActionCard`],i=[`sceneActionSchema`,`sceneActionAddFormSchema`,`sceneActionEditFormSchema`,`sceneActionCreateReqSchema`,`sceneActionUpdateReqSchema`],a=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`scenes-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`scenes-module`)))return!1;let t=r.length===0||!!e.components&&r.some(t=>e.components&&t in e.components),n=i.length===0||!!e.schemas&&i.some(t=>e.schemas&&t in e.schemas);return t||n}):!1));return{plugins:a,options:t(()=>k(a.value.flatMap(e=>(e.elements??[]).filter(e=>{let t=e.modules===void 0||e.modules.includes(`scenes-module`),n=!!e.components&&r.some(t=>e.components&&t in e.components);return t&&n}).map(t=>({value:t.type,label:t.name?.trim()?t.name:e.name,disabled:!n(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>a.value.find(t=>t.type===e),getByType:e=>a.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)))),getElement:e=>{for(let t of a.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)));if(n)return n}}}},Z=({id:n})=>{let s=w(),l=s.getStore(V),u=s.getStore(H),{t:d}=i(),f=_(),p=c(),{spaces:m,fetching:g,fetchSpaces:v}=ee(),y=r(L.NONE),x,S=t(()=>Object.values(b).map(e=>({value:e,label:d(`scenes.categories.${e}`),icon:z[e]}))),C=t(()=>{let e=m.value.filter(e=>e.type===A.ROOM).map(e=>({value:e.id,label:e.name,icon:j(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=m.value.filter(e=>e.type===A.ZONE).map(e=>({value:e.id,label:e.name,icon:j(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:A.ROOM,label:d(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:A.ZONE,label:d(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),T=a({id:n,category:b.generic,name:``,description:null,icon:null,enabled:!0,primarySpaceId:null,actions:[]}),{options:E,getElement:D}=ne(),O=e=>{let t=e.propertyId;return t&&T.actions.find(e=>e.propertyId===t)?(f.warning(d(`scenes.messages.duplicateAction`)),!1):(T.actions.push(e),!0)},k=e=>{T.actions.splice(e,1)},M=(e,t)=>{e>=0&&e<T.actions.length&&(T.actions[e]=t)},N=e=>D(e)?.components?.sceneActionCard??null,P=e=>D(e)?.components?.sceneActionAddForm??null,F=e=>D(e)?.components?.sceneActionEditForm??null,I=e=>E.value.find(t=>t.value===e)?.label??e,te=h(e(T)),R=r(void 0),B=r(!1),U=async(e,t)=>{try{for(let n=0;n<t.length;n++){let r=t[n];r&&await u.add({sceneId:e,data:{...r,order:n,enabled:r.enabled??!0}})}}catch(e){throw p.error(`Error syncing scene actions:`,e),e}},G=async()=>{if(R.value.clearValidate(),!await R.value.validate())throw new X(`Form not valid`);let e=K.safeParse(T);if(!e.success)throw p.error(`Schema validation failed with:`,e.error),new X(`Failed to validate create scene model.`);y.value=L.WORKING;let t=d(`scenes.messages.createFailed`);try{let t=await l.add({id:n,draft:!1,data:e.data});e.data.actions.length>0&&await U(t.id,e.data.actions)}catch(e){throw y.value=L.ERROR,x=window.setTimeout(q,2e3),e instanceof Y&&e.code===422?f.error(e.message):f.error(t),e}return y.value=L.OK,x=window.setTimeout(q,2e3),f.success(d(`scenes.messages.created`)),`added`},q=()=>{window.clearTimeout(x),y.value=L.NONE};return o(T,()=>{B.value=!(0,W.isEqual)(e(T),te)}),{categoriesOptions:S,spacesOptionsGrouped:C,model:T,formEl:R,formChanged:B,submit:G,clear:q,formResult:y,loadingSpaces:g,fetchSpaces:v,actionPluginOptions:E,addAction:O,removeAction:k,updateAction:M,getActionCardComponent:N,getActionFormComponent:P,getActionEditFormComponent:F,getPluginLabel:I}},re=({scene:s,messages:l})=>{let u=w(),d=u.getStore(V),f=u.getStore(H),{t:p}=i(),m=_(),g=c(),{spaces:v,fetching:y,fetchSpaces:x}=ee(),S=r(L.NONE),C=t(()=>f.findForScene(s.id)),T=r(h(C.value)),E,D=t(()=>Object.values(b).map(e=>({value:e,label:p(`scenes.categories.${e}`),icon:z[e]}))),O=t(()=>{let e=v.value.filter(e=>e.type===A.ROOM).map(e=>({value:e.id,label:e.name,icon:j(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=v.value.filter(e=>e.type===A.ZONE).map(e=>({value:e.id,label:e.name,icon:j(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:A.ROOM,label:p(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:A.ZONE,label:p(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),k=t(()=>C.value.map(e=>({...e}))),M=a({id:s.id,category:s.category,name:s.name,description:s.description,icon:s.icon,enabled:s.enabled,primarySpaceId:s.primarySpaceId,actions:k.value}),{options:N,getElement:P}=ne(),F=e=>{let t=e.propertyId;return t&&M.actions.find(e=>e.propertyId===t)?(m.warning(p(`scenes.messages.duplicateAction`)),!1):(M.actions.push(e),!0)},I=e=>{M.actions.splice(e,1)},te=(e,t)=>{e>=0&&e<M.actions.length&&(M.actions[e]=t)},R=e=>P(e)?.components?.sceneActionCard??null,B=e=>P(e)?.components?.sceneActionAddForm??null,U=e=>P(e)?.components?.sceneActionEditForm??null,G=e=>N.value.find(t=>t.value===e)?.label??e,K=r(void 0),J=r(!1),Z=h(e(M)),re=async(e,t)=>{try{let n=new Set(T.value.map(e=>e.id)),r=new Set(t.filter(e=>e.id).map(e=>e.id));for(let t of T.value)r.has(t.id)||await f.remove({id:t.id,sceneId:e});let i=new Map;for(let r=0;r<t.length;r++){let a=t[r];if(!a)continue;let o=a.id;if(!o||!n.has(o)){let t=await f.add({sceneId:e,data:{...a,order:r,enabled:a.enabled??!0}});i.set(r,t.id)}else{let t=T.value.find(e=>e.id===o);if(t){let n=new Set([`id`,`draft`,`createdAt`,`updatedAt`,`scene`]),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n.has(e)));(0,W.isEqual)(i(t),{...i(a),order:r})||await f.edit({id:o,sceneId:e,data:{...a,order:r}})}}}for(let[e,t]of i){let n=M.actions[e];n&&(n.id=t)}T.value=h(f.findForScene(e))}catch(e){throw g.error(`Error syncing scene actions:`,e),e}},ie=async()=>{let t=s.draft,n=l&&l.error?l.error:s.draft?p(`scenes.messages.createFailed`):p(`scenes.messages.editFailed`,{scene:s.name});if(K.value.clearValidate(),!await K.value.validate())throw new X(`Form not valid`);let r=q.safeParse(M);if(!r.success)throw g.error(`Schema validation failed with:`,r.error),new X(`Failed to validate edit scene model.`);S.value=L.WORKING;try{await d.edit({id:s.id,data:r.data});let e=s.id;if(t){let t=await d.save({id:s.id});M.id=t.id,M.category=t.category,M.name=t.name,M.description=t.description,M.icon=t.icon,M.enabled=t.enabled,M.primarySpaceId=t.primarySpaceId,e=t.id}await re(e,r.data.actions)}catch(e){throw S.value=L.ERROR,E=window.setTimeout(Q,2e3),e instanceof Y&&e.code===422?m.error(e.message):e instanceof X||(m.error(n),g.error(`Scene edit failed:`,e)),e}return S.value=L.OK,E=window.setTimeout(Q,2e3),t?(m.success(p(l&&l.success?l.success:`scenes.messages.created`)),`added`):(m.success(p(l&&l.success?l.success:`scenes.messages.edited`,{scene:s.name})),J.value=!1,Z=h(e(M)),`saved`)},Q=()=>{window.clearTimeout(E),S.value=L.NONE};return o(M,()=>{J.value=!(0,W.isEqual)(e(M),Z)}),n(()=>{Q()}),{categoriesOptions:D,spacesOptionsGrouped:O,model:M,formEl:K,formChanged:J,submit:ie,clear:Q,formResult:S,loadingSpaces:y,fetchSpaces:x,actionPluginOptions:N,addAction:F,removeAction:I,updateAction:te,getActionCardComponent:R,getActionFormComponent:B,getActionEditFormComponent:U,getPluginLabel:G}},ie=({id:e})=>{let n=w().getStore(V);return{icon:t(()=>{let t=n.findById(e);return t?.icon?t.icon:t?.category&&t.category in z?z[t.category]:z[b.generic]})}},Q=()=>{let e=w().getStore(V),{data:n,semaphore:r,firstLoad:i}=v(e);return{scenes:t(()=>Array.from(n.value.values()).sort((e,t)=>e.name.localeCompare(t.name))),fetching:t(()=>r.value.fetching.items),loaded:t(()=>i.value),fetchScenes:async()=>e.fetch(),getScene:async t=>e.get({id:t}),findById:t=>e.findById(t),findBySpace:t=>e.findBySpace(t),triggerScene:async(t,n)=>{await e.trigger({id:t,source:n})},removeScene:async t=>{await e.remove({id:t})}}},ae=()=>{let{t:e}=i(),t=_(),n=w().getStore(V);return{addScene:async e=>n.add(e),editScene:async e=>n.edit(e),removeScene:async e=>{await n.remove({id:e})},bulkRemove:async r=>{if(r.length!==0){try{await s.confirm(e(`scenes.texts.confirmBulkRemove`,{count:r.length}),e(`scenes.headings.bulkRemove`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`warning`})}catch{return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`scenes.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`scenes.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`scenes.messages.bulkRemoveFailed`,{count:r.length}))}}},bulkEnable:async r=>{if(r.length!==0){try{await s.confirm(e(`scenes.texts.confirmBulkEnable`,{count:r.length}),e(`scenes.headings.bulkEnable`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`info`})}catch{t.info(e(`scenes.messages.bulkEnableCanceled`));return}try{let i=await n.bulkSetEnabled({ids:r.map(e=>e.id),enabled:!0});i.succeeded.length>0&&t.success(e(`scenes.messages.bulkEnabled`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`scenes.messages.bulkEnableFailed`,{count:i.failed.length}))}catch{t.error(e(`scenes.messages.bulkEnableFailed`,{count:r.length}))}}},bulkDisable:async r=>{if(r.length!==0){try{await s.confirm(e(`scenes.texts.confirmBulkDisable`,{count:r.length}),e(`scenes.headings.bulkDisable`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`warning`})}catch{t.info(e(`scenes.messages.bulkDisableCanceled`));return}try{let i=await n.bulkSetEnabled({ids:r.map(e=>e.id),enabled:!1});i.succeeded.length>0&&t.success(e(`scenes.messages.bulkDisabled`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`scenes.messages.bulkDisableFailed`,{count:i.failed.length}))}catch{t.error(e(`scenes.messages.bulkDisableFailed`,{count:r.length}))}}}}},$={search:void 0,categories:[],primarySpaceId:void 0,enabled:`all`},oe={by:`name`,dir:`asc`},se=()=>{let e=w().getStore(V),{firstLoad:n,semaphore:i}=v(e),{filters:a,sort:s,pagination:c,reset:l}=x({key:`${N}:scenes:list`,filters:{schema:B,defaults:$},sort:{defaults:[oe]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=t(()=>a.value.search!==$.search||!(0,W.isEqual)(a.value.categories,$.categories)||a.value.primarySpaceId!==$.primarySpaceId||a.value.enabled!==$.enabled),d=r(c.value.size||10),f=r(c.value.page||1),p=r(s.value.length>0?s.value[0]?.by:void 0),m=r(s.value.length>0?s.value[0]?.dir??null:null),h=(e,t)=>t?t===`whole_home`?!e:e===t:!0,g=t(()=>{let t=e.findAll().filter(e=>!e.draft&&(!a.value.search||e.id.toLowerCase().includes(a.value.search.toLowerCase())||e.name.toLowerCase().includes(a.value.search.toLowerCase())||e.description?.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.categories.length===0||a.value.categories.includes(e.category))&&h(e.primarySpaceId,a.value.primarySpaceId)&&(a.value.enabled===`all`||a.value.enabled===`enabled`&&e.enabled||a.value.enabled===`disabled`&&!e.enabled)),n=p.value??`order`;return k(t,[e=>e[n]??``],[m.value??`asc`])}),_=t(()=>{let e=(f.value-1)*d.value,t=e+d.value;return g.value.slice(e,t)}),y=async()=>{await e.fetch()},b=t(()=>i.value.fetching.items||!n.value),S=t(()=>n.value),C=t(()=>e.findAll().filter(e=>!e.draft).length);return o(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),o(()=>f.value,e=>{c.value.page=e}),o(()=>d.value,e=>{c.value.size=e}),o(()=>m.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),o(()=>p.value,e=>{e===void 0||m.value===null?s.value=[]:s.value=[{by:e,dir:m.value}]}),o(()=>a.value,()=>{f.value=1},{deep:!0}),{scenes:g,scenesPaginated:_,totalRows:C,areLoading:b,loaded:S,fetchScenes:y,filters:a,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:m,resetFilter:l}};export{R as _,re as a,M as b,J as c,H as d,V as f,L as g,te as h,ie as i,X as l,F as m,ae as n,Z as o,I as p,Q as r,Y as s,se as t,U as u,P as v,z as x,N as y};
@@ -0,0 +1 @@
1
+ import{Er as e}from"./icon-with-child-CgZMNB3F.js";import{pa as t,x as n}from"./common-DkmUkaQU.js";import{t as r}from"./keys-CIqUg3Jv.js";import"./usePersonalTokens-ePsqRodN.js";var i=()=>{let i=n().getStore(r),{profile:a}=t(i);return{profile:e(()=>a.value),isSignedIn:e(()=>i.isSignedIn())}};export{i as t};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Si as n,T as r,bi as i,ci as a}from"./icon-with-child-CgZMNB3F.js";import{Fr as o,_ as s,f as c,gt as l,ht as u,l as d,ot as f,p,pa as m,s as h,st as g,x as _,yt as v}from"./common-DkmUkaQU.js";import{r as y}from"./config-CdzBdVwi.js";import{r as b}from"./usePlugins-BzLkBW9_.js";import{t as x}from"./schemas.utils-D840MBN3.js";import{t as S}from"./dist-DJgPCOr0.js";import{a as C,c as w,d as T,i as E,n as D,o as O,r as k,t as A}from"./keys-DgS2vm-E.js";import{i as j,t as M}from"./types-B6K6Du7l.js";import{n as N}from"./useDataSources-Hdo8qJZg.js";import"./usePage-qUuM3PR6.js";var P=c(),F=()=>{let e=b(),{enabled:n}=y(),r=[`pageDetail`,`pageAddForm`,`pageEditForm`],i=[`pageSchema`,`pageAddFormSchema`,`pageEditFormSchema`,`pageCreateReqSchema`,`pageUpdateReqSchema`],a=[`configure`],o=t(()=>e.getPlugins().filter(e=>{if(!(e.modules===void 0||e.modules.includes(`dashboard-module`)))return!1;let t=a.some(t=>e.routes&&t in e.routes)??!0;return(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`dashboard-module`)))return!1;let n=r.length===0||!!e.components&&r.some(t=>e.components&&t in e.components),a=i.length===0||!!e.schemas&&i.some(t=>e.schemas&&t in e.schemas);return n||a||t})}));return{plugins:o,options:t(()=>S(o.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`dashboard-module`)).map(t=>({value:t.type,label:t.name?.trim()?t.name:e.name,disabled:!n(e.type)}))),[e=>e.label],[`asc`])),getByPluginType:e=>o.value.find(t=>t.type===e),getByType:e=>o.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`)))),getElement:e=>{for(let t of o.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`)));if(n)return n}}}},I=()=>{let e=_().getStore(D),{firstLoad:n,semaphore:r}=m(e);return{pages:t(()=>e.findAll().filter(e=>!e.draft)),areLoading:t(()=>!!r.value.fetching.items||!n.value),loaded:t(()=>n.value),fetchPages:async()=>{await e.fetch()}}},L={search:void 0,types:[],displays:[]},R={by:`title`,dir:`asc`},z=()=>{let e=_().getStore(D),{firstLoad:r,semaphore:i}=m(e),{filters:o,sort:s,pagination:c,reset:l}=h({key:`${w}:pages:list`,filters:{schema:j,defaults:L},sort:{defaults:[R]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=t(()=>o.value.search!==L.search||!(0,P.isEqual)(o.value.types,L.types)||!(0,P.isEqual)(o.value.displays,L.displays)),d=n(c.value.size||10),f=n(c.value.page||1),p=n(s.value.length>0?s.value[0]?.by:void 0),g=n(s.value.length>0?s.value[0]?.dir??null:null),v=t(()=>S(e.findAll().filter(e=>!e.draft&&(!o.value.search||e.title.toLowerCase().includes(o.value.search.toLowerCase()))&&(o.value.types.length===0||o.value.types.includes(e.type))&&(o.value.displays.length===0||o.value.displays.includes(`all`)&&(e.displays===null||e.displays.length===0)||e.displays!==null&&e.displays.length>0&&e.displays.some(e=>o.value.displays.includes(e)))),[e=>e[p.value]??``],[g.value===`asc`?`asc`:`desc`])),y=t(()=>{let e=(f.value-1)*d.value,t=e+d.value;return v.value.slice(e,t)}),b=async()=>{await e.fetch()},x=t(()=>i.value.fetching.items||!r.value),C=t(()=>r.value),T=t(()=>e.findAll().filter(e=>!e.draft).length);return a(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),a(()=>f.value,e=>{c.value.page=e}),a(()=>d.value,e=>{c.value.size=e}),a(()=>g.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),a(()=>p.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:g.value}]}),{pages:v,pagesPaginated:y,totalRows:T,areLoading:x,loaded:C,fetchPages:b,filters:o,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:g,resetFilter:l}},B=()=>{let{t:e}=r(),t=p(),n=_().getStore(D);return{remove:async r=>{let i=n.findById(r);if(i===null)throw new C(`Something went wrong, page can't be loaded`);o.confirm(e(`dashboardModule.texts.pages.confirmRemove`,{page:i.title}),e(`dashboardModule.headings.pages.remove`),{confirmButtonText:e(`dashboardModule.buttons.yes.title`),cancelButtonText:e(`dashboardModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await n.remove({id:i.id}),t.success(e(`dashboardModule.messages.pages.removed`,{page:i.title}))}catch(n){if(n instanceof E&&n.code===404){let n=e(`dashboardModule.messages.pages.notFound`,{page:i.title});t.error(n)}else if(n instanceof E&&n.code===422)t.error(n.message);else{let n=e(`dashboardModule.messages.pages.notRemoved`,{page:i.title});t.error(n)}}}).catch(()=>{t.info(e(`dashboardModule.messages.pages.removeCanceled`,{page:i.title}))})},bulkRemove:async r=>{if(r.length!==0){try{await o.confirm(e(`dashboardModule.texts.pages.confirmBulkRemove`,{count:r.length}),e(`dashboardModule.headings.pages.bulkRemove`),{confirmButtonText:e(`dashboardModule.buttons.yes.title`),cancelButtonText:e(`dashboardModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`dashboardModule.messages.pages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`dashboardModule.messages.pages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`dashboardModule.messages.pages.bulkRemoveFailed`,{count:r.length}))}}}}},V=({id:e})=>{let n=_().getStore(D);return{icon:t(()=>`mdi:${n.findById(e)?.icon??`view-dashboard`}`)}},H=l({id:v().uuid().optional(),type:v().trim().nonempty(),title:v().trim().nonempty(),icon:v().trim().transform(e=>e===``?null:e).nullable().optional(),order:u(),showTopBar:g().optional(),displays:f(v().uuid()).nullable().optional()}),U=l({id:v().uuid(),type:v().trim().nonempty(),title:v().trim().nonempty().optional(),icon:v().trim().transform(e=>e===``?null:e).nullable().optional(),order:u().optional(),showTopBar:g().optional(),displays:f(v().uuid()).nullable().optional()}),W=({type:e})=>{let{getByType:n}=F(),r=t(()=>n(e));return{plugin:r,element:t(()=>(r.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`))))}},G=({id:t,type:o})=>{let c=_(),{element:l}=W({type:o}),u=c.getStore(D),{t:f}=r(),m=p(),h=s(),g=n(T.NONE),v,y=i({...x(l.value?.schemas?.pageAddFormSchema||H),id:t,type:o,title:``,icon:``,order:0,showTopBar:!0}),b=d(e(y)),S=n(void 0),C=n(!1),w=async()=>{if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let e=(l.value?.schemas?.pageAddFormSchema||H).safeParse(y);if(!e.success)throw h.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create page model.`);g.value=T.WORKING;let n=f(`dashboardModule.messages.pages.notCreated`,{page:y.title});try{await u.add({id:t,draft:!1,data:{...e.data,type:o}})}catch(e){throw g.value=T.ERROR,v=window.setTimeout(k,2e3),e instanceof E&&e.code===422?m.error(e.message):m.error(n),e}return g.value=T.OK,v=window.setTimeout(k,2e3),m.success(f(`dashboardModule.messages.pages.created`,{page:y.title})),`added`},k=()=>{window.clearTimeout(v),g.value=T.NONE};return a(y,()=>{C.value=!(0,P.isEqual)(e(y),b)}),{model:y,formEl:S,formChanged:C,submit:w,clear:k,formResult:g}},K=({page:t,messages:o})=>{let c=_(),{element:l}=W({type:t.type}),u=c.getStore(D),{t:f}=r(),m=p(),h=s(),g=n(T.NONE),v,y=i(t),b=d(e(y)),x=n(void 0),S=n(!1),C=async()=>{let n=t.draft,r=o&&o.error?o.error:t.draft?f(`dashboardModule.messages.pages.notCreated`,{page:t.title}):f(`dashboardModule.messages.pages.notEdited`,{page:t.title});if(x.value.clearValidate(),!await x.value.validate())throw new O(`Form not valid`);let i=(l.value?.schemas?.pageEditFormSchema||U).safeParse(y);if(!i.success)throw h.error(`Schema validation failed with:`,i.error),new O(`Failed to validate edit page model.`);g.value=T.WORKING;try{let e;e=await u.edit({id:t.id,data:{...i.data,type:t.type}}),t.draft&&(e=await u.save({id:t.id})),e&&Object.assign(y,e)}catch(e){throw g.value=T.ERROR,v=window.setTimeout(w,2e3),e instanceof E&&e.code===422?m.error(e.message):m.error(r),e}return g.value=T.OK,v=window.setTimeout(w,2e3),n?(m.success(f(o&&o.success?o.success:`dashboardModule.messages.pages.created`,{page:t.title})),`added`):(m.success(f(o&&o.success?o.success:`dashboardModule.messages.pages.edited`,{page:t.title})),S.value=!1,b=d(e(y)),`saved`)},w=()=>{window.clearTimeout(v),g.value=T.NONE};return a(y,()=>{S.value=!(0,P.isEqual)(e(y),b)}),{model:y,formEl:x,formChanged:S,submit:C,clear:w,formResult:g}},q=e=>{let n=_().getStore(k),{firstLoad:r,semaphore:i}=m(n);return{tiles:t(()=>n.findForParent(e.parent,e.parentId)),areLoading:t(()=>i.value.fetching.items.includes(e.parentId)?!0:!r.value.includes(e.parentId)&&i.value.fetching.items.includes(e.parentId)),loaded:t(()=>r.value.includes(e.parentId)),fetchTiles:async()=>{await n.fetch({parent:{type:e.parent,id:e.parentId}})}}},J=e=>{let{t}=r(),n=p(),i=_().getStore(k);return{findById:(e,t)=>i.findById(e,t),edit:async e=>i.edit(e),save:async e=>i.save(e),remove:async r=>{let a=i.findById(e.parent,r);if(a===null)throw new C(`Something went wrong, tile can't be loaded`);o.confirm(t(`dashboardModule.texts.tiles.confirmRemove`),t(`dashboardModule.headings.tiles.remove`),{confirmButtonText:t(`dashboardModule.buttons.yes.title`),cancelButtonText:t(`dashboardModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await i.remove({id:a.id,parent:{type:e.parent,id:e.parentId}}),n.success(t(`dashboardModule.messages.tiles.removed`))}catch(e){if(e instanceof E&&e.code===404){let e=t(`dashboardModule.messages.tiles.notFound`);n.error(e)}else if(e instanceof E&&e.code===422)n.error(e.message);else{let e=t(`dashboardModule.messages.tiles.notRemoved`);n.error(e)}}}).catch(()=>{n.info(t(`dashboardModule.messages.tiles.removeCanceled`))})},removeDirectly:async e=>i.remove(e)}},Y=l({id:v().uuid().optional(),type:v().trim().nonempty(),row:u(),col:u(),rowSpan:u(),colSpan:u(),hidden:g()}),X=l({id:v().uuid(),type:v().trim().nonempty(),row:u().optional(),col:u().optional(),rowSpan:u().optional(),colSpan:u().optional(),hidden:g()}),Z=({id:t,parent:o,parentId:c,type:l,onlyDraft:u=!1})=>{let f=_(),{element:m}=N({type:l}),h=f.getStore(k),{t:g}=r(),v=p(),y=s(),b=n(T.NONE),S,C=i({...x(m.value?.schemas?.tileAddFormSchema||Y),id:t,type:l,row:1,col:1,rowSpan:1,colSpan:1,hidden:!1}),w=d(e(C)),D=n(void 0),A=n(!1),j=async()=>{if(D.value.clearValidate(),!await D.value.validate())throw new O(`Form not valid`);let e=(m.value?.schemas?.tileAddFormSchema||Y).safeParse(C);if(!e.success)throw y.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create tile model.`);b.value=T.WORKING;let n=g(`dashboardModule.messages.tiles.notCreated`);try{await h.add({id:t,parent:{type:o,id:c},draft:u,data:{...e.data,type:l}})}catch(e){throw b.value=T.ERROR,S=window.setTimeout(M,2e3),e instanceof E&&e.code===422?v.error(e.message):v.error(n),e}return b.value=T.OK,S=window.setTimeout(M,2e3),v.success(g(`dashboardModule.messages.tiles.created`)),`added`},M=()=>{window.clearTimeout(S),b.value=T.NONE};return a(C,()=>{A.value=!(0,P.isEqual)(e(C),w)}),{model:C,formEl:D,formChanged:A,submit:j,clear:M,formResult:b}},ee=({tile:t,messages:o,onlyDraft:c=!1})=>{let l=_(),{element:u}=N({type:t.type}),f=l.getStore(k),{t:m}=r(),h=p(),g=s(),v=n(T.NONE),y,b=i(t),x=d(e(b)),S=n(void 0),C=n(!1),w=async()=>{let n=t.draft,r=o&&o.error?o.error:t.draft&&!c?m(`dashboardModule.messages.tiles.notCreated`):m(`dashboardModule.messages.tiles.notEdited`);if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let i=(u.value?.schemas?.tileEditFormSchema||X).safeParse(b);if(!i.success)throw g.error(`Schema validation failed with:`,i.error),new O(`Failed to validate create tile model.`);v.value=T.WORKING;try{await f.edit({id:t.id,parent:t.parent,data:{...i.data,type:t.type}}),t.draft&&!c&&await f.save({id:t.id,parent:t.parent})}catch(e){throw v.value=T.ERROR,y=window.setTimeout(D,2e3),e instanceof E&&e.code===422?h.error(e.message):h.error(r),e}return v.value=T.OK,y=window.setTimeout(D,2e3),n&&!c?(h.success(m(o&&o.success?o.success:`dashboardModule.messages.tiles.created`)),`added`):(h.success(m(o&&o.success?o.success:`dashboardModule.messages.tiles.edited`)),C.value=!1,x=d(e(b)),`saved`)},D=()=>{window.clearTimeout(y),v.value=T.NONE};return a(b,()=>{C.value=!(0,P.isEqual)(e(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:D,formResult:v}},te=e=>{let{id:n}=e,r=_().getStore(A),{data:i,semaphore:a}=m(r);return{dataSource:t(()=>n===null?null:n in i.value?i.value[n]:null),isLoading:t(()=>a.value.fetching.item.includes(n)?!0:(n in i.value?i.value[n]:null)===null&&a.value.fetching.items.includes(e.parentId)),fetchDataSource:async()=>{(n in i.value?i.value[n]:null)?.draft||await r.get({id:n,parent:{type:e.parent,id:e.parentId}})}}},Q=l({id:v().uuid().optional(),type:v().trim().nonempty()}),$=l({id:v().uuid(),type:v().trim().nonempty()}),ne=({id:t,type:o,parent:c,parentId:l,onlyDraft:u=!1})=>{let f=_(),{element:m}=M({type:o}),h=f.getStore(A),{t:g}=r(),v=p(),y=s(),b=n(T.NONE),S,C=i({...x(m.value?.schemas?.dataSourceAddFormSchema||Q),id:t,type:o}),w=d(e(C)),D=n(void 0),k=n(!1),j=async()=>{if(D.value.clearValidate(),!await D.value.validate())throw new O(`Form not valid`);let e=(m.value?.schemas?.dataSourceAddFormSchema||Q).safeParse(C);if(!e.success)throw y.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create data source model.`);b.value=T.WORKING;let n=g(`dashboardModule.messages.dataSources.notCreated`);try{await h.add({id:t,parent:{type:c,id:l},draft:u,data:{...e.data,type:o}})}catch(e){throw b.value=T.ERROR,S=window.setTimeout(N,2e3),e instanceof E&&e.code===422?v.error(e.message):v.error(n),e}return b.value=T.OK,S=window.setTimeout(N,2e3),v.success(g(`dashboardModule.messages.dataSources.created`)),`added`},N=()=>{window.clearTimeout(S),b.value=T.NONE};return a(C,()=>{k.value=!(0,P.isEqual)(e(C),w)}),{model:C,formEl:D,formChanged:k,submit:j,clear:N,formResult:b}},re=({dataSource:t,messages:o,onlyDraft:c=!1})=>{let l=_(),{element:u}=M({type:t.type}),f=l.getStore(A),{t:m}=r(),h=p(),g=s(),v=n(T.NONE),y,b=i(t),x=d(e(b)),S=n(void 0),C=n(!1),w=async()=>{let n=t.draft,r=o&&o.error?o.error:t.draft&&!c?m(`dashboardModule.messages.dataSources.notCreated`):m(`dashboardModule.messages.dataSources.notEdited`);if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let i=(u.value?.schemas?.dataSourceEditFormSchema||$).safeParse(b);if(!i.success)throw g.error(`Schema validation failed with:`,i.error),new O(`Failed to validate create dataSource model.`);v.value=T.WORKING;try{await f.edit({id:t.id,parent:t.parent,data:{...i.data,type:t.type}}),t.draft&&!c&&await f.save({id:t.id,parent:t.parent})}catch(e){throw v.value=T.ERROR,y=window.setTimeout(D,2e3),e instanceof E&&e.code===422?h.error(e.message):h.error(r),e}return v.value=T.OK,y=window.setTimeout(D,2e3),n&&!c?(h.success(m(o&&o.success?o.success:`dashboardModule.messages.dataSources.created`)),`added`):(h.success(m(o&&o.success?o.success:`dashboardModule.messages.dataSources.edited`)),C.value=!1,x=d(e(b)),`saved`)},D=()=>{window.clearTimeout(y),v.value=T.NONE};return a(b,()=>{C.value=!(0,P.isEqual)(e(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:D,formResult:v}};export{V as _,te as a,I as b,Y as c,q as d,K as f,U as g,H as h,$ as i,X as l,W as m,ne as n,ee as o,G as p,Q as r,Z as s,re as t,J as u,B as v,F as x,z as y};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Gr as n,Si as r,T as i,bi as a,ci as o,n as s}from"./icon-with-child-CgZMNB3F.js";import{Dr as c,Ht as l,Pr as u,_ as d,f,fa as p,gt as m,it as h,l as g,m as _,ot as v,p as y,s as b,x,yt as S}from"./common-Bn7l0dTZ.js";import{t as C}from"./dist-DJgPCOr0.js";import{t as w}from"./keys-DExX7OfU.js";var T=e=>{let n=x().getStore(w),{tokenRefreshTriggers:i}=p(n),a=d(),s=r([]),l=t(()=>e.value===null?null:n?.findById(e.value)??null),u=t(()=>e.value===null?!1:n?.getting(e.value)??!1),f=async()=>{if(e.value!==null)try{await n?.get({id:e.value})}catch(e){a.error(`Failed to fetch display:`,e)}},m=async()=>{if(e.value!==null)try{let t=await n?.getTokens({id:e.value});s.value=t??[]}catch(e){a.error(`Failed to fetch display tokens:`,e),s.value=[]}};return c(t(()=>{if(e.value===null||!n)return 0;let t=i.value;return!t||typeof t!=`object`?0:t[e.value]??0}),async()=>{if(e.value!==null)try{await m()}catch(e){a.error(`Failed to refresh tokens:`,e)}},{debounce:300}),o(()=>e.value,async e=>{if(e!==null&&n?.findById(e)===null)try{await f()}catch(e){a.error(`Failed to fetch display on id change:`,e)}},{immediate:!0}),{display:l,tokens:s,isLoading:u,fetchDisplay:f,fetchTokens:m,revokeToken:async()=>{if(e.value===null)return!1;let t=await n?.revokeToken({id:e.value});return t&&(s.value=[]),t??!1}}},E=f(),D=`displays`,O=`displays-module`,k=`DisplaysModule.`,A=l,j=function(e){return e.DISPLAY_CREATED=`DisplaysModule.Display.Created`,e.DISPLAY_UPDATED=`DisplaysModule.Display.Updated`,e.DISPLAY_DELETED=`DisplaysModule.Display.Deleted`,e.DISPLAY_TOKEN_REVOKED=`DisplaysModule.Display.TokenRevoked`,e}({}),M=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),N={DISPLAYS:`displays_module-displays`,DISPLAYS_EDIT:`displays_module-displays_edit`,DISPLAY:`displays_module-display`,DISPLAY_EDIT:`displays_module-display_edit`,DISPLAY_TOKENS:`displays_module-display_tokens`},P=[{value:15,labelKey:`15s`},{value:30,labelKey:`30s`},{value:60,labelKey:`1min`},{value:120,labelKey:`2min`},{value:300,labelKey:`5min`},{value:600,labelKey:`10min`},{value:1800,labelKey:`30min`},{value:0,labelKey:`never`}],F=class extends Error{exception;constructor(e,t=null){super(e),this.name=`DisplaysException`,this.exception=t}},I=class extends F{constructor(e,t=null){super(e,t),this.name=`DisplaysValidationException`}},L=class extends F{code;constructor(e,t=null,n=null){super(e,n),this.name=`DisplaysApiException`,this.code=t}},R=({display:t,messages:s})=>{let c=x().getStore(w),{t:l}=i(),u=y(),d=r(M.NONE),f,p=a({id:t.id,name:t.name,spaceId:t.spaceId,unitSize:t.unitSize,rows:t.rows,cols:t.cols,brightness:t.brightness,screenLockDuration:t.screenLockDuration,darkMode:t.darkMode,screenSaver:t.screenSaver,screenPowerOff:t.screenPowerOff,speaker:t.speaker,speakerVolume:t.speakerVolume,microphone:t.microphone,microphoneVolume:t.microphoneVolume,homeMode:t.homeMode,homePageId:t.homePageId,numberFormat:t.numberFormat??``,temperatureUnit:t.temperatureUnit??``,windSpeedUnit:t.windSpeedUnit??``,pressureUnit:t.pressureUnit??``,precipitationUnit:t.precipitationUnit??``,distanceUnit:t.distanceUnit??``,weatherLocationId:t.weatherLocationId??null}),m=g(e(p)),h=r(void 0),_=r(!1),v=async()=>{let n=s&&s.error?s.error:l(`displaysModule.messages.notEdited`,{display:t.name||t.macAddress});if(!h.value)throw new I(`Form element is not available`);if(h.value.clearValidate(),!await h.value.validate())throw new I(`Form not valid`);d.value=M.WORKING;try{let e={name:p.name||null,spaceId:p.spaceId,unitSize:p.unitSize,rows:p.rows,cols:p.cols,brightness:p.brightness,screenLockDuration:p.screenLockDuration,darkMode:p.darkMode,screenSaver:p.screenSaver,screenPowerOff:p.screenPowerOff,homeMode:p.homeMode,homePageId:p.homeMode===`explicit`?p.homePageId:null,numberFormat:p.numberFormat||null,temperatureUnit:p.temperatureUnit||null,windSpeedUnit:p.windSpeedUnit||null,pressureUnit:p.pressureUnit||null,precipitationUnit:p.precipitationUnit||null,distanceUnit:p.distanceUnit||null,weatherLocationId:p.weatherLocationId||null};t.audioOutputSupported&&(e.speaker=p.speaker,e.speakerVolume=p.speakerVolume),t.audioInputSupported&&(e.microphone=p.microphone,e.microphoneVolume=p.microphoneVolume),await c.edit({id:t.id,data:e})}catch(e){throw d.value=M.ERROR,f=window.setTimeout(b,2e3),e instanceof L&&e.code===422?u.error(e.message):u.error(n),e}return d.value=M.OK,f=window.setTimeout(b,2e3),u.success(l(s&&s.success?s.success:`displaysModule.messages.edited`,{display:t.name||t.macAddress})),_.value=!1,m=g(e(p)),`saved`},b=()=>{f!==void 0&&(window.clearTimeout(f),f=void 0),d.value=M.NONE};return o(p,()=>{_.value=!(0,E.isEqual)(e(p),m)}),n(()=>{b()}),{model:p,formEl:h,formChanged:_,submit:v,clear:b,formResult:d}},z=()=>{let e=x().getStore(w),{firstLoad:n}=p(e),r=t(()=>e?.findAll()??[]);return{displays:r,isLoading:t(()=>e?.fetching()??!1),isLoaded:t(()=>n.value),fetchDisplays:async()=>{await e?.fetch()},options:t(()=>r.value.map(e=>({value:e.id,label:e.name||e.macAddress})))}},B=m({search:S().optional(),darkMode:h([`all`,`enabled`,`disabled`]).default(`all`),screenSaver:h([`all`,`enabled`,`disabled`]).default(`all`),state:h([`all`,`offline`,`online`]).default(`all`),states:v(h([`connected`,`disconnected`,`lost`,`unknown`]))}),V={search:void 0,darkMode:`all`,screenSaver:`all`,state:`all`,states:[]},H={by:`name`,dir:`asc`},U=()=>{let e=x().getStore(w),{firstLoad:n,semaphore:i}=p(e),{filters:a,sort:s,pagination:c,reset:l}=b({key:`${O}:displays:list`,filters:{schema:B,defaults:V},sort:{defaults:[H]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=t(()=>a.value.search!==V.search||!(0,E.isEqual)(a.value.darkMode,V.darkMode)||!(0,E.isEqual)(a.value.screenSaver,V.screenSaver)||!(0,E.isEqual)(a.value.state,V.state)||!(0,E.isEqual)(a.value.states,V.states)),d=r(c.value.size||10),f=r(c.value.page||1),m=r(s.value.length>0?s.value[0]?.by:void 0),h=r(s.value.length>0?s.value[0]?.dir??null:null),g=t(()=>C(e.findAll().filter(e=>!e.draft&&(!a.value.search||e.id.toLowerCase().includes(a.value.search.toLowerCase())||e.name?.toLowerCase().includes(a.value.search.toLowerCase())||e.macAddress.toLowerCase().includes(a.value.search.toLowerCase())||e.version.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.darkMode===`all`||a.value.darkMode===`enabled`&&e.darkMode||a.value.darkMode===`disabled`&&!e.darkMode)&&(a.value.screenSaver===`all`||a.value.screenSaver===`enabled`&&e.screenSaver||a.value.screenSaver===`disabled`&&!e.screenSaver)&&(!a.value.states||a.value.states.length===0||a.value.states.includes(e.status??`unknown`))&&(a.value.state===`all`||a.value.state===`online`&&e.status===`connected`||a.value.state===`offline`&&[`disconnected`,`lost`,`unknown`].includes(e.status??`unknown`))),[e=>{switch(m.value){case`name`:return e.name||e.macAddress;case`version`:return e.version;case`screenWidth`:return e.screenWidth??0;case`status`:return e.status??`unknown`;default:return e.name||e.macAddress}}],[h.value===`asc`?`asc`:`desc`])),_=t(()=>{let e=(f.value-1)*d.value,t=e+d.value;return g.value.slice(e,t)}),v=async()=>{await e.fetch()},y=t(()=>i.value.fetching.items||!n.value),S=t(()=>n.value),T=t(()=>e.findAll().filter(e=>!e.draft).length);return o(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),o(()=>f.value,e=>{c.value.page=e}),o(()=>d.value,e=>{c.value.size=e}),o(()=>h.value,e=>{m.value===void 0||e===null?s.value=[]:s.value=[{by:m.value,dir:e}]}),o(()=>m.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:h.value}]}),{displays:g,displaysPaginated:_,totalRows:T,areLoading:y,loaded:S,fetchDisplays:v,filters:a,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:m,sortDir:h,resetFilter:l}},W=()=>{let e=x().getStore(w),{t}=i(),n=y();return{remove:async r=>{let i=e?.findById(r);if(!i){n.error(t(`displaysModule.messages.notFound`));return}try{await u.confirm(t(`displaysModule.messages.confirmRemove`,{name:i.name||i.macAddress}),t(`displaysModule.headings.removeDisplay`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`}),await e.remove({id:r}),n.success(t(`displaysModule.messages.removed`))}catch{}},bulkRemove:async r=>{if(r.length!==0){try{await u.confirm(t(`displaysModule.messages.confirmBulkRemove`,{count:r.length}),t(`displaysModule.headings.removeBulkDisplays`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await e.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&n.success(t(`displaysModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:r.length}))}}}}},G=()=>{let e=_(),n=d(),i=r(null),a=r(!1),o=r(!1),c=t(()=>i.value?.available??!1),l=t(()=>i.value?.active??!1),u=t(()=>i.value?.deploymentMode??`combined`),f=t(()=>i.value?.remainingTime??null),p=t(()=>{let e=f.value;return e===null?0:Math.ceil(e/1e3)}),m=t(()=>{let e=p.value;return e<=0?`0:00`:`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`}),h=async()=>{try{a.value=!0;let{data:t}=await e.client.GET(`/${s}/${D}/displays/permit-join/status`);if(t?.data){let e=t.data;i.value={active:e.active??!1,expiresAt:e.expires_at?new Date(e.expires_at):null,remainingTime:e.remaining_time??null,deploymentMode:e.deployment_mode??`combined`,available:e.available??!1}}}catch(e){throw n.error(`Failed to fetch permit join status`,e),new F(`Failed to fetch permit join status`)}finally{a.value=!1}};return{status:i,loading:a,activating:o,isAvailable:c,isActive:l,deploymentMode:u,remainingTime:f,remainingTimeSeconds:p,remainingTimeFormatted:m,fetchStatus:h,activate:async()=>{try{o.value=!0,await e.client.POST(`/${s}/${D}/displays/permit-join`),await h()}catch(e){throw n.error(`Failed to activate permit join`,e),new F(`Failed to activate permit join`)}finally{o.value=!1}},deactivate:async()=>{try{o.value=!0,await e.client.DELETE(`/${s}/${D}/displays/permit-join`,{}),await h()}catch(e){throw n.error(`Failed to deactivate permit join`,e),new F(`Failed to deactivate permit join`)}finally{o.value=!1}}}};export{T as _,R as a,I as c,D as d,A as f,P as g,N as h,z as i,k as l,M as m,W as n,L as o,j as p,U as r,F as s,G as t,O as u};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Gr as n,Si as r,T as i,bi as a,ci as o,n as s}from"./icon-with-child-CgZMNB3F.js";import{Fr as c,Ht as l,Or as u,_ as d,f,gt as p,it as m,l as h,m as g,ot as _,p as v,pa as y,s as b,x,yt as S}from"./common-DkmUkaQU.js";import{t as C}from"./dist-DJgPCOr0.js";import{t as w}from"./keys-DExX7OfU.js";var T=e=>{let n=x().getStore(w),{tokenRefreshTriggers:i}=y(n),a=d(),s=r([]),c=t(()=>e.value===null?null:n?.findById(e.value)??null),l=t(()=>e.value===null?!1:n?.getting(e.value)??!1),f=async()=>{if(e.value!==null)try{await n?.get({id:e.value})}catch(e){a.error(`Failed to fetch display:`,e)}},p=async()=>{if(e.value!==null)try{let t=await n?.getTokens({id:e.value});s.value=t??[]}catch(e){a.error(`Failed to fetch display tokens:`,e),s.value=[]}};return u(t(()=>{if(e.value===null||!n)return 0;let t=i.value;return!t||typeof t!=`object`?0:t[e.value]??0}),async()=>{if(e.value!==null)try{await p()}catch(e){a.error(`Failed to refresh tokens:`,e)}},{debounce:300}),o(()=>e.value,async e=>{if(e!==null&&n?.findById(e)===null)try{await f()}catch(e){a.error(`Failed to fetch display on id change:`,e)}},{immediate:!0}),{display:c,tokens:s,isLoading:l,fetchDisplay:f,fetchTokens:p,revokeToken:async()=>{if(e.value===null)return!1;let t=await n?.revokeToken({id:e.value});return t&&(s.value=[]),t??!1}}},E=f(),D=`displays`,O=`displays-module`,k=`DisplaysModule.`,A=l,j=function(e){return e.DISPLAY_CREATED=`DisplaysModule.Display.Created`,e.DISPLAY_UPDATED=`DisplaysModule.Display.Updated`,e.DISPLAY_DELETED=`DisplaysModule.Display.Deleted`,e.DISPLAY_TOKEN_REVOKED=`DisplaysModule.Display.TokenRevoked`,e}({}),M=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),N={DISPLAYS:`displays_module-displays`,DISPLAYS_EDIT:`displays_module-displays_edit`,DISPLAY:`displays_module-display`,DISPLAY_EDIT:`displays_module-display_edit`,DISPLAY_TOKENS:`displays_module-display_tokens`},P=[{value:15,labelKey:`15s`},{value:30,labelKey:`30s`},{value:60,labelKey:`1min`},{value:120,labelKey:`2min`},{value:300,labelKey:`5min`},{value:600,labelKey:`10min`},{value:1800,labelKey:`30min`},{value:0,labelKey:`never`}],F=class extends Error{exception;constructor(e,t=null){super(e),this.name=`DisplaysException`,this.exception=t}},I=class extends F{constructor(e,t=null){super(e,t),this.name=`DisplaysValidationException`}},L=class extends F{code;constructor(e,t=null,n=null){super(e,n),this.name=`DisplaysApiException`,this.code=t}},R=({display:t,messages:s})=>{let c=x().getStore(w),{t:l}=i(),u=v(),d=r(M.NONE),f,p=a({id:t.id,name:t.name,spaceId:t.spaceId,unitSize:t.unitSize,rows:t.rows,cols:t.cols,brightness:t.brightness,screenLockDuration:t.screenLockDuration,darkMode:t.darkMode,screenSaver:t.screenSaver,screenPowerOff:t.screenPowerOff,speaker:t.speaker,speakerVolume:t.speakerVolume,microphone:t.microphone,microphoneVolume:t.microphoneVolume,homeMode:t.homeMode,homePageId:t.homePageId,numberFormat:t.numberFormat??``,temperatureUnit:t.temperatureUnit??``,windSpeedUnit:t.windSpeedUnit??``,pressureUnit:t.pressureUnit??``,precipitationUnit:t.precipitationUnit??``,distanceUnit:t.distanceUnit??``,weatherLocationId:t.weatherLocationId??null}),m=h(e(p)),g=r(void 0),_=r(!1),y=async()=>{let n=s&&s.error?s.error:l(`displaysModule.messages.notEdited`,{display:t.name||t.macAddress});if(!g.value)throw new I(`Form element is not available`);if(g.value.clearValidate(),!await g.value.validate())throw new I(`Form not valid`);d.value=M.WORKING;try{let e={name:p.name||null,spaceId:p.spaceId,unitSize:p.unitSize,rows:p.rows,cols:p.cols,brightness:p.brightness,screenLockDuration:p.screenLockDuration,darkMode:p.darkMode,screenSaver:p.screenSaver,screenPowerOff:p.screenPowerOff,homeMode:p.homeMode,homePageId:p.homeMode===`explicit`?p.homePageId:null,numberFormat:p.numberFormat||null,temperatureUnit:p.temperatureUnit||null,windSpeedUnit:p.windSpeedUnit||null,pressureUnit:p.pressureUnit||null,precipitationUnit:p.precipitationUnit||null,distanceUnit:p.distanceUnit||null,weatherLocationId:p.weatherLocationId||null};t.audioOutputSupported&&(e.speaker=p.speaker,e.speakerVolume=p.speakerVolume),t.audioInputSupported&&(e.microphone=p.microphone,e.microphoneVolume=p.microphoneVolume),await c.edit({id:t.id,data:e})}catch(e){throw d.value=M.ERROR,f=window.setTimeout(b,2e3),e instanceof L&&e.code===422?u.error(e.message):u.error(n),e}return d.value=M.OK,f=window.setTimeout(b,2e3),u.success(l(s&&s.success?s.success:`displaysModule.messages.edited`,{display:t.name||t.macAddress})),_.value=!1,m=h(e(p)),`saved`},b=()=>{f!==void 0&&(window.clearTimeout(f),f=void 0),d.value=M.NONE};return o(p,()=>{_.value=!(0,E.isEqual)(e(p),m)}),n(()=>{b()}),{model:p,formEl:g,formChanged:_,submit:y,clear:b,formResult:d}},z=()=>{let e=x().getStore(w),{firstLoad:n}=y(e),r=t(()=>e?.findAll()??[]);return{displays:r,isLoading:t(()=>e?.fetching()??!1),isLoaded:t(()=>n.value),fetchDisplays:async()=>{await e?.fetch()},options:t(()=>r.value.map(e=>({value:e.id,label:e.name||e.macAddress})))}},B=p({search:S().optional(),darkMode:m([`all`,`enabled`,`disabled`]).default(`all`),screenSaver:m([`all`,`enabled`,`disabled`]).default(`all`),state:m([`all`,`offline`,`online`]).default(`all`),states:_(m([`connected`,`disconnected`,`lost`,`unknown`]))}),V={search:void 0,darkMode:`all`,screenSaver:`all`,state:`all`,states:[]},H={by:`name`,dir:`asc`},U=()=>{let e=x().getStore(w),{firstLoad:n,semaphore:i}=y(e),{filters:a,sort:s,pagination:c,reset:l}=b({key:`${O}:displays:list`,filters:{schema:B,defaults:V},sort:{defaults:[H]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=t(()=>a.value.search!==V.search||!(0,E.isEqual)(a.value.darkMode,V.darkMode)||!(0,E.isEqual)(a.value.screenSaver,V.screenSaver)||!(0,E.isEqual)(a.value.state,V.state)||!(0,E.isEqual)(a.value.states,V.states)),d=r(c.value.size||10),f=r(c.value.page||1),p=r(s.value.length>0?s.value[0]?.by:void 0),m=r(s.value.length>0?s.value[0]?.dir??null:null),h=t(()=>C(e.findAll().filter(e=>!e.draft&&(!a.value.search||e.id.toLowerCase().includes(a.value.search.toLowerCase())||e.name?.toLowerCase().includes(a.value.search.toLowerCase())||e.macAddress.toLowerCase().includes(a.value.search.toLowerCase())||e.version.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.darkMode===`all`||a.value.darkMode===`enabled`&&e.darkMode||a.value.darkMode===`disabled`&&!e.darkMode)&&(a.value.screenSaver===`all`||a.value.screenSaver===`enabled`&&e.screenSaver||a.value.screenSaver===`disabled`&&!e.screenSaver)&&(!a.value.states||a.value.states.length===0||a.value.states.includes(e.status??`unknown`))&&(a.value.state===`all`||a.value.state===`online`&&e.status===`connected`||a.value.state===`offline`&&[`disconnected`,`lost`,`unknown`].includes(e.status??`unknown`))),[e=>{switch(p.value){case`name`:return e.name||e.macAddress;case`version`:return e.version;case`screenWidth`:return e.screenWidth??0;case`status`:return e.status??`unknown`;default:return e.name||e.macAddress}}],[m.value===`asc`?`asc`:`desc`])),g=t(()=>{let e=(f.value-1)*d.value,t=e+d.value;return h.value.slice(e,t)}),_=async()=>{await e.fetch()},v=t(()=>i.value.fetching.items||!n.value),S=t(()=>n.value),T=t(()=>e.findAll().filter(e=>!e.draft).length);return o(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),o(()=>f.value,e=>{c.value.page=e}),o(()=>d.value,e=>{c.value.size=e}),o(()=>m.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),o(()=>p.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:m.value}]}),{displays:h,displaysPaginated:g,totalRows:T,areLoading:v,loaded:S,fetchDisplays:_,filters:a,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:m,resetFilter:l}},W=()=>{let e=x().getStore(w),{t}=i(),n=v();return{remove:async r=>{let i=e?.findById(r);if(!i){n.error(t(`displaysModule.messages.notFound`));return}try{await c.confirm(t(`displaysModule.messages.confirmRemove`,{name:i.name||i.macAddress}),t(`displaysModule.headings.removeDisplay`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`}),await e.remove({id:r}),n.success(t(`displaysModule.messages.removed`))}catch{}},bulkRemove:async r=>{if(r.length!==0){try{await c.confirm(t(`displaysModule.messages.confirmBulkRemove`,{count:r.length}),t(`displaysModule.headings.removeBulkDisplays`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await e.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&n.success(t(`displaysModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:r.length}))}}}}},G=()=>{let e=g(),n=d(),i=r(null),a=r(!1),o=r(!1),c=t(()=>i.value?.available??!1),l=t(()=>i.value?.active??!1),u=t(()=>i.value?.deploymentMode??`combined`),f=t(()=>i.value?.remainingTime??null),p=t(()=>{let e=f.value;return e===null?0:Math.ceil(e/1e3)}),m=t(()=>{let e=p.value;return e<=0?`0:00`:`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`}),h=async()=>{try{a.value=!0;let{data:t}=await e.client.GET(`/${s}/${D}/displays/permit-join/status`);if(t?.data){let e=t.data;i.value={active:e.active??!1,expiresAt:e.expires_at?new Date(e.expires_at):null,remainingTime:e.remaining_time??null,deploymentMode:e.deployment_mode??`combined`,available:e.available??!1}}}catch(e){throw n.error(`Failed to fetch permit join status`,e),new F(`Failed to fetch permit join status`)}finally{a.value=!1}};return{status:i,loading:a,activating:o,isAvailable:c,isActive:l,deploymentMode:u,remainingTime:f,remainingTimeSeconds:p,remainingTimeFormatted:m,fetchStatus:h,activate:async()=>{try{o.value=!0,await e.client.POST(`/${s}/${D}/displays/permit-join`),await h()}catch(e){throw n.error(`Failed to activate permit join`,e),new F(`Failed to activate permit join`)}finally{o.value=!1}},deactivate:async()=>{try{o.value=!0,await e.client.DELETE(`/${s}/${D}/displays/permit-join`,{}),await h()}catch(e){throw n.error(`Failed to deactivate permit join`,e),new F(`Failed to deactivate permit join`)}finally{o.value=!1}}}};export{T as _,R as a,I as c,D as d,A as f,P as g,N as h,z as i,k as l,M as m,W as n,L as o,j as p,U as r,F as s,G as t,O as u};