homebridge-config-ui-x 5.8.1-beta.10 → 5.8.1-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/dist/core/feature-flags/feature-flags.registry.js +1 -1
  3. package/dist/core/feature-flags/feature-flags.registry.js.map +1 -1
  4. package/package.json +2 -2
  5. package/public/{chunk-GJ4NQ6RR.js → chunk-23NO2QRF.js} +1 -1
  6. package/public/{chunk-YJAZ7E5U.js → chunk-3ZW3RHO2.js} +1 -1
  7. package/public/{chunk-XYQ2P6TQ.js → chunk-45QJRRM2.js} +1 -1
  8. package/public/{chunk-OO2PFMUT.js → chunk-4JXKOL5A.js} +1 -1
  9. package/public/{chunk-UDI7EA7K.js → chunk-562FHXEL.js} +1 -1
  10. package/public/{chunk-ZA7Y6W26.js → chunk-56X2GX7O.js} +1 -1
  11. package/public/{chunk-SBX42YGL.js → chunk-6FM4M667.js} +1 -1
  12. package/public/{chunk-LCVDYVDC.js → chunk-6S53AXYS.js} +1 -1
  13. package/public/{chunk-2HJ656K2.js → chunk-73ULK4PB.js} +1 -1
  14. package/public/{chunk-LUVKT24F.js → chunk-A7OHKDDC.js} +1 -1
  15. package/public/{chunk-XNI3GOWL.js → chunk-AEGPJANL.js} +1 -1
  16. package/public/{chunk-PKFOUW7F.js → chunk-B3XHQXYQ.js} +1 -1
  17. package/public/{chunk-GU2LDNRA.js → chunk-BHWNG6PA.js} +1 -1
  18. package/public/{chunk-NJB7W7XG.js → chunk-CGRVKHA4.js} +1 -1
  19. package/public/{chunk-BPL74ASO.js → chunk-CYE2V6O6.js} +1 -1
  20. package/public/{chunk-BF2MU3RQ.js → chunk-DI2KSQOP.js} +1 -1
  21. package/public/{chunk-6BSVFS3Z.js → chunk-FENSLTEV.js} +1 -1
  22. package/public/{chunk-AOMA2RFA.js → chunk-GLBRJQT7.js} +1 -1
  23. package/public/{chunk-7T3PHJA2.js → chunk-H2E3ZPEY.js} +1 -1
  24. package/public/{chunk-OMFAE35M.js → chunk-HPTZ5XSC.js} +1 -1
  25. package/public/{chunk-5HSTGU2S.js → chunk-HZQ3XDZ4.js} +1 -1
  26. package/public/{chunk-OAWUW5JK.js → chunk-IKTT4J4T.js} +1 -1
  27. package/public/{chunk-WQPHE2UF.js → chunk-JHRKDJAF.js} +1 -1
  28. package/public/{chunk-KBANEWIP.js → chunk-JQILXLWX.js} +1 -1
  29. package/public/{chunk-YX6RZUQD.js → chunk-L6VQ25IT.js} +1 -1
  30. package/public/{chunk-P47D6YKF.js → chunk-M5JUZRRU.js} +1 -1
  31. package/public/{chunk-LQIV3IVL.js → chunk-MKXICSC2.js} +1 -1
  32. package/public/{chunk-FECLRIF2.js → chunk-N3BWXE6J.js} +1 -1
  33. package/public/{chunk-FSNKYVUR.js → chunk-NAXFQZUR.js} +1 -1
  34. package/public/{chunk-HVEA2SOL.js → chunk-NGG2IRCD.js} +1 -1
  35. package/public/{chunk-5IK7S5UY.js → chunk-P3GHBQJX.js} +1 -1
  36. package/public/{chunk-AF6WHPSI.js → chunk-PRB4DC5A.js} +1 -1
  37. package/public/{chunk-6EXUDJK2.js → chunk-QGWEUA5C.js} +1 -1
  38. package/public/{chunk-I4IR5TID.js → chunk-QSGWF2IB.js} +1 -1
  39. package/public/{chunk-VNVPY4GU.js → chunk-R2Z52UNX.js} +1 -1
  40. package/public/{chunk-OTLQZLR6.js → chunk-RNCKIHO5.js} +1 -1
  41. package/public/{chunk-7RAE6BDV.js → chunk-S6OXRZYS.js} +1 -1
  42. package/public/{chunk-MC3ZSW3C.js → chunk-SAXKQCOI.js} +1 -1
  43. package/public/{chunk-C23A5G7X.js → chunk-SNUCJ2XF.js} +1 -1
  44. package/public/chunk-SYDUUYHB.js +1 -0
  45. package/public/{chunk-6IQUVFAH.js → chunk-TWOUROSE.js} +20 -20
  46. package/public/{chunk-WWOSAPQ6.js → chunk-UDDKR4SS.js} +1 -1
  47. package/public/{chunk-KRAE3ZV7.js → chunk-WD5KP7RJ.js} +1 -1
  48. package/public/{chunk-LLGR6YT6.js → chunk-WKHWKYGG.js} +1 -1
  49. package/public/{chunk-ZL7WGJJW.js → chunk-WL2XB5LP.js} +1 -1
  50. package/public/{chunk-IMHGEFPQ.js → chunk-WV75DVZS.js} +1 -1
  51. package/public/{chunk-MHXXUKNU.js → chunk-WWO2HXIZ.js} +1 -1
  52. package/public/{chunk-QD3VVLOS.js → chunk-XFPVX4GB.js} +1 -1
  53. package/public/{chunk-U5XWZU46.js → chunk-YQ62EKRR.js} +1 -1
  54. package/public/{chunk-4GXPXAHY.js → chunk-YXVRJBUE.js} +1 -1
  55. package/public/{chunk-BI7LP7NL.js → chunk-Z3POSQ5D.js} +1 -1
  56. package/public/{chunk-HOVPO47J.js → chunk-ZKS6657N.js} +1 -1
  57. package/public/{chunk-WKZJCNS6.js → chunk-ZZ42VBG7.js} +1 -1
  58. package/public/index.html +1 -1
  59. package/public/{main-MGR4YROM.js → main-2T5IPYMI.js} +1 -1
  60. package/public/chunk-MFJYDGFF.js +0 -1
