@duplicati/ngclient 0.0.106 → 0.0.108
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/assets/spk.woff2 +0 -0
- package/{chunk-DAPUSIR2.js → chunk-25P4YYJP.js} +1 -1
- package/chunk-3PO7PPQB.js +1 -0
- package/{chunk-2OPFT5E4.js → chunk-45WMLGXH.js} +1 -1
- package/chunk-4ITKST6C.js +1 -0
- package/chunk-5HITPR54.js +1 -0
- package/chunk-5NOK4P5Z.js +1 -0
- package/chunk-6HM2RSLN.js +1 -0
- package/chunk-6X3MMKNW.js +1 -0
- package/chunk-7FENUDO7.js +1 -0
- package/chunk-7M4VHYPC.js +1 -0
- package/{chunk-7RBLV255.js → chunk-ALJFIIJK.js} +1 -1
- package/{chunk-UEZFRBEJ.js → chunk-BP3VAOAI.js} +1 -1
- package/{chunk-MFDCQK6M.js → chunk-C226INOP.js} +1 -1
- package/{chunk-6V3OG3TZ.js → chunk-E72OEVM6.js} +1 -1
- package/{chunk-47X3OGYT.js → chunk-EHCHWANP.js} +1 -1
- package/chunk-EUWILPHJ.js +1 -0
- package/chunk-F2LMYNG6.js +1 -0
- package/chunk-FFMEW3W2.js +1 -0
- package/chunk-FLLM5A7M.js +1 -0
- package/{chunk-3X4E4YMJ.js → chunk-GJK7DA4F.js} +1 -1
- package/chunk-GN25KTS3.js +1 -0
- package/{chunk-SAVY3OEX.js → chunk-H4FB6PPA.js} +1 -1
- package/{chunk-4EIKPTJL.js → chunk-H7MGNYSX.js} +1 -1
- package/chunk-HDJ2DWV3.js +1 -0
- package/{chunk-YC34F3JB.js → chunk-HDLTGBAP.js} +1 -1
- package/{chunk-ZTUAQHOT.js → chunk-IDYYAKHE.js} +1 -1
- package/{chunk-7EYE3BSS.js → chunk-IJLA56JK.js} +1 -1
- package/chunk-IYFU5MHZ.js +2 -0
- package/chunk-JZCXYOBH.js +1 -0
- package/chunk-LM5DGJFV.js +2 -0
- package/chunk-N2ESHACC.js +1 -0
- package/{chunk-IA2ZYSD7.js → chunk-NOO722WB.js} +1 -1
- package/chunk-OAFPPNU4.js +1 -0
- package/{chunk-ENVS53DP.js → chunk-OHH4KPZJ.js} +1 -1
- package/chunk-OIGDIRD3.js +1 -0
- package/chunk-ONF7O7HR.js +2 -0
- package/{chunk-2AA7RP36.js → chunk-OUUFQQAS.js} +1 -1
- package/{chunk-47JKJRCG.js → chunk-PLWQMSDV.js} +1 -1
- package/chunk-Q2N4WWEF.js +1 -0
- package/chunk-Q2QM66LC.js +1 -0
- package/{chunk-UKNGRIBK.js → chunk-SVOGBC6V.js} +1 -1
- package/chunk-TSSJKZOC.js +1 -0
- package/{chunk-6WM5WVZV.js → chunk-UY4L2RBZ.js} +1 -1
- package/chunk-V2ZMQ7WX.js +1 -0
- package/{chunk-HWP66GX6.js → chunk-VPCHNJ7X.js} +1 -1
- package/chunk-VWVULZQJ.js +1 -0
- package/chunk-W33OFVQJ.js +1 -0
- package/chunk-WAKYTFC3.js +2 -0
- package/chunk-WB3ZZ4SC.js +1 -0
- package/{chunk-436PKZSE.js → chunk-WDQFR5II.js} +1 -1
- package/chunk-WMLBEUM4.js +1 -0
- package/{chunk-5H7QZHN7.js → chunk-WQUCKXF2.js} +1 -1
- package/chunk-ZDG2GAJR.js +8 -0
- package/{chunk-6S3SP4UJ.js → chunk-ZMDO52TL.js} +1 -1
- package/index.html +1 -1
- package/main-CS4RFHA7.js +1 -0
- package/package.json +1 -1
- package/chunk-2WMFHNHQ.js +0 -1
- package/chunk-3LISV2IH.js +0 -1
- package/chunk-5MW7LJ7A.js +0 -1
- package/chunk-5VR5J6BY.js +0 -2
- package/chunk-5YI264K5.js +0 -1
- package/chunk-5ZRMELDO.js +0 -1
- package/chunk-6AFQMFMF.js +0 -1
- package/chunk-7YWZEP4G.js +0 -1
- package/chunk-AXTJMPOA.js +0 -1
- package/chunk-BRKXL7PY.js +0 -1
- package/chunk-FEJAAP54.js +0 -1
- package/chunk-FSGJ5KIH.js +0 -1
- package/chunk-IMFJPM7A.js +0 -1
- package/chunk-JAYNAMCB.js +0 -1
- package/chunk-JCXYUHPV.js +0 -1
- package/chunk-JQPXZWKR.js +0 -1
- package/chunk-M63ZRC6J.js +0 -1
- package/chunk-MZ473NLM.js +0 -2
- package/chunk-OAPBYB5L.js +0 -8
- package/chunk-OJ3MWFKA.js +0 -1
- package/chunk-OUD6FSMZ.js +0 -1
- package/chunk-P6BYDOQU.js +0 -1
- package/chunk-PTDSOPNK.js +0 -1
- package/chunk-QWIDEDE7.js +0 -1
- package/chunk-RP6N6NQM.js +0 -1
- package/chunk-UN45NEVN.js +0 -1
- package/chunk-W2VC37XO.js +0 -1
- package/chunk-WHVFYB7T.js +0 -1
- package/chunk-XY5EWT4P.js +0 -2
- package/chunk-Y4K6X2Q2.js +0 -1
- package/chunk-YDRXW35Y.js +0 -2
- package/main-5B5JXI35.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as re}from"./chunk-OAPBYB5L.js";import"./chunk-6DH6O5YE.js";import"./chunk-DAPUSIR2.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import{a as Tt}from"./chunk-HTNYQE2B.js";import{a as ut}from"./chunk-IXM6PMZU.js";import{a as Z}from"./chunk-SAVY3OEX.js";import{a as St}from"./chunk-XJXOUOD5.js";import{a as gt}from"./chunk-IA2ZYSD7.js";import{a as pt}from"./chunk-7L42EO7J.js";import"./chunk-FEJAAP54.js";import"./chunk-2AA7RP36.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as J,e as Y,h as ee,l as ct,s as te,t as ne}from"./chunk-T2OUHRUV.js";import"./chunk-FSGJ5KIH.js";import{a as nt}from"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as dt,a as q,b as j,e as it,g as K,k as ot,l as Q,p as st,q as at,r as rt,t as lt,z as _t}from"./chunk-WX7L7V6J.js";import{b as v}from"./chunk-PTDSOPNK.js";import"./chunk-MZ473NLM.js";import"./chunk-DE4NDI5F.js";import"./chunk-CKPICCFH.js";import"./chunk-PFYOWXZZ.js";import{$b as R,Ac as $,B as k,Bc as b,Cb as P,F as I,Gb as z,Hb as U,Ib as r,Jb as se,Kb as ae,Lb as Ze,Mb as S,Na as qe,Nb as p,Qa as l,Qb as Je,S as V,Xa as je,Y as T,Yb as Ye,Zb as et,a as Be,ab as L,ac as B,b as We,bc as W,c as He,da as m,ea as C,ec as y,fb as f,fc as G,gc as A,kb as Ke,kc as tt,lb as Qe,lc as H,n as w,nb as h,pb as N,sb as E,ua as c,wb as i,xb as o,yb as O}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var F=class s{#e=T(v);#t=Tt(this.#e.getApiV1Serversettings());#n=c(void 0);serverSettings=$(()=>this.#n()||this.#t());refreshServerSettings(){this.#e.getApiV1Serversettings().subscribe({next:e=>{this.#n.set(e)}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};var Et=["formRef"],ft=()=>[import("./chunk-IMFJPM7A.js").then(s=>s.OptionsListComponent)];function Nt(s,e){s&1&&(i(0,"spk-alert",3),r(1,1),o())}function Mt(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){m(t);let d=p();return G(d.settings,a)||(d.settings=a),C(a)}),o()}if(s&2){let t=p();y("options",t.settings),h("hasFreeTextSettings",!0)}}var ht=["Bytes","KB","MB","GB","TB","PB"],D=class s{#e=T(re);#t=T(F);#n=T(v);formRef=je.required("formRef");settings=this.#e.settings;isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(ht);lastRecievedServerSettings=c({});serverSettingsEffect=b(()=>{let e=this.#t.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],d)=>{if(n.startsWith("--")){let u=n.replace("--","");this.settings.update(g=>(g.some(M=>M.Name===u)||g.push({Name:u,Value:a}),g))}d===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(g=>g.Name),d=Object.keys(t).filter(g=>!n.includes(g.replace("--",""))),u=e.reduce((g,M)=>(g[`--${M.Name}`]=M.Value,g),{});d.forEach(g=>{u[g]=null}),this.#n.patchApiV1Serversettings({requestBody:u}).pipe(I(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#t.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Ye(n.formRef,Et,5),t&2&&et()},features:[tt([re])],decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["spk-button","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),f(1,Nt,2,0,"spk-alert",3),i(2,"button",4),S("click",function(){return n.submit()}),z(3,0),O(4,"spk-icon"),U(),o()(),f(5,Mt,1,2),Ke(6,5,ft)),t&2&&(l(),E(n.saved()?1:-1),l(),N("loader",n.isSubmitting()),l(4),Qe(!n.isLoadingOptions()))},dependencies:[ne,K,q,j],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var x=class s{#e=T(it);#t=T(v);#n=T(Z);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=$(()=>{let e=this.state();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"});sysInfoEffect=b(()=>{let e=this.#n.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#i(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#i(n)})}#o(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#i(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}deleteRemoteControl(){let e=this;this.#e.open(pt,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#i(n),error:n=>e.#o(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};function Ot(s,e){if(s&1){let t=P();i(0,"spk-form-field",10)(1,"input",11),A("ngModelChange",function(a){m(t);let d=p(2);return G(d.registerUrl,a)||(d.registerUrl=a),C(a)}),o()(),i(2,"button",12),S("click",function(){m(t);let a=p(2);return C(a.register())}),r(3,0),o()}if(s&2){let t=p(2);l(),y("ngModel",t.registerUrl)}}function Rt(s,e){if(s&1&&(i(0,"div",8)(1,"label"),r(2,1),o(),i(3,"a",13),R(4),o()()),s&2){let t=p(2);l(3),Je("href",t.claimUrl(),qe),l(),B(t.claimUrl())}}function It(s,e){s&1&&(i(0,"div",8)(1,"label"),r(2,2),o()())}function yt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.cancel())}),r(1,3),o()}}function Gt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.disable())}),r(1,4),o()}}function At(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.enable())}),r(1,5),o(),i(2,"button",14),S("click",function(){m(t);let a=p(2);return C(a.delete())}),r(3,6),o()}}function vt(s,e){if(s&1&&(i(0,"div",7),f(1,Ot,4,1)(2,Rt,5,2,"div",8)(3,It,3,0,"div",8)(4,yt,2,0,"button",9)(5,Gt,2,0,"button",9)(6,At,4,0),o()),s&2){let t=p();l(),E(t.state()==="inactive"?1:-1),l(),E(t.state()==="registered"?2:-1),l(),E(t.state()==="registering"?3:-1),l(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),l(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),l(),E(t.state()==="disabled"?6:-1)}}var oe=class s{#e=T(x);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let d;d=$localize`Disable remote control`;let u;u=$localize`Enable remote control`;let g;return g=$localize`Delete remote control setup`,[e,t,n,a,d,u,g,[1,"field-row"],[1,"field-col"],["type","button","spk-button","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","spk-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","spk-button","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","spk-button","",1,"raised","error",3,"click"]]},template:function(t,n){t&1&&f(0,vt,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[te,J,Y,ee,Q],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.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}"],changeDetection:0})};function Ct(...s){let e=c(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var le=()=>({standalone:!0});function $t(s,e){s&1&&(i(0,"spk-icon",69),R(1,"check"),o())}function bt(s,e){s&1&&(i(0,"spk-icon",70),R(1,"prohibit"),o())}function wt(s,e){if(s&1){let t=P();i(0,"button",74),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(1,34),o()}if(s&2){let t=p(2);N("loader",t.isUpdating())}}function kt(s,e){if(s&1){let t=P();i(0,"spk-tooltip",73)(1,"button",75),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(2,35),o()()}if(s&2){let t=p(2);l(),N("loader",t.isUpdating()),h("disabled",!0)}}function Lt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",65),r(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){m(t);let d=p();return G(d.passphrase,a)||(d.passphrase=a),C(a)}),o()(),i(4,"spk-form-field")(5,"label",67),r(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){m(t);let d=p();return G(d.repeatPassphrase,a)||(d.repeatPassphrase=a),C(a)}),o(),f(8,$t,2,0,"spk-icon",69)(9,bt,2,0,"spk-icon",70),o(),i(10,"div",48)(11,"button",71),S("click",function(){m(t);let a=p();return C(a.cancelPasswordChange())}),r(12,33),o(),f(13,wt,2,2,"button",72)(14,kt,3,3,"spk-tooltip",73),o()}if(s&2){let t=p();l(3),y("ngModel",t.passphrase),l(4),h("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),l(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),l(3),N("loader",t.isUpdating()),l(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function Ft(s,e){s&1&&(i(0,"spk-icon",76),R(1,"check"),o())}function xt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),S("click",function(){m(t);let a=p();return C(a.openPassphraseForm())}),r(2,36),o(),f(3,Ft,2,0,"spk-icon",76),o()}if(s&2){let t=p();l(3),E(t.passwordUpdated()?3:-1)}}function Dt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",77),r(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){m(t);let d=p();return G(d.allowedHostnames,a)||(d.allowedHostnames=a),C(a)}),o()(),i(4,"spk-alert",79),r(5,38),o(),i(6,"button",74),S("click",function(){m(t);let a=p();return C(a.updateAllowedHostnames())}),r(7,39),o()}if(s&2){let t=p();l(3),y("ngModel",t.allowedHostnames),l(3),N("loader",t.updatingAllowedHosts())}}function Xt(s,e){if(s&1&&R(0),s&2){let t,n=p();W(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Vt(s,e){s&1&&O(0,"spk-progress-bar",53)}function zt(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Ut(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Bt(s,e,t){let n=Ct(s),a=n[Be];t?.equal&&(a.equal=t.equal);let d;return n.set=u=>{clearTimeout(d),d=setTimeout(()=>We(a,u),e)},n.update=u=>{clearTimeout(d),d=setTimeout(()=>He(a,u),e)},n}var Wt=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Ht=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"none",label:$localize`None / disabled`}],_e=class s{#e=T(St);#t=T(Z);#n=T(v);#i=T(F);#o=T(x);#s=T(nt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#a;langCtrl=c(this.#a);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#o.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#n.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(I(()=>this.updatingChannel.set(!1)),k(()=>(this.updateChannel.set(t),w(null)))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(I(()=>this.updatingRemoteAccess.set(!1)),k(()=>(this.allowRemoteAccess.set(e),w(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(I(()=>this.updatingAllowedHosts.set(!1)),k(()=>(this.allowedHostnames.set(e),w(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#n.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(I(()=>this.updatingDisableTrayIconLogin.set(!1)),k(()=>(this.disableTrayIconLogin.set(e),w(null)))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(I(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(ut);usageStatisticsOptions=c(Ht);timeTypeOptions=c(Wt);timeType=c("s");timeValue=Bt(void 0,300);timeRange=$(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=b(()=>{let e=this.timeValue();this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.#i.serverSettings(),t=this.timeValue(),n=this.timeType(),a=`${t}${n}`;typeof t!="number"||a===""||e&&e["startup-delay"]===a||this.#n.patchApiV1Serversettings({requestBody:{"startup-delay":a==="0s"?"":a}}).subscribe()}updateTimeType(e){this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(I(()=>this.updatingUsageStatistics.set(!1)),k(()=>(this.usageStatistics.set(t),w(null)))).subscribe())}serverSettingsEffect=b(()=>{let e=this.#i.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),d=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(d.includes(n)?n:"s"),this.timeValue.set(parseInt(a==""?"0":a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-settings"]],decls:132,vars:45,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let d;d=$localize`Customize your application theme`;let u;u=$localize`Passwords`;let g;g=$localize`Change server passphrase`;let M;M=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let pe;pe=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let Se;Se=$localize`Allow remote access`;let ge;ge=$localize`Prevent tray icon automatic log-in`;let Te;Te=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let me;me=$localize`Update channel`;let Ce;Ce=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ee;Ee=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Stable`;let Ne;Ne=$localize`Official releases`;let Me;Me=$localize`Beta`;let he;he=$localize` 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. `;let Pe;Pe=$localize` Experimental `;let Oe;Oe=$localize`Specific builds for developers only. Not for use with important data.`;let Re;Re=$localize`Canary`;let Ie;Ie=$localize`Individual builds for developers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let Ge;Ge=$localize` 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. `;let Ae;Ae=$localize`Usage statistics`;let X;X=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: 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. `,X=Ze(X);let ve;ve=$localize`Advanced options`;let $e;$e=$localize`Enter new password`;let be;be=$localize`Repeat password`;let we;we=$localize`Password have to be filled and have to match`;let ke;ke=$localize`Passphrase`;let Le;Le=$localize`Repeat passphrase`;let Fe;Fe=$localize`Cancel`;let xe;xe=$localize` Update passphrase `;let De;De=$localize` Update passphrase `;let Xe;Xe=$localize`Change password`;let Ve;Ve=$localize`Allowed hostnames`;let ze;ze=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Ue;return Ue=$localize` Update allowed hostnames `,[e,t,n,a,d,u,g,M,de,ce,pe,Se,ge,Te,ue,me,Ce,Ee,fe,Ne,Me,he,Pe,Oe,Re,Ie,ye,Ge,Ae,X,ve,ke,Le,Fe,xe,De,Xe,Ve,ze,Ue,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[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","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"min","max","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",$e,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",be,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",we,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"],[1,"spk-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(O(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),r(5,0),o(),i(6,"p"),r(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),r(11,2),o(),i(12,"p"),R(13),o()(),i(14,"div",43),O(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),r(19,3),o(),i(20,"p"),r(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),S("click",function(){return n.setLightMode()}),o(),i(25,"img",46),S("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),r(29,5),o(),i(30,"p"),r(31,6),o()(),i(32,"div",47),f(33,Lt,15,7)(34,xt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),r(38,7),o(),i(39,"p"),r(40,8),o()(),i(41,"div",43)(42,"spk-select",49)(43,"input",50),S("ngModelChange",function(d){return n.updateLocale(d)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),r(47,9),o(),i(48,"p"),r(49,10),o()(),i(50,"div",51)(51,"spk-toggle",52),S("click",function(){return n.updateRemoteAccess()}),i(52,"label"),r(53,11),o()(),f(54,Dt,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),r(58,12),o(),i(59,"p"),r(60,13),o()(),i(61,"div",43)(62,"spk-toggle",52),S("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),r(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),r(68,15),o(),i(69,"p"),f(70,Xt,1,1),o(),f(71,Vt,1,0,"spk-progress-bar",53),o(),i(72,"div",54)(73,"div",55),S("click",function(){return n.setNewChannel("")}),i(74,"spk-radio",56),r(75,16),o(),i(76,"p"),r(77,17),o()(),i(78,"div",55),S("click",function(){return n.setNewChannel("stable")}),i(79,"spk-radio",56),r(80,18),o(),i(81,"p"),r(82,19),o()(),i(83,"div",55),S("click",function(){return n.setNewChannel("beta")}),i(84,"spk-radio",56),r(85,20),o(),i(86,"p"),r(87,21),o()(),i(88,"div",55),S("click",function(){return n.setNewChannel("experimental")}),i(89,"spk-radio",56),r(90,22),o(),i(91,"p"),r(92,23),o()(),i(93,"div",55),S("click",function(){return n.setNewChannel("canary")}),i(94,"spk-radio",56),r(95,24),o(),i(96,"p"),r(97,25),o()()()()(),O(98,"spk-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),r(103,26),o(),i(104,"p"),r(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"spk-range-slider",58),O(109,"input",59),o(),i(110,"spk-select",60)(111,"input",61),S("ngModelChange",function(d){return n.updateTimeType(d)}),o(),f(112,zt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),r(116,28),o(),i(117,"p"),z(118,29),O(119,"a",62)(120,"br")(121,"br"),U(),o()(),i(122,"div",43)(123,"spk-select",63)(124,"input",50),S("ngModelChange",function(d){return n.updateUsageStatistics(d)}),o(),f(125,Ut,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),r(130,30),o(),O(131,"app-advanced-options-settings"),o()()()),t&2){let a,d,u;l(13),B(n.remoteControlStatus()),l(11),N("active",!n.isDarkMode()),l(),N("active",n.isDarkMode()),l(8),E(n.showPassphraseForm()?33:34),l(9),h("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),h("ngModel",n.langCtrl())("ngModelOptions",H(42,le)),l(8),N("active",n.allowRemoteAccess()),l(3),E(n.allowRemoteAccess()?54:-1),l(8),N("active",n.disableTrayIconLogin()),l(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),l(),E(n.updatingChannel()?71:-1),l(3),N("active",n.updateChannel()===""),l(),se((d=n.sysinfo())==null?null:d.DefaultUpdateChannel),ae(75),l(2),se((u=n.sysinfo())==null?null:u.ServerVersionType),ae(77),l(2),N("active",n.updateChannel()==="stable"),l(5),N("active",n.updateChannel()==="beta"),l(5),N("active",n.updateChannel()==="experimental"),l(5),N("active",n.updateChannel()==="canary"),l(14),h("unit",n.timeType()),l(),h("min",n.timeRange()[0])("max",n.timeRange()[1])("ngModel",n.timeValue)("ngModelOptions",H(43,le)),l(),h("options",n.timeTypeOptions())("isClearable",!1),l(),h("ngModel",n.timeType()),l(12),h("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),l(),h("ngModel",n.usageStatistics())("ngModelOptions",H(44,le))}},dependencies:[te,J,ct,Y,ee,ne,gt,oe,D,K,at,rt,st,_t,dt,Q,q,ot,j,lt],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;position:sticky;top:0;background:var(--base-level-10);z-index:1000;border-bottom:1px solid var(--base-level-40)}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%]:first-of-type{border-top:0}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%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.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}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{Bt as debounceSignal,_e as default};
|
|
1
|
+
import{n as re}from"./chunk-ZDG2GAJR.js";import"./chunk-6DH6O5YE.js";import"./chunk-25P4YYJP.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import{a as Tt}from"./chunk-HTNYQE2B.js";import{a as ut}from"./chunk-IXM6PMZU.js";import{a as Z}from"./chunk-H4FB6PPA.js";import{a as St}from"./chunk-XJXOUOD5.js";import{a as gt}from"./chunk-NOO722WB.js";import{a as pt}from"./chunk-7L42EO7J.js";import"./chunk-6HM2RSLN.js";import"./chunk-Q2QM66LC.js";import"./chunk-OUUFQQAS.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as J,e as Y,h as ee,l as ct,s as te,t as ne}from"./chunk-T2OUHRUV.js";import"./chunk-6X3MMKNW.js";import{a as nt}from"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as dt,a as q,b as j,e as it,g as K,k as ot,l as Q,p as st,q as at,r as rt,t as lt,z as _t}from"./chunk-WX7L7V6J.js";import{h as v}from"./chunk-WAKYTFC3.js";import"./chunk-DE4NDI5F.js";import"./chunk-CKPICCFH.js";import"./chunk-PFYOWXZZ.js";import{$b as R,Ac as $,B as k,Bc as b,Cb as P,F as I,Gb as z,Hb as U,Ib as r,Jb as se,Kb as ae,Lb as Ze,Mb as S,Na as qe,Nb as p,Qa as l,Qb as Je,S as V,Xa as je,Y as T,Yb as Ye,Zb as et,a as Be,ab as L,ac as B,b as We,bc as W,c as He,da as m,ea as C,ec as y,fb as f,fc as G,gc as A,kb as Ke,kc as tt,lb as Qe,lc as H,n as w,nb as h,pb as N,sb as E,ua as c,wb as i,xb as o,yb as O}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var F=class s{#e=T(v);#t=Tt(this.#e.getApiV1Serversettings());#n=c(void 0);serverSettings=$(()=>this.#n()||this.#t());refreshServerSettings(){this.#e.getApiV1Serversettings().subscribe({next:e=>{this.#n.set(e)}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};var Et=["formRef"],ft=()=>[import("./chunk-JZCXYOBH.js").then(s=>s.OptionsListComponent)];function Nt(s,e){s&1&&(i(0,"spk-alert",3),r(1,1),o())}function Mt(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){m(t);let d=p();return G(d.settings,a)||(d.settings=a),C(a)}),o()}if(s&2){let t=p();y("options",t.settings),h("hasFreeTextSettings",!0)}}var ht=["Bytes","KB","MB","GB","TB","PB"],D=class s{#e=T(re);#t=T(F);#n=T(v);formRef=je.required("formRef");settings=this.#e.settings;isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(ht);lastRecievedServerSettings=c({});serverSettingsEffect=b(()=>{let e=this.#t.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],d)=>{if(n.startsWith("--")){let u=n.replace("--","");this.settings.update(g=>(g.some(M=>M.Name===u)||g.push({Name:u,Value:a}),g))}d===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(g=>g.Name),d=Object.keys(t).filter(g=>!n.includes(g.replace("--",""))),u=e.reduce((g,M)=>(g[`--${M.Name}`]=M.Value,g),{});d.forEach(g=>{u[g]=null}),this.#n.patchApiV1Serversettings({requestBody:u}).pipe(I(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#t.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Ye(n.formRef,Et,5),t&2&&et()},features:[tt([re])],decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["spk-button","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),f(1,Nt,2,0,"spk-alert",3),i(2,"button",4),S("click",function(){return n.submit()}),z(3,0),O(4,"spk-icon"),U(),o()(),f(5,Mt,1,2),Ke(6,5,ft)),t&2&&(l(),E(n.saved()?1:-1),l(),N("loader",n.isSubmitting()),l(4),Qe(!n.isLoadingOptions()))},dependencies:[ne,K,q,j],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var x=class s{#e=T(it);#t=T(v);#n=T(Z);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=$(()=>{let e=this.state();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"});sysInfoEffect=b(()=>{let e=this.#n.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#i(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#i(n)})}#o(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#i(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}deleteRemoteControl(){let e=this;this.#e.open(pt,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#i(n),error:n=>e.#o(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};function Ot(s,e){if(s&1){let t=P();i(0,"spk-form-field",10)(1,"input",11),A("ngModelChange",function(a){m(t);let d=p(2);return G(d.registerUrl,a)||(d.registerUrl=a),C(a)}),o()(),i(2,"button",12),S("click",function(){m(t);let a=p(2);return C(a.register())}),r(3,0),o()}if(s&2){let t=p(2);l(),y("ngModel",t.registerUrl)}}function Rt(s,e){if(s&1&&(i(0,"div",8)(1,"label"),r(2,1),o(),i(3,"a",13),R(4),o()()),s&2){let t=p(2);l(3),Je("href",t.claimUrl(),qe),l(),B(t.claimUrl())}}function It(s,e){s&1&&(i(0,"div",8)(1,"label"),r(2,2),o()())}function yt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.cancel())}),r(1,3),o()}}function Gt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.disable())}),r(1,4),o()}}function At(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.enable())}),r(1,5),o(),i(2,"button",14),S("click",function(){m(t);let a=p(2);return C(a.delete())}),r(3,6),o()}}function vt(s,e){if(s&1&&(i(0,"div",7),f(1,Ot,4,1)(2,Rt,5,2,"div",8)(3,It,3,0,"div",8)(4,yt,2,0,"button",9)(5,Gt,2,0,"button",9)(6,At,4,0),o()),s&2){let t=p();l(),E(t.state()==="inactive"?1:-1),l(),E(t.state()==="registered"?2:-1),l(),E(t.state()==="registering"?3:-1),l(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),l(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),l(),E(t.state()==="disabled"?6:-1)}}var oe=class s{#e=T(x);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let d;d=$localize`Disable remote control`;let u;u=$localize`Enable remote control`;let g;return g=$localize`Delete remote control setup`,[e,t,n,a,d,u,g,[1,"field-row"],[1,"field-col"],["type","button","spk-button","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","spk-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","spk-button","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","spk-button","",1,"raised","error",3,"click"]]},template:function(t,n){t&1&&f(0,vt,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[te,J,Y,ee,Q],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.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}"],changeDetection:0})};function Ct(...s){let e=c(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var le=()=>({standalone:!0});function $t(s,e){s&1&&(i(0,"spk-icon",69),R(1,"check"),o())}function bt(s,e){s&1&&(i(0,"spk-icon",70),R(1,"prohibit"),o())}function wt(s,e){if(s&1){let t=P();i(0,"button",74),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(1,34),o()}if(s&2){let t=p(2);N("loader",t.isUpdating())}}function kt(s,e){if(s&1){let t=P();i(0,"spk-tooltip",73)(1,"button",75),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(2,35),o()()}if(s&2){let t=p(2);l(),N("loader",t.isUpdating()),h("disabled",!0)}}function Lt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",65),r(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){m(t);let d=p();return G(d.passphrase,a)||(d.passphrase=a),C(a)}),o()(),i(4,"spk-form-field")(5,"label",67),r(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){m(t);let d=p();return G(d.repeatPassphrase,a)||(d.repeatPassphrase=a),C(a)}),o(),f(8,$t,2,0,"spk-icon",69)(9,bt,2,0,"spk-icon",70),o(),i(10,"div",48)(11,"button",71),S("click",function(){m(t);let a=p();return C(a.cancelPasswordChange())}),r(12,33),o(),f(13,wt,2,2,"button",72)(14,kt,3,3,"spk-tooltip",73),o()}if(s&2){let t=p();l(3),y("ngModel",t.passphrase),l(4),h("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),l(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),l(3),N("loader",t.isUpdating()),l(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function Ft(s,e){s&1&&(i(0,"spk-icon",76),R(1,"check"),o())}function xt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),S("click",function(){m(t);let a=p();return C(a.openPassphraseForm())}),r(2,36),o(),f(3,Ft,2,0,"spk-icon",76),o()}if(s&2){let t=p();l(3),E(t.passwordUpdated()?3:-1)}}function Dt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",77),r(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){m(t);let d=p();return G(d.allowedHostnames,a)||(d.allowedHostnames=a),C(a)}),o()(),i(4,"spk-alert",79),r(5,38),o(),i(6,"button",74),S("click",function(){m(t);let a=p();return C(a.updateAllowedHostnames())}),r(7,39),o()}if(s&2){let t=p();l(3),y("ngModel",t.allowedHostnames),l(3),N("loader",t.updatingAllowedHosts())}}function Xt(s,e){if(s&1&&R(0),s&2){let t,n=p();W(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Vt(s,e){s&1&&O(0,"spk-progress-bar",53)}function zt(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Ut(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Bt(s,e,t){let n=Ct(s),a=n[Be];t?.equal&&(a.equal=t.equal);let d;return n.set=u=>{clearTimeout(d),d=setTimeout(()=>We(a,u),e)},n.update=u=>{clearTimeout(d),d=setTimeout(()=>He(a,u),e)},n}var Wt=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Ht=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"none",label:$localize`None / disabled`}],_e=class s{#e=T(St);#t=T(Z);#n=T(v);#i=T(F);#o=T(x);#s=T(nt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#a;langCtrl=c(this.#a);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#o.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#n.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(I(()=>this.updatingChannel.set(!1)),k(()=>(this.updateChannel.set(t),w(null)))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(I(()=>this.updatingRemoteAccess.set(!1)),k(()=>(this.allowRemoteAccess.set(e),w(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(I(()=>this.updatingAllowedHosts.set(!1)),k(()=>(this.allowedHostnames.set(e),w(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#n.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(I(()=>this.updatingDisableTrayIconLogin.set(!1)),k(()=>(this.disableTrayIconLogin.set(e),w(null)))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(I(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(ut);usageStatisticsOptions=c(Ht);timeTypeOptions=c(Wt);timeType=c("s");timeValue=Bt(void 0,300);timeRange=$(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=b(()=>{let e=this.timeValue();this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.#i.serverSettings(),t=this.timeValue(),n=this.timeType(),a=`${t}${n}`;typeof t!="number"||a===""||e&&e["startup-delay"]===a||this.#n.patchApiV1Serversettings({requestBody:{"startup-delay":a==="0s"?"":a}}).subscribe()}updateTimeType(e){this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(I(()=>this.updatingUsageStatistics.set(!1)),k(()=>(this.usageStatistics.set(t),w(null)))).subscribe())}serverSettingsEffect=b(()=>{let e=this.#i.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),d=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(d.includes(n)?n:"s"),this.timeValue.set(parseInt(a==""?"0":a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-settings"]],decls:132,vars:45,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let d;d=$localize`Customize your application theme`;let u;u=$localize`Passwords`;let g;g=$localize`Change server passphrase`;let M;M=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let pe;pe=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let Se;Se=$localize`Allow remote access`;let ge;ge=$localize`Prevent tray icon automatic log-in`;let Te;Te=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let me;me=$localize`Update channel`;let Ce;Ce=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ee;Ee=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Stable`;let Ne;Ne=$localize`Official releases`;let Me;Me=$localize`Beta`;let he;he=$localize` 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. `;let Pe;Pe=$localize` Experimental `;let Oe;Oe=$localize`Specific builds for developers only. Not for use with important data.`;let Re;Re=$localize`Canary`;let Ie;Ie=$localize`Individual builds for developers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let Ge;Ge=$localize` 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. `;let Ae;Ae=$localize`Usage statistics`;let X;X=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: 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. `,X=Ze(X);let ve;ve=$localize`Advanced options`;let $e;$e=$localize`Enter new password`;let be;be=$localize`Repeat password`;let we;we=$localize`Password have to be filled and have to match`;let ke;ke=$localize`Passphrase`;let Le;Le=$localize`Repeat passphrase`;let Fe;Fe=$localize`Cancel`;let xe;xe=$localize` Update passphrase `;let De;De=$localize` Update passphrase `;let Xe;Xe=$localize`Change password`;let Ve;Ve=$localize`Allowed hostnames`;let ze;ze=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Ue;return Ue=$localize` Update allowed hostnames `,[e,t,n,a,d,u,g,M,de,ce,pe,Se,ge,Te,ue,me,Ce,Ee,fe,Ne,Me,he,Pe,Oe,Re,Ie,ye,Ge,Ae,X,ve,ke,Le,Fe,xe,De,Xe,Ve,ze,Ue,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[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","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"min","max","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",$e,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",be,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",we,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"],[1,"spk-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(O(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),r(5,0),o(),i(6,"p"),r(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),r(11,2),o(),i(12,"p"),R(13),o()(),i(14,"div",43),O(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),r(19,3),o(),i(20,"p"),r(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),S("click",function(){return n.setLightMode()}),o(),i(25,"img",46),S("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),r(29,5),o(),i(30,"p"),r(31,6),o()(),i(32,"div",47),f(33,Lt,15,7)(34,xt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),r(38,7),o(),i(39,"p"),r(40,8),o()(),i(41,"div",43)(42,"spk-select",49)(43,"input",50),S("ngModelChange",function(d){return n.updateLocale(d)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),r(47,9),o(),i(48,"p"),r(49,10),o()(),i(50,"div",51)(51,"spk-toggle",52),S("click",function(){return n.updateRemoteAccess()}),i(52,"label"),r(53,11),o()(),f(54,Dt,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),r(58,12),o(),i(59,"p"),r(60,13),o()(),i(61,"div",43)(62,"spk-toggle",52),S("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),r(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),r(68,15),o(),i(69,"p"),f(70,Xt,1,1),o(),f(71,Vt,1,0,"spk-progress-bar",53),o(),i(72,"div",54)(73,"div",55),S("click",function(){return n.setNewChannel("")}),i(74,"spk-radio",56),r(75,16),o(),i(76,"p"),r(77,17),o()(),i(78,"div",55),S("click",function(){return n.setNewChannel("stable")}),i(79,"spk-radio",56),r(80,18),o(),i(81,"p"),r(82,19),o()(),i(83,"div",55),S("click",function(){return n.setNewChannel("beta")}),i(84,"spk-radio",56),r(85,20),o(),i(86,"p"),r(87,21),o()(),i(88,"div",55),S("click",function(){return n.setNewChannel("experimental")}),i(89,"spk-radio",56),r(90,22),o(),i(91,"p"),r(92,23),o()(),i(93,"div",55),S("click",function(){return n.setNewChannel("canary")}),i(94,"spk-radio",56),r(95,24),o(),i(96,"p"),r(97,25),o()()()()(),O(98,"spk-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),r(103,26),o(),i(104,"p"),r(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"spk-range-slider",58),O(109,"input",59),o(),i(110,"spk-select",60)(111,"input",61),S("ngModelChange",function(d){return n.updateTimeType(d)}),o(),f(112,zt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),r(116,28),o(),i(117,"p"),z(118,29),O(119,"a",62)(120,"br")(121,"br"),U(),o()(),i(122,"div",43)(123,"spk-select",63)(124,"input",50),S("ngModelChange",function(d){return n.updateUsageStatistics(d)}),o(),f(125,Ut,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),r(130,30),o(),O(131,"app-advanced-options-settings"),o()()()),t&2){let a,d,u;l(13),B(n.remoteControlStatus()),l(11),N("active",!n.isDarkMode()),l(),N("active",n.isDarkMode()),l(8),E(n.showPassphraseForm()?33:34),l(9),h("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),h("ngModel",n.langCtrl())("ngModelOptions",H(42,le)),l(8),N("active",n.allowRemoteAccess()),l(3),E(n.allowRemoteAccess()?54:-1),l(8),N("active",n.disableTrayIconLogin()),l(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),l(),E(n.updatingChannel()?71:-1),l(3),N("active",n.updateChannel()===""),l(),se((d=n.sysinfo())==null?null:d.DefaultUpdateChannel),ae(75),l(2),se((u=n.sysinfo())==null?null:u.ServerVersionType),ae(77),l(2),N("active",n.updateChannel()==="stable"),l(5),N("active",n.updateChannel()==="beta"),l(5),N("active",n.updateChannel()==="experimental"),l(5),N("active",n.updateChannel()==="canary"),l(14),h("unit",n.timeType()),l(),h("min",n.timeRange()[0])("max",n.timeRange()[1])("ngModel",n.timeValue)("ngModelOptions",H(43,le)),l(),h("options",n.timeTypeOptions())("isClearable",!1),l(),h("ngModel",n.timeType()),l(12),h("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),l(),h("ngModel",n.usageStatistics())("ngModelOptions",H(44,le))}},dependencies:[te,J,ct,Y,ee,ne,gt,oe,D,K,at,rt,st,_t,dt,Q,q,ot,j,lt],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;position:sticky;top:0;background:var(--base-level-10);z-index:1000;border-bottom:1px solid var(--base-level-40)}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%]:first-of-type{border-top:0}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%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.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}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{Bt as debounceSignal,_e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-WQUCKXF2.js";import"./chunk-IJLA56JK.js";import"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";export{a as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as K}from"./chunk-HTNYQE2B.js";import{a as z,d as J,g as q}from"./chunk-WX7L7V6J.js";import{h as X}from"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import{$b as c,Bc as W,Cb as u,Gb as A,Hb as D,Ib as y,Mb as f,Na as E,Nb as S,Qa as l,Qb as w,Y as v,ab as h,ac as C,bc as I,cc as N,da as d,ea as _,ec as $,fb as k,fc as B,gc as V,hc as U,lc as G,nb as F,r as T,sb as M,tb as P,ua as m,ub as R,vb as x,wb as i,xb as a,yb as g}from"./chunk-W2F756OF.js";import{a as b,b as O}from"./chunk-7CGTOI24.js";var j=()=>({maxWidth:"700px",width:"100%"});function H(s,t){if(s&1&&(i(0,"a",9)(1,"spk-icon"),c(2,"link"),a()()),s&2){let e=S().$implicit;w("href",e.Url,E)}}function Q(s,t){if(s&1){let e=u();i(0,"div",2)(1,"h4"),c(2),k(3,H,3,1,"a",9),a(),i(4,"p"),c(5),g(6,"br"),i(7,"i"),c(8),a()(),i(9,"div",10)(10,"button",11),f("click",function(){let o=d(e).$implicit,r=S();return _(r.openLicense(o))}),A(11,1),g(12,"spk-icon"),D(),a()()()}if(s&2){let e=t.$implicit;l(2),N(" ",e.Title," - ",e.data==null?null:e.data.license," "),l(),M(e.Url?3:-1),l(2),I(" ",e.data==null?null:e.data.description," "),l(3),C(e.data==null?null:e.data.notes)}}var L=class s{#e=v(X);licenses=K(this.#e.getApiV1Licenses().pipe(T(t=>t.map(e=>O(b({},e),{data:e.Jsondata?JSON.parse(e.Jsondata):null})))));dialogIsOpen=m(!1);dialogLicense=m(null);#t=W(()=>{this.dialogLicense()&&this.dialogIsOpen.set(!0)});openLicense(t){this.dialogLicense.set(t)}closeLicense(){this.dialogIsOpen.set(!1),this.dialogLicense.set(null)}breakIntoLines(t){let e=t.split(`
|
|
2
|
+
`),n="";for(let o=0;o<e.length;o++)n+=`<li>${e[o]}</li>`;return n}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=h({type:s,selectors:[["app-libraries"]],decls:15,vars:5,consts:()=>{let t;t=$localize`Libraries`;let e;return e=$localize` Details ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-square-in${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[t,e,[1,"license"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],[1,"license-dialog"],["footer",""],["spk-button","","type","button",3,"click"],[3,"href"],[1,"actions"],["spk-button","",3,"click"]]},template:function(e,n){if(e&1){let o=u();i(0,"h3"),y(1,0),a(),R(2,Q,13,5,"div",2,P),i(4,"spk-dialog",3),V("isOpenChange",function(p){return d(o),B(n.dialogIsOpen,p)||(n.dialogIsOpen=p),_(p)}),i(5,"header",4)(6,"h3"),c(7),a()(),i(8,"div",5),U(9),i(10,"div",6),c(11),a()(),i(12,"footer",7)(13,"button",8),f("click",function(){return d(o),n.dialogLicense.set(null),_(n.dialogIsOpen.set(!1))}),c(14,"Close"),a()()()}if(e&2){let o,r;l(2),x(n.licenses()),l(2),$("isOpen",n.dialogIsOpen),F("options",G(4,j)),l(3),C((o=n.dialogLicense())==null?null:o.Title);let p=(r=(r=n.dialogLicense())==null?null:r.License)!==null&&r!==void 0?r:"";l(4),I(" ",p," ")}},dependencies:[z,q,J],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}h4[_ngcontent-%COMP%]{font:var(--paragraph-10)}a[_ngcontent-%COMP%]{text-decoration:none}.license[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.license[_ngcontent-%COMP%]:first-of-type{border-top:1px solid var(--base-level-40)}.license[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;align-items:center}.license-dialog[_ngcontent-%COMP%]{background-color:var(--base-level-10);color:var(--base-level-70);padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;max-height:31.25rem;white-space:pre;border:1px solid var(--base-level-40)}"],changeDetection:0})};export{L as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as d}from"./chunk-RHW5QVAY.js";import{a as p}from"./chunk-I3C2AEHI.js";import{
|
|
1
|
+
import{a as d}from"./chunk-RHW5QVAY.js";import{a as p}from"./chunk-I3C2AEHI.js";import{h as o}from"./chunk-WAKYTFC3.js";import{E as i,F as s,P as n,S as c,Y as u,ua as a}from"./chunk-W2F756OF.js";var B="backupListOrderBy",k="backupListShowActualTimes",y=[{value:"id",label:$localize`Backup ID`},{value:"name",label:$localize`Backup name`},{value:"lastrun",label:$localize`Last run time`},{value:"nextrun",label:$localize`Next run time`},{value:"schedule",label:$localize`Is scheduled`},{value:"backend",label:$localize`Destination type`},{value:"sourcesize",label:$localize`Source size`},{value:"destinationsize",label:$localize`Destination size`},{value:"duration",label:$localize`Duration`},{value:"-id",label:$localize`Backup ID (decending)`},{value:"-name",label:$localize`Backup name (decending)`},{value:"-lastrun",label:$localize`Last run time (decending)`},{value:"-nextrun",label:$localize`Next run time (decending)`},{value:"-schedule",label:$localize`Is scheduled (decending)`},{value:"-backend",label:$localize`Destination type (decending)`},{value:"-sourcesize",label:$localize`Source size (decending)`},{value:"-destinationsize",label:$localize`Destination size (decending)`},{value:"-duration",label:$localize`Duration (decending)`}],m=class l{#t=u(p);#i=u(o);#u=null;#e=a([]);#a=a([]);#s=a(!1);#l=a(null);#r=a(null);#c=a(this.#t.getItemParsed(k,!0)??"relative");#n=a(this.#t.getItemParsed(B,!0)??"id");orderByOptions=a(y);orderBy=this.#n.asReadonly();backups=this.#a.asReadonly();timeType=this.#c.asReadonly();backupsLoading=this.#s.asReadonly();startingBackup=this.#l.asReadonly();deletingBackup=this.#r.asReadonly();draftBackups=this.#e.asReadonly();addDraftBackup(e){let t=d();return this.#e.set([...this.#e(),{id:t,data:e}]),t}setOrderBy(e){this.#t.setItemParsed(B,e,!0),this.#n.set(e),this.getBackups(!0)}setTimeType(e){this.#t.setItemParsed(k,e,!0),this.#c.set(e)}removeDraftBackupById(e){this.#e.set(this.#e().filter(t=>t.id!==e))}getBackupById(e){return this.#a().find(t=>t.Backup?.ID===e)??null}getBackups(e=!1){let t=this.#u,r=Date.now(),h=t&&r-t<15*60*1e3;t&&r-t<100||!e&&h&&this.#a().length||(this.#u=r,this.#s.set(!0),this.#i.getApiV1Backups({orderBy:this.#n()}).pipe(i(1),n(b=>this.#a.set(b)),s(()=>this.#s.set(!1))).subscribe())}startBackup(e){this.#l.set(e),this.#i.postApiV1BackupByIdStart({id:e}).pipe(i(1),n(()=>this.getBackups(!0)),s(()=>this.#l.set(null))).subscribe()}deleteBackup(e){this.#r.set(e),this.#i.deleteApiV1BackupById({id:e}).pipe(i(1),s(()=>this.#r.set(null))).subscribe({next:()=>this.getBackups(!0)})}static \u0275fac=function(t){return new(t||l)};static \u0275prov=c({token:l,factory:l.\u0275fac,providedIn:"root"})};export{m as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as K}from"./chunk-
|
|
1
|
+
import{g as K}from"./chunk-IDYYAKHE.js";import{a as H}from"./chunk-WQUCKXF2.js";import"./chunk-IJLA56JK.js";import"./chunk-25P4YYJP.js";import"./chunk-VN7JM6M3.js";import"./chunk-HTNYQE2B.js";import"./chunk-H4FB6PPA.js";import{a as j}from"./chunk-VPCHNJ7X.js";import"./chunk-45WMLGXH.js";import"./chunk-7L42EO7J.js";import{a as B}from"./chunk-6HM2RSLN.js";import"./chunk-Q2QM66LC.js";import"./chunk-OUUFQQAS.js";import"./chunk-RHW5QVAY.js";import{a as b}from"./chunk-O2YN63YI.js";import"./chunk-T2OUHRUV.js";import"./chunk-6X3MMKNW.js";import"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as w,h as W,p as X,s as z}from"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import{l as v}from"./chunk-CKPICCFH.js";import{$b as C,Ab as P,Ac as M,Bc as I,Gb as L,Hb as A,Ib as _,Jb as D,Kb as x,Nb as u,Qa as l,Y as T,ab as y,cc as f,fa as $,fb as g,ga as G,nb as O,pc as R,qc as E,sb as d,ua as h,wb as i,xb as s,yb as p,zb as m}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function V(n,e){n&1&&(i(0,"spk-card",8),m(1,14),_(2,2),P(),i(3,"div",15),$(),i(4,"svg",16),p(5,"circle",17),s(),G(),i(6,"spk-icon"),C(7,"check-bold"),s()()())}function Z(n,e){if(n&1&&(C(0),R(1,"number"),R(2,"number")),n&2){let t,o=u(2);f(" ",E(1,2,(t=o.statusData())==null?null:t.ProcessedFileCount)," of ",E(2,4,(t=o.statusData())==null?null:t.TotalFileCount)," ")}}function q(n,e){n&1&&(m(0),_(1,6),P())}function J(n,e){if(n&1&&(C(0),R(1,"bytes"),R(2,"bytes")),n&2){let t,o=u(2);f(" ",E(1,2,(t=o.statusData())==null?null:t.ProcessedFileSize)," of ",E(2,4,(t=o.statusData())==null?null:t.TotalFileSize)," ")}}function Q(n,e){n&1&&(m(0),_(1,7),P())}function U(n,e){if(n&1&&(i(0,"spk-card",8)(1,"h3"),L(2,3),p(3,"spk-spinner",18),A(),s(),i(4,"div",19),p(5,"spk-progress-bar",20),i(6,"p")(7,"span"),_(8,4),s(),g(9,Z,3,6)(10,q,2,0,"ng-container"),s(),i(11,"p")(12,"span"),_(13,5),s(),g(14,J,3,6)(15,Q,2,0,"ng-container"),s()()()),n&2){let t,o,r,a,c=u();l(3),D((t=c.statusData())==null?null:t.statusText),x(2),l(2),O("value",(o=c.statusData())==null?null:o.OverallProgress),l(4),d((r=c.statusData())!=null&&r.ProcessedFileCount?9:10),l(5),d((a=c.statusData())!=null&&a.ProcessedFileSize?14:15)}}var F=class n{#e=T(B);#t=T(K);statusData=this.#e.statusData;backupId=this.#t.backupId;isPolling=h(!0);taskId=M(()=>this.#e.statusData()?.TaskID?.toString()??void 0);lastRestoreStarted=M(()=>{let e=this.#e.statusData()?.backup?.Backup?.Metadata?.LastRestoreStarted??null;return e?this.fixDate(e):null});completedEffect=I(()=>{this.statusData()?.task?.Status==="Completed"&&this.isPolling.set(!1)});notificationFilterPredicate=()=>{let e=this.lastRestoreStarted();return{predicate:t=>(t.BackupID===this.#t.backupId()&&e&&e.getTime()<=new Date(t.Timestamp).getTime())??!1}};ngOnInit(){this.#e.fetchProgressState(),this.#e.startPollingProgress()}fixDate(e){return new Date(`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)}T${e.slice(9,11)}:${e.slice(11,13)}:${e.slice(13,15)}Z`)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=y({type:n,selectors:[["app-restore-progress"]],decls:12,vars:6,consts:()=>{let e;e=$localize`Notifications`;let t;t=$localize`Logs`;let o;o=$localize`Restore completed`;let r;r=$localize` Restore progress: ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#3\uFFFD"}:START_TAG_SPK_SPINNER:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SPK_SPINNER:`;let a;a=$localize`Files processed:`;let c;c=$localize`Size processed:`;let N;N=$localize`N/A`;let k;return k=$localize`N/A`,[e,t,o,r,a,c,N,k,[1,"progress","type-a"],[1,"notifications","type-a"],[1,"notification-list"],[3,"notificationFilterPredicate"],[1,"logs","type-a"],[3,"asSimpleList","polling","whenFilter","backupIdFilter"],["title",""],[1,"complete-check"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"primary"],[1,"progress-content"],[3,"value"]]},template:function(t,o){if(t&1&&(i(0,"section"),g(1,V,8,0,"spk-card",8)(2,U,16,4,"spk-card",8),i(3,"spk-card",9)(4,"h3"),_(5,0),s(),i(6,"div",10),p(7,"app-notifications",11),s()(),i(8,"spk-card",12)(9,"h3"),_(10,1),s(),p(11,"app-logs-live",13),s()()),t&2){let r,a;l(),d(((r=o.statusData())==null||r.task==null?null:r.task.Status)==="Completed"?1:2),l(6),O("notificationFilterPredicate",o.notificationFilterPredicate()),l(4),O("asSimpleList",!0)("polling",o.isPolling())("whenFilter",(a=o.lastRestoreStarted())==null?null:a.getTime())("backupIdFilter",o.backupId())}},dependencies:[H,X,z,w,W,j,b,v],styles:['[_nghost-%COMP%]{display:block;padding:0 1.25rem}section[_ngcontent-%COMP%]{display:grid;gap:1.25rem;grid-template-columns:2fr 1fr;grid-template-areas:"progress notifications" "logs logs"}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:1rem}section[_ngcontent-%COMP%] .progress[_ngcontent-%COMP%]{grid-area:progress}section[_ngcontent-%COMP%] .progress[_ngcontent-%COMP%]:has(.complete-check){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem}section[_ngcontent-%COMP%] .progress[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}section[_ngcontent-%COMP%] .progress[_ngcontent-%COMP%] spk-spinner[_ngcontent-%COMP%]{--spinner-size: 1.25rem;--spinner-thickness: .1875rem}section[_ngcontent-%COMP%] .notifications[_ngcontent-%COMP%]{grid-area:notifications}section[_ngcontent-%COMP%] .logs[_ngcontent-%COMP%]{grid-area:logs}section[_ngcontent-%COMP%] .logs[_ngcontent-%COMP%] app-logs-live[_ngcontent-%COMP%]{max-height:50rem;overflow:auto}.notification-list[_ngcontent-%COMP%]{max-height:15rem;overflow:auto}.complete-check[_ngcontent-%COMP%]{position:relative;width:100px;height:100px;display:flex;justify-content:center;align-items:center;color:var(--success-500)}.complete-check[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:2.5rem;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.border-svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--success-500);stroke-width:5px;stroke-dasharray:282.74;stroke-dashoffset:282.74;animation:_ngcontent-%COMP%_draw-border 1.2s linear forwards}@keyframes _ngcontent-%COMP%_draw-border{to{stroke-dashoffset:0}}@keyframes _ngcontent-%COMP%_reveal-icon{to{opacity:1}}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.progress-content[_ngcontent-%COMP%] spk-progress-bar[_ngcontent-%COMP%]{margin-bottom:.75rem}.progress-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-right:.25rem}'],changeDetection:0})};export{F as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as D}from"./chunk-H4FB6PPA.js";import{a as b,n as w}from"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import{i as A}from"./chunk-CKPICCFH.js";import{$b as p,Ac as $,Bb as u,Cb as v,Ib as P,Mb as k,Nb as s,Qa as l,Y as y,_b as C,ab as T,ac as E,da as O,ea as x,fb as a,mc as _,nb as d,nc as N,ob as h,pb as f,sb as g,sc as F,ua as m,ub as I,vb as M,wb as c,xb as r}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var L=e=>({children:e,level:0}),R=e=>({$implicit:e}),V=(e,t)=>({children:e,level:t}),j=(e,t)=>t.id;function z(e,t){if(e&1&&(c(0,"spk-icon"),p(1,"caret-down"),r()),e&2){let n=s().$implicit;f("open",n.isOpen())}}function B(e,t){e&1&&(c(0,"spk-icon"),p(1,"dot"),r())}function G(e,t){e&1&&u(0)}function U(e,t){if(e&1&&a(0,G,1,0,"ng-container",3),e&2){let n=s().$implicit,o=s().$implicit;s();let i=C(3);d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(5,R,N(2,V,n.children,o.level+1)))}}function X(e,t){if(e&1){let n=v();c(0,"div",4,1),k("click",function(){let i=O(n).$implicit,Y=s(2);return x(i.children.length>0&&Y.toggleNode(i))}),a(2,z,2,2,"spk-icon",5)(3,B,2,0,"spk-icon"),c(4,"div",6),p(5),r()(),a(6,U,1,7,"ng-container")}if(e&2){let n=t.$implicit;f("cannot-toggle",n.children.length===0)("open",n.isOpen()),l(2),g(n.children.length>0?2:3),l(3),E(n.text),l(),g(n.isOpen()?6:-1)}}function q(e,t){if(e&1&&(c(0,"spk-list"),I(1,X,7,7,null,null,j),r()),e&2){let n=t.$implicit;h("padding-left",n.level*.25,"rem"),l(),M(n.children)}}function H(e,t){e&1&&u(0)}var S=class e{#e=y(D);treeStructure=$(()=>{let t=this.#e.systemInfo();return this.processObject(t,0)});toggleNode(t){t.isOpen.update(n=>!n)}processObject(t,n){let o=[];for(let i in t)typeof t[i]=="object"?o.push({id:i,text:i,children:this.processObject(t[i],n+1),level:n,isOpen:m(!1)}):o.push({id:i,text:`${i}: ${t[i]}`,children:[],level:n,isOpen:m(!1)});return o}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=T({type:e,selectors:[["app-system-info"]],decls:5,vars:6,consts:()=>{let t;return t=$localize`System info`,[["recursiveTree",""],["treeNode",""],t,[4,"ngTemplateOutlet","ngTemplateOutletContext"],["action","",3,"click"],[3,"open"],[1,"text"]]},template:function(n,o){if(n&1&&(c(0,"h3"),P(1,2),r(),a(2,q,3,2,"ng-template",null,0,F)(4,H,1,0,"ng-container",3)),n&2){let i=C(3);l(4),d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(4,R,_(2,L,o.treeStructure())))}},dependencies:[w,b,A],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-icon[_ngcontent-%COMP%]{font-size:1rem}spk-list[_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action].cannot-toggle[_ngcontent-%COMP%]{cursor:initial}"],changeDetection:0})};export{S as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as P,c as A}from"./chunk-6X3MMKNW.js";import{e as d}from"./chunk-WX7L7V6J.js";import{h as k}from"./chunk-WAKYTFC3.js";import{l as M}from"./chunk-CKPICCFH.js";import{Ac as g,Bc as b,Gb as v,Hb as E,Ib as N,Jb as I,Kb as F,O as C,Qa as T,S as c,Y as s,ab as O,i as S,pc as w,rc as y,ua as n,wb as m,xb as f,yb as _}from"./chunk-W2F756OF.js";var r=class o{reconnectTimer=n(15e3);countdown=n(0);connectTimerEffect=b(()=>{let t=this.reconnectTimer();this.countdown.set(t/1e3)});interval=setInterval(()=>{if(this.countdown()<=1){this.countdown.set(this.reconnectTimer()/1e3);return}this.countdown.set(this.countdown()-1)},1e3);ngOnDestroy(){clearInterval(this.interval)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=O({type:o,selectors:[["app-disconnected-dialog"]],decls:8,vars:4,consts:()=>{let t;t=$localize`Reconnecting...`;let e;return e=$localize` The connection to the server is lost, attempting again in ${"\uFFFD#6\uFFFD"}:START_TAG_STRONG:0:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_STRONG:`,[t,e,["header",""],["content",""]]},template:function(e,i){e&1&&(m(0,"header",2)(1,"h3"),N(2,0),f()(),m(3,"div",3)(4,"p"),v(5,1),_(6,"strong"),w(7,"number"),E(),f()()),e&2&&(T(7),I(y(7,1,i.countdown(),"2.0-0")),F(5))},dependencies:[M],styles:["[_nghost-%COMP%]{display:block;padding:1rem}"],changeDetection:0})};var h=class o{dialog=s(d);#o=s(k);#t=n("disconnected");#e=n(null);#s=n(-1);#n=n(0);#i=n(!1);#c=new S;connectionStatus=this.#t.asReadonly();serverState=this.#e.asReadonly();#r=void 0;duration=s(P).relayIsEnabled()?"94s":"299s";start(){this.#i.set(!0),this.#c=new S,this.#a()}stop(){this.#c.next(),this.#c.complete(),this.#i.set(!1)}reconnect(){this.stop(),this.start()}reconnectIfNeeded(){console.log("reconnectIfNeeded"),!this.#i()&&this.reconnect()}#a(){this.#t.set("connecting"),this.#o.getApiV1Serverstate({lastEventId:this.#s(),longpoll:this.#s()>0,duration:this.duration}).pipe(C(this.#c)).subscribe({next:t=>{t&&this.#l(t),this.#d()},error:t=>{let i=this.#n()+1,l=Math.min(5e3*i,3e4);this.#n.set(i),i>3&&this.#t.set("disconnected"),this.#r||(this.#r=this.dialog.open(r,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1})),this.#r.component.reconnectTimer.set(l),setTimeout(()=>{this.#a()},l)}})}#l(t){this.#t.set("connected"),this.#e.set(t),this.#s.set(t.LastEventID||-1),this.#n.set(0)}#d(){this.#i()&&this.#a()}static \u0275fac=function(e){return new(e||o)};static \u0275prov=c({token:o,factory:o.\u0275fac,providedIn:"root"})};var p=class o{#o=s(A);dialog=s(d);#t=null;#e=n("disconnected");#s=n(null);#n=void 0;shouldConnect=n(!0);connectionStatus=this.#e.asReadonly();serverState=this.#s.asReadonly();start(){this.#i(),this.shouldConnect.set(!0)}#i(){let t=this.#o.token();if(!t){console.error("No access token available");return}let e=window.location.protocol==="https:"?"wss:":"ws:",i=window.location.port?`:${window.location.port}`:"";window.location.port==="4200"&&(i=":8200");let l=window.location.hostname,$=`${e}//${l}${i}/notifications?token=${t}`;this.#e.set("connecting"),this.#t=new WebSocket($),this.#t.onopen=()=>{console.log("WebSocket connection established"),this.#e.set("connected"),this.#n&&this.#n.close()},this.#t.onmessage=a=>{try{let u=JSON.parse(a.data);this.#s.set(u)}catch(u){console.error("Error parsing WebSocket message",u)}},this.#t.onclose=a=>{console.log("WebSocket connection closed",a),this.#e.set("disconnected"),this.shouldConnect()&&(this.#n||(this.#n=this.dialog.open(r,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1}),this.#n.component.reconnectTimer.set(15e3)),setTimeout(()=>this.#i(),5e3))},this.#t.onerror=a=>{console.error("WebSocket error",a),this.#e.set("disconnected")}}stop(){this.shouldConnect.set(!1),this.#t?.close()}reconnect(){this.#t?.close(),this.start()}reconnectIfNeeded(){this.#t?.readyState!==WebSocket.OPEN&&this.reconnect()}static \u0275fac=function(e){return new(e||o)};static \u0275prov=c({token:o,factory:o.\u0275fac,providedIn:"root"})};var R=class o{#o=s(p);#t=s(h);#e=n("longpoll");connectionStatus=g(()=>this.#e()==="websocket"?this.#o.connectionStatus():this.#t.connectionStatus());serverState=g(()=>this.#e()==="websocket"?this.#o.serverState():this.#t.serverState());setConnectionMethod(t){t==="websocket"?(this.#o.reconnectIfNeeded(),this.#t.stop()):(this.#t.reconnectIfNeeded(),this.#o.stop()),this.#e.set(t)}getConnectionMethod(){return this.#e()}static \u0275fac=function(e){return new(e||o)};static \u0275prov=c({token:o,factory:o.\u0275fac,providedIn:"root"})};export{R as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ae}from"./chunk-HTNYQE2B.js";import{a as te}from"./chunk-
|
|
1
|
+
import{a as ae}from"./chunk-HTNYQE2B.js";import{a as te}from"./chunk-NOO722WB.js";import"./chunk-6HM2RSLN.js";import"./chunk-Q2QM66LC.js";import{a as Q}from"./chunk-OUUFQQAS.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as Y,e as Z,h as x,s as ee}from"./chunk-T2OUHRUV.js";import"./chunk-6X3MMKNW.js";import"./chunk-I3C2AEHI.js";import{b as z,e as q}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as W,g as j,l as J}from"./chunk-WX7L7V6J.js";import{h as H}from"./chunk-WAKYTFC3.js";import"./chunk-DE4NDI5F.js";import"./chunk-CKPICCFH.js";import"./chunk-PFYOWXZZ.js";import{$b as C,Ac as k,Bc as h,E as g,F as u,Gb as p,Hb as r,Ib as F,Jb as L,Kb as U,Mb as A,N as E,Qa as s,Y as P,ab as y,ec as w,fb as v,fc as X,gc as V,nb as d,pb as D,r as O,rb as G,sb as K,ua as c,wb as i,xb as a,yb as l}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function ie(S,t){S&1&&(i(0,"spk-icon",19),C(1,"check"),a())}function ne(S,t){S&1&&(i(0,"spk-icon",19),C(1,"warning"),a())}var m=class S{#a=P(z);#i=P(Q);#e=P(H);#t="";backupId=ae(this.#a.params.pipe(O(t=>t.id)));activeBackup=k(()=>{let t=this.#i.backups().find(_=>_.Backup?.ID===this.backupId());return this.#t=t?.Backup?.DBPath??"",t});backupFilePath=c("");lastValidatedPath=c("");isValidatedPath=k(()=>this.lastValidatedPath()===this.backupFilePath());pathHasChanged=k(()=>this.backupFilePath()!==this.#t);backupFilePathEffect=h(()=>{let t=this.backupFilePath();t!==""&&this.#e.postApiV1FilesystemValidate({requestBody:{path:t}}).subscribe({next:()=>this.lastValidatedPath.set(t)})});isRestoring=c(!1);isRepairing=c(!1);isDeleting=c(!1);isSavingDbPath=c(!1);isSavingAndRepairing=c(!1);isMovingDb=c(!1);activeBackupEffect=h(()=>{let t=this.activeBackup();if(!t)return;let _=t.Backup?.DBPath??"";this.backupFilePath.set(_)});repairDatabase(){this.isRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),u(()=>this.isRepairing.set(!1))).subscribe()}deleteDatabase(){this.isDeleting.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),u(()=>this.isDeleting.set(!1))).subscribe()}restoreDatabase(){this.isRestoring.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),E(()=>this.#e.postApiV1BackupByIdRepair({id:this.backupId()})),u(()=>this.isRestoring.set(!1))).subscribe()}resetDatabasePath(){this.backupFilePath.set(this.#t)}saveDatabasePath(){this.isSavingDbPath.set(!0),this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(u(()=>this.isSavingDbPath.set(!1))).subscribe()}saveAndRepairDatabasePath(){this.isSavingAndRepairing.set(!0),this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(E(()=>this.#e.postApiV1BackupByIdRepair({id:this.backupId()})),u(()=>this.isSavingAndRepairing.set(!1)))}moveDatabasePath(){this.isMovingDb.set(!0),this.#e.postApiV1BackupByIdMovedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(u(()=>this.isMovingDb.set(!1))).subscribe()}static \u0275fac=function(_){return new(_||S)};static \u0275cmp=y({type:S,selectors:[["app-database"]],decls:46,vars:17,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let _;_=$localize`Local database for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. This makes it faster to perform many operations, and reduces the amount of data that needs to be downloaded for each operation. `;let n;n=$localize`Maintenance`;let T;T=$localize` If the backup and the remote storage is out of sync, Duplicati will require that you perform a repair operation to synchronize the database. If the repair is unsuccessful, you can delete the local database and re-generate. `;let b;b=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Repair `;let f;f=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:trash${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let B;B=$localize`${"\uFFFD#25\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#25\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore (delete and repair) `;let I;I=$localize`Placement`;let M;M=$localize`${"\uFFFD#36\uFFFD"}:START_TAG_SPK_ICON:backspace${"\uFFFD/#36\uFFFD"}:CLOSE_TAG_SPK_ICON: Reset `;let N;N=$localize`${"\uFFFD#39\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#39\uFFFD"}:CLOSE_TAG_SPK_ICON: Save `;let $;$=$localize`${"\uFFFD#42\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#42\uFFFD"}:CLOSE_TAG_SPK_ICON: Save & Repair `;let R;return R=$localize`${"\uFFFD#45\uFFFD"}:START_TAG_SPK_ICON:flow-arrow${"\uFFFD/#45\uFFFD"}:CLOSE_TAG_SPK_ICON: Move existing database `,[t,_,e,n,T,b,f,B,I,M,N,$,R,[1,"back"],["type","button","spk-button","","routerLink","/",1,"small"],[1,"actions","maintenance"],["spk-button","",3,"click","disabled"],["spk-button","",3,"click"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[1,"actions","placement"]]},template:function(_,e){if(_&1&&(l(0,"app-status-bar"),i(1,"section")(2,"div",13)(3,"button",14),p(4,0),l(5,"spk-icon"),r(),a()(),i(6,"article")(7,"h1"),F(8,1),a(),i(9,"p"),F(10,2),a()(),i(11,"article")(12,"h2"),F(13,3),a(),i(14,"p"),F(15,4),a(),i(16,"div",15)(17,"button",16),A("click",function(){return e.repairDatabase()}),p(18,5),l(19,"spk-icon"),r(),a(),i(20,"button",16),A("click",function(){return e.deleteDatabase()}),p(21,6),l(22,"spk-icon"),r(),a(),i(23,"button",17),A("click",function(){return e.restoreDatabase()}),p(24,7),l(25,"spk-icon"),r(),a()()(),i(26,"article")(27,"h2"),F(28,8),a(),i(29,"spk-form-field")(30,"input",18),V("ngModelChange",function(T){return X(e.backupFilePath,T)||(e.backupFilePath=T),T}),a(),v(31,ie,2,0,"spk-icon",19)(32,ne,2,0,"spk-icon",19),a(),i(33,"div",20)(34,"button",16),A("click",function(){return e.resetDatabasePath()}),p(35,9),l(36,"spk-icon"),r(),a(),i(37,"button",16),A("click",function(){return e.saveDatabasePath()}),p(38,10),l(39,"spk-icon"),r(),a(),i(40,"button",16),A("click",function(){return e.saveAndRepairDatabasePath()}),p(41,11),l(42,"spk-icon"),r(),a(),i(43,"button",16),A("click",function(){return e.moveDatabasePath()}),p(44,12),l(45,"spk-icon"),r(),a()()()()),_&2){let n;s(8),L((n=e.activeBackup())==null||n.Backup==null?null:n.Backup.Name),U(8),s(9),D("loader",e.isRepairing()),d("disabled",!e.isValidatedPath()),s(3),D("loader",e.isDeleting()),d("disabled",!e.isValidatedPath()),s(3),D("loader",e.isRestoring()),s(6),G(e.isValidatedPath()?"success":"error"),s(),w("ngModel",e.backupFilePath),s(),K(e.isValidatedPath()?31:32),s(3),d("disabled",!(e.isValidatedPath()&&e.pathHasChanged())),s(3),d("disabled",!(e.isValidatedPath()&&e.pathHasChanged())),s(3),d("disabled",!(e.isValidatedPath()&&e.pathHasChanged())),s(3),d("disabled",!(e.isValidatedPath()&&e.pathHasChanged()))}},dependencies:[ee,Y,Z,x,te,j,J,W,q],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem}article[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}h1[_ngcontent-%COMP%]{font:var(--title-20)}h2[_ngcontent-%COMP%]{font:var(--title-30)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as M}from"./chunk-6X3MMKNW.js";import"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{g as h}from"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import{$b as O,Ib as l,Ob as C,Pb as c,Qa as u,Y as m,ab as s,fb as _,sb as f,wb as t,xb as i,yb as g}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var v=["*",[["","footer",""]]],T=["*","[footer]"],r=class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=s({type:n,selectors:[["app-custom-card"]],ngContentSelectors:T,decls:11,vars:0,consts:[[1,"card"],["src","/assets/noise/auth-noise.svg",1,"noise"],[1,"header-title"],["src","/assets/duplicati/duplicati.svg","alt",""],[1,"bg"]],template:function(e,a){e&1&&(C(v),t(0,"div",0),g(1,"img",1),t(2,"header")(3,"div",2),g(4,"img",3),O(5," Duplicati "),i()(),t(6,"main"),c(7),t(8,"footer"),c(9,1),i()()(),g(10,"div",4))},styles:['[_nghost-%COMP%]{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--base-level-20)}body.dark [_nghost-%COMP%] .card[_ngcontent-%COMP%]:before{background:radial-gradient(rgba(var(--primary-rgb-900),1),#0000 60%)}.card[_ngcontent-%COMP%]{max-width:480px;width:100%;position:relative;z-index:100;background-color:var(--base-level-10);border-radius:var(--shape-5);box-shadow:var(--box-shadow-40);border:1px solid var(--base-level-30);overflow:hidden}.card[_ngcontent-%COMP%]:before{content:"";position:absolute;height:480px;transform:translateY(-285px);left:0;right:0;z-index:-2;background:radial-gradient(rgba(var(--primary-rgb-100),1),#0000 60%)}.card[_ngcontent-%COMP%] img.noise[_ngcontent-%COMP%]{position:absolute;height:480px;width:100%;transform:translateY(-285px);left:0;right:0;z-index:-1;mask-image:radial-gradient(#000,#0000 60%)}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:2rem 2rem 0;gap:12px;position:relative;z-index:10}.header-title[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;gap:10px}.header-title[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:28px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}main[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:2.5rem;position:relative;z-index:10}main[_ngcontent-%COMP%] footer[_ngcontent-%COMP%]{font:var(--paragraph-40);color:var(--base-level-60R);text-align:center;text-wrap:balance}.bg[_ngcontent-%COMP%]{position:fixed;inset:0;width:100vw;height:100vh;background-image:url(/assets/backgrounds/base-bg.svg);background-size:cover;background-position:center;background-repeat:no-repeat}body.dark[_ngcontent-%COMP%] .bg[_ngcontent-%COMP%]{opacity:1}footer[_ngcontent-%COMP%]:empty{display:none}'],changeDetection:0})};function x(n,o){n&1&&(t(0,"h3"),l(1,0),i())}function y(n,o){n&1&&(t(0,"h3"),l(1,1),i(),t(2,"button",3),l(3,2),i())}var d=class n{#e=m(M);isLoggingOut=this.#e.isLoggingOut;ngOnInit(){this.#e.logout()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=s({type:n,selectors:[["app-logout"]],decls:3,vars:1,consts:()=>{let o;o=$localize`Logging out...`;let e;e=$localize`You have successfully logged out your being redirected to login page.`;let a;return a=$localize`Go to login page`,[o,e,a,["spk-button","","routerLink","/",1,"raised","primary"]]},template:function(e,a){e&1&&(t(0,"app-custom-card"),_(1,x,2,0,"h3")(2,y,4,0),i()),e&2&&(u(),f(a.isLoggingOut()?1:2))},dependencies:[r,h],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};export{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as le,b as pe}from"./chunk-6DH6O5YE.js";import{a as re}from"./chunk-DAPUSIR2.js";import{a as Y}from"./chunk-SAVY3OEX.js";import{b as Z,c as ee,e as te,h as ie,j as ne,s as oe}from"./chunk-T2OUHRUV.js";import{A as Q,a as K,g as U,l as W,o as X,t as j,y as H,z as J}from"./chunk-WX7L7V6J.js";import{$b as m,Ab as k,Ac as R,Cb as x,Gb as $,Hb as P,Ib as q,Mb as f,Nb as s,Qa as l,Sb as g,Y as B,Za as G,_b as E,ab as z,ac as L,bc as F,da as d,ea as u,ec as v,fb as C,fc as D,gc as b,nb as _,ra as I,sb as S,sc as A,tb as V,ua as h,ub as O,vb as y,wb as p,xb as a,yb as M,zb as N}from"./chunk-W2F756OF.js";import{a as T,b as w}from"./chunk-7CGTOI24.js";function se(n,o){if(n&1){let e=x();p(0,"button",14),f("click",function(){d(e);let t=s();return u(t.addFreeTextSetting())}),$(1,5),M(2,"spk-icon"),P(),a()}}function me(n,o){if(n&1){let e=x();p(0,"button",16,0),f("click",function(){let t=d(e).$implicit,r=s(2);return u(r.addSetting(t))}),m(2),a()}if(n&2){let e=o.$implicit;l(2),L(e.name)}}function _e(n,o){if(n&1&&(p(0,"h3",7),m(1),a(),O(2,me,3,1,"button",15,V)),n&2){let e=o.$implicit;l(),L(e.displayName),l(),y(e.options)}}function ce(n,o){n&1&&(p(0,"div",12),m(1,"Add a setting above to get started."),a())}function de(n,o){if(n&1){let e=x();p(0,"div",17)(1,"label"),m(2),a(),p(3,"div",23)(4,"spk-form-field")(5,"input",24),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateFreeTextSettingName(r,t))}),a(),p(6,"spk-icon",25),m(7,"rectangle-dashed"),a()(),p(8,"spk-form-field")(9,"input",24),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(10,"spk-icon",25),m(11,"textbox"),a()()()()}if(n&2){let e=s().$implicit;l(2),F(" ",e.FormView.shortDescription," "),l(3),_("ngModel",e.Name),l(4),_("ngModel",e.Value())}}function ue(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ge(n,o){if(n&1){let e=x();p(0,"app-file-tree",18)(1,"label",26),m(2),C(3,ue,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;_("startingPath",i.Value())("accepts",i.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Ce(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function xe(n,o){if(n&1){let e=x();p(0,"app-file-tree",19)(1,"label",26),m(2),C(3,Ce,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;_("startingPath",i.Value()),l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function fe(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Se(n,o){n&1&&(p(0,"spk-icon",25),m(1,"link"),a())}function Fe(n,o){n&1&&(p(0,"spk-icon",25),m(1,"textbox"),a())}function Te(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),C(3,fe,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),C(5,Se,2,0,"spk-icon",25)(6,Fe,2,0,"spk-icon",25),a()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value()),l(),S(i.FormView.type==="Path"?5:6)}}function we(n,o){if(n&1){let e=x();p(0,"spk-icon",31),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),m(1," eye "),a()}}function Ve(n,o){if(n&1){let e=x();p(0,"spk-icon",31),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),m(1," eye-slash "),a()}}function Oe(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),a(),p(3,"input",29),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(4,"spk-icon",25),m(5,"password"),a(),C(6,we,2,0,"spk-icon",30)(7,Ve,2,0,"spk-icon",30),a()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),g("id","destination-",i.Name,"-",t,""),_("type",i.showPassword?"text":"password")("ngModel",i.Value()),l(3),S(i.showPassword?6:7)}}function ye(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ke(n,o){if(n&1&&m(0),n&2){let e=o.$implicit;F(" ",e," ")}}function Ie(n,o){if(n&1){let e=x();p(0,"spk-select",32)(1,"label",26),m(2),C(3,ye,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()(),C(5,ke,1,1,"ng-template",null,1,A)}if(n&2){let e=E(6),i=s(),t=i.$implicit,r=i.$index;_("options",t.FormView.options)("isClearable",!1)("optionTemplate",e),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",t.FormView.shortDescription," "),l(),S(t.FormView.longDescription?3:-1),l(),g("id","destination-",t.Name,"-",r,""),_("ngModel",t.Value())}}function he(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Me(n,o){if(n&1){let e=x();p(0,"app-size",33),b("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),p(1,"label",26),m(2),C(3,he,3,1,"spk-tooltip",27),a()()}if(n&2){let e,i=s(),t=i.$implicit,r=i.$index;_("inputType",t.Name),v("ngModel",t.Value),_("customId","destination-{{ item.Name }}-{{ $index }}"),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",(e=t.FormView.shortDescription)!==null&&e!==void 0?e:t.FormView.name," "),l(),S(t.FormView.longDescription?3:-1)}}function Ne(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function $e(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),C(3,Ne,3,1,"spk-tooltip",27),a(),p(4,"input",34),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(5,"spk-icon",25),m(6,"numpad"),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Pe(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Ee(n,o){if(n&1){let e=x();p(0,"spk-toggle",21)(1,"label",26),m(2),C(3,Pe,3,1,"spk-tooltip",27),a(),p(4,"input",35),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Le(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ve(n,o){if(n&1&&m(0),n&2){let e=o.$implicit;F(" ",e," ")}}function De(n,o){if(n&1){let e=x();p(0,"spk-select",36)(1,"label",26),m(2),C(3,Le,3,1,"spk-tooltip",27),a(),p(4,"input",37),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()(),C(5,ve,1,1,"ng-template",null,2,A)}if(n&2){let e=E(6),i=s(),t=i.$implicit,r=i.$index;_("options",t.FormView.options)("selectMultiple",!0)("optionTemplate",e),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",t.FormView.shortDescription," "),l(),S(t.FormView.longDescription?3:-1),l(),_("ngModel",t.Value())}}function be(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Ae(n,o){if(n&1){let e=x();p(0,"app-timespan",33),b("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),p(1,"label",26),m(2),C(3,be,3,1,"spk-tooltip",27),a()()}if(n&2){let e,i=s(),t=i.$implicit,r=i.$index;_("inputType",t.Name),v("ngModel",t.Value),_("customId","destination-{{ item.Name }}-{{ $index }}"),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",(e=t.FormView.shortDescription)!==null&&e!==void 0?e:t.FormView.name," "),l(),S(t.FormView.longDescription?3:-1)}}function Re(n,o){if(n&1){let e=x();p(0,"div",13),C(1,de,12,3,"div",17)(2,ge,5,14,"app-file-tree",18)(3,xe,5,10,"app-file-tree",19)(4,Te,7,10,"spk-form-field")(5,Oe,8,10,"spk-form-field")(6,Ie,7,12)(7,Me,4,8,"app-size",20)(8,$e,7,9,"spk-form-field")(9,Ee,5,9,"spk-toggle",21)(10,De,7,9)(11,Ae,4,8,"app-timespan",20),p(12,"button",22),f("click",function(){let t=d(e).$implicit,r=s();return u(r.removeSetting(t))}),p(13,"spk-icon"),m(14,"x-bold"),a()()()}if(n&2){let e=o.$implicit;l(),S(e.FormView.type==="FreeText"?1:e.FormView.type==="FileTree"?2:e.FormView.type==="FolderTree"?3:e.FormView.type==="String"||e.FormView.type==="Path"||e.FormView.type==="Decimal"?4:e.FormView.type==="Password"?5:e.FormView.type==="Enumeration"?6:e.FormView.type==="Size"?7:e.FormView.type==="Integer"?8:e.FormView.type==="Boolean"?9:e.FormView.type==="Flags"?10:e.FormView.type==="Timespan"||e.FormView.type==="DateTime"?11:-1)}}var ae=class n{#e=B(Y);options=G.required();hiddenOptions=I([]);hasFreeTextSettings=I(!1);allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=R(()=>{let o=this.hiddenOptions();return this.options().map(i=>{let t=this.allOptions().find(r=>r.name===i.Name);if(t&&!o.includes(t.name)){let r=i.Value??"";t.type==="Boolean"&&(r=r&&r.toLowerCase()==="true"||!1),t.type==="Integer"&&(r=parseInt(r)||0);let c=h(r);return w(T({},i),{Value:c,FormView:t})}else if(this.hasFreeTextSettings())return w(T({},i),{Value:h(i.Value),FormView:{name:i.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(i=>i!==null)});nonSelectedOptionsGrouped=R(()=>{let o=this.options().map(i=>i.Name),e=this.hiddenOptions();return this.allOptionsGrouped().map(i=>w(T({},i),{options:i.options.filter(t=>!o.includes(t.name)&&!e.includes(t.name))})).filter(i=>i.options.length>0)});addFreeTextSetting(){this.hasFreeTextSettings()&&this.options.update(o=>[...o,{Filter:null,Name:"",Value:""}])}addSetting(o){this.options.update(e=>{let i=o.defaultValue??"";return o.type==="Boolean"&&(i=i.toLowerCase()==="true"||!1),o.type==="Integer"&&(i=parseInt(i)||0),[...e,{Name:o.name,Value:i}]})}updateSettingValue(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(c=>c.Name===o.Name);return o.FormView.type==="Boolean"?(t[r].Value=e?"True":"False",t):o.FormView.type==="Integer"?(t[r].Value=e.toString(),t):(t[r].Value=e,t)})}updateFreeTextSettingName(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(c=>c.Name===o.Name);return t[r].Name=e,t})}removeSetting(o){this.options.update(e=>e.filter(i=>i.Name!==o.Name))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-options-list"]],inputs:{options:[1,"options"],hiddenOptions:[1,"hiddenOptions"],hasFreeTextSettings:[1,"hasFreeTextSettings"]},outputs:{options:"optionsChange"},decls:16,vars:4,consts:()=>{let o;o=$localize`Advanced options`;let e;e=$localize` Add advanced option ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let i;return i=$localize` New custom option ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:pen${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["option",""],["enumOptionTemplate",""],["optionTemplate",""],o,e,i,[3,"disallowToggle"],["title",""],[1,"actions"],["spk-button","","type","button",1,"outlined","small"],[3,"searchable"],["menu",""],[1,"placeholder"],[1,"field-row"],["spk-button","","type","button",1,"outlined","small",3,"click"],["type","button"],["type","button",3,"click"],[1,"form-column"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[3,"inputType","ngModel","customId"],[1,"primary","raised"],["spk-button","","type","button",1,"outlined","remove-btn",3,"click"],[1,"form-row"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[3,"for"],[1,"primary",3,"message"],["type","text",3,"ngModelChange","id","ngModel"],["autocomplete","off",3,"ngModelChange","type","id","ngModel"],["suffix","",1,"clickable"],["suffix","",1,"clickable",3,"click"],[3,"options","isClearable","optionTemplate"],[3,"ngModelChange","inputType","ngModel","customId"],["type","number",3,"ngModelChange","id","ngModel"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["type","text","id","text",3,"ngModelChange","ngModel"]]},template:function(e,i){e&1&&(p(0,"spk-toggle-card",6),N(1,7)(2),q(3,3),k(),p(4,"div",8),C(5,se,3,0,"button",9),p(6,"spk-menu",10)(7,"button",9),$(8,4),M(9,"spk-icon"),P(),a(),N(10,11),O(11,_e,4,1,null,null,V),k(),a()(),k(),C(13,ce,2,0,"div",12),O(14,Re,15,1,"div",13,V),a()),e&2&&(_("disallowToggle",!0),l(5),S(i.hasFreeTextSettings()?5:-1),l(),_("searchable",!0),l(5),y(i.nonSelectedOptionsGrouped()),l(2),S(i.selectedSettings().length===0?13:-1),l(),y(i.selectedSettings()))},dependencies:[oe,ee,ne,Z,te,ie,re,H,W,U,X,Q,K,j,J,le,pe],styles:["[_nghost-%COMP%]{display:block}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}spk-toggle[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.placeholder[_ngcontent-%COMP%]{color:var(--base-level-60R);text-align:center;padding:2rem 1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{align-self:flex-end}.form-column[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end}"],changeDetection:0})};export{ae as a};
|
|
1
|
+
import{a as le,b as pe}from"./chunk-6DH6O5YE.js";import{a as re}from"./chunk-25P4YYJP.js";import{a as Y}from"./chunk-H4FB6PPA.js";import{b as Z,c as ee,e as te,h as ie,j as ne,s as oe}from"./chunk-T2OUHRUV.js";import{A as Q,a as K,g as U,l as W,o as X,t as j,y as H,z as J}from"./chunk-WX7L7V6J.js";import{$b as m,Ab as k,Ac as R,Cb as x,Gb as $,Hb as P,Ib as q,Mb as f,Nb as s,Qa as l,Sb as g,Y as B,Za as G,_b as E,ab as z,ac as L,bc as F,da as d,ea as u,ec as v,fb as C,fc as D,gc as b,nb as _,ra as I,sb as S,sc as A,tb as V,ua as h,ub as O,vb as y,wb as p,xb as a,yb as M,zb as N}from"./chunk-W2F756OF.js";import{a as T,b as w}from"./chunk-7CGTOI24.js";function se(n,o){if(n&1){let e=x();p(0,"button",14),f("click",function(){d(e);let t=s();return u(t.addFreeTextSetting())}),$(1,5),M(2,"spk-icon"),P(),a()}}function me(n,o){if(n&1){let e=x();p(0,"button",16,0),f("click",function(){let t=d(e).$implicit,r=s(2);return u(r.addSetting(t))}),m(2),a()}if(n&2){let e=o.$implicit;l(2),L(e.name)}}function _e(n,o){if(n&1&&(p(0,"h3",7),m(1),a(),O(2,me,3,1,"button",15,V)),n&2){let e=o.$implicit;l(),L(e.displayName),l(),y(e.options)}}function ce(n,o){n&1&&(p(0,"div",12),m(1,"Add a setting above to get started."),a())}function de(n,o){if(n&1){let e=x();p(0,"div",17)(1,"label"),m(2),a(),p(3,"div",23)(4,"spk-form-field")(5,"input",24),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateFreeTextSettingName(r,t))}),a(),p(6,"spk-icon",25),m(7,"rectangle-dashed"),a()(),p(8,"spk-form-field")(9,"input",24),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(10,"spk-icon",25),m(11,"textbox"),a()()()()}if(n&2){let e=s().$implicit;l(2),F(" ",e.FormView.shortDescription," "),l(3),_("ngModel",e.Name),l(4),_("ngModel",e.Value())}}function ue(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ge(n,o){if(n&1){let e=x();p(0,"app-file-tree",18)(1,"label",26),m(2),C(3,ue,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;_("startingPath",i.Value())("accepts",i.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Ce(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function xe(n,o){if(n&1){let e=x();p(0,"app-file-tree",19)(1,"label",26),m(2),C(3,Ce,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;_("startingPath",i.Value()),l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function fe(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Se(n,o){n&1&&(p(0,"spk-icon",25),m(1,"link"),a())}function Fe(n,o){n&1&&(p(0,"spk-icon",25),m(1,"textbox"),a())}function Te(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),C(3,fe,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),C(5,Se,2,0,"spk-icon",25)(6,Fe,2,0,"spk-icon",25),a()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value()),l(),S(i.FormView.type==="Path"?5:6)}}function we(n,o){if(n&1){let e=x();p(0,"spk-icon",31),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),m(1," eye "),a()}}function Ve(n,o){if(n&1){let e=x();p(0,"spk-icon",31),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),m(1," eye-slash "),a()}}function Oe(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),a(),p(3,"input",29),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(4,"spk-icon",25),m(5,"password"),a(),C(6,we,2,0,"spk-icon",30)(7,Ve,2,0,"spk-icon",30),a()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),g("id","destination-",i.Name,"-",t,""),_("type",i.showPassword?"text":"password")("ngModel",i.Value()),l(3),S(i.showPassword?6:7)}}function ye(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ke(n,o){if(n&1&&m(0),n&2){let e=o.$implicit;F(" ",e," ")}}function Ie(n,o){if(n&1){let e=x();p(0,"spk-select",32)(1,"label",26),m(2),C(3,ye,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()(),C(5,ke,1,1,"ng-template",null,1,A)}if(n&2){let e=E(6),i=s(),t=i.$implicit,r=i.$index;_("options",t.FormView.options)("isClearable",!1)("optionTemplate",e),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",t.FormView.shortDescription," "),l(),S(t.FormView.longDescription?3:-1),l(),g("id","destination-",t.Name,"-",r,""),_("ngModel",t.Value())}}function he(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Me(n,o){if(n&1){let e=x();p(0,"app-size",33),b("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),p(1,"label",26),m(2),C(3,he,3,1,"spk-tooltip",27),a()()}if(n&2){let e,i=s(),t=i.$implicit,r=i.$index;_("inputType",t.Name),v("ngModel",t.Value),_("customId","destination-{{ item.Name }}-{{ $index }}"),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",(e=t.FormView.shortDescription)!==null&&e!==void 0?e:t.FormView.name," "),l(),S(t.FormView.longDescription?3:-1)}}function Ne(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function $e(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),C(3,Ne,3,1,"spk-tooltip",27),a(),p(4,"input",34),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(5,"spk-icon",25),m(6,"numpad"),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Pe(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Ee(n,o){if(n&1){let e=x();p(0,"spk-toggle",21)(1,"label",26),m(2),C(3,Pe,3,1,"spk-tooltip",27),a(),p(4,"input",35),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Le(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ve(n,o){if(n&1&&m(0),n&2){let e=o.$implicit;F(" ",e," ")}}function De(n,o){if(n&1){let e=x();p(0,"spk-select",36)(1,"label",26),m(2),C(3,Le,3,1,"spk-tooltip",27),a(),p(4,"input",37),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()(),C(5,ve,1,1,"ng-template",null,2,A)}if(n&2){let e=E(6),i=s(),t=i.$implicit,r=i.$index;_("options",t.FormView.options)("selectMultiple",!0)("optionTemplate",e),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",t.FormView.shortDescription," "),l(),S(t.FormView.longDescription?3:-1),l(),_("ngModel",t.Value())}}function be(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Ae(n,o){if(n&1){let e=x();p(0,"app-timespan",33),b("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),p(1,"label",26),m(2),C(3,be,3,1,"spk-tooltip",27),a()()}if(n&2){let e,i=s(),t=i.$implicit,r=i.$index;_("inputType",t.Name),v("ngModel",t.Value),_("customId","destination-{{ item.Name }}-{{ $index }}"),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",(e=t.FormView.shortDescription)!==null&&e!==void 0?e:t.FormView.name," "),l(),S(t.FormView.longDescription?3:-1)}}function Re(n,o){if(n&1){let e=x();p(0,"div",13),C(1,de,12,3,"div",17)(2,ge,5,14,"app-file-tree",18)(3,xe,5,10,"app-file-tree",19)(4,Te,7,10,"spk-form-field")(5,Oe,8,10,"spk-form-field")(6,Ie,7,12)(7,Me,4,8,"app-size",20)(8,$e,7,9,"spk-form-field")(9,Ee,5,9,"spk-toggle",21)(10,De,7,9)(11,Ae,4,8,"app-timespan",20),p(12,"button",22),f("click",function(){let t=d(e).$implicit,r=s();return u(r.removeSetting(t))}),p(13,"spk-icon"),m(14,"x-bold"),a()()()}if(n&2){let e=o.$implicit;l(),S(e.FormView.type==="FreeText"?1:e.FormView.type==="FileTree"?2:e.FormView.type==="FolderTree"?3:e.FormView.type==="String"||e.FormView.type==="Path"||e.FormView.type==="Decimal"?4:e.FormView.type==="Password"?5:e.FormView.type==="Enumeration"?6:e.FormView.type==="Size"?7:e.FormView.type==="Integer"?8:e.FormView.type==="Boolean"?9:e.FormView.type==="Flags"?10:e.FormView.type==="Timespan"||e.FormView.type==="DateTime"?11:-1)}}var ae=class n{#e=B(Y);options=G.required();hiddenOptions=I([]);hasFreeTextSettings=I(!1);allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=R(()=>{let o=this.hiddenOptions();return this.options().map(i=>{let t=this.allOptions().find(r=>r.name===i.Name);if(t&&!o.includes(t.name)){let r=i.Value??"";t.type==="Boolean"&&(r=r&&r.toLowerCase()==="true"||!1),t.type==="Integer"&&(r=parseInt(r)||0);let c=h(r);return w(T({},i),{Value:c,FormView:t})}else if(this.hasFreeTextSettings())return w(T({},i),{Value:h(i.Value),FormView:{name:i.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(i=>i!==null)});nonSelectedOptionsGrouped=R(()=>{let o=this.options().map(i=>i.Name),e=this.hiddenOptions();return this.allOptionsGrouped().map(i=>w(T({},i),{options:i.options.filter(t=>!o.includes(t.name)&&!e.includes(t.name))})).filter(i=>i.options.length>0)});addFreeTextSetting(){this.hasFreeTextSettings()&&this.options.update(o=>[...o,{Filter:null,Name:"",Value:""}])}addSetting(o){this.options.update(e=>{let i=o.defaultValue??"";return o.type==="Boolean"&&(i=i.toLowerCase()==="true"||!1),o.type==="Integer"&&(i=parseInt(i)||0),[...e,{Name:o.name,Value:i}]})}updateSettingValue(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(c=>c.Name===o.Name);return o.FormView.type==="Boolean"?(t[r].Value=e?"True":"False",t):o.FormView.type==="Integer"?(t[r].Value=e.toString(),t):(t[r].Value=e,t)})}updateFreeTextSettingName(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(c=>c.Name===o.Name);return t[r].Name=e,t})}removeSetting(o){this.options.update(e=>e.filter(i=>i.Name!==o.Name))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-options-list"]],inputs:{options:[1,"options"],hiddenOptions:[1,"hiddenOptions"],hasFreeTextSettings:[1,"hasFreeTextSettings"]},outputs:{options:"optionsChange"},decls:16,vars:4,consts:()=>{let o;o=$localize`Advanced options`;let e;e=$localize` Add advanced option ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let i;return i=$localize` New custom option ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:pen${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["option",""],["enumOptionTemplate",""],["optionTemplate",""],o,e,i,[3,"disallowToggle"],["title",""],[1,"actions"],["spk-button","","type","button",1,"outlined","small"],[3,"searchable"],["menu",""],[1,"placeholder"],[1,"field-row"],["spk-button","","type","button",1,"outlined","small",3,"click"],["type","button"],["type","button",3,"click"],[1,"form-column"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[3,"inputType","ngModel","customId"],[1,"primary","raised"],["spk-button","","type","button",1,"outlined","remove-btn",3,"click"],[1,"form-row"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[3,"for"],[1,"primary",3,"message"],["type","text",3,"ngModelChange","id","ngModel"],["autocomplete","off",3,"ngModelChange","type","id","ngModel"],["suffix","",1,"clickable"],["suffix","",1,"clickable",3,"click"],[3,"options","isClearable","optionTemplate"],[3,"ngModelChange","inputType","ngModel","customId"],["type","number",3,"ngModelChange","id","ngModel"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["type","text","id","text",3,"ngModelChange","ngModel"]]},template:function(e,i){e&1&&(p(0,"spk-toggle-card",6),N(1,7)(2),q(3,3),k(),p(4,"div",8),C(5,se,3,0,"button",9),p(6,"spk-menu",10)(7,"button",9),$(8,4),M(9,"spk-icon"),P(),a(),N(10,11),O(11,_e,4,1,null,null,V),k(),a()(),k(),C(13,ce,2,0,"div",12),O(14,Re,15,1,"div",13,V),a()),e&2&&(_("disallowToggle",!0),l(5),S(i.hasFreeTextSettings()?5:-1),l(),_("searchable",!0),l(5),y(i.nonSelectedOptionsGrouped()),l(2),S(i.selectedSettings().length===0?13:-1),l(),y(i.selectedSettings()))},dependencies:[oe,ee,ne,Z,te,ie,re,H,W,U,X,Q,K,j,J,le,pe],styles:["[_nghost-%COMP%]{display:block}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}spk-toggle[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.placeholder[_ngcontent-%COMP%]{color:var(--base-level-60R);text-align:center;padding:2rem 1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{align-self:flex-end}.form-column[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end}"],changeDetection:0})};export{ae as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as a,f as b}from"./chunk-IDYYAKHE.js";import"./chunk-25P4YYJP.js";import"./chunk-VN7JM6M3.js";import"./chunk-HTNYQE2B.js";import"./chunk-H4FB6PPA.js";import"./chunk-7L42EO7J.js";import"./chunk-T2OUHRUV.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";export{a as createRestoreSelectFilesForm,b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as W}from"./chunk-
|
|
1
|
+
import{a as W}from"./chunk-45WMLGXH.js";import{a as K}from"./chunk-7L42EO7J.js";import{b as V,d as z}from"./chunk-QVIZK4WW.js";import{b as X,c as B,e as U,p as H}from"./chunk-WX7L7V6J.js";import{h as G}from"./chunk-WAKYTFC3.js";import{$b as m,Ab as R,Ac as D,Cb as T,Gb as v,Hb as y,Ib as d,Mb as C,Na as g,Nb as a,Qa as r,Y as f,ab as k,ac as A,bc as L,da as u,ea as N,fb as S,nb as I,ra as $,rb as w,sb as s,ub as P,vb as h,wb as l,xb as _,yb as O,zb as b}from"./chunk-W2F756OF.js";var Y=(i,t)=>t.ID;function q(i,t){if(i&1&&m(0),i&2){let e=a().$implicit;L(" ",e.Message," ")}}function J(i,t){if(i&1&&(l(0,"div"),v(1,1),O(2,"a",16),y(),_()),i&2){let e=a().$implicit;r(2),I("href",e.DownloadLink,g)}}function Q(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doRepair(o.BackupID))}),d(1,2),_()}}function Z(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doDownloadBugreport(o))}),d(1,3),_()}}function ee(i,t){if(i&1&&O(0,"spk-progress-bar",18),i&2){let e,n=a(3);I("value",(e=n.serverState())==null?null:e.UpdateDownloadProgress)}}function te(i,t){if(i&1){let e=T();l(0,"div",14),b(1),d(2,4),R(),l(3,"a",17),m(4),_(),S(5,ee,1,1,"spk-progress-bar",18),l(6,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowUpdate())}),d(7,5),_()()}if(i&2){let e,n,o=a().$implicit,c=a();r(3),I("href",(e=c.serverState())==null?null:e.UpdateDownloadLink,g),r(),A(o.Message),r(),s(((n=c.serverState())==null?null:n.UpdaterState)==="Downloading"?5:-1)}}function ie(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doShowLog(o.BackupID))}),d(1,6),_()}}function ne(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),d(1,7),_()}}function oe(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),d(1,8),_()}}function ae(i,t){if(i&1){let e=T();l(0,"spk-alert")(1,"div",10),m(2),_(),l(3,"div",11),S(4,q,1,1)(5,J,3,1,"div"),l(6,"div",12),S(7,Q,2,0,"button",13)(8,Z,2,0,"button",13)(9,te,8,3,"div",14)(10,ie,2,0,"button",13)(11,ne,2,0,"button",13)(12,oe,2,0,"button",13),l(13,"button",15),C("click",function(){let o=u(e).$index,c=a();return N(c.deleteNotificationByIndex(o))}),d(14,0),_()()()()}if(i&2){let e=t.$implicit,n=a();w(n.getAlertType(e.Type)),r(2),A(e.Title),r(2),s(e.Action!=="update:new"&&e.Action!=="update:manual"?4:-1),r(),s(e!=null&&e.DownloadLink?5:-1),r(2),s(e.Message!=null&&e.Message.includes("please run repair")?7:-1),r(),s(e.Action!=null&&e.Action.startsWith("bug-report:created:")&&!e.DownloadLink?8:-1),r(),s(e.Action==="update:new"?9:-1),r(),s(e.Action==="backup:show-log"?10:-1),r(),s(e.Action==="config:issue:unencrypted-database"?11:-1),r(),s(e.Action==="config:issue:windows-folder-used"?12:-1)}}var re={Error:"error",Warning:"warn",Information:"primary"},j=class i{#i=f(z);#o=f(V);#a=f(U);#e=f(B);#n=f(G);#t=f(W);notificationFilterPredicate=$();serverState=this.#t.serverState;notifications=D(()=>{let t=this.notificationFilterPredicate()?.predicate,e=this.#t.notifications();return typeof t!="function"?e:e.filter(t)});deleteNotificationByIndex(t){this.#t.deleteNotification(t)}deleteAllNotifications(){this.#t.deleteAllNotifications()}getAlertType(t){return t&&re[t]||"primary"}doShowLog(t){this.#n.getApiV1BackupByIdIsactive({id:t}).subscribe({next:e=>{this.#i.navigate(["/backup/"+t+"/log"])},error:e=>{if(e.status===404){let n={title:$localize`Error`,message:$localize`The backup is missing, has it been deleted?`,confirmText:$localize`OK`,cancelText:null};parseInt(t)+""!=t&&(n={title:$localize`Error`,message:$localize`The backup was temporary and does not exist anymore, so the log data is lost`,confirmText:$localize`OK`,cancelText:null}),this.#a.open(K,{maxWidth:"550px",width:"100%",data:n})}else this.#e.error($localize`Failed to find backup: `+e.message)}})}doRepair(t){this.#n.postApiV1BackupByIdRepair({id:t}).subscribe({next:()=>{this.#e.success($localize`Backup repaired`),this.#i.navigate(["./"],{onSameUrlNavigation:"reload",relativeTo:this.#o})},error:e=>{this.#e.error($localize`Failed to repair backup: `+e.message)}})}doShowUpdate(){this.#i.navigate(["/about/changelog"])}doShowLink(t){window.open(t,"_blank")}doDownloadBugreport(t){let e=t.Action.slice(19);this.#n.postApiV1AuthIssuetokenByOperation({operation:`bugreport/${e}`}).subscribe({next:n=>{if(!n.Token){this.#e.error("Failed to get bug report URL: No token generated");return}t.DownloadLink=n.Token},error:n=>{this.#e.error(`Failed to get bug report URL: ${n.message}`)}})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=k({type:i,selectors:[["app-notifications"]],inputs:{notificationFilterPredicate:[1,"notificationFilterPredicate"]},decls:2,vars:0,consts:()=>{let t;t=$localize`Dismiss`;let e;e=$localize` If the backup file was not downloaded automatically, ${"\uFFFD#2\uFFFD"}:START_LINK:right click and choose "Save as …"${"\uFFFD/#2\uFFFD"}:CLOSE_LINK:`;let n;n=$localize`Repair`;let o;o=$localize`Download`;let c;c=$localize`New update found:`;let F;F=$localize`Show Update`;let x;x=$localize`Show Log`;let E;E=$localize` Show Help `;let M;return M=$localize` Show Help `,[t,e,n,o,c,F,x,E,M,[3,"class"],["sparkle-alert-title",""],["sparkle-alert-content","",1,"content"],[1,"actions"],["spk-button","",1,"small","outlined"],[1,"message"],["spk-button","",1,"small","outlined",3,"click"],["target","_blank",3,"href"],[3,"href"],[3,"value"]]},template:function(e,n){e&1&&P(0,ae,15,11,"spk-alert",9,Y),e&2&&h(n.notifications())},dependencies:[X,H],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;justify-content:flex-end}"],changeDetection:0})};export{j as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as z}from"./chunk-IJLA56JK.js";import{a as x,c as w,d as B,e as U,f as X}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as K,f as V,o as h}from"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import{Ab as f,Cb as R,Gb as l,Hb as s,Ib as b,Jb as y,Kb as v,Mb as u,Nb as c,Qa as p,Y as T,ab as D,da as a,ea as S,fb as P,nb as N,sb as G,ua as $,wb as i,xb as t,yb as _,zb as M}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function W(g,F){if(g&1){let n=R();i(0,"spk-menu",15)(1,"button",16),b(2,2),t(),M(3,17),i(4,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Disabled"))}),l(5,3),_(6,"spk-icon"),s(),t(),i(7,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Verbose"))}),l(8,4),_(9,"spk-icon"),s(),t(),i(10,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("ExplicitOnly"))}),l(11,5),_(12,"spk-icon"),s(),t(),i(13,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Profiling"))}),l(14,6),_(15,"spk-icon"),s(),t(),i(16,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Retry"))}),l(17,7),_(18,"spk-icon"),s(),t(),i(19,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Information"))}),l(20,8),_(21,"spk-icon"),s(),t(),i(22,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("DryRun"))}),l(23,9),_(24,"spk-icon"),s(),t(),i(25,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Warning"))}),l(26,10),_(27,"spk-icon"),s(),t(),i(28,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Error"))}),l(29,11),_(30,"spk-icon"),s(),t(),f(),t()}if(g&2){let n=c();N("openIndicator",!0),p(2),y(n.logLevelByLabel()),v(2)}}var O=class g{#n=T(B);#e=T(z);logLevel=this.#e.logLevel;logLevelByLabel=this.#e.logLevelByLabel;currentUrl=$(this.#n.url);constructor(){this.#n.events.subscribe(F=>{F instanceof x&&this.currentUrl.set(F.urlAfterRedirects)})}updateLogLevel(F){this.#e.updateLogLevel(F)}static \u0275fac=function(n){return new(n||g)};static \u0275cmp=D({type:g,selectors:[["app-logs"]],decls:10,vars:1,consts:()=>{let F;F=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:archive${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Stored `;let n;n=$localize`${"\uFFFD#7\uFFFD"}:START_TAG_SPK_ICON:play${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SPK_ICON: Live `;let o;o=$localize`Log level: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SPK_ICON:bell-simple-slash${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SPK_ICON: Disabled `;let C;C=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:megaphone-simple${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: Verbose `;let L;L=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:flow-arrow${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Explicit only `;let d;d=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:speedometer${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Profiling `;let k;k=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SPK_ICON:arrow-arc-left${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SPK_ICON: Retry `;let I;I=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SPK_ICON:info${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SPK_ICON: Information `;let E;E=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SPK_ICON:person-simple-run${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SPK_ICON: Dry run `;let A;A=$localize`${"\uFFFD#27\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_SPK_ICON: Warning `;let m;return m=$localize`${"\uFFFD#30\uFFFD"}:START_TAG_SPK_ICON:warning-octagon${"\uFFFD/#30\uFFFD"}:CLOSE_TAG_SPK_ICON: Error `,[F,n,o,e,C,L,d,k,I,E,A,m,[1,"filters"],["type","button","routerLink","/about/logs/stored","routerLinkActive","active"],["type","button","routerLink","/about/logs/live","routerLinkActive","active"],[3,"openIndicator"],["spk-button","","type","button"],["menu",""],["spk-button","","type","button",1,"small",3,"click"]]},template:function(n,o){n&1&&(i(0,"div",12)(1,"spk-button-group")(2,"button",13),l(3,0),_(4,"spk-icon"),s(),t(),i(5,"button",14),l(6,1),_(7,"spk-icon"),s(),t()(),P(8,W,31,2,"spk-menu",15),t(),_(9,"router-outlet")),n&2&&(p(8),G(o.currentUrl().startsWith("/about/logs/live")?8:-1))},dependencies:[V,K,h,w,X,U],styles:["[_nghost-%COMP%]{display:block}.filters[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}"],changeDetection:0})};export{O as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as k,d as v,e as P,f as O,i as x,n as E,q as F,r as G,t as T}from"./chunk-T2OUHRUV.js";import{c as M}from"./chunk-6X3MMKNW.js";import"./chunk-I3C2AEHI.js";import{d as y}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as S,b,g as L,l as N}from"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import{$b as n,F as c,Mb as w,Qa as m,Y as s,ab as g,fb as f,nb as h,pb as _,sb as C,ua as l,wb as t,xb as i,yb as p}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function A(r,e){r&1&&(t(0,"spk-alert",1),n(1," Remember to enter a password, if you can't remember the password open the duplicati client on the machine in question and make sure you open it through the tray icon then go into settings to change the password. "),i())}var u=new G,d=class r{#e=s(y);#t=s(M);failedLogin=l(!1);isLoading=l(!1);loginForm=u.group({user:u.control(""),pass:u.control("",v.required)});submit(){let e=this.loginForm.value.pass;this.loginForm.value.user||e&&(this.isLoading.set(!0),this.#t.login(e).pipe(c(()=>{this.isLoading.set(!1),this.failedLogin.set(!0)})).subscribe({next:()=>this.#e.navigate(["/"])}))}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=g({type:r,selectors:[["app-login"]],decls:15,vars:4,consts:()=>{let e;return e=$localize`Enter your password`,[[3,"submit","formGroup"],["type","warning"],[1,"login-row"],["type","text","hidden","","autocomplete","off","name","username","formControlName","user"],["for","password"],["href","https://docs.duplicati.com/detailed-descriptions/duplicati-access-password","target","_blank","rel","noopener noreferrer"],["type","password","name","password","autocomplete","current-password","placeholder",e,"tabindex","1","formControlName","pass"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(o,a){o&1&&(t(0,"form",0),w("submit",function(){return a.submit()}),f(1,A,2,0,"spk-alert",1),t(2,"div",2),p(3,"input",3),t(4,"spk-form-field")(5,"label",4),n(6," Password "),t(7,"a",5)(8,"spk-icon"),n(9,"question"),i()()(),p(10,"input",6),i(),t(11,"button",7),n(12," Login "),t(13,"spk-icon"),n(14,"arrow-right"),i()()()()),o&2&&(h("formGroup",a.loginForm),m(),C(a.failedLogin()?1:-1),m(10),_("loader",a.isLoading()))},dependencies:[T,x,k,P,O,E,F,N,S,L,b],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{width:100vw;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}spk-alert[_ngcontent-%COMP%]{max-width:20rem;margin:0 auto}h3[_ngcontent-%COMP%]{font:var(--title-30)}.login-row[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}"],changeDetection:0})};export{d as default};
|