@duplicati/ngclient 0.0.19 → 0.0.21
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/{chunk-RIQNVCIL.js → chunk-24SCDXOT.js} +1 -1
- package/{chunk-EYBBW4ID.js → chunk-3ZII4VBA.js} +1 -1
- package/{chunk-DE7MHNNM.js → chunk-4I2FZHFA.js} +1 -1
- package/{chunk-VLWUJXM4.js → chunk-4UMXA6ZN.js} +1 -1
- package/{chunk-PY26LA4W.js → chunk-5P5MCIGV.js} +1 -1
- package/chunk-5XTTHY4J.js +1 -0
- package/{chunk-SHLX3F4G.js → chunk-6FMOBX4W.js} +1 -1
- package/{chunk-CZTXCP6Y.js → chunk-72GO2ZEM.js} +1 -1
- package/{chunk-CTPVCKDU.js → chunk-AE4UH7UP.js} +1 -1
- package/{chunk-IGECPMHY.js → chunk-APGFOGYB.js} +1 -1
- package/chunk-AT2YMZPR.js +1 -0
- package/chunk-BGMX7SZ6.js +1 -0
- package/chunk-CBPKRHET.js +1 -0
- package/{chunk-2VM3Z6G6.js → chunk-D3SNAEYH.js} +1 -1
- package/{chunk-YL6USNFS.js → chunk-DUEP5NWI.js} +1 -1
- package/{chunk-DFNMN5CZ.js → chunk-EC4YV54D.js} +1 -1
- package/{chunk-RODVNO2L.js → chunk-EE44D7EI.js} +1 -1
- package/{chunk-SGVVLQ22.js → chunk-ETZPVGXX.js} +1 -1
- package/{chunk-6DRN2RKF.js → chunk-HAGEM2KU.js} +1 -1
- package/{chunk-V2UAC7MF.js → chunk-HK24NYRP.js} +1 -1
- package/{chunk-Y7U5EP7T.js → chunk-HQEL6ET4.js} +1 -1
- package/{chunk-4UKPKNC6.js → chunk-I62MTURC.js} +1 -1
- package/{chunk-GSP4D4JM.js → chunk-ICX4A35N.js} +1 -1
- package/{chunk-RNBIMN7E.js → chunk-KOIUHATU.js} +1 -1
- package/chunk-M6XAG6QD.js +1 -0
- package/{chunk-AN53EBZI.js → chunk-NN4VOZJP.js} +1 -1
- package/chunk-NUWA7AOR.js +8 -0
- package/{chunk-C7JVFVNG.js → chunk-OLR3NLBF.js} +1 -1
- package/chunk-PB775LH4.js +1 -0
- package/{chunk-VWLF6BH7.js → chunk-PJY2UW7Y.js} +1 -1
- package/{chunk-QX7KUJGE.js → chunk-QILG6324.js} +1 -1
- package/{chunk-AAWW7ZXJ.js → chunk-S4TH7BUT.js} +1 -1
- package/{chunk-NQ2MPIB6.js → chunk-SCOHUUYQ.js} +1 -1
- package/{chunk-OUSJF6ZB.js → chunk-THXSJ5EB.js} +1 -1
- package/{chunk-IPONHS64.js → chunk-VCWCJ6GK.js} +1 -1
- package/chunk-VLYQWE2X.js +1 -0
- package/{chunk-ZNDBPUVN.js → chunk-WIE3F2D2.js} +1 -1
- package/chunk-XG5WW7WW.js +1 -0
- package/{chunk-VIVSHAAZ.js → chunk-XWP5J7FY.js} +1 -1
- package/{chunk-YPNP3GF5.js → chunk-XX4XT5RQ.js} +1 -1
- package/{chunk-AM4UDAZB.js → chunk-ZCCVAPLP.js} +1 -1
- package/{chunk-BX543SH4.js → chunk-ZHM55NRD.js} +1 -1
- package/chunk-ZMHOWC7A.js +1 -0
- package/index.html +1 -1
- package/main-WNZU6MTP.js +1 -0
- package/package.json +1 -1
- package/chunk-4WBYIJ5H.js +0 -1
- package/chunk-6EXVTV2W.js +0 -1
- package/chunk-6T7HOYTW.js +0 -1
- package/chunk-F2BE3CLI.js +0 -1
- package/chunk-FKB7BVQE.js +0 -8
- package/chunk-H63BMAXL.js +0 -1
- package/chunk-JNR6OW5L.js +0 -1
- package/chunk-L2WWHQPN.js +0 -1
- package/chunk-RPSHZTVR.js +0 -1
- package/chunk-WNQNTT5I.js +0 -1
- package/main-CJNFWE4Y.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as me}from"./chunk-SHLX3F4G.js";import{a as ae}from"./chunk-SGVVLQ22.js";import{a as W}from"./chunk-AN53EBZI.js";import"./chunk-AM4UDAZB.js";import{a as se}from"./chunk-YL6USNFS.js";import"./chunk-QX7KUJGE.js";import{b as $}from"./chunk-BX543SH4.js";import{b as q,d as z,e as j,f as H,h as J,i as K,j as Q,l as X,m as Y,n as Z,o as ee,p as te,q as ne}from"./chunk-DE7MHNNM.js";import"./chunk-GSP4D4JM.js";import{e as ie,i as oe,m as re,o as le}from"./chunk-EYBBW4ID.js";import{a as L}from"./chunk-PY26LA4W.js";import{$a as S,Db as r,Eb as E,Fb as b,I as v,Ia as D,La as s,Mb as A,Ra as h,U as y,W as I,Za as O,bb as M,c as F,cc as G,ea as u,eb as C,ec as B,fa as d,fb as x,gb as T,hb as k,ib as n,jb as o,kb as p,lb as R,mb as w,ob as _,p as U,pb as m,qb as c,tb as N}from"./chunk-FKB7BVQE.js";import"./chunk-7CGTOI24.js";function ue(a,e){if(a&1){let t=_();n(0,"spk-form-field",28),p(1,"input",29),o(),n(2,"button",30),m("click",function(){u(t);let l=c(2);return d(l.beginRemoteRegistration())}),r(3," Register for remote control "),o()}}function de(a,e){if(a&1&&(n(0,"div",26)(1,"label"),r(2,"Machine is now registered, open this link to add it to your account:"),o(),n(3,"a",31),r(4),o()()),a&2){let t=c(2);s(3),N("href",t.remoteControlClaimUrl(),D),s(),E(t.remoteControlClaimUrl())}}function ge(a,e){a&1&&(n(0,"div",26)(1,"label"),r(2,"Registering, please wait..."),o()())}function Ce(a,e){if(a&1){let t=_();n(0,"button",30),m("click",function(){u(t);let l=c(2);return d(l.cancelRemoteRegistration())}),r(1," Cancel registration "),o()}}function _e(a,e){if(a&1){let t=_();n(0,"button",30),m("click",function(){u(t);let l=c(2);return d(l.disableRemoteControl())}),r(1," Disable remote control "),o()}}function fe(a,e){if(a&1){let t=_();n(0,"button",30),m("click",function(){u(t);let l=c(2);return d(l.enableRemoteControl())}),r(1," Enable remote control "),o(),n(2,"button",32),m("click",function(){u(t);let l=c(2);return d(l.deleteRemoteControl())}),r(3," Delete remote control setup "),o()}}function Se(a,e){if(a&1&&(n(0,"div",5),O(1,ue,4,0)(2,de,5,2,"div",26)(3,ge,3,0,"div",26)(4,Ce,2,0,"button",27)(5,_e,2,0,"button",27)(6,fe,4,0),o()),a&2){let t=c();s(),C(t.remoteControlState()==="inactive"?1:-1),s(),C(t.remoteControlState()==="registered"?2:-1),s(),C(t.remoteControlState()==="registering"?3:-1),s(),C(t.remoteControlState()==="registering"||t.remoteControlState()==="registeringfaulted"||t.remoteControlState()==="registered"?4:-1),s(),C(t.remoteControlState()==="connected"||t.remoteControlState()==="enabled"?5:-1),s(),C(t.remoteControlState()==="disabled"?6:-1)}}function he(a,e){if(a&1){let t=_();n(0,"option",33),m("click",function(){let l=u(t).$implicit,g=c();return d(g.pauseSettings.controls.timeType.setValue(l.value))}),r(1),o()}if(a&2){let t=e.$implicit;S("value",t.value),s(),b(" ",t.label," ")}}function be(a,e){if(a&1){let t=_();n(0,"option",33),m("click",function(){let l=u(t).$implicit,g=c();return d(g.pauseSettings.controls.time.setValue(l))}),r(1),o()}if(a&2){let t=e.$implicit;S("value",t),s(),E(t)}}function ve(a,e){if(a&1){let t=_();n(0,"option",33),m("click",function(){let l=u(t).$implicit,g=c();return d(g.settingsForm.controls.usageStatistics.setValue(l.value))}),r(1),o()}if(a&2){let t=e.$implicit;S("value",t.value),s(),b(" ",t.label," ")}}var f=new ee,pe=[{value:"s",label:"Seconds"},{value:"m",label:"Minutes"},{value:"h",label:"Hours"}],V=[{value:"en",label:"English"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"es",label:"Spanish"},{value:"it",label:"Italian"}],ce=[{value:"",label:"System default (information)"},{value:"information",label:"Usage statistics, warnings, errors, and crashes"},{value:"warning",label:"Warnings, errors and crashes"},{value:"error",label:"Errors and crashes"},{value:"crash",label:"Crashes only"},{value:"none",label:"None / disabled"}],P=class a{#i=y(ae);#o=y(W);#e=y(L);sysinfo=this.#o.systemInfo;isDarkMode=this.#i.isDarkMode;editAs=h("list");settingsForm=f.group({pauseSettings:f.group({time:f.control(0),timeType:f.control("s")}),language:f.control("en"),usageStatistics:f.control(""),updateChannel:f.control(""),remoteControlRegisterUrl:f.control("")});remoteControlState=h("unknown");remoteControlClaimUrl=h(null);sysInfoEffect=B(()=>{this.settingsForm.controls.remoteControlRegisterUrl.patchValue(this.sysinfo()?.RemoteControlRegistrationUrl??"")},{allowSignalWrites:!0});get pauseSettings(){return this.settingsForm.controls.pauseSettings}langSignal=$(this.settingsForm.controls.language.valueChanges);timeTypeOptions=h(pe);timeOptions=me([this.pauseSettings.controls.timeType.valueChanges.pipe(v("s")),this.pauseSettings.controls.time.valueChanges.pipe(v(null))],F(U(([e,t])=>{let i=this.#r(e);return t!==null?i.filter(l=>l.toString().includes(t.toString())):i}),v([])));languageOptions=G(()=>this.langSignal()?V.filter(e=>e.value===this.langSignal()):V);usageStatisticsOptions=h(ce);ngOnInit(){this.refreshRemoteControlStatus(),this.getServerSettings()}submit(){let e=`${this.pauseSettings.controls.time.value}${this.pauseSettings.controls.timeType.value}`;this.#e.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.settingsForm.controls.usageStatistics.value,"startup-delay":e==="0s"?"":e,"update-channel":this.settingsForm.controls.updateChannel.value}}).subscribe({next:t=>{console.log("res",t)},error:t=>{console.error("err",t)}})}getServerSettings(){return this.#e.getApiV1Serversettings().subscribe({next:e=>{let t=e["startup-delay"];this.settingsForm.patchValue({pauseSettings:{time:parseInt(t.substring(0,t.length-1)==""?"0":t.substring(0,t.length-1)),timeType:t.substring(-1)===""?"s":t.substring(-1)},usageStatistics:e["usage-reporter-level"],updateChannel:e["update-channel"]})}})}languageDisplay(e){return e?V.find(t=>t.value===e)?.label??null:null}typeDisplay(e){return e==null?null:pe.find(t=>t.value===e)?.label??null}usageDisplay(e){return typeof e!="string"?null:ce.find(t=>t.value===e)?.label??null}setDarkMode(){this.#i.setDarkMode()}setLightMode(){this.#i.setLightMode()}#r(e){let t=e==="h"?25:61;return new Array(t).fill(0).map((i,l)=>l)}repeatRegisterTimer=null;#t(e){e.RegistrationUrl&&this.remoteControlClaimUrl.set(e.RegistrationUrl),console.log(e),e.IsConnected?this.remoteControlState.set("connected"):e.IsEnabled?this.remoteControlState.set("enabled"):e.CanEnable?this.remoteControlState.set("disabled"):e.IsRegisteringFaulted?this.remoteControlState.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.remoteControlState.set("registered"):this.remoteControlState.set("registering"):this.remoteControlState.set("inactive");let t=this.remoteControlState();console.log(t),this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:i=>{this.#t(i)},error:i=>{this.#n(i)}})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.getApiV1RemotecontrolStatus().subscribe({next:i=>{this.#t(i)},error:i=>{this.#n(i)}})},5e3)),e.IsRegistering&&e.CanEnable&&this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:i=>{this.#t(i)}})}#n(e){this.#e.getApiV1RemotecontrolStatus().subscribe({next:t=>{this.#t(t)}})}refreshRemoteControlStatus(){this.#e.getApiV1RemotecontrolStatus().subscribe({next:e=>{this.#t(e)},error:e=>{this.#n(e)}})}beginRemoteRegistration(){this.remoteControlState.set("registering");let e=this.settingsForm.controls.remoteControlRegisterUrl.value;this.#e.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:e}}).subscribe({next:t=>{this.#t(t)},error:t=>{this.#n(t)}})}cancelRemoteRegistration(){this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:e=>{this.#t(e)},error:e=>{this.#n(e)}})}enableRemoteControl(){this.#e.postApiV1RemotecontrolEnable().subscribe({next:e=>{this.#t(e)},error:e=>{this.#n(e)}})}disableRemoteControl(){this.#e.postApiV1RemotecontrolDisable().subscribe({next:e=>{this.#t(e)},error:e=>{this.#n(e)}})}deleteRemoteControl(){let e=this;confirm("Are you sure you want to delete the remote control registration?")&&e.#e.deleteApiV1RemotecontrolRegistration().subscribe({next:t=>{e.#t(t)},error:t=>{e.#n(t)}})}getRemoteControlStatusText(){let e=this.remoteControlState();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=I({type:a,selectors:[["app-settings"]],standalone:!0,features:[A],decls:100,vars:11,consts:[[1,"content",3,"submit","formGroup"],[1,"title"],["type","submit","spk-button","",1,"raised","primary"],[1,"left"],[1,"right","remote-control"],[1,"field-row"],[1,"right"],["formGroupName","pauseSettings",1,"field-row"],[3,"displayValue"],["type","text","formControlName","timeType"],["options",""],[3,"value"],["type","search","formControlName","time"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"outlined","primary"],["type","radio","name","updateChannel","value","","formControlName","updateChannel"],["type","radio","name","updateChannel","value","stable","formControlName","updateChannel"],["type","radio","name","updateChannel","value","beta","formControlName","updateChannel"],["type","radio","name","updateChannel","value","experimental","formControlName","updateChannel"],["type","radio","name","updateChannel","value","canary","formControlName","updateChannel"],["href","#"],["type","text","formControlName","usageStatistics"],[1,"field-col"],["type","button","spk-button","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","spk-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl","formControlName","remoteControlRegisterUrl"],["type","button","spk-button","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","spk-button","",1,"raised","warn",3,"click"],[3,"click","value"]],template:function(t,i){if(t&1&&(p(0,"app-status-bar"),n(1,"form",0),m("submit",function(){return i.submit()}),n(2,"header")(3,"div",1)(4,"h2"),r(5,"Settings"),o(),n(6,"p"),r(7,"Configure your backup settings."),o()(),n(8,"button",2),r(9,"Save changes"),o()(),n(10,"section")(11,"div",3)(12,"h3"),r(13,"Remote access control"),o(),n(14,"p"),r(15),o()(),n(16,"div",4),O(17,Se,7,6,"div",5),o()(),n(18,"section")(19,"div",3)(20,"h3"),r(21,"Pause after startup or hibernation"),o(),n(22,"p"),r(23," Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. "),o()(),n(24,"div",6)(25,"div",7)(26,"spk-select",8),p(27,"input",9),R(28,10),T(29,he,2,2,"option",11,x),w(),o(),n(31,"spk-select"),p(32,"input",12),R(33,10),T(34,be,2,2,"option",11,x),w(),o()()()(),n(36,"section")(37,"div",3)(38,"h3"),r(39,"Color theme"),o(),n(40,"p"),r(41,"Customize your application theme"),o()(),n(42,"div",6)(43,"div",13)(44,"img",14),m("click",function(){return i.setLightMode()}),o(),n(45,"img",15),m("click",function(){return i.setDarkMode()}),o()()()(),n(46,"section")(47,"div",3)(48,"h3"),r(49,"Update channel"),o(),n(50,"p"),r(51,"Lorem ipsum dolor sit amet, consectetur adipiscing elit."),o()(),n(52,"div",16)(53,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("")}),n(54,"spk-radio",18),r(55),p(56,"input",19),o(),n(57,"p"),r(58),o()(),n(59,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("stable")}),n(60,"spk-radio",18),r(61," Stable "),p(62,"input",20),o(),n(63,"p"),r(64,"Official releases"),o()(),n(65,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("beta")}),n(66,"spk-radio",18),r(67," Beta "),p(68,"input",21),o(),n(69,"p"),r(70," Try out the new features that we are working on. Currently the most stable version available. Test Restore data before using this in production environments. "),o()(),n(71,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("experimental")}),n(72,"spk-radio",18),r(73," Experimental "),p(74,"input",22),o(),n(75,"p"),r(76,"Specific builds for developers only. Not for use with important data."),o()(),n(77,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("canary")}),n(78,"spk-radio",18),r(79," Canary "),p(80,"input",23),o(),n(81,"p"),r(82,"Individual builds for developers only. Not for use with important data."),o()()()(),n(83,"section")(84,"div",3)(85,"h3"),r(86,"Usage statistics"),o(),n(87,"p"),r(88," Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate "),n(89,"a",24),r(90,"public usage statistics."),o(),p(91,"br")(92,"br"),r(93," All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. "),o()(),n(94,"div",6)(95,"spk-select",8),p(96,"input",25),R(97,10),T(98,ve,2,2,"option",11,x),w(),o()()()()),t&2){let l,g;s(),S("formGroup",i.settingsForm),s(14),E(i.getRemoteControlStatusText()),s(2),C(i.remoteControlState()!=="unknown"?17:-1),s(9),S("displayValue",i.typeDisplay(i.settingsForm.value.pauseSettings==null?null:i.settingsForm.value.pauseSettings.timeType)),s(3),k(i.timeTypeOptions()),s(5),k(i.timeOptions()),s(10),M("active",!i.isDarkMode()),s(),M("active",i.isDarkMode()),s(10),b(" Default (",(l=i.sysinfo())==null?null:l.DefaultUpdateChannel,") "),s(3),b("Same as the base install version: ",(g=i.sysinfo())==null?null:g.ServerVersionType,""),s(37),S("displayValue",i.usageDisplay(i.settingsForm.controls.usageStatistics.value)),s(3),k(i.usageStatisticsOptions())}},dependencies:[te,H,Y,Z,q,J,z,j,ne,K,X,Q,se,ie,re,oe,le],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-level-40)}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] spk-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:240px;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-500)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] spk-radio[_ngcontent-%COMP%]{color:var(--base-level-60);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-level-60R)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}.remote-control[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}"],changeDetection:0})};export{P as default};
|
|
1
|
+
import{a as me}from"./chunk-6FMOBX4W.js";import{a as ae}from"./chunk-ETZPVGXX.js";import{a as W}from"./chunk-NN4VOZJP.js";import"./chunk-ZCCVAPLP.js";import{a as se}from"./chunk-DUEP5NWI.js";import"./chunk-QILG6324.js";import{b as $}from"./chunk-ZHM55NRD.js";import{b as q,d as z,e as j,f as H,h as J,i as K,j as Q,l as X,m as Y,n as Z,o as ee,p as te,q as ne}from"./chunk-4I2FZHFA.js";import"./chunk-ICX4A35N.js";import{e as ie,i as oe,m as re,o as le}from"./chunk-3ZII4VBA.js";import{a as L}from"./chunk-5P5MCIGV.js";import{Eb as r,Fb as E,Gb as b,J as v,Ja as D,Ma as s,Nb as A,Sa as h,V as y,X as I,_a as O,ab as S,c as F,cb as M,dc as G,fa as u,fb as C,fc as B,ga as d,gb as x,hb as T,ib as k,jb as n,kb as o,lb as p,mb as R,nb as w,p as U,pb as _,qb as m,rb as c,ub as N}from"./chunk-NUWA7AOR.js";import"./chunk-7CGTOI24.js";function ue(a,e){if(a&1){let t=_();n(0,"spk-form-field",28),p(1,"input",29),o(),n(2,"button",30),m("click",function(){u(t);let l=c(2);return d(l.beginRemoteRegistration())}),r(3," Register for remote control "),o()}}function de(a,e){if(a&1&&(n(0,"div",26)(1,"label"),r(2,"Machine is now registered, open this link to add it to your account:"),o(),n(3,"a",31),r(4),o()()),a&2){let t=c(2);s(3),N("href",t.remoteControlClaimUrl(),D),s(),E(t.remoteControlClaimUrl())}}function ge(a,e){a&1&&(n(0,"div",26)(1,"label"),r(2,"Registering, please wait..."),o()())}function Ce(a,e){if(a&1){let t=_();n(0,"button",30),m("click",function(){u(t);let l=c(2);return d(l.cancelRemoteRegistration())}),r(1," Cancel registration "),o()}}function _e(a,e){if(a&1){let t=_();n(0,"button",30),m("click",function(){u(t);let l=c(2);return d(l.disableRemoteControl())}),r(1," Disable remote control "),o()}}function fe(a,e){if(a&1){let t=_();n(0,"button",30),m("click",function(){u(t);let l=c(2);return d(l.enableRemoteControl())}),r(1," Enable remote control "),o(),n(2,"button",32),m("click",function(){u(t);let l=c(2);return d(l.deleteRemoteControl())}),r(3," Delete remote control setup "),o()}}function Se(a,e){if(a&1&&(n(0,"div",5),O(1,ue,4,0)(2,de,5,2,"div",26)(3,ge,3,0,"div",26)(4,Ce,2,0,"button",27)(5,_e,2,0,"button",27)(6,fe,4,0),o()),a&2){let t=c();s(),C(t.remoteControlState()==="inactive"?1:-1),s(),C(t.remoteControlState()==="registered"?2:-1),s(),C(t.remoteControlState()==="registering"?3:-1),s(),C(t.remoteControlState()==="registering"||t.remoteControlState()==="registeringfaulted"||t.remoteControlState()==="registered"?4:-1),s(),C(t.remoteControlState()==="connected"||t.remoteControlState()==="enabled"?5:-1),s(),C(t.remoteControlState()==="disabled"?6:-1)}}function he(a,e){if(a&1){let t=_();n(0,"option",33),m("click",function(){let l=u(t).$implicit,g=c();return d(g.pauseSettings.controls.timeType.setValue(l.value))}),r(1),o()}if(a&2){let t=e.$implicit;S("value",t.value),s(),b(" ",t.label," ")}}function be(a,e){if(a&1){let t=_();n(0,"option",33),m("click",function(){let l=u(t).$implicit,g=c();return d(g.pauseSettings.controls.time.setValue(l))}),r(1),o()}if(a&2){let t=e.$implicit;S("value",t),s(),E(t)}}function ve(a,e){if(a&1){let t=_();n(0,"option",33),m("click",function(){let l=u(t).$implicit,g=c();return d(g.settingsForm.controls.usageStatistics.setValue(l.value))}),r(1),o()}if(a&2){let t=e.$implicit;S("value",t.value),s(),b(" ",t.label," ")}}var f=new ee,pe=[{value:"s",label:"Seconds"},{value:"m",label:"Minutes"},{value:"h",label:"Hours"}],V=[{value:"en",label:"English"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"es",label:"Spanish"},{value:"it",label:"Italian"}],ce=[{value:"",label:"System default (information)"},{value:"information",label:"Usage statistics, warnings, errors, and crashes"},{value:"warning",label:"Warnings, errors and crashes"},{value:"error",label:"Errors and crashes"},{value:"crash",label:"Crashes only"},{value:"none",label:"None / disabled"}],P=class a{#i=y(ae);#o=y(W);#e=y(L);sysinfo=this.#o.systemInfo;isDarkMode=this.#i.isDarkMode;editAs=h("list");settingsForm=f.group({pauseSettings:f.group({time:f.control(0),timeType:f.control("s")}),language:f.control("en"),usageStatistics:f.control(""),updateChannel:f.control(""),remoteControlRegisterUrl:f.control("")});remoteControlState=h("unknown");remoteControlClaimUrl=h(null);sysInfoEffect=B(()=>{this.settingsForm.controls.remoteControlRegisterUrl.patchValue(this.sysinfo()?.RemoteControlRegistrationUrl??"")},{allowSignalWrites:!0});get pauseSettings(){return this.settingsForm.controls.pauseSettings}langSignal=$(this.settingsForm.controls.language.valueChanges);timeTypeOptions=h(pe);timeOptions=me([this.pauseSettings.controls.timeType.valueChanges.pipe(v("s")),this.pauseSettings.controls.time.valueChanges.pipe(v(null))],F(U(([e,t])=>{let i=this.#r(e);return t!==null?i.filter(l=>l.toString().includes(t.toString())):i}),v([])));languageOptions=G(()=>this.langSignal()?V.filter(e=>e.value===this.langSignal()):V);usageStatisticsOptions=h(ce);ngOnInit(){this.refreshRemoteControlStatus(),this.getServerSettings()}submit(){let e=`${this.pauseSettings.controls.time.value}${this.pauseSettings.controls.timeType.value}`;this.#e.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.settingsForm.controls.usageStatistics.value,"startup-delay":e==="0s"?"":e,"update-channel":this.settingsForm.controls.updateChannel.value}}).subscribe({next:t=>{console.log("res",t)},error:t=>{console.error("err",t)}})}getServerSettings(){return this.#e.getApiV1Serversettings().subscribe({next:e=>{let t=e["startup-delay"];this.settingsForm.patchValue({pauseSettings:{time:parseInt(t.substring(0,t.length-1)==""?"0":t.substring(0,t.length-1)),timeType:t.substring(-1)===""?"s":t.substring(-1)},usageStatistics:e["usage-reporter-level"],updateChannel:e["update-channel"]})}})}languageDisplay(e){return e?V.find(t=>t.value===e)?.label??null:null}typeDisplay(e){return e==null?null:pe.find(t=>t.value===e)?.label??null}usageDisplay(e){return typeof e!="string"?null:ce.find(t=>t.value===e)?.label??null}setDarkMode(){this.#i.setDarkMode()}setLightMode(){this.#i.setLightMode()}#r(e){let t=e==="h"?25:61;return new Array(t).fill(0).map((i,l)=>l)}repeatRegisterTimer=null;#t(e){e.RegistrationUrl&&this.remoteControlClaimUrl.set(e.RegistrationUrl),console.log(e),e.IsConnected?this.remoteControlState.set("connected"):e.IsEnabled?this.remoteControlState.set("enabled"):e.CanEnable?this.remoteControlState.set("disabled"):e.IsRegisteringFaulted?this.remoteControlState.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.remoteControlState.set("registered"):this.remoteControlState.set("registering"):this.remoteControlState.set("inactive");let t=this.remoteControlState();console.log(t),this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:i=>{this.#t(i)},error:i=>{this.#n(i)}})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.getApiV1RemotecontrolStatus().subscribe({next:i=>{this.#t(i)},error:i=>{this.#n(i)}})},5e3)),e.IsRegistering&&e.CanEnable&&this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:i=>{this.#t(i)}})}#n(e){this.#e.getApiV1RemotecontrolStatus().subscribe({next:t=>{this.#t(t)}})}refreshRemoteControlStatus(){this.#e.getApiV1RemotecontrolStatus().subscribe({next:e=>{this.#t(e)},error:e=>{this.#n(e)}})}beginRemoteRegistration(){this.remoteControlState.set("registering");let e=this.settingsForm.controls.remoteControlRegisterUrl.value;this.#e.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:e}}).subscribe({next:t=>{this.#t(t)},error:t=>{this.#n(t)}})}cancelRemoteRegistration(){this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:e=>{this.#t(e)},error:e=>{this.#n(e)}})}enableRemoteControl(){this.#e.postApiV1RemotecontrolEnable().subscribe({next:e=>{this.#t(e)},error:e=>{this.#n(e)}})}disableRemoteControl(){this.#e.postApiV1RemotecontrolDisable().subscribe({next:e=>{this.#t(e)},error:e=>{this.#n(e)}})}deleteRemoteControl(){let e=this;confirm("Are you sure you want to delete the remote control registration?")&&e.#e.deleteApiV1RemotecontrolRegistration().subscribe({next:t=>{e.#t(t)},error:t=>{e.#n(t)}})}getRemoteControlStatusText(){let e=this.remoteControlState();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=I({type:a,selectors:[["app-settings"]],standalone:!0,features:[A],decls:100,vars:11,consts:[[1,"content",3,"submit","formGroup"],[1,"title"],["type","submit","spk-button","",1,"raised","primary"],[1,"left"],[1,"right","remote-control"],[1,"field-row"],[1,"right"],["formGroupName","pauseSettings",1,"field-row"],[3,"displayValue"],["type","text","formControlName","timeType"],["options",""],[3,"value"],["type","search","formControlName","time"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"outlined","primary"],["type","radio","name","updateChannel","value","","formControlName","updateChannel"],["type","radio","name","updateChannel","value","stable","formControlName","updateChannel"],["type","radio","name","updateChannel","value","beta","formControlName","updateChannel"],["type","radio","name","updateChannel","value","experimental","formControlName","updateChannel"],["type","radio","name","updateChannel","value","canary","formControlName","updateChannel"],["href","#"],["type","text","formControlName","usageStatistics"],[1,"field-col"],["type","button","spk-button","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","spk-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl","formControlName","remoteControlRegisterUrl"],["type","button","spk-button","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","spk-button","",1,"raised","warn",3,"click"],[3,"click","value"]],template:function(t,i){if(t&1&&(p(0,"app-status-bar"),n(1,"form",0),m("submit",function(){return i.submit()}),n(2,"header")(3,"div",1)(4,"h2"),r(5,"Settings"),o(),n(6,"p"),r(7,"Configure your backup settings."),o()(),n(8,"button",2),r(9,"Save changes"),o()(),n(10,"section")(11,"div",3)(12,"h3"),r(13,"Remote access control"),o(),n(14,"p"),r(15),o()(),n(16,"div",4),O(17,Se,7,6,"div",5),o()(),n(18,"section")(19,"div",3)(20,"h3"),r(21,"Pause after startup or hibernation"),o(),n(22,"p"),r(23," Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. "),o()(),n(24,"div",6)(25,"div",7)(26,"spk-select",8),p(27,"input",9),R(28,10),T(29,he,2,2,"option",11,x),w(),o(),n(31,"spk-select"),p(32,"input",12),R(33,10),T(34,be,2,2,"option",11,x),w(),o()()()(),n(36,"section")(37,"div",3)(38,"h3"),r(39,"Color theme"),o(),n(40,"p"),r(41,"Customize your application theme"),o()(),n(42,"div",6)(43,"div",13)(44,"img",14),m("click",function(){return i.setLightMode()}),o(),n(45,"img",15),m("click",function(){return i.setDarkMode()}),o()()()(),n(46,"section")(47,"div",3)(48,"h3"),r(49,"Update channel"),o(),n(50,"p"),r(51,"Lorem ipsum dolor sit amet, consectetur adipiscing elit."),o()(),n(52,"div",16)(53,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("")}),n(54,"spk-radio",18),r(55),p(56,"input",19),o(),n(57,"p"),r(58),o()(),n(59,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("stable")}),n(60,"spk-radio",18),r(61," Stable "),p(62,"input",20),o(),n(63,"p"),r(64,"Official releases"),o()(),n(65,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("beta")}),n(66,"spk-radio",18),r(67," Beta "),p(68,"input",21),o(),n(69,"p"),r(70," Try out the new features that we are working on. Currently the most stable version available. Test Restore data before using this in production environments. "),o()(),n(71,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("experimental")}),n(72,"spk-radio",18),r(73," Experimental "),p(74,"input",22),o(),n(75,"p"),r(76,"Specific builds for developers only. Not for use with important data."),o()(),n(77,"div",17),m("click",function(){return i.settingsForm.controls.updateChannel.setValue("canary")}),n(78,"spk-radio",18),r(79," Canary "),p(80,"input",23),o(),n(81,"p"),r(82,"Individual builds for developers only. Not for use with important data."),o()()()(),n(83,"section")(84,"div",3)(85,"h3"),r(86,"Usage statistics"),o(),n(87,"p"),r(88," Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate "),n(89,"a",24),r(90,"public usage statistics."),o(),p(91,"br")(92,"br"),r(93," All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. "),o()(),n(94,"div",6)(95,"spk-select",8),p(96,"input",25),R(97,10),T(98,ve,2,2,"option",11,x),w(),o()()()()),t&2){let l,g;s(),S("formGroup",i.settingsForm),s(14),E(i.getRemoteControlStatusText()),s(2),C(i.remoteControlState()!=="unknown"?17:-1),s(9),S("displayValue",i.typeDisplay(i.settingsForm.value.pauseSettings==null?null:i.settingsForm.value.pauseSettings.timeType)),s(3),k(i.timeTypeOptions()),s(5),k(i.timeOptions()),s(10),M("active",!i.isDarkMode()),s(),M("active",i.isDarkMode()),s(10),b(" Default (",(l=i.sysinfo())==null?null:l.DefaultUpdateChannel,") "),s(3),b("Same as the base install version: ",(g=i.sysinfo())==null?null:g.ServerVersionType,""),s(37),S("displayValue",i.usageDisplay(i.settingsForm.controls.usageStatistics.value)),s(3),k(i.usageStatisticsOptions())}},dependencies:[te,H,Y,Z,q,J,z,j,ne,K,X,Q,se,ie,re,oe,le],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-level-40)}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] spk-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:240px;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-500)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] spk-radio[_ngcontent-%COMP%]{color:var(--base-level-60);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-level-60R)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}.remote-control[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}"],changeDetection:0})};export{P as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as c}from"./chunk-
|
|
1
|
+
import{e as c}from"./chunk-3ZII4VBA.js";import{b as l,d as m,e as p}from"./chunk-APGFOGYB.js";import"./chunk-XG5WW7WW.js";import{Eb as n,Nb as s,X as a,jb as e,kb as t,lb as u}from"./chunk-NUWA7AOR.js";import"./chunk-7CGTOI24.js";var i=class r{static \u0275fac=function(o){return new(o||r)};static \u0275cmp=a({type:r,selectors:[["app-about"]],standalone:!0,features:[s],decls:13,vars:0,consts:[[1,"nav"],["spk-button","","routerLink","/about/general","routerLinkActive","primary",1,"raised"],["spk-button","","routerLink","/about/changelog","routerLinkActive","primary",1,"raised"],["spk-button","","routerLink","/about/libraries","routerLinkActive","primary",1,"raised"],["spk-button","","routerLink","/about/system-info","routerLinkActive","primary",1,"raised"],["spk-button","","routerLink","/about/logs","routerLinkActive","primary",1,"raised"]],template:function(o,b){o&1&&(e(0,"div",0)(1,"button",1),n(2,"General"),t(),e(3,"button",2),n(4,"Changelog"),t(),e(5,"button",3),n(6,"Libraries"),t(),e(7,"button",4),n(8,"System info"),t(),e(9,"button",5),n(10,"Logs"),t()(),e(11,"section"),u(12,"router-outlet"),t())},dependencies:[c,l,m,p],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:0;padding:2.5rem}.nav[_ngcontent-%COMP%]{display:flex;gap:.5rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:2rem 0}"],changeDetection:0})};export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-7CGTOI24.js";var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-AT2YMZPR.js")},{path:"destination",loadComponent:()=>import("./chunk-PB775LH4.js")},{path:"source-data",loadComponent:()=>import("./chunk-5XTTHY4J.js")},{path:"schedule",loadComponent:()=>import("./chunk-BGMX7SZ6.js")},{path:"options",loadComponent:()=>import("./chunk-ZMHOWC7A.js")}];export{o as default};
|