@@ -1 +1 @@
1
- import{a as pe}from"./chunk-7T3PHJA2.js";import{a as ne,b as oe,c as ae}from"./chunk-HW3MSWTY.js";import{c as de}from"./chunk-ZL7WGJJW.js";import"./chunk-U5XWZU46.js";import{a as _e}from"./chunk-PKFOUW7F.js";import{a as ce}from"./chunk-TVXZP4H4.js";import{a as me}from"./chunk-KYFLQ7R3.js";import{m as I,n as ee,t as te}from"./chunk-PELXH4TO.js";import{B as Z,c as J,e as K,f as Q,i as U,l as X,m as Y}from"./chunk-YLFJH4ZN.js";import"./chunk-OTLQZLR6.js";import{b as le}from"./chunk-UDI7EA7K.js";import"./chunk-NKVA4YGF.js";import{b as se}from"./chunk-KBANEWIP.js";import{k as ie,l as S,q as re}from"./chunk-YJAZ7E5U.js";import{$b as m,Ab as F,Bb as O,Cb as R,Ib as k,La as W,Lb as b,Nb as d,Qa as i,Qc as G,_b as c,ac as w,db as M,fc as A,gc as T,h as L,hc as E,kc as z,lc as B,mc as j,na as f,pb as C,qb as h,rb as y,rc as s,sa as v,sc as l,ta as x,tb as D,tc as q,ub as P,vb as V,wb as g,x as H,xb as a,yb as r,zb as p}from"./chunk-YYORCSG2.js";var ue=(()=>{class t{$activeModal=f(I);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],decls:42,vars:30,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"ms-2","mt-2"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(n,o){n&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"h5",7),c(12),s(13,"translate"),r(),a(14,"ul",8)(15,"li"),c(16),s(17,"translate"),r(),a(18,"li"),c(19),s(20,"translate"),r()(),a(21,"h5",9),c(22),s(23,"translate"),r(),a(24,"ul",8)(25,"li"),c(26),s(27,"translate"),r(),a(28,"li"),c(29),s(30,"translate"),r(),a(31,"li"),c(32),s(33,"translate"),r()(),p(34,"app-support-banner"),r(),a(35,"div",10),p(36,"div",11),a(37,"div",12)(38,"button",13),b("click",function(){return o.dismissModal()}),c(39),s(40,"translate"),r()(),p(41,"div",14),r()()()),n&2&&(i(4),m(l(5,10,"support.title")),i(2),C("aria-label",l(7,12,"form.button_close")),i(6),m(l(13,14,"menu.label_accessories")),i(4),m(l(17,16,"accessories.support.acc_1")),i(3),m(l(20,18,"accessories.support.acc_2")),i(3),m(l(23,20,"accessories.title_rooms")),i(4),m(l(27,22,"accessories.support.rooms_1")),i(3),m(l(30,24,"accessories.support.rooms_2")),i(3),m(l(33,26,"accessories.support.rooms_3")),i(7),w(" ",l(40,28,"form.button_close")," "))},dependencies:[_e,S],encapsulation:2})}return t})();var fe=()=>({standalone:!0}),ge=(()=>{class t{$activeModal=f(I);roomName;dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(e){this.$activeModal.close(e)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,o){n&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li",8)(13,"label",9),c(14),s(15,"translate"),r(),a(16,"div",10)(17,"input",11),E("ngModelChange",function($){return T(o.roomName,$)||(o.roomName=$),$}),b("keyup.enter",function(){return o.closeModal(o.roomName)}),r()()()()(),a(18,"div",12)(19,"div",13)(20,"button",14),b("click",function(){return o.dismissModal()}),c(21),s(22,"translate"),r()(),p(23,"div",15),a(24,"div",16)(25,"button",17),b("click",function(){return o.closeModal(o.roomName)}),c(26),s(27,"translate"),r()()()()()),n&2&&(i(4),m(l(5,8,"accessories.button_add_room")),i(2),C("aria-label",l(7,10,"form.button_close")),i(8),m(l(15,12,"accessories.room_name")),i(3),A("ngModel",o.roomName),g("ngModelOptions",z(18,fe)),i(4),w(" ",l(22,14,"form.button_close")," "),i(4),g("disabled",!o.roomName),i(),w(" ",l(27,16,"form.button_save")," "))},dependencies:[Z,Y,J,K,Q,X,U,S],encapsulation:2})}return t})();var be=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(n,o){n&1&&(F(0,"div",0),R(1,"i",1),F(2,"div",2),c(3),s(4,"translate"),O()()),n&2&&(i(3),m(l(4,1,"accessories.control.drag_here")))},dependencies:[S],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var Ce=(t,u)=>({"fa-eye":t,"fa-eye-slash":u}),ve=t=>({"cursor-move":t}),xe=t=>({"justify-content-between":t}),he=t=>({link:t});function ye(t,u){if(t&1){let e=k();a(0,"button",8),s(1,"translate"),s(2,"translate"),b("click",function(){v(e);let o=d(2);return x(o.addRoom())}),p(3,"i",9),r(),a(4,"button",8),s(5,"translate"),s(6,"translate"),s(7,"translate"),s(8,"translate"),b("click",function(){v(e);let o=d(2);return x(o.hideHidden=!o.hideHidden)}),p(9,"i",10),r(),a(10,"div",11)(11,"button",12),s(12,"translate"),s(13,"translate"),b("click",function(){v(e);let o=d(2);return x(o.toggleLayoutLock())}),p(14,"i",13),r(),a(15,"button",12),s(16,"translate"),s(17,"translate"),b("click",function(){v(e);let o=d(2);return x(o.toggleLayoutLock())}),p(18,"i",14),r()()}if(t&2){let e=d(2);g("hidden",e.isMobile)("openDelay",150)("ngbTooltip",l(1,17,"accessories.button_add_room")),C("aria-label",l(2,19,"accessories.button_add_room")),i(4),g("hidden",e.isMobile)("openDelay",150)("ngbTooltip",e.hideHidden?l(5,21,"accessories.button_hidden_show"):l(6,23,"accessories.button_hidden_hide")),C("aria-label",e.hideHidden?l(7,25,"accessories.button_hidden_show"):l(8,27,"accessories.button_hidden_hide")),i(5),g("ngClass",j(37,Ce,!e.hideHidden,e.hideHidden)),i(2),g("disabled",!e.isMobile)("openDelay",150)("ngbTooltip",l(12,29,"form.button_unlock")),C("aria-label",l(13,31,"form.button_unlock")),i(4),g("disabled",e.isMobile)("openDelay",150)("ngbTooltip",l(16,33,"form.button_lock")),C("aria-label",l(17,35,"form.button_lock"))}}function Me(t,u){t&1&&p(0,"app-spinner")}function Se(t,u){if(t&1&&(a(0,"div",0)(1,"div",21)(2,"h5",22),c(3),s(4,"translate"),r()()()),t&2){let e=d().$implicit,n=d(4);i(2),g("ngClass",B(4,ve,!n.isMobile)),i(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function we(t,u){if(t&1&&(a(0,"div",25),p(1,"app-accessory-tile",26),r()),t&2){let e=d().$implicit;i(),g("service",e)}}function ke(t,u){if(t&1&&h(0,we,2,1,"div",25),t&2){let e=u.$implicit,n=d(6);y(!n.hideHidden||!e.hidden?0:-1)}}function Ae(t,u){if(t&1){let e=k();a(0,"div",23),E("dragulaModelChange",function(o){v(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),P(1,ke,1,1,null,null,D),p(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24),r()}if(t&2){let e=d().$implicit,n=d(4);g("ngClass",B(3,xe,n.isMobile))("dragula","services-bag"),A("dragulaModel",e.services),i(),V(e.services)}}function Te(t,u){if(t&1){let e=k();a(0,"div",27),E("dragulaModelChange",function(o){v(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),p(1,"app-drag-here-placeholder",28),r()}if(t&2){let e=d().$implicit;g("dragula","services-bag"),A("dragulaModel",e.services)}}function Ee(t,u){if(t&1&&(a(0,"div"),h(1,Se,5,6,"div",0),a(2,"div",18),h(3,Ae,13,5,"div",19),h(4,Te,2,2,"div",20),r()()),t&2){let e=u.$implicit,n=d(4);i(),y(!n.isMobile||e.services.length?1:-1),i(2),y(e.services.length?3:-1),i(),y(!e.services.length&&!n.isMobile?4:-1)}}function Be(t,u){if(t&1){let e=k();a(0,"div",17),E("dragulaModelChange",function(o){v(e);let _=d(3);return T(_.$accessories.rooms,o)||(_.$accessories.rooms=o),x(o)}),P(1,Ee,5,3,"div",null,D),r()}if(t&2){let e=d(3);g("dragula","rooms-bag"),A("dragulaModel",e.$accessories.rooms),i(),V(e.$accessories.rooms)}}function Ie(t,u){t&1&&(a(0,"div",16)(1,"div",29)(2,"div",30),p(3,"i",31),r(),a(4,"h5",32),c(5),s(6,"translate"),r(),a(7,"p",33),c(8),s(9,"translate"),r(),a(10,"p",34),c(11),s(12,"translate"),r()()()),t&2&&(i(5),m(l(6,3,"accessories.no_plugins.title")),i(3),m(l(9,5,"accessories.no_plugins.message_1")),i(3),m(l(12,7,"accessories.no_plugins.message_2")))}function $e(t,u){if(t&1&&h(0,Be,3,2,"div",15)(1,Ie,13,9,"div",16),t&2){let e=d(2);y(e.hasPlugins?0:1)}}function De(t,u){if(t&1){let e=k();a(0,"div",1)(1,"div",2)(2,"h3",3),c(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),b("click",function(){v(e);let o=d();return x(o.openSupport())}),p(8,"i",6),r()(),a(9,"div",7),h(10,ye,19,40),a(11,"button",5),s(12,"translate"),b("click",function(){v(e);let o=d();return x(o.openSupport())}),p(13,"i",6),r()()(),h(14,Me,1,0,"app-spinner")(15,$e,2,1)}if(t&2){let e=d();i(3),m(l(4,5,"menu.label_accessories")),i(3),C("aria-label",l(7,7,"support.title")),i(4),y(e.hasPlugins?10:-1),i(),C("aria-label",l(12,9,"support.title")),i(3),y(e.loading?14:15)}}function Pe(t,u){t&1&&(a(0,"p",39),c(1),s(2,"translate"),r()),t&2&&(i(),m(l(2,1,"accessories.settings_link")))}function Ve(t,u){if(t&1&&(a(0,"div",0)(1,"div",35)(2,"h3",36),c(3),s(4,"translate"),r()(),a(5,"div",16)(6,"div",29)(7,"div",30),p(8,"i",37),r(),a(9,"h5",32),c(10),s(11,"translate"),r(),p(12,"p",38),s(13,"translate"),h(14,Pe,3,3,"p",39),r()()()),t&2){let e=d();i(3),m(l(4,4,"menu.label_accessories")),i(7),m(l(11,6,"accessories.control_disabled")),i(2),g("innerHTML",q(13,8,"accessories.message_must_use_insecure_mode",B(11,he,e.linkInsecure)),W),i(2),y(e.isAdmin?14:-1)}}var bt=(()=>{class t{$accessories=f(de);$api=f(re);$auth=f(le);dragulaService=f(ne);$modal=f(ee);$settings=f(se);$md=f(me);$translate=f(ie);orderSubscription;isAdmin=this.$auth.user.admin;enableAccessories=this.$settings.env.enableAccessories;isMobile=!1;hideHidden=!0;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-external-link-alt primary-text"></i></a>';hasPlugins=!1;loading=!0;constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(n,o,_)=>!this.isMobile&&_.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:n=>!this.isMobile&&!n.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile=!0}ngOnInit(){let e=this.$translate.instant("menu.label_accessories");this.$settings.setPageTitle(e),this.$accessories.start(),this.checkForPlugins()}addRoom(){this.$modal.open(ge,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(n=>n.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?document.querySelectorAll(".services-bag").forEach(n=>{for(let o=0;o<10;o+=1){let _=document.createElement("div");_.className="accessory-box invisible py-0 my-0",_.style.height="0",n.appendChild(_)}}):document.querySelectorAll(".invisible").forEach(n=>n.remove())}openSupport(){this.$modal.open(ue,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}checkForPlugins(){return L(this,null,function*(){try{let e=yield H(this.$api.get("/plugins"));this.hasPlugins=e.length>1}catch(e){console.error(e),this.hasPlugins=!0}finally{this.loading=!1}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["app-accessories"]],decls:2,vars:1,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-9","col-sm-6"],[1,"primary-text","m-0"],[1,"col-3","col-sm-6","text-end","d-inline-block","d-sm-none"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],[1,"col-3","col-sm-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","openDelay","ngbTooltip"],[1,"fas","fa-folder-plus"],[1,"fas",3,"ngClass"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","openDelay","ngbTooltip"],[1,"fas","fa-unlock"],[1,"fas","fa-lock"],[3,"dragula","dragulaModel"],[1,"col-12","text-center"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"ngClass","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","ngClass","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],["role","alert",1,"alert","alert-warning","p-4"],[1,"text-center","mb-3"],[1,"fas","fa-plug","primary-text",2,"font-size","75px"],[1,"mb-3","mt-0"],[1,"mb-0","small"],[1,"mb-0","small","mt-2"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"fas","fa-lightbulb","primary-text",2,"font-size","75px"],[1,"mb-0","small",3,"innerHTML"],[1,"mt-2","mb-0","small"]],template:function(n,o){n&1&&h(0,De,16,11)(1,Ve,15,13,"div",0),n&2&&y(o.enableAccessories?0:1)},dependencies:[te,G,ae,oe,pe,be,ce,S],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{bt as AccessoriesComponent};
1
+ import{a as pe}from"./chunk-H2E3ZPEY.js";import{a as ne,b as oe,c as ae}from"./chunk-HW3MSWTY.js";import{c as de}from"./chunk-WL2XB5LP.js";import"./chunk-YQ62EKRR.js";import{a as _e}from"./chunk-B3XHQXYQ.js";import{a as ce}from"./chunk-TVXZP4H4.js";import{a as me}from"./chunk-KYFLQ7R3.js";import{m as I,n as ee,t as te}from"./chunk-PELXH4TO.js";import{B as Z,c as J,e as K,f as Q,i as U,l as X,m as Y}from"./chunk-YLFJH4ZN.js";import"./chunk-RNCKIHO5.js";import{b as le}from"./chunk-562FHXEL.js";import"./chunk-NKVA4YGF.js";import{b as se}from"./chunk-JQILXLWX.js";import{k as ie,l as S,q as re}from"./chunk-3ZW3RHO2.js";import{$b as m,Ab as F,Bb as O,Cb as R,Ib as k,La as W,Lb as b,Nb as d,Qa as i,Qc as G,_b as c,ac as w,db as M,fc as A,gc as T,h as L,hc as E,kc as z,lc as B,mc as j,na as f,pb as C,qb as h,rb as y,rc as s,sa as v,sc as l,ta as x,tb as D,tc as q,ub as P,vb as V,wb as g,x as H,xb as a,yb as r,zb as p}from"./chunk-YYORCSG2.js";var ue=(()=>{class t{$activeModal=f(I);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],decls:42,vars:30,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"ms-2","mt-2"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(n,o){n&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"h5",7),c(12),s(13,"translate"),r(),a(14,"ul",8)(15,"li"),c(16),s(17,"translate"),r(),a(18,"li"),c(19),s(20,"translate"),r()(),a(21,"h5",9),c(22),s(23,"translate"),r(),a(24,"ul",8)(25,"li"),c(26),s(27,"translate"),r(),a(28,"li"),c(29),s(30,"translate"),r(),a(31,"li"),c(32),s(33,"translate"),r()(),p(34,"app-support-banner"),r(),a(35,"div",10),p(36,"div",11),a(37,"div",12)(38,"button",13),b("click",function(){return o.dismissModal()}),c(39),s(40,"translate"),r()(),p(41,"div",14),r()()()),n&2&&(i(4),m(l(5,10,"support.title")),i(2),C("aria-label",l(7,12,"form.button_close")),i(6),m(l(13,14,"menu.label_accessories")),i(4),m(l(17,16,"accessories.support.acc_1")),i(3),m(l(20,18,"accessories.support.acc_2")),i(3),m(l(23,20,"accessories.title_rooms")),i(4),m(l(27,22,"accessories.support.rooms_1")),i(3),m(l(30,24,"accessories.support.rooms_2")),i(3),m(l(33,26,"accessories.support.rooms_3")),i(7),w(" ",l(40,28,"form.button_close")," "))},dependencies:[_e,S],encapsulation:2})}return t})();var fe=()=>({standalone:!0}),ge=(()=>{class t{$activeModal=f(I);roomName;dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(e){this.$activeModal.close(e)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,o){n&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return o.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),p(10,"i",6),r(),a(11,"ul",7)(12,"li",8)(13,"label",9),c(14),s(15,"translate"),r(),a(16,"div",10)(17,"input",11),E("ngModelChange",function($){return T(o.roomName,$)||(o.roomName=$),$}),b("keyup.enter",function(){return o.closeModal(o.roomName)}),r()()()()(),a(18,"div",12)(19,"div",13)(20,"button",14),b("click",function(){return o.dismissModal()}),c(21),s(22,"translate"),r()(),p(23,"div",15),a(24,"div",16)(25,"button",17),b("click",function(){return o.closeModal(o.roomName)}),c(26),s(27,"translate"),r()()()()()),n&2&&(i(4),m(l(5,8,"accessories.button_add_room")),i(2),C("aria-label",l(7,10,"form.button_close")),i(8),m(l(15,12,"accessories.room_name")),i(3),A("ngModel",o.roomName),g("ngModelOptions",z(18,fe)),i(4),w(" ",l(22,14,"form.button_close")," "),i(4),g("disabled",!o.roomName),i(),w(" ",l(27,16,"form.button_save")," "))},dependencies:[Z,Y,J,K,Q,X,U,S],encapsulation:2})}return t})();var be=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(n,o){n&1&&(F(0,"div",0),R(1,"i",1),F(2,"div",2),c(3),s(4,"translate"),O()()),n&2&&(i(3),m(l(4,1,"accessories.control.drag_here")))},dependencies:[S],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var Ce=(t,u)=>({"fa-eye":t,"fa-eye-slash":u}),ve=t=>({"cursor-move":t}),xe=t=>({"justify-content-between":t}),he=t=>({link:t});function ye(t,u){if(t&1){let e=k();a(0,"button",8),s(1,"translate"),s(2,"translate"),b("click",function(){v(e);let o=d(2);return x(o.addRoom())}),p(3,"i",9),r(),a(4,"button",8),s(5,"translate"),s(6,"translate"),s(7,"translate"),s(8,"translate"),b("click",function(){v(e);let o=d(2);return x(o.hideHidden=!o.hideHidden)}),p(9,"i",10),r(),a(10,"div",11)(11,"button",12),s(12,"translate"),s(13,"translate"),b("click",function(){v(e);let o=d(2);return x(o.toggleLayoutLock())}),p(14,"i",13),r(),a(15,"button",12),s(16,"translate"),s(17,"translate"),b("click",function(){v(e);let o=d(2);return x(o.toggleLayoutLock())}),p(18,"i",14),r()()}if(t&2){let e=d(2);g("hidden",e.isMobile)("openDelay",150)("ngbTooltip",l(1,17,"accessories.button_add_room")),C("aria-label",l(2,19,"accessories.button_add_room")),i(4),g("hidden",e.isMobile)("openDelay",150)("ngbTooltip",e.hideHidden?l(5,21,"accessories.button_hidden_show"):l(6,23,"accessories.button_hidden_hide")),C("aria-label",e.hideHidden?l(7,25,"accessories.button_hidden_show"):l(8,27,"accessories.button_hidden_hide")),i(5),g("ngClass",j(37,Ce,!e.hideHidden,e.hideHidden)),i(2),g("disabled",!e.isMobile)("openDelay",150)("ngbTooltip",l(12,29,"form.button_unlock")),C("aria-label",l(13,31,"form.button_unlock")),i(4),g("disabled",e.isMobile)("openDelay",150)("ngbTooltip",l(16,33,"form.button_lock")),C("aria-label",l(17,35,"form.button_lock"))}}function Me(t,u){t&1&&p(0,"app-spinner")}function Se(t,u){if(t&1&&(a(0,"div",0)(1,"div",21)(2,"h5",22),c(3),s(4,"translate"),r()()()),t&2){let e=d().$implicit,n=d(4);i(2),g("ngClass",B(4,ve,!n.isMobile)),i(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function we(t,u){if(t&1&&(a(0,"div",25),p(1,"app-accessory-tile",26),r()),t&2){let e=d().$implicit;i(),g("service",e)}}function ke(t,u){if(t&1&&h(0,we,2,1,"div",25),t&2){let e=u.$implicit,n=d(6);y(!n.hideHidden||!e.hidden?0:-1)}}function Ae(t,u){if(t&1){let e=k();a(0,"div",23),E("dragulaModelChange",function(o){v(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),P(1,ke,1,1,null,null,D),p(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24),r()}if(t&2){let e=d().$implicit,n=d(4);g("ngClass",B(3,xe,n.isMobile))("dragula","services-bag"),A("dragulaModel",e.services),i(),V(e.services)}}function Te(t,u){if(t&1){let e=k();a(0,"div",27),E("dragulaModelChange",function(o){v(e);let _=d().$implicit;return T(_.services,o)||(_.services=o),x(o)}),p(1,"app-drag-here-placeholder",28),r()}if(t&2){let e=d().$implicit;g("dragula","services-bag"),A("dragulaModel",e.services)}}function Ee(t,u){if(t&1&&(a(0,"div"),h(1,Se,5,6,"div",0),a(2,"div",18),h(3,Ae,13,5,"div",19),h(4,Te,2,2,"div",20),r()()),t&2){let e=u.$implicit,n=d(4);i(),y(!n.isMobile||e.services.length?1:-1),i(2),y(e.services.length?3:-1),i(),y(!e.services.length&&!n.isMobile?4:-1)}}function Be(t,u){if(t&1){let e=k();a(0,"div",17),E("dragulaModelChange",function(o){v(e);let _=d(3);return T(_.$accessories.rooms,o)||(_.$accessories.rooms=o),x(o)}),P(1,Ee,5,3,"div",null,D),r()}if(t&2){let e=d(3);g("dragula","rooms-bag"),A("dragulaModel",e.$accessories.rooms),i(),V(e.$accessories.rooms)}}function Ie(t,u){t&1&&(a(0,"div",16)(1,"div",29)(2,"div",30),p(3,"i",31),r(),a(4,"h5",32),c(5),s(6,"translate"),r(),a(7,"p",33),c(8),s(9,"translate"),r(),a(10,"p",34),c(11),s(12,"translate"),r()()()),t&2&&(i(5),m(l(6,3,"accessories.no_plugins.title")),i(3),m(l(9,5,"accessories.no_plugins.message_1")),i(3),m(l(12,7,"accessories.no_plugins.message_2")))}function $e(t,u){if(t&1&&h(0,Be,3,2,"div",15)(1,Ie,13,9,"div",16),t&2){let e=d(2);y(e.hasPlugins?0:1)}}function De(t,u){if(t&1){let e=k();a(0,"div",1)(1,"div",2)(2,"h3",3),c(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),b("click",function(){v(e);let o=d();return x(o.openSupport())}),p(8,"i",6),r()(),a(9,"div",7),h(10,ye,19,40),a(11,"button",5),s(12,"translate"),b("click",function(){v(e);let o=d();return x(o.openSupport())}),p(13,"i",6),r()()(),h(14,Me,1,0,"app-spinner")(15,$e,2,1)}if(t&2){let e=d();i(3),m(l(4,5,"menu.label_accessories")),i(3),C("aria-label",l(7,7,"support.title")),i(4),y(e.hasPlugins?10:-1),i(),C("aria-label",l(12,9,"support.title")),i(3),y(e.loading?14:15)}}function Pe(t,u){t&1&&(a(0,"p",39),c(1),s(2,"translate"),r()),t&2&&(i(),m(l(2,1,"accessories.settings_link")))}function Ve(t,u){if(t&1&&(a(0,"div",0)(1,"div",35)(2,"h3",36),c(3),s(4,"translate"),r()(),a(5,"div",16)(6,"div",29)(7,"div",30),p(8,"i",37),r(),a(9,"h5",32),c(10),s(11,"translate"),r(),p(12,"p",38),s(13,"translate"),h(14,Pe,3,3,"p",39),r()()()),t&2){let e=d();i(3),m(l(4,4,"menu.label_accessories")),i(7),m(l(11,6,"accessories.control_disabled")),i(2),g("innerHTML",q(13,8,"accessories.message_must_use_insecure_mode",B(11,he,e.linkInsecure)),W),i(2),y(e.isAdmin?14:-1)}}var bt=(()=>{class t{$accessories=f(de);$api=f(re);$auth=f(le);dragulaService=f(ne);$modal=f(ee);$settings=f(se);$md=f(me);$translate=f(ie);orderSubscription;isAdmin=this.$auth.user.admin;enableAccessories=this.$settings.env.enableAccessories;isMobile=!1;hideHidden=!0;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-external-link-alt primary-text"></i></a>';hasPlugins=!1;loading=!0;constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(n,o,_)=>!this.isMobile&&_.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:n=>!this.isMobile&&!n.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile=!0}ngOnInit(){let e=this.$translate.instant("menu.label_accessories");this.$settings.setPageTitle(e),this.$accessories.start(),this.checkForPlugins()}addRoom(){this.$modal.open(ge,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(n=>n.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?document.querySelectorAll(".services-bag").forEach(n=>{for(let o=0;o<10;o+=1){let _=document.createElement("div");_.className="accessory-box invisible py-0 my-0",_.style.height="0",n.appendChild(_)}}):document.querySelectorAll(".invisible").forEach(n=>n.remove())}openSupport(){this.$modal.open(ue,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}checkForPlugins(){return L(this,null,function*(){try{let e=yield H(this.$api.get("/plugins"));this.hasPlugins=e.length>1}catch(e){console.error(e),this.hasPlugins=!0}finally{this.loading=!1}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["app-accessories"]],decls:2,vars:1,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-9","col-sm-6"],[1,"primary-text","m-0"],[1,"col-3","col-sm-6","text-end","d-inline-block","d-sm-none"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],[1,"col-3","col-sm-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","openDelay","ngbTooltip"],[1,"fas","fa-folder-plus"],[1,"fas",3,"ngClass"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","openDelay","ngbTooltip"],[1,"fas","fa-unlock"],[1,"fas","fa-lock"],[3,"dragula","dragulaModel"],[1,"col-12","text-center"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"ngClass","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","ngClass","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],["role","alert",1,"alert","alert-warning","p-4"],[1,"text-center","mb-3"],[1,"fas","fa-plug","primary-text",2,"font-size","75px"],[1,"mb-3","mt-0"],[1,"mb-0","small"],[1,"mb-0","small","mt-2"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"fas","fa-lightbulb","primary-text",2,"font-size","75px"],[1,"mb-0","small",3,"innerHTML"],[1,"mt-2","mb-0","small"]],template:function(n,o){n&1&&h(0,De,16,11)(1,Ve,15,13,"div",0),n&2&&y(o.enableAccessories?0:1)},dependencies:[te,G,ae,oe,pe,be,ce,S],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{bt as AccessoriesComponent};
@@ -1 +1 @@
1
- import{m as X}from"./chunk-PELXH4TO.js";import{B as Q,e as z,l as G,s as H,t as J,v as K}from"./chunk-YLFJH4ZN.js";import{e as te}from"./chunk-NKVA4YGF.js";import{b as ne}from"./chunk-KBANEWIP.js";import{k as Y,l as Z,n as ee,q as ie}from"./chunk-YJAZ7E5U.js";import{$b as f,Ib as E,Lb as B,Nb as m,Qa as s,Qc 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,mc as D,na as I,nc as O,pb as k,qb as g,rb as v,rc as u,sa as $,sc as _,ta as y,tb as M,ub as T,vb as R,wb as x,x as b,xb as a,yb as r,zb as S}from"./chunk-YYORCSG2.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-PELXH4TO.js";import{B as Q,e as z,l as G,s as H,t as J,v as K}from"./chunk-YLFJH4ZN.js";import{e as te}from"./chunk-NKVA4YGF.js";import{b as ne}from"./chunk-JQILXLWX.js";import{k as Y,l as Z,n as ee,q as ie}from"./chunk-3ZW3RHO2.js";import{$b as f,Ib as E,Lb as B,Nb as m,Qa as s,Qc 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,mc as D,na as I,nc as O,pb as k,qb as g,rb as v,rc as u,sa as $,sc as _,ta as y,tb as M,ub as T,vb as R,wb as x,x as b,xb as a,yb as r,zb as S}from"./chunk-YYORCSG2.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};