homebridge-config-ui-x 5.12.1-alpha.3 → 5.12.1-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/public/{chunk-KCRG46YZ.js → chunk-3IKZJDOJ.js} +1 -1
- package/public/{chunk-K6DZTGLW.js → chunk-3TSJETVD.js} +1 -1
- package/public/{chunk-VUQTJ7DS.js → chunk-4OCEDS3F.js} +1 -1
- package/public/{chunk-X7LAVJYW.js → chunk-5KEKGTEE.js} +1 -1
- package/public/{chunk-JTUZ5AFR.js → chunk-67QLZ3WO.js} +1 -1
- package/public/{chunk-HTPO5VWE.js → chunk-7FJAYQO3.js} +1 -1
- package/public/{chunk-VCZ6KBM7.js → chunk-7HMWJ2FC.js} +1 -1
- package/public/{chunk-SSC2QCZI.js → chunk-7RV6N3PV.js} +1 -1
- package/public/{chunk-GGTSYCDS.js → chunk-C5I3EHA5.js} +1 -1
- package/public/{chunk-GYOWF7DE.js → chunk-CCWP7ORM.js} +1 -1
- package/public/{chunk-HHZSXHMS.js → chunk-CIVOXLBC.js} +1 -1
- package/public/{chunk-B2FEO32G.js → chunk-COHQ3TQG.js} +1 -1
- package/public/{chunk-OT6UQ4SL.js → chunk-D7KSZ6BO.js} +1 -1
- package/public/{chunk-4NKCRHTC.js → chunk-ECQPCAW5.js} +1 -1
- package/public/{chunk-RCHTZ25W.js → chunk-EDUQXYLL.js} +1 -1
- package/public/{chunk-U2RX6MKI.js → chunk-EKDAZE35.js} +1 -1
- package/public/{chunk-FJO5GYAD.js → chunk-FFLC6SBL.js} +1 -1
- package/public/{chunk-HT2MTBEV.js → chunk-H4G6RBOZ.js} +1 -1
- package/public/{chunk-XX3G34TE.js → chunk-HS5YTJAU.js} +1 -1
- package/public/{chunk-PXOVSZTX.js → chunk-IHMPYUA6.js} +1 -1
- package/public/{chunk-QHCWTRM4.js → chunk-INSEV5R4.js} +1 -1
- package/public/{chunk-HOYNPDYG.js → chunk-JG3FKGLL.js} +1 -1
- package/public/{chunk-A4EMK2AE.js → chunk-LMZ63AQJ.js} +1 -1
- package/public/{chunk-5NPURMIV.js → chunk-MEXYUAHP.js} +1 -1
- package/public/{chunk-NRHEAXPQ.js → chunk-PVJ37WDV.js} +1 -1
- package/public/{chunk-4CIWXXEC.js → chunk-Q337KD4E.js} +1 -1
- package/public/{chunk-627P2ZOZ.js → chunk-QB3TYCEU.js} +1 -1
- package/public/{chunk-VOEVFWQR.js → chunk-QELRUSS5.js} +1 -1
- package/public/{chunk-BH6X22T5.js → chunk-QY3J4VYB.js} +1 -1
- package/public/{chunk-HSZKOEQO.js → chunk-RA7ENIQD.js} +1 -1
- package/public/{chunk-JB7NDPON.js → chunk-RS5MWJ54.js} +1 -1
- package/public/{chunk-GMX3VI46.js → chunk-S6JL3AB5.js} +1 -1
- package/public/{chunk-4QCEHYUB.js → chunk-SSDFG26B.js} +1 -1
- package/public/{chunk-PBGFVBCB.js → chunk-UKOU5RAG.js} +1 -1
- package/public/{chunk-GHPOVWVP.js → chunk-UMGR23VE.js} +1 -1
- package/public/{chunk-E4OK73V5.js → chunk-UV6OUU3Q.js} +1 -1
- package/public/{chunk-4WVVRGYH.js → chunk-UYEUXCTQ.js} +1 -1
- package/public/{chunk-MXQ6SCXD.js → chunk-VKL5J2VI.js} +1 -1
- package/public/{chunk-NO4NUEGO.js → chunk-VRPOYH24.js} +1 -1
- package/public/{chunk-KME5LDFI.js → chunk-VS4UML36.js} +1 -1
- package/public/{chunk-TGOXPZUQ.js → chunk-VVCWRL6D.js} +1 -1
- package/public/{chunk-5ILS55YL.js → chunk-VYIMRSSM.js} +1 -1
- package/public/{chunk-VYEQDD6F.js → chunk-WHCHCF3N.js} +1 -1
- package/public/{chunk-L7PRYH5Q.js → chunk-X75YWSTF.js} +1 -1
- package/public/{chunk-5VPFWJMT.js → chunk-XBR4LPNN.js} +1 -1
- package/public/{chunk-UTUR2TZC.js → chunk-XSTVLA74.js} +1 -1
- package/public/{chunk-NT3C3F2Y.js → chunk-XWCIUHOC.js} +1 -1
- package/public/{chunk-4OLETODN.js → chunk-Y2XLZOCN.js} +1 -1
- package/public/{chunk-T7I45MK4.js → chunk-YDGFXP6E.js} +1 -1
- package/public/{chunk-IYNMO7IP.js → chunk-YPD7X5O4.js} +1 -1
- package/public/{chunk-N257IGQY.js → chunk-YXLKWAH5.js} +1 -1
- package/public/{chunk-AMA6XMS7.js → chunk-ZAB7QLRT.js} +1 -1
- package/public/{chunk-W22PNIOT.js → chunk-ZLQFHY4B.js} +1 -1
- package/public/{chunk-JR5ZQFDU.js → chunk-ZOF7GJLP.js} +1 -1
- package/public/index.html +2 -2
- package/public/{main-R4I2NDVF.js → main-26O3VE4R.js} +1 -1
- package/public/{styles-WY6OJCQO.css → styles-WLZAS7RN.css} +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as kt}from"./chunk-VQK7TYXN.js";import{b as T,e as vt,f as $t,g as It,h as xt}from"./chunk-PBGFVBCB.js";import{a as bt,b as _t}from"./chunk-JT7SPTVG.js";import{a as Ct}from"./chunk-N6D52WI6.js";import{a as Rt}from"./chunk-MGZVKFCX.js";import{m as ht,n as ut,t as V}from"./chunk-YHD44ZXJ.js";import{C as mt,D as ft,c as ct,e as pt,l as gt}from"./chunk-LZU5VVW4.js";import{c as yt,e as O}from"./chunk-O7FV4MLW.js";import{b as wt}from"./chunk-T7I45MK4.js";import{k as R,l as I,n as H,q as F}from"./chunk-JTUZ5AFR.js";import{$a as tt,Ab as d,Bb as g,Kb as k,Nb as b,Pb as p,Rc as lt,Sa as o,Xc as dt,_b as st,a as Y,ac as y,b as Q,bc as E,cc as j,d as X,fb as D,g as Z,h as v,hc as ot,ic as rt,jc as at,oc as J,pa as m,rb as C,sb as $,tb as x,tc as r,ua as h,uc as l,va as u,vb as et,vc as W,wb as it,xb as nt,yb as f,z as S,zb as a}from"./chunk-UUXRTS4O.js";var Mt=Z(It(),1);var Et=Z(Rt(),1);var St=(s,w)=>({"fa-trash":s,"fa-circle-notch fa-spin":w});function Ot(s,w){s&1&&(a(0,"div",13),g(1,"i",20),d())}function Ft(s,w){if(s&1){let t=k();a(0,"li",9)(1,"span"),y(2),r(3,"date"),g(4,"br"),a(5,"span",21),y(6),r(7,"date"),d()(),a(8,"span",22)(9,"button",25),r(10,"translate"),r(11,"translate"),b("click",function(){let i=h(t).$implicit,n=p(2);return u(n.restore(i.id))}),g(12,"i",26),d(),a(13,"button",27),r(14,"translate"),r(15,"translate"),b("click",function(){let i=h(t).$implicit,n=p(2);return u(n.download(i.id))}),g(16,"i",28),d(),a(17,"button",23),r(18,"translate"),r(19,"translate"),b("click",function(){let i=h(t).$implicit,n=p(2);return u(n.delete(i.id))}),g(20,"i",24),d()()()}if(s&2){let t=w.$implicit,e=p(2);o(2),j(" ",W(3,15,t.timestamp,"mediumDate")),o(4),E(W(7,18,t.timestamp,"shortTime")),o(3),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(10,21,"config.restore.copy_to_editor"))("openDelay",150),C("aria-label",l(11,23,"config.restore.copy_to_editor")),o(4),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(14,25,"form.button_download"))("openDelay",150),C("aria-label",l(15,27,"form.button_download")),o(4),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(18,29,"form.button_delete"))("openDelay",150),C("aria-label",l(19,31,"form.button_delete")),o(3),f("ngClass",J(33,St,t.id!==e.deleting,t.id===e.deleting))}}function Nt(s,w){if(s&1){let t=k();a(0,"ul",14),it(1,Ft,21,36,"li",9,et),a(3,"li",9)(4,"span"),y(5),r(6,"translate"),g(7,"br"),a(8,"span",21),y(9),r(10,"translate"),d()(),a(11,"span",22)(12,"button",23),r(13,"translate"),r(14,"translate"),b("click",function(){h(t);let i=p();return u(i.deleteAllBackups())}),g(15,"i",24),d()()()()}if(s&2){let t=p();o(),nt(t.backupList),o(4),j(" ",l(6,7,"form.button_delete_all")),o(4),E(l(10,9,"common.labels.no_confirmation")),o(3),f("disabled",t.clicked||t.deleting)("ngbTooltip",l(13,11,"form.button_delete_all"))("openDelay",150),C("aria-label",l(14,13,"form.button_delete")),o(3),f("ngClass",J(15,St,t.deleting!=="all",t.deleting==="all"))}}var Tt=(()=>{class s{$activeModal=m(ht);$api=m(F);$router=m(O);$toastr=m(H);$translate=m(R);currentConfig;fromSettings=!1;loading=!0;backupList=[];clicked=!1;deleting=null;ngOnInit(){this.getConfigBackups()}getConfigBackups(){return v(this,null,function*(){try{let t=yield S(this.$api.get("/config-editor/backups"));this.loading=!1,this.backupList=t}catch(t){this.loading=!1,console.error(t),this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),this.dismissModal()}})}restore(t){return this.$activeModal.close(t)}download(t){return v(this,null,function*(){this.clicked=!0;try{let e=yield S(this.$api.get(`/config-editor/backups/${t}`)),i=JSON.stringify(e,null,4),n=new Blob([i],{type:"application/json"}),_=`config-backup-${t}.json`;(0,Et.saveAs)(n,_),this.clicked=!1}catch(e){this.clicked=!1,this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),console.error(e)}})}downloadCurrentConfig(){let t=`data:text/json;charset=utf-8,${encodeURIComponent(this.currentConfig)}`,e=document.createElement("a");e.setAttribute("href",t),e.setAttribute("download","config.json"),document.body.appendChild(e),e.click(),e.remove()}delete(t){return v(this,null,function*(){this.deleting=t;try{yield S(this.$api.delete(`/config-editor/backups/${t}`)),yield this.getConfigBackups(),this.deleting=null}catch(e){this.deleting=null,this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),console.error(e)}})}deleteAllBackups(){return v(this,null,function*(){this.deleting="all";try{yield S(this.$api.delete("/config-editor/backups")),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success")),this.backupList=[],this.deleting=null}catch(t){this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),console.error(t),this.deleting=null}})}dismissModal(){this.fromSettings&&this.$router.navigate(["/settings"]),this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=D({type:s,selectors:[["ng-component"]],inputs:{currentConfig:"currentConfig",fromSettings:"fromSettings"},decls:40,vars:31,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-history","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","m-0","ms-3","py-1",3,"click","disabled"],[1,"fas","fa-arrow-right"],[1,"text-center","primary-text"],[1,"list-group","list-group-box","mt-3"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"fa","fa-circle-notch","fa-spin","mt-3",2,"font-size","75px"],[1,"grey-text","small"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas",3,"ngClass"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-3","py-1",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-history"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-download"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),y(3),r(4,"translate"),d(),a(5,"button",3),r(6,"translate"),b("click",function(){return i.dismissModal()}),d()(),a(7,"div",4)(8,"div",5),g(9,"i",6),d(),a(10,"ul",7)(11,"li"),y(12),r(13,"translate"),d(),a(14,"li"),y(15),r(16,"translate"),d()(),a(17,"ul",8)(18,"li",9)(19,"div")(20,"span"),y(21),r(22,"translate"),d(),g(23,"br"),a(24,"small",10),y(25),r(26,"translate"),d()(),a(27,"button",11),r(28,"translate"),b("click",function(){return i.downloadCurrentConfig()}),g(29,"i",12),d()()(),$(30,Ot,2,0,"div",13)(31,Nt,16,18,"ul",14),d(),a(32,"div",15),g(33,"div",16),a(34,"div",17)(35,"button",18),r(36,"translate"),b("click",function(){return i.dismissModal()}),y(37),r(38,"translate"),d()(),g(39,"div",19),d()()),e&2&&(o(3),E(l(4,13,"config.restore.title")),o(2),f("disabled",i.clicked||i.deleting),C("aria-label",l(6,15,"form.button_close")),o(7),E(l(13,17,"config.restore.help_1")),o(3),E(l(16,19,"config.restore.help_2")),o(6),E(l(22,21,"form.button_download")),o(4),E(l(26,23,"config.restore.download")),o(2),f("disabled",i.clicked||i.deleting),C("aria-label",l(28,25,"backup.backup_now")),o(3),x(i.loading?30:i.backupList.length?31:-1),o(5),f("disabled",i.clicked||i.deleting),C("aria-label",l(36,27,"form.button_close")),o(2),j(" ",l(38,29,"form.button_close")," "))},dependencies:[V,lt,ft,dt,I],encapsulation:2})}return s})();function Ut(s,w){if(s&1){let t=k();a(0,"button",13),r(1,"translate"),r(2,"translate"),b("click",function(){h(t);let i=p();return u(i.onCancelRestore())}),g(3,"i",14),d()}if(s&2){let t=p();f("disabled",t.saveInProgress)("openDelay",150)("ngbTooltip",l(1,4,"form.button_cancel")),C("aria-label",l(2,6,"form.button_cancel"))}}function qt(s,w){if(s&1){let t=k();a(0,"button",15),r(1,"translate"),r(2,"translate"),b("click",function(){h(t);let i=p();return u(i.onRestore())}),g(3,"i",16),d()}s&2&&(f("openDelay",150)("ngbTooltip",l(1,3,"form.button_restore")),C("aria-label",l(2,5,"form.button_restore")))}function zt(s,w){if(s&1){let t=k();a(0,"button",15),r(1,"translate"),r(2,"translate"),b("click",function(){h(t);let i=p();return u(i.toggleSideBySide())}),g(3,"i",17),d()}if(s&2){let t=p();f("openDelay",150)("ngbTooltip",l(1,7,t.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),C("aria-label",l(2,9,t.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),o(3),st("fa-columns",!t.renderSideBySide)("fa-bars",t.renderSideBySide)}}function Lt(s,w){s&1&&g(0,"i",8)}function Jt(s,w){s&1&&g(0,"i",9)}function Wt(s,w){if(s&1){let t=k();a(0,"ngx-monaco-editor",18),b("onInit",function(i){h(t);let n=p();return u(n.onEditorInit(i))})("keydown.control.s",function(i){h(t);let n=p();return i.preventDefault(),u(n.onSave())})("keydown.meta.s",function(i){h(t);let n=p();return i.preventDefault(),u(n.onSave())}),d()}if(s&2){let t=p();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function Kt(s,w){if(s&1){let t=k();a(0,"ngx-monaco-diff-editor",19),b("onInit",function(i){h(t);let n=p();return u(n.onInitDiffEditor(i))})("keydown.control.s",function(i){h(t);let n=p();return i.preventDefault(),u(n.onSave())})("keydown.meta.s",function(i){h(t);let n=p();return i.preventDefault(),u(n.onSave())}),d()}if(s&2){let t=p();f("options",t.editorOptions)("originalModel",t.diffOriginalModel)("modifiedModel",t.diffModifiedModel)}}function Gt(s,w){if(s&1){let t=k();a(0,"textarea",20),at("ngModelChange",function(i){h(t);let n=p();return rt(n.homebridgeConfig,i)||(n.homebridgeConfig=i),u(i)}),y(1," "),d()}if(s&2){let t=p();ot("ngModel",t.homebridgeConfig)}}var Me=(()=>{class s{$api=m(F);$md=m(Ct);$modal=m(ut);$monacoEditor=m(kt);$renderer=m(tt);$route=m(yt);$router=m(O);$settings=m(wt);$toastr=m(H);$translate=m(R);editorDecorations=[];lastHeight;visualViewPortEventCallback;latestSavedConfig;childBridgesToRestart=[];hbPendingRestart=!1;isDebugModeEnabled=this.$settings.isFeatureEnabled("childBridgeDebugMode");homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;diffOriginalModel;diffModifiedModel;renderSideBySide=!1;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){let t=this.$translate.instant("menu.config_json_editor");this.$settings.setPageTitle(t),this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",renderSideBySide:this.renderSideBySide,renderIndicators:!0,ignoreTrimWhitespace:!1,glyphMargin:!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(n=>{this.homebridgeConfig=n.config,this.latestSavedConfig=JSON.parse(n.config),this.diffModifiedModel&&this.updateDiffModels()}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},this.diffOriginalModel={code:"",language:"json"},this.diffModifiedModel={code:this.homebridgeConfig||"{}",language:"json"},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>this.setMonacoEditorModel()});let{action:i}=this.$router.parseUrl(this.$router.url).queryParams;if(i){switch(i){case"restore":{this.onRestore(!0);break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}}onEditorInit(t){window.editor=t,this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(t){this.monacoEditor=t.getModifiedEditor(),this.updateDiffModels(),window.editor=t}updateDiffModels(){if(this.diffOriginalModel&&(this.diffOriginalModel.code=this.originalConfig||""),this.diffModifiedModel&&(this.diffModifiedModel.code=this.homebridgeConfig||"{}"),window.editor&&window.editor.getOriginalEditor){let t=window.editor.getOriginalEditor(),e=window.editor.getModifiedEditor();if(t&&e){let i=t.getModel(),n=e.getModel();i&&i.setValue(this.originalConfig||""),n&&n.setValue(this.homebridgeConfig||"{}")}}}onSave(){return v(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 e=window.monaco.editor.getModelMarkers({owner:"json"});for(let i of e)if(i.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 t=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(t,null,4),typeof t.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(t.bridge.username)?t.accessories&&!Array.isArray(t.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):t.platforms&&!Array.isArray(t.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):t.platforms&&Array.isArray(t.platforms)&&!this.validateSection(t.platforms,"platform")||t.accessories&&Array.isArray(t.accessories)&&!this.validateSection(t.accessories,"accessory")||t.plugins&&Array.isArray(t.plugins)&&!this.validatePlugins(t.plugins,"plugins")||t.disabledPlugins&&Array.isArray(t.disabledPlugins)&&!this.validatePlugins(t.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(t),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}onRestore(t=!1){let e=this.$modal.open(Tt,{size:"lg",backdrop:"static"});e.componentInstance.currentConfig=this.homebridgeConfig,e.componentInstance.fromSettings=t,e.result.then(i=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig,this.updateDiffModels()),this.$api.get(`/config-editor/backups/${i}`).subscribe({next:n=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(n,null,4),this.updateDiffModels(),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:n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onCancelRestore(){if(window.editor&&window.editor.dispose)try{window.editor.dispose(),window.editor=void 0}catch{}this.homebridgeConfig=this.originalConfig,this.originalConfig="",this.renderSideBySide&&this.toggleSideBySide(),this.updateDiffModels(),this.onRestore()}toggleSideBySide(){this.renderSideBySide=!this.renderSideBySide,this.editorOptions=Q(Y({},this.editorOptions),{renderSideBySide:this.renderSideBySide})}ngOnDestroy(){let t=document.querySelector(".content");this.$renderer.removeStyle(t,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove());try{if(window.editor&&window.editor.dispose&&(window.editor.dispose(),window.editor=void 0),window.monaco){let e=window.monaco.Uri.parse("file:///original.json"),i=window.monaco.Uri.parse("file:///modified.json"),n=window.monaco.editor.getModel(e);n&&n.dispose();let _=window.monaco.editor.getModel(i);_&&_.dispose();let N=(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas||[]).filter(M=>M.uri!=="http://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,allowComments:!1,schemas:N})}this.monacoEditor&&this.monacoEditor.dispose()}catch{}}validateSection(t,e){for(let i of t){if(typeof i!="object"||Array.isArray(i))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(!i[e])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(typeof i[e]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1}return!0}validatePlugins(t,e){for(let i of t)if(typeof i!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:e}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(t){this.monacoEditor&&(t=JSON.stringify(t,null,4).split(`
|
|
1
|
+
import{a as kt}from"./chunk-VQK7TYXN.js";import{b as T,e as vt,f as $t,g as It,h as xt}from"./chunk-UKOU5RAG.js";import{a as bt,b as _t}from"./chunk-JT7SPTVG.js";import{a as Ct}from"./chunk-N6D52WI6.js";import{a as Rt}from"./chunk-MGZVKFCX.js";import{m as ht,n as ut,t as V}from"./chunk-YHD44ZXJ.js";import{C as mt,D as ft,c as ct,e as pt,l as gt}from"./chunk-LZU5VVW4.js";import{c as yt,e as O}from"./chunk-O7FV4MLW.js";import{b as wt}from"./chunk-YDGFXP6E.js";import{k as R,l as I,n as H,q as F}from"./chunk-67QLZ3WO.js";import{$a as tt,Ab as d,Bb as g,Kb as k,Nb as b,Pb as p,Rc as lt,Sa as o,Xc as dt,_b as st,a as Y,ac as y,b as Q,bc as E,cc as j,d as X,fb as D,g as Z,h as v,hc as ot,ic as rt,jc as at,oc as J,pa as m,rb as C,sb as $,tb as x,tc as r,ua as h,uc as l,va as u,vb as et,vc as W,wb as it,xb as nt,yb as f,z as S,zb as a}from"./chunk-UUXRTS4O.js";var Mt=Z(It(),1);var Et=Z(Rt(),1);var St=(s,w)=>({"fa-trash":s,"fa-circle-notch fa-spin":w});function Ot(s,w){s&1&&(a(0,"div",13),g(1,"i",20),d())}function Ft(s,w){if(s&1){let t=k();a(0,"li",9)(1,"span"),y(2),r(3,"date"),g(4,"br"),a(5,"span",21),y(6),r(7,"date"),d()(),a(8,"span",22)(9,"button",25),r(10,"translate"),r(11,"translate"),b("click",function(){let i=h(t).$implicit,n=p(2);return u(n.restore(i.id))}),g(12,"i",26),d(),a(13,"button",27),r(14,"translate"),r(15,"translate"),b("click",function(){let i=h(t).$implicit,n=p(2);return u(n.download(i.id))}),g(16,"i",28),d(),a(17,"button",23),r(18,"translate"),r(19,"translate"),b("click",function(){let i=h(t).$implicit,n=p(2);return u(n.delete(i.id))}),g(20,"i",24),d()()()}if(s&2){let t=w.$implicit,e=p(2);o(2),j(" ",W(3,15,t.timestamp,"mediumDate")),o(4),E(W(7,18,t.timestamp,"shortTime")),o(3),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(10,21,"config.restore.copy_to_editor"))("openDelay",150),C("aria-label",l(11,23,"config.restore.copy_to_editor")),o(4),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(14,25,"form.button_download"))("openDelay",150),C("aria-label",l(15,27,"form.button_download")),o(4),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(18,29,"form.button_delete"))("openDelay",150),C("aria-label",l(19,31,"form.button_delete")),o(3),f("ngClass",J(33,St,t.id!==e.deleting,t.id===e.deleting))}}function Nt(s,w){if(s&1){let t=k();a(0,"ul",14),it(1,Ft,21,36,"li",9,et),a(3,"li",9)(4,"span"),y(5),r(6,"translate"),g(7,"br"),a(8,"span",21),y(9),r(10,"translate"),d()(),a(11,"span",22)(12,"button",23),r(13,"translate"),r(14,"translate"),b("click",function(){h(t);let i=p();return u(i.deleteAllBackups())}),g(15,"i",24),d()()()()}if(s&2){let t=p();o(),nt(t.backupList),o(4),j(" ",l(6,7,"form.button_delete_all")),o(4),E(l(10,9,"common.labels.no_confirmation")),o(3),f("disabled",t.clicked||t.deleting)("ngbTooltip",l(13,11,"form.button_delete_all"))("openDelay",150),C("aria-label",l(14,13,"form.button_delete")),o(3),f("ngClass",J(15,St,t.deleting!=="all",t.deleting==="all"))}}var Tt=(()=>{class s{$activeModal=m(ht);$api=m(F);$router=m(O);$toastr=m(H);$translate=m(R);currentConfig;fromSettings=!1;loading=!0;backupList=[];clicked=!1;deleting=null;ngOnInit(){this.getConfigBackups()}getConfigBackups(){return v(this,null,function*(){try{let t=yield S(this.$api.get("/config-editor/backups"));this.loading=!1,this.backupList=t}catch(t){this.loading=!1,console.error(t),this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),this.dismissModal()}})}restore(t){return this.$activeModal.close(t)}download(t){return v(this,null,function*(){this.clicked=!0;try{let e=yield S(this.$api.get(`/config-editor/backups/${t}`)),i=JSON.stringify(e,null,4),n=new Blob([i],{type:"application/json"}),_=`config-backup-${t}.json`;(0,Et.saveAs)(n,_),this.clicked=!1}catch(e){this.clicked=!1,this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),console.error(e)}})}downloadCurrentConfig(){let t=`data:text/json;charset=utf-8,${encodeURIComponent(this.currentConfig)}`,e=document.createElement("a");e.setAttribute("href",t),e.setAttribute("download","config.json"),document.body.appendChild(e),e.click(),e.remove()}delete(t){return v(this,null,function*(){this.deleting=t;try{yield S(this.$api.delete(`/config-editor/backups/${t}`)),yield this.getConfigBackups(),this.deleting=null}catch(e){this.deleting=null,this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),console.error(e)}})}deleteAllBackups(){return v(this,null,function*(){this.deleting="all";try{yield S(this.$api.delete("/config-editor/backups")),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success")),this.backupList=[],this.deleting=null}catch(t){this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),console.error(t),this.deleting=null}})}dismissModal(){this.fromSettings&&this.$router.navigate(["/settings"]),this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=D({type:s,selectors:[["ng-component"]],inputs:{currentConfig:"currentConfig",fromSettings:"fromSettings"},decls:40,vars:31,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-history","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","m-0","ms-3","py-1",3,"click","disabled"],[1,"fas","fa-arrow-right"],[1,"text-center","primary-text"],[1,"list-group","list-group-box","mt-3"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"fa","fa-circle-notch","fa-spin","mt-3",2,"font-size","75px"],[1,"grey-text","small"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas",3,"ngClass"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-3","py-1",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-history"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-download"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),y(3),r(4,"translate"),d(),a(5,"button",3),r(6,"translate"),b("click",function(){return i.dismissModal()}),d()(),a(7,"div",4)(8,"div",5),g(9,"i",6),d(),a(10,"ul",7)(11,"li"),y(12),r(13,"translate"),d(),a(14,"li"),y(15),r(16,"translate"),d()(),a(17,"ul",8)(18,"li",9)(19,"div")(20,"span"),y(21),r(22,"translate"),d(),g(23,"br"),a(24,"small",10),y(25),r(26,"translate"),d()(),a(27,"button",11),r(28,"translate"),b("click",function(){return i.downloadCurrentConfig()}),g(29,"i",12),d()()(),$(30,Ot,2,0,"div",13)(31,Nt,16,18,"ul",14),d(),a(32,"div",15),g(33,"div",16),a(34,"div",17)(35,"button",18),r(36,"translate"),b("click",function(){return i.dismissModal()}),y(37),r(38,"translate"),d()(),g(39,"div",19),d()()),e&2&&(o(3),E(l(4,13,"config.restore.title")),o(2),f("disabled",i.clicked||i.deleting),C("aria-label",l(6,15,"form.button_close")),o(7),E(l(13,17,"config.restore.help_1")),o(3),E(l(16,19,"config.restore.help_2")),o(6),E(l(22,21,"form.button_download")),o(4),E(l(26,23,"config.restore.download")),o(2),f("disabled",i.clicked||i.deleting),C("aria-label",l(28,25,"backup.backup_now")),o(3),x(i.loading?30:i.backupList.length?31:-1),o(5),f("disabled",i.clicked||i.deleting),C("aria-label",l(36,27,"form.button_close")),o(2),j(" ",l(38,29,"form.button_close")," "))},dependencies:[V,lt,ft,dt,I],encapsulation:2})}return s})();function Ut(s,w){if(s&1){let t=k();a(0,"button",13),r(1,"translate"),r(2,"translate"),b("click",function(){h(t);let i=p();return u(i.onCancelRestore())}),g(3,"i",14),d()}if(s&2){let t=p();f("disabled",t.saveInProgress)("openDelay",150)("ngbTooltip",l(1,4,"form.button_cancel")),C("aria-label",l(2,6,"form.button_cancel"))}}function qt(s,w){if(s&1){let t=k();a(0,"button",15),r(1,"translate"),r(2,"translate"),b("click",function(){h(t);let i=p();return u(i.onRestore())}),g(3,"i",16),d()}s&2&&(f("openDelay",150)("ngbTooltip",l(1,3,"form.button_restore")),C("aria-label",l(2,5,"form.button_restore")))}function zt(s,w){if(s&1){let t=k();a(0,"button",15),r(1,"translate"),r(2,"translate"),b("click",function(){h(t);let i=p();return u(i.toggleSideBySide())}),g(3,"i",17),d()}if(s&2){let t=p();f("openDelay",150)("ngbTooltip",l(1,7,t.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),C("aria-label",l(2,9,t.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),o(3),st("fa-columns",!t.renderSideBySide)("fa-bars",t.renderSideBySide)}}function Lt(s,w){s&1&&g(0,"i",8)}function Jt(s,w){s&1&&g(0,"i",9)}function Wt(s,w){if(s&1){let t=k();a(0,"ngx-monaco-editor",18),b("onInit",function(i){h(t);let n=p();return u(n.onEditorInit(i))})("keydown.control.s",function(i){h(t);let n=p();return i.preventDefault(),u(n.onSave())})("keydown.meta.s",function(i){h(t);let n=p();return i.preventDefault(),u(n.onSave())}),d()}if(s&2){let t=p();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function Kt(s,w){if(s&1){let t=k();a(0,"ngx-monaco-diff-editor",19),b("onInit",function(i){h(t);let n=p();return u(n.onInitDiffEditor(i))})("keydown.control.s",function(i){h(t);let n=p();return i.preventDefault(),u(n.onSave())})("keydown.meta.s",function(i){h(t);let n=p();return i.preventDefault(),u(n.onSave())}),d()}if(s&2){let t=p();f("options",t.editorOptions)("originalModel",t.diffOriginalModel)("modifiedModel",t.diffModifiedModel)}}function Gt(s,w){if(s&1){let t=k();a(0,"textarea",20),at("ngModelChange",function(i){h(t);let n=p();return rt(n.homebridgeConfig,i)||(n.homebridgeConfig=i),u(i)}),y(1," "),d()}if(s&2){let t=p();ot("ngModel",t.homebridgeConfig)}}var Me=(()=>{class s{$api=m(F);$md=m(Ct);$modal=m(ut);$monacoEditor=m(kt);$renderer=m(tt);$route=m(yt);$router=m(O);$settings=m(wt);$toastr=m(H);$translate=m(R);editorDecorations=[];lastHeight;visualViewPortEventCallback;latestSavedConfig;childBridgesToRestart=[];hbPendingRestart=!1;isDebugModeEnabled=this.$settings.isFeatureEnabled("childBridgeDebugMode");homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;diffOriginalModel;diffModifiedModel;renderSideBySide=!1;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){let t=this.$translate.instant("menu.config_json_editor");this.$settings.setPageTitle(t),this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",renderSideBySide:this.renderSideBySide,renderIndicators:!0,ignoreTrimWhitespace:!1,glyphMargin:!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(n=>{this.homebridgeConfig=n.config,this.latestSavedConfig=JSON.parse(n.config),this.diffModifiedModel&&this.updateDiffModels()}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},this.diffOriginalModel={code:"",language:"json"},this.diffModifiedModel={code:this.homebridgeConfig||"{}",language:"json"},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>this.setMonacoEditorModel()});let{action:i}=this.$router.parseUrl(this.$router.url).queryParams;if(i){switch(i){case"restore":{this.onRestore(!0);break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}}onEditorInit(t){window.editor=t,this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(t){this.monacoEditor=t.getModifiedEditor(),this.updateDiffModels(),window.editor=t}updateDiffModels(){if(this.diffOriginalModel&&(this.diffOriginalModel.code=this.originalConfig||""),this.diffModifiedModel&&(this.diffModifiedModel.code=this.homebridgeConfig||"{}"),window.editor&&window.editor.getOriginalEditor){let t=window.editor.getOriginalEditor(),e=window.editor.getModifiedEditor();if(t&&e){let i=t.getModel(),n=e.getModel();i&&i.setValue(this.originalConfig||""),n&&n.setValue(this.homebridgeConfig||"{}")}}}onSave(){return v(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 e=window.monaco.editor.getModelMarkers({owner:"json"});for(let i of e)if(i.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 t=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(t,null,4),typeof t.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(t.bridge.username)?t.accessories&&!Array.isArray(t.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):t.platforms&&!Array.isArray(t.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):t.platforms&&Array.isArray(t.platforms)&&!this.validateSection(t.platforms,"platform")||t.accessories&&Array.isArray(t.accessories)&&!this.validateSection(t.accessories,"accessory")||t.plugins&&Array.isArray(t.plugins)&&!this.validatePlugins(t.plugins,"plugins")||t.disabledPlugins&&Array.isArray(t.disabledPlugins)&&!this.validatePlugins(t.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(t),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}onRestore(t=!1){let e=this.$modal.open(Tt,{size:"lg",backdrop:"static"});e.componentInstance.currentConfig=this.homebridgeConfig,e.componentInstance.fromSettings=t,e.result.then(i=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig,this.updateDiffModels()),this.$api.get(`/config-editor/backups/${i}`).subscribe({next:n=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(n,null,4),this.updateDiffModels(),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:n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onCancelRestore(){if(window.editor&&window.editor.dispose)try{window.editor.dispose(),window.editor=void 0}catch{}this.homebridgeConfig=this.originalConfig,this.originalConfig="",this.renderSideBySide&&this.toggleSideBySide(),this.updateDiffModels(),this.onRestore()}toggleSideBySide(){this.renderSideBySide=!this.renderSideBySide,this.editorOptions=Q(Y({},this.editorOptions),{renderSideBySide:this.renderSideBySide})}ngOnDestroy(){let t=document.querySelector(".content");this.$renderer.removeStyle(t,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove());try{if(window.editor&&window.editor.dispose&&(window.editor.dispose(),window.editor=void 0),window.monaco){let e=window.monaco.Uri.parse("file:///original.json"),i=window.monaco.Uri.parse("file:///modified.json"),n=window.monaco.editor.getModel(e);n&&n.dispose();let _=window.monaco.editor.getModel(i);_&&_.dispose();let N=(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas||[]).filter(M=>M.uri!=="http://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,allowComments:!1,schemas:N})}this.monacoEditor&&this.monacoEditor.dispose()}catch{}}validateSection(t,e){for(let i of t){if(typeof i!="object"||Array.isArray(i))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(!i[e])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(typeof i[e]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1}return!0}validatePlugins(t,e){for(let i of t)if(typeof i!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:e}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(t){this.monacoEditor&&(t=JSON.stringify(t,null,4).split(`
|
|
2
2
|
`).map(e=>` ${e}`).join(`
|
|
3
3
|
`),setTimeout(()=>{let e=this.monacoEditor.getModel().findMatches(t);if(e.length){let i=e[0].range,n=new monaco.Range(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:n,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 t=monaco.Uri.parse("a://homebridge/config.json"),e=xt(this.$translate,{isDebugModeEnabled:this.isDebugModeEnabled});window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[t.toString()],schema:{type:"object",additionalProperties:!1,required:["bridge"],properties:{bridge:{type:"object",additionalProperties:!1,required:["name","username","port","pin"],properties:{name:{type:"string",title:this.$translate.instant("settings.name"),description:`The Homebridge instance name.
|
|
4
4
|
This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",title:this.$translate.instant("users.label_username"),description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i}from"./chunk-O7FV4MLW.js";import{gb as e,la as o}from"./chunk-UUXRTS4O.js";var m=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-
|
|
1
|
+
import{h as i}from"./chunk-O7FV4MLW.js";import{gb as e,la as o}from"./chunk-UUXRTS4O.js";var m=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-UV6OUU3Q.js").then(t=>t.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-XBR4LPNN.js").then(t=>t.ShutdownLinuxComponent)}],n=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=e({type:t});static \u0275inj=o({imports:[i.forChild(m),i]})}return t})();var c=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=e({type:t});static \u0275inj=o({imports:[n]})}return t})();export{c as LinuxModule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as r}from"./chunk-O7FV4MLW.js";import{gb as e,la as t}from"./chunk-UUXRTS4O.js";var m=[{path:"",loadComponent:()=>import("./chunk-
|
|
1
|
+
import{h as r}from"./chunk-O7FV4MLW.js";import{gb as e,la as t}from"./chunk-UUXRTS4O.js";var m=[{path:"",loadComponent:()=>import("./chunk-CCWP7ORM.js").then(o=>o.PowerOptionsComponent)}],n=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[r.forChild(m),r]})}return o})();var d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[n]})}return o})();export{d as PowerOptionsModule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as et}from"./chunk-JR5ZQFDU.js";import"./chunk-VCZ6KBM7.js";import{a as rt}from"./chunk-MGZVKFCX.js";import{a as L}from"./chunk-K6DZTGLW.js";import{n as R,t as J}from"./chunk-YHD44ZXJ.js";import{D as W,c as D,e as z,f as N,g as A,j,m as G,q as H,r as Q}from"./chunk-LZU5VVW4.js";import"./chunk-GHPOVWVP.js";import{b as tt}from"./chunk-W22PNIOT.js";import{b as U}from"./chunk-T7I45MK4.js";import{k as K,l as X,n as Y,q as Z}from"./chunk-JTUZ5AFR.js";import{$b as V,Ab as l,Bb as p,Ca as y,Ec as T,Kb as v,Nb as u,Pb as d,R as M,Ra as k,Sa as n,V as P,Wb as x,Xb as q,_b as S,ac as $,bc as B,fb as O,g as nt,h as E,kc as F,p as I,pa as m,rb as b,sb as _,tb as w,tc as a,ua as h,uc as s,va as g,yb as f,zb as c}from"./chunk-UUXRTS4O.js";var ot=nt(rt(),1);var at=["logoutput"],st=["searchInput"];function lt(i,C){if(i&1){let t=v();c(0,"div",5)(1,"button",9),a(2,"translate"),a(3,"translate"),u("click",function(){h(t);let o=d();return g(o.showSearch())}),p(4,"i"),l(),c(5,"button",9),a(6,"translate"),a(7,"translate"),u("click",function(){h(t);let o=d();return g(o.downloadLogFile())}),p(8,"i",10),l(),c(9,"button",11),a(10,"translate"),a(11,"translate"),u("click",function(){h(t);let o=d();return g(o.truncateLogFile())}),p(12,"i",12),l()()}if(i&2){let t=d();n(),f("openDelay",150)("ngbTooltip",s(2,12,"form.search")),b("aria-label",s(3,14,"form.search")),n(3),V(F("fas",t.showSearchBar()?" primary-text":""," fa-search")),n(),f("openDelay",150)("ngbTooltip",s(6,16,"form.button_download")),b("aria-label",s(7,18,"form.button_download")),n(4),f("openDelay",150)("ngbTooltip",s(10,20,"form.button_delete")),b("aria-label",s(11,22,"form.button_delete"))}}function ct(i,C){if(i&1){let t=v();c(0,"button",18),a(1,"translate"),u("click",function(){h(t);let o=d(2);return g(o.onClearSearch())}),p(2,"i",19),l()}i&2&&b("aria-label",s(1,1,"form.button_clear"))}function mt(i,C){i&1&&(c(0,"span",17),$(1),a(2,"translate"),l()),i&2&&(n(),B(s(2,1,"common.labels.beta")))}function dt(i,C){if(i&1){let t=v();c(0,"div",6)(1,"div",13)(2,"form",14),u("ngSubmit",function(){h(t);let o=d();return g(o.onSubmit(o.form.value))}),p(3,"input",15,1),a(5,"translate"),_(6,ct,3,3,"button",16)(7,mt,3,3,"span",17),l()()()}if(i&2){let t,e=d();n(2),f("formGroup",e.form),n(),S("is-invalid",e.searchInputInvalid),f("placeholder",s(5,5,"logs.placeholder_search_logs")),n(3),w((t=e.form.get("query"))!=null&&t.value?6:7)}}var Lt=(()=>{class i{$api=m(Z);$auth=m(tt);$log=m(et);$modal=m(R);$settings=m(U);$toastr=m(Y);$translate=m(K);termTarget=T("logoutput");searchInput=T("searchInput");resizeEvent=new I;valueChangesSubscription;isAdmin=this.$auth.user.admin;showSearchBar=y(!1);showExitButton=y(!1);form=new A({query:new j("")});get searchInputInvalid(){let t=(this.form.get("query")?.value||"").trim();return t.length>0&&t.length<3}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){let t=this.$translate.instant("menu.linux.label_logs");if(this.$settings.setPageTitle(t),window.document.querySelector("body").classList.add("bg-black"),this.$settings.actualLightingMode==="light"){window.document.querySelector("body").classList.add("light-mode");let e=this.termTarget()?.nativeElement;e&&e.classList.add("light-mode")}this.$log.startTerminal(this.termTarget(),{allowProposedApi:!0,allowTransparency:!1,fontSize:13,fontWeight:400,lineHeight:1.25},this.resizeEvent),this.valueChangesSubscription=this.form.get("query")?.valueChanges.pipe(M(500),P()).subscribe(e=>{let o=e||"",r=o.trim();r!==o&&this.form.get("query")?.setValue(r,{emitEvent:!1}),r.length>=3?(this.showExitButton.set(!0),this.$log.setSearchFilter(r),this.$log.scrollToBottom()):r.length<3&&this.showExitButton()&&(this.showExitButton.set(!1),this.$log.clearSearchFilter(),this.$log.scrollToBottom())})}showSearch(){if(this.showSearchBar())this.showSearchBar.set(!1),this.showExitButton.set(!1),this.form.setValue({query:""}),this.$log.clearSearchFilter();else{this.showSearchBar.set(!0);let t=this.searchInput();t&&setTimeout(()=>t.nativeElement.focus(),10)}setTimeout(()=>this.resizeEvent.next(void 0),10),this.$log.scrollToBottom()}onSubmit(t){let e=(t.query||"").trim();!e.length||e.length<3?(e.length||this.showSearchBar.set(!1),this.form.setValue({query:""}),this.showExitButton.set(!1),this.$log.clearSearchFilter()):(this.showExitButton.set(!0),this.$log.setSearchFilter(e)),this.$log.scrollToBottom()}onClearSearch(){this.form.setValue({query:""}),this.showExitButton.set(!1),this.$log.clearSearchFilter(),this.$log.scrollToBottom()}canDeactivate(t){return this.$settings.actualLightingMode!=="light"?(window.document.querySelector("body").classList.remove("bg-black"),Promise.resolve(!0)):(this.showSearchBar()&&this.showSearchBar.set(!1),window.document.querySelector("body").classList.remove("light-mode"),new Promise(e=>{let o=t&&(t.includes("/platform-tools/terminal")||t.includes("/logs")),r=this.termTarget()?.nativeElement;r&&r.classList.add("fade-out"),o?setTimeout(()=>{e(!0)},250):(setTimeout(()=>{window.document.querySelector("body").classList.remove("bg-black")},250),setTimeout(()=>{e(!0)},500))}))}ngOnDestroy(){window.document.querySelector("body").classList.remove("light-mode"),this.valueChangesSubscription&&this.valueChangesSubscription.unsubscribe(),this.resizeEvent.complete(),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(L,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,ot.saveAs)(e.body,"homebridge.log.txt")},error:e=>E(this,null,function*(){let o;try{o=JSON.parse(yield e.error.text()).message}catch(r){console.error(r)}this.$toastr.error(o||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(L,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["ng-component"]],viewQuery:function(e,o){e&1&&(x(o.termTarget,at,5),x(o.searchInput,st,5)),e&2&&q(2)},hostBindings:function(e,o){e&1&&u("resize",function(it){return o.onWindowResize(it)},k)},decls:10,vars:9,consts:[["logoutput",""],["searchInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"row"],[1,"flex-column","d-flex","align-items-stretch"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-download"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-trash-alt"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","id","logs-search","formControlName","query",1,"search-bar",3,"placeholder"],["type","button",1,"search-bar-clear"],[1,"search-bar-badge","badge","badge-primary","badge-beta"],["type","button",1,"search-bar-clear",3,"click"],["aria-hidden","true",1,"fas","fa-square-xmark"]],template:function(e,o){e&1&&(c(0,"div",2)(1,"div",3)(2,"h3",4),$(3),a(4,"translate"),l()(),_(5,lt,13,24,"div",5),l(),_(6,dt,8,7,"div",6),c(7,"div",7),p(8,"div",8,0),l()),e&2&&(n(3),B(s(4,7,"menu.linux.label_logs")),n(2),w(o.isAdmin?5:-1),n(),w(o.showSearchBar()?6:-1),n(),S("adjust-for-mobile",!o.showSearchBar())("adjust-for-mobile-with-search",o.showSearchBar()))},dependencies:[J,W,G,D,z,N,H,Q,X],styles:["body.light-mode{transition:background-color .25s ease-in-out}#log-output.light-mode[_ngcontent-%COMP%]{opacity:0;animation:_ngcontent-%COMP%_fadeIn .25s ease-in-out .25s forwards}#log-output.light-mode.fade-out[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fadeOut .25s ease-in-out forwards!important;opacity:1}@keyframes _ngcontent-%COMP%_fadeIn{to{opacity:1}}@keyframes _ngcontent-%COMP%_fadeOut{to{opacity:0}}.search-bar[_ngcontent-%COMP%]{background-color:#111!important;color:#999!important;border:0 #242424!important}@media (hover: hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #242424!important}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #242424!important;box-shadow:inherit!important;color:#eee!important}.search-bar[_ngcontent-%COMP%]::placeholder{color:#636363!important;opacity:1!important}.search-bar.is-invalid[_ngcontent-%COMP%]{border:1px solid #d32f2f!important;box-shadow:0 1px #d32f2f!important}@media (hover: hover){.search-bar.is-invalid[_ngcontent-%COMP%]:hover{border:1px solid #d32f2f!important;box-shadow:0 1px #d32f2f!important}}.search-bar.is-invalid[_ngcontent-%COMP%]:focus{border:1px solid #d32f2f!important;box-shadow:0 1px #d32f2f!important}.search-bar-badge[_ngcontent-%COMP%]{position:absolute;right:10px;top:16px;font-size:.75rem;padding:.25em .5em}.adjust-for-mobile-with-search[_ngcontent-%COMP%]{height:calc(100% - 97px);width:calc(100% + 16px);overflow:hidden}@media (max-width: 767px){.adjust-for-mobile-with-search[_ngcontent-%COMP%]{height:calc(100% - 127px)}}"]})}return i})();export{Lt as LogsComponent};
|
|
1
|
+
import{a as et}from"./chunk-ZOF7GJLP.js";import"./chunk-7HMWJ2FC.js";import{a as rt}from"./chunk-MGZVKFCX.js";import{a as L}from"./chunk-3TSJETVD.js";import{n as R,t as J}from"./chunk-YHD44ZXJ.js";import{D as W,c as D,e as z,f as N,g as A,j,m as G,q as H,r as Q}from"./chunk-LZU5VVW4.js";import"./chunk-UMGR23VE.js";import{b as tt}from"./chunk-ZLQFHY4B.js";import{b as U}from"./chunk-YDGFXP6E.js";import{k as K,l as X,n as Y,q as Z}from"./chunk-67QLZ3WO.js";import{$b as V,Ab as l,Bb as p,Ca as y,Ec as T,Kb as v,Nb as u,Pb as d,R as M,Ra as k,Sa as n,V as P,Wb as x,Xb as q,_b as S,ac as $,bc as B,fb as O,g as nt,h as E,kc as F,p as I,pa as m,rb as b,sb as _,tb as w,tc as a,ua as h,uc as s,va as g,yb as f,zb as c}from"./chunk-UUXRTS4O.js";var ot=nt(rt(),1);var at=["logoutput"],st=["searchInput"];function lt(i,C){if(i&1){let t=v();c(0,"div",5)(1,"button",9),a(2,"translate"),a(3,"translate"),u("click",function(){h(t);let o=d();return g(o.showSearch())}),p(4,"i"),l(),c(5,"button",9),a(6,"translate"),a(7,"translate"),u("click",function(){h(t);let o=d();return g(o.downloadLogFile())}),p(8,"i",10),l(),c(9,"button",11),a(10,"translate"),a(11,"translate"),u("click",function(){h(t);let o=d();return g(o.truncateLogFile())}),p(12,"i",12),l()()}if(i&2){let t=d();n(),f("openDelay",150)("ngbTooltip",s(2,12,"form.search")),b("aria-label",s(3,14,"form.search")),n(3),V(F("fas",t.showSearchBar()?" primary-text":""," fa-search")),n(),f("openDelay",150)("ngbTooltip",s(6,16,"form.button_download")),b("aria-label",s(7,18,"form.button_download")),n(4),f("openDelay",150)("ngbTooltip",s(10,20,"form.button_delete")),b("aria-label",s(11,22,"form.button_delete"))}}function ct(i,C){if(i&1){let t=v();c(0,"button",18),a(1,"translate"),u("click",function(){h(t);let o=d(2);return g(o.onClearSearch())}),p(2,"i",19),l()}i&2&&b("aria-label",s(1,1,"form.button_clear"))}function mt(i,C){i&1&&(c(0,"span",17),$(1),a(2,"translate"),l()),i&2&&(n(),B(s(2,1,"common.labels.beta")))}function dt(i,C){if(i&1){let t=v();c(0,"div",6)(1,"div",13)(2,"form",14),u("ngSubmit",function(){h(t);let o=d();return g(o.onSubmit(o.form.value))}),p(3,"input",15,1),a(5,"translate"),_(6,ct,3,3,"button",16)(7,mt,3,3,"span",17),l()()()}if(i&2){let t,e=d();n(2),f("formGroup",e.form),n(),S("is-invalid",e.searchInputInvalid),f("placeholder",s(5,5,"logs.placeholder_search_logs")),n(3),w((t=e.form.get("query"))!=null&&t.value?6:7)}}var Lt=(()=>{class i{$api=m(Z);$auth=m(tt);$log=m(et);$modal=m(R);$settings=m(U);$toastr=m(Y);$translate=m(K);termTarget=T("logoutput");searchInput=T("searchInput");resizeEvent=new I;valueChangesSubscription;isAdmin=this.$auth.user.admin;showSearchBar=y(!1);showExitButton=y(!1);form=new A({query:new j("")});get searchInputInvalid(){let t=(this.form.get("query")?.value||"").trim();return t.length>0&&t.length<3}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){let t=this.$translate.instant("menu.linux.label_logs");if(this.$settings.setPageTitle(t),window.document.querySelector("body").classList.add("bg-black"),this.$settings.actualLightingMode==="light"){window.document.querySelector("body").classList.add("light-mode");let e=this.termTarget()?.nativeElement;e&&e.classList.add("light-mode")}this.$log.startTerminal(this.termTarget(),{allowProposedApi:!0,allowTransparency:!1,fontSize:13,fontWeight:400,lineHeight:1.25},this.resizeEvent),this.valueChangesSubscription=this.form.get("query")?.valueChanges.pipe(M(500),P()).subscribe(e=>{let o=e||"",r=o.trim();r!==o&&this.form.get("query")?.setValue(r,{emitEvent:!1}),r.length>=3?(this.showExitButton.set(!0),this.$log.setSearchFilter(r),this.$log.scrollToBottom()):r.length<3&&this.showExitButton()&&(this.showExitButton.set(!1),this.$log.clearSearchFilter(),this.$log.scrollToBottom())})}showSearch(){if(this.showSearchBar())this.showSearchBar.set(!1),this.showExitButton.set(!1),this.form.setValue({query:""}),this.$log.clearSearchFilter();else{this.showSearchBar.set(!0);let t=this.searchInput();t&&setTimeout(()=>t.nativeElement.focus(),10)}setTimeout(()=>this.resizeEvent.next(void 0),10),this.$log.scrollToBottom()}onSubmit(t){let e=(t.query||"").trim();!e.length||e.length<3?(e.length||this.showSearchBar.set(!1),this.form.setValue({query:""}),this.showExitButton.set(!1),this.$log.clearSearchFilter()):(this.showExitButton.set(!0),this.$log.setSearchFilter(e)),this.$log.scrollToBottom()}onClearSearch(){this.form.setValue({query:""}),this.showExitButton.set(!1),this.$log.clearSearchFilter(),this.$log.scrollToBottom()}canDeactivate(t){return this.$settings.actualLightingMode!=="light"?(window.document.querySelector("body").classList.remove("bg-black"),Promise.resolve(!0)):(this.showSearchBar()&&this.showSearchBar.set(!1),window.document.querySelector("body").classList.remove("light-mode"),new Promise(e=>{let o=t&&(t.includes("/platform-tools/terminal")||t.includes("/logs")),r=this.termTarget()?.nativeElement;r&&r.classList.add("fade-out"),o?setTimeout(()=>{e(!0)},250):(setTimeout(()=>{window.document.querySelector("body").classList.remove("bg-black")},250),setTimeout(()=>{e(!0)},500))}))}ngOnDestroy(){window.document.querySelector("body").classList.remove("light-mode"),this.valueChangesSubscription&&this.valueChangesSubscription.unsubscribe(),this.resizeEvent.complete(),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(L,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,ot.saveAs)(e.body,"homebridge.log.txt")},error:e=>E(this,null,function*(){let o;try{o=JSON.parse(yield e.error.text()).message}catch(r){console.error(r)}this.$toastr.error(o||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(L,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["ng-component"]],viewQuery:function(e,o){e&1&&(x(o.termTarget,at,5),x(o.searchInput,st,5)),e&2&&q(2)},hostBindings:function(e,o){e&1&&u("resize",function(it){return o.onWindowResize(it)},k)},decls:10,vars:9,consts:[["logoutput",""],["searchInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"row"],[1,"flex-column","d-flex","align-items-stretch"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-download"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-trash-alt"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","id","logs-search","formControlName","query",1,"search-bar",3,"placeholder"],["type","button",1,"search-bar-clear"],[1,"search-bar-badge","badge","badge-primary","badge-beta"],["type","button",1,"search-bar-clear",3,"click"],["aria-hidden","true",1,"fas","fa-square-xmark"]],template:function(e,o){e&1&&(c(0,"div",2)(1,"div",3)(2,"h3",4),$(3),a(4,"translate"),l()(),_(5,lt,13,24,"div",5),l(),_(6,dt,8,7,"div",6),c(7,"div",7),p(8,"div",8,0),l()),e&2&&(n(3),B(s(4,7,"menu.linux.label_logs")),n(2),w(o.isAdmin?5:-1),n(),w(o.showSearchBar()?6:-1),n(),S("adjust-for-mobile",!o.showSearchBar())("adjust-for-mobile-with-search",o.showSearchBar()))},dependencies:[J,W,G,D,z,N,H,Q,X],styles:["body.light-mode{transition:background-color .25s ease-in-out}#log-output.light-mode[_ngcontent-%COMP%]{opacity:0;animation:_ngcontent-%COMP%_fadeIn .25s ease-in-out .25s forwards}#log-output.light-mode.fade-out[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fadeOut .25s ease-in-out forwards!important;opacity:1}@keyframes _ngcontent-%COMP%_fadeIn{to{opacity:1}}@keyframes _ngcontent-%COMP%_fadeOut{to{opacity:0}}.search-bar[_ngcontent-%COMP%]{background-color:#111!important;color:#999!important;border:0 #242424!important}@media (hover: hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #242424!important}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #242424!important;box-shadow:inherit!important;color:#eee!important}.search-bar[_ngcontent-%COMP%]::placeholder{color:#636363!important;opacity:1!important}.search-bar.is-invalid[_ngcontent-%COMP%]{border:1px solid #d32f2f!important;box-shadow:0 1px #d32f2f!important}@media (hover: hover){.search-bar.is-invalid[_ngcontent-%COMP%]:hover{border:1px solid #d32f2f!important;box-shadow:0 1px #d32f2f!important}}.search-bar.is-invalid[_ngcontent-%COMP%]:focus{border:1px solid #d32f2f!important;box-shadow:0 1px #d32f2f!important}.search-bar-badge[_ngcontent-%COMP%]{position:absolute;right:10px;top:16px;font-size:.75rem;padding:.25em .5em}.adjust-for-mobile-with-search[_ngcontent-%COMP%]{height:calc(100% - 97px);width:calc(100% + 16px);overflow:hidden}@media (max-width: 767px){.adjust-for-mobile-with-search[_ngcontent-%COMP%]{height:calc(100% - 127px)}}"]})}return i})();export{Lt as LogsComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as u,h as s}from"./chunk-O7FV4MLW.js";import{k as p,n as l,q as d}from"./chunk-
|
|
1
|
+
import{e as u,h as s}from"./chunk-O7FV4MLW.js";import{k as p,n as l,q as d}from"./chunk-67QLZ3WO.js";import{gb as n,h as f,ka as c,la as i,pa as e,z as m}from"./chunk-UUXRTS4O.js";var a=(()=>{class t{$api=e(d);$router=e(u);$toastr=e(l);$translate=e(p);resolve(){return f(this,null,function*(){try{let o=yield m(this.$api.get("/config-editor"));return JSON.stringify(o,null,4)}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(r){return new(r||t)};static \u0275prov=c({token:t,factory:t.\u0275fac})}return t})();var y=[{path:"",loadComponent:()=>import("./chunk-VKL5J2VI.js").then(t=>t.ConfigEditorComponent),resolve:{config:a}}],v=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=n({type:t});static \u0275inj=i({imports:[s.forChild(y),s]})}return t})();var T=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=n({type:t});static \u0275inj=i({providers:[a],imports:[v]})}return t})();export{T as ConfigEditorModule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
1
|
+
import{a as n}from"./chunk-LMZ63AQJ.js";import{h as i}from"./chunk-O7FV4MLW.js";import"./chunk-YDGFXP6E.js";import"./chunk-67QLZ3WO.js";import{gb as r,la as o}from"./chunk-UUXRTS4O.js";var a=[{path:"",loadComponent:()=>import("./chunk-Q337KD4E.js").then(t=>t.SetupWizardComponent)}],u=(()=>{class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=r({type:t});static \u0275inj=o({imports:[i.forChild(a),i]})}return t})();var l=(()=>{class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=r({type:t});static \u0275inj=o({providers:[n],imports:[u]})}return t})();export{l as SetupWizardModule};
|