homebridge-config-ui-x 5.9.1-beta.2 → 5.9.1-beta.4
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/core/auth/guards/ws-admin-guard.d.ts +1 -1
- package/dist/core/auth/guards/ws-admin-guard.js.map +1 -1
- package/dist/core/auth/guards/ws.guard.d.ts +1 -1
- package/dist/core/auth/guards/ws.guard.js.map +1 -1
- package/dist/core/feature-flags/feature-flags.registry.js +1 -1
- package/dist/core/homebridge-ipc/homebridge-ipc.service.d.ts +2 -2
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js +1 -0
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
- package/dist/modules/accessories/accessories.controller.d.ts +1 -1
- package/dist/modules/accessories/accessories.controller.js +2 -1
- package/dist/modules/accessories/accessories.controller.js.map +1 -1
- package/dist/modules/accessories/accessories.gateway.d.ts +1 -1
- package/dist/modules/accessories/accessories.gateway.js.map +1 -1
- package/dist/modules/accessories/accessories.interfaces.d.ts +94 -0
- package/dist/modules/accessories/accessories.interfaces.js +2 -0
- package/dist/modules/accessories/accessories.interfaces.js.map +1 -0
- package/dist/modules/accessories/accessories.module.js +2 -0
- package/dist/modules/accessories/accessories.module.js.map +1 -1
- package/dist/modules/accessories/accessories.service.d.ts +21 -3
- package/dist/modules/accessories/accessories.service.js +281 -18
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/dist/modules/backup/backup.controller.d.ts +2 -2
- package/dist/modules/backup/backup.controller.js.map +1 -1
- package/dist/modules/backup/backup.gateway.d.ts +2 -2
- package/dist/modules/backup/backup.gateway.js.map +1 -1
- package/dist/modules/child-bridges/child-bridges.gateway.d.ts +1 -1
- package/dist/modules/child-bridges/child-bridges.gateway.js.map +1 -1
- package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.controller.d.ts +1 -1
- package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.controller.js.map +1 -1
- package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.service.d.ts +1 -1
- package/dist/modules/custom-plugins/homebridge-deconz/homebridge-deconz.service.js.map +1 -1
- package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.controller.d.ts +1 -1
- package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.controller.js.map +1 -1
- package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.service.d.ts +1 -1
- package/dist/modules/custom-plugins/homebridge-hue/homebridge-hue.service.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.controller.d.ts +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.controller.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.gateway.d.ts +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.gateway.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +4 -4
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/dist/modules/log/log.gateway.d.ts +1 -1
- package/dist/modules/log/log.gateway.js.map +1 -1
- package/dist/modules/log/log.service.d.ts +2 -2
- package/dist/modules/log/log.service.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.service.d.ts +3 -3
- package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
- package/dist/modules/plugins/plugins.controller.d.ts +1 -1
- package/dist/modules/plugins/plugins.controller.js.map +1 -1
- package/dist/modules/plugins/plugins.gateway.d.ts +2 -2
- package/dist/modules/plugins/plugins.gateway.js.map +1 -1
- package/dist/modules/plugins/plugins.service.d.ts +4 -4
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +3 -3
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/setup-wizard/setup-wizard.controller.d.ts +1 -1
- package/dist/modules/setup-wizard/setup-wizard.controller.js.map +1 -1
- package/dist/modules/setup-wizard/setup-wizard.gateway.d.ts +2 -2
- package/dist/modules/setup-wizard/setup-wizard.gateway.js.map +1 -1
- package/dist/modules/setup-wizard/setup-wizard.guard.d.ts +1 -1
- package/dist/modules/setup-wizard/setup-wizard.guard.js.map +1 -1
- package/dist/modules/status/status.gateway.d.ts +2 -2
- package/dist/modules/status/status.gateway.js.map +1 -1
- package/dist/modules/status/status.service.d.ts +6 -6
- package/dist/modules/status/status.service.js.map +1 -1
- package/dist/modules/users/users.controller.d.ts +1 -1
- package/dist/modules/users/users.controller.js.map +1 -1
- package/package.json +5 -5
- package/public/chunk-2OL4VJOK.js +1 -0
- package/public/{chunk-S4OE2ITZ.js → chunk-3L72PBVL.js} +1 -1
- package/public/{chunk-NKNWXFAK.js → chunk-3MJTL7SQ.js} +1 -1
- package/public/{chunk-JPCV77W6.js → chunk-3YH7FXML.js} +1 -1
- package/public/{chunk-WWSLIQVD.js → chunk-46GAMPZC.js} +1 -1
- package/public/{chunk-EAGKQ5OJ.js → chunk-4A2GGTS4.js} +1 -1
- package/public/{chunk-QVLCTKQH.js → chunk-5DEH7NPC.js} +1 -1
- package/public/{chunk-ZEI3HZ6P.js → chunk-5SJKGEVE.js} +1 -1
- package/public/{chunk-CYBDQV2B.js → chunk-5WBNDRQY.js} +1 -1
- package/public/chunk-6EU2WVST.js +1 -0
- package/public/{chunk-VYC5JLE6.js → chunk-77FE4N6E.js} +1 -1
- package/public/{chunk-X3IVSHIL.js → chunk-7TECHIAM.js} +1 -1
- package/public/{chunk-TA6DOQC5.js → chunk-7TSDWYDG.js} +1 -1
- package/public/{chunk-RQAFAZAK.js → chunk-AW2GCX53.js} +1 -1
- package/public/{chunk-3IJXQMYZ.js → chunk-DE3FEETC.js} +1 -1
- package/public/{chunk-7SKTJO5M.js → chunk-DRPQVHQ2.js} +1 -1
- package/public/{chunk-TSFGO3MA.js → chunk-EGCKVLUA.js} +1 -1
- package/public/{chunk-JJ7TVAIH.js → chunk-EQP5UP7Q.js} +4 -4
- package/public/{chunk-XX5GWADI.js → chunk-EVBAJELE.js} +1 -1
- package/public/{chunk-MNVUSYOZ.js → chunk-FEQANZR6.js} +1 -1
- package/public/{chunk-QSVZNI3M.js → chunk-FHIQHPYX.js} +1 -1
- package/public/{chunk-ATMY4YI2.js → chunk-GQ54RHG6.js} +1 -1
- package/public/{chunk-PZ2ZCCFR.js → chunk-HEISVQS4.js} +1 -1
- package/public/{chunk-UEDMHOPK.js → chunk-HEPKK2NF.js} +1 -1
- package/public/{chunk-LZQVKA4S.js → chunk-HHHDRU7N.js} +1 -1
- package/public/{chunk-QCZ4VVDL.js → chunk-HMMDL7KD.js} +1 -1
- package/public/{chunk-LARQLRNL.js → chunk-JGWESVQR.js} +1 -1
- package/public/{chunk-QUA46GZJ.js → chunk-JICJM7P7.js} +1 -1
- package/public/{chunk-XE5VJDQL.js → chunk-KPCNAHX5.js} +1 -1
- package/public/{chunk-INX52LH2.js → chunk-L6RYPM7H.js} +1 -1
- package/public/{chunk-RQ4B2IIV.js → chunk-LRQYSW4K.js} +1 -1
- package/public/{chunk-4T6CM7M3.js → chunk-LWW4UMH7.js} +1 -1
- package/public/{chunk-IIDLQ7XY.js → chunk-MV5HKFNH.js} +1 -1
- package/public/{chunk-UTN2R7WG.js → chunk-ND4C2ZR6.js} +1 -1
- package/public/{chunk-TKGKVKOW.js → chunk-NRSMNHLO.js} +1 -1
- package/public/{chunk-XMNXI4QP.js → chunk-OELC77D2.js} +1 -1
- package/public/{chunk-SA5C7QVC.js → chunk-PFEUH44A.js} +1 -1
- package/public/{chunk-N2TWGDNX.js → chunk-PJNMYOLO.js} +1 -1
- package/public/{chunk-L66ATRVT.js → chunk-PQA4VPZR.js} +1 -1
- package/public/{chunk-PXSEH255.js → chunk-PQICUDQU.js} +1 -1
- package/public/{chunk-CQREAKPC.js → chunk-PTRTXLSA.js} +1 -1
- package/public/chunk-PY7IYLU2.js +1 -0
- package/public/{chunk-YNONXMOG.js → chunk-Q2JNFJIW.js} +1 -1
- package/public/{chunk-M7QUT5ZZ.js → chunk-Q2YSAS5V.js} +1 -1
- package/public/{chunk-MDBZMB6Y.js → chunk-RRCVDWSH.js} +1 -1
- package/public/{chunk-HFW5E2OW.js → chunk-SJRDO5CP.js} +1 -1
- package/public/{chunk-WVCOONJF.js → chunk-TGLBHALK.js} +1 -1
- package/public/{chunk-CGYD722J.js → chunk-TOEOGXWQ.js} +1 -1
- package/public/{chunk-W7UNXMCL.js → chunk-VHCZD2S4.js} +1 -1
- package/public/{chunk-SSZBNSOM.js → chunk-VHXEO3ZO.js} +1 -1
- package/public/{chunk-7UDDRMZZ.js → chunk-VOHBPEFW.js} +1 -1
- package/public/{chunk-UOPWP4RR.js → chunk-W5GBSAG3.js} +1 -1
- package/public/{chunk-AZIRJR4B.js → chunk-WHHWVHCM.js} +1 -1
- package/public/{chunk-B2XE365J.js → chunk-WHYMIPMR.js} +1 -1
- package/public/{chunk-Y5XBENWZ.js → chunk-WOC25B3T.js} +1 -1
- package/public/{chunk-TC77PFBQ.js → chunk-WPPAIWDY.js} +1 -1
- package/public/{chunk-2FNQEOXF.js → chunk-X5AVMTQO.js} +1 -1
- package/public/{chunk-K7D2P3SM.js → chunk-XCM3VKFY.js} +1 -1
- package/public/{chunk-D5RKKI2A.js → chunk-XFAARHWA.js} +1 -1
- package/public/{chunk-JD5JQTN5.js → chunk-XNZMG6ZP.js} +1 -1
- package/public/{chunk-FTKWC2Q2.js → chunk-Y6IRT5JS.js} +1 -1
- package/public/chunk-YMFBNYEN.js +1 -0
- package/public/{chunk-OS2SEJZU.js → chunk-YSLCQT67.js} +1 -1
- package/public/chunk-YVMSP7ZU.js +52 -0
- package/public/{chunk-VSBBKD6B.js → chunk-Z5QZ2DBA.js} +1 -1
- package/public/{chunk-FGNMMSZH.js → chunk-Z7U3QJUA.js} +1 -1
- package/public/{chunk-2SCTALGY.js → chunk-ZGN3NVBG.js} +1 -1
- package/public/{chunk-JFRCT5V7.js → chunk-ZVV3GLU5.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-UGYHSCMY.js → main-6UMQJXGA.js} +1 -1
- package/public/chunk-425ZEUU6.js +0 -1
- package/public/chunk-BMKJTHFC.js +0 -40
- package/public/chunk-LHCMU3MO.js +0 -1
- package/public/chunk-UTFHCUKB.js +0 -1
- package/public/chunk-UV24H47X.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as X}from"./chunk-ZEI3HZ6P.js";import{B as Q,e as z,l as G,s as H,t as J,v as K}from"./chunk-N2TWGDNX.js";import{e as te}from"./chunk-CYBDQV2B.js";import{b as ne}from"./chunk-UEDMHOPK.js";import{k as Y,l as Z,n as ee,q as ie}from"./chunk-L66ATRVT.js";import{$b as f,Ib as E,Lb as B,Nb as m,Qa as s,Rc as W,_b as p,a as F,ac as w,b as V,bc as L,db as N,fc as P,gc as j,h as U,hc as q,na as I,nc as D,oc as O,pb as k,qb as g,rb as v,sa as $,sc as u,ta as y,tb as M,tc as _,ub as T,vb as R,wb as x,x as b,xb as a,yb as r,zb as S}from"./chunk-JJ7TVAIH.js";var oe=(t,c)=>({"fa-matter":t,"fa-hap":c}),ae=(t,c)=>({"btn-danger":t,"btn-elegant":c}),re=(t,c,e)=>({"fa-trash":t,"fa-undo":c,"fa-spinner fa-pulse":e});function le(t,c){t&1&&(a(0,"div",12),S(1,"i",13),r(),a(2,"p",14),p(3),u(4,"translate"),r()),t&2&&(s(3),f(_(4,1,"reset.no_accessories")))}function ce(t,c){if(t&1&&(a(0,"option",24),p(1),r()),t&2){let e=c.$implicit;x("value",e._id),s(),L("",e.name," (",e._username,")")}}function de(t,c){if(t&1){let e=E();a(0,"li",20),p(1),u(2,"translate"),r(),a(3,"li",18)(4,"label",21),p(5),u(6,"translate"),r(),a(7,"div",22)(8,"select",23),q("ngModelChange",function(i){$(e);let o=m(2);return j(o.selectedBridge,i)||(o.selectedBridge=i),y(i)}),B("change",function(i){$(e);let o=m(2);return y(o.onBridgeChange(i.target.value))}),T(9,ce,2,3,"option",24,M),r()()()}if(t&2){let e=m(2);s(),f(_(2,3,"form.label.changes_kept")),s(4),f(_(6,5,"reset.accessory_ind.bridge")),s(3),P("ngModel",e.selectedBridge),s(),R(e.pairings)}}function pe(t,c){if(t&1&&(a(0,"li",18)(1,"label",25),p(2),u(3,"translate"),r(),a(4,"div",26),p(5),r()()),t&2){let e=m(2);s(2),f(_(3,2,"reset.accessory_ind.bridge")),s(3),w(" ",e.getCurrentlySelectedBridge()," ")}}function me(t,c){if(t&1){let e=E();a(0,"li",19)(1,"span",27),S(2,"i",28),r(),a(3,"span",29),p(4),S(5,"br"),a(6,"small")(7,"span",30),p(8),r()()(),a(9,"button",31),u(10,"translate"),B("click",function(){let i=$(e).$implicit,o=m(2);return y(o.toggleList(i.UUID||i.uuid,i.$cacheFile,i.$protocol,i.$deviceId))}),S(11,"i",32),r()()}if(t&2){let e=c.$implicit,n=m(2);s(2),x("ngClass",D(9,oe,e.$protocol==="matter",e.$protocol!=="matter")),s(2),w(" ",e.displayName," "),s(4),f(e.UUID||e.uuid),s(),x("disabled",n.clicked)("ngClass",D(12,ae,!n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol),n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol))),k("aria-label",_(10,7,"form.button_delete")),s(2),x("ngClass",O(15,re,!n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol),n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol)&&!n.clicked,n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol)&&n.clicked))}}function ue(t,c){if(t&1&&(a(0,"div",12),S(1,"i",15),r(),a(2,"ul",16)(3,"li"),p(4),u(5,"translate"),r(),a(6,"li"),p(7),u(8,"translate"),r(),a(9,"li"),p(10),u(11,"translate"),r()(),a(12,"ul",17),g(13,de,11,7),g(14,pe,6,4,"li",18),T(15,me,12,19,"li",19,M),r()),t&2){let e=m();s(4),f(_(5,5,"reset.accessory_ind.list_1")),s(3),f(_(8,7,"reset.accessory_ind.list_2")),s(3),f(_(11,9,"reset.accessory_ind.list_3")),s(3),v(e.pairings.length>1?13:-1),s(),v(e.pairings.length===1?14:-1),s(),R(e.selectedBridgeAccessories)}}function _e(t,c){if(t&1){let e=E();a(0,"button",33),B("click",function(){$(e);let i=m();return y(i.dismissModal())}),p(1),u(2,"translate"),r()}if(t&2){let e=m();x("disabled",e.clicked),s(),w(" ",_(2,2,"form.button_close")," ")}}function ge(t,c){if(t&1){let e=E();a(0,"button",34),B("click",function(){$(e);let i=m();return y(i.dismissModal())}),p(1),u(2,"translate"),r()}t&2&&(s(),w(" ",_(2,1,"form.button_close")," "))}function ve(t,c){if(t&1&&p(0),t&2){let e=m(3);w(" (",e.toDelete.length,") ")}}function he(t,c){if(t&1&&(p(0),u(1,"translate"),g(2,ve,1,1)),t&2){let e=m(2);w(" ",_(1,2,"form.button_remove")," "),s(2),v(e.toDelete.length>0?2:-1)}}function fe(t,c){t&1&&S(0,"i",36)}function xe(t,c){if(t&1){let e=E();a(0,"button",35),B("click",function(){$(e);let i=m();return y(i.removeAccessories())}),g(1,he,3,4),g(2,fe,1,0,"i",36),r()}if(t&2){let e=m();x("disabled",!e.toDelete.length||e.clicked),s(),v(e.clicked?-1:1),s(),v(e.clicked?2:-1)}}var De=(()=>{class t{$activeModal=I(X);$api=I(ie);$router=I(te);$settings=I(ne);$toastr=I(ee);$translate=I(Y);isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");selectedBridge="";pairings=[];clicked=!1;selectedBridgeAccessories=[];accessoriesExist=!1;toDelete=[];ngOnInit(){this.loadCachedAccessories()}onBridgeChange(e){this.selectedBridge=e,this.selectedBridgeAccessories=this.pairings.find(n=>n._id===this.selectedBridge)?.accessories}getCurrentlySelectedBridge(){let e=this.pairings.find(n=>n._id===this.selectedBridge);return`${e.name} - ${e._username}`}toggleList(e,n,i,o){this.toDelete.some(h=>h.uuid===e&&h.cacheFile===n&&h.protocol===i)?this.toDelete=this.toDelete.filter(h=>h.uuid!==e||h.cacheFile!==n||h.protocol!==i):this.toDelete.push({cacheFile:n,uuid:e,protocol:i,deviceId:o})}isInList(e,n,i){return this.toDelete.some(o=>o.uuid===e&&o.cacheFile===n&&o.protocol===i)}removeAccessories(){this.clicked=!0;let e=this.toDelete.filter(o=>o.protocol==="hap").map(o=>({uuid:o.uuid,cacheFile:o.cacheFile})),n=this.toDelete.filter(o=>o.protocol==="matter").map(o=>({uuid:o.uuid,deviceId:o.deviceId})),i=[];if(e.length>0&&i.push(this.$api.delete("/server/cached-accessories",{body:e})),this.isMatterSupported&&n.length>0&&i.push(this.$api.delete("/server/matter-accessories",{body:n})),i.length===0){this.clicked=!1;return}Promise.all(i.map(o=>b(o))).then(()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})}).catch(o=>{this.clicked=!1,console.error(o),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadCachedAccessories(){return U(this,null,function*(){try{let e=this.isMatterSupported?[b(this.$api.get("/server/cached-accessories")),b(this.$api.get("/server/matter-accessories")),b(this.$api.get("/server/pairings"))]:[b(this.$api.get("/server/cached-accessories")),b(this.$api.get("/server/pairings"))],n=yield Promise.all(e),i=n[0],o=this.isMatterSupported?n[1]:[],h=this.isMatterSupported?n[2]:n[1],C=new Map(h.map(l=>[l._id,V(F({},l),{accessories:[]})]));i.sort((l,d)=>l.displayName.localeCompare(d.displayName)).forEach(l=>{let d=h.find(se=>se._main),A=l.$cacheFile?.split(".")?.[1]||d._id;(!this.selectedBridge||this.selectedBridge===A)&&(C.has(A)||C.set(A,{_id:A,_username:A.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),l.$protocol="hap",C.get(A).accessories.push(l))}),this.isMatterSupported&&o.sort((l,d)=>l.displayName.localeCompare(d.displayName)).forEach(l=>{let d=l.$deviceId;(!this.selectedBridge||this.selectedBridge===d)&&(C.has(d)||C.set(d,{_id:d,_username:d.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),l.$protocol="matter",l.$cacheFile=d,C.get(d).accessories.push(l))}),this.pairings=Array.from(C.values()).filter(l=>l.accessories.length>0).sort((l,d)=>l._main&&!d._main?-1:!l._main&&d._main?1:l.name.localeCompare(d.name)),this.selectedBridge=this.selectedBridge||this.pairings[0]?._id,this.selectedBridge&&(this.accessoriesExist=!0,this.selectedBridgeAccessories=this.pairings[0].accessories)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=N({type:t,selectors:[["ng-component"]],inputs:{selectedBridge:"selectedBridge"},decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text","font-monospace"],[1,"me-3"],[1,"fas","fa-lg",3,"ngClass"],[1,"flex-grow-1"],[1,"font-monospace","grey-text"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),p(3),u(4,"translate"),r(),a(5,"button",3),u(6,"translate"),B("click",function(){return i.dismissModal()}),r()(),a(7,"div",4),g(8,le,5,3),g(9,ue,17,11),r(),a(10,"div",5)(11,"div",6),g(12,_e,3,4,"button",7),r(),a(13,"div",8),g(14,ge,3,3,"button",9),r(),a(15,"div",10),g(16,xe,3,3,"button",11),r()()()),n&2&&(s(3),f(_(4,8,"reset.accessory_ind.title")),s(2),x("disabled",i.clicked),k("aria-label",_(6,10,"form.button_close")),s(3),v(i.accessoriesExist?-1:8),s(),v(i.accessoriesExist?9:-1),s(3),v(i.accessoriesExist?12:-1),s(2),v(i.accessoriesExist?-1:14),s(2),v(i.accessoriesExist?16:-1))},dependencies:[W,Q,J,K,H,z,G,Z],encapsulation:2})}return t})();export{De as a};
|
|
1
|
+
import{m as X}from"./chunk-5SJKGEVE.js";import{B as Q,e as z,l as G,s as H,t as J,v as K}from"./chunk-PJNMYOLO.js";import{e as te}from"./chunk-5WBNDRQY.js";import{b as ne}from"./chunk-HEPKK2NF.js";import{k as Y,l as Z,n as ee,q as ie}from"./chunk-PQA4VPZR.js";import{$b as f,Ib as E,Lb as B,Nb as m,Qa as s,Rc as W,_b as p,a as F,ac as w,b as V,bc as L,db as N,fc as P,gc as j,h as U,hc as q,na as I,nc as D,oc as O,pb as k,qb as g,rb as v,sa as $,sc as u,ta as y,tb as M,tc as _,ub as T,vb as R,wb as x,x as b,xb as a,yb as r,zb as S}from"./chunk-EQP5UP7Q.js";var oe=(t,c)=>({"fa-matter":t,"fa-hap":c}),ae=(t,c)=>({"btn-danger":t,"btn-elegant":c}),re=(t,c,e)=>({"fa-trash":t,"fa-undo":c,"fa-spinner fa-pulse":e});function le(t,c){t&1&&(a(0,"div",12),S(1,"i",13),r(),a(2,"p",14),p(3),u(4,"translate"),r()),t&2&&(s(3),f(_(4,1,"reset.no_accessories")))}function ce(t,c){if(t&1&&(a(0,"option",24),p(1),r()),t&2){let e=c.$implicit;x("value",e._id),s(),L("",e.name," (",e._username,")")}}function de(t,c){if(t&1){let e=E();a(0,"li",20),p(1),u(2,"translate"),r(),a(3,"li",18)(4,"label",21),p(5),u(6,"translate"),r(),a(7,"div",22)(8,"select",23),q("ngModelChange",function(i){$(e);let o=m(2);return j(o.selectedBridge,i)||(o.selectedBridge=i),y(i)}),B("change",function(i){$(e);let o=m(2);return y(o.onBridgeChange(i.target.value))}),T(9,ce,2,3,"option",24,M),r()()()}if(t&2){let e=m(2);s(),f(_(2,3,"form.label.changes_kept")),s(4),f(_(6,5,"reset.accessory_ind.bridge")),s(3),P("ngModel",e.selectedBridge),s(),R(e.pairings)}}function pe(t,c){if(t&1&&(a(0,"li",18)(1,"label",25),p(2),u(3,"translate"),r(),a(4,"div",26),p(5),r()()),t&2){let e=m(2);s(2),f(_(3,2,"reset.accessory_ind.bridge")),s(3),w(" ",e.getCurrentlySelectedBridge()," ")}}function me(t,c){if(t&1){let e=E();a(0,"li",19)(1,"span",27),S(2,"i",28),r(),a(3,"span",29),p(4),S(5,"br"),a(6,"small")(7,"span",30),p(8),r()()(),a(9,"button",31),u(10,"translate"),B("click",function(){let i=$(e).$implicit,o=m(2);return y(o.toggleList(i.UUID||i.uuid,i.$cacheFile,i.$protocol,i.$deviceId))}),S(11,"i",32),r()()}if(t&2){let e=c.$implicit,n=m(2);s(2),x("ngClass",D(9,oe,e.$protocol==="matter",e.$protocol!=="matter")),s(2),w(" ",e.displayName," "),s(4),f(e.UUID||e.uuid),s(),x("disabled",n.clicked)("ngClass",D(12,ae,!n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol),n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol))),k("aria-label",_(10,7,"form.button_delete")),s(2),x("ngClass",O(15,re,!n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol),n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol)&&!n.clicked,n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol)&&n.clicked))}}function ue(t,c){if(t&1&&(a(0,"div",12),S(1,"i",15),r(),a(2,"ul",16)(3,"li"),p(4),u(5,"translate"),r(),a(6,"li"),p(7),u(8,"translate"),r(),a(9,"li"),p(10),u(11,"translate"),r()(),a(12,"ul",17),g(13,de,11,7),g(14,pe,6,4,"li",18),T(15,me,12,19,"li",19,M),r()),t&2){let e=m();s(4),f(_(5,5,"reset.accessory_ind.list_1")),s(3),f(_(8,7,"reset.accessory_ind.list_2")),s(3),f(_(11,9,"reset.accessory_ind.list_3")),s(3),v(e.pairings.length>1?13:-1),s(),v(e.pairings.length===1?14:-1),s(),R(e.selectedBridgeAccessories)}}function _e(t,c){if(t&1){let e=E();a(0,"button",33),B("click",function(){$(e);let i=m();return y(i.dismissModal())}),p(1),u(2,"translate"),r()}if(t&2){let e=m();x("disabled",e.clicked),s(),w(" ",_(2,2,"form.button_close")," ")}}function ge(t,c){if(t&1){let e=E();a(0,"button",34),B("click",function(){$(e);let i=m();return y(i.dismissModal())}),p(1),u(2,"translate"),r()}t&2&&(s(),w(" ",_(2,1,"form.button_close")," "))}function ve(t,c){if(t&1&&p(0),t&2){let e=m(3);w(" (",e.toDelete.length,") ")}}function he(t,c){if(t&1&&(p(0),u(1,"translate"),g(2,ve,1,1)),t&2){let e=m(2);w(" ",_(1,2,"form.button_remove")," "),s(2),v(e.toDelete.length>0?2:-1)}}function fe(t,c){t&1&&S(0,"i",36)}function xe(t,c){if(t&1){let e=E();a(0,"button",35),B("click",function(){$(e);let i=m();return y(i.removeAccessories())}),g(1,he,3,4),g(2,fe,1,0,"i",36),r()}if(t&2){let e=m();x("disabled",!e.toDelete.length||e.clicked),s(),v(e.clicked?-1:1),s(),v(e.clicked?2:-1)}}var De=(()=>{class t{$activeModal=I(X);$api=I(ie);$router=I(te);$settings=I(ne);$toastr=I(ee);$translate=I(Y);isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");selectedBridge="";pairings=[];clicked=!1;selectedBridgeAccessories=[];accessoriesExist=!1;toDelete=[];ngOnInit(){this.loadCachedAccessories()}onBridgeChange(e){this.selectedBridge=e,this.selectedBridgeAccessories=this.pairings.find(n=>n._id===this.selectedBridge)?.accessories}getCurrentlySelectedBridge(){let e=this.pairings.find(n=>n._id===this.selectedBridge);return`${e.name} - ${e._username}`}toggleList(e,n,i,o){this.toDelete.some(h=>h.uuid===e&&h.cacheFile===n&&h.protocol===i)?this.toDelete=this.toDelete.filter(h=>h.uuid!==e||h.cacheFile!==n||h.protocol!==i):this.toDelete.push({cacheFile:n,uuid:e,protocol:i,deviceId:o})}isInList(e,n,i){return this.toDelete.some(o=>o.uuid===e&&o.cacheFile===n&&o.protocol===i)}removeAccessories(){this.clicked=!0;let e=this.toDelete.filter(o=>o.protocol==="hap").map(o=>({uuid:o.uuid,cacheFile:o.cacheFile})),n=this.toDelete.filter(o=>o.protocol==="matter").map(o=>({uuid:o.uuid,deviceId:o.deviceId})),i=[];if(e.length>0&&i.push(this.$api.delete("/server/cached-accessories",{body:e})),this.isMatterSupported&&n.length>0&&i.push(this.$api.delete("/server/matter-accessories",{body:n})),i.length===0){this.clicked=!1;return}Promise.all(i.map(o=>b(o))).then(()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})}).catch(o=>{this.clicked=!1,console.error(o),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadCachedAccessories(){return U(this,null,function*(){try{let e=this.isMatterSupported?[b(this.$api.get("/server/cached-accessories")),b(this.$api.get("/server/matter-accessories")),b(this.$api.get("/server/pairings"))]:[b(this.$api.get("/server/cached-accessories")),b(this.$api.get("/server/pairings"))],n=yield Promise.all(e),i=n[0],o=this.isMatterSupported?n[1]:[],h=this.isMatterSupported?n[2]:n[1],C=new Map(h.map(l=>[l._id,V(F({},l),{accessories:[]})]));i.sort((l,d)=>l.displayName.localeCompare(d.displayName)).forEach(l=>{let d=h.find(se=>se._main),A=l.$cacheFile?.split(".")?.[1]||d._id;(!this.selectedBridge||this.selectedBridge===A)&&(C.has(A)||C.set(A,{_id:A,_username:A.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),l.$protocol="hap",C.get(A).accessories.push(l))}),this.isMatterSupported&&o.sort((l,d)=>l.displayName.localeCompare(d.displayName)).forEach(l=>{let d=l.$deviceId;(!this.selectedBridge||this.selectedBridge===d)&&(C.has(d)||C.set(d,{_id:d,_username:d.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),l.$protocol="matter",l.$cacheFile=d,C.get(d).accessories.push(l))}),this.pairings=Array.from(C.values()).filter(l=>l.accessories.length>0).sort((l,d)=>l._main&&!d._main?-1:!l._main&&d._main?1:l.name.localeCompare(d.name)),this.selectedBridge=this.selectedBridge||this.pairings[0]?._id,this.selectedBridge&&(this.accessoriesExist=!0,this.selectedBridgeAccessories=this.pairings[0].accessories)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=N({type:t,selectors:[["ng-component"]],inputs:{selectedBridge:"selectedBridge"},decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text","font-monospace"],[1,"me-3"],[1,"fas","fa-lg",3,"ngClass"],[1,"flex-grow-1"],[1,"font-monospace","grey-text"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),p(3),u(4,"translate"),r(),a(5,"button",3),u(6,"translate"),B("click",function(){return i.dismissModal()}),r()(),a(7,"div",4),g(8,le,5,3),g(9,ue,17,11),r(),a(10,"div",5)(11,"div",6),g(12,_e,3,4,"button",7),r(),a(13,"div",8),g(14,ge,3,3,"button",9),r(),a(15,"div",10),g(16,xe,3,3,"button",11),r()()()),n&2&&(s(3),f(_(4,8,"reset.accessory_ind.title")),s(2),x("disabled",i.clicked),k("aria-label",_(6,10,"form.button_close")),s(3),v(i.accessoriesExist?-1:8),s(),v(i.accessoriesExist?9:-1),s(3),v(i.accessoriesExist?12:-1),s(2),v(i.accessoriesExist?-1:14),s(2),v(i.accessoriesExist?16:-1))},dependencies:[W,Q,J,K,H,z,G,Z],encapsulation:2})}return t})();export{De as a};
|