homebridge-config-ui-x 5.0.0-beta.3 → 5.0.0-beta.30
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/CHANGELOG.md +182 -8
- package/LICENSE +1 -1
- package/README.md +6 -8
- package/config.schema.json +38 -18
- package/dist/bin/fork.js +17 -7
- package/dist/bin/fork.js.map +1 -1
- package/dist/bin/hb-service.d.ts +2 -2
- package/dist/bin/hb-service.js +67 -56
- package/dist/bin/hb-service.js.map +1 -1
- package/dist/bin/platforms/win32.js +4 -2
- package/dist/bin/platforms/win32.js.map +1 -1
- package/dist/bin/standalone.js +18 -7
- package/dist/bin/standalone.js.map +1 -1
- package/dist/core/auth/auth.controller.d.ts +2 -0
- package/dist/core/auth/auth.controller.js.map +1 -1
- package/dist/core/auth/auth.module.js +1 -1
- package/dist/core/auth/auth.module.js.map +1 -1
- package/dist/core/auth/auth.service.js +10 -10
- package/dist/core/auth/auth.service.js.map +1 -1
- package/dist/core/config/config.service.d.ts +3 -0
- package/dist/core/config/config.service.js +1 -0
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/core/config/config.startup.js +2 -2
- package/dist/core/config/config.startup.js.map +1 -1
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
- package/dist/index.js +25 -14
- package/dist/index.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/modules/accessories/accessories.controller.js +4 -4
- package/dist/modules/accessories/accessories.controller.js.map +1 -1
- package/dist/modules/accessories/accessories.service.js +7 -6
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/dist/modules/backup/backup.controller.js +7 -7
- package/dist/modules/backup/backup.controller.js.map +1 -1
- package/dist/modules/backup/backup.service.js +17 -17
- package/dist/modules/backup/backup.service.js.map +1 -1
- package/dist/modules/child-bridges/child-bridges.service.js +3 -3
- package/dist/modules/child-bridges/child-bridges.service.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 +7 -7
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
- package/dist/modules/config-editor/config-editor.service.js +6 -6
- package/dist/modules/config-editor/config-editor.service.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +11 -9
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/dist/modules/log/log.service.js +3 -3
- package/dist/modules/log/log.service.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
- package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
- package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
- package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.service.js +2 -2
- package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
- package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
- package/dist/modules/plugins/plugins.controller.js +4 -4
- package/dist/modules/plugins/plugins.controller.js.map +1 -1
- package/dist/modules/plugins/plugins.service.d.ts +1 -0
- package/dist/modules/plugins/plugins.service.js +74 -35
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +19 -2
- package/dist/modules/server/server.controller.js +84 -18
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +23 -6
- package/dist/modules/server/server.service.js +171 -56
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.controller.js +3 -3
- package/dist/modules/status/status.controller.js.map +1 -1
- package/dist/modules/status/status.service.js +4 -4
- package/dist/modules/status/status.service.js.map +1 -1
- package/dist/modules/users/users.controller.js +1 -1
- package/dist/modules/users/users.controller.js.map +1 -1
- package/dist/self-check.js +6 -6
- package/dist/self-check.js.map +1 -1
- package/package.json +31 -27
- package/public/3rdpartylicenses.txt +70 -44
- package/public/assets/hap-icons/airpurifier.svg +49 -16
- package/public/assets/hap-icons/airquality.svg +24 -13
- package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
- package/public/assets/hap-icons/contactsensor-open.svg +80 -2
- package/public/assets/hap-icons/door-closed.svg +32 -2
- package/public/assets/hap-icons/door-open.svg +48 -2
- package/public/assets/hap-icons/fan-off.svg +24 -13
- package/public/assets/hap-icons/fan-on.svg +24 -13
- package/public/assets/hap-icons/garagedoor.svg +24 -13
- package/public/assets/hap-icons/humidity.svg +24 -13
- package/public/assets/hap-icons/irrigation-system.svg +47 -18
- package/public/assets/hap-icons/leaksensor.svg +52 -2
- package/public/assets/hap-icons/light.svg +47 -28
- package/public/assets/hap-icons/lightbulb.svg +24 -13
- package/public/assets/hap-icons/lock-locked.svg +24 -13
- package/public/assets/hap-icons/lock-unlocked.svg +24 -13
- package/public/assets/hap-icons/motionsensor.svg +100 -2
- package/public/assets/hap-icons/occupancysensor.svg +97 -2
- package/public/assets/hap-icons/outlet.svg +24 -13
- package/public/assets/hap-icons/securitysystem-active.svg +102 -2
- package/public/assets/hap-icons/securitysystem-off.svg +68 -2
- package/public/assets/hap-icons/smokesensor.svg +42 -9
- package/public/assets/hap-icons/speaker.svg +29 -13
- package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
- package/public/assets/hap-icons/switch.svg +24 -13
- package/public/assets/hap-icons/television.svg +15 -4
- package/public/assets/hap-icons/temperature.svg +24 -13
- package/public/assets/hap-icons/unknown.svg +24 -13
- package/public/assets/hap-icons/valve-generic.svg +27 -16
- package/public/assets/hap-icons/valve-irrigation.svg +37 -21
- package/public/assets/hap-icons/valve-showerhead.svg +52 -0
- package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
- package/public/assets/hap-icons/window-closed.svg +85 -2
- package/public/assets/hap-icons/window-open.svg +136 -2
- package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
- package/public/assets/hap-icons/windowcovering-open.svg +40 -44
- package/public/assets/homebridge-color-round.svg +36 -1
- package/public/assets/homebridge-logo.svg +11 -1
- package/public/assets/mask-icon.svg +5 -1
- package/public/assets/plugin-ui-utils/ui.js +38 -19
- package/public/assets/plugin-ui-utils/ui.js.map +1 -1
- package/public/{chunk-6TCHCTXZ.js → chunk-23M23WV2.js} +1 -1
- package/public/chunk-2YYAI64O.js +1 -0
- package/public/{chunk-VMXGERJT.js → chunk-2ZEIWH4C.js} +8 -8
- package/public/chunk-42YSCDZK.js +1 -0
- package/public/{chunk-QE7DO6J3.js → chunk-474BOAR2.js} +2 -2
- package/public/chunk-4BZV7AMQ.js +32 -0
- package/public/{chunk-WNWWUCCZ.js → chunk-5KLZWFYX.js} +1 -1
- package/public/chunk-5NTU76Y2.js +1 -0
- package/public/chunk-5OIS4J4X.js +1 -0
- package/public/chunk-5YBMCQ2E.js +1 -0
- package/public/chunk-64RTOH3L.js +1 -0
- package/public/chunk-675OFXLW.js +1 -0
- package/public/chunk-6TO5IBYB.js +5 -0
- package/public/chunk-6UQS6IP4.js +1 -0
- package/public/{chunk-BKUGARB4.js → chunk-7BCHGXO4.js} +1 -1
- package/public/chunk-A5D6DOHK.js +1 -0
- package/public/chunk-BMWLHPL2.js +1 -0
- package/public/chunk-BO2RTACA.js +1 -0
- package/public/chunk-BVC2RBSG.js +1 -0
- package/public/{chunk-CCUID66K.js → chunk-C2XBPNOQ.js} +1 -1
- package/public/chunk-C4PJKEWA.js +1 -0
- package/public/chunk-CHP2ZI3F.js +1 -0
- package/public/chunk-CKNHTRCL.js +7 -0
- package/public/chunk-CLERVK2C.js +1 -0
- package/public/chunk-CZY5YUJJ.js +1 -0
- package/public/chunk-DTH6YVQ5.js +1 -0
- package/public/chunk-DUM3YHTS.js +1 -0
- package/public/chunk-DWDK5EDZ.js +1 -0
- package/public/chunk-EEDUUZ6J.js +1 -0
- package/public/chunk-ERXUVZM6.js +1 -0
- package/public/chunk-FRSJ6MDR.js +1 -0
- package/public/{chunk-7L7RZCFC.js → chunk-GR4KMWT2.js} +1 -1
- package/public/chunk-GUAOICDU.js +1 -0
- package/public/chunk-H3YQBGGB.js +1 -0
- package/public/{chunk-UG5DK2RQ.js → chunk-HA6CO5NZ.js} +2 -2
- package/public/chunk-HJKPT3MJ.js +6 -0
- package/public/chunk-I37YRYWO.js +1 -0
- package/public/chunk-I5HC6YE6.js +1 -0
- package/public/{chunk-JZZQRLNW.js → chunk-JF5AT3NK.js} +1 -1
- package/public/chunk-KROLJP5T.js +1 -0
- package/public/chunk-KUS3JO5E.js +1 -0
- package/public/chunk-LEFLOPGL.js +1 -0
- package/public/chunk-LHGXPARJ.js +1 -0
- package/public/chunk-M66MJDOB.js +1 -0
- package/public/chunk-MLFCC76B.js +1 -0
- package/public/chunk-N4F42HDL.js +5 -0
- package/public/{chunk-NW6AFAD7.js → chunk-NFG4Y4PX.js} +1 -1
- package/public/{chunk-7EUQWCP5.js → chunk-NSCP3SOQ.js} +1 -1
- package/public/chunk-OWP42U3Q.js +1 -0
- package/public/chunk-QUXECVRB.js +1 -0
- package/public/{chunk-IW3EPSTZ.js → chunk-R5IIVXMM.js} +4 -4
- package/public/chunk-RGF5UNTQ.js +1 -0
- package/public/chunk-RLM4Q3NA.js +1 -0
- package/public/chunk-RZIIH6OH.js +1 -0
- package/public/chunk-S75PX3CD.js +1 -0
- package/public/chunk-S7RJS4DA.js +1 -0
- package/public/chunk-SFOCFUZK.js +1 -0
- package/public/chunk-SFW3EWWB.js +1 -0
- package/public/chunk-T3B7RH4F.js +1 -0
- package/public/{chunk-NZNNTHFQ.js → chunk-T3GI7KUT.js} +1 -1
- package/public/chunk-TNPEEFW3.js +1 -0
- package/public/chunk-TWVNA46I.js +1 -0
- package/public/chunk-U7T2AD2X.js +1 -0
- package/public/chunk-UA6R3XIL.js +1 -0
- package/public/chunk-UNUYCODO.js +1 -0
- package/public/chunk-UOL2NKOO.js +1 -0
- package/public/{chunk-BFDVOBTQ.js → chunk-V34IYB4T.js} +1 -1
- package/public/{chunk-VOBHY2IH.js → chunk-VH5DDEVH.js} +2 -2
- package/public/chunk-VRLRDDC6.js +20 -0
- package/public/chunk-VUP4TCYX.js +1 -0
- package/public/{chunk-6PHMBMFU.js → chunk-W3AL3YCO.js} +1 -1
- package/public/chunk-WC4JHC6X.js +1 -0
- package/public/chunk-WEJDJXGV.js +1 -0
- package/public/chunk-WJ3IINUA.js +1 -0
- package/public/{chunk-ASX35H47.js → chunk-WJVQNA7H.js} +1 -1
- package/public/chunk-X5YRTZFZ.js +1 -0
- package/public/chunk-XAM6ZNPS.js +1 -0
- package/public/{chunk-WHJOLAED.js → chunk-XFK2EZ3K.js} +1 -1
- package/public/{chunk-EA5J2VEJ.js → chunk-XP7D2PRA.js} +1 -1
- package/public/{chunk-WHJSVGC7.js → chunk-XQNHUDX7.js} +1 -1
- package/public/{chunk-QHPDGSZ6.js → chunk-YLEC7AUG.js} +1 -1
- package/public/chunk-YPAFR2PB.js +1 -0
- package/public/index.html +2 -2
- package/public/main-GTJ3X2LZ.js +1 -0
- package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
- package/public/media/{fa-brands-400-MVB2B5XM.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
- package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
- package/public/media/{fa-regular-400-EGQOOADX.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
- package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
- package/public/media/{fa-solid-900-ZUDIWQL5.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
- package/public/styles-7Q7QNSR3.css +1 -0
- package/public/chunk-2OBHR63W.js +0 -1
- package/public/chunk-3C6WVST7.js +0 -1
- package/public/chunk-3IX3CLER.js +0 -1
- package/public/chunk-5ALXJOLQ.js +0 -1
- package/public/chunk-5LVGHH2N.js +0 -1
- package/public/chunk-7456RB3C.js +0 -1
- package/public/chunk-76S7LYCL.js +0 -1
- package/public/chunk-77A3OZ74.js +0 -1
- package/public/chunk-7EANS226.js +0 -1
- package/public/chunk-AVJ6EUEE.js +0 -1
- package/public/chunk-AX23H5TL.js +0 -1
- package/public/chunk-AZXQ73I5.js +0 -1
- package/public/chunk-BMXAHMY6.js +0 -1
- package/public/chunk-BPMSJ2VF.js +0 -1
- package/public/chunk-CW7Q7WEJ.js +0 -1
- package/public/chunk-DDXIRKVB.js +0 -1
- package/public/chunk-DNOJWLVY.js +0 -1
- package/public/chunk-DZY2Q3FG.js +0 -1
- package/public/chunk-FX4GQIE4.js +0 -32
- package/public/chunk-GVDR7ZRB.js +0 -1
- package/public/chunk-HSJSWZHD.js +0 -1
- package/public/chunk-I7ZKPCIW.js +0 -1
- package/public/chunk-IPZ4P5DE.js +0 -1
- package/public/chunk-IWYEH4T6.js +0 -1
- package/public/chunk-JL6S5IIU.js +0 -1
- package/public/chunk-KIJWUGXX.js +0 -1
- package/public/chunk-KO3WJGGG.js +0 -1
- package/public/chunk-KQJ7ONUG.js +0 -1
- package/public/chunk-KTDJZCFW.js +0 -1
- package/public/chunk-LDPCT3YF.js +0 -5
- package/public/chunk-MHYIZZN4.js +0 -1
- package/public/chunk-MOV2HTCQ.js +0 -1
- package/public/chunk-NF4NIS42.js +0 -1
- package/public/chunk-O75YP3SB.js +0 -1
- package/public/chunk-ODPTCLGS.js +0 -1
- package/public/chunk-ORPWYWCL.js +0 -5
- package/public/chunk-Q5URFHBE.js +0 -1
- package/public/chunk-QLWY5NWN.js +0 -1
- package/public/chunk-QRZNMAFL.js +0 -1
- package/public/chunk-RHB2T3FE.js +0 -1
- package/public/chunk-RMI35HIS.js +0 -1
- package/public/chunk-RO4QXVDE.js +0 -1
- package/public/chunk-RWZRB2OY.js +0 -1
- package/public/chunk-S62KH3FN.js +0 -6
- package/public/chunk-S6EMLS5Q.js +0 -1
- package/public/chunk-SVFFEV36.js +0 -1
- package/public/chunk-T2YVB4SI.js +0 -1
- package/public/chunk-TCSXGQNF.js +0 -1
- package/public/chunk-TXOB7R5K.js +0 -7
- package/public/chunk-U6ORTLYL.js +0 -1
- package/public/chunk-UJU3NPS7.js +0 -1
- package/public/chunk-UYZI56PX.js +0 -1
- package/public/chunk-UZU6PLTW.js +0 -1
- package/public/chunk-UZW3DWH4.js +0 -1
- package/public/chunk-WMB35VCS.js +0 -1
- package/public/chunk-WT2GX4NS.js +0 -1
- package/public/chunk-XH6GEPB6.js +0 -1
- package/public/chunk-ZLPCX4R4.js +0 -1
- package/public/chunk-ZT23DWNL.js +0 -1
- package/public/chunk-ZY7HKZ4P.js +0 -20
- package/public/main-ILTX7GFO.js +0 -1
- package/public/media/fa-brands-400-6U3GU5Y7.woff2 +0 -0
- package/public/media/fa-regular-400-R5EOMW4H.woff2 +0 -0
- package/public/media/fa-solid-900-W65KEJAS.woff2 +0 -0
- package/public/styles-GDLSHXGD.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Be}from"./chunk-RGF5UNTQ.js";import{a as ye}from"./chunk-YPAFR2PB.js";import{v as Ee}from"./chunk-4BZV7AMQ.js";import{b as Re}from"./chunk-GR4KMWT2.js";import{g as Q,m as N,n as X,o as Se}from"./chunk-N4F42HDL.js";import{b as W,c as se,e as q,f as pe,g as ee,j as H,k as de,l as K,m as ce,n as me,o as ue,p as _e,q as ge,r as be,s as ve,t as xe,u as fe,v as he,y as J,z as Ce}from"./chunk-YLEC7AUG.js";import{d as O,e as ke}from"./chunk-T3GI7KUT.js";import{b as we}from"./chunk-DTH6YVQ5.js";import{h as V,k as D}from"./chunk-BVC2RBSG.js";import{a as F,b as I}from"./chunk-675OFXLW.js";import{Ac as U,Bb as h,Cc as o,Dc as l,Ec as R,Lb as f,M as Y,Mb as g,Rb as b,Tb as T,Ub as M,Vb as A,Wb as i,Xb as a,Yb as m,ac as w,bd as z,db as Z,dc as v,ec as _,g as De,gd as G,h as y,ib as t,id as le,na as C,oc as r,pc as d,qc as u,tc as ae,ub as E,uc as re,vc as oe,w as $,xa as S,ya as k,yc as P,zc as B}from"./chunk-CKNHTRCL.js";var te=De(Re(),1);var Pe=(n,c)=>({"fa-arrow-right":n,"fa-cog fa-spin":c}),ze=n=>({backupTime:n,dayCount:7}),He=(n,c)=>({"fa-trash":n,"fa-cog fa-spin":c}),Oe=(n,c)=>({backupSize:n,maxBackupSizeText:c});function Le(n,c){if(n&1&&(r(0),o(1,"date"),o(2,"translate")),n&2){let e=_(2);u(" ",R(2,4,"backup.scheduled_backup_time",P(7,ze,R(1,1,e.backupTime,"shortTime")))," ")}}function Ue(n,c){n&1&&(r(0),o(1,"translate")),n&2&&u(" ",l(1,1,"backup.scheduled_backup_disabled")," ")}function je(n,c){if(n&1&&(i(0,"span",25),o(1,"translate"),m(2,"i",32),r(3),a()),n&2){let e=_().$implicit;g("ngbTooltip",R(1,2,"backup.backup_exceeds_max_size",B(5,Oe,e.size+"MB",e.maxBackupSizeText))),t(3),u(" ",e.size,"MB ")}}function Ge(n,c){if(n&1&&(i(0,"span"),r(1),a()),n&2){let e=_().$implicit;t(),u(" ",e.size,"MB ")}}function We(n,c){if(n&1){let e=w();i(0,"li",10)(1,"span")(2,"span",24),r(3),o(4,"date"),a(),m(5,"br"),i(6,"small",11),r(7),o(8,"date"),h(9,je,4,8,"span",25)(10,Ge,2,1,"span"),a()(),i(11,"span",26)(12,"button",27),o(13,"translate"),o(14,"translate"),v("click",function(){let p=S(e).$implicit,x=_(2);return k(x.restore(p))}),m(15,"i",28),a(),i(16,"button",29),o(17,"translate"),o(18,"translate"),v("click",function(){let p=S(e).$implicit,x=_(2);return k(x.download(p))}),m(19,"i",30),a(),i(20,"button",31),o(21,"translate"),o(22,"translate"),v("click",function(){let p=S(e).$implicit,x=_(2);return k(x.delete(p))}),m(23,"i",13),a()()()}if(n&2){let e=c.$implicit,s=_(2);t(2),g("ngbTooltip",e.fileName),t(),u(" ",R(4,15,e.timestamp,"mediumDate")," "),t(4),u(" ",R(8,18,e.timestamp,"shortTime")," \xB7 "),t(2),b(e.size>e.maxBackupSize?9:-1),t(),b(e.size<=e.maxBackupSize?10:-1),t(2),g("disabled",s.clicked||s.deleting||e.size>e.maxBackupSize)("ngbTooltip",l(13,21,"form.button_restore")),f("aria-label",l(14,23,"form.button_restore")),t(4),g("disabled",s.clicked||s.deleting)("ngbTooltip",l(17,25,"form.button_download")),f("aria-label",l(18,27,"form.button_download")),t(4),g("disabled",s.clicked||s.deleting)("ngbTooltip",l(21,29,"form.button_delete")),f("aria-label",l(22,31,"form.button_delete")),t(3),g("ngClass",B(33,He,e.id!==s.deleting,e.id===s.deleting))}}function qe(n,c){if(n&1&&(i(0,"ul",15)(1,"li",21)(2,"h6",22),r(3),o(4,"translate"),a(),i(5,"p",23),h(6,Le,3,9)(7,Ue,2,3),a()(),M(8,We,24,36,"li",10,T),a()),n&2){let e=_();t(3),d(l(4,3,"backup.files_auto")),t(3),b(e.backupTime?6:-1),t(),b(e.backupTime?-1:7),t(),A(e.scheduledBackups)}}var Ie=(()=>{class n{$activeModal=C(N);$api=C(D);$modal=C(X);$toastr=C(V);$translate=C(F);clicked=!1;scheduledBackups=[];backupTime;deleting=null;constructor(){}ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:e=>{this.scheduledBackups=e},error:e=>console.error(e)})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:e=>{this.backupTime=e.next},error:e=>{console.error(e)}})}download(e){this.$api.get(`/backup/scheduled-backups/${e.id}`,{observe:"response",responseType:"blob"}).subscribe({next:s=>{let p=e.fileName||"homebridge-backup.tar.gz",x=s.body.size;if(x>globalThis.backup.maxBackupSize){let L=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(x/1048576).toFixed(1)}MB`});this.$toastr.warning(L,this.$translate.instant("toast.title_warning"))}(0,te.saveAs)(s.body,p)},error:s=>{console.error(s),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(e){this.$activeModal.close();let s=this.$modal.open(Be,{size:"lg",backdrop:"static"});s.componentInstance.selectedBackup=e}delete(e){this.deleting=e.id,this.$api.delete(`/backup/scheduled-backups/${e.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:s=>{this.deleting=null,console.error(s),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return y(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{let s=e.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let p=e.body.size;if(p>globalThis.backup.maxBackupSize){let x=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(p/1048576).toFixed(1)}MB`});this.$toastr.warning(x,this.$translate.instant("toast.title_warning"))}(0,te.saveAs)(e.body,s)},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}Date=Date;static \u0275fac=function(s){return new(s||n)};static \u0275cmp=E({type:n,selectors:[["ng-component"]],decls:55,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"],[1,"fas","fa-fw","fa-arrow-right"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"small","grey-text","mb-0","text-center"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"]],template:function(s,p){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),v("click",function(){return p.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),a()()(),i(9,"div",5)(10,"div",6),m(11,"i",7),a(),i(12,"ul",8)(13,"li"),r(14),o(15,"translate"),a(),i(16,"li"),r(17),o(18,"translate"),a(),i(19,"li"),r(20),o(21,"translate"),a()(),i(22,"ul",9)(23,"li",10)(24,"div")(25,"span"),r(26),o(27,"translate"),a(),m(28,"br"),i(29,"small",11),r(30),o(31,"translate"),a()(),i(32,"button",12),o(33,"translate"),v("click",function(){return p.onDownloadBackupClick()}),m(34,"i",13),a()(),i(35,"li",10)(36,"div")(37,"span"),r(38),o(39,"translate"),a(),m(40,"br"),i(41,"small",11),r(42),o(43,"translate"),a()(),i(44,"button",12),o(45,"translate"),v("click",function(){return p.restore(null)}),m(46,"i",14),a()()(),h(47,qe,10,5,"ul",15),a(),i(48,"div",16),m(49,"div",17),i(50,"div",18)(51,"button",19),v("click",function(){return p.$activeModal.dismiss("Dismiss")}),r(52),o(53,"translate"),a()(),m(54,"div",20),a()()),s&2&&(t(3),d(l(4,18,"backup.title_backup")),t(2),g("disabled",p.clicked||p.deleting),f("aria-label",l(6,20,"form.button_close")),t(9),d(l(15,22,"backup.backup_help_one")),t(3),d(l(18,24,"backup.backup_help_two")),t(3),d(l(21,26,"backup.backup_warning")),t(6),d(l(27,28,"backup.backup_now")),t(4),d(l(31,30,"backup.backup_now_desc")),t(2),g("disabled",p.clicked),f("aria-label",l(33,32,"backup.backup_now")),t(2),g("ngClass",B(42,Pe,!p.clicked,p.clicked)),t(4),d(l(39,34,"backup.restore_now")),t(4),d(l(43,36,"backup.restore_now_desc")),t(2),g("disabled",p.clicked),f("aria-label",l(45,38,"backup.restore_now")),t(3),b(p.scheduledBackups.length?47:-1),t(4),g("disabled",p.clicked||p.deleting),t(),u(" ",l(53,40,"form.button_close")," "))},dependencies:[Se,z,le,I],encapsulation:2})}return n})();function Ke(n,c){n&1&&(i(0,"div",13),m(1,"i",14),a(),i(2,"p",15),r(3),o(4,"translate"),a()),n&2&&(t(3),d(l(4,1,"reset.no_accessories")))}function Je(n,c){n&1&&(i(0,"div",13),m(1,"i",16),a(),i(2,"ul",17)(3,"li"),r(4),o(5,"translate"),a(),i(6,"li"),r(7),o(8,"translate"),a(),i(9,"li"),r(10),o(11,"translate"),a()(),i(12,"ngb-alert",18)(13,"p",19),r(14),o(15,"translate"),a()()),n&2&&(t(4),d(l(5,5,"reset.accessory_all.list_1")),t(3),d(l(8,7,"reset.accessory_all.list_2")),t(3),d(l(11,9,"reset.accessory_all.list_3")),t(2),g("dismissible",!1),t(2),d(l(15,11,"reset.action_is_irreversible")))}function Qe(n,c){if(n&1){let e=w();i(0,"button",20),o(1,"translate"),v("click",function(){S(e);let p=_();return k(p.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),a()}if(n&2){let e=_();g("disabled",e.clicked),f("aria-label",l(1,3,"form.button_close")),t(2),u(" ",l(3,5,"form.button_close")," ")}}function Xe(n,c){if(n&1){let e=w();i(0,"button",21),o(1,"translate"),v("click",function(){S(e);let p=_();return k(p.$activeModal.dismiss("Dismiss"))}),r(2),o(3,"translate"),a()}n&2&&(f("aria-label",l(1,2,"form.button_close")),t(2),u(" ",l(3,4,"form.button_close")," "))}function Ye(n,c){n&1&&(r(0),o(1,"translate")),n&2&&u(" ",l(1,1,"form.button_remove")," ")}function Ze(n,c){n&1&&m(0,"i",23)}function et(n,c){if(n&1){let e=w();i(0,"button",22),v("click",function(){S(e);let p=_();return k(p.onResetCachedAccessoriesClick())}),h(1,Ye,2,3)(2,Ze,1,0,"i",23),a()}if(n&2){let e=_();g("disabled",e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var $e=(()=>{class n{$activeModal=C(N);$api=C(D);$router=C(O);$toastr=C(V);$translate=C(F);clicked=!1;cachedAccessories=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return y(this,null,function*(){try{this.cachedAccessories=yield $(this.$api.get("/server/cached-accessories"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=E({type:n,selectors:[["ng-component"]],decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(s,p){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),v("click",function(){return p.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),a()()(),i(9,"div",5),h(10,Ke,5,3)(11,Je,16,13),a(),i(12,"div",6)(13,"div",7),h(14,Qe,4,7,"button",8),a(),i(15,"div",9),h(16,Xe,4,6,"button",10),a(),i(17,"div",11),h(18,et,3,3,"button",12),a()()()),s&2&&(t(3),d(l(4,8,"reset.accessory_all.title")),t(2),g("disabled",p.clicked),f("aria-label",l(6,10,"form.button_close")),t(5),b(p.cachedAccessories.length===0?10:-1),t(),b(p.cachedAccessories.length>0?11:-1),t(3),b(p.cachedAccessories.length>0?14:-1),t(2),b(p.cachedAccessories.length===0?16:-1),t(2),b(p.cachedAccessories.length>0?18:-1))},dependencies:[Q,I],encapsulation:2})}return n})();var tt=(n,c)=>({"green-text fa-link":n,"grey-text fa-link-slash":c}),it=(n,c)=>({"btn-danger":n,"btn-elegant":c}),nt=(n,c,e)=>({"fa-broom":n,"fa-undo":c,"fa-spinner fa-pulse":e});function at(n,c){n&1&&(i(0,"div",13),m(1,"i",14),a(),i(2,"p",15),r(3),o(4,"translate"),a()),n&2&&(t(3),d(l(4,1,"reset.bridge_accessories.empty")))}function rt(n,c){if(n&1){let e=w();i(0,"li",19)(1,"span"),r(2),m(3,"br"),i(4,"small",20),m(5,"i",21),r(6),o(7,"translate"),i(8,"span",22),r(9),a()()(),i(10,"button",23),o(11,"translate"),v("click",function(){let p=S(e).$implicit,x=_(2);return k(x.toggleList(p._id))}),m(12,"i",21),a()()}if(n&2){let e=c.$implicit,s=_(2);t(2),u(" ",e.name," "),t(3),g("ngClass",B(12,tt,e._isPaired,!e._isPaired)),t(),u(" ",l(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),g("disabled",s.clicked)("ngClass",B(15,it,!s.toDelete.includes(e._id),s.toDelete.includes(e._id))),f("aria-label",l(11,10,"form.button_delete")),t(2),g("ngClass",U(18,nt,!s.toDelete.includes(e._id),s.toDelete.includes(e._id)&&!s.clicked,s.toDelete.includes(e._id)&&s.clicked))}}function ot(n,c){if(n&1&&(i(0,"div",13),m(1,"i",16),a(),i(2,"ul",17)(3,"li"),r(4),o(5,"translate"),a(),i(6,"li"),r(7),o(8,"translate"),a(),i(9,"li"),r(10),o(11,"translate"),a()(),i(12,"ul",18),M(13,rt,13,22,"li",19,T),a()),n&2){let e=_();t(4),d(l(5,3,"reset.bridge_accessories.list_1")),t(3),d(l(8,5,"reset.clear_cache_single.list_3")),t(3),d(l(11,7,"reset.bridge_accessories.list_2")),t(3),A(e.pairings)}}function lt(n,c){if(n&1){let e=w();i(0,"button",24),v("click",function(){S(e);let p=_();return k(p.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}if(n&2){let e=_();g("disabled",e.clicked),t(),u(" ",l(2,2,"form.button_close")," ")}}function st(n,c){if(n&1){let e=w();i(0,"button",25),v("click",function(){S(e);let p=_();return k(p.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}n&2&&(t(),u(" ",l(2,1,"form.button_close")," "))}function pt(n,c){if(n&1&&r(0),n&2){let e=_(3);u(" (",e.toDelete.length,") ")}}function dt(n,c){if(n&1&&(r(0),o(1,"translate"),h(2,pt,1,1)),n&2){let e=_(2);u(" ",l(1,2,"form.button_remove")," "),t(2),b(e.toDelete.length>0?2:-1)}}function ct(n,c){n&1&&m(0,"i",27)}function mt(n,c){if(n&1){let e=w();i(0,"button",26),v("click",function(){S(e);let p=_();return k(p.cleanBridges())}),h(1,dt,3,4)(2,ct,1,0,"i",27),a()}if(n&2){let e=_();g("disabled",!e.toDelete.length||e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Te=(()=>{class n{$activeModal=C(N);$api=C(D);$router=C(O);$toastr=C(V);$translate=C(F);clicked=!1;pairings=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{this.pairings=(yield $(this.$api.get("/server/pairings"))).filter(e=>e._category==="bridge"&&!e._main).sort((e,s)=>e.name.localeCompare(s.name))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e){this.toDelete.includes(e)?this.toDelete=this.toDelete.filter(s=>s!==e):this.toDelete.push(e)}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(e=>({id:e}))}).subscribe({next:()=>{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}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=E({type:n,selectors:[["ng-component"]],decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw",3,"ngClass"],[1,"text-monospace"],[1,"btn","btn-danger",3,"click","disabled","ngClass"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(s,p){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),v("click",function(){return p.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),a()()(),i(9,"div",5),h(10,at,5,3)(11,ot,15,9),a(),i(12,"div",6)(13,"div",7),h(14,lt,3,4,"button",8),a(),i(15,"div",9),h(16,st,3,3,"button",10),a(),i(17,"div",11),h(18,mt,3,3,"button",12),a()()()),s&2&&(t(3),d(l(4,8,"reset.bridge_accessories.title")),t(2),g("disabled",p.clicked),f("aria-label",l(6,10,"form.button_close")),t(5),b(p.pairings.length===0?10:-1),t(),b(p.pairings.length>0?11:-1),t(3),b(p.pairings.length>0?14:-1),t(2),b(p.pairings.length===0?16:-1),t(2),b(p.pairings.length>0?18:-1))},dependencies:[z,I],encapsulation:2})}return n})();function ut(n,c){n&1&&(r(0),o(1,"translate")),n&2&&u(" ",l(1,1,"form.button_reset")," ")}function _t(n,c){n&1&&m(0,"i",17)}var Me=(()=>{class n{$activeModal=C(N);$api=C(D);$route=C(O);$toastr=C(V);$translate=C(F);clicked;constructor(){}onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$route.navigate(["/restart"])},error:e=>{console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=E({type:n,selectors:[["ng-component"]],decls:40,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(s,p){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),v("click",function(){return p.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),a()()(),i(9,"div",5)(10,"div",6),m(11,"i",7),a(),i(12,"ul",8)(13,"li"),r(14),o(15,"translate"),a(),i(16,"li"),r(17),o(18,"translate"),a(),i(19,"li"),r(20),o(21,"translate"),a(),i(22,"li"),r(23),o(24,"translate"),a()(),i(25,"ngb-alert",9)(26,"p",10),r(27),o(28,"translate"),a()()(),i(29,"div",11)(30,"div",12)(31,"button",13),o(32,"translate"),v("click",function(){return p.$activeModal.dismiss("Dismiss")}),r(33),o(34,"translate"),a()(),m(35,"div",14),i(36,"div",15)(37,"button",16),v("click",function(){return p.onResetHomebridgeAccessoryClick()}),h(38,ut,2,3)(39,_t,1,0,"i",17),a()()()()),s&2&&(t(3),d(l(4,15,"reset.bridge_all.title")),t(2),g("disabled",p.clicked),f("aria-label",l(6,17,"form.button_close")),t(9),d(l(15,19,"reset.bridge_all.list_1")),t(3),d(l(18,21,"reset.bridge_all.list_2")),t(3),d(l(21,23,"reset.bridge_all.list_3")),t(3),d(l(24,25,"reset.bridge_all.list_4")),t(2),g("dismissible",!1),t(2),d(l(28,27,"reset.action_is_irreversible")),t(4),g("disabled",p.clicked),f("aria-label",l(32,29,"form.button_close")),t(2),u(" ",l(34,31,"form.button_close")," "),t(4),g("disabled",p.clicked),t(),b(p.clicked?-1:38),t(),b(p.clicked?39:-1))},dependencies:[Q,I],encapsulation:2})}return n})();var ie=(n,c)=>({"green-text fa-link":n,"grey-text fa-link-slash":c}),ne=(n,c)=>({"btn-danger":n,"btn-elegant":c}),Ae=(n,c,e)=>({"fa-refresh":n,"fa-undo":c,"fa-spinner fa-pulse":e}),gt=(n,c,e)=>({"fa-trash":n,"fa-undo":c,"fa-spinner fa-pulse":e});function bt(n,c){n&1&&(i(0,"div",13),m(1,"i",14),a(),i(2,"p",15),r(3),o(4,"translate"),a()),n&2&&(t(3),d(l(4,1,"reset.bridges.empty")))}function vt(n,c){if(n&1){let e=w();i(0,"li",21)(1,"span"),r(2),m(3,"br"),i(4,"small",22),m(5,"i",23),r(6),o(7,"translate"),i(8,"span",24),r(9),a(),r(10),o(11,"titlecase"),a()(),i(12,"button",25),o(13,"translate"),v("click",function(){let p=S(e).$implicit,x=_(3);return k(x.toggleList(p._id,!1))}),m(14,"i",23),a()()}if(n&2){let e=c.$implicit,s=_(3);t(2),u(" ",e.name," "),t(3),g("ngClass",B(15,ie,e._isPaired,!e._isPaired)),t(),u(" ",l(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),u(" \xB7 ",e._main?"Homebridge":l(11,11,e._category)," "),t(2),g("disabled",s.clicked)("ngClass",B(18,ne,!s.isInList(e._id),s.isInList(e._id))),f("aria-label",l(13,13,"form.button_unpair")),t(2),g("ngClass",U(21,Ae,!s.isInList(e._id),s.isInList(e._id)&&!s.clicked,s.isInList(e._id)&&s.clicked))}}function xt(n,c){if(n&1&&(i(0,"ul",17)(1,"li",18)(2,"h6",19),r(3),o(4,"translate"),a(),i(5,"p",20),r(6),o(7,"translate"),a()(),M(8,vt,15,25,"li",21,T),a()),n&2){let e=_(2);t(3),d(l(4,2,"reset.bridge_ind.head_non_child")),t(3),d(l(7,4,"reset.bridge_ind.desc_non_child")),t(2),A(e.pairingsNonChild)}}function ft(n,c){if(n&1){let e=w();i(0,"li",21)(1,"span"),r(2),m(3,"br"),i(4,"small",22),m(5,"i",23),r(6),o(7,"translate"),i(8,"span",24),r(9),a()()(),i(10,"button",25),o(11,"translate"),v("click",function(){let p=S(e).$implicit,x=_(3);return k(x.toggleList(p._id,!0))}),m(12,"i",23),a()()}if(n&2){let e=c.$implicit,s=_(3);t(2),u(" ",e.name," "),t(3),g("ngClass",B(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",l(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),g("disabled",s.clicked)("ngClass",B(15,ne,!s.isInList(e._id),s.isInList(e._id))),f("aria-label",l(11,10,"form.button_unpair")),t(2),g("ngClass",U(18,Ae,!s.isInList(e._id),s.isInList(e._id)&&!s.clicked,s.isInList(e._id)&&s.clicked))}}function ht(n,c){if(n&1&&(i(0,"ul",17)(1,"li",18)(2,"h6",19),r(3),o(4,"translate"),a(),i(5,"p",20),r(6),o(7,"translate"),a()(),M(8,ft,13,22,"li",21,T),a()),n&2){let e=_(2);t(3),d(l(4,2,"reset.bridge_ind.head_child_active")),t(3),d(l(7,4,"reset.bridge_ind.desc_child_active")),t(2),A(e.pairingsChildActive)}}function Ct(n,c){if(n&1){let e=w();i(0,"li",21)(1,"span"),r(2),m(3,"br"),i(4,"small",22),m(5,"i",23),r(6),o(7,"translate"),i(8,"span",24),r(9),a()()(),i(10,"button",25),o(11,"translate"),v("click",function(){let p=S(e).$implicit,x=_(3);return k(x.toggleList(p._id,!1))}),m(12,"i",23),a()()}if(n&2){let e=c.$implicit,s=_(3);t(2),u(" ",e.name," "),t(3),g("ngClass",B(12,ie,e._isPaired,!e._isPaired)),t(),u(" ",l(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),d(e._username),t(),g("disabled",s.clicked)("ngClass",B(15,ne,!s.isInList(e._id),s.isInList(e._id))),f("aria-label",l(11,10,"form.button_unpair")),t(2),g("ngClass",U(18,gt,!s.isInList(e._id),s.isInList(e._id)&&!s.clicked,s.isInList(e._id)&&s.clicked))}}function St(n,c){if(n&1&&(i(0,"ul",17)(1,"li",18)(2,"h6",19),r(3),o(4,"translate"),a(),i(5,"p",20),r(6),o(7,"translate"),a()(),M(8,Ct,13,22,"li",21,T),a()),n&2){let e=_(2);t(3),d(l(4,2,"reset.bridge_ind.head_child_stale")),t(3),d(l(7,4,"reset.bridge_ind.desc_child_stale")),t(2),A(e.pairingsChildStale)}}function kt(n,c){if(n&1&&(i(0,"div",13),m(1,"i",16),a(),h(2,xt,10,6,"ul",17)(3,ht,10,6,"ul",17)(4,St,10,6,"ul",17)),n&2){let e=_();t(2),b(e.pairingsNonChild.length>0?2:-1),t(),b(e.pairingsChildActive.length>0?3:-1),t(),b(e.pairingsChildStale.length>0?4:-1)}}function wt(n,c){if(n&1){let e=w();i(0,"button",26),v("click",function(){S(e);let p=_();return k(p.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}if(n&2){let e=_();g("disabled",e.clicked),t(),u(" ",l(2,2,"form.button_close")," ")}}function Bt(n,c){if(n&1){let e=w();i(0,"button",27),v("click",function(){S(e);let p=_();return k(p.$activeModal.dismiss("Dismiss"))}),r(1),o(2,"translate"),a()}n&2&&(t(),u(" ",l(2,1,"form.button_close")," "))}function yt(n,c){if(n&1&&r(0),n&2){let e=_(3);u(" (",e.toDelete.length,") ")}}function Et(n,c){if(n&1&&(r(0),o(1,"translate"),h(2,yt,1,1)),n&2){let e=_(2);u(" ",l(1,2,"form.button_reset")," "),t(2),b(e.toDelete.length>0?2:-1)}}function It(n,c){n&1&&m(0,"i",29)}function $t(n,c){if(n&1){let e=w();i(0,"button",28),v("click",function(){S(e);let p=_();return k(p.removeBridges())}),h(1,Et,3,4)(2,It,1,0,"i",29),a()}if(n&2){let e=_();g("disabled",!e.toDelete.length||e.clicked),t(),b(e.clicked?-1:1),t(),b(e.clicked?2:-1)}}var Ne=(()=>{class n{$activeModal=C(N);$api=C(D);$router=C(O);$toastr=C(V);$translate=C(F);clicked=!1;pairingsNonChild=[];pairingsChildActive=[];pairingsChildStale=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{let e=(yield $(this.$api.get("/server/pairings"))).filter(s=>!s._main).sort((s,p)=>s.name.localeCompare(p.name));this.pairingsChildActive=e.filter(s=>s._category==="bridge"&&!s._couldBeStale),this.pairingsNonChild=e.filter(s=>s._category!=="bridge"),this.pairingsChildStale=e.filter(s=>s._category==="bridge"&&s._couldBeStale)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e,s=!1){this.toDelete.some(p=>p.id===e)?this.toDelete=this.toDelete.filter(p=>p.id!==e):this.toDelete.push({id:e,resetPairingInfo:s})}isInList(e){return this.toDelete.some(s=>s.id===e)}removeBridges(){return this.clicked=!0,this.$api.delete("/server/pairings",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.bridge_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=E({type:n,selectors:[["ng-component"]],decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw",3,"ngClass"],[1,"text-monospace"],[1,"btn","btn-danger",3,"click","disabled","ngClass"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(s,p){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),v("click",function(){return p.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),a()()(),i(9,"div",5),h(10,bt,5,3)(11,kt,5,3),a(),i(12,"div",6)(13,"div",7),h(14,wt,3,4,"button",8),a(),i(15,"div",9),h(16,Bt,3,3,"button",10),a(),i(17,"div",11),h(18,$t,3,3,"button",12),a()()()),s&2&&(t(3),d(l(4,8,"reset.bridge_ind.title")),t(2),g("disabled",p.clicked),f("aria-label",l(6,10,"form.button_close")),t(5),b(p.pairingsChildActive.length===0&&p.pairingsChildStale.length===0&&p.pairingsNonChild.length===0?10:-1),t(),b(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?11:-1),t(3),b(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?14:-1),t(2),b(p.pairingsChildActive.length===0&&p.pairingsChildStale.length===0&&p.pairingsNonChild.length===0?16:-1),t(2),b(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?18:-1))},dependencies:[z,G,I],encapsulation:2})}return n})();function Mt(n,c){if(n&1){let e=w();i(0,"li",11)(1,"span")(2,"label",18)(3,"input",19),oe("ngModelChange",function(p){let x=S(e).$implicit;return re(x.selected,p)||(x.selected=p),k(p)}),a(),i(4,"span"),r(5),a(),m(6,"span",20),a()(),i(7,"span",21),r(8),a()()}if(n&2){let e=c.$implicit;t(2),g("for","adapter"+e.iface),t(),g("id","adapter"+e.iface),ae("ngModel",e.selected),t(2),d(e.iface),t(3),d(e.ip4||e.ip6)}}var Fe=(()=>{class n{$activeModal=C(N);availableNetworkAdapters=[];bridgeNetworkAdapters=[];constructor(){}submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(e=>e.selected).map(e=>e.iface))}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=E({type:n,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:37,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-ethernet","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"hb-uix-switch","d-inline","pr-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"],[1,"text-monospace"]],template:function(s,p){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),o(4,"translate"),a(),i(5,"button",3),o(6,"translate"),v("click",function(){return p.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),a()()(),i(9,"div",5)(10,"div",6),m(11,"i",7),a(),i(12,"ul",8)(13,"li"),r(14),o(15,"translate"),a()(),i(16,"ul",9)(17,"li",10)(18,"strong"),r(19),o(20,"translate"),a(),i(21,"strong"),r(22),o(23,"translate"),a()(),M(24,Mt,9,5,"li",11,T),a()(),i(26,"div",12)(27,"div",13)(28,"button",14),o(29,"translate"),v("click",function(){return p.$activeModal.dismiss("Dismiss")}),r(30),o(31,"translate"),a()(),m(32,"div",15),i(33,"div",16)(34,"button",17),v("click",function(){return p.submit()}),r(35),o(36,"translate"),a()()()()),s&2&&(t(3),d(l(4,8,"settings.network.title_network_interfaces")),t(2),f("aria-label",l(6,10,"form.button_close")),t(9),d(l(15,12,"settings.network.message_network_interface")),t(5),d(l(20,14,"settings.network.label_interface_name")),t(3),d(l(23,16,"settings.network.label_ip_address")),t(2),A(p.availableNetworkAdapters),t(4),f("aria-label",l(29,18,"form.button_close")),t(2),u(" ",l(31,20,"form.button_close")," "),t(5),u(" ",l(36,22,"form.button_save")," "))},dependencies:[J,W,q,K,I],encapsulation:2})}return n})();var At=n=>({file:n}),Nt=n=>({link:n}),Ft=n=>({"fa-pulse":n}),Ve=n=>({"is-invalid":n}),Vt=(n,c)=>({"badge-danger":n,"badge-info":c});function Dt(n,c){if(n&1){let e=w();i(0,"ul",5)(1,"li",12)(2,"span",13),r(3),o(4,"translate"),a(),i(5,"button",14),o(6,"translate"),v("click",function(){S(e);let p=_();return k(p.openUiSettings())}),m(7,"i",15),a()(),i(8,"li",12)(9,"span",13),r(10),o(11,"translate"),a(),i(12,"button",14),o(13,"translate"),v("click",function(){S(e);let p=_();return k(p.openBackupModal())}),m(14,"i",15),a()(),i(15,"li",12)(16,"span",13),r(17),o(18,"translate"),a(),i(19,"a",16),o(20,"translate"),m(21,"i",15),a()()()}n&2&&(t(3),u(" ",l(4,6,"menu.label_settings_advanced")," "),t(2),f("aria-label",l(6,8,"menu.label_settings_advanced")),t(5),u(" ",l(11,10,"backup.title_backup")," "),t(2),f("aria-label",l(13,12,"backup.title_backup")),t(5),u(" ",l(18,14,"menu.tooltip_user_accounts")," "),t(2),f("aria-label",l(20,16,"menu.tooltip_user_accounts")))}function Rt(n,c){n&1&&(i(0,"li",70)(1,"small",71),r(2),o(3,"translate"),a(),i(4,"button",72),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),d(l(3,3,"settings.changes.saved")),t(2),f("aria-label",l(5,5,"menu.tooltip_restart")),t(2),u(" ",l(7,7,"menu.tooltip_restart")," "))}function Pt(n,c){if(n&1){let e=w();i(0,"ul",6)(1,"li",17),r(2),o(3,"translate"),i(4,"div",18)(5,"select",19),v("ngModelChange",function(p){S(e);let x=_();return k(x.saveUiSettingChange("lang",p))}),i(6,"option",20),r(7),o(8,"translate"),a(),i(9,"option",21),r(10,"Bulgarian (bg)"),a(),i(11,"option",22),r(12,"Catalan (ca)"),a(),i(13,"option",23),r(14,"Chinese - Simplified (zh-CN)"),a(),i(15,"option",24),r(16,"Chinese - Traditional (zh-TW)"),a(),i(17,"option",25),r(18,"Czech (cs)"),a(),i(19,"option",26),r(20,"Dutch (nl)"),a(),i(21,"option",27),r(22,"English (en)"),a(),i(23,"option",28),r(24,"Finnish (fi)"),a(),i(25,"option",29),r(26,"French (fr)"),a(),i(27,"option",30),r(28,"German (de)"),a(),i(29,"option",31),r(30,"Hebrew (he)"),a(),i(31,"option",32),r(32,"Hungarian (hu)"),a(),i(33,"option",33),r(34,"Indonesian (id)"),a(),i(35,"option",34),r(36,"Italian (it)"),a(),i(37,"option",35),r(38,"Japanese (ja)"),a(),i(39,"option",36),r(40,"Korean (ko)"),a(),i(41,"option",37),r(42,"Macedonian (mk)"),a(),i(43,"option",38),r(44,"Norwegian (no)"),a(),i(45,"option",39),r(46,"Polish (pl)"),a(),i(47,"option",40),r(48,"Portuguese (Brazil)"),a(),i(49,"option",41),r(50,"Portuguese (Portugal)"),a(),i(51,"option",42),r(52,"Russian (ru)"),a(),i(53,"option",43),r(54,"Slovenian (sl)"),a(),i(55,"option",44),r(56,"Spanish (es)"),a(),i(57,"option",45),r(58,"Swedish (sv)"),a(),i(59,"option",46),r(60,"Thai (th)"),a(),i(61,"option",47),r(62,"Turkish (tr)"),a(),i(63,"option",48),r(64,"Ukrainian (uk)"),a()()()(),i(65,"li",17),r(66),o(67,"translate"),i(68,"div",18)(69,"select",19),v("ngModelChange",function(p){S(e);let x=_();return k(x.saveUiSettingChange("theme",p))}),i(70,"option",49),r(71),o(72,"translate"),a(),i(73,"option",50),r(74),o(75,"translate"),a(),i(76,"option",51),r(77),o(78,"translate"),a(),i(79,"option",52),r(80),o(81,"translate"),a(),i(82,"option",53),r(83),o(84,"translate"),a(),i(85,"option",54),r(86),o(87,"translate"),a(),i(88,"option",55),r(89),o(90,"translate"),a(),i(91,"option",56),r(92),o(93,"translate"),a(),i(94,"option",57),r(95),o(96,"translate"),a(),i(97,"option",58),r(98),o(99,"translate"),a(),i(100,"option",59),r(101),o(102,"translate"),a(),i(103,"option",60),r(104),o(105,"translate"),a(),i(106,"option",61),r(107),o(108,"translate"),a()()()(),i(109,"li",17),r(110),o(111,"translate"),i(112,"div",18)(113,"select",19),v("ngModelChange",function(p){S(e);let x=_();return k(x.saveUiSettingChange("lightingMode",p))}),i(114,"option",20),r(115),o(116,"translate"),a(),i(117,"option",62),r(118),o(119,"translate"),a(),i(120,"option",63),r(121),o(122,"translate"),a()()()(),i(123,"li",17),r(124),o(125,"translate"),i(126,"div",18)(127,"select",19),v("ngModelChange",function(p){S(e);let x=_();return k(x.saveUiSettingChange("menuMode",p))}),i(128,"option",64),r(129),o(130,"translate"),a(),i(131,"option",65),r(132),o(133,"translate"),a()()()(),i(134,"li",17)(135,"span"),r(136),o(137,"translate"),m(138,"br")(139,"small",66),o(140,"translate"),a(),i(141,"div",18)(142,"input",67),v("ngModelChange",function(p){S(e);let x=_();return k(x.saveUiSettingChange("loginWallpaper",p))}),a()()(),i(143,"li",17),r(144),o(145,"translate"),i(146,"div",18)(147,"select",19),v("ngModelChange",function(p){S(e);let x=_();return k(x.saveUiSettingChange("tempUnits",p))}),i(148,"option",68),r(149),o(150,"translate"),a(),i(151,"option",69),r(152),o(153,"translate"),a()()()(),h(154,Rt,8,9,"li",70),a()}if(n&2){let e=_();t(2),u(" ",l(3,35,"settings.display.lang")," "),t(3),g("ngModel",e.$settings.env.lang),t(2),d(l(8,37,"form.select.auto")),t(59),u(" ",l(67,39,"settings.display.theme")," "),t(3),g("ngModel",e.$settings.theme),t(2),d(l(72,41,"settings.display.orange")),t(3),d(l(75,43,"settings.display.red")),t(3),d(l(78,45,"settings.display.pink")),t(3),d(l(81,47,"settings.display.purple")),t(3),d(l(84,49,"settings.display.deep_purple")),t(3),d(l(87,51,"settings.display.indigo")),t(3),d(l(90,53,"settings.display.blue")),t(3),d(l(93,55,"settings.display.bluegrey")),t(3),d(l(96,57,"settings.display.cyan")),t(3),d(l(99,59,"settings.display.green")),t(3),d(l(102,61,"settings.display.teal")),t(3),d(l(105,63,"settings.display.grey")),t(3),d(l(108,65,"settings.display.brown")),t(3),u(" ",l(111,67,"settings.display.lighting_mode")," "),t(3),g("ngModel",e.$settings.lightingMode),t(2),d(l(116,69,"form.select.auto")),t(3),d(l(119,71,"settings.display.light")),t(3),d(l(122,73,"settings.display.dark")),t(3),u(" ",l(125,75,"settings.display.menu_mode")," "),t(3),g("ngModel",e.$settings.menuMode),t(2),d(l(130,77,"settings.display.menu_default")),t(3),d(l(133,79,"settings.display.menu_freeze")),t(4),u(" ",l(137,81,"settings.display.login_wallpaper"),""),t(3),g("innerHTML",R(140,83,"settings.display.login_wallpaper_desc",P(92,At,e.file)),Z),t(3),g("ngModel",e.$settings.loginWallpaper),t(2),u(" ",l(145,86,"settings.display.temp_units")," "),t(3),g("ngModel",e.$settings.env.temperatureUnits),t(2),d(l(150,88,"settings.display.temp_units.c")),t(3),d(l(153,90,"settings.display.temp_units.f")),t(2),b(e.hasChangedLoginWallpaper?154:-1)}}function zt(n,c){if(n&1&&(i(0,"li",12)(1,"span"),r(2),o(3,"translate"),i(4,"code"),r(5,"-D"),a(),m(6,"br"),i(7,"small",74),r(8),o(9,"translate"),a()(),m(10,"input",75),o(11,"translate"),m(12,"label",76),a()),n&2){let e=_(3);t(2),u(" ",l(3,3,"settings.startup.debug")," "),t(6),u(" ",l(9,5,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(2),f("aria-label",l(11,7,"settings.startup.debug"))}}function Ht(n,c){n&1&&(i(0,"li",12)(1,"span"),r(2),o(3,"translate"),i(4,"code"),r(5,"-I"),a(),m(6,"br"),i(7,"small",74),r(8),o(9,"translate"),a()(),m(10,"input",77),o(11,"translate"),m(12,"label",78),a()),n&2&&(t(2),u(" ",l(3,3,"settings.startup.insecure")," "),t(6),d(l(9,5,"settings.startup.insecure_desc")),t(2),f("aria-label",l(11,7,"settings.startup.insecure")))}function Ot(n,c){n&1&&(i(0,"li",12)(1,"span"),r(2),o(3,"translate"),i(4,"code"),r(5,"-K"),a(),m(6,"br"),i(7,"small",74),r(8),o(9,"translate"),a()(),m(10,"input",79),o(11,"translate"),m(12,"label",80),a()),n&2&&(t(2),u(" ",l(3,3,"settings.startup.keep_accessories")," "),t(6),d(l(9,5,"settings.startup.keep_accessories_desc")),t(2),f("aria-label",l(11,7,"settings.startup.keep_accessories")))}function Lt(n,c){if(n&1&&(i(0,"li",17)(1,"span")(2,"span",81),r(3,"DEBUG"),a(),m(4,"br")(5,"small",66),o(6,"translate"),a(),i(7,"div",18),m(8,"input",82),a()()),n&2){let e=_(3);t(5),g("innerHTML",R(6,1,"settings.service.debug_tooltip",P(4,Nt,e.linkDebug)),Z)}}function Ut(n,c){n&1&&(i(0,"li",17)(1,"span")(2,"span",81),r(3,"NODE_OPTIONS"),a(),m(4,"br"),i(5,"small",74),r(6),o(7,"translate"),a()(),i(8,"div",18),m(9,"input",83),a()()),n&2&&(t(6),d(l(7,1,"settings.service.node_tooltip")))}function jt(n,c){n&1&&(i(0,"li",12)(1,"span"),r(2),o(3,"translate"),m(4,"br"),i(5,"small",74),r(6),o(7,"translate"),a()(),i(8,"a",84),o(9,"translate"),m(10,"i",15),a()()),n&2&&(t(2),u(" ",l(3,3,"menu.docker.startup_script"),""),t(4),d(l(7,5,"platform.docker.script_help")),t(2),f("aria-label",l(9,7,"menu.docker.startup_script")))}function Gt(n,c){n&1&&(i(0,"li",70)(1,"small",71),r(2),o(3,"translate"),a(),i(4,"button",72),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),d(l(3,3,"settings.changes.saved")),t(2),f("aria-label",l(5,5,"menu.tooltip_restart")),t(2),u(" ",l(7,7,"menu.tooltip_restart")," "))}function Wt(n,c){if(n&1&&(i(0,"ul",73),h(1,zt,13,9,"li",12)(2,Ht,13,9,"li",12)(3,Ot,13,9,"li",12)(4,Lt,9,6,"li",17)(5,Ut,10,3,"li",17)(6,jt,11,9,"li",12)(7,Gt,8,9,"li",70),a()),n&2){let e=_(2);t(),b(e.$settings.env.serviceMode?1:-1),t(),b(e.$settings.env.serviceMode?2:-1),t(),b(e.$settings.env.serviceMode?3:-1),t(),b(e.$settings.env.serviceMode?4:-1),t(),b(e.$settings.env.serviceMode?5:-1),t(),b(e.$settings.env.runningInDocker?6:-1),t(),b(e.hasChangedService?7:-1)}}function qt(n,c){if(n&1){let e=w();i(0,"form",7)(1,"div",2),v("click",function(){S(e);let p=_();return k(p.toggleSection("startup"))}),i(2,"h5",3),m(3,"i",4),r(4),o(5,"translate"),a()(),h(6,Wt,8,7,"ul",73),a()}if(n&2){let e=_();g("formGroup",e.serviceForm),t(),f("aria-expanded",e.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),g("ngClass",e.showFields.startup?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",l(5,6,"settings.title_startup_options")," "),t(2),b(e.showFields.startup?6:-1)}}function Kt(n,c){n&1&&m(0,"i",95)}function Jt(n,c){if(n&1&&(i(0,"span")(1,"span",94),h(2,Kt,1,0,"i",95),r(3),i(4,"span",96),r(5),o(6,"translate"),a()()()),n&2){let e=c.$implicit;t(),g("ngClass",B(6,Vt,e.missing,!e.missing)),t(),b(e.missing?2:-1),t(),u(" ",e.iface,": "),t(2),d(e.missing?l(6,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function Qt(n,c){n&1&&(i(0,"option",88),r(1),o(2,"translate"),a()),n&2&&(t(),u("Avahi (",l(2,1,"settings.mdns_advertiser_rec"),")"))}function Xt(n,c){n&1&&(i(0,"option",91),r(1),o(2,"translate"),a()),n&2&&(t(),u("systemd-resolved (",l(2,1,"settings.mdns_advertiser_exp"),")"))}function Yt(n,c){n&1&&(i(0,"li",70)(1,"small",71),r(2),o(3,"translate"),a(),i(4,"button",72),o(5,"translate"),r(6),o(7,"translate"),a()()),n&2&&(t(2),d(l(3,3,"settings.changes.saved")),t(2),f("aria-label",l(5,5,"menu.tooltip_restart")),t(2),u(" ",l(7,7,"menu.tooltip_restart")," "))}function Zt(n,c){if(n&1){let e=w();i(0,"ul",8)(1,"li",12)(2,"span",13),r(3),o(4,"translate"),m(5,"br"),i(6,"small",74),r(7),o(8,"translate"),a(),M(9,Jt,7,9,"span",null,T),a(),i(11,"button",85),o(12,"translate"),v("click",function(){S(e);let p=_();return k(p.selectNetworkInterfaces())}),m(13,"i",86),a()(),i(14,"li",17)(15,"span"),r(16),o(17,"translate"),m(18,"br"),i(19,"small",74),r(20),o(21,"translate"),a()(),i(22,"div",18)(23,"select",87),o(24,"translate"),h(25,Qt,3,3,"option",88),i(26,"option",89),r(27),o(28,"translate"),a(),i(29,"option",90),r(30,"Bonjour HAP"),a(),h(31,Xt,3,3,"option",91),a()()(),i(32,"li",17)(33,"span"),r(34),o(35,"translate"),m(36,"br"),i(37,"small",74),r(38),o(39,"translate"),a()(),i(40,"div",18),m(41,"input",92),o(42,"translate"),a()(),i(43,"li",17)(44,"span"),r(45),o(46,"translate"),m(47,"br"),i(48,"small",74),r(49),o(50,"translate"),a()(),i(51,"div",18),m(52,"input",93),o(53,"translate"),a()(),h(54,Yt,8,9,"li",70),a()}if(n&2){let e=_();t(3),u(" ",l(4,22,"settings.network.title_network_interfaces"),""),t(4),d(l(8,24,"settings.network.message_network_interface")),t(2),A(e.bridgeNetworkAdapters),t(2),g("disabled",!e.availableNetworkAdapters.length),f("aria-label",l(12,26,"settings.network.title_network_interfaces")),t(2),g("ngClass",P(48,Ft,!e.availableNetworkAdapters.length)),t(3),u(" ",l(17,28,"settings.mdns_advertiser"),""),t(4),d(l(21,30,"settings.mdns_advertiser_help")),t(3),g("formControl",e.legacyMdnsFormControl),f("aria-label",l(24,32,"settings.mdns_advertiser")),t(2),b(e.showAvahiMdnsOption?25:-1),t(2),u(" Ciao ",e.showAvahiMdnsOption?"":"("+l(28,34,"settings.mdns_advertiser_rec")+")"," "),t(4),b(e.showResolvedMdnsOption?31:-1),t(3),u(" ",l(35,36,"settings.network.port_hb"),""),t(4),d(l(39,38,"settings.network.port_hb_desc")),t(3),g("formControl",e.hbPortFormControl)("ngClass",P(50,Ve,e.isInvalidHbPort)),f("aria-label",l(42,40,"settings.network.port_ui")),t(4),u(" ",l(46,42,"settings.network.port_ui"),""),t(4),d(l(50,44,"settings.network.port_ui_desc")),t(3),g("ngClass",P(52,Ve,e.isInvalidHbUiPort)),f("aria-label",l(53,46,"settings.network.port_ui")),t(2),b(e.hasChangedHbPort||e.hasChangedUiSettings||e.hasChangedMdns||e.hasChangedBridgeNetworkAdapters?54:-1)}}function ei(n,c){n&1&&(i(0,"p",9),r(1),o(2,"translate"),a()),n&2&&(t(),d(l(2,1,"settings.cache.desc")))}function ti(n,c){if(n&1){let e=w();i(0,"ul",97)(1,"li",12)(2,"span",13),r(3),o(4,"translate"),m(5,"br"),i(6,"small",74),r(7),o(8,"translate"),a()(),i(9,"button",14),o(10,"translate"),v("click",function(){S(e);let p=_(2);return k(p.removeSingleCachedAccessories())}),m(11,"i",15),a()(),i(12,"li",12)(13,"span",13),r(14),o(15,"translate"),m(16,"br"),i(17,"small",74),r(18),o(19,"translate"),a()(),i(20,"button",14),o(21,"translate"),v("click",function(){S(e);let p=_(2);return k(p.removeBridgeAccessories())}),m(22,"i",15),a()(),i(23,"li",12)(24,"span",13),r(25),o(26,"translate"),m(27,"br"),i(28,"small",74),r(29),o(30,"translate"),a()(),i(31,"button",14),o(32,"translate"),v("click",function(){S(e);let p=_(2);return k(p.removeAllCachedAccessories())}),m(33,"i",15),a()()()}n&2&&(t(3),u(" ",l(4,9,"reset.accessory_ind.title"),""),t(4),d(l(8,11,"reset.accessory_ind.desc")),t(2),f("aria-label",l(10,13,"reset.accessory_ind.title")),t(5),u(" ",l(15,15,"reset.bridge_accessories.title"),""),t(4),d(l(19,17,"reset.bridge_accessories.desc")),t(2),f("aria-label",l(21,19,"reset.accessory_all.title")),t(5),u(" ",l(26,21,"reset.accessory_all.title"),""),t(4),d(l(30,23,"reset.accessory_all.desc")),t(2),f("aria-label",l(32,25,"reset.accessory_all.title")))}function ii(n,c){if(n&1){let e=w();i(0,"div",1)(1,"div",2),v("click",function(){S(e);let p=_();return k(p.toggleSection("cache"))}),i(2,"h5",3),m(3,"i",4),r(4),o(5,"translate"),a()(),h(6,ei,3,3,"p",9)(7,ti,34,27,"ul",97),a()}if(n&2){let e=_();t(),f("aria-expanded",e.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),g("ngClass",e.showFields.cache?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",l(5,6,"settings.cache.title")," "),t(2),b(e.showFields.cache?6:-1),t(),b(e.showFields.cache?7:-1)}}function ni(n,c){n&1&&(i(0,"p",9),r(1),o(2,"translate"),a()),n&2&&(t(),d(l(2,1,"reset.bridges.desc")))}function ai(n,c){if(n&1){let e=w();i(0,"li",12)(1,"span",13),r(2),o(3,"translate"),m(4,"br"),i(5,"small",74),r(6),o(7,"translate"),a()(),i(8,"button",14),o(9,"translate"),v("click",function(){S(e);let p=_(2);return k(p.unpairAccessory())}),m(10,"i",15),a()()}n&2&&(t(2),u(" ",l(3,3,"reset.bridge_ind.title"),""),t(4),d(l(7,5,"reset.bridge_ind.desc")),t(2),f("aria-label",l(9,7,"reset.bridge_ind.title")))}function ri(n,c){if(n&1){let e=w();i(0,"ul",10),h(1,ai,11,9,"li",12),i(2,"li",12)(3,"span",13),r(4),o(5,"translate"),o(6,"titlecase"),m(7,"br"),i(8,"small",74),r(9),o(10,"translate"),a()(),i(11,"button",14),o(12,"translate"),v("click",function(){S(e);let p=_();return k(p.resetHomebridgeState())}),m(13,"i",15),a()()()}if(n&2){let e=_();t(),b(e.$settings.env.serviceMode?1:-1),t(3),u(" ",l(6,6,l(5,4,"reset.bridge_all.title")),""),t(5),d(l(10,8,"reset.bridge_all.desc")),t(2),f("aria-label",l(12,10,"reset.bridge_all.title"))}}var Tn=(()=>{class n{$api=C(D);$modal=C(X);$plugin=C(Ee);$settings=C(we);$toastr=C(V);$translate=C(F);originalServiceForm={HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""};originalUiSettingsForm={port:0};originalLoginWallpaper="";originalMdnsSetting="";originalBridgeNetworkAdapters=[];originalHbPort=0;hasChangedService=!1;hasChangedUiSettings=!1;hasChangedMdns=!1;hasChangedBridgeNetworkAdapters=!1;hasChangedHbPort=!1;hasChangedLoginWallpaper=!1;isInvalidHbPort=!1;isInvalidHbUiPort=!1;serviceForm=new ee({HOMEBRIDGE_DEBUG:new H(!1),HOMEBRIDGE_KEEP_ORPHANS:new H(!1),HOMEBRIDGE_INSECURE:new H(!0),ENV_DEBUG:new H(""),ENV_NODE_OPTIONS:new H("")});uiSettingsForm=new ee({port:new H(0)});loginWallpaper="";legacyMdnsFormControl=new de(!1);showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;availableNetworkAdapters=[];bridgeNetworkAdapters=[];hbPortFormControl=new H(0);isHbV2=!1;showFields={general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0};file='<span class="text-monospace">ui-wallpaper.jpg</span>';linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt"></i></a>';constructor(){}ngOnInit(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),this.initUiSettingsForm(),this.initDisplaySettingsForm(),this.initNetworkingOptions(),this.$settings.env.serviceMode&&this.initServiceModeForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(Y(500)).subscribe(e=>{let s=!1;Object.keys(e).forEach(p=>{this.originalUiSettingsForm[p]!==e[p]&&(this.saveUiSettingChange(p,e[p]),s=!0)}),this.hasChangedUiSettings=s})}initServiceModeForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:e=>{Object.keys(e).forEach(s=>{this.originalServiceForm[s]=e[s]}),this.serviceForm.patchValue(e),this.serviceForm.valueChanges.pipe(Y(500)).subscribe(this.saveServiceModeSettings.bind(this))},error:e=>{console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}initDisplaySettingsForm(){this.originalLoginWallpaper=this.$settings.loginWallpaper,this.loginWallpaper=this.$settings.loginWallpaper}saveUiSettingChange(e,s){switch(e){case"lang":this.$settings.setLang(s);break;case"lightingMode":this.$settings.setLightingMode(s,"user");break;case"menuMode":this.$settings.setMenuMode(s),window.location.reload();break;case"theme":this.$settings.setTheme(s);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",s);break;case"loginWallpaper":this.$settings.setEnvItem("loginWallpaper",s),this.hasChangedLoginWallpaper=s!==this.originalLoginWallpaper;break;case"port":if(!s||typeof s!="number"||s<1025||s>65533||Number.isInteger(s)===!1||s===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",s),this.isInvalidHbUiPort=!1;break}$(this.$api.put("/config-editor/ui",{key:e,value:s})).catch(p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openBackupModal(){this.$modal.open(Ie,{size:"lg",backdrop:"static"})}saveServiceModeSettings(e=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",e).subscribe({next:()=>{this.hasChangedService=JSON.stringify(e)!==JSON.stringify(this.originalServiceForm)},error:s=>{console.error(s),this.$toastr.error(s.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Me,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Ne,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open($e,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open(ye,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(Te,{size:"lg",backdrop:"static"})}initNetworkingOptions(){return y(this,null,function*(){try{this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption=!0,this.showResolvedMdnsOption=!0)}catch{}})}getNetworkSettings(){return y(this,null,function*(){return Promise.all([$(this.$api.get("/server/network-interfaces/system")),$(this.$api.get("/server/network-interfaces/bridge")),$(this.$api.get("/server/mdns-advertiser")),$(this.$api.get("/server/port"))]).then(([e,s,p,x])=>{this.availableNetworkAdapters=e,this.buildBridgeNetworkAdapterList(s),this.legacyMdnsFormControl.patchValue(p.advertiser),this.originalMdnsSetting=p.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(L=>L.iface),this.legacyMdnsFormControl.valueChanges.subscribe(L=>{this.setHomebridgeMdnsSetting(L)}),this.hbPortFormControl.patchValue(x.port),this.hbPortFormControl.valueChanges.subscribe(L=>this.setHomebridgePort(L)),this.originalHbPort=x.port})})}setHomebridgeMdnsSetting(e){return y(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:e}).subscribe({next:()=>{this.hasChangedMdns=e!==this.originalMdnsSetting},error:s=>{console.error(s),this.$toastr.error(s.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(e){return y(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:e}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==e.join(",")},error:s=>{console.error(s),this.$toastr.error(s.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgePort(e){return y(this,null,function*(){if(e===this.uiSettingsForm.get("port").value){this.isInvalidHbPort=!0;return}this.$api.put("/server/port",{port:e}).subscribe({next:()=>{this.hasChangedHbPort=this.originalHbPort!==e,this.isInvalidHbPort=!1},error:()=>{this.isInvalidHbPort=!0}})})}buildBridgeNetworkAdapterList(e){if(!e.length){this.bridgeNetworkAdapters=[];return}this.bridgeNetworkAdapters=e.map(s=>{let p=this.availableNetworkAdapters.find(x=>x.iface===s);return p?(p.selected=!0,p.missing=!1,p):{iface:s,missing:!0}})}selectNetworkInterfaces(){let e=this.$modal.open(Fe,{size:"lg",backdrop:"static"});e.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,e.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,e.result.then(s=>{this.buildBridgeNetworkAdapterList(s),this.setNetworkInterfaces(s)}).catch(()=>{})}toggleSection(e){this.showFields[e]=!this.showFields[e]}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=E({type:n,selectors:[["ng-component"]],decls:35,vars:35,consts:[[1,"primary-text","m-0"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],["novalidate","",1,"my-4",3,"formGroup"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pr-2"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","pl-0","pl-md-5","w-auto"],[1,"custom-select","resp-select",3,"ngModelChange","ngModel"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],["value","default"],["value","freeze"],[1,"grey-text","pr-2",3,"innerHTML"],["name","search_wallpaper","autocomplete","off","type","text","placeholder","/path-to/image.png",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngModelChange","ngModel"],["value","c"],["value","f"],[1,"list-group-item","d-flex","flex-column","align-items-center"],[1,"grey-text","my-2"],["routerLink","/restart",1,"btn","btn-primary","waves-effect","my-2"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],[1,"grey-text","pr-2"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ml-3",2,"min-width","50px"],[1,"text-monospace"],["formControlName","ENV_DEBUG","type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","form-control-sm","resp-input"],["formControlName","ENV_NODE_OPTIONS","type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","form-control-sm","resp-input"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-arrow-right",3,"ngClass"],[1,"custom-select","resp-select",3,"formControl"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","form-control-sm","resp-input",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581","formControlName","port",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngClass"],[1,"badge","badge-pill","mr-1",3,"ngClass"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"font-weight-normal"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"]],template:function(s,p){s&1&&(i(0,"h3",0),r(1),o(2,"translate"),a(),i(3,"div",1)(4,"div",2),v("click",function(){return p.toggleSection("general")}),i(5,"h5",3),m(6,"i",4),r(7),o(8,"translate"),a()(),h(9,Dt,22,18,"ul",5),a(),i(10,"div",1)(11,"div",2),v("click",function(){return p.toggleSection("display")}),i(12,"h5",3),m(13,"i",4),r(14),o(15,"translate"),a()(),h(16,Pt,155,94,"ul",6),a(),h(17,qt,7,8,"form",7),i(18,"form",7)(19,"div",2),v("click",function(){return p.toggleSection("network")}),i(20,"h5",3),m(21,"i",4),r(22),o(23,"translate"),a()(),h(24,Zt,55,54,"ul",8),a(),h(25,ii,8,8,"div",1),i(26,"div",1)(27,"div",2),v("click",function(){return p.toggleSection("reset")}),i(28,"h5",3),m(29,"i",4),r(30),o(31,"translate"),a()(),h(32,ni,3,3,"p",9)(33,ri,14,12,"ul",10),a(),m(34,"div",11)),s&2&&(t(),d(l(2,25,"menu.settings.title")),t(3),f("aria-expanded",p.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),g("ngClass",p.showFields.general?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",l(8,27,"settings.general.title_general")," "),t(2),b(p.showFields.general?9:-1),t(2),f("aria-expanded",p.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),g("ngClass",p.showFields.display?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",l(15,29,"settings.general.title_display")," "),t(2),b(p.showFields.display?16:-1),t(),b(p.$settings.env.serviceMode||p.$settings.env.runningInDocker?17:-1),t(),g("formGroup",p.uiSettingsForm),t(),f("aria-expanded",p.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),g("ngClass",p.showFields.network?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",l(23,31,"settings.network.title_network")," "),t(2),b(p.showFields.network?24:-1),t(),b(p.$settings.env.serviceMode?25:-1),t(2),f("aria-expanded",p.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),g("ngClass",p.showFields.reset?"fa-chevron-down":"fa-chevron-right"),t(),u(" ",l(31,33,"reset.bridges.title")," "),t(2),b(p.showFields.reset?32:-1),t(),b(p.showFields.reset?33:-1))},dependencies:[z,ke,J,ce,ve,xe,se,me,W,be,q,pe,he,fe,K,Ce,ue,_e,ge,G,I],encapsulation:2})}return n})();export{$e as a,Me as b,Fe as c,Tn as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-5NTU76Y2.js";import"./chunk-SFW3EWWB.js";import"./chunk-W3AL3YCO.js";import{g as n}from"./chunk-T3GI7KUT.js";import"./chunk-V34IYB4T.js";import"./chunk-DTH6YVQ5.js";import"./chunk-BVC2RBSG.js";import"./chunk-HA6CO5NZ.js";import{c as m}from"./chunk-675OFXLW.js";import{ia as t,kd as i,vb as r}from"./chunk-CKNHTRCL.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-M66MJDOB.js").then(o=>o.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-TWVNA46I.js").then(o=>o.ShutdownLinuxComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n.forChild(d),n]})}return o})();var g=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i,m.forChild(),u]})}return o})();export{g as LinuxModule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as _,b as D}from"./chunk-
|
|
1
|
+
import{a as _,b as D}from"./chunk-DTH6YVQ5.js";import{j as c,k as S}from"./chunk-BVC2RBSG.js";import{f as x}from"./chunk-HA6CO5NZ.js";import{C as v,Tc as I,g as O,h as a,ha as h,ia as E,ka as y,ma as l,na as f,r as p,vb as j,w as d,x as T,z as w}from"./chunk-CKNHTRCL.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(l(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(l(g),l(m),l(I))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(l(r,12))},r.\u0275mod=j({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(c.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(c.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(c.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(c.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(c.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{m as a,F as b,q as c};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as P}from"./chunk-NSCP3SOQ.js";import{a as O}from"./chunk-JF5AT3NK.js";import{c as y,e as E,l as k,y as $}from"./chunk-YLEC7AUG.js";import{b as D}from"./chunk-T3GI7KUT.js";import{b as L}from"./chunk-DTH6YVQ5.js";import{h as I,k as H}from"./chunk-BVC2RBSG.js";import{a as T}from"./chunk-675OFXLW.js";import{Bb as h,Mb as f,Rb as d,Wb as m,Xb as l,Yb as w,ac as g,dc as _,ec as a,h as S,ib as s,na as r,oc as v,tc as b,ub as x,uc as M,vc as V,w as C,xa as c,ya as p}from"./chunk-CKNHTRCL.js";function z(i,u){i&1&&w(0,"i",6)}function A(i,u){i&1&&w(0,"i",7)}function F(i,u){if(i&1){let t=g();m(0,"ngx-monaco-editor",10),_("onInit",function(e){c(t);let o=a();return p(o.onEditorInit(e))})("keydown.control.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())})("keydown.meta.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())}),l()}if(i&2){let t=a();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function W(i,u){if(i&1){let t=g();m(0,"textarea",11),V("ngModelChange",function(e){c(t);let o=a();return M(o.startupScript,e)||(o.startupScript=e),p(e)}),v(1," "),l()}if(i&2){let t=a();b("ngModel",t.startupScript)}}var tt=(()=>{class i{$api=r(H);$md=r(O);$route=r(D);$settings=r(L);$toastr=r(I);$translate=r(T);startupScript;saveInProgress;isMobile=!1;options={printMargin:!1};monacoEditor;editorOptions;monacoEditorModel;lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"shell",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(t=>{this.startupScript=t.startupScript.script}),this.monacoEditorModel={value:"",language:"shell"}}onEditorInit(t){this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.startupScript)}onSave(){return S(this,null,function*(){if(!this.saveInProgress){if(this.saveInProgress=!0,this.isMobile||(yield this.monacoEditor.getAction("editor.action.formatDocument").run(),this.startupScript=this.monacoEditor.getModel().getValue()),!["#!/bin/sh","#!/bin/bash"].includes(this.startupScript.split(`
|
|
2
2
|
`)[0].trim())){this.$toastr.error(this.$translate.instant("platform.docker.must_use_hashbang"),this.$translate.instant("toast.title_error")),this.startupScript=`#!/bin/sh
|
|
3
3
|
|
|
4
|
-
${this.startupScript}`,this.isMobile||this.monacoEditor.getModel().setValue(this.startupScript),this.saveInProgress=!1;return}try{yield C(this.$api.put("/platform-tools/docker/startup-script",{script:this.startupScript})),this.$toastr.success(this.$translate.instant("platform.docker.restart_required"),this.$translate.instant("platform.docker.script_saved"))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=x({type:i,selectors:[["ng-component"]],decls:11,vars:5,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0","text-monospace"],[1,"col-6","text-right"],[1,"btn","btn-primary","waves-effect","m-0",3,"click","disabled"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","my-2",3,"options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModel"],[1,"flex-grow-1","h-100","w-100","my-2",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModelChange","ngModel"]],template:function(n,e){n&1&&(m(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),v(4,"startup.sh"),l()(),m(5,"div",4)(6,"button",5),_("click",function(){return e.onSave()}),h(7,z,1,0,"i",6)(8,A,1,0,"i",7),l()()(),h(9,F,1,2,"ngx-monaco-editor",8)(10,W,2,1,"textarea",9),l()),n&2&&(s(6),f("disabled",e.saveInProgress),s(),d(e.saveInProgress?-1:7),s(),d(e.saveInProgress?8:-1),s(),d(e.isMobile?-1:9),s(),d(e.isMobile?10:-1))},dependencies:[
|
|
4
|
+
${this.startupScript}`,this.isMobile||this.monacoEditor.getModel().setValue(this.startupScript),this.saveInProgress=!1;return}try{yield C(this.$api.put("/platform-tools/docker/startup-script",{script:this.startupScript})),this.$toastr.success(this.$translate.instant("platform.docker.restart_required"),this.$translate.instant("platform.docker.script_saved"))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=x({type:i,selectors:[["ng-component"]],decls:11,vars:5,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0","text-monospace"],[1,"col-6","text-right"],[1,"btn","btn-primary","waves-effect","m-0",3,"click","disabled"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","my-2",3,"options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModel"],[1,"flex-grow-1","h-100","w-100","my-2",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModelChange","ngModel"]],template:function(n,e){n&1&&(m(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),v(4,"startup.sh"),l()(),m(5,"div",4)(6,"button",5),_("click",function(){return e.onSave()}),h(7,z,1,0,"i",6)(8,A,1,0,"i",7),l()()(),h(9,F,1,2,"ngx-monaco-editor",8)(10,W,2,1,"textarea",9),l()),n&2&&(s(6),f("disabled",e.saveInProgress),s(),d(e.saveInProgress?-1:7),s(),d(e.saveInProgress?8:-1),s(),d(e.isMobile?-1:9),s(),d(e.isMobile?10:-1))},dependencies:[P,$,y,E,k],encapsulation:2})}return i})();export{tt as a};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{a as ee}from"./chunk-XP7D2PRA.js";import{a as Z,b as ne}from"./chunk-2ZEIWH4C.js";import{a as W,b as Y}from"./chunk-NSCP3SOQ.js";import{a as X}from"./chunk-JF5AT3NK.js";import{m as J,n as K,o as U}from"./chunk-N4F42HDL.js";import{c as N,e as F,l as q,y as z}from"./chunk-YLEC7AUG.js";import{b as G}from"./chunk-T3GI7KUT.js";import{b as Q}from"./chunk-DTH6YVQ5.js";import{h as M,k as V}from"./chunk-BVC2RBSG.js";import{a as k,b as T}from"./chunk-675OFXLW.js";import{Bb as y,Cc as s,Dc as d,Ec as O,Lb as C,Mb as v,Rb as m,Tb as I,Ub as j,Vb as H,Wb as r,Xb as a,Yb as w,ac as _,dc as h,ec as l,g as oe,h as S,ib as n,id as L,na as u,ob as A,oc as b,pc as x,qc as E,tc as R,ub as $,uc as P,vc as B,w as D,xa as f,ya as g}from"./chunk-CKNHTRCL.js";var ie=oe(ne(),1);function ae(o,p){o&1&&(r(0,"div",6),w(1,"i",13),a())}function se(o,p){if(o&1){let e=_();r(0,"li",18),b(1),s(2,"date"),r(3,"button",19),s(4,"translate"),h("click",function(){let t=f(e).$implicit,c=l(3);return g(c.restore(t.id))}),w(5,"i",20),a()()}if(o&2){let e=p.$implicit;n(),E(" ",O(2,2,e.timestamp,"medium")," "),n(2),C("aria-label",d(4,5,"config.restore.copy_to_editor"))}}function le(o,p){if(o&1&&(r(0,"ul",16),j(1,se,6,7,"li",18,I),a()),o&2){let e=l(2);n(),H(e.backupList)}}function de(o,p){o&1&&(r(0,"p",17),b(1),s(2,"translate"),a()),o&2&&(n(),x(d(2,1,"config.restore.no_backups")))}function ce(o,p){if(o&1&&(r(0,"div",14),w(1,"i",15),a(),r(2,"p",14),b(3),s(4,"translate"),a(),y(5,le,3,0,"ul",16)(6,de,3,3,"p",17)),o&2){let e=l();n(3),x(d(4,3,"config.restore.title_restore_homebridge_backup")),n(2),m(e.backupList&&e.backupList.length?5:-1),n(),m(!e.backupList||!e.backupList.length?6:-1)}}function me(o,p){if(o&1){let e=_();r(0,"button",21),s(1,"translate"),h("click",function(){f(e);let t=l();return g(t.$activeModal.dismiss("Dismiss"))}),b(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function pe(o,p){if(o&1){let e=_();r(0,"button",21),s(1,"translate"),h("click",function(){f(e);let t=l();return g(t.$activeModal.dismiss("Dismiss"))}),b(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function fe(o,p){if(o&1){let e=_();r(0,"button",22),s(1,"translate"),h("click",function(){f(e);let t=l();return g(t.deleteAllBackups())}),b(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_remove")),n(2),E(" ",d(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=u(J);$api=u(V);$toastr=u(M);$translate=u(k);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:19,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["type","button",1,"btn","btn-danger","mr-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-history","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box"],[1,"text-center","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","ml-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-danger","mr-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),b(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),h("click",function(){return t.$activeModal.dismiss("Dismiss")}),r(7,"span",4),b(8,"\xD7"),a()()(),r(9,"div",5),y(10,ae,2,0,"div",6)(11,ce,7,5),a(),r(12,"div",7)(13,"div",8),y(14,me,4,6,"button",9),a(),r(15,"div",10),y(16,pe,4,6,"button",9),a(),r(17,"div",11),y(18,fe,4,6,"button",12),a()()()),i&2&&(n(3),x(d(4,7,"form.button_restore")),n(2),C("aria-label",d(6,9,"form.button_close")),n(5),m(t.loading?10:-1),n(),m(t.loading?-1:11),n(3),m(!t.loading&&t.backupList.length?14:-1),n(2),m(t.loading||!t.loading&&!t.backupList.length?16:-1),n(2),m(!t.loading&&t.backupList.length?18:-1))},dependencies:[L,T],encapsulation:2})}return o})();function ge(o,p){if(o&1){let e=_();r(0,"button",13),s(1,"translate"),s(2,"translate"),h("click",function(){f(e);let t=l();return g(t.onExportConfig())}),w(3,"i",14),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_download")),C("aria-label",d(2,4,"form.button_download")))}function ue(o,p){if(o&1){let e=_();r(0,"button",15),s(1,"translate"),s(2,"translate"),h("click",function(){f(e);let t=l();return g(t.onCancelRestore())}),w(3,"i",16),a()}if(o&2){let e=l();v("disabled",e.saveInProgress)("ngbTooltip",d(1,3,"form.button_cancel")),C("aria-label",d(2,5,"form.button_cancel"))}}function he(o,p){if(o&1){let e=_();r(0,"button",13),s(1,"translate"),s(2,"translate"),h("click",function(){f(e);let t=l();return g(t.onRestore())}),w(3,"i",17),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_restore")),C("aria-label",d(2,4,"form.button_restore")))}function _e(o,p){o&1&&w(0,"i",8)}function be(o,p){o&1&&w(0,"i",9)}function Ce(o,p){if(o&1){let e=_();r(0,"ngx-monaco-editor",18),h("onInit",function(t){f(e);let c=l();return g(c.onEditorInit(t))})("keydown.control.s",function(t){f(e);let c=l();return t.preventDefault(),g(c.onSave())})("keydown.meta.s",function(t){f(e);let c=l();return t.preventDefault(),g(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function ye(o,p){if(o&1){let e=_();r(0,"ngx-monaco-diff-editor",19),h("onInit",function(t){f(e);let c=l();return g(c.onInitDiffEditor(t))})("keydown.control.s",function(t){f(e);let c=l();return t.preventDefault(),g(c.onSave())})("keydown.meta.s",function(t){f(e);let c=l();return t.preventDefault(),g(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function we(o,p){if(o&1){let e=_();r(0,"textarea",20),B("ngModelChange",function(t){f(e);let c=l();return P(c.homebridgeConfig,t)||(c.homebridgeConfig=t),g(t)}),b(1," "),a()}if(o&2){let e=l();R("ngModel",e.homebridgeConfig)}}var Ke=(()=>{class o{$api=u(V);$md=u(X);$modal=u(K);$monacoEditor=u(ee);$route=u(G);$renderer=u(A);$settings=u(Q);$toastr=u(M);$translate=u(k);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>{this.setMonacoEditorModel()}})}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return S(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield D(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Z,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
|
|
2
|
+
`).map(i=>` ${i}`).join(`
|
|
3
|
+
`),setTimeout(()=>{let i=this.monacoEditor.getModel().findMatches(e);if(i.length){let t=i[0].range,c=new monaco.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:c,options:{isWholeLine:!0,linesDecorationsClassName:"hb-monaco-editor-line-error"}}])}},200))}setMonacoEditorModel(){if(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.some(i=>i.uri==="http://homebridge/config.json"))return;let e=monaco.Uri.parse("a://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[e.toString()],schema:{type:"object",required:["bridge"],properties:{bridge:{type:"object",required:["name","username","port","pin"],properties:{name:{type:"string",description:`The Homebridge instance name.
|
|
4
|
+
This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
|
|
5
|
+
You should change this pin if you need to re-pair your instance with HomeKit.
|
|
6
|
+
Example: 0E:89:49:64:91:86`,default:"0E:89:49:64:91:86",pattern:"^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$"},port:{type:"number",description:`The port Homebridge listens on.
|
|
7
|
+
If running more than one instance of Homebridge on the same server make sure each instance is given a unique port.`,default:51173,minimum:1025,maximum:65534},pin:{type:"string",description:`The Homebridge instance pin.
|
|
8
|
+
This is used when pairing Homebridge to HomeKit.
|
|
9
|
+
Example: 630-27-655`,default:"630-27-655",pattern:"^([0-9]{3}-[0-9]{2}-[0-9]{3})$"},manufacturer:{type:"string",description:"The bridge manufacturer to be displayed in HomeKit"},firmwareRevision:{type:"string",description:"The bridge firmware version to be displayed in HomeKit"},model:{type:"string",description:"The bridge model to be displayed in HomeKit"},bind:{description:`A string or an array of strings with the name(s) of the network interface(s) Homebridge should bind to.
|
|
10
|
+
|
|
11
|
+
Requires Homebridge v1.3 or later.`,type:["string","array"],items:{type:"string",description:"Network Interface name that Homebridge should bind to."}}},default:{name:"Homebridge",username:"0E:89:49:64:91:86",port:51173,pin:"6302-7655"}},mdns:{type:"object",properties:{interface:{type:"string",description:`The interface or IP address of the interface you want Homebridge to listen on. This is useful if your server has multiple interfaces.
|
|
12
|
+
|
|
13
|
+
Depreciated as of Homebridge v1.3.0 - use bridge.bind instead.`},legacyAdvertiser:{type:"boolean",description:"Set to `false` to use the new mdns library, ciao."}},default:{legacyAdvertiser:!1}},plugins:{type:"array",description:"An array of plugins that should be selectively enabled. Remove this array to enable all plugins.",items:{type:"string",description:`The full plugin npm package name.
|
|
14
|
+
Example: homebridge-dummy`},default:["homebridge-config-ui-x"]},disabledPlugins:{type:"array",description:`An array of plugins that should be disabled.
|
|
15
|
+
|
|
16
|
+
Requires Homebridge v1.3 or later.`,items:{type:"string",description:`The full plugin npm package name.
|
|
17
|
+
Example: homebridge-dummy`},default:[]},ports:{type:"object",description:"The range of ports that should be used for certain accessories like cameras and TVs",required:["start","end"],properties:{start:{type:"number",default:52100,minimum:1025,maximum:65534},end:{type:"number",default:52150,minimum:1025,maximum:65534}},default:{start:52100,end:52150}},platforms:{type:"array",description:`Any plugin that exposes a platform should have its config entered in this array.
|
|
18
|
+
Separate each plugin config block using a comma.`,items:{type:"object",required:["platform"],anyOf:[{type:"object",required:["platform"],properties:{platform:{type:"string",description:"This is used by Homebridge to identify which plugin this platform belongs to.",not:{enum:["config"]}},name:{type:"string",description:"The name of the platform."}}},{type:"object",properties:{platform:{type:"string",description:`Homebridge UI platform name must be set to "config".
|
|
19
|
+
Do Not Change!`,oneOf:[{enum:"config"}]},name:{type:"string",description:"The name used in the Homebridge log."}}}]}},accessories:{type:"array",description:`Any plugin that exposes an accessory should have its config entered in this array.
|
|
20
|
+
Separate each plugin config block using a comma.`,items:{type:"object",required:["accessory","name"],properties:{accessory:{type:"string",description:"This is used by Homebridge to identify which plugin this accessory belongs to."},name:{type:"string",description:"The name of the accessory."}}}}}}}]}),this.monacoEditorModel.uri=monaco.Uri.parse("a://homebridge/config.json")}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){let e=document.querySelector(".content");this.$renderer.removeStyle(e,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:18,vars:18,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-right"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0",3,"ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0",3,"disabled","ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModel"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-times"],[1,"fas","fa-fw","fa-history"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModelChange","ngModel"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),b(4),s(5,"translate"),a()(),r(6,"div",4),y(7,ge,4,6,"button",5)(8,ue,4,7,"button",6)(9,he,4,6,"button",5),r(10,"button",7),s(11,"translate"),s(12,"translate"),h("click",function(){return t.onSave()}),y(13,_e,1,0,"i",8)(14,be,1,0,"i",9),a()()(),y(15,Ce,1,2,"ngx-monaco-editor",10)(16,ye,1,3,"ngx-monaco-diff-editor",11)(17,we,2,1,"textarea",12),a()),i&2&&(n(4),x(d(5,12,"menu.config_json_editor")),n(3),m(t.originalConfig?-1:7),n(),m(t.originalConfig?8:-1),n(),m(t.originalConfig?-1:9),n(),v("disabled",t.saveInProgress)("ngbTooltip",d(11,14,"form.button_save")),C("aria-label",d(12,16,"form.button_save")),n(3),m(t.saveInProgress?-1:13),n(),m(t.saveInProgress?14:-1),n(),m(!t.isMobile&&!t.originalConfig?15:-1),n(),m(!t.isMobile&&t.originalConfig?16:-1),n(),m(t.isMobile?17:-1))},dependencies:[U,W,Y,z,N,F,q,T],encapsulation:2})}return o})();export{Ke as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as j}from"./chunk-VRLRDDC6.js";import"./chunk-XP7D2PRA.js";import"./chunk-2ZEIWH4C.js";import{c as M}from"./chunk-NSCP3SOQ.js";import"./chunk-JF5AT3NK.js";import{q as u}from"./chunk-N4F42HDL.js";import{y as l,z as d}from"./chunk-YLEC7AUG.js";import{d as h,g as a}from"./chunk-T3GI7KUT.js";import"./chunk-DTH6YVQ5.js";import{h as v,k as y}from"./chunk-BVC2RBSG.js";import"./chunk-HA6CO5NZ.js";import{a as g,c as C}from"./chunk-675OFXLW.js";import{h as s,ha as c,ia as i,kd as p,na as e,vb as n,w as f}from"./chunk-CKNHTRCL.js";var m=(()=>{class o{$api=e(y);$router=e(h);$toastr=e(v);$translate=e(g);constructor(){}resolve(){return s(this,null,function*(){try{let r=yield f(this.$api.get("/config-editor"));return JSON.stringify(r,null,4)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=c({token:o,factory:o.\u0275fac})}return o})();var $=[{path:"",loadComponent:()=>import("./chunk-KUS3JO5E.js").then(o=>o.ConfigEditorComponent),resolve:{config:m}}],R=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({imports:[a.forChild($),a]})}return o})();var Q=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({providers:[m],imports:[p,l,d,M,u,C.forChild(),R,j]})}return o})();export{Q as ConfigEditorModule};
|