@fastybird/smart-panel-admin 0.1.0-alpha.10 → 0.1.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{card-add-form-DZftQLIc.js → card-add-form-BUYwB7XA.js} +1 -1
- package/dist/assets/{card-edit-form-erKMAy1o.js → card-edit-form-Dnur6FjE.js} +1 -1
- package/dist/assets/{common-BRnJNE_Q.js → common-CIDPejpp.js} +4 -4
- package/dist/assets/{components-BJs9efFx.js → components-7ld_p3Ru.js} +1 -1
- package/dist/assets/{components-b9x02tsu.js → components-CBZfHLMe.js} +1 -1
- package/dist/assets/{components-BBZwfA-Z.js → components-CeQ5g_rG.js} +1 -1
- package/dist/assets/{components-CXHs8xcO.js → components-CegmARhI.js} +2 -2
- package/dist/assets/{components-_USj_Y_v.js → components-DFuAzFgP.js} +1 -1
- package/dist/assets/{components-DquOwD9Y.js → components-Dhwq59-x.js} +1 -1
- package/dist/assets/{components-FUjw3L21.js → components-MqrN4PNl.js} +1 -1
- package/dist/assets/{components-q5Z_qVMd.js → components-dl8AxtXv.js} +1 -1
- package/dist/assets/{composables-CWyhzXoT2.js → composables-CKcxh4jJ2.js} +1 -1
- package/dist/assets/{composables-B66YAxf_.js → composables-DNEIYloj.js} +1 -1
- package/dist/assets/{composables-DmCU_JIM.js → composables-DTO7Tsmq.js} +1 -1
- package/dist/assets/{composables-BjbLMXuf.js → composables-DYF0pBqU.js} +1 -1
- package/dist/assets/{composables-Dxa6MUJX.js → composables-DfG3E7wb.js} +1 -1
- package/dist/assets/{composables-CeeB2S8s.js → composables-Dhb88XDz.js} +1 -1
- package/dist/assets/{composables-Voe-THWX.js → composables-DpXFX-Zt.js} +1 -1
- package/dist/assets/{composables-DtAHwEcp.js → composables-Z5pQV3eD.js} +1 -1
- package/dist/assets/{composables-vQvT633n.js → composables-_k0hQyMf.js} +1 -1
- package/dist/assets/{dashboard-CD5r8inI.js → dashboard-DvfqKddL.js} +2 -2
- package/dist/assets/{dashboard.types-DD0ug7Ac.js → dashboard.types-Xsc_YcA_.js} +1 -1
- package/dist/assets/{data-source-edit-form-D2MOk7QB.js → data-source-edit-form-Di1_oIK0.js} +1 -1
- package/dist/assets/{drawer-D8OeQW0K.js → drawer-D9E4cpGf.js} +1 -1
- package/dist/assets/{index-BaZ7Gxoq.js → index-BnaWO0P0.js} +4 -4
- package/dist/assets/{input-number-Bx9wS3eH.js → input-number-DS8mrAXf.js} +1 -1
- package/dist/assets/{integration-config-dialog-DhIawFnd.js → integration-config-dialog-BQ9Wv9CM.js} +1 -1
- package/dist/assets/{layout-config-B7BXgAze.js → layout-config-XZ_woTG7.js} +1 -1
- package/dist/assets/{layout-default-DhQhD4PO.js → layout-default-BmA7doef.js} +1 -1
- package/dist/assets/{layout-lock-BXYeCvUp.js → layout-lock-CYakCOB2.js} +1 -1
- package/dist/assets/layout-profile-2wd9LrEh.js +1 -0
- package/dist/assets/{layout-profile-xRxa7B1C.js → layout-profile-B-9x_C_q.js} +1 -1
- package/dist/assets/{layout-sign-BnRkz79f.js → layout-sign-BeiFykiD.js} +1 -1
- package/dist/assets/layout-sign-riANiJlF.js +1 -0
- package/dist/assets/{list-data-sources-adjust-DXTOMp0-.js → list-data-sources-adjust-CnAHnL1-.js} +1 -1
- package/dist/assets/{list-locations-aSMDJARI.js → list-locations-DgEB_VGH.js} +1 -1
- package/dist/assets/{list-users-CcIlth7E.js → list-users-C00r2jEP.js} +1 -1
- package/dist/assets/{logs-entries.transformers-CHL8zTLy.js → logs-entries.transformers-Drbr4HKr.js} +1 -1
- package/dist/assets/{page-configure-CRk21oUo.js → page-configure-Dks2iasu.js} +1 -1
- package/dist/assets/{page-configure-BMJs7ijE.js → page-configure-suWmmNh8.js} +1 -1
- package/dist/assets/{pagination-DqNVJwIn.js → pagination-EKBscoyZ.js} +1 -1
- package/dist/assets/{popover-B0nyxvHY.js → popover-q2l2pEXp.js} +1 -1
- package/dist/assets/{radio-D7yroT7K.js → radio-CRK-U-eS.js} +1 -1
- package/dist/assets/{scene-add-form-PWFWUdoD.js → scene-add-form-C9e5b50_.js} +1 -1
- package/dist/assets/{scene-edit-form-BoMFXuJc.js → scene-edit-form-1DryznTP.js} +1 -1
- package/dist/assets/{select-data-source-plugin-CWdttSUW.js → select-data-source-plugin-Glzp4lAp.js} +1 -1
- package/dist/assets/{steps-CBjwIkep.js → steps-brDRGGGT.js} +1 -1
- package/dist/assets/{system-1yEMzaxv.js → system-mmsdQ57n.js} +2 -2
- package/dist/assets/{table-B4PXuyMq.js → table-Bl-slEYm.js} +1 -1
- package/dist/assets/{tile-detail-8nibHuK1.js → tile-detail-BwuDfM51.js} +1 -1
- package/dist/assets/{tile-edit-form-B5sPaoKI.js → tile-edit-form-CP0ul5ak.js} +1 -1
- package/dist/assets/{types-DfIYa1dB.js → types-CKy3_HdC.js} +1 -1
- package/dist/assets/{useBuddyChat-mi8p17Y8.js → useBuddyChat-D4BWfguQ.js} +1 -1
- package/dist/assets/{useDataSources-DUfI571F.js → useDataSources-Bq446W73.js} +1 -1
- package/dist/assets/{useDevices-CpWEdXqU.js → useDevices-DPLg6w4M.js} +1 -1
- package/dist/assets/{useGeolocation-Ds1HCgke.js → useGeolocation-B5TU3YAB.js} +1 -1
- package/dist/assets/{useLocation-CwZf98sb.js → useLocation-DWX-4SrV.js} +1 -1
- package/dist/assets/{usePage-D2W2_JSf.js → usePage-DfqcydXM.js} +1 -1
- package/dist/assets/{useSpaces-ABviRlaS.js → useSpaces-DTV3CleU.js} +1 -1
- package/dist/assets/{view-buddy-chat-VCyF97Ly.js → view-buddy-chat-DD37o0lS.js} +1 -1
- package/dist/assets/{view-card-add-DGsj34Ww.js → view-card-add-D_C7sv4d.js} +1 -1
- package/dist/assets/{view-card-edit-CGPwrl97.js → view-card-edit-Yh8chC3C.js} +1 -1
- package/dist/assets/{view-channel-BmzerRf3.js → view-channel-CqrQKIZc.js} +1 -1
- package/dist/assets/{view-channel-add-GlRQVv2U.js → view-channel-add-DAUu_l_N.js} +1 -1
- package/dist/assets/{view-channel-edit-B3fH5Cbl.js → view-channel-edit-AU_A5g9Q.js} +1 -1
- package/dist/assets/{view-channel-property-add-DN5hTTWo.js → view-channel-property-add-BiPpNaXv.js} +1 -1
- package/dist/assets/{view-channel-property-edit-Bi3LWiiU.js → view-channel-property-edit-B-Rp4Nnu.js} +1 -1
- package/dist/assets/{view-channels-5Lk5ATh8.js → view-channels-BB52IsgV.js} +1 -1
- package/dist/assets/{view-config-module-edit-B_SHJ7Zd.js → view-config-module-edit-CT49WSpT.js} +1 -1
- package/dist/assets/{view-config-modules-D3Qd5R93.js → view-config-modules-Cmk2F311.js} +1 -1
- package/dist/assets/{view-config-plugin-edit-BpLzy6kH.js → view-config-plugin-edit-CXtSBWqT.js} +1 -1
- package/dist/assets/{view-config-plugins-B7ZgeS9T.js → view-config-plugins-ngrHDNVw.js} +1 -1
- package/dist/assets/{view-data-source-add-CHuSDbtL.js → view-data-source-add-CZxy-GZ1.js} +1 -1
- package/dist/assets/{view-data-source-add-D7t4-thM.js → view-data-source-add-DF26isEN.js} +1 -1
- package/dist/assets/{view-data-source-edit-BIEZKTzp.js → view-data-source-edit-DBFytHZN.js} +1 -1
- package/dist/assets/{view-data-source-edit-B3kJSUp3.js → view-data-source-edit-DJHZjrqH.js} +1 -1
- package/dist/assets/{view-device-cVtnACqZ.js → view-device-BXrE8FUE.js} +1 -1
- package/dist/assets/{view-device-add-B5fA6Rla.js → view-device-add-BQ0Y5-oW.js} +1 -1
- package/dist/assets/{view-device-control-DSYn_3wP.js → view-device-control-CoG08NK5.js} +1 -1
- package/dist/assets/{view-device-edit-DUxOVK2G.js → view-device-edit-CKxPpG26.js} +1 -1
- package/dist/assets/{view-devices-81Vn0Crn.js → view-devices-9gIwg7Ar.js} +1 -1
- package/dist/assets/{view-display-BIa3-0cb.js → view-display-B6g-muLd.js} +1 -1
- package/dist/assets/{view-display-edit-DtVgbvP0.js → view-display-edit-BiThhlIL.js} +1 -1
- package/dist/assets/{view-display-tokens-C5JmA1Vm.js → view-display-tokens-CLWIgeO6.js} +1 -1
- package/dist/assets/{view-displays-BOl-0JLQ.js → view-displays-AZ1MzKsx.js} +1 -1
- package/dist/assets/{view-extension-detail-DD0sF_Cr.js → view-extension-detail-B1yeauCD.js} +1 -1
- package/dist/assets/{view-extensions-sp4Gsw8H.js → view-extensions-DPyl9mbe.js} +1 -1
- package/dist/assets/{view-location-BTguatxh.js → view-location-C-1XbbWA.js} +1 -1
- package/dist/assets/{view-location-add-D8CHUjFv.js → view-location-add-BZ20h8am.js} +1 -1
- package/dist/assets/{view-location-edit-s1gpvvd7.js → view-location-edit-COakPePE.js} +1 -1
- package/dist/assets/{view-locations-BPfBDoIt.js → view-locations-BHJ6jqOl.js} +1 -1
- package/dist/assets/{view-lock-screen-42rjYbaT.js → view-lock-screen-hk2at2i0.js} +1 -1
- package/dist/assets/{view-onboarding-_pFLhI8p.js → view-onboarding-D3AyKkdq.js} +1 -1
- package/dist/assets/{view-page-mGiQFtg3.js → view-page-DbJsM8nV.js} +1 -1
- package/dist/assets/{view-page-add-CR3o2-Kg.js → view-page-add-CwhXQk7j.js} +1 -1
- package/dist/assets/{view-page-configure-B9aZHR9Y.js → view-page-configure-CQsrIWE9.js} +1 -1
- package/dist/assets/{view-page-configure-DyxqbTzC.js → view-page-configure-qdOkQu0n.js} +1 -1
- package/dist/assets/{view-page-data-source-add-C7HJNsSH.js → view-page-data-source-add-C1LxNXkI.js} +1 -1
- package/dist/assets/{view-page-data-source-edit-RsmEGadf.js → view-page-data-source-edit-G-oEDwuY.js} +1 -1
- package/dist/assets/{view-page-edit-DY3Zq0hU.js → view-page-edit-C4BjTV7n.js} +1 -1
- package/dist/assets/{view-page-plugin-BUUxULCp.js → view-page-plugin-CaAv_05V.js} +1 -1
- package/dist/assets/{view-pages-B7D-_zkT.js → view-pages-Qd7Msc7t.js} +1 -1
- package/dist/assets/{view-profile-general-BSi4n4cP.js → view-profile-general-C3Nd0bnQ.js} +1 -1
- package/dist/assets/{view-profile-security-f-NF0byK.js → view-profile-security-BDc--i81.js} +1 -1
- package/dist/assets/{view-scene-add-BZwV3E03.js → view-scene-add-HPTsTjOE.js} +1 -1
- package/dist/assets/{view-scene-edit-VGqmbp0X.js → view-scene-edit-DQ9nNqcc.js} +1 -1
- package/dist/assets/{view-scenes-BA0pHVag.js → view-scenes-CSd--09e.js} +1 -1
- package/dist/assets/{view-sign-in-BTSEdfhI.js → view-sign-in-Ctaa5ZZ5.js} +1 -1
- package/dist/assets/{view-sign-up-DzPx1nsF.js → view-sign-up-Bxku0PxN.js} +1 -1
- package/dist/assets/{view-space-BxLYFvpv.js → view-space-Cb33dDLE.js} +1 -1
- package/dist/assets/{view-space-add-CGho73fq.js → view-space-add-Dok40wpV.js} +1 -1
- package/dist/assets/{view-space-edit-Dg_WIUMJ.js → view-space-edit-BIYJF3DL.js} +1 -1
- package/dist/assets/{view-spaces-B_jLjXG2.js → view-spaces-Cayri46t.js} +1 -1
- package/dist/assets/{view-spaces-onboarding-BUANZS9H.js → view-spaces-onboarding-B4lBCFef.js} +1 -1
- package/dist/assets/{view-stats-CFPYt6Cz.js → view-stats-efNqPHTf.js} +1 -1
- package/dist/assets/{view-system-info-WrC_larw.js → view-system-info-kHVmSV1m.js} +1 -1
- package/dist/assets/{view-system-log-detail-DCyX5OUE.js → view-system-log-detail-hpSPWAeq.js} +1 -1
- package/dist/assets/{view-system-logs-CMkTV_wt.js → view-system-logs-DxRy-vhp.js} +1 -1
- package/dist/assets/{view-tile-BSuiGvAu.js → view-tile-CHq_B1Uh.js} +1 -1
- package/dist/assets/{view-tile-add-BAxBhGfW.js → view-tile-add-DaChGZrU.js} +1 -1
- package/dist/assets/{view-tile-add-DUJuGxd6.js → view-tile-add-DwMRgjgM.js} +1 -1
- package/dist/assets/{view-tile-data-source-add-AR2LRp5r.js → view-tile-data-source-add-B5G840ZP.js} +1 -1
- package/dist/assets/{view-tile-data-source-edit-Blvhspb6.js → view-tile-data-source-edit-D1w8qDzk.js} +1 -1
- package/dist/assets/{view-tile-edit-DiAG-Mzc.js → view-tile-edit-3tJnFE3z.js} +1 -1
- package/dist/assets/{view-tile-edit-DWf55zSe.js → view-tile-edit-BFrRgUU-.js} +1 -1
- package/dist/assets/{view-tile-edit-xHc8q3F7.js → view-tile-edit-SZiSqs_V.js} +1 -1
- package/dist/assets/{view-user-add-BY9kxyjt.js → view-user-add-DMpxqAh5.js} +1 -1
- package/dist/assets/{view-user-edit-DNAtWyaP.js → view-user-edit-2-XSkvFN.js} +1 -1
- package/dist/assets/{view-users-BaKxO-w8.js → view-users-Cip3kgZ-.js} +1 -1
- package/dist/assets/{weather-D6BbI5-6.js → weather-B6a3S_Ms.js} +2 -2
- package/dist/assets/{weather-forecast.transformers-CIRPp5Gp.js → weather-forecast.transformers-D-AZGOnB.js} +1 -1
- package/dist/index.html +52 -52
- package/package.json +1 -1
- package/dist/assets/layout-profile-8mzoW-ZH.js +0 -1
- package/dist/assets/layout-sign-VKbQl1WX.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Br as n,Dr as r,Hr as i,Lr as a,Nr as o,O as s,Oi as c,Qr as l,Sr as u,Xr as d,_i as f,_r as p,ai as m,br as h,ci as g,d as _,f as v,gr as y,h as b,hr as x,ji as S,lr as C,m as w,mr as T,p as E,pt as D,sr as O,t as k,ui as A,vr as j,xr as M}from"./icon-with-child-DmQ_XhQy.js";import{Ci as N,Di as P,Ei as F,Gr as ee,H as I,Ht as L,Ii as R,Ir as z,Kr as B,Li as V,Oi as H,Pr as U,Ri as W,Si as G,Sn as te,Yr as ne,Zr as K,bi as q,mi as J,pi as re,qt as Y,un as ie,xn as ae,yi as X,zr as oe}from"./common-BRnJNE_Q.js";import{n as Z,t as se}from"./table-B4PXuyMq.js";import{t as ce}from"./input-number-Bx9wS3eH.js";import{n as Q,r as le}from"./radio-D7yroT7K.js";import{t as ue}from"./pagination-DqNVJwIn.js";import{t as de}from"./useSpaces-ABviRlaS.js";import{b as $,i as fe,y as pe}from"./composables-B66YAxf_.js";var me={class:`flex w-full`},he=u({name:`ScenesFilter`,__name:`scenes-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),o=z(r,`filters`,i),c=A(void 0);return d(()=>o.value.search,e=>{e===``&&(o.value.search=void 0)}),(e,t)=>(n(),j(`div`,me,[M(f(R),{ref_key:`filterFormEl`,ref:c,inline:!0,model:f(o),class:`grow-1`},{default:l(()=>[M(f(H),{modelValue:f(o).search,"onUpdate:modelValue":t[0]||=e=>f(o).search=e,placeholder:f(a)(`scenes.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:l(()=>[M(f(s),null,{default:l(()=>[M(f(E),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),M(f(I),{"selected-count":r.selectedCount,actions:r.bulkActions,onAction:t[1]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),r.filtersActive?(n(),y(f(b),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`reset-filters`)},{default:l(()=>[M(f(E),{icon:`mdi:filter-off`})]),_:1})):p(``,!0),M(f(b),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[3]||=e=>i(`adjust-list`)},{default:l(()=>[M(f(E),{icon:`mdi:slider`})]),_:1})]))}}),ge=u({name:`ScenesTableColumnIcon`,__name:`scenes-table-column-icon`,props:{scene:{}},setup(e){let{icon:t}=fe({id:e.scene.id});return(e,r)=>(n(),y(f(F),{size:32},{default:l(()=>[M(f(E),{icon:f(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),_e={key:0,class:`h-full w-full leading-normal`},ve={key:1,class:`h-full w-full leading-normal`},ye={key:2,class:`h-full w-full leading-normal`},be={class:`block`},xe=v(u({name:`ScenesTable`,__name:`scenes-table`,props:{items:{},totalRows:{},filters:{},filtersActive:{type:Boolean},tableHeight:{},loading:{type:Boolean},triggering:{},sortBy:{},sortDir:{}},emits:[`edit`,`remove`,`trigger`,`reset-filters`,`selected-changes`,`update:filters`,`update:sort-by`,`update:sort-dir`],setup(i,{emit:a}){let o=i,c=a,{t:u}=_(),{isMDDevice:d}=U(),m=r(`spaces`,{value:[]}),g=T(()=>o.totalRows===0),v=z(o,`filters`,c),D=T(()=>o.tableHeight),A=e=>({[$.GENERIC]:void 0,[$.LIGHTING]:`warning`,[$.CLIMATE]:`info`,[$.MEDIA]:`primary`,[$.WORK]:void 0,[$.RELAX]:`success`,[$.NIGHT]:`info`,[$.MORNING]:`warning`,[$.PARTY]:`danger`,[$.MOVIE]:`primary`,[$.AWAY]:void 0,[$.HOME]:`success`,[$.SECURITY]:`danger`,[$.ENERGY]:`warning`,[$.CUSTOM]:void 0})[e],P=e=>e&&m.value.find(t=>t.id===e)?.name||u(`scenes.fields.wholeHome`),F=e=>new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(e),I=({prop:e,order:t})=>{c(`update:sort-by`,t===null?void 0:e),c(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},L=e=>{c(`selected-changes`,e)},R=e=>{e.editable&&c(`edit`,e.id)},V=e=>{let t=e||`whole_home`;return v.value.primarySpaceId===t},H=e=>{let t=e||`whole_home`;v.value.primarySpaceId===t?v.value.primarySpaceId=void 0:v.value.primarySpaceId=t},W=e=>{let t=e?`enabled`:`disabled`;v.value.enabled===t?v.value.enabled=`all`:v.value.enabled=t};return(r,i)=>e((n(),y(f(se),{"element-loading-text":f(u)(`scenes.texts.loadingScenes`),data:o.items,"default-sort":o.sortBy!==void 0&&o.sortDir!==null?{prop:o.sortBy,order:o.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`id`,class:`flex-grow`,style:t({maxHeight:D.value+`px`}),"max-height":D.value,onSortChange:I,onSelectionChange:L,onRowClick:R},{empty:l(()=>[o.loading?(n(),j(`div`,_e,[M(f(w),{class:`h-full w-full`},{icon:l(()=>[M(f(k),{size:80},{primary:l(()=>[M(f(E),{icon:`mdi:play-circle`})]),secondary:l(()=>[M(f(E),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):g.value&&!o.loading?(n(),j(`div`,ve,[M(f(w),{class:`h-full w-full`},{icon:l(()=>[M(f(k),{size:80},{primary:l(()=>[M(f(E),{icon:`mdi:play-circle`})]),secondary:l(()=>[M(f(E),{icon:`mdi:information`})]),_:1})]),title:l(()=>[h(S(f(u)(`scenes.texts.noScenes`)),1)]),_:1})])):o.filtersActive&&!o.loading?(n(),j(`div`,ye,[M(f(w),{class:`h-full w-full`},{icon:l(()=>[M(f(k),{size:80},{primary:l(()=>[M(f(E),{icon:`mdi:play-circle`})]),secondary:l(()=>[M(f(E),{icon:`mdi:filter-multiple`})]),_:1})]),title:l(()=>[M(f(B),{class:`block`},{default:l(()=>[h(S(f(u)(`scenes.texts.noFilteredScenes`)),1)]),_:1}),M(f(b),{type:`primary`,plain:``,class:`mt-4`,onClick:i[0]||=e=>c(`reset-filters`)},{icon:l(()=>[M(f(E),{icon:`mdi:filter-off`})]),default:l(()=>[h(` `+S(f(u)(`scenes.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):p(``,!0)]),default:l(()=>[f(d)?(n(),y(f(Z),{key:0,type:`selection`,fixed:``,width:30})):p(``,!0),M(f(Z),{width:60,align:`center`},{default:l(e=>[M(ge,{scene:e.row},null,8,[`scene`])]),_:1}),M(f(Z),{label:f(u)(`scenes.fields.name`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":180,"class-name":`py-0!`},{default:l(e=>[e.row.description?(n(),j(C,{key:0},[x(`strong`,be,S(e.row.name),1),M(f(B),{size:`small`,class:`block leading-4`,truncated:``},{default:l(()=>[h(S(e.row.description),1)]),_:2},1024)],64)):(n(),j(C,{key:1},[h(S(e.row.name),1)],64))]),_:1},8,[`label`]),M(f(Z),{label:f(u)(`scenes.fields.space`),prop:`primarySpaceId`,width:200},{default:l(e=>[M(f(K),{type:V(e.row.primarySpaceId)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:O(t=>H(e.row.primarySpaceId),[`stop`])},{default:l(()=>[M(f(s),{class:`el-icon--left`},{default:l(()=>[V(e.row.primarySpaceId)?(n(),y(f(E),{key:0,icon:`mdi:filter-minus`})):(n(),y(f(E),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),h(` `+S(P(e.row.primarySpaceId)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),M(f(Z),{label:f(u)(`scenes.fields.category`),prop:`category`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:140},{default:l(e=>[M(f(N),{type:A(e.row.category)},{default:l(()=>[h(S(f(u)(`scenes.categories.${e.row.category}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),M(f(Z),{label:f(u)(`scenes.fields.enabled`),prop:`enabled`,width:110},{default:l(e=>[M(f(K),{type:f(v).enabled===(e.row.enabled?`enabled`:`disabled`)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:O(t=>W(e.row.enabled),[`stop`])},{default:l(()=>[M(f(s),{class:`el-icon--left`},{default:l(()=>[f(v).enabled===(e.row.enabled?`enabled`:`disabled`)?(n(),y(f(E),{key:0,icon:`mdi:filter-minus`})):(n(),y(f(E),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),h(` `+S(e.row.enabled?f(u)(`scenes.filters.enabled.values.enabled`):f(u)(`scenes.filters.enabled.values.disabled`)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),M(f(Z),{label:f(u)(`scenes.fields.lastTriggered`),prop:`lastTriggeredAt`,width:160},{default:l(e=>[e.row.lastTriggeredAt?(n(),y(f(B),{key:0,size:`small`},{default:l(()=>[h(S(F(e.row.lastTriggeredAt)),1)]),_:2},1024)):(n(),y(f(B),{key:1,size:`small`,type:`info`},{default:l(()=>[h(S(f(u)(`scenes.fields.neverTriggered`)),1)]),_:1}))]),_:1},8,[`label`]),M(f(Z),{width:200,align:`right`},{default:l(e=>[e.row.triggerable?(n(),y(f(b),{key:0,size:`small`,type:`success`,plain:``,loading:o.triggering.includes(e.row.id),"data-test-id":`trigger-scene`,onClick:O(t=>c(`trigger`,e.row.id),[`stop`])},{icon:l(()=>[M(f(E),{icon:`mdi:play`})]),_:1},8,[`loading`,`onClick`])):p(``,!0),e.row.editable?(n(),y(f(b),{key:1,size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-scene`,onClick:O(t=>c(`edit`,e.row.id),[`stop`])},{icon:l(()=>[M(f(E),{icon:`mdi:pencil`})]),_:1},8,[`onClick`])):p(``,!0),e.row.editable?(n(),y(f(b),{key:2,size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-scene`,onClick:O(t=>c(`remove`,e.row.id),[`stop`])},{icon:l(()=>[M(f(E),{icon:`mdi:trash`})]),_:1},8,[`onClick`])):p(``,!0)]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[f(ee),o.loading]])}}),[[`__scopeId`,`data-v-742cdc0d`]]),Se=u({name:`ListScenes`,__name:`list-scenes`,props:{items:{},allItems:{},totalRows:{},filters:{},filtersActive:{type:Boolean},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{},loading:{type:Boolean},triggering:{}},emits:[`edit`,`remove`,`trigger`,`adjust-list`,`reset-filters`,`bulk-action`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`],setup(e,{emit:t}){let r=e,i=t,{isMDDevice:s}=U(),{t:c}=_(),u=A([]),p=T(()=>[{key:`enable`,label:c(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:c(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`},{key:`delete`,label:c(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),h=null,g=A(null),v=A(null),y=z(r,`filters`,i),b=A(r.sortBy),S=A(r.sortDir),w=A(r.paginatePage),E=A(r.paginateSize),D=A(250),O=e=>{i(`edit`,e)},k=e=>{i(`remove`,e)},N=e=>{i(`trigger`,e)},P=()=>{i(`reset-filters`)},F=e=>{u.value=e},ee=e=>{i(`bulk-action`,e,u.value)},I=e=>{i(`update:paginate-size`,e)},L=e=>{i(`update:paginate-page`,e)};return a(()=>{if(!g.value)return;let e=()=>{!g.value||!v.value||(D.value=g.value.clientHeight-v.value.clientHeight)};typeof window<`u`&&`ResizeObserver`in window&&(h=new ResizeObserver(e),h.observe(g.value)),e()}),o(()=>{h&&g.value&&h.unobserve(g.value)}),d(()=>b.value,e=>{i(`update:sort-by`,e)}),d(()=>S.value,e=>{i(`update:sort-dir`,e)}),d(()=>r.paginatePage,e=>{w.value=e}),d(()=>r.paginateSize,e=>{E.value=e}),d(()=>r.sortDir,e=>{S.value=e}),d(()=>r.sortBy,e=>{b.value=e}),d(()=>s.value,e=>{e||(u.value=[])}),(e,t)=>(n(),j(C,null,[M(f(X),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:l(()=>[M(he,{filters:f(y),"onUpdate:filters":t[0]||=e=>m(y)?y.value=e:null,"filters-active":r.filtersActive,"selected-count":u.value.length,"bulk-actions":p.value,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`),onBulkAction:ee},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),x(`div`,{ref_key:`wrapper`,ref:g,class:`flex-grow overflow-hidden`},[M(f(X),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:l(()=>[M(xe,{filters:f(y),"onUpdate:filters":t[3]||=e=>m(y)?y.value=e:null,"sort-by":b.value,"onUpdate:sortBy":t[4]||=e=>b.value=e,"sort-dir":S.value,"onUpdate:sortDir":t[5]||=e=>S.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":D.value,triggering:r.triggering,onEdit:O,onRemove:k,onTrigger:N,onResetFilters:P,onSelectedChanges:F},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`,`triggering`]),x(`div`,{ref_key:`paginator`,ref:v,class:`flex justify-center w-full py-4`},[M(f(ue),{"current-page":w.value,"onUpdate:currentPage":t[6]||=e=>w.value=e,"page-size":E.value,"onUpdate:pageSize":t[7]||=e=>E.value=e,layout:f(s)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:I,onCurrentChange:L},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),Ce={class:`px-2`},we={class:`px-2`},Te={class:`flex items-center gap-2`},Ee={class:`px-2`},De={class:`flex items-center gap-2`},Oe={class:`px-5 py-2 text-center`},ke=v(u({name:`ListScenesAdjust`,__name:`list-scenes-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,a=t,o=D(`list-scenes-adjust`),{t:s}=_(),u=Object.values($),{spaces:d}=de(),p=T(()=>{let e=[{value:`whole_home`,label:s(`scenes.fields.wholeHome`),icon:`mdi:home`}];return d.value.filter(e=>e.type===L.ROOM).forEach(t=>{e.push({value:t.id,label:t.name,icon:Y(t)})}),d.value.filter(e=>e.type===L.ZONE).forEach(t=>{e.push({value:t.id,label:t.name,icon:Y(t)})}),e}),m=A([`enabled`,`categories`,`spaces`]),g=z(r,`filters`,a);return(e,t)=>(n(),j(C,null,[M(f(oe),{teleport:``},{icon:l(()=>[M(f(E),{icon:`mdi:filter`})]),title:l(()=>[h(S(f(s)(`scenes.headings.adjustFilters`)),1)]),subtitle:l(()=>[h(S(f(s)(`scenes.subHeadings.adjustFilters`)),1)]),_:1}),x(`div`,{class:c([[f(o).b()],`flex flex-col h-full w-full overflow-hidden`])},[M(f(P),{class:`flex-grow`},{default:l(()=>[M(f(re),{modelValue:m.value,"onUpdate:modelValue":t[3]||=e=>m.value=e},{default:l(()=>[M(f(J),{name:`enabled`,class:c([f(o).e(`filter-item`)])},{title:l(()=>[M(f(B),{class:`!px-2`},{default:l(()=>[h(S(f(s)(`scenes.filters.enabled.title`)),1)]),_:1})]),default:l(()=>[x(`div`,Ce,[M(f(le),{modelValue:f(g).enabled,"onUpdate:modelValue":t[0]||=e=>f(g).enabled=e},{default:l(()=>[M(f(Q),{label:f(s)(`scenes.filters.enabled.values.enabled`),value:`enabled`},null,8,[`label`]),M(f(Q),{label:f(s)(`scenes.filters.enabled.values.disabled`),value:`disabled`},null,8,[`label`]),M(f(Q),{label:f(s)(`scenes.filters.enabled.values.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),M(f(J),{name:`categories`,class:c([f(o).e(`filter-item`)])},{title:l(()=>[M(f(B),{class:`!px-2`},{default:l(()=>[h(S(f(s)(`scenes.filters.category.title`)),1)]),_:1})]),default:l(()=>[x(`div`,we,[M(f(G),{modelValue:f(g).categories,"onUpdate:modelValue":t[1]||=e=>f(g).categories=e,placeholder:f(s)(`scenes.filters.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:l(()=>[(n(!0),j(C,null,i(f(u),(e,t)=>(n(),y(f(q),{key:t,label:f(s)(`scenes.categories.${e}`),value:e},{default:l(()=>[x(`div`,Te,[M(f(E),{icon:f(pe)[e],class:`text-lg`},null,8,[`icon`]),x(`span`,null,S(f(s)(`scenes.categories.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`]),M(f(J),{name:`spaces`,class:c([f(o).e(`filter-item`)])},{title:l(()=>[M(f(B),{class:`!px-2`},{default:l(()=>[h(S(f(s)(`scenes.filters.space.title`)),1)]),_:1})]),default:l(()=>[x(`div`,Ee,[M(f(G),{modelValue:f(g).primarySpaceId,"onUpdate:modelValue":t[2]||=e=>f(g).primarySpaceId=e,placeholder:f(s)(`scenes.filters.space.placeholder`),name:`spaces`,filterable:``,clearable:``},{default:l(()=>[(n(!0),j(C,null,i(p.value,e=>(n(),y(f(q),{key:e.value,label:e.label,value:e.value},{default:l(()=>[x(`div`,De,[M(f(E),{icon:e.icon,class:`text-lg`},null,8,[`icon`]),x(`span`,null,S(e.label),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),x(`div`,Oe,[M(f(b),{disabled:!r.filtersActive,onClick:t[4]||=e=>a(`reset-filters`)},{icon:l(()=>[M(f(E),{icon:`mdi:filter-remove`})]),default:l(()=>[h(` `+S(f(s)(`scenes.buttons.resetFilters.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-323f3f68`]]),Ae=u({name:`ScenesConfigForm`,__name:`scenes-config-form`,props:{config:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:ae.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1},layout:{default:te.DEFAULT}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),{formEl:o,model:s,formChanged:c,submit:u,formResult:p}=ie({config:r.config,messages:{success:a(`scenes.messages.config.edited`),error:a(`scenes.messages.config.notEdited`)}}),m=g({executionTimeoutMs:[{type:`number`,min:1e3,max:3e5,message:a(`scenes.fields.config.executionTimeoutMs.validation.range`),trigger:`blur`}],maxConcurrentExecutions:[{type:`number`,min:1,max:100,message:a(`scenes.fields.config.maxConcurrentExecutions.validation.range`),trigger:`blur`}]});return d(()=>p.value,async e=>{i(`update:remote-form-result`,e)}),d(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),u().catch(()=>{}))}),d(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!o.value)return;o.value.resetFields()}}),d(()=>c.value,e=>{i(`update:remote-form-changed`,e)}),(e,t)=>(n(),y(f(R),{ref_key:`formEl`,ref:o,model:f(s),rules:m,"label-position":`top`,"status-icon":``},{default:l(()=>[M(f(W),{title:f(a)(`scenes.fields.config.executionTimeoutMs.alertTitle`),type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:l(()=>[h(S(f(a)(`scenes.fields.config.executionTimeoutMs.hint`)),1)]),_:1},8,[`title`]),M(f(V),{label:f(a)(`scenes.fields.config.executionTimeoutMs.title`),prop:`executionTimeoutMs`},{default:l(()=>[M(f(ce),{modelValue:f(s).executionTimeoutMs,"onUpdate:modelValue":t[0]||=e=>f(s).executionTimeoutMs=e,min:1e3,max:3e5,step:1e3,name:`executionTimeoutMs`},null,8,[`modelValue`])]),_:1},8,[`label`]),M(f(W),{title:f(a)(`scenes.fields.config.maxConcurrentExecutions.alertTitle`),type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:l(()=>[h(S(f(a)(`scenes.fields.config.maxConcurrentExecutions.hint`)),1)]),_:1},8,[`title`]),M(f(V),{label:f(a)(`scenes.fields.config.maxConcurrentExecutions.title`),prop:`maxConcurrentExecutions`},{default:l(()=>[M(f(ce),{modelValue:f(s).maxConcurrentExecutions,"onUpdate:modelValue":t[1]||=e=>f(s).maxConcurrentExecutions=e,min:1,max:100,step:1,name:`maxConcurrentExecutions`},null,8,[`modelValue`])]),_:1},8,[`label`]),M(f(W),{title:f(a)(`scenes.fields.config.continueOnActionFailure.alertTitle`),type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:l(()=>[h(S(f(a)(`scenes.fields.config.continueOnActionFailure.hint`)),1)]),_:1},8,[`title`]),M(f(V),{label:f(a)(`scenes.fields.config.continueOnActionFailure.title`),prop:`continueOnActionFailure`},{default:l(()=>[M(f(ne),{modelValue:f(s).continueOnActionFailure,"onUpdate:modelValue":t[2]||=e=>f(s).continueOnActionFailure=e,name:`continueOnActionFailure`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}});export{ke as n,Se as r,Ae as t};
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Br as n,Dr as r,Hr as i,Lr as a,Nr as o,O as s,Oi as c,Qr as l,Sr as u,Xr as d,_i as f,_r as p,ai as m,br as h,ci as g,d as _,f as v,gr as y,h as b,hr as x,ji as S,lr as C,m as w,mr as T,p as E,pt as D,sr as O,t as k,ui as A,vr as j,xr as M}from"./icon-with-child-DmQ_XhQy.js";import{Ci as N,Di as P,Ei as F,Gr as ee,H as I,Ht as L,Ii as R,Ir as z,Kr as B,Li as V,Oi as H,Pr as U,Ri as W,Si as G,Sn as te,Yr as ne,Zr as K,bi as q,mi as J,pi as re,qt as Y,un as ie,xn as ae,yi as X,zr as oe}from"./common-CIDPejpp.js";import{n as Z,t as se}from"./table-Bl-slEYm.js";import{t as ce}from"./input-number-DS8mrAXf.js";import{n as Q,r as le}from"./radio-CRK-U-eS.js";import{t as ue}from"./pagination-EKBscoyZ.js";import{t as de}from"./useSpaces-DTV3CleU.js";import{b as $,i as fe,y as pe}from"./composables-DNEIYloj.js";var me={class:`flex w-full`},he=u({name:`ScenesFilter`,__name:`scenes-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),o=z(r,`filters`,i),c=A(void 0);return d(()=>o.value.search,e=>{e===``&&(o.value.search=void 0)}),(e,t)=>(n(),j(`div`,me,[M(f(R),{ref_key:`filterFormEl`,ref:c,inline:!0,model:f(o),class:`grow-1`},{default:l(()=>[M(f(H),{modelValue:f(o).search,"onUpdate:modelValue":t[0]||=e=>f(o).search=e,placeholder:f(a)(`scenes.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:l(()=>[M(f(s),null,{default:l(()=>[M(f(E),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),M(f(I),{"selected-count":r.selectedCount,actions:r.bulkActions,onAction:t[1]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),r.filtersActive?(n(),y(f(b),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`reset-filters`)},{default:l(()=>[M(f(E),{icon:`mdi:filter-off`})]),_:1})):p(``,!0),M(f(b),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[3]||=e=>i(`adjust-list`)},{default:l(()=>[M(f(E),{icon:`mdi:slider`})]),_:1})]))}}),ge=u({name:`ScenesTableColumnIcon`,__name:`scenes-table-column-icon`,props:{scene:{}},setup(e){let{icon:t}=fe({id:e.scene.id});return(e,r)=>(n(),y(f(F),{size:32},{default:l(()=>[M(f(E),{icon:f(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),_e={key:0,class:`h-full w-full leading-normal`},ve={key:1,class:`h-full w-full leading-normal`},ye={key:2,class:`h-full w-full leading-normal`},be={class:`block`},xe=v(u({name:`ScenesTable`,__name:`scenes-table`,props:{items:{},totalRows:{},filters:{},filtersActive:{type:Boolean},tableHeight:{},loading:{type:Boolean},triggering:{},sortBy:{},sortDir:{}},emits:[`edit`,`remove`,`trigger`,`reset-filters`,`selected-changes`,`update:filters`,`update:sort-by`,`update:sort-dir`],setup(i,{emit:a}){let o=i,c=a,{t:u}=_(),{isMDDevice:d}=U(),m=r(`spaces`,{value:[]}),g=T(()=>o.totalRows===0),v=z(o,`filters`,c),D=T(()=>o.tableHeight),A=e=>({[$.GENERIC]:void 0,[$.LIGHTING]:`warning`,[$.CLIMATE]:`info`,[$.MEDIA]:`primary`,[$.WORK]:void 0,[$.RELAX]:`success`,[$.NIGHT]:`info`,[$.MORNING]:`warning`,[$.PARTY]:`danger`,[$.MOVIE]:`primary`,[$.AWAY]:void 0,[$.HOME]:`success`,[$.SECURITY]:`danger`,[$.ENERGY]:`warning`,[$.CUSTOM]:void 0})[e],P=e=>e&&m.value.find(t=>t.id===e)?.name||u(`scenes.fields.wholeHome`),F=e=>new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(e),I=({prop:e,order:t})=>{c(`update:sort-by`,t===null?void 0:e),c(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},L=e=>{c(`selected-changes`,e)},R=e=>{e.editable&&c(`edit`,e.id)},V=e=>{let t=e||`whole_home`;return v.value.primarySpaceId===t},H=e=>{let t=e||`whole_home`;v.value.primarySpaceId===t?v.value.primarySpaceId=void 0:v.value.primarySpaceId=t},W=e=>{let t=e?`enabled`:`disabled`;v.value.enabled===t?v.value.enabled=`all`:v.value.enabled=t};return(r,i)=>e((n(),y(f(se),{"element-loading-text":f(u)(`scenes.texts.loadingScenes`),data:o.items,"default-sort":o.sortBy!==void 0&&o.sortDir!==null?{prop:o.sortBy,order:o.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`id`,class:`flex-grow`,style:t({maxHeight:D.value+`px`}),"max-height":D.value,onSortChange:I,onSelectionChange:L,onRowClick:R},{empty:l(()=>[o.loading?(n(),j(`div`,_e,[M(f(w),{class:`h-full w-full`},{icon:l(()=>[M(f(k),{size:80},{primary:l(()=>[M(f(E),{icon:`mdi:play-circle`})]),secondary:l(()=>[M(f(E),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):g.value&&!o.loading?(n(),j(`div`,ve,[M(f(w),{class:`h-full w-full`},{icon:l(()=>[M(f(k),{size:80},{primary:l(()=>[M(f(E),{icon:`mdi:play-circle`})]),secondary:l(()=>[M(f(E),{icon:`mdi:information`})]),_:1})]),title:l(()=>[h(S(f(u)(`scenes.texts.noScenes`)),1)]),_:1})])):o.filtersActive&&!o.loading?(n(),j(`div`,ye,[M(f(w),{class:`h-full w-full`},{icon:l(()=>[M(f(k),{size:80},{primary:l(()=>[M(f(E),{icon:`mdi:play-circle`})]),secondary:l(()=>[M(f(E),{icon:`mdi:filter-multiple`})]),_:1})]),title:l(()=>[M(f(B),{class:`block`},{default:l(()=>[h(S(f(u)(`scenes.texts.noFilteredScenes`)),1)]),_:1}),M(f(b),{type:`primary`,plain:``,class:`mt-4`,onClick:i[0]||=e=>c(`reset-filters`)},{icon:l(()=>[M(f(E),{icon:`mdi:filter-off`})]),default:l(()=>[h(` `+S(f(u)(`scenes.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):p(``,!0)]),default:l(()=>[f(d)?(n(),y(f(Z),{key:0,type:`selection`,fixed:``,width:30})):p(``,!0),M(f(Z),{width:60,align:`center`},{default:l(e=>[M(ge,{scene:e.row},null,8,[`scene`])]),_:1}),M(f(Z),{label:f(u)(`scenes.fields.name`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":180,"class-name":`py-0!`},{default:l(e=>[e.row.description?(n(),j(C,{key:0},[x(`strong`,be,S(e.row.name),1),M(f(B),{size:`small`,class:`block leading-4`,truncated:``},{default:l(()=>[h(S(e.row.description),1)]),_:2},1024)],64)):(n(),j(C,{key:1},[h(S(e.row.name),1)],64))]),_:1},8,[`label`]),M(f(Z),{label:f(u)(`scenes.fields.space`),prop:`primarySpaceId`,width:200},{default:l(e=>[M(f(K),{type:V(e.row.primarySpaceId)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:O(t=>H(e.row.primarySpaceId),[`stop`])},{default:l(()=>[M(f(s),{class:`el-icon--left`},{default:l(()=>[V(e.row.primarySpaceId)?(n(),y(f(E),{key:0,icon:`mdi:filter-minus`})):(n(),y(f(E),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),h(` `+S(P(e.row.primarySpaceId)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),M(f(Z),{label:f(u)(`scenes.fields.category`),prop:`category`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:140},{default:l(e=>[M(f(N),{type:A(e.row.category)},{default:l(()=>[h(S(f(u)(`scenes.categories.${e.row.category}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),M(f(Z),{label:f(u)(`scenes.fields.enabled`),prop:`enabled`,width:110},{default:l(e=>[M(f(K),{type:f(v).enabled===(e.row.enabled?`enabled`:`disabled`)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:O(t=>W(e.row.enabled),[`stop`])},{default:l(()=>[M(f(s),{class:`el-icon--left`},{default:l(()=>[f(v).enabled===(e.row.enabled?`enabled`:`disabled`)?(n(),y(f(E),{key:0,icon:`mdi:filter-minus`})):(n(),y(f(E),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),h(` `+S(e.row.enabled?f(u)(`scenes.filters.enabled.values.enabled`):f(u)(`scenes.filters.enabled.values.disabled`)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),M(f(Z),{label:f(u)(`scenes.fields.lastTriggered`),prop:`lastTriggeredAt`,width:160},{default:l(e=>[e.row.lastTriggeredAt?(n(),y(f(B),{key:0,size:`small`},{default:l(()=>[h(S(F(e.row.lastTriggeredAt)),1)]),_:2},1024)):(n(),y(f(B),{key:1,size:`small`,type:`info`},{default:l(()=>[h(S(f(u)(`scenes.fields.neverTriggered`)),1)]),_:1}))]),_:1},8,[`label`]),M(f(Z),{width:200,align:`right`},{default:l(e=>[e.row.triggerable?(n(),y(f(b),{key:0,size:`small`,type:`success`,plain:``,loading:o.triggering.includes(e.row.id),"data-test-id":`trigger-scene`,onClick:O(t=>c(`trigger`,e.row.id),[`stop`])},{icon:l(()=>[M(f(E),{icon:`mdi:play`})]),_:1},8,[`loading`,`onClick`])):p(``,!0),e.row.editable?(n(),y(f(b),{key:1,size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-scene`,onClick:O(t=>c(`edit`,e.row.id),[`stop`])},{icon:l(()=>[M(f(E),{icon:`mdi:pencil`})]),_:1},8,[`onClick`])):p(``,!0),e.row.editable?(n(),y(f(b),{key:2,size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-scene`,onClick:O(t=>c(`remove`,e.row.id),[`stop`])},{icon:l(()=>[M(f(E),{icon:`mdi:trash`})]),_:1},8,[`onClick`])):p(``,!0)]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[f(ee),o.loading]])}}),[[`__scopeId`,`data-v-742cdc0d`]]),Se=u({name:`ListScenes`,__name:`list-scenes`,props:{items:{},allItems:{},totalRows:{},filters:{},filtersActive:{type:Boolean},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{},loading:{type:Boolean},triggering:{}},emits:[`edit`,`remove`,`trigger`,`adjust-list`,`reset-filters`,`bulk-action`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`],setup(e,{emit:t}){let r=e,i=t,{isMDDevice:s}=U(),{t:c}=_(),u=A([]),p=T(()=>[{key:`enable`,label:c(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:c(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`},{key:`delete`,label:c(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),h=null,g=A(null),v=A(null),y=z(r,`filters`,i),b=A(r.sortBy),S=A(r.sortDir),w=A(r.paginatePage),E=A(r.paginateSize),D=A(250),O=e=>{i(`edit`,e)},k=e=>{i(`remove`,e)},N=e=>{i(`trigger`,e)},P=()=>{i(`reset-filters`)},F=e=>{u.value=e},ee=e=>{i(`bulk-action`,e,u.value)},I=e=>{i(`update:paginate-size`,e)},L=e=>{i(`update:paginate-page`,e)};return a(()=>{if(!g.value)return;let e=()=>{!g.value||!v.value||(D.value=g.value.clientHeight-v.value.clientHeight)};typeof window<`u`&&`ResizeObserver`in window&&(h=new ResizeObserver(e),h.observe(g.value)),e()}),o(()=>{h&&g.value&&h.unobserve(g.value)}),d(()=>b.value,e=>{i(`update:sort-by`,e)}),d(()=>S.value,e=>{i(`update:sort-dir`,e)}),d(()=>r.paginatePage,e=>{w.value=e}),d(()=>r.paginateSize,e=>{E.value=e}),d(()=>r.sortDir,e=>{S.value=e}),d(()=>r.sortBy,e=>{b.value=e}),d(()=>s.value,e=>{e||(u.value=[])}),(e,t)=>(n(),j(C,null,[M(f(X),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:l(()=>[M(he,{filters:f(y),"onUpdate:filters":t[0]||=e=>m(y)?y.value=e:null,"filters-active":r.filtersActive,"selected-count":u.value.length,"bulk-actions":p.value,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`),onBulkAction:ee},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),x(`div`,{ref_key:`wrapper`,ref:g,class:`flex-grow overflow-hidden`},[M(f(X),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:l(()=>[M(xe,{filters:f(y),"onUpdate:filters":t[3]||=e=>m(y)?y.value=e:null,"sort-by":b.value,"onUpdate:sortBy":t[4]||=e=>b.value=e,"sort-dir":S.value,"onUpdate:sortDir":t[5]||=e=>S.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":D.value,triggering:r.triggering,onEdit:O,onRemove:k,onTrigger:N,onResetFilters:P,onSelectedChanges:F},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`,`triggering`]),x(`div`,{ref_key:`paginator`,ref:v,class:`flex justify-center w-full py-4`},[M(f(ue),{"current-page":w.value,"onUpdate:currentPage":t[6]||=e=>w.value=e,"page-size":E.value,"onUpdate:pageSize":t[7]||=e=>E.value=e,layout:f(s)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:I,onCurrentChange:L},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),Ce={class:`px-2`},we={class:`px-2`},Te={class:`flex items-center gap-2`},Ee={class:`px-2`},De={class:`flex items-center gap-2`},Oe={class:`px-5 py-2 text-center`},ke=v(u({name:`ListScenesAdjust`,__name:`list-scenes-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,a=t,o=D(`list-scenes-adjust`),{t:s}=_(),u=Object.values($),{spaces:d}=de(),p=T(()=>{let e=[{value:`whole_home`,label:s(`scenes.fields.wholeHome`),icon:`mdi:home`}];return d.value.filter(e=>e.type===L.ROOM).forEach(t=>{e.push({value:t.id,label:t.name,icon:Y(t)})}),d.value.filter(e=>e.type===L.ZONE).forEach(t=>{e.push({value:t.id,label:t.name,icon:Y(t)})}),e}),m=A([`enabled`,`categories`,`spaces`]),g=z(r,`filters`,a);return(e,t)=>(n(),j(C,null,[M(f(oe),{teleport:``},{icon:l(()=>[M(f(E),{icon:`mdi:filter`})]),title:l(()=>[h(S(f(s)(`scenes.headings.adjustFilters`)),1)]),subtitle:l(()=>[h(S(f(s)(`scenes.subHeadings.adjustFilters`)),1)]),_:1}),x(`div`,{class:c([[f(o).b()],`flex flex-col h-full w-full overflow-hidden`])},[M(f(P),{class:`flex-grow`},{default:l(()=>[M(f(re),{modelValue:m.value,"onUpdate:modelValue":t[3]||=e=>m.value=e},{default:l(()=>[M(f(J),{name:`enabled`,class:c([f(o).e(`filter-item`)])},{title:l(()=>[M(f(B),{class:`!px-2`},{default:l(()=>[h(S(f(s)(`scenes.filters.enabled.title`)),1)]),_:1})]),default:l(()=>[x(`div`,Ce,[M(f(le),{modelValue:f(g).enabled,"onUpdate:modelValue":t[0]||=e=>f(g).enabled=e},{default:l(()=>[M(f(Q),{label:f(s)(`scenes.filters.enabled.values.enabled`),value:`enabled`},null,8,[`label`]),M(f(Q),{label:f(s)(`scenes.filters.enabled.values.disabled`),value:`disabled`},null,8,[`label`]),M(f(Q),{label:f(s)(`scenes.filters.enabled.values.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),M(f(J),{name:`categories`,class:c([f(o).e(`filter-item`)])},{title:l(()=>[M(f(B),{class:`!px-2`},{default:l(()=>[h(S(f(s)(`scenes.filters.category.title`)),1)]),_:1})]),default:l(()=>[x(`div`,we,[M(f(G),{modelValue:f(g).categories,"onUpdate:modelValue":t[1]||=e=>f(g).categories=e,placeholder:f(s)(`scenes.filters.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:l(()=>[(n(!0),j(C,null,i(f(u),(e,t)=>(n(),y(f(q),{key:t,label:f(s)(`scenes.categories.${e}`),value:e},{default:l(()=>[x(`div`,Te,[M(f(E),{icon:f(pe)[e],class:`text-lg`},null,8,[`icon`]),x(`span`,null,S(f(s)(`scenes.categories.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`]),M(f(J),{name:`spaces`,class:c([f(o).e(`filter-item`)])},{title:l(()=>[M(f(B),{class:`!px-2`},{default:l(()=>[h(S(f(s)(`scenes.filters.space.title`)),1)]),_:1})]),default:l(()=>[x(`div`,Ee,[M(f(G),{modelValue:f(g).primarySpaceId,"onUpdate:modelValue":t[2]||=e=>f(g).primarySpaceId=e,placeholder:f(s)(`scenes.filters.space.placeholder`),name:`spaces`,filterable:``,clearable:``},{default:l(()=>[(n(!0),j(C,null,i(p.value,e=>(n(),y(f(q),{key:e.value,label:e.label,value:e.value},{default:l(()=>[x(`div`,De,[M(f(E),{icon:e.icon,class:`text-lg`},null,8,[`icon`]),x(`span`,null,S(e.label),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),x(`div`,Oe,[M(f(b),{disabled:!r.filtersActive,onClick:t[4]||=e=>a(`reset-filters`)},{icon:l(()=>[M(f(E),{icon:`mdi:filter-remove`})]),default:l(()=>[h(` `+S(f(s)(`scenes.buttons.resetFilters.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-323f3f68`]]),Ae=u({name:`ScenesConfigForm`,__name:`scenes-config-form`,props:{config:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:ae.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1},layout:{default:te.DEFAULT}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),{formEl:o,model:s,formChanged:c,submit:u,formResult:p}=ie({config:r.config,messages:{success:a(`scenes.messages.config.edited`),error:a(`scenes.messages.config.notEdited`)}}),m=g({executionTimeoutMs:[{type:`number`,min:1e3,max:3e5,message:a(`scenes.fields.config.executionTimeoutMs.validation.range`),trigger:`blur`}],maxConcurrentExecutions:[{type:`number`,min:1,max:100,message:a(`scenes.fields.config.maxConcurrentExecutions.validation.range`),trigger:`blur`}]});return d(()=>p.value,async e=>{i(`update:remote-form-result`,e)}),d(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),u().catch(()=>{}))}),d(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!o.value)return;o.value.resetFields()}}),d(()=>c.value,e=>{i(`update:remote-form-changed`,e)}),(e,t)=>(n(),y(f(R),{ref_key:`formEl`,ref:o,model:f(s),rules:m,"label-position":`top`,"status-icon":``},{default:l(()=>[M(f(W),{title:f(a)(`scenes.fields.config.executionTimeoutMs.alertTitle`),type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:l(()=>[h(S(f(a)(`scenes.fields.config.executionTimeoutMs.hint`)),1)]),_:1},8,[`title`]),M(f(V),{label:f(a)(`scenes.fields.config.executionTimeoutMs.title`),prop:`executionTimeoutMs`},{default:l(()=>[M(f(ce),{modelValue:f(s).executionTimeoutMs,"onUpdate:modelValue":t[0]||=e=>f(s).executionTimeoutMs=e,min:1e3,max:3e5,step:1e3,name:`executionTimeoutMs`},null,8,[`modelValue`])]),_:1},8,[`label`]),M(f(W),{title:f(a)(`scenes.fields.config.maxConcurrentExecutions.alertTitle`),type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:l(()=>[h(S(f(a)(`scenes.fields.config.maxConcurrentExecutions.hint`)),1)]),_:1},8,[`title`]),M(f(V),{label:f(a)(`scenes.fields.config.maxConcurrentExecutions.title`),prop:`maxConcurrentExecutions`},{default:l(()=>[M(f(ce),{modelValue:f(s).maxConcurrentExecutions,"onUpdate:modelValue":t[1]||=e=>f(s).maxConcurrentExecutions=e,min:1,max:100,step:1,name:`maxConcurrentExecutions`},null,8,[`modelValue`])]),_:1},8,[`label`]),M(f(W),{title:f(a)(`scenes.fields.config.continueOnActionFailure.alertTitle`),type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:l(()=>[h(S(f(a)(`scenes.fields.config.continueOnActionFailure.hint`)),1)]),_:1},8,[`title`]),M(f(V),{label:f(a)(`scenes.fields.config.continueOnActionFailure.title`),prop:`continueOnActionFailure`},{default:l(()=>[M(f(ne),{modelValue:f(s).continueOnActionFailure,"onUpdate:modelValue":t[2]||=e=>f(s).continueOnActionFailure=e,name:`continueOnActionFailure`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}});export{ke as n,Se as r,Ae as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Br as n,Hr as r,Lr as i,Mr as a,Nr as o,O as s,Oi as c,Qr as l,Sr as u,Xr as d,_i as f,_r as p,ai as m,br as h,ci as g,d as _,f as v,g as y,gr as b,h as x,hr as S,ji as C,kr as w,lr as T,m as E,mr as D,p as O,pi as ee,pt as k,sr as A,t as j,ui as M,vr as N,xr as P,yr as F}from"./icon-with-child-DmQ_XhQy.js";import{$r as I,Br as L,Ci as R,Di as z,Ei as B,Fr as te,Gr as ne,H as re,Hr as ie,Ii as ae,Ir as V,Kr as H,Li as oe,Oi as U,On as se,Pr as W,Qr as ce,Ri as le,Si as G,Vr as ue,Wr as de,Yr as fe,bi as K,cr as q,ei as pe,ji as J,mi as me,ni as he,pi as ge,yi as Y,yr as X,zr as _e}from"./common-BRnJNE_Q.js";import{n as Z,t as ve}from"./table-B4PXuyMq.js";import{t as ye}from"./skeleton-DMwdgp1r.js";import{t as be}from"./input-number-Bx9wS3eH.js";import{n as Q,r as xe}from"./radio-D7yroT7K.js";import{t as Se}from"./drawer-D8OeQW0K.js";import{t as Ce}from"./empty-C13Ke09q.js";import{t as we}from"./pagination-DqNVJwIn.js";import{r as $}from"./extensions.constants-zRRiNzmt.js";import{r as Te,s as Ee}from"./composables-CWyhzXoT2.js";var De={class:`p-4`},Oe={class:`text-sm font-semibold uppercase tracking-wide mb-2 text-gray-500`},ke={class:`grid grid-cols-1 gap-3`},Ae={class:`flex items-start gap-3`},je={key:0,class:`shrink-0 mt-1`},Me={class:`flex-1 min-w-0`},Ne={class:`flex items-center gap-2 mb-1`},Pe={class:`font-medium`},Fe={key:0,class:`text-sm text-gray-500 m-0 mb-3`},Ie={class:`shrink-0`},Le=u({name:`ExtensionActions`,__name:`extension-actions`,props:{extensionType:{}},setup(e){let t=e,{t:i}=_(),{actions:a,isLoading:o,executingActions:s,executeAction:c}=Ee(),u=g({}),m=g({}),v=e=>(u[e]||(u[e]={}),u[e]),y=(e,t)=>v(e)[t],w=(e,t,n)=>{v(e)[t]=n},E=(e,t)=>v(e)[t],ee=(e,t,n)=>{v(e)[t]=n},k=(e,t)=>{let n=v(e)[t];return typeof n==`boolean`?n:!1},A=(e,t,n)=>{v(e)[t]=n},j=(e,t)=>{let n=v(e)[t];return Array.isArray(n)?void 0:n},M=(e,t,n)=>{v(e)[t]=n},I=(e,t)=>{let n=v(e)[t];return Array.isArray(n)?n:[]},L=(e,t,n)=>{v(e)[t]=n},z=()=>{let e=new Set(a.value.map(e=>e.id));for(let t of Object.keys(u))e.has(t)||delete u[t];for(let t of Object.keys(m))e.has(t)||delete m[t];for(let e of a.value){u[e.id]={};for(let t of e.parameters??[])t.default!==void 0&&(u[e.id][t.name]=t.default)}},B=D(()=>{let e={};for(let t of a.value){let n=t.category??`general`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({name:e,actions:t}))}),te=async e=>{if(e.dangerous)try{await de.confirm(i(`extensionsModule.actions.messages.confirmDangerous`),e.label,{confirmButtonText:i(`extensionsModule.actions.buttons.confirm`),cancelButtonText:i(`extensionsModule.actions.buttons.cancel`),type:`warning`})}catch{return}delete m[e.id];let n=u[e.id]??{},r=await c(t.extensionType,e.id,n);m[e.id]=r};return d(a,()=>{z()},{immediate:!0}),(e,t)=>(n(),N(`div`,De,[f(o)?(n(),b(f(ye),{key:0,rows:4,animated:``})):f(a).length===0?(n(),b(f(Ce),{key:1,description:f(i)(`extensionsModule.actions.messages.noActions`)},null,8,[`description`])):(n(!0),N(T,{key:2},r(B.value,e=>(n(),N(`div`,{key:e.name,class:`mb-4`},[S(`h4`,Oe,C(f(i)(`extensionsModule.actions.labels.category.${e.name}`)),1),S(`div`,ke,[(n(!0),N(T,null,r(e.actions,e=>(n(),b(f(Y),{key:e.id,shadow:`hover`,"body-class":`p-4!`},{default:l(()=>[S(`div`,Ae,[e.icon?(n(),N(`div`,je,[P(f(O),{icon:e.icon,class:`w-6 h-6 text-gray-500`},null,8,[`icon`])])):p(``,!0),S(`div`,Me,[S(`div`,Ne,[S(`span`,Pe,C(e.label),1),e.mode===`interactive`?(n(),b(f(R),{key:0,size:`small`,type:`info`},{default:l(()=>[h(C(f(i)(`extensionsModule.actions.labels.comingSoon`)),1)]),_:1})):p(``,!0),e.dangerous?(n(),b(f(R),{key:1,size:`small`,type:`danger`},{default:l(()=>[h(C(f(i)(`extensionsModule.actions.labels.dangerous`)),1)]),_:1})):p(``,!0)]),e.description?(n(),N(`p`,Fe,C(e.description),1)):p(``,!0),e.mode===`immediate`&&e.parameters?.length?(n(),b(f(ae),{key:1,model:v(e.id),"label-position":`top`,class:`mb-3`,size:`small`},{default:l(()=>[(n(!0),N(T,null,r(e.parameters,i=>(n(),b(f(oe),{key:i.name,label:i.label,class:`mb-2!`},F({default:l(()=>[i.type===`string`?(n(),b(f(U),{key:0,"model-value":y(e.id,i.name),placeholder:i.label,"onUpdate:modelValue":t=>w(e.id,i.name,t)},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`])):i.type===`number`?(n(),b(f(be),{key:1,"model-value":E(e.id,i.name),min:i.validation?.min,max:i.validation?.max,"controls-position":`right`,class:`w-full!`,"onUpdate:modelValue":t=>ee(e.id,i.name,t)},null,8,[`model-value`,`min`,`max`,`onUpdate:modelValue`])):i.type===`boolean`?(n(),b(f(fe),{key:2,"model-value":k(e.id,i.name),"onUpdate:modelValue":t=>A(e.id,i.name,!!t)},null,8,[`model-value`,`onUpdate:modelValue`])):i.type===`select`?(n(),b(f(G),{key:3,"model-value":j(e.id,i.name),placeholder:i.label,class:`w-full!`,"onUpdate:modelValue":t=>M(e.id,i.name,t)},{default:l(()=>[(n(!0),N(T,null,r(i.options,e=>(n(),b(f(K),{key:String(e.value),label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])):i.type===`multi_select`?(n(),b(f(G),{key:4,"model-value":I(e.id,i.name),placeholder:i.label,multiple:``,class:`w-full!`,"onUpdate:modelValue":t=>L(e.id,i.name,t)},{default:l(()=>[(n(!0),N(T,null,r(i.options,e=>(n(),b(f(K),{key:String(e.value),label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])):p(``,!0)]),_:2},[i.description||i.required?{name:`label`,fn:l(()=>[S(`span`,null,C(i.label),1),i.required?(n(),b(f(H),{key:0,type:`danger`,class:`ml-1`},{default:l(()=>[...t[0]||=[h(` * `,-1)]]),_:1})):p(``,!0),i.description?(n(),b(f(H),{key:1,class:`block text-xs! font-normal`,type:`info`},{default:l(()=>[h(C(i.description),1)]),_:2},1024)):p(``,!0)]),key:`0`}:void 0]),1032,[`label`]))),128))]),_:2},1032,[`model`])):p(``,!0),m[e.id]?(n(),b(f(le),{key:2,type:m[e.id].success?`success`:`error`,title:m[e.id].message||(m[e.id].success?f(i)(`extensionsModule.actions.messages.success`):f(i)(`extensionsModule.actions.messages.error`)),"show-icon":``,closable:``,class:`mb-2`,onClose:t=>delete m[e.id]},null,8,[`type`,`title`,`onClose`])):p(``,!0)]),S(`div`,Ie,[e.mode===`immediate`?(n(),b(f(x),{key:0,type:`primary`,loading:f(s).has(e.id),disabled:f(s).has(e.id),onClick:t=>te(e)},{icon:l(()=>[P(f(O),{icon:`mdi:play`})]),default:l(()=>[h(` `+C(f(i)(`extensionsModule.actions.buttons.run`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):(n(),b(f(J),{key:1,content:f(i)(`extensionsModule.actions.messages.interactiveNotAvailable`)},{default:l(()=>[P(f(x),{disabled:``},{icon:l(()=>[P(f(O),{icon:`mdi:console`})]),default:l(()=>[h(` `+C(f(i)(`extensionsModule.actions.buttons.run`)),1)]),_:1})]),_:1},8,[`content`]))])])]),_:2},1024))),128))])]))),128))]))}}),Re={class:`extension-card__header`},ze={class:`extension-card__header-content`},Be={class:`extension-card__title`},Ve={class:`extension-card__tags`},He={class:`extension-card__content`},Ue={key:0,class:`extension-card__description`},We={key:1,class:`extension-card__description extension-card__description--empty`},Ge={class:`extension-card__meta`},Ke={key:0,class:`extension-card__meta-item`},qe={key:1,class:`extension-card__author`},Je={class:`extension-card__footer`},Ye={class:`extension-card__links`},Xe={class:`flex items-center w-full`},Ze={class:`flex items-center w-full`},Qe=v(u({name:`ExtensionCard`,__name:`extension-card`,props:{extension:{}},emits:[`toggle-enabled`,`detail`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),o=D(()=>r.extension.kind===$.MODULE?`mdi:package-variant`:`mdi:toy-brick`),s=D(()=>r.extension.isCore&&r.extension.kind===$.MODULE?a(`extensionsModule.tooltips.coreModuleCannotBeDisabled`):a(`extensionsModule.tooltips.cannotToggleEnabled`)),u=D(()=>r.extension.isCore?a(`extensionsModule.tooltips.coreCannotBeRemoved`):a(`extensionsModule.tooltips.removeNotSupported`)),d=()=>{i(`detail`,r.extension.type)},m=e=>{switch(e){case`enable`:i(`toggle-enabled`,r.extension.type,!0);break;case`disable`:i(`toggle-enabled`,r.extension.type,!1);break;case`delete`:break}},g=e=>{window.open(e,`_blank`,`noopener,noreferrer`)};return(t,r)=>(n(),b(f(Y),{class:c([`extension-card`,{"extension-card--disabled":!e.extension.enabled}]),shadow:`hover`,"header-class":`py-2!`,"body-class":`py-3!`,"footer-class":`py-2! px-4!`},{header:l(()=>[S(`div`,Re,[P(f(O),{icon:o.value,class:`extension-card__icon`},null,8,[`icon`]),S(`div`,ze,[S(`h3`,Be,C(e.extension.name),1),S(`div`,Ve,[P(f(R),{type:e.extension.kind===f($).MODULE?`primary`:`success`,size:`small`},{default:l(()=>[h(C(e.extension.kind===f($).MODULE?f(a)(`extensionsModule.labels.module`):f(a)(`extensionsModule.labels.plugin`)),1)]),_:1},8,[`type`]),e.extension.isCore?(n(),b(f(R),{key:0,type:`warning`,size:`small`},{default:l(()=>[h(C(f(a)(`extensionsModule.labels.core`)),1)]),_:1})):p(``,!0),P(f(R),{type:e.extension.enabled?`success`:`info`,size:`small`},{default:l(()=>[h(C(e.extension.enabled?f(a)(`extensionsModule.labels.enabled`):f(a)(`extensionsModule.labels.disabled`)),1)]),_:1},8,[`type`])])])])]),footer:l(()=>[S(`div`,Je,[S(`div`,Ye,[e.extension.links?.documentation?(n(),b(f(x),{key:0,type:`primary`,size:`small`,link:``,onClick:r[0]||=A(t=>g(e.extension.links.documentation),[`stop`])},{default:l(()=>[P(f(O),{icon:`mdi:book-open-page-variant`,class:`mr-1`}),h(` `+C(f(a)(`extensionsModule.buttons.documentation`)),1)]),_:1})):p(``,!0),e.extension.links?.repository?(n(),b(f(x),{key:1,type:`primary`,size:`small`,link:``,onClick:r[1]||=A(t=>g(e.extension.links.repository),[`stop`])},{default:l(()=>[P(f(O),{icon:`mdi:github`,class:`mr-1`}),h(` `+C(f(a)(`extensionsModule.buttons.repository`)),1)]),_:1})):p(``,!0),e.extension.links?.bugsTracking?(n(),b(f(x),{key:2,type:`primary`,size:`small`,link:``,onClick:r[2]||=A(t=>g(e.extension.links.bugsTracking),[`stop`])},{default:l(()=>[P(f(O),{icon:`mdi:bug`,class:`mr-1`}),h(` `+C(f(a)(`extensionsModule.buttons.issues`)),1)]),_:1})):p(``,!0)]),P(f(ce),{"split-button":``,size:`small`,trigger:`click`,onClick:d,onCommand:m},{dropdown:l(()=>[P(f(pe),null,{default:l(()=>[P(f(I),{command:e.extension.enabled?`disable`:`enable`,disabled:!e.extension.canToggleEnabled},{default:l(()=>[P(f(J),{content:s.value,disabled:e.extension.canToggleEnabled,placement:`left`},{default:l(()=>[S(`span`,Xe,[P(f(O),{icon:e.extension.enabled?`mdi:toggle-switch-off`:`mdi:toggle-switch`,class:`mr-2`},null,8,[`icon`]),h(` `+C(e.extension.enabled?f(a)(`extensionsModule.buttons.disable`):f(a)(`extensionsModule.buttons.enable`)),1)])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`command`,`disabled`]),P(f(I),{command:`delete`,disabled:``,divided:``},{default:l(()=>[P(f(J),{content:u.value,placement:`left`},{default:l(()=>[S(`span`,Ze,[P(f(O),{icon:`mdi:delete`,class:`mr-2`}),h(` `+C(f(a)(`extensionsModule.buttons.remove`)),1)])]),_:1},8,[`content`])]),_:1})]),_:1})]),default:l(()=>[h(C(f(a)(`extensionsModule.buttons.detail.title`))+` `,1)]),_:1})])]),default:l(()=>[S(`div`,He,[e.extension.description?(n(),N(`p`,Ue,C(e.extension.description),1)):(n(),N(`p`,We,C(f(a)(`extensionsModule.messages.noDescription`)),1)),S(`div`,Ge,[e.extension.version?(n(),N(`div`,Ke,[P(f(O),{icon:`mdi:tag`,class:`extension-card__meta-icon`}),S(`span`,null,C(e.extension.version),1)])):p(``,!0),e.extension.author?(n(),N(`div`,qe,[P(f(O),{icon:`mdi:account`,class:`extension-card__author-icon`}),S(`span`,null,C(e.extension.author),1)])):p(``,!0)])])]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-f13b0a97`]]),$e={class:`h-full w-full flex flex-col`},et={class:`flex items-center justify-between p-2 border-b`},tt={class:`flex items-center gap-2`},nt={class:`flex items-center gap-2`},rt={key:0,class:`flex-1 flex items-center justify-center`},it={key:1,class:`flex-1 flex items-center justify-center`},at={key:2,class:`flex-1 flex items-center justify-center`},ot=[`onClick`],st={class:`grid grid-cols-[140px_70px_1fr] gap-3 items-center`},ct={class:`font-mono text-xs`},lt={class:`truncate text-sm`},ut={class:`py-3 text-center`},dt={key:0,class:`text-xs text-gray-400`},ft={class:`flex flex-col h-full`},pt={class:`flex flex-col overflow-hidden h-full`},mt=u({name:`ExtensionLogs`,__name:`extension-logs`,props:{extensionType:{},live:{type:Boolean}},emits:[`update:live`],setup(t,{emit:i}){let o=t,c=i,{t:u}=_(),{logs:g,hasMore:v,isLoading:y,loaded:k,live:A,filterLevels:F,filterTimeRange:I,filtersActive:B,clearFilters:re,fetchLogs:ae,loadMoreLogs:H,refreshLogs:oe}=Te({extensionType:ee(()=>o.extensionType)}),U=V(o,`live`,c,{defaultValue:!1}),W=M(null),ce=D({get:()=>W.value!==null,set:e=>{e||(W.value=null)}}),le=[X.error,X.warn,X.info,X.debug,X.fatal,X.log,X.success,X.fail],de=D(()=>[{value:`all`,label:u(`extensionsModule.texts.logs.timeRange.all`)},{value:`1h`,label:u(`extensionsModule.texts.logs.timeRange.1h`)},{value:`6h`,label:u(`extensionsModule.texts.logs.timeRange.6h`)},{value:`24h`,label:u(`extensionsModule.texts.logs.timeRange.24h`)},{value:`7d`,label:u(`extensionsModule.texts.logs.timeRange.7d`)}]);d(U,e=>{A.value=e},{immediate:!0}),d(A,e=>{U.value=e});let q=()=>{oe()},pe=()=>{H()},me=e=>te(new Date(e)),he=e=>new Date(e).toISOString(),ge=e=>{let t=e.toLowerCase();return[`fatal`,`error`,`fail`].includes(t)?{type:`danger`,effect:`light`}:[`warn`,`box`].includes(t)?{type:`warning`,effect:`light`}:[`success`,`ready`,`start`,`info`,`log`].includes(t)?{type:`success`,effect:`light`}:{effect:`plain`,class:`tag-neutral`}};return a(()=>{ae()}),(t,i)=>(n(),N(`div`,$e,[S(`div`,et,[S(`div`,tt,[P(f(x),{size:`small`,onClick:q},{icon:l(()=>[P(f(O),{icon:`mdi:refresh`})]),default:l(()=>[h(` `+C(f(u)(`extensionsModule.buttons.refresh`)),1)]),_:1}),P(f(fe),{modelValue:f(U),"onUpdate:modelValue":i[0]||=e=>m(U)?U.value=e:null,size:`small`,"active-text":f(u)(`extensionsModule.labels.live`)},null,8,[`modelValue`,`active-text`])]),S(`div`,nt,[P(f(G),{modelValue:f(F),"onUpdate:modelValue":i[1]||=e=>m(F)?F.value=e:null,size:`small`,class:`w-[200px]!`,clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,placeholder:f(u)(`extensionsModule.texts.logs.allLevels`)},{default:l(()=>[(n(),N(T,null,r(le,e=>P(f(K),{key:e,label:f(u)(`systemModule.levels.${e}`),value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`,`placeholder`]),P(f(G),{modelValue:f(I),"onUpdate:modelValue":i[2]||=e=>m(I)?I.value=e:null,size:`small`,class:`w-[140px]!`},{default:l(()=>[(n(!0),N(T,null,r(de.value,e=>(n(),b(f(K),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),f(B)?(n(),b(f(x),{key:0,size:`small`,onClick:f(re)},{icon:l(()=>[P(f(O),{icon:`mdi:filter-off`})]),default:l(()=>[h(` `+C(f(u)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1},8,[`onClick`])):p(``,!0)])]),!f(k)&&f(y)?(n(),N(`div`,rt,[P(f(E),null,{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:console`})]),secondary:l(()=>[P(f(O),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):f(B)&&f(g).length===0?(n(),N(`div`,it,[P(f(E),null,{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:console`})]),secondary:l(()=>[P(f(O),{icon:`mdi:filter-multiple`})]),_:1})]),title:l(()=>[h(C(f(u)(`extensionsModule.texts.logs.noFilteredLogs`)),1)]),"sub-title":l(()=>[P(f(x),{type:`primary`,plain:``,class:`mt-2`,onClick:f(re)},{icon:l(()=>[P(f(O),{icon:`mdi:filter-off`})]),default:l(()=>[h(` `+C(f(u)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1},8,[`onClick`])]),_:1})])):f(g).length===0?(n(),N(`div`,at,[P(f(E),null,{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:console`})]),secondary:l(()=>[P(f(O),{icon:`mdi:information`})]),_:1})]),title:l(()=>[h(C(f(u)(`extensionsModule.texts.logs.noLogs`)),1)]),"sub-title":l(()=>[h(C(f(u)(`extensionsModule.texts.logs.noLogsDescription`)),1)]),_:1})])):e((n(),b(f(z),{key:3,class:`flex-1`},{default:l(()=>[S(`div`,null,[(n(!0),N(T,null,r(f(g),e=>(n(),N(`div`,{key:e.id,class:`px-3 py-2 border-b hover:bg-[var(--el-fill-color-light)] cursor-pointer`,onClick:t=>W.value=e},[S(`div`,st,[S(`span`,ct,[P(f(J),{content:he(e.ts),placement:`top-start`},{default:l(()=>[h(C(me(e.ts)),1)]),_:2},1032,[`content`])]),P(f(R),w({ref_for:!0},ge(e.type),{size:`small`,class:`justify-self-start`}),{default:l(()=>[h(C(e.type),1)]),_:2},1040),S(`div`,lt,C(e.message??f(u)(`extensionsModule.texts.logs.noMessage`)),1)])],8,ot))),128)),S(`div`,ut,[f(v)?p(``,!0):(n(),N(`span`,dt,C(f(u)(`extensionsModule.texts.logs.noMoreEntries`)),1)),f(v)?(n(),b(f(x),{key:1,loading:f(y),onClick:pe},{icon:l(()=>[P(f(O),{icon:`mdi:chevron-down`})]),default:l(()=>[h(` `+C(f(u)(`extensionsModule.buttons.loadMore`)),1)]),_:1},8,[`loading`])):p(``,!0)])])]),_:1})),[[f(ne),f(y)&&f(g).length>0]]),P(f(Se),{modelValue:ce.value,"onUpdate:modelValue":i[4]||=e=>ce.value=e,"show-close":!1,"with-header":!1,direction:`rtl`,size:`40%`},{default:l(()=>[S(`div`,ft,[P(f(ie),{"menu-button-hidden":``},{"button-right":l(()=>[P(f(L),{align:f(ue).RIGHT,class:`mr-2`,onClick:i[3]||=e=>W.value=null},{icon:l(()=>[P(f(s),null,{default:l(()=>[P(f(O),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),P(f(_e),{teleport:``},{icon:l(()=>[P(f(O),{icon:`mdi:note-text-outline`,class:`w[20px] h[20px]`})]),title:l(()=>[h(C(f(u)(`systemModule.headings.systemLogs.detail`)),1)]),subtitle:l(()=>[h(C(f(u)(`systemModule.subHeadings.systemLogs.detail`)),1)]),_:1}),S(`div`,pt,[W.value?(n(),b(f(z),{key:0,class:`grow-1 p-2 md:px-4`},{default:l(()=>[P(f(se),{"system-log":W.value},null,8,[`system-log`])]),_:1})):p(``,!0)])])]),_:1},8,[`modelValue`])]))}}),ht={key:2,class:`grid grid-cols-[repeat(auto-fill,minmax(350px,1fr))] max-sm:grid-cols-1 gap-3`},gt=u({name:`ExtensionsCards`,__name:`extensions-cards`,props:{items:{},loading:{type:Boolean,default:!1},filtersActive:{type:Boolean,default:!1}},emits:[`toggle-enabled`,`detail`,`reset-filters`],setup(e,{emit:t}){let i=e,a=t,{t:o}=_(),s=D(()=>[...i.items].sort((e,t)=>e.isCore&&!t.isCore?-1:!e.isCore&&t.isCore?1:e.name.localeCompare(t.name))),c=D(()=>i.filtersActive?o(`extensionsModule.messages.noMatchingExtensions`):o(`extensionsModule.messages.noExtensions`)),u=(e,t)=>{a(`toggle-enabled`,e,t)},d=e=>{a(`detail`,e)};return(t,i)=>(n(),b(f(z),{class:`h-full`},{default:l(()=>[e.loading&&e.items.length===0?(n(),b(f(ye),{key:0,rows:5,animated:``})):e.items.length===0?(n(),b(f(E),{key:1,icon:`info`,title:c.value},null,8,[`title`])):(n(),N(`div`,ht,[(n(!0),N(T,null,r(s.value,e=>(n(),b(Qe,{key:e.type,extension:e,onToggleEnabled:u,onDetail:d},null,8,[`extension`]))),128))]))]),_:1}))}}),_t={class:`flex w-full items-center justify-center`},vt=v(u({name:`ExtensionsFilter`,__name:`extensions-filter`,props:{filters:{},filtersActive:{type:Boolean},viewMode:{default:`table`},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`update:view-mode`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let r=e,i=t,a=k(`extensions-filter`),{t:o}=_(),u=V(r,`filters`,i),m=V(r,`viewMode`,i),h=M(void 0);return d(()=>u.value.search,e=>{e===``&&(u.value.search=void 0)}),(e,t)=>(n(),N(`div`,_t,[P(f(ae),{ref_key:`filterFormEl`,ref:h,inline:!0,model:f(u),class:c([[f(a).b()],`grow-1`])},{default:l(()=>[P(f(U),{modelValue:f(u).search,"onUpdate:modelValue":t[0]||=e=>f(u).search=e,placeholder:f(o)(`extensionsModule.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:l(()=>[P(f(s),null,{default:l(()=>[P(f(O),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`]),P(f(he),{direction:`vertical`}),P(f(oe),{label:f(o)(`extensionsModule.filters.kind.title`),class:c([[f(a).e(`extension-kind`)],`p-1 m-0!`])},{default:l(()=>[P(f(xe),{modelValue:f(u).kind,"onUpdate:modelValue":t[1]||=e=>f(u).kind=e},{default:l(()=>[P(f(Q),{label:f(o)(`extensionsModule.labels.module`),value:`module`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.plugin`),value:`plugin`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.states.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`,`class`])]),_:1},8,[`model`,`class`]),P(f(re),{"selected-count":r.selectedCount,actions:r.bulkActions,onAction:t[2]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),P(f(y),{class:`mr-3`},{default:l(()=>[P(f(x),{type:f(m)===`table`?`primary`:void 0,plain:``,class:`px-2!`,onClick:t[3]||=e=>m.value=`table`},{default:l(()=>[P(f(O),{icon:`mdi:table`})]),_:1},8,[`type`]),P(f(x),{type:f(m)===`cards`?`primary`:void 0,plain:``,class:`px-2!`,onClick:t[4]||=e=>m.value=`cards`},{default:l(()=>[P(f(O),{icon:`mdi:view-grid`})]),_:1},8,[`type`])]),_:1}),r.filtersActive?(n(),b(f(x),{key:0,plain:``,class:`px-2! p-1`,onClick:t[5]||=e=>i(`reset-filters`)},{default:l(()=>[P(f(O),{icon:`mdi:filter-off`})]),_:1})):p(``,!0),P(f(x),{plain:``,class:`px-2! p-1`,onClick:t[6]||=e=>i(`adjust-list`)},{default:l(()=>[P(f(O),{icon:`mdi:slider`})]),_:1})]))}}),[[`__scopeId`,`data-v-7de8e0d9`]]),yt={key:0,class:`h-full w-full leading-normal`},bt={key:1,class:`h-full w-full leading-normal`},xt={key:2,class:`h-full w-full leading-normal`},St={class:`block`},Ct=u({name:`ExtensionsTable`,__name:`extensions-table`,props:{items:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},tableHeight:{},sortBy:{},sortDir:{}},emits:[`detail`,`toggle-enabled`,`reset-filters`,`selected-changes`,`update:sort-by`,`update:sort-dir`],setup(r,{emit:i}){let a=r,o=i,{t:s}=_(),{isMDDevice:c}=W(),u=D(()=>a.totalRows===0),d=D(()=>a.items),m=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},g=e=>{o(`detail`,e.type)},v=(e,t)=>{o(`toggle-enabled`,e,t)},y=e=>{o(`selected-changes`,e)};return(i,_)=>e((n(),b(f(ve),{"element-loading-text":f(s)(`extensionsModule.texts.loadingExtensions`),data:d.value,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`type`,class:`flex-grow`,style:t({maxHeight:r.tableHeight+`px`}),"max-height":r.tableHeight,onSortChange:m,onSelectionChange:y,onRowClick:g},{empty:l(()=>[a.loading?(n(),N(`div`,yt,[P(f(E),{class:`h-full w-full`},{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:puzzle`})]),secondary:l(()=>[P(f(O),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):u.value&&!a.loading?(n(),N(`div`,bt,[P(f(E),{class:`h-full w-full`},{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:puzzle`})]),secondary:l(()=>[P(f(O),{icon:`mdi:information`})]),_:1})]),title:l(()=>[h(C(f(s)(`extensionsModule.texts.noExtensions`)),1)]),_:1})])):a.filtersActive&&!a.loading?(n(),N(`div`,xt,[P(f(E),{class:`h-full w-full`},{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:puzzle`})]),secondary:l(()=>[P(f(O),{icon:`mdi:filter-multiple`})]),_:1})]),title:l(()=>[P(f(H),{class:`block`},{default:l(()=>[h(C(f(s)(`extensionsModule.texts.noFilteredExtensions`)),1)]),_:1}),P(f(x),{type:`primary`,plain:``,class:`mt-4`,onClick:_[0]||=e=>o(`reset-filters`)},{icon:l(()=>[P(f(O),{icon:`mdi:filter-off`})]),default:l(()=>[h(` `+C(f(s)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):p(``,!0)]),default:l(()=>[f(c)?(n(),b(f(Z),{key:0,type:`selection`,width:30})):p(``,!0),P(f(Z),{width:60,align:`center`},{default:l(e=>[P(f(B),{size:32},{default:l(()=>[P(f(O),{icon:e.row.kind===f($).MODULE?`mdi:package-variant`:`mdi:toy-brick`,class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),_:1}),P(f(Z),{label:f(s)(`extensionsModule.table.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:l(e=>[e.row.description?(n(),N(T,{key:0},[S(`strong`,St,C(e.row.name),1),P(f(H),{size:`small`,class:`block leading-4`,truncated:``},{default:l(()=>[h(C(e.row.description),1)]),_:2},1024)],64)):(n(),N(T,{key:1},[h(C(e.row.name),1)],64))]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.type.title`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:200},{default:l(e=>[P(f(J),{content:e.row.type,placement:`top`,"show-after":500},{default:l(()=>[P(f(H),{size:`small`,type:`info`,class:`block max-w-[180px]`,truncated:``},{default:l(()=>[h(C(e.row.type),1)]),_:2},1024)]),_:2},1032,[`content`])]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.kind.title`),prop:`kind`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:l(e=>[P(f(R),{type:e.row.kind===f($).MODULE?`primary`:`success`,size:`small`},{default:l(()=>[h(C(e.row.kind===f($).MODULE?f(s)(`extensionsModule.labels.module`):f(s)(`extensionsModule.labels.plugin`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.version.title`),prop:`version`,width:100},{default:l(e=>[e.row.version?(n(),b(f(H),{key:0,size:`small`},{default:l(()=>[h(C(e.row.version),1)]),_:2},1024)):(n(),b(f(H),{key:1,size:`small`,type:`info`},{default:l(()=>[..._[3]||=[h(` - `,-1)]]),_:1}))]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.core.title`),prop:`isCore`,width:100},{default:l(e=>[e.row.isCore?(n(),b(f(R),{key:0,type:`warning`,size:`small`},{default:l(()=>[h(C(f(s)(`extensionsModule.labels.core`)),1)]),_:1})):(n(),b(f(R),{key:1,type:`info`,size:`small`},{default:l(()=>[h(C(f(s)(`extensionsModule.labels.addon`)),1)]),_:1}))]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.enabled.title`),prop:`enabled`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:l(e=>[P(f(fe),{"model-value":e.row.enabled,disabled:!e.row.canToggleEnabled,size:`small`,onClick:_[1]||=A(()=>{},[`stop`]),onChange:t=>v(e.row.type,t)},null,8,[`model-value`,`disabled`,`onChange`])]),_:1},8,[`label`]),P(f(Z),{width:100,align:`right`},{default:l(e=>[S(`div`,{onClick:_[2]||=A(()=>{},[`stop`])},[P(f(x),{size:`small`,plain:``,"data-test-id":`detail-extension`,onClick:t=>o(`detail`,e.row.type)},{icon:l(()=>[P(f(O),{icon:`mdi:file-search-outline`})]),default:l(()=>[h(` `+C(f(s)(`extensionsModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[f(ne),a.loading]])}}),wt=u({name:`ListExtensions`,__name:`list-extensions`,props:{items:{},allItems:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},filters:{},viewMode:{},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{}},emits:[`detail`,`toggle-enabled`,`adjust-list`,`reset-filters`,`update:filters`,`update:view-mode`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`,`bulk-action`],setup(e,{emit:t}){let r=e,a=t,{t:s}=_(),{isMDDevice:c}=W(),u=null,p=M(null),h=M(null),g=V(r,`filters`,a),v=V(r,`viewMode`,a),y=M(r.sortBy),x=M(r.sortDir??null),C=M(r.paginatePage),w=M(r.paginateSize),E=M(250),O=M([]),ee=D(()=>[{key:`enable`,label:s(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:s(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`}]),k=e=>{a(`detail`,e)},A=(e,t)=>{a(`toggle-enabled`,e,t)},j=()=>{a(`reset-filters`)},F=e=>{a(`update:paginate-size`,e)},I=e=>{a(`update:paginate-page`,e)},L=e=>{O.value=e},R=e=>{a(`bulk-action`,e,O.value)},z=()=>{if(!p.value)return;let e=v.value===`table`?h.value?.clientHeight??60:0;E.value=p.value.clientHeight-e};return i(()=>{p.value&&(typeof window<`u`&&`ResizeObserver`in window&&(u=new ResizeObserver(z),u.observe(p.value)),z())}),o(()=>{u&&p.value&&u.unobserve(p.value)}),d(()=>y.value,e=>{a(`update:sort-by`,e)}),d(()=>x.value,e=>{a(`update:sort-dir`,e)}),d(()=>r.paginatePage,e=>{C.value=e}),d(()=>r.paginateSize,e=>{w.value=e}),d(()=>r.sortDir,e=>{x.value=e??null}),d(()=>r.sortBy,e=>{y.value=e}),d(()=>v.value,e=>{e===`cards`&&(O.value=[]),setTimeout(z,50)}),d(()=>c.value,e=>{e||(O.value=[])}),(e,t)=>(n(),N(T,null,[P(f(Y),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:l(()=>[P(vt,{filters:f(g),"onUpdate:filters":t[0]||=e=>m(g)?g.value=e:null,"view-mode":f(v),"onUpdate:viewMode":t[1]||=e=>m(v)?v.value=e:null,"filters-active":r.filtersActive,"selected-count":O.value.length,"bulk-actions":ee.value,onResetFilters:t[2]||=e=>a(`reset-filters`),onAdjustList:t[3]||=e=>a(`adjust-list`),onBulkAction:R},null,8,[`filters`,`view-mode`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),S(`div`,{ref_key:`wrapper`,ref:p,class:`grow-1 overflow-hidden`},[f(v)===`table`?(n(),b(f(Y),{key:0,shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! grow-1 max-h-full overflow-hidden flex flex-col`},{default:l(()=>[P(Ct,{"sort-by":y.value,"onUpdate:sortBy":t[4]||=e=>y.value=e,"sort-dir":x.value,"onUpdate:sortDir":t[5]||=e=>x.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":E.value,onDetail:k,onToggleEnabled:A,onResetFilters:j,onSelectedChanges:L},null,8,[`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),S(`div`,{ref_key:`paginator`,ref:h,class:`flex justify-center w-full py-4 shrink-0`},[P(f(we),{"current-page":C.value,"onUpdate:currentPage":t[6]||=e=>C.value=e,"page-size":w.value,"onUpdate:pageSize":t[7]||=e=>w.value=e,layout:f(c)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:F,onCurrentChange:I},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})):(n(),b(gt,{key:1,items:r.allItems,loading:r.loading,"filters-active":r.filtersActive,onDetail:k,onToggleEnabled:A,onResetFilters:j},null,8,[`items`,`loading`,`filters-active`]))],512)],64))}}),Tt={class:`px-2`},Et={class:`px-2`},Dt={class:`px-2`},Ot={class:`px-5 py-2 text-center`},kt=v(u({name:`ListExtensionsAdjust`,__name:`list-extensions-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,i=t,a=k(`list-extensions-adjust`),{t:o}=_(),s=M([`kind`,`enabled`,`isCore`]),u=V(r,`filters`,i);return(e,t)=>(n(),N(T,null,[P(f(_e),{teleport:``},{icon:l(()=>[P(f(O),{icon:`mdi:filter`})]),title:l(()=>[h(C(f(o)(`extensionsModule.headings.adjustFilters`)),1)]),subtitle:l(()=>[h(C(f(o)(`extensionsModule.subHeadings.adjustFilters`)),1)]),_:1}),S(`div`,{class:c([[f(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[P(f(z),{class:`flex-grow`},{default:l(()=>[P(f(ge),{modelValue:s.value,"onUpdate:modelValue":t[3]||=e=>s.value=e},{default:l(()=>[P(f(me),{name:`kind`,class:c([f(a).e(`filter-item`)])},{title:l(()=>[P(f(H),{class:`!px-2`},{default:l(()=>[h(C(f(o)(`extensionsModule.filters.kind.title`)),1)]),_:1})]),default:l(()=>[S(`div`,Tt,[P(f(xe),{modelValue:f(u).kind,"onUpdate:modelValue":t[0]||=e=>f(u).kind=e},{default:l(()=>[P(f(Q),{label:f(o)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.module`),value:`module`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.plugin`),value:`plugin`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),P(f(me),{name:`enabled`,class:c([f(a).e(`filter-item`)])},{title:l(()=>[P(f(H),{class:`!px-2`},{default:l(()=>[h(C(f(o)(`extensionsModule.filters.enabled.title`)),1)]),_:1})]),default:l(()=>[S(`div`,Et,[P(f(xe),{modelValue:f(u).enabled,"onUpdate:modelValue":t[1]||=e=>f(u).enabled=e},{default:l(()=>[P(f(Q),{label:f(o)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.enabled`),value:`enabled`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.disabled`),value:`disabled`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),P(f(me),{name:`isCore`,class:c([f(a).e(`filter-item`)])},{title:l(()=>[P(f(H),{class:`!px-2`},{default:l(()=>[h(C(f(o)(`extensionsModule.filters.type.title`)),1)]),_:1})]),default:l(()=>[S(`div`,Dt,[P(f(xe),{modelValue:f(u).isCore,"onUpdate:modelValue":t[2]||=e=>f(u).isCore=e},{default:l(()=>[P(f(Q),{label:f(o)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.core`),value:`core`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.addon`),value:`addon`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),S(`div`,Ot,[P(f(x),{disabled:!r.filtersActive,onClick:t[4]||=e=>i(`reset-filters`)},{icon:l(()=>[P(f(O),{icon:`mdi:filter-remove`})]),default:l(()=>[h(` `+C(f(o)(`extensionsModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-1f502633`]]),At={class:`flex flex-col gap-3`},jt={class:`flex items-center justify-between gap-4`},Mt={class:`flex items-center gap-3 min-w-0 flex-1`},Nt={class:`flex items-center justify-center w-10 h-10 rounded-lg bg-gray-100 dark:bg-gray-800`},Pt={class:`min-w-0 flex-1`},Ft={class:`flex items-center gap-2 flex-wrap`},It={class:`font-medium text-base truncate`},Lt={class:`flex items-center gap-2 mt-1`},Rt={class:`flex items-center gap-1`},zt={class:`flex items-center gap-2`},Bt={class:`flex items-center gap-6 text-sm text-gray-500 dark:text-gray-400 flex-wrap`},Vt={key:0,class:`flex items-center gap-1`},Ht={key:1,class:`flex items-center gap-1`},Ut={key:2,class:`flex items-center gap-1`},Wt=u({name:`ServiceItem`,__name:`service-item`,props:{service:{},acting:{type:Boolean}},emits:[`start`,`stop`,`restart`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),o=D(()=>r.service.state===q.starting||r.service.state===q.stopping),s=D(()=>r.service.state===q.stopped||r.service.state===q.error),u=D(()=>r.service.state===q.started||r.service.state===q.starting),d=D(()=>s.value),m=D(()=>u.value),g=D(()=>r.service.state===q.started),v=D(()=>d.value&&r.service.enabled&&!o.value&&!r.acting),y=D(()=>m.value&&r.service.state!==q.stopping&&!r.acting),w=D(()=>g.value&&r.service.enabled&&!o.value&&!r.acting),T=D(()=>r.service.enabled?o.value?a(`extensionsModule.services.tooltips.transitioning`):a(`extensionsModule.services.tooltips.startService`):a(`extensionsModule.services.tooltips.disabledPlugin`)),E=D(()=>r.service.state===q.stopping?a(`extensionsModule.services.tooltips.transitioning`):a(`extensionsModule.services.tooltips.stopService`)),ee=D(()=>r.service.enabled?o.value?a(`extensionsModule.services.tooltips.transitioning`):a(`extensionsModule.services.tooltips.restartService`):a(`extensionsModule.services.tooltips.disabledPlugin`)),k=D(()=>{let e=r.service.state;return a(`extensionsModule.services.states.${e}`)}),A=D(()=>{switch(r.service.state){case q.started:return`success`;case q.stopped:return`info`;case q.starting:case q.stopping:return`warning`;case q.error:return`danger`;default:return`info`}}),j=D(()=>{switch(r.service.state){case q.started:return`mdi:check-circle`;case q.stopped:return`mdi:stop-circle`;case q.starting:case q.stopping:return`mdi:loading`;case q.error:return`mdi:alert-circle`;default:return`mdi:help-circle`}}),M=D(()=>{switch(r.service.state){case q.started:return`text-green-500`;case q.stopped:return`text-gray-400`;case q.starting:case q.stopping:return`text-yellow-500 animate-spin`;case q.error:return`text-red-500`;default:return`text-gray-400`}}),F=D(()=>{if(r.service.uptimeMs===void 0)return`-`;let e=Math.floor(r.service.uptimeMs/1e3),t=Math.floor(e/86400),n=Math.floor(e%86400/3600),i=Math.floor(e%3600/60),a=[];return t>0&&a.push(`${t}d`),n>0&&a.push(`${n}h`),(i>0||a.length===0)&&a.push(`${i}m`),a.join(` `)}),I=D(()=>r.service.lastStartedAt?new Date(r.service.lastStartedAt).toLocaleString():`-`),L=()=>{i(`start`)},z=()=>{i(`stop`)},B=()=>{i(`restart`)};return(t,r)=>(n(),b(f(Y),{shadow:`never`,class:`service-item`,"body-class":`p-3!`},{default:l(()=>[S(`div`,At,[S(`div`,jt,[S(`div`,Mt,[S(`div`,Nt,[P(f(O),{icon:j.value,class:c([`w-5 h-5`,M.value])},null,8,[`icon`,`class`])]),S(`div`,Pt,[S(`div`,Ft,[S(`span`,It,C(e.service.pluginName),1),P(f(R),{size:`small`,type:`info`},{default:l(()=>[h(C(e.service.serviceId),1)]),_:1})]),S(`div`,Lt,[P(f(R),{type:A.value,size:`small`,effect:`light`},{default:l(()=>[S(`div`,Rt,[o.value?(n(),b(f(O),{key:0,icon:`mdi:loading`,class:`animate-spin w-3 h-3`})):p(``,!0),h(` `+C(k.value),1)])]),_:1},8,[`type`]),e.service.enabled?p(``,!0):(n(),b(f(R),{key:0,type:`warning`,size:`small`,effect:`light`},{default:l(()=>[h(C(f(a)(`extensionsModule.services.texts.pluginDisabled`)),1)]),_:1})),e.service.healthy===void 0?p(``,!0):(n(),b(f(R),{key:1,type:e.service.healthy?`success`:`danger`,size:`small`,effect:`light`},{default:l(()=>[h(C(e.service.healthy?f(a)(`extensionsModule.services.labels.healthy`):f(a)(`extensionsModule.services.labels.unhealthy`)),1)]),_:1},8,[`type`]))])])]),S(`div`,zt,[d.value?(n(),b(f(J),{key:0,content:T.value,placement:`top`},{default:l(()=>[P(f(x),{type:`success`,size:`small`,plain:``,disabled:!v.value,loading:e.acting,onClick:L},{icon:l(()=>[P(f(O),{icon:`mdi:play`})]),default:l(()=>[h(` `+C(f(a)(`extensionsModule.services.buttons.start`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):p(``,!0),m.value?(n(),b(f(J),{key:1,content:E.value,placement:`top`},{default:l(()=>[P(f(x),{type:`danger`,size:`small`,plain:``,disabled:!y.value,loading:e.acting,onClick:z},{icon:l(()=>[P(f(O),{icon:`mdi:stop`})]),default:l(()=>[h(` `+C(f(a)(`extensionsModule.services.buttons.stop`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):p(``,!0),g.value?(n(),b(f(J),{key:2,content:ee.value,placement:`top`},{default:l(()=>[P(f(x),{type:`primary`,size:`small`,plain:``,disabled:!w.value,loading:e.acting,onClick:B},{icon:l(()=>[P(f(O),{icon:`mdi:restart`})]),default:l(()=>[h(` `+C(f(a)(`extensionsModule.services.buttons.restart`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):p(``,!0)])]),S(`div`,Bt,[e.service.state===`started`&&e.service.uptimeMs!==void 0?(n(),N(`div`,Vt,[P(f(O),{icon:`mdi:clock-outline`,class:`w-4 h-4`}),S(`span`,null,C(f(a)(`extensionsModule.services.labels.uptime`))+`: `+C(F.value),1)])):p(``,!0),e.service.startCount>0?(n(),N(`div`,Ht,[P(f(O),{icon:`mdi:counter`,class:`w-4 h-4`}),S(`span`,null,C(f(a)(`extensionsModule.services.labels.startCount`))+`: `+C(e.service.startCount),1)])):p(``,!0),e.service.lastStartedAt?(n(),N(`div`,Ut,[P(f(O),{icon:`mdi:play-circle-outline`,class:`w-4 h-4`}),S(`span`,null,C(f(a)(`extensionsModule.services.labels.lastStarted`))+`: `+C(I.value),1)])):p(``,!0)]),e.service.lastError?(n(),b(f(le),{key:0,type:e.service.state===f(q).error?`error`:`warning`,title:f(a)(`extensionsModule.services.labels.lastError`),description:e.service.lastError,"show-icon":``,closable:!1},null,8,[`type`,`title`,`description`])):p(``,!0)])]),_:1}))}}),Gt={key:2,class:`flex flex-col gap-3`},Kt=u({name:`ServicesList`,__name:`services-list`,props:{services:{},loading:{type:Boolean},isActing:{type:Function}},emits:[`start`,`stop`,`restart`],setup(e,{emit:t}){let i=t,{t:a}=_(),o=(e,t)=>{i(`start`,e,t)},s=(e,t)=>{i(`stop`,e,t)},c=(e,t)=>{i(`restart`,e,t)};return(t,i)=>(n(),b(f(z),{class:`h-full`},{default:l(()=>[e.loading&&e.services.length===0?(n(),b(f(ye),{key:0,rows:5,animated:``})):e.services.length===0?(n(),b(f(E),{key:1,icon:`info`,title:f(a)(`extensionsModule.services.texts.noServices`)},null,8,[`title`])):(n(),N(`div`,Gt,[(n(!0),N(T,null,r(e.services,t=>(n(),b(Wt,{key:`${t.pluginName}:${t.serviceId}`,service:t,acting:e.isActing(t.pluginName,t.serviceId),onStart:e=>o(t.pluginName,t.serviceId),onStop:e=>s(t.pluginName,t.serviceId),onRestart:e=>c(t.pluginName,t.serviceId)},null,8,[`service`,`acting`,`onStart`,`onStop`,`onRestart`]))),128))]))]),_:1}))}});export{Le as a,mt as i,kt as n,wt as r,Kt as t};
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Br as n,Hr as r,Lr as i,Mr as a,Nr as o,O as s,Oi as c,Qr as l,Sr as u,Xr as d,_i as f,_r as p,ai as m,br as h,ci as g,d as _,f as v,g as y,gr as b,h as x,hr as S,ji as C,kr as w,lr as T,m as E,mr as D,p as O,pi as ee,pt as k,sr as A,t as j,ui as M,vr as N,xr as P,yr as F}from"./icon-with-child-DmQ_XhQy.js";import{$r as I,Br as L,Ci as R,Di as z,Ei as B,Fr as te,Gr as ne,H as re,Hr as ie,Ii as ae,Ir as V,Kr as H,Li as oe,Oi as U,On as se,Pr as W,Qr as ce,Ri as le,Si as G,Vr as ue,Wr as de,Yr as fe,bi as K,cr as q,ei as pe,ji as J,mi as me,ni as he,pi as ge,yi as Y,yr as X,zr as _e}from"./common-CIDPejpp.js";import{n as Z,t as ve}from"./table-Bl-slEYm.js";import{t as ye}from"./skeleton-DMwdgp1r.js";import{t as be}from"./input-number-DS8mrAXf.js";import{n as Q,r as xe}from"./radio-CRK-U-eS.js";import{t as Se}from"./drawer-D9E4cpGf.js";import{t as Ce}from"./empty-C13Ke09q.js";import{t as we}from"./pagination-EKBscoyZ.js";import{r as $}from"./extensions.constants-zRRiNzmt.js";import{r as Te,s as Ee}from"./composables-CKcxh4jJ2.js";var De={class:`p-4`},Oe={class:`text-sm font-semibold uppercase tracking-wide mb-2 text-gray-500`},ke={class:`grid grid-cols-1 gap-3`},Ae={class:`flex items-start gap-3`},je={key:0,class:`shrink-0 mt-1`},Me={class:`flex-1 min-w-0`},Ne={class:`flex items-center gap-2 mb-1`},Pe={class:`font-medium`},Fe={key:0,class:`text-sm text-gray-500 m-0 mb-3`},Ie={class:`shrink-0`},Le=u({name:`ExtensionActions`,__name:`extension-actions`,props:{extensionType:{}},setup(e){let t=e,{t:i}=_(),{actions:a,isLoading:o,executingActions:s,executeAction:c}=Ee(),u=g({}),m=g({}),v=e=>(u[e]||(u[e]={}),u[e]),y=(e,t)=>v(e)[t],w=(e,t,n)=>{v(e)[t]=n},E=(e,t)=>v(e)[t],ee=(e,t,n)=>{v(e)[t]=n},k=(e,t)=>{let n=v(e)[t];return typeof n==`boolean`?n:!1},A=(e,t,n)=>{v(e)[t]=n},j=(e,t)=>{let n=v(e)[t];return Array.isArray(n)?void 0:n},M=(e,t,n)=>{v(e)[t]=n},I=(e,t)=>{let n=v(e)[t];return Array.isArray(n)?n:[]},L=(e,t,n)=>{v(e)[t]=n},z=()=>{let e=new Set(a.value.map(e=>e.id));for(let t of Object.keys(u))e.has(t)||delete u[t];for(let t of Object.keys(m))e.has(t)||delete m[t];for(let e of a.value){u[e.id]={};for(let t of e.parameters??[])t.default!==void 0&&(u[e.id][t.name]=t.default)}},B=D(()=>{let e={};for(let t of a.value){let n=t.category??`general`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({name:e,actions:t}))}),te=async e=>{if(e.dangerous)try{await de.confirm(i(`extensionsModule.actions.messages.confirmDangerous`),e.label,{confirmButtonText:i(`extensionsModule.actions.buttons.confirm`),cancelButtonText:i(`extensionsModule.actions.buttons.cancel`),type:`warning`})}catch{return}delete m[e.id];let n=u[e.id]??{},r=await c(t.extensionType,e.id,n);m[e.id]=r};return d(a,()=>{z()},{immediate:!0}),(e,t)=>(n(),N(`div`,De,[f(o)?(n(),b(f(ye),{key:0,rows:4,animated:``})):f(a).length===0?(n(),b(f(Ce),{key:1,description:f(i)(`extensionsModule.actions.messages.noActions`)},null,8,[`description`])):(n(!0),N(T,{key:2},r(B.value,e=>(n(),N(`div`,{key:e.name,class:`mb-4`},[S(`h4`,Oe,C(f(i)(`extensionsModule.actions.labels.category.${e.name}`)),1),S(`div`,ke,[(n(!0),N(T,null,r(e.actions,e=>(n(),b(f(Y),{key:e.id,shadow:`hover`,"body-class":`p-4!`},{default:l(()=>[S(`div`,Ae,[e.icon?(n(),N(`div`,je,[P(f(O),{icon:e.icon,class:`w-6 h-6 text-gray-500`},null,8,[`icon`])])):p(``,!0),S(`div`,Me,[S(`div`,Ne,[S(`span`,Pe,C(e.label),1),e.mode===`interactive`?(n(),b(f(R),{key:0,size:`small`,type:`info`},{default:l(()=>[h(C(f(i)(`extensionsModule.actions.labels.comingSoon`)),1)]),_:1})):p(``,!0),e.dangerous?(n(),b(f(R),{key:1,size:`small`,type:`danger`},{default:l(()=>[h(C(f(i)(`extensionsModule.actions.labels.dangerous`)),1)]),_:1})):p(``,!0)]),e.description?(n(),N(`p`,Fe,C(e.description),1)):p(``,!0),e.mode===`immediate`&&e.parameters?.length?(n(),b(f(ae),{key:1,model:v(e.id),"label-position":`top`,class:`mb-3`,size:`small`},{default:l(()=>[(n(!0),N(T,null,r(e.parameters,i=>(n(),b(f(oe),{key:i.name,label:i.label,class:`mb-2!`},F({default:l(()=>[i.type===`string`?(n(),b(f(U),{key:0,"model-value":y(e.id,i.name),placeholder:i.label,"onUpdate:modelValue":t=>w(e.id,i.name,t)},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`])):i.type===`number`?(n(),b(f(be),{key:1,"model-value":E(e.id,i.name),min:i.validation?.min,max:i.validation?.max,"controls-position":`right`,class:`w-full!`,"onUpdate:modelValue":t=>ee(e.id,i.name,t)},null,8,[`model-value`,`min`,`max`,`onUpdate:modelValue`])):i.type===`boolean`?(n(),b(f(fe),{key:2,"model-value":k(e.id,i.name),"onUpdate:modelValue":t=>A(e.id,i.name,!!t)},null,8,[`model-value`,`onUpdate:modelValue`])):i.type===`select`?(n(),b(f(G),{key:3,"model-value":j(e.id,i.name),placeholder:i.label,class:`w-full!`,"onUpdate:modelValue":t=>M(e.id,i.name,t)},{default:l(()=>[(n(!0),N(T,null,r(i.options,e=>(n(),b(f(K),{key:String(e.value),label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])):i.type===`multi_select`?(n(),b(f(G),{key:4,"model-value":I(e.id,i.name),placeholder:i.label,multiple:``,class:`w-full!`,"onUpdate:modelValue":t=>L(e.id,i.name,t)},{default:l(()=>[(n(!0),N(T,null,r(i.options,e=>(n(),b(f(K),{key:String(e.value),label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])):p(``,!0)]),_:2},[i.description||i.required?{name:`label`,fn:l(()=>[S(`span`,null,C(i.label),1),i.required?(n(),b(f(H),{key:0,type:`danger`,class:`ml-1`},{default:l(()=>[...t[0]||=[h(` * `,-1)]]),_:1})):p(``,!0),i.description?(n(),b(f(H),{key:1,class:`block text-xs! font-normal`,type:`info`},{default:l(()=>[h(C(i.description),1)]),_:2},1024)):p(``,!0)]),key:`0`}:void 0]),1032,[`label`]))),128))]),_:2},1032,[`model`])):p(``,!0),m[e.id]?(n(),b(f(le),{key:2,type:m[e.id].success?`success`:`error`,title:m[e.id].message||(m[e.id].success?f(i)(`extensionsModule.actions.messages.success`):f(i)(`extensionsModule.actions.messages.error`)),"show-icon":``,closable:``,class:`mb-2`,onClose:t=>delete m[e.id]},null,8,[`type`,`title`,`onClose`])):p(``,!0)]),S(`div`,Ie,[e.mode===`immediate`?(n(),b(f(x),{key:0,type:`primary`,loading:f(s).has(e.id),disabled:f(s).has(e.id),onClick:t=>te(e)},{icon:l(()=>[P(f(O),{icon:`mdi:play`})]),default:l(()=>[h(` `+C(f(i)(`extensionsModule.actions.buttons.run`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):(n(),b(f(J),{key:1,content:f(i)(`extensionsModule.actions.messages.interactiveNotAvailable`)},{default:l(()=>[P(f(x),{disabled:``},{icon:l(()=>[P(f(O),{icon:`mdi:console`})]),default:l(()=>[h(` `+C(f(i)(`extensionsModule.actions.buttons.run`)),1)]),_:1})]),_:1},8,[`content`]))])])]),_:2},1024))),128))])]))),128))]))}}),Re={class:`extension-card__header`},ze={class:`extension-card__header-content`},Be={class:`extension-card__title`},Ve={class:`extension-card__tags`},He={class:`extension-card__content`},Ue={key:0,class:`extension-card__description`},We={key:1,class:`extension-card__description extension-card__description--empty`},Ge={class:`extension-card__meta`},Ke={key:0,class:`extension-card__meta-item`},qe={key:1,class:`extension-card__author`},Je={class:`extension-card__footer`},Ye={class:`extension-card__links`},Xe={class:`flex items-center w-full`},Ze={class:`flex items-center w-full`},Qe=v(u({name:`ExtensionCard`,__name:`extension-card`,props:{extension:{}},emits:[`toggle-enabled`,`detail`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),o=D(()=>r.extension.kind===$.MODULE?`mdi:package-variant`:`mdi:toy-brick`),s=D(()=>r.extension.isCore&&r.extension.kind===$.MODULE?a(`extensionsModule.tooltips.coreModuleCannotBeDisabled`):a(`extensionsModule.tooltips.cannotToggleEnabled`)),u=D(()=>r.extension.isCore?a(`extensionsModule.tooltips.coreCannotBeRemoved`):a(`extensionsModule.tooltips.removeNotSupported`)),d=()=>{i(`detail`,r.extension.type)},m=e=>{switch(e){case`enable`:i(`toggle-enabled`,r.extension.type,!0);break;case`disable`:i(`toggle-enabled`,r.extension.type,!1);break;case`delete`:break}},g=e=>{window.open(e,`_blank`,`noopener,noreferrer`)};return(t,r)=>(n(),b(f(Y),{class:c([`extension-card`,{"extension-card--disabled":!e.extension.enabled}]),shadow:`hover`,"header-class":`py-2!`,"body-class":`py-3!`,"footer-class":`py-2! px-4!`},{header:l(()=>[S(`div`,Re,[P(f(O),{icon:o.value,class:`extension-card__icon`},null,8,[`icon`]),S(`div`,ze,[S(`h3`,Be,C(e.extension.name),1),S(`div`,Ve,[P(f(R),{type:e.extension.kind===f($).MODULE?`primary`:`success`,size:`small`},{default:l(()=>[h(C(e.extension.kind===f($).MODULE?f(a)(`extensionsModule.labels.module`):f(a)(`extensionsModule.labels.plugin`)),1)]),_:1},8,[`type`]),e.extension.isCore?(n(),b(f(R),{key:0,type:`warning`,size:`small`},{default:l(()=>[h(C(f(a)(`extensionsModule.labels.core`)),1)]),_:1})):p(``,!0),P(f(R),{type:e.extension.enabled?`success`:`info`,size:`small`},{default:l(()=>[h(C(e.extension.enabled?f(a)(`extensionsModule.labels.enabled`):f(a)(`extensionsModule.labels.disabled`)),1)]),_:1},8,[`type`])])])])]),footer:l(()=>[S(`div`,Je,[S(`div`,Ye,[e.extension.links?.documentation?(n(),b(f(x),{key:0,type:`primary`,size:`small`,link:``,onClick:r[0]||=A(t=>g(e.extension.links.documentation),[`stop`])},{default:l(()=>[P(f(O),{icon:`mdi:book-open-page-variant`,class:`mr-1`}),h(` `+C(f(a)(`extensionsModule.buttons.documentation`)),1)]),_:1})):p(``,!0),e.extension.links?.repository?(n(),b(f(x),{key:1,type:`primary`,size:`small`,link:``,onClick:r[1]||=A(t=>g(e.extension.links.repository),[`stop`])},{default:l(()=>[P(f(O),{icon:`mdi:github`,class:`mr-1`}),h(` `+C(f(a)(`extensionsModule.buttons.repository`)),1)]),_:1})):p(``,!0),e.extension.links?.bugsTracking?(n(),b(f(x),{key:2,type:`primary`,size:`small`,link:``,onClick:r[2]||=A(t=>g(e.extension.links.bugsTracking),[`stop`])},{default:l(()=>[P(f(O),{icon:`mdi:bug`,class:`mr-1`}),h(` `+C(f(a)(`extensionsModule.buttons.issues`)),1)]),_:1})):p(``,!0)]),P(f(ce),{"split-button":``,size:`small`,trigger:`click`,onClick:d,onCommand:m},{dropdown:l(()=>[P(f(pe),null,{default:l(()=>[P(f(I),{command:e.extension.enabled?`disable`:`enable`,disabled:!e.extension.canToggleEnabled},{default:l(()=>[P(f(J),{content:s.value,disabled:e.extension.canToggleEnabled,placement:`left`},{default:l(()=>[S(`span`,Xe,[P(f(O),{icon:e.extension.enabled?`mdi:toggle-switch-off`:`mdi:toggle-switch`,class:`mr-2`},null,8,[`icon`]),h(` `+C(e.extension.enabled?f(a)(`extensionsModule.buttons.disable`):f(a)(`extensionsModule.buttons.enable`)),1)])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`command`,`disabled`]),P(f(I),{command:`delete`,disabled:``,divided:``},{default:l(()=>[P(f(J),{content:u.value,placement:`left`},{default:l(()=>[S(`span`,Ze,[P(f(O),{icon:`mdi:delete`,class:`mr-2`}),h(` `+C(f(a)(`extensionsModule.buttons.remove`)),1)])]),_:1},8,[`content`])]),_:1})]),_:1})]),default:l(()=>[h(C(f(a)(`extensionsModule.buttons.detail.title`))+` `,1)]),_:1})])]),default:l(()=>[S(`div`,He,[e.extension.description?(n(),N(`p`,Ue,C(e.extension.description),1)):(n(),N(`p`,We,C(f(a)(`extensionsModule.messages.noDescription`)),1)),S(`div`,Ge,[e.extension.version?(n(),N(`div`,Ke,[P(f(O),{icon:`mdi:tag`,class:`extension-card__meta-icon`}),S(`span`,null,C(e.extension.version),1)])):p(``,!0),e.extension.author?(n(),N(`div`,qe,[P(f(O),{icon:`mdi:account`,class:`extension-card__author-icon`}),S(`span`,null,C(e.extension.author),1)])):p(``,!0)])])]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-f13b0a97`]]),$e={class:`h-full w-full flex flex-col`},et={class:`flex items-center justify-between p-2 border-b`},tt={class:`flex items-center gap-2`},nt={class:`flex items-center gap-2`},rt={key:0,class:`flex-1 flex items-center justify-center`},it={key:1,class:`flex-1 flex items-center justify-center`},at={key:2,class:`flex-1 flex items-center justify-center`},ot=[`onClick`],st={class:`grid grid-cols-[140px_70px_1fr] gap-3 items-center`},ct={class:`font-mono text-xs`},lt={class:`truncate text-sm`},ut={class:`py-3 text-center`},dt={key:0,class:`text-xs text-gray-400`},ft={class:`flex flex-col h-full`},pt={class:`flex flex-col overflow-hidden h-full`},mt=u({name:`ExtensionLogs`,__name:`extension-logs`,props:{extensionType:{},live:{type:Boolean}},emits:[`update:live`],setup(t,{emit:i}){let o=t,c=i,{t:u}=_(),{logs:g,hasMore:v,isLoading:y,loaded:k,live:A,filterLevels:F,filterTimeRange:I,filtersActive:B,clearFilters:re,fetchLogs:ae,loadMoreLogs:H,refreshLogs:oe}=Te({extensionType:ee(()=>o.extensionType)}),U=V(o,`live`,c,{defaultValue:!1}),W=M(null),ce=D({get:()=>W.value!==null,set:e=>{e||(W.value=null)}}),le=[X.error,X.warn,X.info,X.debug,X.fatal,X.log,X.success,X.fail],de=D(()=>[{value:`all`,label:u(`extensionsModule.texts.logs.timeRange.all`)},{value:`1h`,label:u(`extensionsModule.texts.logs.timeRange.1h`)},{value:`6h`,label:u(`extensionsModule.texts.logs.timeRange.6h`)},{value:`24h`,label:u(`extensionsModule.texts.logs.timeRange.24h`)},{value:`7d`,label:u(`extensionsModule.texts.logs.timeRange.7d`)}]);d(U,e=>{A.value=e},{immediate:!0}),d(A,e=>{U.value=e});let q=()=>{oe()},pe=()=>{H()},me=e=>te(new Date(e)),he=e=>new Date(e).toISOString(),ge=e=>{let t=e.toLowerCase();return[`fatal`,`error`,`fail`].includes(t)?{type:`danger`,effect:`light`}:[`warn`,`box`].includes(t)?{type:`warning`,effect:`light`}:[`success`,`ready`,`start`,`info`,`log`].includes(t)?{type:`success`,effect:`light`}:{effect:`plain`,class:`tag-neutral`}};return a(()=>{ae()}),(t,i)=>(n(),N(`div`,$e,[S(`div`,et,[S(`div`,tt,[P(f(x),{size:`small`,onClick:q},{icon:l(()=>[P(f(O),{icon:`mdi:refresh`})]),default:l(()=>[h(` `+C(f(u)(`extensionsModule.buttons.refresh`)),1)]),_:1}),P(f(fe),{modelValue:f(U),"onUpdate:modelValue":i[0]||=e=>m(U)?U.value=e:null,size:`small`,"active-text":f(u)(`extensionsModule.labels.live`)},null,8,[`modelValue`,`active-text`])]),S(`div`,nt,[P(f(G),{modelValue:f(F),"onUpdate:modelValue":i[1]||=e=>m(F)?F.value=e:null,size:`small`,class:`w-[200px]!`,clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,placeholder:f(u)(`extensionsModule.texts.logs.allLevels`)},{default:l(()=>[(n(),N(T,null,r(le,e=>P(f(K),{key:e,label:f(u)(`systemModule.levels.${e}`),value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`,`placeholder`]),P(f(G),{modelValue:f(I),"onUpdate:modelValue":i[2]||=e=>m(I)?I.value=e:null,size:`small`,class:`w-[140px]!`},{default:l(()=>[(n(!0),N(T,null,r(de.value,e=>(n(),b(f(K),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),f(B)?(n(),b(f(x),{key:0,size:`small`,onClick:f(re)},{icon:l(()=>[P(f(O),{icon:`mdi:filter-off`})]),default:l(()=>[h(` `+C(f(u)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1},8,[`onClick`])):p(``,!0)])]),!f(k)&&f(y)?(n(),N(`div`,rt,[P(f(E),null,{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:console`})]),secondary:l(()=>[P(f(O),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):f(B)&&f(g).length===0?(n(),N(`div`,it,[P(f(E),null,{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:console`})]),secondary:l(()=>[P(f(O),{icon:`mdi:filter-multiple`})]),_:1})]),title:l(()=>[h(C(f(u)(`extensionsModule.texts.logs.noFilteredLogs`)),1)]),"sub-title":l(()=>[P(f(x),{type:`primary`,plain:``,class:`mt-2`,onClick:f(re)},{icon:l(()=>[P(f(O),{icon:`mdi:filter-off`})]),default:l(()=>[h(` `+C(f(u)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1},8,[`onClick`])]),_:1})])):f(g).length===0?(n(),N(`div`,at,[P(f(E),null,{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:console`})]),secondary:l(()=>[P(f(O),{icon:`mdi:information`})]),_:1})]),title:l(()=>[h(C(f(u)(`extensionsModule.texts.logs.noLogs`)),1)]),"sub-title":l(()=>[h(C(f(u)(`extensionsModule.texts.logs.noLogsDescription`)),1)]),_:1})])):e((n(),b(f(z),{key:3,class:`flex-1`},{default:l(()=>[S(`div`,null,[(n(!0),N(T,null,r(f(g),e=>(n(),N(`div`,{key:e.id,class:`px-3 py-2 border-b hover:bg-[var(--el-fill-color-light)] cursor-pointer`,onClick:t=>W.value=e},[S(`div`,st,[S(`span`,ct,[P(f(J),{content:he(e.ts),placement:`top-start`},{default:l(()=>[h(C(me(e.ts)),1)]),_:2},1032,[`content`])]),P(f(R),w({ref_for:!0},ge(e.type),{size:`small`,class:`justify-self-start`}),{default:l(()=>[h(C(e.type),1)]),_:2},1040),S(`div`,lt,C(e.message??f(u)(`extensionsModule.texts.logs.noMessage`)),1)])],8,ot))),128)),S(`div`,ut,[f(v)?p(``,!0):(n(),N(`span`,dt,C(f(u)(`extensionsModule.texts.logs.noMoreEntries`)),1)),f(v)?(n(),b(f(x),{key:1,loading:f(y),onClick:pe},{icon:l(()=>[P(f(O),{icon:`mdi:chevron-down`})]),default:l(()=>[h(` `+C(f(u)(`extensionsModule.buttons.loadMore`)),1)]),_:1},8,[`loading`])):p(``,!0)])])]),_:1})),[[f(ne),f(y)&&f(g).length>0]]),P(f(Se),{modelValue:ce.value,"onUpdate:modelValue":i[4]||=e=>ce.value=e,"show-close":!1,"with-header":!1,direction:`rtl`,size:`40%`},{default:l(()=>[S(`div`,ft,[P(f(ie),{"menu-button-hidden":``},{"button-right":l(()=>[P(f(L),{align:f(ue).RIGHT,class:`mr-2`,onClick:i[3]||=e=>W.value=null},{icon:l(()=>[P(f(s),null,{default:l(()=>[P(f(O),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),P(f(_e),{teleport:``},{icon:l(()=>[P(f(O),{icon:`mdi:note-text-outline`,class:`w[20px] h[20px]`})]),title:l(()=>[h(C(f(u)(`systemModule.headings.systemLogs.detail`)),1)]),subtitle:l(()=>[h(C(f(u)(`systemModule.subHeadings.systemLogs.detail`)),1)]),_:1}),S(`div`,pt,[W.value?(n(),b(f(z),{key:0,class:`grow-1 p-2 md:px-4`},{default:l(()=>[P(f(se),{"system-log":W.value},null,8,[`system-log`])]),_:1})):p(``,!0)])])]),_:1},8,[`modelValue`])]))}}),ht={key:2,class:`grid grid-cols-[repeat(auto-fill,minmax(350px,1fr))] max-sm:grid-cols-1 gap-3`},gt=u({name:`ExtensionsCards`,__name:`extensions-cards`,props:{items:{},loading:{type:Boolean,default:!1},filtersActive:{type:Boolean,default:!1}},emits:[`toggle-enabled`,`detail`,`reset-filters`],setup(e,{emit:t}){let i=e,a=t,{t:o}=_(),s=D(()=>[...i.items].sort((e,t)=>e.isCore&&!t.isCore?-1:!e.isCore&&t.isCore?1:e.name.localeCompare(t.name))),c=D(()=>i.filtersActive?o(`extensionsModule.messages.noMatchingExtensions`):o(`extensionsModule.messages.noExtensions`)),u=(e,t)=>{a(`toggle-enabled`,e,t)},d=e=>{a(`detail`,e)};return(t,i)=>(n(),b(f(z),{class:`h-full`},{default:l(()=>[e.loading&&e.items.length===0?(n(),b(f(ye),{key:0,rows:5,animated:``})):e.items.length===0?(n(),b(f(E),{key:1,icon:`info`,title:c.value},null,8,[`title`])):(n(),N(`div`,ht,[(n(!0),N(T,null,r(s.value,e=>(n(),b(Qe,{key:e.type,extension:e,onToggleEnabled:u,onDetail:d},null,8,[`extension`]))),128))]))]),_:1}))}}),_t={class:`flex w-full items-center justify-center`},vt=v(u({name:`ExtensionsFilter`,__name:`extensions-filter`,props:{filters:{},filtersActive:{type:Boolean},viewMode:{default:`table`},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`update:view-mode`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let r=e,i=t,a=k(`extensions-filter`),{t:o}=_(),u=V(r,`filters`,i),m=V(r,`viewMode`,i),h=M(void 0);return d(()=>u.value.search,e=>{e===``&&(u.value.search=void 0)}),(e,t)=>(n(),N(`div`,_t,[P(f(ae),{ref_key:`filterFormEl`,ref:h,inline:!0,model:f(u),class:c([[f(a).b()],`grow-1`])},{default:l(()=>[P(f(U),{modelValue:f(u).search,"onUpdate:modelValue":t[0]||=e=>f(u).search=e,placeholder:f(o)(`extensionsModule.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:l(()=>[P(f(s),null,{default:l(()=>[P(f(O),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`]),P(f(he),{direction:`vertical`}),P(f(oe),{label:f(o)(`extensionsModule.filters.kind.title`),class:c([[f(a).e(`extension-kind`)],`p-1 m-0!`])},{default:l(()=>[P(f(xe),{modelValue:f(u).kind,"onUpdate:modelValue":t[1]||=e=>f(u).kind=e},{default:l(()=>[P(f(Q),{label:f(o)(`extensionsModule.labels.module`),value:`module`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.plugin`),value:`plugin`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.states.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`,`class`])]),_:1},8,[`model`,`class`]),P(f(re),{"selected-count":r.selectedCount,actions:r.bulkActions,onAction:t[2]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),P(f(y),{class:`mr-3`},{default:l(()=>[P(f(x),{type:f(m)===`table`?`primary`:void 0,plain:``,class:`px-2!`,onClick:t[3]||=e=>m.value=`table`},{default:l(()=>[P(f(O),{icon:`mdi:table`})]),_:1},8,[`type`]),P(f(x),{type:f(m)===`cards`?`primary`:void 0,plain:``,class:`px-2!`,onClick:t[4]||=e=>m.value=`cards`},{default:l(()=>[P(f(O),{icon:`mdi:view-grid`})]),_:1},8,[`type`])]),_:1}),r.filtersActive?(n(),b(f(x),{key:0,plain:``,class:`px-2! p-1`,onClick:t[5]||=e=>i(`reset-filters`)},{default:l(()=>[P(f(O),{icon:`mdi:filter-off`})]),_:1})):p(``,!0),P(f(x),{plain:``,class:`px-2! p-1`,onClick:t[6]||=e=>i(`adjust-list`)},{default:l(()=>[P(f(O),{icon:`mdi:slider`})]),_:1})]))}}),[[`__scopeId`,`data-v-7de8e0d9`]]),yt={key:0,class:`h-full w-full leading-normal`},bt={key:1,class:`h-full w-full leading-normal`},xt={key:2,class:`h-full w-full leading-normal`},St={class:`block`},Ct=u({name:`ExtensionsTable`,__name:`extensions-table`,props:{items:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},tableHeight:{},sortBy:{},sortDir:{}},emits:[`detail`,`toggle-enabled`,`reset-filters`,`selected-changes`,`update:sort-by`,`update:sort-dir`],setup(r,{emit:i}){let a=r,o=i,{t:s}=_(),{isMDDevice:c}=W(),u=D(()=>a.totalRows===0),d=D(()=>a.items),m=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},g=e=>{o(`detail`,e.type)},v=(e,t)=>{o(`toggle-enabled`,e,t)},y=e=>{o(`selected-changes`,e)};return(i,_)=>e((n(),b(f(ve),{"element-loading-text":f(s)(`extensionsModule.texts.loadingExtensions`),data:d.value,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`type`,class:`flex-grow`,style:t({maxHeight:r.tableHeight+`px`}),"max-height":r.tableHeight,onSortChange:m,onSelectionChange:y,onRowClick:g},{empty:l(()=>[a.loading?(n(),N(`div`,yt,[P(f(E),{class:`h-full w-full`},{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:puzzle`})]),secondary:l(()=>[P(f(O),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):u.value&&!a.loading?(n(),N(`div`,bt,[P(f(E),{class:`h-full w-full`},{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:puzzle`})]),secondary:l(()=>[P(f(O),{icon:`mdi:information`})]),_:1})]),title:l(()=>[h(C(f(s)(`extensionsModule.texts.noExtensions`)),1)]),_:1})])):a.filtersActive&&!a.loading?(n(),N(`div`,xt,[P(f(E),{class:`h-full w-full`},{icon:l(()=>[P(f(j),{size:80},{primary:l(()=>[P(f(O),{icon:`mdi:puzzle`})]),secondary:l(()=>[P(f(O),{icon:`mdi:filter-multiple`})]),_:1})]),title:l(()=>[P(f(H),{class:`block`},{default:l(()=>[h(C(f(s)(`extensionsModule.texts.noFilteredExtensions`)),1)]),_:1}),P(f(x),{type:`primary`,plain:``,class:`mt-4`,onClick:_[0]||=e=>o(`reset-filters`)},{icon:l(()=>[P(f(O),{icon:`mdi:filter-off`})]),default:l(()=>[h(` `+C(f(s)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):p(``,!0)]),default:l(()=>[f(c)?(n(),b(f(Z),{key:0,type:`selection`,width:30})):p(``,!0),P(f(Z),{width:60,align:`center`},{default:l(e=>[P(f(B),{size:32},{default:l(()=>[P(f(O),{icon:e.row.kind===f($).MODULE?`mdi:package-variant`:`mdi:toy-brick`,class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),_:1}),P(f(Z),{label:f(s)(`extensionsModule.table.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:l(e=>[e.row.description?(n(),N(T,{key:0},[S(`strong`,St,C(e.row.name),1),P(f(H),{size:`small`,class:`block leading-4`,truncated:``},{default:l(()=>[h(C(e.row.description),1)]),_:2},1024)],64)):(n(),N(T,{key:1},[h(C(e.row.name),1)],64))]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.type.title`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:200},{default:l(e=>[P(f(J),{content:e.row.type,placement:`top`,"show-after":500},{default:l(()=>[P(f(H),{size:`small`,type:`info`,class:`block max-w-[180px]`,truncated:``},{default:l(()=>[h(C(e.row.type),1)]),_:2},1024)]),_:2},1032,[`content`])]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.kind.title`),prop:`kind`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:l(e=>[P(f(R),{type:e.row.kind===f($).MODULE?`primary`:`success`,size:`small`},{default:l(()=>[h(C(e.row.kind===f($).MODULE?f(s)(`extensionsModule.labels.module`):f(s)(`extensionsModule.labels.plugin`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.version.title`),prop:`version`,width:100},{default:l(e=>[e.row.version?(n(),b(f(H),{key:0,size:`small`},{default:l(()=>[h(C(e.row.version),1)]),_:2},1024)):(n(),b(f(H),{key:1,size:`small`,type:`info`},{default:l(()=>[..._[3]||=[h(` - `,-1)]]),_:1}))]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.core.title`),prop:`isCore`,width:100},{default:l(e=>[e.row.isCore?(n(),b(f(R),{key:0,type:`warning`,size:`small`},{default:l(()=>[h(C(f(s)(`extensionsModule.labels.core`)),1)]),_:1})):(n(),b(f(R),{key:1,type:`info`,size:`small`},{default:l(()=>[h(C(f(s)(`extensionsModule.labels.addon`)),1)]),_:1}))]),_:1},8,[`label`]),P(f(Z),{label:f(s)(`extensionsModule.table.columns.enabled.title`),prop:`enabled`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:l(e=>[P(f(fe),{"model-value":e.row.enabled,disabled:!e.row.canToggleEnabled,size:`small`,onClick:_[1]||=A(()=>{},[`stop`]),onChange:t=>v(e.row.type,t)},null,8,[`model-value`,`disabled`,`onChange`])]),_:1},8,[`label`]),P(f(Z),{width:100,align:`right`},{default:l(e=>[S(`div`,{onClick:_[2]||=A(()=>{},[`stop`])},[P(f(x),{size:`small`,plain:``,"data-test-id":`detail-extension`,onClick:t=>o(`detail`,e.row.type)},{icon:l(()=>[P(f(O),{icon:`mdi:file-search-outline`})]),default:l(()=>[h(` `+C(f(s)(`extensionsModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[f(ne),a.loading]])}}),wt=u({name:`ListExtensions`,__name:`list-extensions`,props:{items:{},allItems:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},filters:{},viewMode:{},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{}},emits:[`detail`,`toggle-enabled`,`adjust-list`,`reset-filters`,`update:filters`,`update:view-mode`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`,`bulk-action`],setup(e,{emit:t}){let r=e,a=t,{t:s}=_(),{isMDDevice:c}=W(),u=null,p=M(null),h=M(null),g=V(r,`filters`,a),v=V(r,`viewMode`,a),y=M(r.sortBy),x=M(r.sortDir??null),C=M(r.paginatePage),w=M(r.paginateSize),E=M(250),O=M([]),ee=D(()=>[{key:`enable`,label:s(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:s(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`}]),k=e=>{a(`detail`,e)},A=(e,t)=>{a(`toggle-enabled`,e,t)},j=()=>{a(`reset-filters`)},F=e=>{a(`update:paginate-size`,e)},I=e=>{a(`update:paginate-page`,e)},L=e=>{O.value=e},R=e=>{a(`bulk-action`,e,O.value)},z=()=>{if(!p.value)return;let e=v.value===`table`?h.value?.clientHeight??60:0;E.value=p.value.clientHeight-e};return i(()=>{p.value&&(typeof window<`u`&&`ResizeObserver`in window&&(u=new ResizeObserver(z),u.observe(p.value)),z())}),o(()=>{u&&p.value&&u.unobserve(p.value)}),d(()=>y.value,e=>{a(`update:sort-by`,e)}),d(()=>x.value,e=>{a(`update:sort-dir`,e)}),d(()=>r.paginatePage,e=>{C.value=e}),d(()=>r.paginateSize,e=>{w.value=e}),d(()=>r.sortDir,e=>{x.value=e??null}),d(()=>r.sortBy,e=>{y.value=e}),d(()=>v.value,e=>{e===`cards`&&(O.value=[]),setTimeout(z,50)}),d(()=>c.value,e=>{e||(O.value=[])}),(e,t)=>(n(),N(T,null,[P(f(Y),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:l(()=>[P(vt,{filters:f(g),"onUpdate:filters":t[0]||=e=>m(g)?g.value=e:null,"view-mode":f(v),"onUpdate:viewMode":t[1]||=e=>m(v)?v.value=e:null,"filters-active":r.filtersActive,"selected-count":O.value.length,"bulk-actions":ee.value,onResetFilters:t[2]||=e=>a(`reset-filters`),onAdjustList:t[3]||=e=>a(`adjust-list`),onBulkAction:R},null,8,[`filters`,`view-mode`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),S(`div`,{ref_key:`wrapper`,ref:p,class:`grow-1 overflow-hidden`},[f(v)===`table`?(n(),b(f(Y),{key:0,shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! grow-1 max-h-full overflow-hidden flex flex-col`},{default:l(()=>[P(Ct,{"sort-by":y.value,"onUpdate:sortBy":t[4]||=e=>y.value=e,"sort-dir":x.value,"onUpdate:sortDir":t[5]||=e=>x.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":E.value,onDetail:k,onToggleEnabled:A,onResetFilters:j,onSelectedChanges:L},null,8,[`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),S(`div`,{ref_key:`paginator`,ref:h,class:`flex justify-center w-full py-4 shrink-0`},[P(f(we),{"current-page":C.value,"onUpdate:currentPage":t[6]||=e=>C.value=e,"page-size":w.value,"onUpdate:pageSize":t[7]||=e=>w.value=e,layout:f(c)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:F,onCurrentChange:I},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})):(n(),b(gt,{key:1,items:r.allItems,loading:r.loading,"filters-active":r.filtersActive,onDetail:k,onToggleEnabled:A,onResetFilters:j},null,8,[`items`,`loading`,`filters-active`]))],512)],64))}}),Tt={class:`px-2`},Et={class:`px-2`},Dt={class:`px-2`},Ot={class:`px-5 py-2 text-center`},kt=v(u({name:`ListExtensionsAdjust`,__name:`list-extensions-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,i=t,a=k(`list-extensions-adjust`),{t:o}=_(),s=M([`kind`,`enabled`,`isCore`]),u=V(r,`filters`,i);return(e,t)=>(n(),N(T,null,[P(f(_e),{teleport:``},{icon:l(()=>[P(f(O),{icon:`mdi:filter`})]),title:l(()=>[h(C(f(o)(`extensionsModule.headings.adjustFilters`)),1)]),subtitle:l(()=>[h(C(f(o)(`extensionsModule.subHeadings.adjustFilters`)),1)]),_:1}),S(`div`,{class:c([[f(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[P(f(z),{class:`flex-grow`},{default:l(()=>[P(f(ge),{modelValue:s.value,"onUpdate:modelValue":t[3]||=e=>s.value=e},{default:l(()=>[P(f(me),{name:`kind`,class:c([f(a).e(`filter-item`)])},{title:l(()=>[P(f(H),{class:`!px-2`},{default:l(()=>[h(C(f(o)(`extensionsModule.filters.kind.title`)),1)]),_:1})]),default:l(()=>[S(`div`,Tt,[P(f(xe),{modelValue:f(u).kind,"onUpdate:modelValue":t[0]||=e=>f(u).kind=e},{default:l(()=>[P(f(Q),{label:f(o)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.module`),value:`module`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.plugin`),value:`plugin`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),P(f(me),{name:`enabled`,class:c([f(a).e(`filter-item`)])},{title:l(()=>[P(f(H),{class:`!px-2`},{default:l(()=>[h(C(f(o)(`extensionsModule.filters.enabled.title`)),1)]),_:1})]),default:l(()=>[S(`div`,Et,[P(f(xe),{modelValue:f(u).enabled,"onUpdate:modelValue":t[1]||=e=>f(u).enabled=e},{default:l(()=>[P(f(Q),{label:f(o)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.enabled`),value:`enabled`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.disabled`),value:`disabled`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),P(f(me),{name:`isCore`,class:c([f(a).e(`filter-item`)])},{title:l(()=>[P(f(H),{class:`!px-2`},{default:l(()=>[h(C(f(o)(`extensionsModule.filters.type.title`)),1)]),_:1})]),default:l(()=>[S(`div`,Dt,[P(f(xe),{modelValue:f(u).isCore,"onUpdate:modelValue":t[2]||=e=>f(u).isCore=e},{default:l(()=>[P(f(Q),{label:f(o)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.core`),value:`core`},null,8,[`label`]),P(f(Q),{label:f(o)(`extensionsModule.labels.addon`),value:`addon`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),S(`div`,Ot,[P(f(x),{disabled:!r.filtersActive,onClick:t[4]||=e=>i(`reset-filters`)},{icon:l(()=>[P(f(O),{icon:`mdi:filter-remove`})]),default:l(()=>[h(` `+C(f(o)(`extensionsModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-1f502633`]]),At={class:`flex flex-col gap-3`},jt={class:`flex items-center justify-between gap-4`},Mt={class:`flex items-center gap-3 min-w-0 flex-1`},Nt={class:`flex items-center justify-center w-10 h-10 rounded-lg bg-gray-100 dark:bg-gray-800`},Pt={class:`min-w-0 flex-1`},Ft={class:`flex items-center gap-2 flex-wrap`},It={class:`font-medium text-base truncate`},Lt={class:`flex items-center gap-2 mt-1`},Rt={class:`flex items-center gap-1`},zt={class:`flex items-center gap-2`},Bt={class:`flex items-center gap-6 text-sm text-gray-500 dark:text-gray-400 flex-wrap`},Vt={key:0,class:`flex items-center gap-1`},Ht={key:1,class:`flex items-center gap-1`},Ut={key:2,class:`flex items-center gap-1`},Wt=u({name:`ServiceItem`,__name:`service-item`,props:{service:{},acting:{type:Boolean}},emits:[`start`,`stop`,`restart`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),o=D(()=>r.service.state===q.starting||r.service.state===q.stopping),s=D(()=>r.service.state===q.stopped||r.service.state===q.error),u=D(()=>r.service.state===q.started||r.service.state===q.starting),d=D(()=>s.value),m=D(()=>u.value),g=D(()=>r.service.state===q.started),v=D(()=>d.value&&r.service.enabled&&!o.value&&!r.acting),y=D(()=>m.value&&r.service.state!==q.stopping&&!r.acting),w=D(()=>g.value&&r.service.enabled&&!o.value&&!r.acting),T=D(()=>r.service.enabled?o.value?a(`extensionsModule.services.tooltips.transitioning`):a(`extensionsModule.services.tooltips.startService`):a(`extensionsModule.services.tooltips.disabledPlugin`)),E=D(()=>r.service.state===q.stopping?a(`extensionsModule.services.tooltips.transitioning`):a(`extensionsModule.services.tooltips.stopService`)),ee=D(()=>r.service.enabled?o.value?a(`extensionsModule.services.tooltips.transitioning`):a(`extensionsModule.services.tooltips.restartService`):a(`extensionsModule.services.tooltips.disabledPlugin`)),k=D(()=>{let e=r.service.state;return a(`extensionsModule.services.states.${e}`)}),A=D(()=>{switch(r.service.state){case q.started:return`success`;case q.stopped:return`info`;case q.starting:case q.stopping:return`warning`;case q.error:return`danger`;default:return`info`}}),j=D(()=>{switch(r.service.state){case q.started:return`mdi:check-circle`;case q.stopped:return`mdi:stop-circle`;case q.starting:case q.stopping:return`mdi:loading`;case q.error:return`mdi:alert-circle`;default:return`mdi:help-circle`}}),M=D(()=>{switch(r.service.state){case q.started:return`text-green-500`;case q.stopped:return`text-gray-400`;case q.starting:case q.stopping:return`text-yellow-500 animate-spin`;case q.error:return`text-red-500`;default:return`text-gray-400`}}),F=D(()=>{if(r.service.uptimeMs===void 0)return`-`;let e=Math.floor(r.service.uptimeMs/1e3),t=Math.floor(e/86400),n=Math.floor(e%86400/3600),i=Math.floor(e%3600/60),a=[];return t>0&&a.push(`${t}d`),n>0&&a.push(`${n}h`),(i>0||a.length===0)&&a.push(`${i}m`),a.join(` `)}),I=D(()=>r.service.lastStartedAt?new Date(r.service.lastStartedAt).toLocaleString():`-`),L=()=>{i(`start`)},z=()=>{i(`stop`)},B=()=>{i(`restart`)};return(t,r)=>(n(),b(f(Y),{shadow:`never`,class:`service-item`,"body-class":`p-3!`},{default:l(()=>[S(`div`,At,[S(`div`,jt,[S(`div`,Mt,[S(`div`,Nt,[P(f(O),{icon:j.value,class:c([`w-5 h-5`,M.value])},null,8,[`icon`,`class`])]),S(`div`,Pt,[S(`div`,Ft,[S(`span`,It,C(e.service.pluginName),1),P(f(R),{size:`small`,type:`info`},{default:l(()=>[h(C(e.service.serviceId),1)]),_:1})]),S(`div`,Lt,[P(f(R),{type:A.value,size:`small`,effect:`light`},{default:l(()=>[S(`div`,Rt,[o.value?(n(),b(f(O),{key:0,icon:`mdi:loading`,class:`animate-spin w-3 h-3`})):p(``,!0),h(` `+C(k.value),1)])]),_:1},8,[`type`]),e.service.enabled?p(``,!0):(n(),b(f(R),{key:0,type:`warning`,size:`small`,effect:`light`},{default:l(()=>[h(C(f(a)(`extensionsModule.services.texts.pluginDisabled`)),1)]),_:1})),e.service.healthy===void 0?p(``,!0):(n(),b(f(R),{key:1,type:e.service.healthy?`success`:`danger`,size:`small`,effect:`light`},{default:l(()=>[h(C(e.service.healthy?f(a)(`extensionsModule.services.labels.healthy`):f(a)(`extensionsModule.services.labels.unhealthy`)),1)]),_:1},8,[`type`]))])])]),S(`div`,zt,[d.value?(n(),b(f(J),{key:0,content:T.value,placement:`top`},{default:l(()=>[P(f(x),{type:`success`,size:`small`,plain:``,disabled:!v.value,loading:e.acting,onClick:L},{icon:l(()=>[P(f(O),{icon:`mdi:play`})]),default:l(()=>[h(` `+C(f(a)(`extensionsModule.services.buttons.start`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):p(``,!0),m.value?(n(),b(f(J),{key:1,content:E.value,placement:`top`},{default:l(()=>[P(f(x),{type:`danger`,size:`small`,plain:``,disabled:!y.value,loading:e.acting,onClick:z},{icon:l(()=>[P(f(O),{icon:`mdi:stop`})]),default:l(()=>[h(` `+C(f(a)(`extensionsModule.services.buttons.stop`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):p(``,!0),g.value?(n(),b(f(J),{key:2,content:ee.value,placement:`top`},{default:l(()=>[P(f(x),{type:`primary`,size:`small`,plain:``,disabled:!w.value,loading:e.acting,onClick:B},{icon:l(()=>[P(f(O),{icon:`mdi:restart`})]),default:l(()=>[h(` `+C(f(a)(`extensionsModule.services.buttons.restart`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):p(``,!0)])]),S(`div`,Bt,[e.service.state===`started`&&e.service.uptimeMs!==void 0?(n(),N(`div`,Vt,[P(f(O),{icon:`mdi:clock-outline`,class:`w-4 h-4`}),S(`span`,null,C(f(a)(`extensionsModule.services.labels.uptime`))+`: `+C(F.value),1)])):p(``,!0),e.service.startCount>0?(n(),N(`div`,Ht,[P(f(O),{icon:`mdi:counter`,class:`w-4 h-4`}),S(`span`,null,C(f(a)(`extensionsModule.services.labels.startCount`))+`: `+C(e.service.startCount),1)])):p(``,!0),e.service.lastStartedAt?(n(),N(`div`,Ut,[P(f(O),{icon:`mdi:play-circle-outline`,class:`w-4 h-4`}),S(`span`,null,C(f(a)(`extensionsModule.services.labels.lastStarted`))+`: `+C(I.value),1)])):p(``,!0)]),e.service.lastError?(n(),b(f(le),{key:0,type:e.service.state===f(q).error?`error`:`warning`,title:f(a)(`extensionsModule.services.labels.lastError`),description:e.service.lastError,"show-icon":``,closable:!1},null,8,[`type`,`title`,`description`])):p(``,!0)])]),_:1}))}}),Gt={key:2,class:`flex flex-col gap-3`},Kt=u({name:`ServicesList`,__name:`services-list`,props:{services:{},loading:{type:Boolean},isActing:{type:Function}},emits:[`start`,`stop`,`restart`],setup(e,{emit:t}){let i=t,{t:a}=_(),o=(e,t)=>{i(`start`,e,t)},s=(e,t)=>{i(`stop`,e,t)},c=(e,t)=>{i(`restart`,e,t)};return(t,i)=>(n(),b(f(z),{class:`h-full`},{default:l(()=>[e.loading&&e.services.length===0?(n(),b(f(ye),{key:0,rows:5,animated:``})):e.services.length===0?(n(),b(f(E),{key:1,icon:`info`,title:f(a)(`extensionsModule.services.texts.noServices`)},null,8,[`title`])):(n(),N(`div`,Gt,[(n(!0),N(T,null,r(e.services,t=>(n(),b(Wt,{key:`${t.pluginName}:${t.serviceId}`,service:t,acting:e.isActing(t.pluginName,t.serviceId),onStart:e=>o(t.pluginName,t.serviceId),onStop:e=>s(t.pluginName,t.serviceId),onRestart:e=>c(t.pluginName,t.serviceId)},null,8,[`service`,`acting`,`onStart`,`onStop`,`onRestart`]))),128))]))]),_:1}))}});export{Le as a,mt as i,kt as n,wt as r,Kt as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-DECur_0Z.js";import{Br as e,Hr as t,Qr as n,Sr as r,Xr as i,_i as a,br as o,ci as s,d as c,gr as l,h as u,ji as d,lr as f,mr as p,p as m,sr as h,ui as g,vr as _,xr as v}from"./icon-with-child-DmQ_XhQy.js";import{Ii as y,Li as b,Oi as x,Qn as S,Si as C,bi as w,ni as T,ri as E}from"./common-BRnJNE_Q.js";import{a as D,i as O,o as k,p as A,r as j}from"./composables-BjbLMXuf.js";import{t as M}from"./composables-DtAHwEcp.js";var N=r({name:`PasswordEditForm`,__name:`password-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`],setup(t,{emit:r}){let o=t,u=r,{t:d}=c(),{model:f,formEl:p,submit:m,formResult:h}=O({user:o.user,messages:{success:d(`usersModule.messages.passwordEdited`),error:d(`usersModule.messages.passwordNotEdited`)}}),g=s({password:[{required:!0,message:d(`usersModule.fields.newPassword.validation.required`),trigger:`change`}],repeatPassword:[{required:!0,message:d(`usersModule.fields.newRepeatPassword.validation.required`),trigger:`change`},{validator:(e,t,n)=>{t===``?n(Error(d(`usersModule.fields.newRepeatPassword.validation.required`))):t===f.password?n():n(Error(d(`usersModule.fields.newRepeatPassword.validation.different`)))},trigger:`blur`}]});return i(()=>h.value,async e=>{u(`update:remote-form-result`,e)}),i(()=>o.remoteFormSubmit,async e=>{e&&(u(`update:remote-form-submit`,!1),m().catch(()=>{}))}),i(()=>o.remoteFormReset,e=>{if(u(`update:remote-form-reset`,!1),e){if(!p.value)return;p.value.resetFields()}}),(t,r)=>(e(),l(a(y),{ref_key:`formEl`,ref:p,model:a(f),rules:g,"label-position":`top`,"status-icon":``,onSubmit:a(m)},{default:n(()=>[v(a(b),{label:a(d)(`usersModule.fields.newPassword.title`),prop:[`password`]},{default:n(()=>[v(a(x),{modelValue:a(f).password,"onUpdate:modelValue":r[0]||=e=>a(f).password=e,name:`password`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(d)(`usersModule.fields.repeatPassword.title`),prop:[`repeatPassword`]},{default:n(()=>[v(a(x),{modelValue:a(f).repeatPassword,"onUpdate:modelValue":r[1]||=e=>a(f).repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`onSubmit`]))}}),P=r({name:`UserAddForm`,__name:`user-add-form`,props:{id:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(r,{emit:o}){let u=r,d=o,{t:p}=c(),{model:m,formEl:h,formChanged:g,submit:E,formResult:D}=k({id:u.id}),O=s({username:[{required:!0,message:p(`usersModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:p(`usersModule.fields.password.validation.required`),trigger:`change`}],repeatPassword:[{required:!0,message:p(`usersModule.fields.repeatPassword.validation.required`),trigger:`change`},{validator:(e,t,n)=>{t===``?n(Error(p(`usersModule.fields.repeatPassword.validation.required`))):t===m.password?n():n(Error(p(`usersModule.fields.repeatPassword.validation.different`)))},trigger:`blur`}],email:[{type:`email`,message:p(`usersModule.fields.email.validation.email`),trigger:`change`}],role:[{required:!0,message:p(`usersModule.fields.role.validation.required`),trigger:`change`}]}),A=[{value:S.user,label:p(`usersModule.fields.role.options.user`)},{value:S.admin,label:p(`usersModule.fields.role.options.admin`)}];return i(()=>D.value,async e=>{d(`update:remote-form-result`,e)}),i(()=>u.remoteFormSubmit,async e=>{e&&(d(`update:remote-form-submit`,!1),E().catch(()=>{}))}),i(()=>u.remoteFormReset,e=>{if(d(`update:remote-form-reset`,!1),e){if(!h.value)return;h.value.resetFields()}}),i(()=>g.value,e=>{d(`update:remote-form-changed`,e)}),(r,i)=>(e(),l(a(y),{ref_key:`formEl`,ref:h,model:a(m),rules:O,"label-position":`top`,"status-icon":``},{default:n(()=>[v(a(b),{label:a(p)(`usersModule.fields.username.title`),prop:[`username`]},{default:n(()=>[v(a(x),{modelValue:a(m).username,"onUpdate:modelValue":i[0]||=e=>a(m).username=e,name:`username`},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.password.title`),prop:[`password`]},{default:n(()=>[v(a(x),{modelValue:a(m).password,"onUpdate:modelValue":i[1]||=e=>a(m).password=e,name:`password`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.repeatPassword.title`),prop:[`repeatPassword`]},{default:n(()=>[v(a(x),{modelValue:a(m).repeatPassword,"onUpdate:modelValue":i[2]||=e=>a(m).repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(T)),v(a(b),{label:a(p)(`usersModule.fields.email.title`),prop:[`email`]},{default:n(()=>[v(a(x),{modelValue:a(m).email,"onUpdate:modelValue":i[3]||=e=>a(m).email=e,placeholder:a(p)(`usersModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.firstName.title`),prop:[`firstName`]},{default:n(()=>[v(a(x),{modelValue:a(m).firstName,"onUpdate:modelValue":i[4]||=e=>a(m).firstName=e,placeholder:a(p)(`usersModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.lastName.title`),prop:[`lastName`]},{default:n(()=>[v(a(x),{modelValue:a(m).lastName,"onUpdate:modelValue":i[5]||=e=>a(m).lastName=e,placeholder:a(p)(`usersModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(T)),v(a(b),{label:a(p)(`usersModule.fields.role.title`),prop:[`role`]},{default:n(()=>[v(a(C),{modelValue:a(m).role,"onUpdate:modelValue":i[6]||=e=>a(m).role=e,placeholder:a(p)(`usersModule.fields.role.placeholder`),name:`role`},{default:n(()=>[(e(),_(f,null,t(A,e=>v(a(w),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),F=r({name:`UsernameEditForm`,__name:`username-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`],setup(t,{emit:r}){let o=t,u=r,{t:d}=c(),{model:f,formEl:p,submit:m,formResult:g}=j({user:o.user,messages:{success:d(`usersModule.messages.usernameEdited`),error:d(`usersModule.messages.usernameNotEdited`)}}),_=s({username:[{required:!0,message:d(`usersModule.fields.newUsername.validation.required`),trigger:`change`}]});return i(()=>g.value,async e=>{u(`update:remote-form-result`,e)}),i(()=>o.remoteFormSubmit,async e=>{e&&(u(`update:remote-form-submit`,!1),m().catch(()=>{}))}),i(()=>o.remoteFormReset,e=>{if(u(`update:remote-form-reset`,!1),e){if(!p.value)return;p.value.resetFields()}}),(t,r)=>(e(),l(a(y),{ref_key:`formEl`,ref:p,model:a(f),rules:_,"label-position":`top`,"status-icon":``,onSubmit:h(a(m),[`prevent`])},{default:n(()=>[v(a(b),{label:a(d)(`usersModule.fields.newUsername.title`),prop:[`username`]},{default:n(()=>[v(a(x),{modelValue:a(f).username,"onUpdate:modelValue":r[0]||=e=>a(f).username=e,name:`username`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`onSubmit`]))}}),I=r({name:`UserEditForm`,__name:`user-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(r,{emit:h}){let O=r,k=h,{t:j}=c(),{profile:P}=M(),{model:I,formEl:L,formChanged:R,submit:z,formResult:B}=D({user:O.user}),V=p(()=>P.value!==null&&P.value.id===O.user.id||O.user.role===S.owner),H=g(!1),U=g(!1),W=g(A.NONE),G=g(!1),K=g(!1),q=g(!1),J=g(A.NONE),Y=g(!1),X=s({email:[{type:`email`,message:j(`usersModule.fields.email.validation.email`),trigger:`change`}]}),Z=p(()=>{let e=[{value:S.user,label:j(`usersModule.fields.role.options.user`)},{value:S.admin,label:j(`usersModule.fields.role.options.admin`)}];return O.user.role===S.owner&&e.push({value:S.owner,label:j(`usersModule.fields.role.options.owner`)}),e}),Q=()=>{K.value=!0},$=()=>{q.value=!0},ee=()=>{Y.value=!0,K.value=!1},te=()=>{H.value=!0},ne=()=>{U.value=!0},re=()=>{G.value=!0,H.value=!1};return i(()=>B.value,async e=>{k(`update:remote-form-result`,e)}),i(()=>O.remoteFormSubmit,async e=>{e&&(k(`update:remote-form-submit`,!1),z().catch(()=>{}))}),i(()=>O.remoteFormReset,e=>{if(k(`update:remote-form-reset`,!1),e){if(!L.value)return;L.value.resetFields()}}),i(()=>R.value,e=>{k(`update:remote-form-changed`,e)}),i(()=>J.value,e=>{e===A.OK&&(K.value=!1)}),i(()=>W.value,e=>{e===A.OK&&(H.value=!1,I.username=O.user.username)}),(r,i)=>(e(),_(f,null,[v(a(y),{ref_key:`formEl`,ref:L,model:a(I),rules:X,"label-position":`top`,"status-icon":``},{default:n(()=>[v(a(b),{label:a(j)(`usersModule.fields.username.title`),prop:[`username`]},{default:n(()=>[v(a(x),{modelValue:a(I).username,"onUpdate:modelValue":i[0]||=e=>a(I).username=e,name:`username`,readonly:``,disabled:``},{append:n(()=>[v(a(u),{type:`primary`,class:`px-3!`,onClick:te},{icon:n(()=>[v(a(m),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(j)(`usersModule.fields.password.title`),prop:[`password`]},{default:n(()=>[v(a(x),{modelValue:a(I).password,"onUpdate:modelValue":i[1]||=e=>a(I).password=e,name:`password`,type:`password`,readonly:``,disabled:``,"show-password":``},{append:n(()=>[v(a(u),{type:`primary`,class:`px-3!`,onClick:Q},{icon:n(()=>[v(a(m),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),v(a(T)),v(a(b),{label:a(j)(`usersModule.fields.email.title`),prop:[`email`]},{default:n(()=>[v(a(x),{modelValue:a(I).email,"onUpdate:modelValue":i[2]||=e=>a(I).email=e,placeholder:a(j)(`usersModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(j)(`usersModule.fields.firstName.title`),prop:[`firstName`]},{default:n(()=>[v(a(x),{modelValue:a(I).firstName,"onUpdate:modelValue":i[3]||=e=>a(I).firstName=e,placeholder:a(j)(`usersModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(j)(`usersModule.fields.lastName.title`),prop:[`lastName`]},{default:n(()=>[v(a(x),{modelValue:a(I).lastName,"onUpdate:modelValue":i[4]||=e=>a(I).lastName=e,placeholder:a(j)(`usersModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(T)),v(a(b),{label:a(j)(`usersModule.fields.role.title`),prop:[`role`]},{default:n(()=>[v(a(C),{modelValue:a(I).role,"onUpdate:modelValue":i[5]||=e=>a(I).role=e,placeholder:a(j)(`usersModule.fields.role.placeholder`),disabled:V.value,name:`role`},{default:n(()=>[(e(!0),_(f,null,t(Z.value,t=>(e(),l(a(w),{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]),v(a(E),{modelValue:H.value,"onUpdate:modelValue":i[9]||=e=>H.value=e,title:a(j)(`usersModule.headings.changeUsername`)},{footer:n(()=>[v(a(u),{link:``,onClick:re},{default:n(()=>[o(d(a(j)(`usersModule.buttons.cancel.title`)),1)]),_:1}),v(a(u),{type:`primary`,onClick:ne},{default:n(()=>[o(d(a(j)(`usersModule.buttons.change.title`)),1)]),_:1})]),default:n(()=>[v(F,{"remote-form-submit":U.value,"onUpdate:remoteFormSubmit":i[6]||=e=>U.value=e,"remote-form-result":W.value,"onUpdate:remoteFormResult":i[7]||=e=>W.value=e,"remote-form-reset":G.value,"onUpdate:remoteFormReset":i[8]||=e=>G.value=e,user:O.user,class:`mt-4`},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`user`])]),_:1},8,[`modelValue`,`title`]),v(a(E),{modelValue:K.value,"onUpdate:modelValue":i[13]||=e=>K.value=e,title:a(j)(`usersModule.headings.changePassword`)},{footer:n(()=>[v(a(u),{link:``,onClick:ee},{default:n(()=>[o(d(a(j)(`usersModule.buttons.cancel.title`)),1)]),_:1}),v(a(u),{type:`primary`,onClick:$},{default:n(()=>[o(d(a(j)(`usersModule.buttons.change.title`)),1)]),_:1})]),default:n(()=>[v(N,{"remote-form-submit":q.value,"onUpdate:remoteFormSubmit":i[10]||=e=>q.value=e,"remote-form-result":J.value,"onUpdate:remoteFormResult":i[11]||=e=>J.value=e,"remote-form-reset":Y.value,"onUpdate:remoteFormReset":i[12]||=e=>Y.value=e,user:O.user,class:`mt-4`},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`user`])]),_:1},8,[`modelValue`,`title`])],64))}});export{P as n,I as t};
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Br as e,Hr as t,Qr as n,Sr as r,Xr as i,_i as a,br as o,ci as s,d as c,gr as l,h as u,ji as d,lr as f,mr as p,p as m,sr as h,ui as g,vr as _,xr as v}from"./icon-with-child-DmQ_XhQy.js";import{Ii as y,Li as b,Oi as x,Qn as S,Si as C,bi as w,ni as T,ri as E}from"./common-CIDPejpp.js";import{a as D,i as O,o as k,p as A,r as j}from"./composables-DYF0pBqU.js";import{t as M}from"./composables-Z5pQV3eD.js";var N=r({name:`PasswordEditForm`,__name:`password-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`],setup(t,{emit:r}){let o=t,u=r,{t:d}=c(),{model:f,formEl:p,submit:m,formResult:h}=O({user:o.user,messages:{success:d(`usersModule.messages.passwordEdited`),error:d(`usersModule.messages.passwordNotEdited`)}}),g=s({password:[{required:!0,message:d(`usersModule.fields.newPassword.validation.required`),trigger:`change`}],repeatPassword:[{required:!0,message:d(`usersModule.fields.newRepeatPassword.validation.required`),trigger:`change`},{validator:(e,t,n)=>{t===``?n(Error(d(`usersModule.fields.newRepeatPassword.validation.required`))):t===f.password?n():n(Error(d(`usersModule.fields.newRepeatPassword.validation.different`)))},trigger:`blur`}]});return i(()=>h.value,async e=>{u(`update:remote-form-result`,e)}),i(()=>o.remoteFormSubmit,async e=>{e&&(u(`update:remote-form-submit`,!1),m().catch(()=>{}))}),i(()=>o.remoteFormReset,e=>{if(u(`update:remote-form-reset`,!1),e){if(!p.value)return;p.value.resetFields()}}),(t,r)=>(e(),l(a(y),{ref_key:`formEl`,ref:p,model:a(f),rules:g,"label-position":`top`,"status-icon":``,onSubmit:a(m)},{default:n(()=>[v(a(b),{label:a(d)(`usersModule.fields.newPassword.title`),prop:[`password`]},{default:n(()=>[v(a(x),{modelValue:a(f).password,"onUpdate:modelValue":r[0]||=e=>a(f).password=e,name:`password`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(d)(`usersModule.fields.repeatPassword.title`),prop:[`repeatPassword`]},{default:n(()=>[v(a(x),{modelValue:a(f).repeatPassword,"onUpdate:modelValue":r[1]||=e=>a(f).repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`onSubmit`]))}}),P=r({name:`UserAddForm`,__name:`user-add-form`,props:{id:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(r,{emit:o}){let u=r,d=o,{t:p}=c(),{model:m,formEl:h,formChanged:g,submit:E,formResult:D}=k({id:u.id}),O=s({username:[{required:!0,message:p(`usersModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:p(`usersModule.fields.password.validation.required`),trigger:`change`}],repeatPassword:[{required:!0,message:p(`usersModule.fields.repeatPassword.validation.required`),trigger:`change`},{validator:(e,t,n)=>{t===``?n(Error(p(`usersModule.fields.repeatPassword.validation.required`))):t===m.password?n():n(Error(p(`usersModule.fields.repeatPassword.validation.different`)))},trigger:`blur`}],email:[{type:`email`,message:p(`usersModule.fields.email.validation.email`),trigger:`change`}],role:[{required:!0,message:p(`usersModule.fields.role.validation.required`),trigger:`change`}]}),A=[{value:S.user,label:p(`usersModule.fields.role.options.user`)},{value:S.admin,label:p(`usersModule.fields.role.options.admin`)}];return i(()=>D.value,async e=>{d(`update:remote-form-result`,e)}),i(()=>u.remoteFormSubmit,async e=>{e&&(d(`update:remote-form-submit`,!1),E().catch(()=>{}))}),i(()=>u.remoteFormReset,e=>{if(d(`update:remote-form-reset`,!1),e){if(!h.value)return;h.value.resetFields()}}),i(()=>g.value,e=>{d(`update:remote-form-changed`,e)}),(r,i)=>(e(),l(a(y),{ref_key:`formEl`,ref:h,model:a(m),rules:O,"label-position":`top`,"status-icon":``},{default:n(()=>[v(a(b),{label:a(p)(`usersModule.fields.username.title`),prop:[`username`]},{default:n(()=>[v(a(x),{modelValue:a(m).username,"onUpdate:modelValue":i[0]||=e=>a(m).username=e,name:`username`},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.password.title`),prop:[`password`]},{default:n(()=>[v(a(x),{modelValue:a(m).password,"onUpdate:modelValue":i[1]||=e=>a(m).password=e,name:`password`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.repeatPassword.title`),prop:[`repeatPassword`]},{default:n(()=>[v(a(x),{modelValue:a(m).repeatPassword,"onUpdate:modelValue":i[2]||=e=>a(m).repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(T)),v(a(b),{label:a(p)(`usersModule.fields.email.title`),prop:[`email`]},{default:n(()=>[v(a(x),{modelValue:a(m).email,"onUpdate:modelValue":i[3]||=e=>a(m).email=e,placeholder:a(p)(`usersModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.firstName.title`),prop:[`firstName`]},{default:n(()=>[v(a(x),{modelValue:a(m).firstName,"onUpdate:modelValue":i[4]||=e=>a(m).firstName=e,placeholder:a(p)(`usersModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.lastName.title`),prop:[`lastName`]},{default:n(()=>[v(a(x),{modelValue:a(m).lastName,"onUpdate:modelValue":i[5]||=e=>a(m).lastName=e,placeholder:a(p)(`usersModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(T)),v(a(b),{label:a(p)(`usersModule.fields.role.title`),prop:[`role`]},{default:n(()=>[v(a(C),{modelValue:a(m).role,"onUpdate:modelValue":i[6]||=e=>a(m).role=e,placeholder:a(p)(`usersModule.fields.role.placeholder`),name:`role`},{default:n(()=>[(e(),_(f,null,t(A,e=>v(a(w),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),F=r({name:`UsernameEditForm`,__name:`username-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`],setup(t,{emit:r}){let o=t,u=r,{t:d}=c(),{model:f,formEl:p,submit:m,formResult:g}=j({user:o.user,messages:{success:d(`usersModule.messages.usernameEdited`),error:d(`usersModule.messages.usernameNotEdited`)}}),_=s({username:[{required:!0,message:d(`usersModule.fields.newUsername.validation.required`),trigger:`change`}]});return i(()=>g.value,async e=>{u(`update:remote-form-result`,e)}),i(()=>o.remoteFormSubmit,async e=>{e&&(u(`update:remote-form-submit`,!1),m().catch(()=>{}))}),i(()=>o.remoteFormReset,e=>{if(u(`update:remote-form-reset`,!1),e){if(!p.value)return;p.value.resetFields()}}),(t,r)=>(e(),l(a(y),{ref_key:`formEl`,ref:p,model:a(f),rules:_,"label-position":`top`,"status-icon":``,onSubmit:h(a(m),[`prevent`])},{default:n(()=>[v(a(b),{label:a(d)(`usersModule.fields.newUsername.title`),prop:[`username`]},{default:n(()=>[v(a(x),{modelValue:a(f).username,"onUpdate:modelValue":r[0]||=e=>a(f).username=e,name:`username`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`onSubmit`]))}}),I=r({name:`UserEditForm`,__name:`user-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(r,{emit:h}){let O=r,k=h,{t:j}=c(),{profile:P}=M(),{model:I,formEl:L,formChanged:R,submit:z,formResult:B}=D({user:O.user}),V=p(()=>P.value!==null&&P.value.id===O.user.id||O.user.role===S.owner),H=g(!1),U=g(!1),W=g(A.NONE),G=g(!1),K=g(!1),q=g(!1),J=g(A.NONE),Y=g(!1),X=s({email:[{type:`email`,message:j(`usersModule.fields.email.validation.email`),trigger:`change`}]}),Z=p(()=>{let e=[{value:S.user,label:j(`usersModule.fields.role.options.user`)},{value:S.admin,label:j(`usersModule.fields.role.options.admin`)}];return O.user.role===S.owner&&e.push({value:S.owner,label:j(`usersModule.fields.role.options.owner`)}),e}),Q=()=>{K.value=!0},$=()=>{q.value=!0},ee=()=>{Y.value=!0,K.value=!1},te=()=>{H.value=!0},ne=()=>{U.value=!0},re=()=>{G.value=!0,H.value=!1};return i(()=>B.value,async e=>{k(`update:remote-form-result`,e)}),i(()=>O.remoteFormSubmit,async e=>{e&&(k(`update:remote-form-submit`,!1),z().catch(()=>{}))}),i(()=>O.remoteFormReset,e=>{if(k(`update:remote-form-reset`,!1),e){if(!L.value)return;L.value.resetFields()}}),i(()=>R.value,e=>{k(`update:remote-form-changed`,e)}),i(()=>J.value,e=>{e===A.OK&&(K.value=!1)}),i(()=>W.value,e=>{e===A.OK&&(H.value=!1,I.username=O.user.username)}),(r,i)=>(e(),_(f,null,[v(a(y),{ref_key:`formEl`,ref:L,model:a(I),rules:X,"label-position":`top`,"status-icon":``},{default:n(()=>[v(a(b),{label:a(j)(`usersModule.fields.username.title`),prop:[`username`]},{default:n(()=>[v(a(x),{modelValue:a(I).username,"onUpdate:modelValue":i[0]||=e=>a(I).username=e,name:`username`,readonly:``,disabled:``},{append:n(()=>[v(a(u),{type:`primary`,class:`px-3!`,onClick:te},{icon:n(()=>[v(a(m),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(j)(`usersModule.fields.password.title`),prop:[`password`]},{default:n(()=>[v(a(x),{modelValue:a(I).password,"onUpdate:modelValue":i[1]||=e=>a(I).password=e,name:`password`,type:`password`,readonly:``,disabled:``,"show-password":``},{append:n(()=>[v(a(u),{type:`primary`,class:`px-3!`,onClick:Q},{icon:n(()=>[v(a(m),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),v(a(T)),v(a(b),{label:a(j)(`usersModule.fields.email.title`),prop:[`email`]},{default:n(()=>[v(a(x),{modelValue:a(I).email,"onUpdate:modelValue":i[2]||=e=>a(I).email=e,placeholder:a(j)(`usersModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(j)(`usersModule.fields.firstName.title`),prop:[`firstName`]},{default:n(()=>[v(a(x),{modelValue:a(I).firstName,"onUpdate:modelValue":i[3]||=e=>a(I).firstName=e,placeholder:a(j)(`usersModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(j)(`usersModule.fields.lastName.title`),prop:[`lastName`]},{default:n(()=>[v(a(x),{modelValue:a(I).lastName,"onUpdate:modelValue":i[4]||=e=>a(I).lastName=e,placeholder:a(j)(`usersModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(T)),v(a(b),{label:a(j)(`usersModule.fields.role.title`),prop:[`role`]},{default:n(()=>[v(a(C),{modelValue:a(I).role,"onUpdate:modelValue":i[5]||=e=>a(I).role=e,placeholder:a(j)(`usersModule.fields.role.placeholder`),disabled:V.value,name:`role`},{default:n(()=>[(e(!0),_(f,null,t(Z.value,t=>(e(),l(a(w),{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]),v(a(E),{modelValue:H.value,"onUpdate:modelValue":i[9]||=e=>H.value=e,title:a(j)(`usersModule.headings.changeUsername`)},{footer:n(()=>[v(a(u),{link:``,onClick:re},{default:n(()=>[o(d(a(j)(`usersModule.buttons.cancel.title`)),1)]),_:1}),v(a(u),{type:`primary`,onClick:ne},{default:n(()=>[o(d(a(j)(`usersModule.buttons.change.title`)),1)]),_:1})]),default:n(()=>[v(F,{"remote-form-submit":U.value,"onUpdate:remoteFormSubmit":i[6]||=e=>U.value=e,"remote-form-result":W.value,"onUpdate:remoteFormResult":i[7]||=e=>W.value=e,"remote-form-reset":G.value,"onUpdate:remoteFormReset":i[8]||=e=>G.value=e,user:O.user,class:`mt-4`},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`user`])]),_:1},8,[`modelValue`,`title`]),v(a(E),{modelValue:K.value,"onUpdate:modelValue":i[13]||=e=>K.value=e,title:a(j)(`usersModule.headings.changePassword`)},{footer:n(()=>[v(a(u),{link:``,onClick:ee},{default:n(()=>[o(d(a(j)(`usersModule.buttons.cancel.title`)),1)]),_:1}),v(a(u),{type:`primary`,onClick:$},{default:n(()=>[o(d(a(j)(`usersModule.buttons.change.title`)),1)]),_:1})]),default:n(()=>[v(N,{"remote-form-submit":q.value,"onUpdate:remoteFormSubmit":i[10]||=e=>q.value=e,"remote-form-result":J.value,"onUpdate:remoteFormResult":i[11]||=e=>J.value=e,"remote-form-reset":Y.value,"onUpdate:remoteFormReset":i[12]||=e=>Y.value=e,user:O.user,class:`mt-4`},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`user`])]),_:1},8,[`modelValue`,`title`])],64))}});export{P as n,I as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-DECur_0Z.js";import{Br as e,Hr as t,Lr as n,Qr as r,Sr as i,Xr as a,_i as o,br as s,c,ci as l,d as u,gr as d,h as f,hr as p,ji as m,lr as h,or as g,sr as _,ui as v,vr as y,xr as b}from"./icon-with-child-DmQ_XhQy.js";import{$t as x,Ii as S,K as C,Li as w,Oi as T,Or as E,Si as D,T as O,_ as k,at as A,bi as j,ot as M}from"./common-BRnJNE_Q.js";import{a as N,l as P,s as F}from"./auth.constants-BtlHaDRV.js";var I=i({name:`SettingsProfileForm`,__name:`settings-profile-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:F.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(n,{emit:i}){let s=n,c=i,{t:f,locale:p}=u(),m=k(),g=O().getStore(x),_=v(void 0),E=l({email:[{required:!1,message:f(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:f(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!1,message:f(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!1,message:f(`authModule.fields.lastName.validation.required`),trigger:`change`}]}),P=M,I=e=>e?A[e]??null:null,L=e=>e?e.split(`-`)[0]:null,R=l({email:s.profile.email??`@`,firstName:s.profile.firstName,lastName:s.profile.lastName,language:I(s.profile.language??null)}),z,B=()=>{window.clearTimeout(z),c(`update:remoteFormResult`,N.NONE)};return a(()=>s.remoteFormSubmit,async e=>{e&&(c(`update:remoteFormSubmit`,!1),_.value.clearValidate(),_.value.validate(async e=>{if(!e)return;c(`update:remoteFormResult`,N.WORKING);let t=f(`authModule.messages.profileNotEdited`);try{await g.edit({id:s.profile.id,data:{firstName:R.firstName,lastName:R.lastName,email:R.email,language:L(R.language)}}),R.language&&(p.value=R.language,C(R.language)),c(`update:remoteFormResult`,N.OK),m.success(f(`authModule.messages.profileEdited`)),z=window.setTimeout(B,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?m.exception(t):m.error(t),c(`update:remoteFormResult`,N.ERROR),z=window.setTimeout(B,2e3)}}))}),a(()=>s.remoteFormReset,e=>{c(`update:remoteFormReset`,!1),e&&(R.email=s.profile.email??`@`,R.firstName=s.profile.firstName,R.lastName=s.profile.lastName,R.language=I(s.profile.language??null))}),(n,i)=>(e(),d(o(S),{ref_key:`profileFormEl`,ref:_,model:R,rules:E,"label-position":s.layout===o(F).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:r(()=>[b(o(w),{label:o(f)(`authModule.fields.email.title`),prop:`email`},{default:r(()=>[b(o(T),{modelValue:R.email,"onUpdate:modelValue":i[0]||=e=>R.email=e,name:`email`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(f)(`authModule.fields.firstName.title`),prop:`firstName`},{default:r(()=>[b(o(T),{modelValue:R.firstName,"onUpdate:modelValue":i[1]||=e=>R.firstName=e,name:`firstName`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(f)(`authModule.fields.lastName.title`),prop:`lastName`},{default:r(()=>[b(o(T),{modelValue:R.lastName,"onUpdate:modelValue":i[2]||=e=>R.lastName=e,name:`lastName`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(f)(`authModule.fields.language.title`),prop:`language`},{default:r(()=>[b(o(D),{modelValue:R.language,"onUpdate:modelValue":i[3]||=e=>R.language=e,placeholder:o(f)(`authModule.fields.language.placeholder`),clearable:``},{default:r(()=>[(e(!0),y(h,null,t(o(P),t=>(e(),d(o(j),{key:t.value,label:`${t.flag} ${t.label}`,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),L=i({name:`SettingsPasswordForm`,__name:`settings-password-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:F.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let i=t,s=n,{t:c}=u(),f=k(),p=O().getStore(x),m=v(void 0),h=l({currentPassword:[{required:!0,message:c(`authModule.fields.currentPassword.validation.required`),trigger:`change`}],newPassword:[{required:!0,message:c(`authModule.fields.newPassword.validation.required`),trigger:`change`}],repeatPassword:[{validator:(e,t,n)=>{t===``?n(Error(c(`authModule.fields.repeatPassword.validation.required`))):t===g.newPassword?n():n(Error(c(`authModule.fields.repeatPassword.validation.different`)))},trigger:`change`}]}),g=l({currentPassword:``,newPassword:``,repeatPassword:``}),_,y=()=>{window.clearTimeout(_),s(`update:remoteFormResult`,N.NONE)};return a(()=>i.remoteFormSubmit,async e=>{e&&(s(`update:remoteFormSubmit`,!1),m.value.clearValidate(),m.value.validate(async e=>{if(!e)return;s(`update:remoteFormResult`,N.WORKING);let t=c(`authModule.messages.passwordNotEdited`);try{await p.edit({id:i.profile.id,data:{password:{current:g.currentPassword,new:g.newPassword}}}),s(`update:remoteFormResult`,N.OK),f.success(c(`authModule.messages.passwordEdited`)),_=window.setTimeout(y,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?f.exception(t):f.error(t),s(`update:remoteFormResult`,N.ERROR),_=window.setTimeout(y,2e3)}}))}),a(()=>i.remoteFormReset,e=>{s(`update:remoteFormReset`,!1),e&&(m.value?.resetFields(),g.currentPassword=``,g.newPassword=``,g.repeatPassword=``)}),(t,n)=>(e(),d(o(S),{ref_key:`passwordFormEl`,ref:m,model:g,rules:h,"label-position":i.layout===o(F).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:r(()=>[b(o(w),{label:o(c)(`authModule.fields.currentPassword.title`),prop:`currentPassword`},{default:r(()=>[b(o(T),{modelValue:g.currentPassword,"onUpdate:modelValue":n[0]||=e=>g.currentPassword=e,name:`currentPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(c)(`authModule.fields.newPassword.title`),prop:`newPassword`},{default:r(()=>[b(o(T),{modelValue:g.newPassword,"onUpdate:modelValue":n[1]||=e=>g.newPassword=e,name:`newPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(c)(`authModule.fields.repeatPassword.title`),prop:`repeatPassword`},{default:r(()=>[b(o(T),{modelValue:g.repeatPassword,"onUpdate:modelValue":n[2]||=e=>g.repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),R=i({name:`SignInForm`,__name:`sign-in-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let i=t,c=n,{t:p}=u(),h=k(),y=O().getStore(x),C=v(void 0),E=v(void 0),D=l({username:[{required:!0,message:p(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:p(`authModule.fields.password.validation.required`),trigger:`change`}]}),A=l({username:``,password:``}),j=async e=>{e&&await e.validate(async e=>{if(e){c(`update:remoteFormResult`,N.WORKING);try{await y.create({data:{username:A.username,password:A.password}}),c(`update:remoteFormResult`,N.OK)}catch(e){c(`update:remoteFormResult`,N.ERROR);let t=p(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?h.exception(t):h.error(t)}}})},M=()=>{E.value?.focus()},P=()=>{j(C.value)};return a(()=>i.remoteFormReset,e=>{if(c(`update:remoteFormReset`,!1),e){if(!C.value)return;C.value.resetFields()}}),(t,n)=>(e(),d(o(S),{ref_key:`signFormEl`,ref:C,model:A,rules:D,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:_(j,[`prevent`])},{default:r(()=>[b(o(w),{label:o(p)(`authModule.fields.username.title`),prop:`username`,class:`mb-5`},{default:r(()=>[b(o(T),{modelValue:A.username,"onUpdate:modelValue":n[0]||=e=>A.username=e,name:`username`,onKeyup:g(M,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(p)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:r(()=>[b(o(T),{ref_key:`passwordInputEl`,ref:E,modelValue:A.password,"onUpdate:modelValue":n[1]||=e=>A.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:g(P,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(f),{type:`primary`,size:`large`,class:`block w-full`,onClick:n[2]||=e=>j(C.value)},{default:r(()=>[s(m(o(p)(`authModule.buttons.signIn.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]))}}),z={class:`flex flex-row flex-nowrap gap-5`},B={class:`mb-5`},V={class:`mb-5`},H={class:`mb-10`},U={class:`mt-5 px-5`},W=i({name:`SignUpForm`,__name:`sign-up-form`,props:{remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let i=t,d=n,{t:g}=u(),C=k(),E=c(),D=O().getStore(x),A=v(void 0),j=l({email:[{required:!0,message:g(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:g(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!0,message:g(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!0,message:g(`authModule.fields.lastName.validation.required`),trigger:`change`}],username:[{required:!0,message:g(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:g(`authModule.fields.password.validation.required`),trigger:`change`}]}),M=l({username:``,password:``,email:``,firstName:``,lastName:``}),F=async e=>{e&&await e.validate(async e=>{if(e){d(`update:remoteFormResult`,N.WORKING);try{await D.register({data:{username:M.username,password:M.password,firstName:M.firstName,lastName:M.lastName,email:M.email}}),d(`update:remoteFormResult`,N.OK)}catch(e){d(`update:remoteFormResult`,N.ERROR);let t=g(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?C.exception(t):C.error(t)}}})},I=()=>{E.push({name:P.SIGN_IN})};return a(()=>i.remoteFormReset,e=>{if(d(`update:remoteFormReset`,!1),e){if(!A.value)return;A.value.resetFields()}}),(t,n)=>(e(),y(h,null,[b(o(S),{ref_key:`signFormEl`,ref:A,model:M,rules:j,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:_(F,[`prevent`])},{default:r(()=>[p(`div`,z,[b(o(w),{label:o(g)(`authModule.fields.firstName.title`),prop:`firstName`},{default:r(()=>[b(o(T),{modelValue:M.firstName,"onUpdate:modelValue":n[0]||=e=>M.firstName=e,placeholder:o(g)(`authModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(o(w),{label:o(g)(`authModule.fields.lastName.title`),prop:`lastName`},{default:r(()=>[b(o(T),{modelValue:M.lastName,"onUpdate:modelValue":n[1]||=e=>M.lastName=e,palceholder:o(g)(`authModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),p(`div`,B,[b(o(w),{label:o(g)(`authModule.fields.email.title`),prop:`email`},{default:r(()=>[b(o(T),{modelValue:M.email,"onUpdate:modelValue":n[2]||=e=>M.email=e,palceholder:o(g)(`authModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),p(`div`,V,[b(o(w),{label:o(g)(`authModule.fields.username.title`),prop:`username`},{default:r(()=>[b(o(T),{modelValue:M.username,"onUpdate:modelValue":n[3]||=e=>M.username=e,"show-password":``,name:`username`,type:`text`},null,8,[`modelValue`])]),_:1},8,[`label`])]),p(`div`,H,[b(o(w),{label:o(g)(`authModule.fields.password.title`),prop:`password`},{default:r(()=>[b(o(T),{modelValue:M.password,"onUpdate:modelValue":n[4]||=e=>M.password=e,"show-password":``,name:`password`,type:`password`},null,8,[`modelValue`])]),_:1},8,[`label`])]),b(o(f),{type:`primary`,size:`large`,class:`block w-full`,onClick:n[5]||=e=>F(A.value)},{default:r(()=>[s(m(o(g)(`authModule.buttons.signUp.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]),p(`div`,U,[b(o(f),{class:`block w-full`,onClick:n[6]||=e=>I()},{default:r(()=>[s(m(o(g)(`authModule.buttons.backToSignIn.title`)),1)]),_:1})])],64))}}),G={class:`flex flex-row justify-center items-center mt-4`},K=i({name:`UnlockForm`,__name:`unlock-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`,`signOut`],setup(t,{emit:i}){let c=t,h=i,{t:y}=u(),x=k(),C=E(),D=v(void 0),O=v(void 0),A=l({password:[{required:!0,message:y(`authModule.fields.password.validation.required`),trigger:`change`}]}),j=l({password:``}),M=async e=>{e&&await e.validate(async e=>{if(e){let e=C?.details.value?.username;if(!e){h(`update:remoteFormResult`,N.ERROR),x.error(y(`authModule.messages.requestError`));return}h(`update:remoteFormResult`,N.WORKING);try{await C.signIn({username:e,password:j.password})?h(`update:remoteFormResult`,N.OK):(h(`update:remoteFormResult`,N.ERROR),x.error(y(`authModule.messages.invalidPassword`)))}catch{h(`update:remoteFormResult`,N.ERROR),x.error(y(`authModule.messages.invalidPassword`))}}})},P=()=>{h(`signOut`)};return n(()=>{O.value?.focus()}),a(()=>c.remoteFormReset,e=>{if(h(`update:remoteFormReset`,!1),e){if(!D.value)return;D.value.resetFields()}}),(t,n)=>(e(),d(o(S),{ref_key:`unlockFormEl`,ref:D,model:j,rules:A,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:_(M,[`prevent`])},{default:r(()=>[b(o(w),{label:o(y)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:r(()=>[b(o(T),{ref_key:`passwordInputEl`,ref:O,modelValue:j.password,"onUpdate:modelValue":n[0]||=e=>j.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:n[1]||=g(e=>M(D.value),[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(f),{type:`primary`,size:`large`,class:`block w-full mb-3`,onClick:n[2]||=e=>M(D.value)},{default:r(()=>[s(m(o(y)(`authModule.buttons.unlock.title`)),1)]),_:1}),p(`div`,G,[b(o(f),{type:`danger`,link:``,onClick:P},{default:r(()=>[s(m(o(y)(`authModule.buttons.signOut.title`)),1)]),_:1})])]),_:1},8,[`model`,`rules`]))}});export{I as a,L as i,W as n,R as r,K as t};
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Br as e,Hr as t,Lr as n,Qr as r,Sr as i,Xr as a,_i as o,br as s,c,ci as l,d as u,gr as d,h as f,hr as p,ji as m,lr as h,or as g,sr as _,ui as v,vr as y,xr as b}from"./icon-with-child-DmQ_XhQy.js";import{$t as x,Ii as S,K as C,Li as w,Oi as T,Or as E,Si as D,T as O,_ as k,at as A,bi as j,ot as M}from"./common-CIDPejpp.js";import{a as N,l as P,s as F}from"./auth.constants-BtlHaDRV.js";var I=i({name:`SettingsProfileForm`,__name:`settings-profile-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:F.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(n,{emit:i}){let s=n,c=i,{t:f,locale:p}=u(),m=k(),g=O().getStore(x),_=v(void 0),E=l({email:[{required:!1,message:f(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:f(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!1,message:f(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!1,message:f(`authModule.fields.lastName.validation.required`),trigger:`change`}]}),P=M,I=e=>e?A[e]??null:null,L=e=>e?e.split(`-`)[0]:null,R=l({email:s.profile.email??`@`,firstName:s.profile.firstName,lastName:s.profile.lastName,language:I(s.profile.language??null)}),z,B=()=>{window.clearTimeout(z),c(`update:remoteFormResult`,N.NONE)};return a(()=>s.remoteFormSubmit,async e=>{e&&(c(`update:remoteFormSubmit`,!1),_.value.clearValidate(),_.value.validate(async e=>{if(!e)return;c(`update:remoteFormResult`,N.WORKING);let t=f(`authModule.messages.profileNotEdited`);try{await g.edit({id:s.profile.id,data:{firstName:R.firstName,lastName:R.lastName,email:R.email,language:L(R.language)}}),R.language&&(p.value=R.language,C(R.language)),c(`update:remoteFormResult`,N.OK),m.success(f(`authModule.messages.profileEdited`)),z=window.setTimeout(B,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?m.exception(t):m.error(t),c(`update:remoteFormResult`,N.ERROR),z=window.setTimeout(B,2e3)}}))}),a(()=>s.remoteFormReset,e=>{c(`update:remoteFormReset`,!1),e&&(R.email=s.profile.email??`@`,R.firstName=s.profile.firstName,R.lastName=s.profile.lastName,R.language=I(s.profile.language??null))}),(n,i)=>(e(),d(o(S),{ref_key:`profileFormEl`,ref:_,model:R,rules:E,"label-position":s.layout===o(F).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:r(()=>[b(o(w),{label:o(f)(`authModule.fields.email.title`),prop:`email`},{default:r(()=>[b(o(T),{modelValue:R.email,"onUpdate:modelValue":i[0]||=e=>R.email=e,name:`email`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(f)(`authModule.fields.firstName.title`),prop:`firstName`},{default:r(()=>[b(o(T),{modelValue:R.firstName,"onUpdate:modelValue":i[1]||=e=>R.firstName=e,name:`firstName`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(f)(`authModule.fields.lastName.title`),prop:`lastName`},{default:r(()=>[b(o(T),{modelValue:R.lastName,"onUpdate:modelValue":i[2]||=e=>R.lastName=e,name:`lastName`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(f)(`authModule.fields.language.title`),prop:`language`},{default:r(()=>[b(o(D),{modelValue:R.language,"onUpdate:modelValue":i[3]||=e=>R.language=e,placeholder:o(f)(`authModule.fields.language.placeholder`),clearable:``},{default:r(()=>[(e(!0),y(h,null,t(o(P),t=>(e(),d(o(j),{key:t.value,label:`${t.flag} ${t.label}`,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),L=i({name:`SettingsPasswordForm`,__name:`settings-password-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:F.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let i=t,s=n,{t:c}=u(),f=k(),p=O().getStore(x),m=v(void 0),h=l({currentPassword:[{required:!0,message:c(`authModule.fields.currentPassword.validation.required`),trigger:`change`}],newPassword:[{required:!0,message:c(`authModule.fields.newPassword.validation.required`),trigger:`change`}],repeatPassword:[{validator:(e,t,n)=>{t===``?n(Error(c(`authModule.fields.repeatPassword.validation.required`))):t===g.newPassword?n():n(Error(c(`authModule.fields.repeatPassword.validation.different`)))},trigger:`change`}]}),g=l({currentPassword:``,newPassword:``,repeatPassword:``}),_,y=()=>{window.clearTimeout(_),s(`update:remoteFormResult`,N.NONE)};return a(()=>i.remoteFormSubmit,async e=>{e&&(s(`update:remoteFormSubmit`,!1),m.value.clearValidate(),m.value.validate(async e=>{if(!e)return;s(`update:remoteFormResult`,N.WORKING);let t=c(`authModule.messages.passwordNotEdited`);try{await p.edit({id:i.profile.id,data:{password:{current:g.currentPassword,new:g.newPassword}}}),s(`update:remoteFormResult`,N.OK),f.success(c(`authModule.messages.passwordEdited`)),_=window.setTimeout(y,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?f.exception(t):f.error(t),s(`update:remoteFormResult`,N.ERROR),_=window.setTimeout(y,2e3)}}))}),a(()=>i.remoteFormReset,e=>{s(`update:remoteFormReset`,!1),e&&(m.value?.resetFields(),g.currentPassword=``,g.newPassword=``,g.repeatPassword=``)}),(t,n)=>(e(),d(o(S),{ref_key:`passwordFormEl`,ref:m,model:g,rules:h,"label-position":i.layout===o(F).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:r(()=>[b(o(w),{label:o(c)(`authModule.fields.currentPassword.title`),prop:`currentPassword`},{default:r(()=>[b(o(T),{modelValue:g.currentPassword,"onUpdate:modelValue":n[0]||=e=>g.currentPassword=e,name:`currentPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(c)(`authModule.fields.newPassword.title`),prop:`newPassword`},{default:r(()=>[b(o(T),{modelValue:g.newPassword,"onUpdate:modelValue":n[1]||=e=>g.newPassword=e,name:`newPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(c)(`authModule.fields.repeatPassword.title`),prop:`repeatPassword`},{default:r(()=>[b(o(T),{modelValue:g.repeatPassword,"onUpdate:modelValue":n[2]||=e=>g.repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),R=i({name:`SignInForm`,__name:`sign-in-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let i=t,c=n,{t:p}=u(),h=k(),y=O().getStore(x),C=v(void 0),E=v(void 0),D=l({username:[{required:!0,message:p(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:p(`authModule.fields.password.validation.required`),trigger:`change`}]}),A=l({username:``,password:``}),j=async e=>{e&&await e.validate(async e=>{if(e){c(`update:remoteFormResult`,N.WORKING);try{await y.create({data:{username:A.username,password:A.password}}),c(`update:remoteFormResult`,N.OK)}catch(e){c(`update:remoteFormResult`,N.ERROR);let t=p(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?h.exception(t):h.error(t)}}})},M=()=>{E.value?.focus()},P=()=>{j(C.value)};return a(()=>i.remoteFormReset,e=>{if(c(`update:remoteFormReset`,!1),e){if(!C.value)return;C.value.resetFields()}}),(t,n)=>(e(),d(o(S),{ref_key:`signFormEl`,ref:C,model:A,rules:D,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:_(j,[`prevent`])},{default:r(()=>[b(o(w),{label:o(p)(`authModule.fields.username.title`),prop:`username`,class:`mb-5`},{default:r(()=>[b(o(T),{modelValue:A.username,"onUpdate:modelValue":n[0]||=e=>A.username=e,name:`username`,onKeyup:g(M,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(p)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:r(()=>[b(o(T),{ref_key:`passwordInputEl`,ref:E,modelValue:A.password,"onUpdate:modelValue":n[1]||=e=>A.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:g(P,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(f),{type:`primary`,size:`large`,class:`block w-full`,onClick:n[2]||=e=>j(C.value)},{default:r(()=>[s(m(o(p)(`authModule.buttons.signIn.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]))}}),z={class:`flex flex-row flex-nowrap gap-5`},B={class:`mb-5`},V={class:`mb-5`},H={class:`mb-10`},U={class:`mt-5 px-5`},W=i({name:`SignUpForm`,__name:`sign-up-form`,props:{remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let i=t,d=n,{t:g}=u(),C=k(),E=c(),D=O().getStore(x),A=v(void 0),j=l({email:[{required:!0,message:g(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:g(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!0,message:g(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!0,message:g(`authModule.fields.lastName.validation.required`),trigger:`change`}],username:[{required:!0,message:g(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:g(`authModule.fields.password.validation.required`),trigger:`change`}]}),M=l({username:``,password:``,email:``,firstName:``,lastName:``}),F=async e=>{e&&await e.validate(async e=>{if(e){d(`update:remoteFormResult`,N.WORKING);try{await D.register({data:{username:M.username,password:M.password,firstName:M.firstName,lastName:M.lastName,email:M.email}}),d(`update:remoteFormResult`,N.OK)}catch(e){d(`update:remoteFormResult`,N.ERROR);let t=g(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?C.exception(t):C.error(t)}}})},I=()=>{E.push({name:P.SIGN_IN})};return a(()=>i.remoteFormReset,e=>{if(d(`update:remoteFormReset`,!1),e){if(!A.value)return;A.value.resetFields()}}),(t,n)=>(e(),y(h,null,[b(o(S),{ref_key:`signFormEl`,ref:A,model:M,rules:j,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:_(F,[`prevent`])},{default:r(()=>[p(`div`,z,[b(o(w),{label:o(g)(`authModule.fields.firstName.title`),prop:`firstName`},{default:r(()=>[b(o(T),{modelValue:M.firstName,"onUpdate:modelValue":n[0]||=e=>M.firstName=e,placeholder:o(g)(`authModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(o(w),{label:o(g)(`authModule.fields.lastName.title`),prop:`lastName`},{default:r(()=>[b(o(T),{modelValue:M.lastName,"onUpdate:modelValue":n[1]||=e=>M.lastName=e,palceholder:o(g)(`authModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),p(`div`,B,[b(o(w),{label:o(g)(`authModule.fields.email.title`),prop:`email`},{default:r(()=>[b(o(T),{modelValue:M.email,"onUpdate:modelValue":n[2]||=e=>M.email=e,palceholder:o(g)(`authModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),p(`div`,V,[b(o(w),{label:o(g)(`authModule.fields.username.title`),prop:`username`},{default:r(()=>[b(o(T),{modelValue:M.username,"onUpdate:modelValue":n[3]||=e=>M.username=e,"show-password":``,name:`username`,type:`text`},null,8,[`modelValue`])]),_:1},8,[`label`])]),p(`div`,H,[b(o(w),{label:o(g)(`authModule.fields.password.title`),prop:`password`},{default:r(()=>[b(o(T),{modelValue:M.password,"onUpdate:modelValue":n[4]||=e=>M.password=e,"show-password":``,name:`password`,type:`password`},null,8,[`modelValue`])]),_:1},8,[`label`])]),b(o(f),{type:`primary`,size:`large`,class:`block w-full`,onClick:n[5]||=e=>F(A.value)},{default:r(()=>[s(m(o(g)(`authModule.buttons.signUp.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]),p(`div`,U,[b(o(f),{class:`block w-full`,onClick:n[6]||=e=>I()},{default:r(()=>[s(m(o(g)(`authModule.buttons.backToSignIn.title`)),1)]),_:1})])],64))}}),G={class:`flex flex-row justify-center items-center mt-4`},K=i({name:`UnlockForm`,__name:`unlock-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`,`signOut`],setup(t,{emit:i}){let c=t,h=i,{t:y}=u(),x=k(),C=E(),D=v(void 0),O=v(void 0),A=l({password:[{required:!0,message:y(`authModule.fields.password.validation.required`),trigger:`change`}]}),j=l({password:``}),M=async e=>{e&&await e.validate(async e=>{if(e){let e=C?.details.value?.username;if(!e){h(`update:remoteFormResult`,N.ERROR),x.error(y(`authModule.messages.requestError`));return}h(`update:remoteFormResult`,N.WORKING);try{await C.signIn({username:e,password:j.password})?h(`update:remoteFormResult`,N.OK):(h(`update:remoteFormResult`,N.ERROR),x.error(y(`authModule.messages.invalidPassword`)))}catch{h(`update:remoteFormResult`,N.ERROR),x.error(y(`authModule.messages.invalidPassword`))}}})},P=()=>{h(`signOut`)};return n(()=>{O.value?.focus()}),a(()=>c.remoteFormReset,e=>{if(h(`update:remoteFormReset`,!1),e){if(!D.value)return;D.value.resetFields()}}),(t,n)=>(e(),d(o(S),{ref_key:`unlockFormEl`,ref:D,model:j,rules:A,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:_(M,[`prevent`])},{default:r(()=>[b(o(w),{label:o(y)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:r(()=>[b(o(T),{ref_key:`passwordInputEl`,ref:O,modelValue:j.password,"onUpdate:modelValue":n[0]||=e=>j.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:n[1]||=g(e=>M(D.value),[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(f),{type:`primary`,size:`large`,class:`block w-full mb-3`,onClick:n[2]||=e=>M(D.value)},{default:r(()=>[s(m(o(y)(`authModule.buttons.unlock.title`)),1)]),_:1}),p(`div`,G,[b(o(f),{type:`danger`,link:``,onClick:P},{default:r(()=>[s(m(o(y)(`authModule.buttons.signOut.title`)),1)]),_:1})])]),_:1},8,[`model`,`rules`]))}});export{I as a,L as i,W as n,R as r,K as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-DECur_0Z.js";import{Dr as e,Vr as t,Xr as n,d as r,hi as i,mr as a,n as o,si as s,ui as c}from"./icon-with-child-DmQ_XhQy.js";import{Mn as l,S as u,T as d,Wn as f,Wr as p,_ as m,cn as h,cr as g,f as _,ln as v,pn as y,qn as b,wt as x,xa as S,y as C}from"./common-
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Dr as e,Vr as t,Xr as n,d as r,hi as i,mr as a,n as o,si as s,ui as c}from"./icon-with-child-DmQ_XhQy.js";import{Mn as l,S as u,T as d,Wn as f,Wr as p,_ as m,cn as h,cr as g,f as _,ln as v,pn as y,qn as b,wt as x,xa as S,y as C}from"./common-CIDPejpp.js";import{n as w}from"./logs-entries.transformers-Drbr4HKr.js";import{n as T,r as E,t as D}from"./extensions.constants-zRRiNzmt.js";var O=class e extends Error{exception;constructor(t,n=null){super(t),this.name=`ExtensionsException`,this.exception=n,Object.setPrototypeOf(this,e.prototype)}},k=class e extends O{code;constructor(t,n=null){super(t),this.name=`ExtensionsApiException`,this.code=n,Object.setPrototypeOf(this,e.prototype)}},A=class e extends O{constructor(t){super(t),this.name=`ExtensionsValidationException`,Object.setPrototypeOf(this,e.prototype)}},j=()=>{let e=C(),t=c([]),n=c(!1),r=c(new Map),i=0;return{actions:t,isLoading:n,executingActions:r,fetchActions:async r=>{let a=++i;n.value=!0;try{let{data:n}=await e.client.GET(`/modules/extensions/extensions/${r}/actions`);if(a!==i)return;n?.data?t.value=n.data:t.value=[]}catch{if(a!==i)return;t.value=[]}finally{a===i&&(n.value=!1)}},executeAction:async(t,n,i)=>{let a=r.value.get(n)??0;r.value.set(n,a+1);try{let{data:r,error:a}=await e.client.POST(`/modules/extensions/extensions/${t}/actions/${n}`,{body:{data:{params:i??{}}}});return r?.data?r.data:{success:!1,message:a?.error?.message??`Action execution failed`}}catch(e){return{success:!1,message:e instanceof Error?e.message:`Action execution failed`}}finally{let e=(r.value.get(n)??1)-1;e<=0?r.value.delete(n):r.value.set(n,e)}}}},M=Symbol(`useActions`),N=()=>{let e=j();return t(M,e),e},P=()=>e(M,null)??j(),F=e=>{let t=d().getStore(h),{semaphore:n,firstLoad:r}=S(t);return{extension:a(()=>t.findByType(i(e.type))),isLoading:a(()=>n.value.fetching.items||!r.value),fetchExtension:async()=>{await t.fetch()}}},I=f({search:b().optional(),kind:l([`all`,E.MODULE,E.PLUGIN]).default(`all`),enabled:l([`all`,`enabled`,`disabled`]).default(`all`),isCore:l([`all`,`core`,`addon`]).default(`all`)}),L={search:void 0,kind:`all`,enabled:`all`,isCore:`all`},R={by:`name`,dir:`asc`},z=()=>{let e=d().getStore(h),{semaphore:t}=S(e),{filters:r,sort:i,pagination:o,viewMode:s,reset:l}=_({key:`${T}:extensions:list`,filters:{schema:I,defaults:L},sort:{defaults:[R]},pagination:{defaults:{page:1,size:10}},viewMode:{options:[`table`,`cards`],default:D},syncQuery:!0,version:1}),u=a({get:()=>s.value??`table`,set:e=>{s.value=e}}),f=a(()=>r.value.search!==L.search||r.value.kind!==L.kind||r.value.enabled!==L.enabled||r.value.isCore!==L.isCore),p=c(o.value.size||10),m=c(o.value.page||1),g=c(i.value.length>0?i.value[0]?.by:void 0),v=c(i.value.length>0?i.value[0]?.dir??null:null),b=a(()=>Object.values(e.data)),x=a(()=>y(b.value.filter(e=>(!r.value.search||e.type.toLowerCase().includes(r.value.search.toLowerCase())||e.name.toLowerCase().includes(r.value.search.toLowerCase())||e.description?.toLowerCase().includes(r.value.search.toLowerCase()))&&(r.value.kind===`all`||e.kind===r.value.kind)&&(r.value.enabled===`all`||r.value.enabled===`enabled`&&e.enabled||r.value.enabled===`disabled`&&!e.enabled)&&(r.value.isCore===`all`||r.value.isCore===`core`&&e.isCore||r.value.isCore===`addon`&&!e.isCore)),[e=>g.value===`enabled`?e.enabled?1:0:e[g.value]??``],[v.value===`asc`?`asc`:`desc`])),C=a(()=>x.value),w=a(()=>{let e=(m.value-1)*p.value,t=e+p.value;return C.value.slice(e,t)}),O=a(()=>x.value.filter(e=>e.kind===E.MODULE)),k=a(()=>x.value.filter(e=>e.kind===E.PLUGIN)),A=async()=>{await e.fetch()},j=a(()=>t.value.fetching.items),M=a(()=>C.value.length);return n(()=>o.value,e=>{m.value=e.page??1,p.value=e.size??10},{deep:!0}),n(()=>m.value,e=>{o.value.page=e}),n(()=>p.value,e=>{o.value.size=e}),n(()=>v.value,e=>{g.value===void 0||e===null?i.value=[]:i.value=[{by:g.value,dir:e}]}),n(()=>g.value,e=>{e===void 0||v.value===null?i.value=[]:i.value=[{by:e,dir:v.value}]}),{extensions:C,extensionsPaginated:w,modules:O,plugins:k,totalRows:M,areLoading:j,fetchExtensions:A,filters:r,filtersActive:f,paginateSize:p,paginatePage:m,sortBy:g,sortDir:v,viewMode:u,resetFilter:l}},B=()=>{let{t:e}=r(),t=d(),n=m(),i=t.getStore(h),a=t.getStore(v);return{toggleEnabled:async(t,r)=>{try{return await i.update({type:t,data:{enabled:r}}),n.success(e(r?`extensionsModule.messages.extensionEnabled`:`extensionsModule.messages.extensionDisabled`)),r&&setTimeout(()=>{a.fetch().then(()=>{let e=a.findAll().filter(e=>e.pluginName===t);for(let t of e)t.lastError&&n.warning(t.lastError)}).catch(()=>{})},1500),!0}catch(t){return t instanceof k&&t.code===400?n.error(e(`extensionsModule.messages.notConfigurableError`)):n.error(e(`extensionsModule.messages.updateError`)),!1}},bulkEnable:async t=>{let r=t.filter(e=>e.canToggleEnabled&&!e.enabled);if(r.length===0){n.info(e(`extensionsModule.messages.noExtensionsToEnable`));return}try{await p.confirm(e(`extensionsModule.messages.confirmBulkEnable`,{count:r.length}),e(`extensionsModule.headings.bulkEnable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`info`});let t=0,a=0;for(let e of r)try{await i.update({type:e.type,data:{enabled:!0}}),t++}catch{a++}t>0&&n.success(e(`extensionsModule.messages.bulkEnabled`,{count:t})),a>0&&n.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:a}))}catch{n.info(e(`extensionsModule.messages.bulkEnableCanceled`))}},bulkDisable:async t=>{let r=t.filter(e=>e.canToggleEnabled&&e.enabled);if(r.length===0){n.info(e(`extensionsModule.messages.noExtensionsToDisable`));return}try{await p.confirm(e(`extensionsModule.messages.confirmBulkDisable`,{count:r.length}),e(`extensionsModule.headings.bulkDisable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`warning`});let t=0,a=0;for(let e of r)try{await i.update({type:e.type,data:{enabled:!1}}),t++}catch{a++}t>0&&n.success(e(`extensionsModule.messages.bulkDisabled`,{count:t})),a>0&&n.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:a}))}catch{n.info(e(`extensionsModule.messages.bulkDisableCanceled`))}}}},V=e=>{let t=C(),r=u(),l=c({}),d=c(!1),f=c(!1),p=c(!1),m=c(void 0),h=c(!1),g=c([]),_=c(`all`),v=null,y={"1h":3600*1e3,"6h":360*60*1e3,"24h":1440*60*1e3,"7d":10080*60*1e3,all:0},b=a(()=>Object.values(l.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),S=a(()=>{let e=b.value;if(g.value.length>0&&(e=e.filter(e=>g.value.includes(e.type))),_.value!==`all`){let t=Date.now()-y[_.value];e=e.filter(e=>new Date(e.ts).getTime()>=t)}return e}),T=a(()=>g.value.length>0||_.value!==`all`),E=()=>{g.value=[],_.value=`all`},D=async()=>{let n=i(e.extensionType);v=n,f.value=!0;try{let{data:e,error:i}=await t.client.GET(`/${o}/${x}/logs`,{params:{query:{extension:n,limit:50}}});if(v!==n)return;e===void 0?i&&r.error(`Failed to fetch extension logs:`,i):(l.value=Object.fromEntries(e.data.map(e=>{let t=w(e);return[t.id,t]})),p.value=!0,d.value=e.metadata.has_more,m.value=e.metadata.next_cursor)}catch(e){v===n&&r.error(`Error fetching extension logs:`,e)}finally{v===n&&(f.value=!1)}},O=async()=>{if(f.value||!d.value||!m.value)return;let n=i(e.extensionType),a=m.value;f.value=!0;try{let{data:e,error:i}=await t.client.GET(`/${o}/${x}/logs`,{params:{query:{extension:n,after_id:a,limit:50}}});if(v!==n)return;if(e!==void 0){let t=Object.fromEntries(e.data.map(e=>{let t=w(e);return[t.id,t]}));l.value={...l.value,...t},d.value=e.metadata.has_more,m.value=e.metadata.next_cursor}else i&&r.error(`Failed to load more extension logs:`,i)}catch(e){v===n&&r.error(`Error loading more extension logs:`,e)}finally{v===n&&(f.value=!1)}},k=async()=>{l.value={},m.value=void 0,d.value=!1,p.value=!1,await D()},A=null;return n(()=>h.value,e=>{A&&=(clearInterval(A),null),e&&(A=setInterval(()=>void D(),3e3))}),s(()=>{A&&=(clearInterval(A),null)}),n(()=>i(e.extensionType),()=>{k()}),{logs:S,hasMore:d,isLoading:f,loaded:p,live:h,filterLevels:g,filterTimeRange:_,filtersActive:T,clearFilters:E,fetchLogs:D,loadMoreLogs:O,refreshLogs:k}},H=()=>{let e=d().getStore(v),{data:t,semaphore:n}=S(e);return{services:a(()=>Object.values(t.value)),areLoading:a(()=>n.value.fetching.items),fetchServices:async()=>{await e.fetch()}}},U=()=>{let{t:e}=r(),t=d(),n=m(),i=t.getStore(v);return{startService:async(t,r)=>{try{let a=await i.start({pluginName:t,serviceId:r});return a.state===g.started?n.success(e(`extensionsModule.services.messages.started`)):a.state===g.starting?n.info(e(`extensionsModule.services.messages.serviceStarting`)):a.lastError?n.warning(a.lastError):n.warning(e(`extensionsModule.services.messages.startError`)),a.state===g.started||a.state===g.starting}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.startError`)),!1}},stopService:async(t,r)=>{try{return await i.stop({pluginName:t,serviceId:r}),n.success(e(`extensionsModule.services.messages.stopped`)),!0}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.stopError`)),!1}},restartService:async(t,r)=>{try{return await i.restart({pluginName:t,serviceId:r}),n.success(e(`extensionsModule.services.messages.restarted`)),!0}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.restartError`)),!1}},isActing:(e,t)=>i.acting(e,t)}};export{z as a,N as c,A as d,B as i,k as l,H as n,F as o,V as r,P as s,U as t,O as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-DECur_0Z.js";import{Nr as e,Xr as t,ci as n,d as r,fi as i,mr as a,ui as o}from"./icon-with-child-DmQ_XhQy.js";import{A as s,Fn as c,Ht as l,Jn as u,Kn as d,Mn as f,Pn as p,S as m,T as h,Un as g,Vn as _,Wn as v,Wr as y,Yn as b,_ as x,an as S,f as C,m as w,pn as T,qn as E,qt as D,wn as O,xa as k,zn as A}from"./common-BRnJNE_Q.js";import{t as ee}from"./useSpaces-ABviRlaS.js";import{o as j,s as M}from"./composables-CeeB2S8s.js";var N=`scenes`,P=`scenes-module`,F=`ScenesModule.`,I=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerScene`,e}({}),L=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}({}),R=function(e){return e.GENERIC=`generic`,e.LIGHTING=`lighting`,e.CLIMATE=`climate`,e.MEDIA=`media`,e.WORK=`work`,e.RELAX=`relax`,e.NIGHT=`night`,e.MORNING=`morning`,e.PARTY=`party`,e.MOVIE=`movie`,e.AWAY=`away`,e.HOME=`home`,e.SECURITY=`security`,e.ENERGY=`energy`,e.CUSTOM=`custom`,e}({}),z=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),B={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`},V={[R.GENERIC]:`mdi:playlist-play`,[R.LIGHTING]:`mdi:lightbulb-group`,[R.CLIMATE]:`mdi:thermostat`,[R.MEDIA]:`mdi:television-play`,[R.WORK]:`mdi:briefcase`,[R.RELAX]:`mdi:sofa`,[R.NIGHT]:`mdi:weather-night`,[R.MORNING]:`mdi:weather-sunset-up`,[R.PARTY]:`mdi:party-popper`,[R.MOVIE]:`mdi:movie-open`,[R.AWAY]:`mdi:home-export-outline`,[R.HOME]:`mdi:home-import-outline`,[R.SECURITY]:`mdi:shield-home`,[R.ENERGY]:`mdi:flash`,[R.CUSTOM]:`mdi:shape-outline`},H=v({search:E().optional(),categories:p(_(R)),primarySpaceId:u([E().uuid(),A(`whole_home`)]).optional(),enabled:f([`all`,`enabled`,`disabled`]).default(`all`)}),U=({id:e})=>{let t=h(),n=t.getStore(M),r=t.getStore(j),{data:i,semaphore:o}=k(n);return{scene:a(()=>e===null?null:i.value.get(e)??null),isLoading:a(()=>o.value.fetching.item.includes(e)?!0:i.value.get(e)===void 0?o.value.fetching.items:!1),fetchScene:async()=>{i.value.get(e)?.draft||(await n.get({id:e}),await r.fetch({sceneId:e}))}}},W=v({id:E().uuid().optional(),type:E().trim().nonempty(),configuration:d(E(),b()).default({}),order:g().int().min(0).optional(),enabled:c().default(!0)}).catchall(b());v({id:E().uuid(),type:E().trim().nonempty(),configuration:d(E(),b()).optional(),order:g().int().min(0).optional(),enabled:c().optional()}).catchall(b());var G=v({id:E().uuid().optional(),name:E().trim().nonempty(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:_(R).default(R.GENERIC),icon:E().nullable().optional(),enabled:c().default(!0),order:g().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:p(W).default([])}),K=v({id:E().uuid(),name:E().trim().nonempty().optional(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:_(R).optional(),icon:E().nullable().optional(),enabled:c().optional(),order:g().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:p(W).default([])}),q=class extends Error{exception;constructor(e,t=null){super(e),this.name=`ScenesException`,this.exception=t}},J=class extends q{code;constructor(e,t=null,n=null){super(e,n),this.name=`ScenesApiException`,this.code=t}},Y=class extends q{constructor(e,t=null){super(e,t),this.name=`ScenesValidationException`}},ne=()=>{let e=s(),{enabled:t}=S(),n=[`sceneActionAddForm`,`sceneActionEditForm`,`sceneActionCard`],r=[`sceneActionSchema`,`sceneActionAddFormSchema`,`sceneActionEditFormSchema`,`sceneActionCreateReqSchema`,`sceneActionUpdateReqSchema`],i=a(()=>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=n.length===0||!!e.components&&n.some(t=>e.components&&t in e.components),i=r.length===0||!!e.schemas&&r.some(t=>e.schemas&&t in e.schemas);return t||i}):!1));return{plugins:i,options:a(()=>T(i.value.flatMap(e=>(e.elements??[]).filter(e=>{let t=e.modules===void 0||e.modules.includes(`scenes-module`),r=!!e.components&&n.some(t=>e.components&&t in e.components);return t&&r}).map(n=>({value:n.type,label:n.name?.trim()?n.name:e.name,disabled:!t(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>i.value.find(t=>t.type===e),getByType:e=>i.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 i.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)));if(n)return n}}}},X=O(),Z=({id:e})=>{let s=h(),c=s.getStore(M),u=s.getStore(j),{t:d}=r(),f=x(),p=m(),{spaces:g,fetching:_,fetchSpaces:v}=ee(),y=o(z.NONE),b,S=a(()=>Object.values(R).map(e=>({value:e,label:d(`scenes.categories.${e}`),icon:V[e]}))),C=a(()=>{let e=g.value.filter(e=>e.type===l.ROOM).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=g.value.filter(e=>e.type===l.ZONE).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:l.ROOM,label:d(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:l.ZONE,label:d(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),T=n({id:e,category:R.GENERIC,name:``,description:null,icon:null,enabled:!0,primarySpaceId:null,actions:[]}),{options:E,getElement:O}=ne(),k=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)},A=e=>{T.actions.splice(e,1)},N=(e,t)=>{e>=0&&e<T.actions.length&&(T.actions[e]=t)},P=e=>O(e)?.components?.sceneActionCard??null,F=e=>O(e)?.components?.sceneActionAddForm??null,I=e=>O(e)?.components?.sceneActionEditForm??null,L=e=>E.value.find(t=>t.value===e)?.label??e,te=w(i(T)),B=o(void 0),H=o(!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}},W=async()=>{if(B.value.clearValidate(),!await B.value.validate())throw new Y(`Form not valid`);let t=G.safeParse(T);if(!t.success)throw p.error(`Schema validation failed with:`,t.error),new Y(`Failed to validate create scene model.`);y.value=z.WORKING;let n=d(`scenes.messages.createFailed`);try{let n=await c.add({id:e,draft:!1,data:t.data});t.data.actions.length>0&&await U(n.id,t.data.actions)}catch(e){throw y.value=z.ERROR,b=window.setTimeout(K,2e3),e instanceof J&&e.code===422?f.error(e.message):f.error(n),e}return y.value=z.OK,b=window.setTimeout(K,2e3),f.success(d(`scenes.messages.created`)),`added`},K=()=>{window.clearTimeout(b),y.value=z.NONE};return t(T,()=>{H.value=!(0,X.isEqual)(i(T),te)}),{categoriesOptions:S,spacesOptionsGrouped:C,model:T,formEl:B,formChanged:H,submit:W,clear:K,formResult:y,loadingSpaces:_,fetchSpaces:v,actionPluginOptions:E,addAction:k,removeAction:A,updateAction:N,getActionCardComponent:P,getActionFormComponent:F,getActionEditFormComponent:I,getPluginLabel:L}},re=({scene:s,messages:c})=>{let u=h(),d=u.getStore(M),f=u.getStore(j),{t:p}=r(),g=x(),_=m(),{spaces:v,fetching:y,fetchSpaces:b}=ee(),S=o(z.NONE),C=a(()=>f.findForScene(s.id)),T=o(w(C.value)),E,O=a(()=>Object.values(R).map(e=>({value:e,label:p(`scenes.categories.${e}`),icon:V[e]}))),k=a(()=>{let e=v.value.filter(e=>e.type===l.ROOM).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=v.value.filter(e=>e.type===l.ZONE).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:l.ROOM,label:p(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:l.ZONE,label:p(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),A=a(()=>C.value.map(e=>({...e}))),N=n({id:s.id,category:s.category,name:s.name,description:s.description,icon:s.icon,enabled:s.enabled,primarySpaceId:s.primarySpaceId,actions:A.value}),{options:P,getElement:F}=ne(),I=e=>{let t=e.propertyId;return t&&N.actions.find(e=>e.propertyId===t)?(g.warning(p(`scenes.messages.duplicateAction`)),!1):(N.actions.push(e),!0)},L=e=>{N.actions.splice(e,1)},te=(e,t)=>{e>=0&&e<N.actions.length&&(N.actions[e]=t)},B=e=>F(e)?.components?.sceneActionCard??null,H=e=>F(e)?.components?.sceneActionAddForm??null,U=e=>F(e)?.components?.sceneActionEditForm??null,W=e=>P.value.find(t=>t.value===e)?.label??e,G=o(void 0),q=o(!1),Z=w(i(N)),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,X.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=N.actions[e];n&&(n.id=t)}T.value=w(f.findForScene(e))}catch(e){throw _.error(`Error syncing scene actions:`,e),e}},ie=async()=>{let e=s.draft,t=c&&c.error?c.error:s.draft?p(`scenes.messages.createFailed`):p(`scenes.messages.editFailed`,{scene:s.name});if(G.value.clearValidate(),!await G.value.validate())throw new Y(`Form not valid`);let n=K.safeParse(N);if(!n.success)throw _.error(`Schema validation failed with:`,n.error),new Y(`Failed to validate edit scene model.`);S.value=z.WORKING;try{await d.edit({id:s.id,data:n.data});let t=s.id;if(e){let e=await d.save({id:s.id});N.id=e.id,N.category=e.category,N.name=e.name,N.description=e.description,N.icon=e.icon,N.enabled=e.enabled,N.primarySpaceId=e.primarySpaceId,t=e.id}await re(t,n.data.actions)}catch(e){throw S.value=z.ERROR,E=window.setTimeout(Q,2e3),e instanceof J&&e.code===422?g.error(e.message):e instanceof Y||(g.error(t),_.error(`Scene edit failed:`,e)),e}return S.value=z.OK,E=window.setTimeout(Q,2e3),e?(g.success(p(c&&c.success?c.success:`scenes.messages.created`)),`added`):(g.success(p(c&&c.success?c.success:`scenes.messages.edited`,{scene:s.name})),q.value=!1,Z=w(i(N)),`saved`)},Q=()=>{window.clearTimeout(E),S.value=z.NONE};return t(N,()=>{q.value=!(0,X.isEqual)(i(N),Z)}),e(()=>{Q()}),{categoriesOptions:O,spacesOptionsGrouped:k,model:N,formEl:G,formChanged:q,submit:ie,clear:Q,formResult:S,loadingSpaces:y,fetchSpaces:b,actionPluginOptions:P,addAction:I,removeAction:L,updateAction:te,getActionCardComponent:B,getActionFormComponent:H,getActionEditFormComponent:U,getPluginLabel:W}},ie=({id:e})=>{let t=h().getStore(M);return{icon:a(()=>{let n=t.findById(e);return n?.icon?n.icon:n?.category&&n.category in V?V[n.category]:V[R.GENERIC]})}},Q=()=>{let e=h().getStore(M),{data:t,semaphore:n,firstLoad:r}=k(e);return{scenes:a(()=>Array.from(t.value.values()).sort((e,t)=>e.name.localeCompare(t.name))),fetching:a(()=>n.value.fetching.items),loaded:a(()=>r.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}=r(),t=x(),n=h().getStore(M);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 y.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`});let i=0,a=0;for(let e of r)try{await n.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkRemoved`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkRemoveFailed`,{count:a}))}catch{}},bulkEnable:async r=>{if(r.length!==0)try{await y.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`});let i=0,a=0;for(let e of r)try{await n.edit({id:e.id,data:{enabled:!0}}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkEnabled`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkEnableFailed`,{count:a}))}catch{t.info(e(`scenes.messages.bulkEnableCanceled`))}},bulkDisable:async r=>{if(r.length!==0)try{await y.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`});let i=0,a=0;for(let e of r)try{await n.edit({id:e.id,data:{enabled:!1}}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkDisabled`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkDisableFailed`,{count:a}))}catch{t.info(e(`scenes.messages.bulkDisableCanceled`))}}}},$={search:void 0,categories:[],primarySpaceId:void 0,enabled:`all`},oe={by:`name`,dir:`asc`},se=()=>{let e=h().getStore(M),{firstLoad:n,semaphore:r}=k(e),{filters:i,sort:s,pagination:c,reset:l}=C({key:`${P}:scenes:list`,filters:{schema:H,defaults:$},sort:{defaults:[oe]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=a(()=>i.value.search!==$.search||!(0,X.isEqual)(i.value.categories,$.categories)||i.value.primarySpaceId!==$.primarySpaceId||i.value.enabled!==$.enabled),d=o(c.value.size||10),f=o(c.value.page||1),p=o(s.value.length>0?s.value[0]?.by:void 0),m=o(s.value.length>0?s.value[0]?.dir??null:null),g=(e,t)=>t?t===`whole_home`?!e:e===t:!0,_=a(()=>{let t=e.findAll().filter(e=>!e.draft&&(!i.value.search||e.id.toLowerCase().includes(i.value.search.toLowerCase())||e.name.toLowerCase().includes(i.value.search.toLowerCase())||e.description?.toLowerCase().includes(i.value.search.toLowerCase()))&&(i.value.categories.length===0||i.value.categories.includes(e.category))&&g(e.primarySpaceId,i.value.primarySpaceId)&&(i.value.enabled===`all`||i.value.enabled===`enabled`&&e.enabled||i.value.enabled===`disabled`&&!e.enabled)),n=p.value??`order`;return T(t,[e=>e[n]??``],[m.value??`asc`])}),v=a(()=>{let e=(f.value-1)*d.value,t=e+d.value;return _.value.slice(e,t)}),y=async()=>{await e.fetch()},b=a(()=>r.value.fetching.items||!n.value),x=a(()=>n.value),S=a(()=>e.findAll().filter(e=>!e.draft).length);return t(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),t(()=>f.value,e=>{c.value.page=e}),t(()=>d.value,e=>{c.value.size=e}),t(()=>m.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),t(()=>p.value,e=>{e===void 0||m.value===null?s.value=[]:s.value=[{by:e,dir:m.value}]}),t(()=>i.value,()=>{f.value=1},{deep:!0}),{scenes:_,scenesPaginated:v,totalRows:S,areLoading:b,loaded:x,fetchScenes:y,filters:i,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:m,resetFilter:l}};export{P as _,re as a,R as b,q as c,L as d,I as f,F as g,B as h,ie as i,Y as l,z as m,ae as n,Z as o,te as p,Q as r,J as s,se as t,U as u,N as v,V as y};
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Nr as e,Xr as t,ci as n,d as r,fi as i,mr as a,ui as o}from"./icon-with-child-DmQ_XhQy.js";import{A as s,Fn as c,Ht as l,Jn as u,Kn as d,Mn as f,Pn as p,S as m,T as h,Un as g,Vn as _,Wn as v,Wr as y,Yn as b,_ as x,an as S,f as C,m as w,pn as T,qn as E,qt as D,wn as O,xa as k,zn as A}from"./common-CIDPejpp.js";import{t as ee}from"./useSpaces-DTV3CleU.js";import{o as j,s as M}from"./composables-Dhb88XDz.js";var N=`scenes`,P=`scenes-module`,F=`ScenesModule.`,I=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerScene`,e}({}),L=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}({}),R=function(e){return e.GENERIC=`generic`,e.LIGHTING=`lighting`,e.CLIMATE=`climate`,e.MEDIA=`media`,e.WORK=`work`,e.RELAX=`relax`,e.NIGHT=`night`,e.MORNING=`morning`,e.PARTY=`party`,e.MOVIE=`movie`,e.AWAY=`away`,e.HOME=`home`,e.SECURITY=`security`,e.ENERGY=`energy`,e.CUSTOM=`custom`,e}({}),z=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),B={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`},V={[R.GENERIC]:`mdi:playlist-play`,[R.LIGHTING]:`mdi:lightbulb-group`,[R.CLIMATE]:`mdi:thermostat`,[R.MEDIA]:`mdi:television-play`,[R.WORK]:`mdi:briefcase`,[R.RELAX]:`mdi:sofa`,[R.NIGHT]:`mdi:weather-night`,[R.MORNING]:`mdi:weather-sunset-up`,[R.PARTY]:`mdi:party-popper`,[R.MOVIE]:`mdi:movie-open`,[R.AWAY]:`mdi:home-export-outline`,[R.HOME]:`mdi:home-import-outline`,[R.SECURITY]:`mdi:shield-home`,[R.ENERGY]:`mdi:flash`,[R.CUSTOM]:`mdi:shape-outline`},H=v({search:E().optional(),categories:p(_(R)),primarySpaceId:u([E().uuid(),A(`whole_home`)]).optional(),enabled:f([`all`,`enabled`,`disabled`]).default(`all`)}),U=({id:e})=>{let t=h(),n=t.getStore(M),r=t.getStore(j),{data:i,semaphore:o}=k(n);return{scene:a(()=>e===null?null:i.value.get(e)??null),isLoading:a(()=>o.value.fetching.item.includes(e)?!0:i.value.get(e)===void 0?o.value.fetching.items:!1),fetchScene:async()=>{i.value.get(e)?.draft||(await n.get({id:e}),await r.fetch({sceneId:e}))}}},W=v({id:E().uuid().optional(),type:E().trim().nonempty(),configuration:d(E(),b()).default({}),order:g().int().min(0).optional(),enabled:c().default(!0)}).catchall(b());v({id:E().uuid(),type:E().trim().nonempty(),configuration:d(E(),b()).optional(),order:g().int().min(0).optional(),enabled:c().optional()}).catchall(b());var G=v({id:E().uuid().optional(),name:E().trim().nonempty(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:_(R).default(R.GENERIC),icon:E().nullable().optional(),enabled:c().default(!0),order:g().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:p(W).default([])}),K=v({id:E().uuid(),name:E().trim().nonempty().optional(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:_(R).optional(),icon:E().nullable().optional(),enabled:c().optional(),order:g().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:p(W).default([])}),q=class extends Error{exception;constructor(e,t=null){super(e),this.name=`ScenesException`,this.exception=t}},J=class extends q{code;constructor(e,t=null,n=null){super(e,n),this.name=`ScenesApiException`,this.code=t}},Y=class extends q{constructor(e,t=null){super(e,t),this.name=`ScenesValidationException`}},ne=()=>{let e=s(),{enabled:t}=S(),n=[`sceneActionAddForm`,`sceneActionEditForm`,`sceneActionCard`],r=[`sceneActionSchema`,`sceneActionAddFormSchema`,`sceneActionEditFormSchema`,`sceneActionCreateReqSchema`,`sceneActionUpdateReqSchema`],i=a(()=>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=n.length===0||!!e.components&&n.some(t=>e.components&&t in e.components),i=r.length===0||!!e.schemas&&r.some(t=>e.schemas&&t in e.schemas);return t||i}):!1));return{plugins:i,options:a(()=>T(i.value.flatMap(e=>(e.elements??[]).filter(e=>{let t=e.modules===void 0||e.modules.includes(`scenes-module`),r=!!e.components&&n.some(t=>e.components&&t in e.components);return t&&r}).map(n=>({value:n.type,label:n.name?.trim()?n.name:e.name,disabled:!t(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>i.value.find(t=>t.type===e),getByType:e=>i.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 i.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)));if(n)return n}}}},X=O(),Z=({id:e})=>{let s=h(),c=s.getStore(M),u=s.getStore(j),{t:d}=r(),f=x(),p=m(),{spaces:g,fetching:_,fetchSpaces:v}=ee(),y=o(z.NONE),b,S=a(()=>Object.values(R).map(e=>({value:e,label:d(`scenes.categories.${e}`),icon:V[e]}))),C=a(()=>{let e=g.value.filter(e=>e.type===l.ROOM).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=g.value.filter(e=>e.type===l.ZONE).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:l.ROOM,label:d(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:l.ZONE,label:d(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),T=n({id:e,category:R.GENERIC,name:``,description:null,icon:null,enabled:!0,primarySpaceId:null,actions:[]}),{options:E,getElement:O}=ne(),k=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)},A=e=>{T.actions.splice(e,1)},N=(e,t)=>{e>=0&&e<T.actions.length&&(T.actions[e]=t)},P=e=>O(e)?.components?.sceneActionCard??null,F=e=>O(e)?.components?.sceneActionAddForm??null,I=e=>O(e)?.components?.sceneActionEditForm??null,L=e=>E.value.find(t=>t.value===e)?.label??e,te=w(i(T)),B=o(void 0),H=o(!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}},W=async()=>{if(B.value.clearValidate(),!await B.value.validate())throw new Y(`Form not valid`);let t=G.safeParse(T);if(!t.success)throw p.error(`Schema validation failed with:`,t.error),new Y(`Failed to validate create scene model.`);y.value=z.WORKING;let n=d(`scenes.messages.createFailed`);try{let n=await c.add({id:e,draft:!1,data:t.data});t.data.actions.length>0&&await U(n.id,t.data.actions)}catch(e){throw y.value=z.ERROR,b=window.setTimeout(K,2e3),e instanceof J&&e.code===422?f.error(e.message):f.error(n),e}return y.value=z.OK,b=window.setTimeout(K,2e3),f.success(d(`scenes.messages.created`)),`added`},K=()=>{window.clearTimeout(b),y.value=z.NONE};return t(T,()=>{H.value=!(0,X.isEqual)(i(T),te)}),{categoriesOptions:S,spacesOptionsGrouped:C,model:T,formEl:B,formChanged:H,submit:W,clear:K,formResult:y,loadingSpaces:_,fetchSpaces:v,actionPluginOptions:E,addAction:k,removeAction:A,updateAction:N,getActionCardComponent:P,getActionFormComponent:F,getActionEditFormComponent:I,getPluginLabel:L}},re=({scene:s,messages:c})=>{let u=h(),d=u.getStore(M),f=u.getStore(j),{t:p}=r(),g=x(),_=m(),{spaces:v,fetching:y,fetchSpaces:b}=ee(),S=o(z.NONE),C=a(()=>f.findForScene(s.id)),T=o(w(C.value)),E,O=a(()=>Object.values(R).map(e=>({value:e,label:p(`scenes.categories.${e}`),icon:V[e]}))),k=a(()=>{let e=v.value.filter(e=>e.type===l.ROOM).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=v.value.filter(e=>e.type===l.ZONE).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:l.ROOM,label:p(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:l.ZONE,label:p(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),A=a(()=>C.value.map(e=>({...e}))),N=n({id:s.id,category:s.category,name:s.name,description:s.description,icon:s.icon,enabled:s.enabled,primarySpaceId:s.primarySpaceId,actions:A.value}),{options:P,getElement:F}=ne(),I=e=>{let t=e.propertyId;return t&&N.actions.find(e=>e.propertyId===t)?(g.warning(p(`scenes.messages.duplicateAction`)),!1):(N.actions.push(e),!0)},L=e=>{N.actions.splice(e,1)},te=(e,t)=>{e>=0&&e<N.actions.length&&(N.actions[e]=t)},B=e=>F(e)?.components?.sceneActionCard??null,H=e=>F(e)?.components?.sceneActionAddForm??null,U=e=>F(e)?.components?.sceneActionEditForm??null,W=e=>P.value.find(t=>t.value===e)?.label??e,G=o(void 0),q=o(!1),Z=w(i(N)),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,X.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=N.actions[e];n&&(n.id=t)}T.value=w(f.findForScene(e))}catch(e){throw _.error(`Error syncing scene actions:`,e),e}},ie=async()=>{let e=s.draft,t=c&&c.error?c.error:s.draft?p(`scenes.messages.createFailed`):p(`scenes.messages.editFailed`,{scene:s.name});if(G.value.clearValidate(),!await G.value.validate())throw new Y(`Form not valid`);let n=K.safeParse(N);if(!n.success)throw _.error(`Schema validation failed with:`,n.error),new Y(`Failed to validate edit scene model.`);S.value=z.WORKING;try{await d.edit({id:s.id,data:n.data});let t=s.id;if(e){let e=await d.save({id:s.id});N.id=e.id,N.category=e.category,N.name=e.name,N.description=e.description,N.icon=e.icon,N.enabled=e.enabled,N.primarySpaceId=e.primarySpaceId,t=e.id}await re(t,n.data.actions)}catch(e){throw S.value=z.ERROR,E=window.setTimeout(Q,2e3),e instanceof J&&e.code===422?g.error(e.message):e instanceof Y||(g.error(t),_.error(`Scene edit failed:`,e)),e}return S.value=z.OK,E=window.setTimeout(Q,2e3),e?(g.success(p(c&&c.success?c.success:`scenes.messages.created`)),`added`):(g.success(p(c&&c.success?c.success:`scenes.messages.edited`,{scene:s.name})),q.value=!1,Z=w(i(N)),`saved`)},Q=()=>{window.clearTimeout(E),S.value=z.NONE};return t(N,()=>{q.value=!(0,X.isEqual)(i(N),Z)}),e(()=>{Q()}),{categoriesOptions:O,spacesOptionsGrouped:k,model:N,formEl:G,formChanged:q,submit:ie,clear:Q,formResult:S,loadingSpaces:y,fetchSpaces:b,actionPluginOptions:P,addAction:I,removeAction:L,updateAction:te,getActionCardComponent:B,getActionFormComponent:H,getActionEditFormComponent:U,getPluginLabel:W}},ie=({id:e})=>{let t=h().getStore(M);return{icon:a(()=>{let n=t.findById(e);return n?.icon?n.icon:n?.category&&n.category in V?V[n.category]:V[R.GENERIC]})}},Q=()=>{let e=h().getStore(M),{data:t,semaphore:n,firstLoad:r}=k(e);return{scenes:a(()=>Array.from(t.value.values()).sort((e,t)=>e.name.localeCompare(t.name))),fetching:a(()=>n.value.fetching.items),loaded:a(()=>r.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}=r(),t=x(),n=h().getStore(M);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 y.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`});let i=0,a=0;for(let e of r)try{await n.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkRemoved`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkRemoveFailed`,{count:a}))}catch{}},bulkEnable:async r=>{if(r.length!==0)try{await y.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`});let i=0,a=0;for(let e of r)try{await n.edit({id:e.id,data:{enabled:!0}}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkEnabled`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkEnableFailed`,{count:a}))}catch{t.info(e(`scenes.messages.bulkEnableCanceled`))}},bulkDisable:async r=>{if(r.length!==0)try{await y.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`});let i=0,a=0;for(let e of r)try{await n.edit({id:e.id,data:{enabled:!1}}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkDisabled`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkDisableFailed`,{count:a}))}catch{t.info(e(`scenes.messages.bulkDisableCanceled`))}}}},$={search:void 0,categories:[],primarySpaceId:void 0,enabled:`all`},oe={by:`name`,dir:`asc`},se=()=>{let e=h().getStore(M),{firstLoad:n,semaphore:r}=k(e),{filters:i,sort:s,pagination:c,reset:l}=C({key:`${P}:scenes:list`,filters:{schema:H,defaults:$},sort:{defaults:[oe]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=a(()=>i.value.search!==$.search||!(0,X.isEqual)(i.value.categories,$.categories)||i.value.primarySpaceId!==$.primarySpaceId||i.value.enabled!==$.enabled),d=o(c.value.size||10),f=o(c.value.page||1),p=o(s.value.length>0?s.value[0]?.by:void 0),m=o(s.value.length>0?s.value[0]?.dir??null:null),g=(e,t)=>t?t===`whole_home`?!e:e===t:!0,_=a(()=>{let t=e.findAll().filter(e=>!e.draft&&(!i.value.search||e.id.toLowerCase().includes(i.value.search.toLowerCase())||e.name.toLowerCase().includes(i.value.search.toLowerCase())||e.description?.toLowerCase().includes(i.value.search.toLowerCase()))&&(i.value.categories.length===0||i.value.categories.includes(e.category))&&g(e.primarySpaceId,i.value.primarySpaceId)&&(i.value.enabled===`all`||i.value.enabled===`enabled`&&e.enabled||i.value.enabled===`disabled`&&!e.enabled)),n=p.value??`order`;return T(t,[e=>e[n]??``],[m.value??`asc`])}),v=a(()=>{let e=(f.value-1)*d.value,t=e+d.value;return _.value.slice(e,t)}),y=async()=>{await e.fetch()},b=a(()=>r.value.fetching.items||!n.value),x=a(()=>n.value),S=a(()=>e.findAll().filter(e=>!e.draft).length);return t(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),t(()=>f.value,e=>{c.value.page=e}),t(()=>d.value,e=>{c.value.size=e}),t(()=>m.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),t(()=>p.value,e=>{e===void 0||m.value===null?s.value=[]:s.value=[{by:e,dir:m.value}]}),t(()=>i.value,()=>{f.value=1},{deep:!0}),{scenes:_,scenesPaginated:v,totalRows:S,areLoading:b,loaded:x,fetchScenes:y,filters:i,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:m,resetFilter:l}};export{P as _,re as a,R as b,q as c,L as d,I as f,F as g,B as h,ie as i,Y as l,z as m,ae as n,Z as o,te as p,Q as r,J as s,se as t,U as u,N as v,V as y};
|