@duplicati/ngclient 0.0.137 → 0.0.139

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/assets/spk.woff2 +0 -0
  2. package/chunk-23ODVSFI.js +1 -0
  3. package/chunk-2D26BDYB.js +1 -0
  4. package/{chunk-MQTQESMQ.js → chunk-3WCZIRMO.js} +1 -1
  5. package/chunk-3ZVSHKLD.js +1 -0
  6. package/chunk-5V3CTTYH.js +1 -0
  7. package/chunk-64ZU74CD.js +1 -0
  8. package/{chunk-7GUJ7DYP.js → chunk-654PTAAL.js} +1 -1
  9. package/chunk-6DSLFJ4T.js +1 -0
  10. package/chunk-6WNZ5AZZ.js +8 -0
  11. package/chunk-74BJ4GVA.js +1 -0
  12. package/chunk-7QJG4IIT.js +1 -0
  13. package/chunk-CCA5ZCEA.js +1 -0
  14. package/chunk-DG7SFNGT.js +1 -0
  15. package/chunk-E2CREQ7G.js +1 -0
  16. package/chunk-EESK45BW.js +3 -0
  17. package/chunk-GJXR776M.js +1 -0
  18. package/chunk-H2PTENA3.js +1 -0
  19. package/chunk-HDDYOVZL.js +1 -0
  20. package/{chunk-LDIHJZUP.js → chunk-IBG5YOFG.js} +1 -1
  21. package/chunk-IZXB2EWT.js +1 -0
  22. package/{chunk-JM7VAPIC.js → chunk-J6BHRR34.js} +1 -1
  23. package/chunk-JI7GCFQB.js +1 -0
  24. package/chunk-K6PEXJFJ.js +1 -0
  25. package/chunk-KSQIUDEA.js +1 -0
  26. package/chunk-MB34F2MX.js +1 -0
  27. package/{chunk-7MV7VPDB.js → chunk-MMPTX6PS.js} +1 -1
  28. package/chunk-N57J64DN.js +3 -0
  29. package/chunk-NHAGSIVX.js +1 -0
  30. package/chunk-NZ2KKCDC.js +1 -0
  31. package/{chunk-Y73FO7VJ.js → chunk-OBFPN4Q2.js} +1 -1
  32. package/{chunk-ETPRQPCV.js → chunk-ONBF7XZA.js} +1 -1
  33. package/chunk-OZV5FSRK.js +1 -0
  34. package/chunk-P5GBD4XK.js +1 -0
  35. package/chunk-PZA4FRVJ.js +1 -0
  36. package/chunk-PZCO6IX3.js +1 -0
  37. package/{chunk-SYUL4YZN.js → chunk-Q3EG4ZLT.js} +1 -1
  38. package/{chunk-VPTK3JCV.js → chunk-Q6W2U6VI.js} +2 -2
  39. package/{chunk-QD2GV7XN.js → chunk-QRRKPBY6.js} +1 -1
  40. package/{chunk-SLJD5T2G.js → chunk-QU24HTBS.js} +1 -1
  41. package/chunk-RCKA5DTC.js +1 -0
  42. package/chunk-SDLN3QK4.js +1 -0
  43. package/{chunk-5LGMQ3QI.js → chunk-SISVWTKC.js} +1 -1
  44. package/chunk-SKWDGX7G.js +1 -0
  45. package/chunk-TW56VFHP.js +1 -0
  46. package/chunk-ULLALJQ2.js +1 -0
  47. package/chunk-V77N2OUE.js +1 -0
  48. package/chunk-WZNH4JPF.js +1 -0
  49. package/chunk-WZRDKVOR.js +1 -0
  50. package/{chunk-EL7ZWMW3.js → chunk-XIOHRQ3X.js} +1 -1
  51. package/{chunk-WF6EAWTW.js → chunk-ZI2XNFAW.js} +1 -1
  52. package/index.html +1 -1
  53. package/main-YSTAIUGS.js +1 -0
  54. package/package.json +1 -1
  55. package/chunk-2YMUOQLP.js +0 -1
  56. package/chunk-3B3CD5KI.js +0 -1
  57. package/chunk-42LUYQ5S.js +0 -1
  58. package/chunk-4AWC7A44.js +0 -1
  59. package/chunk-7E4SLHH6.js +0 -1
  60. package/chunk-A4BYE2OQ.js +0 -1
  61. package/chunk-BEUZGUTP.js +0 -1
  62. package/chunk-BUHA4W4I.js +0 -1
  63. package/chunk-DDOT2PJU.js +0 -3
  64. package/chunk-FY7P6D7L.js +0 -1
  65. package/chunk-FZG6OXT3.js +0 -1
  66. package/chunk-GHXNDRQC.js +0 -1
  67. package/chunk-HN6NEFVX.js +0 -1
  68. package/chunk-HYVO7UIG.js +0 -1
  69. package/chunk-JHBG6CNS.js +0 -1
  70. package/chunk-KTU3Q35O.js +0 -1
  71. package/chunk-KZQCOYF7.js +0 -1
  72. package/chunk-L5Y36SCW.js +0 -1
  73. package/chunk-MFURKVTP.js +0 -1
  74. package/chunk-NMNBM72U.js +0 -1
  75. package/chunk-OZLEURDK.js +0 -6
  76. package/chunk-P4KFR7NY.js +0 -1
  77. package/chunk-P4KOC4NP.js +0 -1
  78. package/chunk-QR64BSPX.js +0 -1
  79. package/chunk-RIVEONGL.js +0 -1
  80. package/chunk-RVPCSXUI.js +0 -1
  81. package/chunk-SMQWGV7N.js +0 -1
  82. package/chunk-UM3LTU7N.js +0 -1
  83. package/chunk-VKUSJRIK.js +0 -1
  84. package/chunk-XIIFTZ5G.js +0 -1
  85. package/chunk-XPQBJ7EY.js +0 -1
  86. package/chunk-YONVHISY.js +0 -1
  87. package/chunk-YR3TOOC3.js +0 -1
  88. package/chunk-YSJGV5SH.js +0 -1
  89. package/chunk-ZZNFOL3R.js +0 -1
  90. package/main-J4GINH4P.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as ke,c as $e,d as L}from"./chunk-B26UYXA3.js";import{b as Re}from"./chunk-LDIZ5E5Z.js";import{a as ue}from"./chunk-ULLALJQ2.js";import"./chunk-J6BHRR34.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import{b as Pe,c as Te,d as g,e as Ce,f as Ee,j as me,o as Se,q as ge,r as fe,t as Oe}from"./chunk-NSIELNIY.js";import"./chunk-7QJG4IIT.js";import"./chunk-3ZVSHKLD.js";import{b as te,d as ne,e as ie}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{A as ce,C as Fe,a as re,b as se,f as ae,g as le,l as _e,p as pe}from"./chunk-Y5IRBMLB.js";import{c as oe,h as de}from"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{Ab as _,Eb as M,H as I,Hc as N,Ic as B,Kb as p,Lb as c,Mb as m,Nb as h,Ob as y,P as J,Pb as X,Qa as s,Qb as S,Rb as u,Z as T,ab as W,bc as R,da as A,ea as x,ec as D,fc as Y,hc as Z,na as C,sb as F,sc as ee,tb as d,xb as E,yb as a,zb as r}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var we=()=>["/"];function Ae(t,o){t&1&&(a(0,"spk-toggle",23),p(1,5),_(2,"input",26),c(),r())}function xe(t,o){t&1&&(a(0,"span",29),m(1,9),r())}function De(t,o){if(t&1&&(a(0,"span",29),m(1,10),r()),t&2){let e=u(2);s(),h(e.exportForm.controls.password.errors==null?null:e.exportForm.controls.password.errors.minlength.requiredLength),y(1)}}function Ne(t,o){if(t&1&&_(0,"spk-progress-bar",36),t&2){let e=u(2);R("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),E("value",e.calculatePasswordStrength()*(100/5))}}function Ie(t,o){t&1&&(a(0,"span",29),m(1,11),r())}function Me(t,o){t&1&&(a(0,"span",29),m(1,12),r())}function he(t,o){if(t&1&&(a(0,"span",29),m(1,13),r()),t&2){let e=u(2);s(),h(e.exportForm.controls.repeatPassword.errors==null?null:e.exportForm.controls.repeatPassword.errors.minlength.requiredLength),y(1)}}function ye(t,o){t&1&&(p(0,7,1),_(1,"spk-icon"),c())}function Xe(t,o){t&1&&(p(0,7,2),_(1,"spk-icon"),c())}function Be(t,o){t&1&&(p(0,14,1),_(1,"spk-icon",38),c())}function Le(t,o){t&1&&(p(0,14,2),_(1,"spk-icon"),c())}function be(t,o){if(t&1){let e=M();a(0,"button",37),S("click",function(){A(e);let i=u(2);return x(i.copyPassword())}),p(1,14),F(2,Be,2,0)(3,Le,2,0),c(),r()}if(t&2){let e=u(2);s(2),d(e.copiedPassword()?2:3)}}function ve(t,o){t&1&&(a(0,"spk-alert",35),m(1,15),r())}function Ge(t,o){if(t&1){let e=M();a(0,"div",24)(1,"spk-form-field")(2,"label",27),p(3,6),_(4,"sup"),c(),r(),_(5,"input",28),F(6,xe,2,0,"span",29)(7,De,2,1,"span",29),r(),F(8,Ne,1,9,"spk-progress-bar",30),a(9,"spk-form-field"),_(10,"input",31),F(11,Ie,2,0,"span",29)(12,Me,2,0,"span",29)(13,he,2,1,"span",29),r(),a(14,"div",32)(15,"button",33),S("click",function(){A(e);let i=u();return x(i.showPassword.set(!i.showPassword()))}),p(16,7),F(17,ye,2,0)(18,Xe,2,0),c(),r(),a(19,"button",33),S("click",function(){A(e);let i=u();return x(i.generatePassword())}),p(20,8),_(21,"spk-icon"),c(),r(),F(22,be,4,1,"button",34),r(),F(23,ve,2,0,"spk-alert",35),r()}if(t&2){let e=u();s(5),E("type",e.showPassword()?"text":"password"),s(),d(e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.required?6:e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.minlength?7:-1),s(2),d(e.exportForm.value.password?8:-1),s(2),E("type",e.showPassword()?"text":"password"),s(),d(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.required?12:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.minlength?13:-1),s(6),d(e.showPassword()?17:18),s(5),d(e.showCopyPassword()?22:-1),s(),d(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1)}}function Ke(t,o){if(t&1&&(a(0,"div",25)(1,"code"),D(2),r()()),t&2){let e=u();s(2),Y(e.exportedCmd())}}var k=new fe,b=class t{#o=T(ke);#t=T(de);#e=T(te);#n=T(ne);#i=T(oe);#r=T(ue);isExporting=C(!1);exportType=C("file");exportedCmd=C(null);exportForm=k.group({exportPasswords:k.control(!0),encryption:k.control(!1,[g.required,$e()]),password:k.control("",[L("encryption",!0,[g.required,g.minLength(3)])]),repeatPassword:k.control("",[L("encryption",!0,[g.required,g.minLength(3)])])});exportFormSignal=Re(this.exportForm.valueChanges);encryptionFieldSignal=N(()=>(this.exportFormSignal()?.encryption??!1)&&this.exportType()==="file");activeBackup=N(()=>this.#r.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=C(!1);copiedPassword=C(!1);showCopyPassword=C(!1);calculatePasswordStrength=N(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=B(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity()});disablePasswordForCommandLine=B(()=>{this.exportType()==="cmd"&&this.exportForm.controls.encryption.setValue(!1)});submit(){this.isExporting.set(!0),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(J(o=>{let e=i=>{let f=Object.entries(i);return f?"?"+f.filter(([O,P])=>P!=null).map(([O,P])=>`${encodeURIComponent(O)}=${encodeURIComponent(P)}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0;return this.#i.get(`/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob"})}),I(()=>this.isExporting.set(!1))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",i=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${i}`),this.#n.navigate(["/"])},error:o=>{}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(I(()=>this.isExporting.set(!1))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null)},error:o=>{}})}downloadFile(o,e){let n=window.URL.createObjectURL(o),i=document.createElement("a");i.href=n,i.download=e,i.click(),window.URL.revokeObjectURL(n)}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#s(o??""),this.copiedPassword.set(!0)}async#s(o){try{await navigator.clipboard.writeText(o)}catch{try{let n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}catch(n){console.error("Failed to copy text: ",n)}}}generatePassword(){this.copiedPassword.set(!1);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(!0)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=W({type:t,selectors:[["app-export"]],decls:26,vars:15,consts:()=>{let o;o=$localize`Remember to copy the password`;let e;e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let n;n=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:export${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: Export `;let i;i=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:terminal-window${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: As command line `;let f;f=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:file${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: To file `;let O;O=$localize` Export passwords ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let P;P=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let v;v=$localize`Password`;let G;G=$localize`Repeat password`;let K;K=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let $;$=$localize`${"\uFFFD*17:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: hide ${"\uFFFD/*17:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*18:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: show ${"\uFFFD/*18:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,$=X($);let U;U=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SPK_ICON:password${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SPK_ICON: Generate password `;let z;z=$localize`Passwords are required`;let V;V=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let q;q=$localize`Passwords do not match`;let j;j=$localize`Passwords are required`;let H;H=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let w;w=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SPK_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,w=X(w);let Q;return Q=$localize` Tip: Be sure to save your password. If you lose it, you will not be able to import the configuration. `,[e,n,i,f,O,P,K,$,U,z,V,q,j,H,w,Q,[1,"actions"],["spk-button","",1,"outlined",3,"routerLink"],["spk-button","","spkTooltip",o,1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["type","button",3,"click"],[1,"raised","primary"],["type","checkbox","formControlName","exportPasswords"],[1,"primary","raised"],[1,"passwords"],[1,"cmd-output"],["type","checkbox","formControlName","encryption"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",v,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",G,"formControlName","repeatPassword",3,"type"],[1,"password-actions"],["spk-button","","type","button",1,"small",3,"click"],["spk-button","","type","button",1,"small","copy"],[1,"primary"],[1,"raised",3,"value"],["spk-button","","type","button",1,"small","copy",3,"click"],[1,"spk-success"]]},template:function(e,n){if(e&1&&(a(0,"header")(1,"h3"),D(2," Export backup configuration "),a(3,"div",16)(4,"button",17),p(5,0),_(6,"spk-icon"),c(),r(),a(7,"button",18),S("click",function(){return n.submit()}),p(8,1),_(9,"spk-icon"),c(),r()()(),a(10,"p"),D(11),r()(),a(12,"form",19)(13,"spk-button-group")(14,"button",20),S("click",function(){return n.exportType.set("cmd")}),p(15,2),_(16,"spk-icon"),c(),r(),a(17,"button",20),S("click",function(){return n.exportType.set("file")}),p(18,3),_(19,"spk-icon"),c(),r()(),a(20,"spk-toggle",21),p(21,4),_(22,"input",22),c(),r(),F(23,Ae,3,0,"spk-toggle",23),F(24,Ge,24,8,"div",24),F(25,Ke,3,1,"div",25),r()),e&2){let i;s(4),E("routerLink",ee(14,we)),s(3),R("loading",n.isExporting()),E("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()||n.encryptionFieldSignal()&&n.exportForm.value.repeatPassword!==n.exportForm.value.password),s(4),Z("#",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.ID,": ",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.Name),s(),E("formGroup",n.exportForm),s(2),R("active",n.exportType()==="cmd"),s(3),R("active",n.exportType()==="file"),s(6),d(n.exportType()==="file"?23:-1),s(),d(n.encryptionFieldSignal()?24:-1),s(),d(n.exportedCmd()?25:-1)}},dependencies:[Oe,me,Te,Pe,Ce,Ee,Se,ge,ie,ae,ce,re,_e,le,se,pe,Fe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.copy[_ngcontent-%COMP%] spk-icon.spk-success[_ngcontent-%COMP%]{color:var(--success-8)}.hide[_ngcontent-%COMP%]{display:none}"],changeDetection:0})};export{b as default};
@@ -1 +1 @@
1
- import{a as D}from"./chunk-6JQM2X3B.js";import{b as L,d as j}from"./chunk-FZG6OXT3.js";import{e as m}from"./chunk-Y5IRBMLB.js";import{h as b}from"./chunk-DNJOKPEL.js";import{qa as $}from"./chunk-CWLTHXVS.js";import{Ab as I,Hc as d,Ic as G,Kb as _,Lb as w,Mb as A,Nb as F,Ob as M,Q as O,Qa as R,U as p,Z as c,ab as N,f as g,i as k,na as n,wc as P,yb as y,yc as W,zb as C}from"./chunk-BTMXQPBB.js";var S=class i{reconnectTimer=n(15e3);countdown=n(0);connectTimerEffect=G(()=>{let e=this.reconnectTimer();this.countdown.set(e/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(t){return new(t||i)};static \u0275cmp=N({type:i,selectors:[["app-disconnected-dialog"]],decls:8,vars:4,consts:()=>{let e;e=$localize`Reconnecting...`;let t;return t=$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:`,[e,t,["header",""],["content",""]]},template:function(t,s){t&1&&(y(0,"header",2)(1,"h3"),A(2,0),C()(),y(3,"div",3)(4,"p"),_(5,1),I(6,"strong"),P(7,"number"),w(),C()()),t&2&&(R(7),F(W(7,1,s.countdown(),"2.0-0")),M(5))},dependencies:[$],styles:["[_nghost-%COMP%]{display:block;padding:1rem}"],changeDetection:0})};var v=class i{dialog=c(m);#t=c(b);#i=n("disconnected");#s=n(null);#e=n(-1);#r=n(0);#l=n(!1);#u=new k;connectionStatus=this.#i.asReadonly();serverState=this.#s.asReadonly();#n=void 0;duration=c(L).relayIsEnabled()?"94s":"299s";start(){this.#l.set(!0),this.#u=new k,this.#o()}stop(){this.#u.next(),this.#u.complete(),this.#l.set(!1)}reconnect(){this.stop(),this.start()}reconnectIfNeeded(){this.#l()||this.reconnect()}#o(){this.#i.set("connecting"),this.#t.getApiV1Serverstate({lastEventId:this.#e(),longpoll:this.#e()>=0,duration:this.duration}).pipe(O(this.#u)).subscribe({next:e=>{e&&this.#c(e),this.#a()},error:e=>{let s=this.#r()+1,a=Math.min(5e3*s,3e4);this.#r.set(s),s>3&&this.#i.set("disconnected"),this.#n||(this.#n=this.dialog.open(S,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1})),this.#n.component.reconnectTimer.set(a),setTimeout(()=>{this.#o()},a)}})}#c(e){this.#i.set("connected"),this.#s.set(e),this.#e.set(e.LastEventID??-1),this.#r.set(0)}#a(){this.#l()&&this.#o()}static \u0275fac=function(t){return new(t||i)};static \u0275prov=p({token:i,factory:i.\u0275fac,providedIn:"root"})};var u=!1,T=class i{#t=c(j);#i=c(D);dialog=c(m);#s=null;#e=n("disconnected");#r=n(null);#l=n(null);#u=n(null);#n=n(null);#o=void 0;#c=n({legacystatus:!0});shouldConnect=n(!0);connectionStatus=this.#e.asReadonly();serverState=this.#r.asReadonly();serverProgress=this.#l.asReadonly();subscriptions=this.#c.asReadonly();serverTaskQueue=this.#u.asReadonly();backupListState=this.#n.asReadonly();#a=null;taskCompleted=new g(e=>{this.#a=e});#p=0;start(){this.#h(),this.shouldConnect.set(!0)}#h(){let e=this.#t.token();if(!e){console.error("No access token available");return}let t=window.location.protocol==="https:"?"wss:":"ws:",s=window.location.port?`:${window.location.port}`:"";window.location.port==="4200"&&(s=":8200");let a=window.location.hostname,f=this.#i.hasWebSocketAuth()?`${t}//${a}${s}/notifications`:`${t}//${a}${s}/notifications?token=${e}`;this.#e.set("connecting"),this.#s=new WebSocket(f),this.#s.onopen=()=>{u&&console.log("WebSocket connection established"),this.#i.hasWebSocketAuth()?(this.#e.set("authenticating"),this.#s?.send(JSON.stringify({Version:1,Token:e}))):this.#d()},this.#s.onmessage=h=>{if(this.#e()==="authenticating")try{let o=JSON.parse(h.data);o.Success?(u&&console.log("WebSocket authentication successful"),this.#d()):(console.error("WebSocket authentication failed:",o.Message),this.#e.set("disconnected"));return}catch(o){console.error("Error parsing WebSocket authentication reply",o),this.#e.set("disconnected");return}try{let o=JSON.parse(h.data),l=o?.Type;if(l==="legacystatus"||l==null)u&&console.log("Received legacy status update:",o),this.#r.set(o);else if(l==="reply"){let r=o;r.Success||console.error("WebSocket reply error:",r.Message)}else if(l==="progress"){let r=o;u&&console.log("Received progress update:",r.Data),this.#l.set(r.Data)}else if(l==="taskqueue"){let r=o;u&&console.log("Received task update:",r.Data),this.#u.set(r.Data)}else if(l==="taskcompleted"){let r=o;u&&console.log("Received task completed:",r.Data),this.#a?.next(r.Data)}else if(l==="backuplist"){let r=o;u&&console.log("Received backup list update:",r.Data),this.#n.set(r.Data)}else console.warn("Unknown WebSocket message type:",l)}catch(o){console.error("Error parsing WebSocket message",o)}},this.#s.onclose=h=>{u&&console.log("WebSocket connection closed",h),this.#e.set("disconnected"),this.shouldConnect()&&(this.#o||(this.#o=this.dialog.open(S,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1}),this.#o.component.reconnectTimer.set(15e3)),setTimeout(()=>this.#h(),5e3))},this.#s.onerror=h=>{console.error("WebSocket error",h),this.#e.set("disconnected")}}#d(){this.#e.set("connected");let e=this.#c();Object.keys(e).length>0&&Object.entries(e).forEach(([t,s])=>{s!=null&&this.sendSubscribeRequest(t,s)}),this.#o&&this.#o.close()}stop(){this.shouldConnect.set(!1),this.#s?.close()}reconnect(){this.#s?.close(),this.start()}reconnectIfNeeded(){this.#s?.readyState!==WebSocket.OPEN&&this.reconnect()}sendSubscribeRequest(e,t){this.#s?.send(JSON.stringify({Version:1,Id:`req-${++this.#p}`,Action:"sub",Service:e,Data:t||null}))}subscribe(e,t=void 0){let s=this.#c(),a=s[e];(!a||JSON.stringify(a)!==JSON.stringify(t||!0))&&(s[e]=t||!0,this.#c.set(s),this.#e()=="connected"&&this.sendSubscribeRequest(e,t))}unsubscribe(e){let t=this.#c();t[e]&&(delete t[e],this.#c.set(t),this.#e()=="connected"&&this.#s?.send(JSON.stringify({Version:1,Id:`req-${++this.#p}`,Action:"unsub",Service:e})))}static \u0275fac=function(t){return new(t||i)};static \u0275prov=p({token:i,factory:i.\u0275fac,providedIn:"root"})};var x=10,q=class i{#t=c(T);#i=c(v);#s=c(b);#e=c(D);#r=n("longpoll");#l=n(!1);#u=d(()=>this.#e.hasTaskCompletedOption()&&this.#r()==="websocket");#n={};#o=null;#c=!1;#a=[];constructor(){this.#t.subscribe("taskcompleted"),this.#t.taskCompleted.subscribe(e=>{if(this.#a.unshift(e),this.#a.length>x&&this.#a.pop(),!e.ID)return;let t=this.#n[e.ID];t&&(t.forEach(s=>{s.next(e),s.complete()}),delete this.#n[e.ID])})}connectionStatus=d(()=>this.#r()==="websocket"?this.#t.connectionStatus():this.#i.connectionStatus());isConnectionMethodSet=this.#l.asReadonly();serverState=d(()=>this.#r()==="websocket"?this.#t.serverState():this.#i.serverState());progressState=this.#t.serverProgress;taskQueueState=this.#t.serverTaskQueue;activeTaskQueueState=d(()=>this.#r()==="websocket"?this.#t.serverTaskQueue()?.map(t=>t.ID).filter(t=>t)??[]:(this.#i.serverState()?.SchedulerQueueIds??[]).map(t=>t.Item1).filter(t=>t));backupListState=d(()=>this.#t.backupListState());setConnectionMethod(e){e==="websocket"?(this.#t.reconnectIfNeeded(),this.#i.stop()):(this.#i.reconnectIfNeeded(),this.#t.stop()),this.#r.set(e),this.#l.set(!0)}getConnectionMethod(){return this.#r()}subscribe(e,t=null){this.#t.subscribe(e,t)}unsubscribe(e){this.#t.unsubscribe(e)}waitForTaskToComplete(e){return new g(t=>{let s=this.#a.find(a=>a.ID===e);if(s){t.next(s),t.complete();return}this.#n[e]=this.#n[e]||[],this.#n[e].push(t),this.#p()})}#p(){this.#c||this.#u()||(this.#c=!0,this.#h())}#h(){let e=Object.keys(this.#n).map(s=>parseInt(s,10));if(e.length===0){this.#d();return}let t=Math.min(...e);this.#s.getApiV1TaskByTaskid({taskid:t}).subscribe({next:s=>{s.TaskFinished!=null&&(this.#a.unshift(s),this.#a.length>x&&this.#a.pop(),this.#n[t].forEach(f=>{f.next(s),f.complete()}),delete this.#n[t])},complete:()=>{this.#o=window.setTimeout(()=>{this.#h()},1e3)},error:s=>{this.#o=window.setTimeout(()=>{this.#h()},3e3)}})}#d(){this.#o!==null&&(clearTimeout(this.#o),this.#o=null),this.#c=!1}static \u0275fac=function(t){return new(t||i)};static \u0275prov=p({token:i,factory:i.\u0275fac,providedIn:"root"})};export{q as a};
1
+ import{a as D}from"./chunk-6JQM2X3B.js";import{b as L,d as j}from"./chunk-3ZVSHKLD.js";import{e as m}from"./chunk-Y5IRBMLB.js";import{h as b}from"./chunk-DNJOKPEL.js";import{qa as $}from"./chunk-CWLTHXVS.js";import{Ab as I,Hc as d,Ic as G,Kb as _,Lb as w,Mb as A,Nb as F,Ob as M,Q as O,Qa as R,U as p,Z as c,ab as N,f as g,i as k,na as n,wc as P,yb as y,yc as W,zb as C}from"./chunk-BTMXQPBB.js";var S=class i{reconnectTimer=n(15e3);countdown=n(0);connectTimerEffect=G(()=>{let e=this.reconnectTimer();this.countdown.set(e/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(t){return new(t||i)};static \u0275cmp=N({type:i,selectors:[["app-disconnected-dialog"]],decls:8,vars:4,consts:()=>{let e;e=$localize`Reconnecting...`;let t;return t=$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:`,[e,t,["header",""],["content",""]]},template:function(t,s){t&1&&(y(0,"header",2)(1,"h3"),A(2,0),C()(),y(3,"div",3)(4,"p"),_(5,1),I(6,"strong"),P(7,"number"),w(),C()()),t&2&&(R(7),F(W(7,1,s.countdown(),"2.0-0")),M(5))},dependencies:[$],styles:["[_nghost-%COMP%]{display:block;padding:1rem}"],changeDetection:0})};var v=class i{dialog=c(m);#t=c(b);#i=n("disconnected");#s=n(null);#e=n(-1);#r=n(0);#l=n(!1);#u=new k;connectionStatus=this.#i.asReadonly();serverState=this.#s.asReadonly();#n=void 0;duration=c(L).relayIsEnabled()?"94s":"299s";start(){this.#l.set(!0),this.#u=new k,this.#o()}stop(){this.#u.next(),this.#u.complete(),this.#l.set(!1)}reconnect(){this.stop(),this.start()}reconnectIfNeeded(){this.#l()||this.reconnect()}#o(){this.#i.set("connecting"),this.#t.getApiV1Serverstate({lastEventId:this.#e(),longpoll:this.#e()>=0,duration:this.duration}).pipe(O(this.#u)).subscribe({next:e=>{e&&this.#c(e),this.#a()},error:e=>{let s=this.#r()+1,a=Math.min(5e3*s,3e4);this.#r.set(s),s>3&&this.#i.set("disconnected"),this.#n||(this.#n=this.dialog.open(S,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1})),this.#n.component.reconnectTimer.set(a),setTimeout(()=>{this.#o()},a)}})}#c(e){this.#i.set("connected"),this.#s.set(e),this.#e.set(e.LastEventID??-1),this.#r.set(0)}#a(){this.#l()&&this.#o()}static \u0275fac=function(t){return new(t||i)};static \u0275prov=p({token:i,factory:i.\u0275fac,providedIn:"root"})};var u=!1,T=class i{#t=c(j);#i=c(D);dialog=c(m);#s=null;#e=n("disconnected");#r=n(null);#l=n(null);#u=n(null);#n=n(null);#o=void 0;#c=n({legacystatus:!0});shouldConnect=n(!0);connectionStatus=this.#e.asReadonly();serverState=this.#r.asReadonly();serverProgress=this.#l.asReadonly();subscriptions=this.#c.asReadonly();serverTaskQueue=this.#u.asReadonly();backupListState=this.#n.asReadonly();#a=null;taskCompleted=new g(e=>{this.#a=e});#p=0;start(){this.#h(),this.shouldConnect.set(!0)}#h(){let e=this.#t.token();if(!e){console.error("No access token available");return}let t=window.location.protocol==="https:"?"wss:":"ws:",s=window.location.port?`:${window.location.port}`:"";window.location.port==="4200"&&(s=":8200");let a=window.location.hostname,f=this.#i.hasWebSocketAuth()?`${t}//${a}${s}/notifications`:`${t}//${a}${s}/notifications?token=${e}`;this.#e.set("connecting"),this.#s=new WebSocket(f),this.#s.onopen=()=>{u&&console.log("WebSocket connection established"),this.#i.hasWebSocketAuth()?(this.#e.set("authenticating"),this.#s?.send(JSON.stringify({Version:1,Token:e}))):this.#d()},this.#s.onmessage=h=>{if(this.#e()==="authenticating")try{let o=JSON.parse(h.data);o.Success?(u&&console.log("WebSocket authentication successful"),this.#d()):(console.error("WebSocket authentication failed:",o.Message),this.#e.set("disconnected"));return}catch(o){console.error("Error parsing WebSocket authentication reply",o),this.#e.set("disconnected");return}try{let o=JSON.parse(h.data),l=o?.Type;if(l==="legacystatus"||l==null)u&&console.log("Received legacy status update:",o),this.#r.set(o);else if(l==="reply"){let r=o;r.Success||console.error("WebSocket reply error:",r.Message)}else if(l==="progress"){let r=o;u&&console.log("Received progress update:",r.Data),this.#l.set(r.Data)}else if(l==="taskqueue"){let r=o;u&&console.log("Received task update:",r.Data),this.#u.set(r.Data)}else if(l==="taskcompleted"){let r=o;u&&console.log("Received task completed:",r.Data),this.#a?.next(r.Data)}else if(l==="backuplist"){let r=o;u&&console.log("Received backup list update:",r.Data),this.#n.set(r.Data)}else console.warn("Unknown WebSocket message type:",l)}catch(o){console.error("Error parsing WebSocket message",o)}},this.#s.onclose=h=>{u&&console.log("WebSocket connection closed",h),this.#e.set("disconnected"),this.shouldConnect()&&(this.#o||(this.#o=this.dialog.open(S,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1}),this.#o.component.reconnectTimer.set(15e3)),setTimeout(()=>this.#h(),5e3))},this.#s.onerror=h=>{console.error("WebSocket error",h),this.#e.set("disconnected")}}#d(){this.#e.set("connected");let e=this.#c();Object.keys(e).length>0&&Object.entries(e).forEach(([t,s])=>{s!=null&&this.sendSubscribeRequest(t,s)}),this.#o&&this.#o.close()}stop(){this.shouldConnect.set(!1),this.#s?.close()}reconnect(){this.#s?.close(),this.start()}reconnectIfNeeded(){this.#s?.readyState!==WebSocket.OPEN&&this.reconnect()}sendSubscribeRequest(e,t){this.#s?.send(JSON.stringify({Version:1,Id:`req-${++this.#p}`,Action:"sub",Service:e,Data:t||null}))}subscribe(e,t=void 0){let s=this.#c(),a=s[e];(!a||JSON.stringify(a)!==JSON.stringify(t||!0))&&(s[e]=t||!0,this.#c.set(s),this.#e()=="connected"&&this.sendSubscribeRequest(e,t))}unsubscribe(e){let t=this.#c();t[e]&&(delete t[e],this.#c.set(t),this.#e()=="connected"&&this.#s?.send(JSON.stringify({Version:1,Id:`req-${++this.#p}`,Action:"unsub",Service:e})))}static \u0275fac=function(t){return new(t||i)};static \u0275prov=p({token:i,factory:i.\u0275fac,providedIn:"root"})};var x=10,q=class i{#t=c(T);#i=c(v);#s=c(b);#e=c(D);#r=n("longpoll");#l=n(!1);#u=d(()=>this.#e.hasTaskCompletedOption()&&this.#r()==="websocket");#n={};#o=null;#c=!1;#a=[];constructor(){this.#t.subscribe("taskcompleted"),this.#t.taskCompleted.subscribe(e=>{if(this.#a.unshift(e),this.#a.length>x&&this.#a.pop(),!e.ID)return;let t=this.#n[e.ID];t&&(t.forEach(s=>{s.next(e),s.complete()}),delete this.#n[e.ID])})}connectionStatus=d(()=>this.#r()==="websocket"?this.#t.connectionStatus():this.#i.connectionStatus());isConnectionMethodSet=this.#l.asReadonly();serverState=d(()=>this.#r()==="websocket"?this.#t.serverState():this.#i.serverState());progressState=this.#t.serverProgress;taskQueueState=this.#t.serverTaskQueue;activeTaskQueueState=d(()=>this.#r()==="websocket"?this.#t.serverTaskQueue()?.map(t=>t.ID).filter(t=>t)??[]:(this.#i.serverState()?.SchedulerQueueIds??[]).map(t=>t.Item1).filter(t=>t));backupListState=d(()=>this.#t.backupListState());setConnectionMethod(e){e==="websocket"?(this.#t.reconnectIfNeeded(),this.#i.stop()):(this.#i.reconnectIfNeeded(),this.#t.stop()),this.#r.set(e),this.#l.set(!0)}getConnectionMethod(){return this.#r()}subscribe(e,t=null){this.#t.subscribe(e,t)}unsubscribe(e){this.#t.unsubscribe(e)}waitForTaskToComplete(e){return new g(t=>{let s=this.#a.find(a=>a.ID===e);if(s){t.next(s),t.complete();return}this.#n[e]=this.#n[e]||[],this.#n[e].push(t),this.#p()})}#p(){this.#c||this.#u()||(this.#c=!0,this.#h())}#h(){let e=Object.keys(this.#n).map(s=>parseInt(s,10));if(e.length===0){this.#d();return}let t=Math.min(...e);this.#s.getApiV1TaskByTaskid({taskid:t}).subscribe({next:s=>{s.TaskFinished!=null&&(this.#a.unshift(s),this.#a.length>x&&this.#a.pop(),this.#n[t].forEach(f=>{f.next(s),f.complete()}),delete this.#n[t])},complete:()=>{this.#o=window.setTimeout(()=>{this.#h()},1e3)},error:s=>{this.#o=window.setTimeout(()=>{this.#h()},3e3)}})}#d(){this.#o!==null&&(clearTimeout(this.#o),this.#o=null),this.#c=!1}static \u0275fac=function(t){return new(t||i)};static \u0275prov=p({token:i,factory:i.\u0275fac,providedIn:"root"})};export{q as a};
@@ -0,0 +1 @@
1
+ import{a as Ue}from"./chunk-N57J64DN.js";import{a as se}from"./chunk-WZNH4JPF.js";import{a as ne}from"./chunk-BCHZRC5K.js";import{b as pe}from"./chunk-LDIZ5E5Z.js";import{a as Ve}from"./chunk-J6BHRR34.js";import{a as H}from"./chunk-2BX65XJQ.js";import{a as oe}from"./chunk-6JQM2X3B.js";import{a as xe}from"./chunk-WXARH2SG.js";import{b as We,c as v,e as w,f as G,i as ze,j as B,l as Xe,o as x,q as V,r as W,s as Ye,t as z}from"./chunk-NSIELNIY.js";import{b as N,d as h}from"./chunk-2W6BEUGU.js";import{A as Be,a as b,e as De,g as D,l as Ae,p as ve,q as we,t as Ge}from"./chunk-Y5IRBMLB.js";import{h as A}from"./chunk-DNJOKPEL.js";import{la as ie}from"./chunk-CWLTHXVS.js";import{Ab as c,B as Oe,Bb as M,Cb as k,Eb as j,F as Y,H as O,Hc as le,Ic as L,Kb as d,L as fe,Lb as F,Mb as T,Nb as he,Ob as Pe,P as Ce,Q,Qa as u,Qb as f,Rb as $,U as Re,Z as p,ab as y,bc as Ie,da as C,ea as R,ec as q,fb as Ne,gc as ye,hc as Me,i as ge,jc as Z,kc as ee,lc as te,na as _,o as Te,rc as ke,sb as U,sc as $e,tb as K,wc as ae,x as re,xb as m,xc as Le,y as Ee,yb as r,yc as be,zb as l}from"./chunk-BTMXQPBB.js";var Ke=new W,He=()=>Ke.group({passphrase:Ke.control("")}),_e=class a{#t=p(A);#e=p(P);#o=p(h);#n=p(N);encryptionForm=this.#e.encryptionForm;creatingTemporaryBackup=_(!1);settings=_([]);next(){let i=this.#e.destinationTargetUrl();if(!i)throw new Error("No target URL");this.creatingTemporaryBackup.set(!0);let e=this.encryptionForm.value?.passphrase??null,t=[];e?t.push({Name:"--passphrase",Value:e}):t.push({Name:"--no-encryption",Value:"true"}),this.settings().forEach(o=>{let n=o.Name?.trim();n&&n!=="--"&&(n.startsWith("--")||(n=`--${n}`),t.push({Name:n,Value:o.Value??""}))}),this.#t.postApiV1Backups({requestBody:{Backup:{TargetURL:i,Settings:t}},temporary:!0}).pipe(O(()=>this.creatingTemporaryBackup.set(!1))).subscribe({next:o=>{let n=o.ID;this.#o.navigate([`/restore-draft/${n}`])},error:o=>{console.error(o)}})}back(){this.#e.isFileRestore()?this.#o.navigate(["destination"],{relativeTo:this.#n.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=y({type:a,selectors:[["app-restore-encryption"]],decls:16,vars:3,consts:()=>{let i;i=$localize`Enter backup passphrase if defined.`;let e;e=$localize`Password`;let t;t=$localize`Advanced options`;let o;o=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let n;return n=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `,[e,t,o,n,[3,"submit","formGroup"],["for","password"],["type","password","id","password","placeholder",i,"formControlName","passphrase"],["title",""],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){e&1&&(r(0,"form",4),f("submit",function(){return t.next()}),r(1,"spk-form-field")(2,"label",5),T(3,0),l(),c(4,"input",6),l(),r(5,"app-toggle-card"),M(6,7),T(7,1),k(),r(8,"app-options-list",8),te("optionsChange",function(n){return ee(t.settings,n)||(t.settings=n),n}),l()(),r(9,"div",9)(10,"button",10),f("click",function(){return t.back()}),d(11,2),c(12,"spk-icon"),F(),l(),r(13,"button",11),d(14,3),c(15,"spk-icon"),F(),l()()()),e&2&&(m("formGroup",t.encryptionForm),u(8),Z("options",t.settings),m("hasFreeTextSettings",!0))},dependencies:[z,B,v,w,G,x,V,Ae,b,D,ne,Ue],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Ze=()=>({standalone:!0});function et(a,i){a&1&&c(0,"spk-progress-bar",7)}function tt(a,i){if(a&1&&(q(0),ae(1,"bytes")),a&2){let e=$().$implicit;ye(" (",Le(1,1,e.FileSizes),") ")}}function it(a,i){if(a&1&&(r(0,"div",14),q(1),ae(2,"date"),U(3,tt,2,3),l()),a&2){let e=i.$implicit;u(),Me(" ",e.Version,": ",be(2,3,e.Time,"medium")," "),u(2),K(e.FileSizes?3:-1)}}function ot(a,i){a&1&&c(0,"spk-progress-bar",7)}function nt(a,i){if(a&1&&(r(0,"app-file-tree",13)(1,"label",15),T(2,4),l(),c(3,"input",16),l()),a&2){let e=$(2);m("rootPaths",e.rootPaths())("initialNodes",e.initialNodes())("backupSettings",e.backupSettings())("multiSelect",!0)("showFiles",!0)}}function st(a,i){if(a&1){let e=j();r(0,"spk-select",11),f("cleared",function(){C(e);let o=$();return R(o.abortLoading())}),r(1,"input",12),te("ngModelChange",function(o){C(e);let n=$();return ee(n.selectOption,o)||(n.selectOption=o),R(o)}),l(),Ne(2,it,4,6,"ng-template"),l(),U(3,ot,1,0,"spk-progress-bar",7),U(4,nt,4,5,"app-file-tree",13)}if(a&2){let e=$();m("options",e.versionOptions())("isClearable",!1),u(),Z("ngModel",e.selectOption),m("ngModelOptions",$e(6,Ze)),u(2),K(e.isRepairing()||e.versionOptionsLoading()||e.loadingRootPath()?3:-1),u(),K(e.showFileTree()?4:-1)}}var ue=new W,Je=()=>ue.group({filesToRestore:ue.control(""),passphrase:ue.control(null)}),de=class a{#t=p(A);#e=p(P);#o=p(Ve);#n=p(oe);#i=p(h);#s=p(N);#l=p(ie);#a=null;#p=null;#r=_([]);selectFilesForm=this.#e.selectFilesForm;selectFilesFormSignal=this.#e.selectFilesFormSignal;selectOption=this.#e.selectOption;backupId=this.#e.backupId;versionOptionsLoading=this.#e.versionOptionsLoading;versionOptions=this.#e.versionOptions;isFileRestore=this.#e.isFileRestore;needsDatabaseRepair=le(()=>this.#e.backup()?.Backup?.IsTemporary??!0);showFileTree=_(!1);backupSettings=_(null);rootPaths=_([]);initialNodes=_([]);loadingRootPath=_(!1);isRepairing=le(()=>this.#r().length>0);loadedVersions=_({});loadingEffect=L(()=>{if(this.versionOptionsLoading())return;let e=this.versionOptions();if(e&&e?.length>0){let t=e[0].Version;this.selectOption.set(t.toString())}});backupSettingsEffect=L(()=>{let i=this.backupId(),e=this.selectOption(),t=this.isRepairing(),o=this.loadedVersions();if(!e||!i)return;let s=this.versionOptions()?.find(J=>J.Version===parseInt(e))?.Time??null;if(!s)return;let S=`${i}+${s}`,E=o[S];if(this.needsDatabaseRepair()&&(!E||t))return;let I={id:i+"",time:s};this.backupSettings.set(I),this.getRootPath(I)});repairEffect=L(()=>{if(!this.needsDatabaseRepair())return;let i=this.selectOption(),e=this.versionOptions();if(i){let t=e.find(s=>s.Version===parseInt(i));if(t===void 0)return;let o=this.backupId(),n=`${o}+${t.Time}`;if(this.#p===n||(this.#p=n,this.#r().includes(n)))return;this.#r.update(s=>[...s,n]),this.#t.postApiV1BackupByIdRepairupdate({id:o,requestBody:{only_paths:!0,time:t.Time}}).pipe(Q(this.abortLoading$),O(()=>{this.#p=null})).subscribe(s=>{let S=s.ID;this.#o.waitForTaskToComplete(S).pipe(Y(1)).subscribe(()=>{this.#r.update(E=>E.filter(I=>I!==n)),this.loadedVersions.update(E=>(E[n]=!0,E))})})}});getRootPath(i){let e={id:i.id+"",time:i.time,prefixOnly:!0,folderContents:!1},t=i.id+"";this.isRepairing()||this.#a===t||(this.#a=t,this.loadingRootPath.set(!0),this.showFileTree.set(!1),this.#n.hasV2ListOperations()?this.#t.postApiV2BackupListFolder({requestBody:{BackupId:i.id,Time:i.time,Paths:null,PageSize:0,Page:0}}).pipe(Q(this.abortLoading$),O(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1),this.#a=null})).subscribe({next:o=>{let n=(o.Data??[]).map(s=>s.Path??"");n.length>0?(this.initialNodes.set([]),this.rootPaths.set(n)):(this.initialNodes.set([]),this.rootPaths.set(["/"]))}}):this.#t.getApiV1BackupByIdFiles(e).pipe(Q(this.abortLoading$),O(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1)})).subscribe({next:o=>{let n=o.Files.map(s=>s.Path??"");n.length>0?(this.initialNodes.set([]),this.rootPaths.set(n)):(this.initialNodes.set([]),this.rootPaths.set(["/"]))}}))}abortLoading$=new ge;abortLoading(){this.showFileTree.set(!1),this.loadingRootPath.set(!1),this.abortLoading$.next(!0)}displayFn(){let i=this.versionOptions();return e=>{if(!e)return"";let t=i?.find(o=>typeof o.Version=="number"&&o.Version.toString()===e);return t?`${t.Version}: ${this.#l.transform(t.Time,"medium")}`:""}}next(){this.#i.navigate(["options"],{relativeTo:this.#s.parent})}back(){this.#e.isFileRestore()?this.#i.navigate(["encryption"],{relativeTo:this.#s.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=y({type:a,selectors:[["app-select-files"]],features:[ke([ie])],decls:13,vars:3,consts:()=>{let i;i=$localize`Select files`;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let t;t=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let o;o=$localize`Select an option...`;let n;return n=$localize`Path`,[["formRef",""],i,e,t,n,[3,"submit","formGroup"],[1,"title-30"],[1,"indeterminate","primary"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["value","Version",3,"cleared","options","isClearable"],["type","text","placeholder",o,3,"ngModelChange","ngModel","ngModelOptions"],[3,"rootPaths","initialNodes","backupSettings","multiSelect","showFiles"],[1,"custom-option"],["for","path"],["type","text","id","path","formControlName","filesToRestore"]]},template:function(e,t){if(e&1){let o=j();r(0,"form",5,0),f("submit",function(){return C(o),R(t.next())}),r(2,"h3",6),T(3,1),l(),U(4,et,1,0,"spk-progress-bar",7)(5,st,5,7),r(6,"div",8)(7,"button",9),f("click",function(){return C(o),R(t.back())}),d(8,2),c(9,"spk-icon"),F(),l(),r(10,"button",10),d(11,3),c(12,"spk-icon"),F(),l()()()}e&2&&(m("formGroup",t.selectFilesForm),u(4),K(t.versionOptionsLoading()?4:5),u(5),he(t.isFileRestore()?"Back":"Exit"),Pe(8))},dependencies:[Ye,B,v,w,G,ze,z,x,V,ie,xe,se,D,b,Ge,ve],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var P=class a{#t=p(h);#e=p(N);#o=p(oe);#n=p(De);#i=p(A);backupId=_(null);backup=_(null);destinationTargetUrl=_(null);selectFilesForm=Je();optionsForm=Qe();encryptionForm=He();optionsFormSignal=pe(this.optionsForm.valueChanges);selectFilesFormSignal=pe(this.selectFilesForm.valueChanges);selectOption=_(null);versionOptionsLoading=_(!1);versionOptions=_([]);isSubmitting=_(!1);isFileRestore=_(!1);isFullWidthPage=_(!1);#s=_("");#l=_(null);#a=null;testSignal=this.#s.asReadonly();testErrorMessage=this.#l.asReadonly();#p=L(()=>{let i=this.destinationTargetUrl(),e=this.#s(),t=this.#a;this.#a=i,!(e==="testing"||t===null||t===i)&&(this.#s.set(""),this.#l.set(null))});init(i,e=!1){this.backupId.set(i),this.isFileRestore.set(e),e&&this.#t.navigate(["/restore-from-files/destination"]),e||this.getBackup(!0)}setTestState(i,e){this.#s.set(i),this.#l.set(e??null)}updateTargetUrl(i){this.destinationTargetUrl.set(i)}submit(){this.isSubmitting.set(!0);let i=this.backupId();this.backup()?.Backup?.IsTemporary??!1?this.#i.postApiV1BackupByIdCopytotemp({id:this.backupId()??""}).subscribe({next:t=>{this.#r(t.ID??"")},error:t=>this.showErrorDialog($localize`An error occurred while copying the backup to a temporary location: ${t.message}`)}):this.#r(i??"")}showErrorDialog(i){this.#n.open(H,{data:{title:$localize`Error occured`,message:i,confirmText:$localize`OK`,cancelText:void 0},closed:e=>{}})}#r(i){let e=this.optionsForm.value,t=this.selectFilesForm.value,o=this.selectOption(),n=this.versionOptions()?.find(s=>s.Version===(o&&parseInt(o)));this.#i.postApiV1BackupByIdRestore({id:i??"",requestBody:{paths:t.filesToRestore?.split("\0").map(s=>s.endsWith("/")||s.endsWith("\\")?`${s}*`:s)??[],passphrase:t.passphrase??null,time:n?.Time,restore_path:e.restoreFromPath,overwrite:e.handleExisting==="overwrite",permissions:e.permissions,skip_metadata:!e.includeMetadata}}).pipe(O(()=>this.isSubmitting.set(!1))).subscribe({next:s=>{this.#t.navigate([`./${s.ID}`,"progress"],{relativeTo:this.#e})},error:s=>{console.error("restore error",s)}})}exit(){this.#n.open(H,{data:{title:$localize`Confirm exit?`,message:$localize`Are you sure you want to exit?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:i=>{i&&(this.#_(),this.#t.navigate(["/"]))}})}getVersionOptions(){this.versionOptions()}loadFilesetsWithRetryv2(i,e=2){return this.#i.postApiV2BackupListFilesets({requestBody:{BackupId:i}}).pipe(Oe(t=>{let o=t?.error?.body?.StatusCode==="EncryptedStorageNoPassphrase",n=t?.error?.body?.StatusCode==="FolderMissing",s=t?.error?.body?.StatusCode==="EmptyRemoteFolder";return o||n||s||e===0?Te(()=>t):Ee(1e3).pipe(Ce(()=>this.loadFilesetsWithRetryv2(i,e-1)))}))}getBackup(i=!1){let e=this.backupId();this.versionOptionsLoading.set(!0),this.#o.hasV2ListOperations()?re([this.#i.getApiV1BackupById({id:e}),this.loadFilesetsWithRetryv2(e)]).pipe(Y(1),O(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,o])=>{if(o.Error)throw new Error(o.Error);if(!(t.Backup?.IsTemporary??!0)&&t?.Backup?.DBPathExists===!1){this.#n.open(H,{data:{title:$localize`Missing Local Database`,message:$localize`The local database for this backup is missing. Please repair or recreate the local database before restoring.`,confirmText:$localize`OK`,cancelText:void 0},closed:s=>{this.#t.navigate(["/backup",e,"database"])}});return}this.versionOptions.set((o.Data??[]).map(s=>({Version:s.Version??-1,IsFullBackup:s.IsFullBackup??void 0,Time:s.Time??"<missing>",FileCount:s.FileCount??void 0,FileSizes:s.FileSizes??void 0}))),this.backup.set(t)},error:t=>{let o=t?.error?.body?.StatusCode==="EncryptedStorageNoPassphrase",n=t?.error?.body?.StatusCode==="FolderMissing",s=t?.error?.body?.StatusCode==="EmptyRemoteFolder",S=$localize`An error occurred while loading the backup filesets: ${t.message}`;o&&(S=$localize`The remote storage is encrypted. Please enter the passphrase to access the backup.`),n&&(S=$localize`The backup storage folder was not found.`),s&&(S=$localize`The backup storage folder does not contain any filesets.`),this.#n.open(H,{data:{title:$localize`Failed to load backup filesets`,message:S,confirmText:$localize`OK`,cancelText:void 0},closed:E=>{this.#t.navigate([o?"/restore-from-files/encryption":"/restore-from-files/destination"])}})}}):re([this.#i.getApiV1BackupById({id:e}),this.#i.getApiV1BackupByIdFilesets({id:e}).pipe(fe(3))]).pipe(Y(1),O(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,o])=>{this.versionOptions.set(o.map(n=>({Version:n.Version??-1,IsFullBackup:(n.IsFullBackup??1)==1,Time:n.Time??"<missing>",FileCount:n.FileCount??void 0,FileSizes:n.FileSizes??void 0}))),this.backup.set(t)}})}#_(){this.selectFilesForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||a)};static \u0275prov=Re({token:a,factory:a.\u0275fac,providedIn:"root"})};var X=new W,Qe=()=>X.group({restoreFrom:X.control("orignal"),restoreFromPath:X.control(""),handleExisting:X.control("overwrite"),permissions:X.control(!1),includeMetadata:X.control(!0)}),Fe=class a{#t=p(P);#e=p(h);#o=p(N);optionsForm=this.#t.optionsForm;optionsFormSignal=this.#t.optionsFormSignal;isSubmitting=this.#t.isSubmitting;goBack(){this.#e.navigate(["select-files"],{relativeTo:this.#o.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=y({type:a,selectors:[["app-advanced-options-settings"]],decls:42,vars:7,consts:()=>{let i;i=$localize`Restore options`;let e;e=$localize`Where do you want to restore files to?`;let t;t=$localize` Original location ${"\uFFFD#9\uFFFD\uFFFD/#9\uFFFD"}:TAG_INPUT:`;let o;o=$localize` Pick location ${"\uFFFD#12\uFFFD\uFFFD/#12\uFFFD"}:TAG_INPUT:`;let n;n=$localize`How do you want to handle existing files?`;let s;s=$localize` Overwrite ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let S;S=$localize` Save different versions with timestamp in file name ${"\uFFFD#25\uFFFD\uFFFD/#25\uFFFD"}:TAG_INPUT:`;let E;E=$localize`Metadata settings`;let I;I=$localize` Restore file metadata ${"\uFFFD#31\uFFFD\uFFFD/#31\uFFFD"}:TAG_INPUT:`;let J;J=$localize` Restore read/write permissions ${"\uFFFD#34\uFFFD\uFFFD/#34\uFFFD"}:TAG_INPUT:`;let me;me=$localize`${"\uFFFD#38\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#38\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let Se;return Se=$localize`${"\uFFFD#41\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#41\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `,[["formRef",""],i,e,t,o,n,s,S,E,I,J,me,Se,[3,"submit","formGroup"],[1,"title-30"],[3,"disallowToggle"],["title",""],[1,"raised","primary"],["type","radio","name","restoreFrom","value","orignal","formControlName","restoreFrom"],["type","radio","name","restoreFrom","value","pickLocation","formControlName","restoreFrom"],[3,"disabled","enableCreateFolder"],["for","path"],["type","text","id","path","formControlName","restoreFromPath"],["type","radio","name","handleExisting","value","overwrite","formControlName","handleExisting"],["type","radio","name","handleExisting","value","saveTimestamp","formControlName","handleExisting"],[1,"primary","raised"],["type","checkbox","formControlName","includeMetadata"],["type","checkbox","formControlName","permissions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){if(e&1){let o=j();r(0,"form",13,0),f("submit",function(){return C(o),R(t.submit())}),r(2,"h3",14),T(3,1),l(),r(4,"app-toggle-card",15),M(5,16),T(6,2),k(),r(7,"spk-radio",17),d(8,3),c(9,"input",18),F(),l(),r(10,"spk-radio",17),d(11,4),c(12,"input",19),F(),l(),r(13,"app-file-tree",20)(14,"label",21),q(15,"Path"),l(),c(16,"input",22),l()(),r(17,"app-toggle-card",15),M(18,16),T(19,5),k(),r(20,"spk-radio",17),d(21,6),c(22,"input",23),F(),l(),r(23,"spk-radio",17),d(24,7),c(25,"input",24),F(),l()(),r(26,"app-toggle-card"),M(27,16),T(28,8),k(),r(29,"spk-toggle",25),d(30,9),c(31,"input",26),F(),l(),r(32,"spk-toggle",25),d(33,10),c(34,"input",27),F(),l()(),r(35,"div",28)(36,"button",29),f("click",function(){return C(o),R(t.goBack())}),d(37,11),c(38,"spk-icon"),F(),l(),r(39,"button",30),d(40,12),c(41,"spk-icon"),F(),l()()()}if(e&2){let o;m("formGroup",t.optionsForm),u(4),m("disallowToggle",!0),u(9),m("disabled",((o=t.optionsFormSignal())==null?null:o.restoreFrom)!=="pickLocation")("enableCreateFolder",!0),u(4),m("disallowToggle",!0),u(22),Ie("loader",t.isSubmitting())}},dependencies:[z,B,v,We,Xe,w,G,x,V,ne,se,Be,we,D,b],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};export{Qe as a,Fe as b,He as c,_e as d,Je as e,de as f,P as g};
@@ -0,0 +1 @@
1
+ import{a as Y,d as en}from"./chunk-TW56VFHP.js";import{a as nn}from"./chunk-XIOHRQ3X.js";import{a as Ze}from"./chunk-WZRDKVOR.js";import{a as Ye}from"./chunk-ULLALJQ2.js";import"./chunk-J6BHRR34.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import{a as Qe}from"./chunk-7QJG4IIT.js";import"./chunk-3ZVSHKLD.js";import{e as he}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as Q,f as Xe,g as we,h as ze,j as Ve,k as Ke,o as Ue,p as je,w as We,x as qe}from"./chunk-Y5IRBMLB.js";import{h as Je}from"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import{$b as K,Ab as d,Ac as J,Bb as m,Cb as M,Db as f,Eb as x,H as j,Ic as ve,Kb as s,Lb as u,Mb as T,Nb as A,Ob as R,Pb as W,Qa as _,Qb as $,Rb as p,Z as h,ab as He,bc as H,da as N,ea as D,ec as r,fb as O,fc as Be,gc as E,jc as Le,kc as Ge,lc as be,na as X,pb as xe,qb as ye,sb as C,sc as q,tb as S,tc as P,ub as w,vb as z,wb as V,wc as k,xb as g,xc as y,yb as o,yc as I,zb as t}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var an=()=>[import("./chunk-AFLQOHXV.js").then(n=>n.NgTemplateOutlet),Q,Ve,qe,We,import("./chunk-3JKXOOME.js").then(n=>n.DurationFormatPipe),import("./chunk-HLYFP2CB.js").then(n=>n.BytesPipe),import("./chunk-NS4PAVKI.js").then(n=>n.RelativeTimePipe)],_n=()=>["/add-backup"],ln=()=>["/restore"],on=n=>({$implicit:n}),rn=n=>["/backup",n],cn=n=>["/restore",n],sn=n=>["/backup",n,"export"],un=n=>["/backup",n,"delete"],pn=n=>["/backup",n,"database"],Fn=n=>["/backup",n,"commandline"],dn=n=>["/backup",n,"log"];function gn(n,i){if(n&1){let e=x();o(0,"button",51),$("click",function(){let c=N(e).$implicit,F=p(2);return D(F.sortByColumn.set(c.value))}),T(1,15),t()}if(n&2){let e=i.$implicit,a=p(2);H("active",a.orderBy()===e.value),_(),A(e.label),R(1)}}function Tn(n,i){if(n&1&&(o(0,"spk-menu",52)(1,"button",53),s(2,14),d(3,"strong")(4,"spk-icon"),u(),t(),m(5,54),z(6,gn,2,3,"button",55,w),M(),t()),n&2){let e=p();_(4),A(e.orderBy()),R(2),_(2),V(e.sortOrderOptions())}}function Cn(n,i){if(n&1&&(o(0,"p")(1,"span"),T(2,21),t(),r(3),k(4,"relativeTime"),t()),n&2){let e=p().$implicit,a=p(4);_(3),E(" ",I(4,1,e.Schedule==null?null:e.Schedule.Time,a.timeType()==="actual")," ")}}function Sn(n,i){if(n&1&&(r(0),k(1,"durationFormat")),n&2){let e=p().$implicit,a=p(4);E(" ",I(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration,a.timeType()==="actual")," ")}}function En(n,i){n&1&&(m(0),r(1,"-"),M())}function mn(n,i){if(n&1&&(r(0),k(1,"bytes")),n&2){let e=p().$implicit;E(" ",y(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function Mn(n,i){n&1&&(m(0),r(1,"-"),M())}function On(n,i){if(n&1&&(r(0),k(1,"bytes")),n&2){let e=p().$implicit;E(" ",y(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function kn(n,i){n&1&&(m(0),r(1,"-"),M())}function Nn(n,i){n&1&&f(0)}function Dn(n,i){if(n&1&&(o(0,"div",58)(1,"div",45)(2,"h3"),r(3),o(4,"spk-chip")(5,"spk-icon"),r(6),t(),r(7),t()(),o(8,"p")(9,"span"),T(10,16),t(),r(11),k(12,"relativeTime"),t(),C(13,Cn,5,4,"p"),o(14,"p")(15,"span"),T(16,17),t(),C(17,Sn,2,4)(18,En,2,0,"ng-container"),t(),o(19,"p")(20,"span"),T(21,18),t(),C(22,mn,2,3)(23,Mn,2,0,"ng-container"),t(),o(24,"p")(25,"span"),T(26,19),t(),C(27,On,2,3)(28,kn,2,0,"ng-container"),t()(),o(29,"spk-chip",59),T(30,20),t(),o(31,"div",49),O(32,Nn,1,0,"ng-container",60),t()()),n&2){let e=i.$implicit,a=p(4),c=K(51);_(3),E(" ",(e.Backup==null?null:e.Backup.Name)??a.MISSING_BACKUP_NAME," "),_(3),Be(a.getBackendIcon(e.Backup==null?null:e.Backup.TargetURL)),_(),E(" ",a.getBackendType(e.Backup==null?null:e.Backup.TargetURL)," "),_(4),E(" ",I(12,12,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupFinished,a.timeType()==="actual")," "),_(2),S(e.Schedule!=null&&e.Schedule.Time?13:-1),_(4),S(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.LastBackupDuration?17:18),_(5),S(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.SourceFilesSize?22:23),_(5),S(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.TargetFilesSize?27:28);let F=a.getBackupVersionCount(e);_(3),A(F)(F),R(30),_(2),g("ngTemplateOutlet",c)("ngTemplateOutletContext",P(15,on,e))}}function fn(n,i){if(n&1&&z(0,Dn,33,17,"div",58,w),n&2){let e=p(3);V(e.backups())}}function Pn(n,i){n&1&&(m(0),T(1,22),M())}function $n(n,i){if(n&1&&(o(0,"div",56),C(1,fn,2,0)(2,Pn,2,0,"ng-container"),t()),n&2){let e=p(2);_(),S(e.backups().length?1:2)}}function In(n,i){n&1&&(s(0,23,1),f(1),u())}function An(n,i){n&1&&(s(0,24,1),f(1),u())}function Rn(n,i){n&1&&(s(0,25,1),f(1),u())}function Hn(n,i){n&1&&(s(0,26,1),f(1),u())}function xn(n,i){n&1&&(s(0,27,1),f(1),u())}function yn(n,i){n&1&&(s(0,28,1),f(1),u())}function Bn(n,i){n&1&&(s(0,29,1),f(1),u())}function Ln(n,i){if(n&1&&(r(0),k(1,"relativeTime")),n&2){let e=p().$implicit,a=p(3);E(" ",I(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDate,a.timeType()==="actual")," ")}}function Gn(n,i){n&1&&(m(0),r(1,"-"),M())}function bn(n,i){if(n&1&&(r(0),k(1,"relativeTime")),n&2){let e=p().$implicit,a=p(3);E(" ",I(1,1,e.Schedule==null?null:e.Schedule.Time,a.timeType()==="actual")," ")}}function vn(n,i){n&1&&(m(0),r(1,"-"),M())}function hn(n,i){if(n&1&&(r(0),k(1,"durationFormat")),n&2){let e=p().$implicit,a=p(3);E(" ",I(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration,a.timeType()==="actual")," ")}}function Xn(n,i){n&1&&(m(0),r(1,"-"),M())}function wn(n,i){if(n&1&&(r(0),k(1,"bytes")),n&2){let e=p().$implicit;E(" ",y(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function zn(n,i){n&1&&(m(0),r(1,"-"),M())}function Vn(n,i){if(n&1&&(r(0),k(1,"bytes")),n&2){let e=p().$implicit;E(" ",y(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function Kn(n,i){n&1&&(m(0),r(1,"-"),M())}function Un(n,i){n&1&&f(0)}function jn(n,i){if(n&1&&(o(0,"tr")(1,"td"),r(2),t(),o(3,"td"),r(4),t(),o(5,"td"),C(6,Ln,2,4)(7,Gn,2,0,"ng-container"),t(),o(8,"td"),C(9,bn,2,4)(10,vn,2,0,"ng-container"),t(),o(11,"td"),C(12,hn,2,4)(13,Xn,2,0,"ng-container"),t(),o(14,"td"),C(15,wn,2,3)(16,zn,2,0,"ng-container"),t(),o(17,"td"),C(18,Vn,2,3)(19,Kn,2,0,"ng-container"),t(),o(20,"td")(21,"span"),T(22,32),t()(),o(23,"td"),O(24,Un,1,0,"ng-container",60),t()()),n&2){let e=i.$implicit,a=p(3),c=K(51);_(2),E(" ",(e.Backup==null?null:e.Backup.Name)??a.MISSING_BACKUP_NAME," "),_(2),E(" ",a.getBackendType(e.Backup==null?null:e.Backup.TargetURL)," "),_(2),S(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.LastBackupDate?6:7),_(3),S(e.Schedule!=null&&e.Schedule.Time?9:10),_(3),S(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.LastBackupDuration?12:13),_(3),S(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.SourceFilesSize?15:16),_(3),S(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.TargetFilesSize?18:19);let F=a.getBackupVersionCount(e);_(4),A(F)(F),R(22),_(2),g("ngTemplateOutlet",c)("ngTemplateOutletContext",P(11,on,e))}}function Wn(n,i){if(n&1){let e=x();o(0,"spk-table",61),be("sortByColumnChange",function(c){N(e);let F=p(2);return Ge(F.sortByColumn,c)||(F.sortByColumn=c),D(c)}),o(1,"tr",62)(2,"th",63),s(3,23),O(4,In,2,0,"ng-container",64),u(),t(),o(5,"th",65),s(6,24),O(7,An,2,0,"ng-container",64),u(),t(),o(8,"th",66),s(9,25),O(10,Rn,2,0,"ng-container",64),u(),t(),o(11,"th",67),s(12,26),O(13,Hn,2,0,"ng-container",64),u(),t(),o(14,"th",68),s(15,27),O(16,xn,2,0,"ng-container",64),u(),t(),o(17,"th",69),s(18,28),O(19,yn,2,0,"ng-container",64),u(),t(),o(20,"th",70),s(21,29),O(22,Bn,2,0,"ng-container",64),u(),t(),o(23,"th"),T(24,30),t(),o(25,"th"),T(26,31),t()(),z(27,jn,25,13,"tr",null,w),t()}if(n&2){let e=p(2),a=K(53);g("data",e.backups())("loading",e.backupsLoading()),Le("sortByColumn",e.sortByColumn),_(4),g("ngTemplateOutlet",a),_(3),g("ngTemplateOutlet",a),_(3),g("ngTemplateOutlet",a),_(3),g("ngTemplateOutlet",a),_(3),g("ngTemplateOutlet",a),_(3),g("ngTemplateOutlet",a),_(3),g("ngTemplateOutlet",a),_(5),V(e.backups())}}function qn(n,i){if(n&1&&C(0,$n,3,1,"div",56)(1,Wn,29,10,"spk-table",57),n&2){let e=p();S(e.viewMode()==="list"?0:e.viewMode()==="details"?1:-1)}}function Jn(n,i){n&1&&(o(0,"div",71),d(1,"spk-progress-bar",72),o(2,"div",45)(3,"h3"),T(4,33),t()()())}function Qn(n,i){n&1&&T(0,34,1)}function Yn(n,i){n&1&&(o(0,"spk-icon"),r(1,"check"),t())}function Zn(n,i){n&1&&(o(0,"spk-icon"),r(1,"dots-three-vertical"),t())}function et(n,i){if(n&1){let e=x();o(0,"button",73),$("click",function(){let c=N(e).$implicit,F=p();return D(F.startBackup(c.Backup==null?null:c.Backup.ID))}),s(1,34),d(2,"spk-icon"),C(3,Qn,1,0),u(),t(),o(4,"button",74)(5,"spk-icon"),r(6,"pencil-simple"),t()(),o(7,"spk-menu",75)(8,"button",46),C(9,Yn,2,0,"spk-icon")(10,Zn,2,0,"spk-icon"),t(),m(11,54),o(12,"h3",76),r(13,"Operations"),t(),o(14,"button",77),s(15,35),d(16,"spk-icon"),u(),t(),o(17,"button",77),s(18,36),d(19,"spk-icon"),u(),t(),o(20,"button",77),s(21,37),d(22,"spk-icon"),u(),t(),d(23,"spk-divider"),o(24,"h3",76),r(25,"Advanced"),t(),o(26,"button",77),s(27,38),d(28,"spk-icon"),u(),t(),o(29,"button",51),$("click",function(){let c=N(e).$implicit,F=p();return D(F.verifyFiles(c.Backup==null?null:c.Backup.ID))}),s(30,39),d(31,"spk-icon"),u(),t(),o(32,"button",51),$("click",function(){let c=N(e).$implicit,F=p();return D(F.compressBackup(c.Backup==null?null:c.Backup.ID))}),s(33,40),d(34,"spk-icon"),u(),t(),o(35,"button",77),s(36,41),d(37,"spk-icon"),u(),t(),d(38,"spk-divider"),o(39,"h3",76),r(40,"Reporting"),t(),o(41,"button",77),s(42,42),d(43,"spk-icon"),u(),t(),M(),t()}if(n&2){let e=i.$implicit,a=p();H("loader",a.startingBackup()===(e.Backup==null?null:e.Backup.ID)),_(3),S(a.viewMode()==="list"?3:-1),_(),g("routerLink",P(16,rn,e.Backup==null?null:e.Backup.ID)),_(3),g("right",!0),_(),H("loader",a.loadingId()===(e.Backup==null?null:e.Backup.ID))("success",a.successId()===(e.Backup==null?null:e.Backup.ID)),_(),S(a.successId()===(e.Backup==null?null:e.Backup.ID)?9:10),_(5),g("routerLink",P(18,cn,e.Backup==null?null:e.Backup.ID)),_(3),g("routerLink",P(20,sn,e.Backup==null?null:e.Backup.ID)),_(3),g("routerLink",P(22,un,e.Backup==null?null:e.Backup.ID)),_(6),g("routerLink",P(24,pn,e.Backup==null?null:e.Backup.ID)),_(9),g("routerLink",P(26,Fn,e.Backup==null?null:e.Backup.ID)),_(6),g("routerLink",P(28,dn,e.Backup==null?null:e.Backup.ID))}}function nt(n,i){n&1&&(o(0,"spk-icon",78),r(1,"funnel-simple"),t(),o(2,"spk-icon",79),r(3,"sort-ascending"),t(),o(4,"spk-icon",80),r(5,"sort-descending"),t())}var tn={file:{Display:$localize`Local`,Icon:null}},Z=class n{#n=h(Je);#t=h(Ze);#e=h(Ye);MISSING_BACKUP_NAME=$localize`Backup name missing`;sortOrderOptions=this.#e.orderByOptions;orderBy=this.#e.orderBy;backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;startingBackup=this.#e.startingBackup;deletingBackup=this.#e.deletingBackup;timeType=this.#e.timeType;viewMode=Qe("viewMode","list");sortByColumn=X(this.#e.orderBy());loadingId=X(null);successId=X(null);sortEffect=ve(()=>this.#e.setOrderBy(this.sortByColumn()));ngOnInit(){this.#e.getBackups(!0)}setOrderBy(i){this.#e.setOrderBy(i)}setTimeType(i){this.#e.setTimeType(i)}startBackup(i){this.#t.resumeDialogCheck(()=>this.#e.startBackup(i))}getBackendIcon(i){if(!i)return"";let e=i.split("://")[0],a=Y(e);return tn[a.key]?.Icon??"database"}getBackendType(i){if(!i)return"";let e=i.split("://")[0],a=Y(e);if(!a)return"";let c=tn[a.key];if(c?.Display)return c.Display;if(a.key==="s3"){let F="http://null?"+i.split("?")[1],B=new URL(F).searchParams.get("s3-server-name")?.toLowerCase()??"";for(let[L,G]of Object.entries(en))if(B.endsWith(L))return G}return a.displayName}getBackupVersionCount(i){return parseInt(i?.Backup?.Metadata?.BackupListCount??"",10)||0}verifyFiles(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdVerify({id:i}).pipe(j(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}compressBackup(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdCompact({id:i}).pipe(j(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=He({type:n,selectors:[["app-home"]],decls:54,vars:11,consts:()=>{let i;i=$localize`Backups`;let e;e=$localize`Backups are stored in the cloud and can be restored at any time.`;let a;a=$localize` Add ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let c;c=$localize`Restores`;let F;F=$localize`Restores allow you to restore your data from the cloud.`;let U;U=$localize` Start ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let B;B=$localize`My backups`;let L;L=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SPK_ICON:rows${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SPK_ICON: List `;let G;G=$localize`${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON:list${"\uFFFD/#34\uFFFD"}:CLOSE_TAG_SPK_ICON: Details `;let ee;ee=$localize` Time: ${"\uFFFD#38\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#38\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#39\uFFFD"}:START_TAG_SPK_ICON:clock${"\uFFFD/#39\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let ne;ne=$localize`Relative time`;let te;te=$localize`Actual time`;let ie;ie=$localize` Order by: ${"\uFFFD#3\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:arrows-down-up${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let oe;oe=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let ae;ae=$localize`Last successful backup:`;let _e;_e=$localize`Duration:`;let le;le=$localize`Source:`;let re;re=$localize`Destination:`;let b;b=$localize`{VAR_PLURAL, plural, =0 {No version yet} =1 {1 Version} other {{INTERPOLATION} Versions}}`,b=W(b,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let ce;ce=$localize` ${b}:ICU@@6502601490918455200: `;let se;se=$localize`Next scheduled run:`;let ue;ue=$localize`No backups founds`;let pe;pe=$localize` Backup ${"\uFFFD*4:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*4:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Fe;Fe=$localize` Type ${"\uFFFD*7:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*7:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let de;de=$localize` Last backup ${"\uFFFD*10:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*10:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let ge;ge=$localize` Next run ${"\uFFFD*13:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*13:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Te;Te=$localize` Duration ${"\uFFFD*16:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*16:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Ce;Ce=$localize` Source ${"\uFFFD*19:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*19:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Se;Se=$localize` Destination ${"\uFFFD*22:1\uFFFD\uFFFD#1:1\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD/#1:1\uFFFD\uFFFD/*22:1\uFFFD"}:CLOSE_TAG_NG_CONTAINER:`;let Ee;Ee=$localize`Version`;let me;me=$localize`Actions`;let v;v=$localize`{VAR_PLURAL, plural, =0 {No versions} =1 {1 Version} other {{INTERPOLATION} Versions}}`,v=W(v,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let Me;Me=$localize` ${v}:ICU@@3521773141017690117: `;let Oe;Oe=$localize`Loading backups...`;let ke;ke=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:play-circle${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF: Start ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:`;let Ne;Ne=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let De;De=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:export${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Export `;let fe;fe=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let Pe;Pe=$localize`${"\uFFFD#28\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SPK_ICON: Database `;let $e;$e=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SPK_ICON:check-square-offset${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SPK_ICON: Verify files `;let Ie;Ie=$localize`${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON:file-archive${"\uFFFD/#34\uFFFD"}:CLOSE_TAG_SPK_ICON: Compress now `;let Ae;Ae=$localize`${"\uFFFD#37\uFFFD"}:START_TAG_SPK_ICON:terminal-window${"\uFFFD/#37\uFFFD"}:CLOSE_TAG_SPK_ICON: Commandline `;let Re;return Re=$localize`${"\uFFFD#43\uFFFD"}:START_TAG_SPK_ICON:notepad${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_SPK_ICON: Log `,[["actions",""],["sortIcons",""],i,e,a,c,F,U,B,L,G,ee,ne,te,ie,oe,ae,_e,le,re,ce,se,ue,pe,Fe,de,ge,Te,Ce,Se,Ee,me,Me,Oe,ke,Ne,De,fe,Pe,$e,Ie,Ae,Re,[1,"type-a",3,"routerLink"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["type","button","spk-button",""],["src","assets/images/restore.png","alt","","width","48px"],[1,"content"],[1,"actions"],[1,"small"],["type","button",3,"click"],[1,"table-overview"],["type","button","spk-button","",1,"small"],["menu",""],["type","button",3,"active"],[1,"backups"],[1,"type-b",3,"data","loading","sortByColumn"],[1,"backup"],[1,"simple","success"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"type-b",3,"sortByColumnChange","data","loading","sortByColumn"],["table-header",""],["spkSort","name"],[4,"ngTemplateOutlet"],["spkSort","type"],["spkSort","lastrun"],["spkSort","nextrun"],["spkSort","duration"],["spkSort","sourcesize"],["spkSort","destinationsize"],[1,"loading-list"],[1,"indeterminate","primary"],["spk-button","",3,"click"],["type","button","spk-button","",3,"routerLink"],[3,"right"],["title",""],["type","button",3,"routerLink"],[1,"filter"],[1,"asc"],[1,"desc"]]},template:function(e,a){if(e&1){let c=x();d(0,"app-status-bar"),o(1,"section")(2,"header")(3,"spk-card",43),d(4,"img",44),o(5,"div",45)(6,"h3"),T(7,2),t(),o(8,"p"),T(9,3),t()(),o(10,"button",46),s(11,4),d(12,"spk-icon"),u(),t()(),o(13,"spk-card",43),d(14,"img",47),o(15,"div",45)(16,"h3"),T(17,5),t(),o(18,"p"),T(19,6),t()(),o(20,"button",46),s(21,7),d(22,"spk-icon"),u(),t()()(),o(23,"div",48)(24,"h2"),m(25),T(26,8),M(),o(27,"div",49)(28,"spk-button-group",50)(29,"button",51),$("click",function(){return N(c),D(a.viewMode.set("list"))}),s(30,9),d(31,"spk-icon"),u(),t(),o(32,"button",51),$("click",function(){return N(c),D(a.viewMode.set("details"))}),s(33,10),d(34,"spk-icon"),u(),t()(),o(35,"spk-menu",52)(36,"button",53),s(37,11),d(38,"strong")(39,"spk-icon"),u(),t(),m(40,54),o(41,"button",51),$("click",function(){return N(c),D(a.setTimeType("relative"))}),T(42,12),t(),o(43,"button",51),$("click",function(){return N(c),D(a.setTimeType("actual"))}),T(44,13),t(),M(),t(),C(45,Tn,8,1,"spk-menu",52),t()(),O(46,qn,2,1)(47,Jn,5,0),xe(48,46,an,null,47),t()(),O(50,et,44,30,"ng-template",null,0,J)(52,nt,6,0,"ng-template",null,1,J)}e&2&&(_(3),g("routerLink",q(9,_n)),_(10),g("routerLink",q(10,ln)),_(16),H("active",a.viewMode()==="list"),_(3),H("active",a.viewMode()==="details"),_(7),A(a.timeType()),R(37),_(6),S(a.viewMode()==="list"?45:-1),_(3),ye(!a.backupsLoading()))},dependencies:[he,nn,ze,we,Q,Ke,Ue,je,Xe],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}header[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem;gap:1rem}spk-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}spk-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.content[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{padding:0 2rem}.backups[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem;gap:.5rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-12)}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.sortable[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.sortable[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{margin-left:.5rem;font-size:1rem;justify-self:flex-end;display:none}.sortable[_ngcontent-%COMP%]:not(.sort-asc):not(.sort-desc) spk-icon.filter[_ngcontent-%COMP%]{display:block}.sortable.sort-asc[_ngcontent-%COMP%] spk-icon.asc[_ngcontent-%COMP%]{display:block;color:var(--base-12)}.sortable.sort-desc[_ngcontent-%COMP%] spk-icon.desc[_ngcontent-%COMP%]{display:block;color:var(--base-12)}"],changeDetection:0})};export{Z as default};
@@ -0,0 +1 @@
1
+ import{a as Ue}from"./chunk-XIOHRQ3X.js";import{a as ze}from"./chunk-BCHZRC5K.js";import{b as Xe,c as ue}from"./chunk-LDIZ5E5Z.js";import"./chunk-WZRDKVOR.js";import{a as Ke}from"./chunk-ULLALJQ2.js";import"./chunk-J6BHRR34.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import{a as Z}from"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-7QJG4IIT.js";import"./chunk-3ZVSHKLD.js";import{b as ye,e as Be}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as j,g as se,j as xe,k as be,p as Fe,y as he}from"./chunk-Y5IRBMLB.js";import{h as pe}from"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import{la as W,oa as re}from"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{a as ee}from"./chunk-AM7RYTIO.js";import"./chunk-B6OIHB5W.js";import{Ab as s,Bb as P,Cb as G,Eb as K,Hc as ve,Kb as L,Lb as S,Mb as _,Nb as p,Nc as _e,Ob as u,Pb as D,Qa as l,Qb as $,Rb as E,Z as B,ab as z,bc as f,da as M,ea as R,ec as g,fc as U,gc as I,hc as $e,ic as fe,mc as Ie,na as N,nc as ke,oc as V,r as X,sb as C,tb as m,ub as x,vb as b,wb as h,wc as c,xb as w,xc as T,yb as a,yc as A,zb as i,zc as k}from"./chunk-BTMXQPBB.js";import{a as le}from"./chunk-EUDKD2JW.js";function We(n,t){n&1&&s(0,"spk-progress-bar",32)}function je(n,t){n&1&&s(0,"div",35)}function Je(n,t){n&1&&s(0,"div",35)}function qe(n,t){n&1&&s(0,"div",36)}function He(n,t){n&1&&s(0,"div",37)}function Qe(n,t){if(n&1&&(a(0,"details",46)(1,"summary"),L(2,15),s(3,"spk-icon"),a(4,"div",47),s(5,"spk-icon",40),i(),S(),i(),a(6,"div",48)(7,"p"),_(8,16),c(9,"date"),i(),a(10,"p"),_(11,17),c(12,"date"),i(),a(13,"p"),_(14,18),c(15,"durationFormat"),i(),a(16,"p"),_(17,19),i(),s(18,"spk-divider"),a(19,"p"),_(20,20),i(),a(21,"p"),_(22,21),i()()(),a(23,"details",46)(24,"summary"),L(25,22),s(26,"spk-icon"),a(27,"div",47),s(28,"spk-icon",40),i(),S(),i(),a(29,"div",48)(30,"p"),_(31,23),c(32,"date"),i(),a(33,"p"),_(34,24),c(35,"date"),i(),a(36,"p"),_(37,25),c(38,"durationFormat"),i(),s(39,"spk-divider"),a(40,"p"),_(41,26),c(42,"bytes"),i(),a(43,"p"),_(44,27),c(45,"bytes"),i(),a(46,"p"),_(47,28),c(48,"bytes"),i(),s(49,"spk-divider"),a(50,"p"),_(51,29),i(),a(52,"p"),_(53,30),i()()()),n&2){let e=E(2).$implicit;l(9),p(A(9,17,e.data==null||e.data.TestResults==null?null:e.data.TestResults.BeginTime,"medium")),u(8),l(3),p(A(12,20,e.data==null||e.data.TestResults==null?null:e.data.TestResults.EndTime,"medium")),u(11),l(3),p(T(15,23,e.data==null||e.data.TestResults==null?null:e.data.TestResults.Duration)),u(14),l(2),p(e.data==null||e.data.TestResults==null?null:e.data.TestResults.VerificationsActualLength),u(17),l(3),p(e.data==null||e.data.TestResults==null?null:e.data.TestResults.WarningsActualLength),u(20),l(2),p(e.data==null||e.data.TestResults==null?null:e.data.TestResults.ErrorsActualLength),u(22),l(10),p(A(32,25,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.BeginTime,"medium")),u(31),l(3),p(A(35,28,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.EndTime,"medium")),u(34),l(3),p(T(38,31,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.Duration)),u(37),l(4),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileCount)(k(42,33,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileSize,!0,!0)),u(41),l(3),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileCount)(k(45,37,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileSize,!0,!0)),u(44),l(3),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileCount)(k(48,41,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileSize,!0,!0)),u(47),l(3),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.WarningsActualLength),u(51),l(2),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.ErrorsActualLength),u(53)}}function Ye(n,t){if(n&1&&(a(0,"code"),g(1),c(2,"json"),i()),n&2){let e=t.$implicit;l(),U(T(2,1,e))}}function Ze(n,t){if(n&1&&(a(0,"details",46)(1,"summary"),L(2,31),s(3,"spk-icon"),a(4,"div",47),s(5,"spk-icon",40),i(),S(),i(),a(6,"div",48),b(7,Ye,3,3,"code",null,x),i()()),n&2){let e=E(2).$implicit;l(5),p(e.data.VerificationsActualLength),u(2),l(2),h(e.data.Verifications)}}function en(n,t){if(n&1&&(a(0,"code"),g(1),c(2,"json"),i()),n&2){let e=t.$implicit;l(),U(T(2,1,e))}}function nn(n,t){n&1&&(a(0,"p"),g(1,"No errors"),i())}function tn(n,t){if(n&1&&(a(0,"code"),g(1),c(2,"json"),i()),n&2){let e=t.$implicit;l(),U(T(2,1,e))}}function on(n,t){if(n&1&&(a(0,"section",41)(1,"app-toggle-card",42),P(2,43),a(3,"h3"),_(4,0),i(),G(),P(5,44),a(6,"p"),_(7,1),c(8,"date"),i(),a(9,"p"),_(10,2),c(11,"date"),i(),a(12,"p"),_(13,3),c(14,"durationFormat"),i(),G(),i(),a(15,"app-toggle-card",42),P(16,43),a(17,"h3"),_(18,4),i(),G(),P(19,44),a(20,"p"),_(21,5),c(22,"bytes"),i(),a(23,"p"),_(24,6),c(25,"bytes"),i(),a(26,"p"),_(27,7),c(28,"bytes"),i(),a(29,"p"),_(30,8),c(31,"bytes"),i(),a(32,"p"),_(33,9),i(),a(34,"p"),_(35,10),i(),a(36,"p"),_(37,11),i(),G(),i(),a(38,"div",45),s(39,"spk-divider"),C(40,Qe,54,45),C(41,Ze,9,1,"details",46),a(42,"details",46)(43,"summary"),L(44,12),s(45,"spk-icon"),a(46,"div",47),s(47,"spk-icon",40),i(),S(),i(),a(48,"div",48),b(49,en,3,3,"code",null,x),i()(),a(51,"details",46)(52,"summary"),L(53,13),s(54,"spk-icon"),a(55,"div",47),s(56,"spk-icon",40),i(),S(),i(),a(57,"div",48),C(58,nn,2,0,"p"),b(59,tn,3,3,"code",null,x),i()(),s(61,"spk-divider"),a(62,"details")(63,"summary"),L(64,14),s(65,"spk-icon"),a(66,"div",47),s(67,"spk-icon",40),i(),S(),i(),a(68,"code")(69,"button",49),g(70,"Copy"),i(),g(71),c(72,"json"),i()()()()),n&2){let e=E().$implicit;l(),w("disallowToggle",!0),l(7),p(A(8,22,e.data==null?null:e.data.BeginTime,"medium")),u(7),l(3),p(A(11,25,e.data==null?null:e.data.EndTime,"medium")),u(10),l(3),p(T(14,28,e.data==null?null:e.data.Duration)),u(13),l(),w("disallowToggle",!0),l(7),p(e.data==null?null:e.data.ExaminedFiles)(k(22,30,e.data==null?null:e.data.SizeOfExaminedFiles,!0,!0)),u(21),l(3),p(e.data==null?null:e.data.OpenedFiles)(k(25,34,e.data==null?null:e.data.SizeOfOpenedFiles,!0,!0)),u(24),l(3),p(e.data==null?null:e.data.AddedFiles)(k(28,38,e.data==null?null:e.data.SizeOfAddedFiles,!0,!0)),u(27),l(3),p(e.data==null?null:e.data.ModifiedFiles)(k(31,42,e.data==null?null:e.data.SizeOfModifiedFiles,!0,!0)),u(30),l(2),p(e.data==null?null:e.data.DeletedFiles),u(33),l(2),p(e.data==null?null:e.data.TooLargeFiles),u(35),l(2),p(e.data==null?null:e.data.FilesWithError),u(37),l(3),m(e.data!=null&&e.data.TestResults?40:-1),l(),m((e.data==null?null:e.data.MainOperation)==="Test"?41:-1),l(6),p(e.data==null?null:e.data.WarningsActualLength),u(44),l(2),h(e.data==null?null:e.data.Warnings),l(7),p(e.data==null?null:e.data.ErrorsActualLength),u(53),l(2),m((e.data==null||e.data.Errors==null?null:e.data.Errors.length)===0?58:-1),l(),h(e.data==null?null:e.data.Errors),l(12),I(" ",T(72,46,e.data)," ")}}function an(n,t){if(n&1){let e=K();a(0,"article",33)(1,"header",34),$("click",function(){let r=M(e).$implicit,d=E();return R(d.toggleOpenEntry(r.id))}),C(2,je,1,0,"div",35)(3,Je,1,0,"div",35)(4,qe,1,0,"div",36)(5,He,1,0,"div",37),a(6,"h3"),g(7),c(8,"date"),i(),a(9,"p"),g(10),i(),s(11,"div",38),a(12,"div",39)(13,"spk-icon",40),g(14,"caret-down"),i()()(),C(15,on,73,48,"section",41),i()}if(n&2){let e=t.$implicit,o=E(),r=(e.data==null?null:e.data.ParsedResult)||"Unknown";l(2),m(r=="Fatal"?2:r=="Error"?3:r=="Warning"?4:5),l(5),U(A(8,7,e.timestamp,"medium")),l(3),$e(" ",e.data==null?null:e.data.MainOperation," ",o.getLocalizedSummary(e)," "),l(3),f("open",e.id===o.openEntry()),l(2),m(e.id===o.openEntry()?15:-1)}}var ce=class n{#e=B(pe);#n=new Z;#t=new ee;backupId=_e.required();openEntry=N(null);pagination=N({offset:0,pagesize:100});resource=ue({params:()=>le({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdLog({id:t.id,pagesize:100}).pipe(X(e=>e.map(o=>({id:o.ID,operationId:o.OperationID,timestamp:o.Timestamp*1e3,type:o.Type,data:JSON.parse(o.Message),exception:JSON.stringify(o.Exception)==="{}"?null:o.Exception}))))});getLocalizedSummary(t){let e=t.data?.ErrorsActualLength??0,o=t.data?.WarningsActualLength??0,r=[];if(t.data?.MainOperation=="Backup"){if(t.data?.Duration){let d=this.#t.transform(t.data?.Duration,!0);d.startsWith("0h ")&&(d=d.slice(3)),d.startsWith("0m ")&&(d=d.slice(3)),r.push($localize`took ${d}`)}t.data?.BackendStatistics?.BytesUploaded&&r.push($localize`uploaded ${this.#n.transform(t.data?.BackendStatistics?.BytesUploaded)}`),t.data?.BackendStatistics?.KnownFileSize&&r.push($localize`backup size ${this.#n.transform(t.data?.BackendStatistics?.KnownFileSize)}`)}return e!==0&&r.push($localize`:@@errorCount:${e} error${e===1?"":"s"}`),o!==0&&r.push($localize`:@@warningCount:${o} warning${o===1?"":"s"}`),r.length===0?"":`(${r.join(", ")})`}toggleOpenEntry(t){if(this.openEntry()===t){this.openEntry.set(null);return}this.openEntry.set(t)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-general-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;t=$localize`Time`;let e;e=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let o;o=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let r;r=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let d;d=$localize`Source files`;let v;v=$localize` Evaluated: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let y;y=$localize`Opened: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let J;J=$localize`Added: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let q;q=$localize` Modified: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let H;H=$localize`Deleted: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Q;Q=$localize`Too large: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Y;Y=$localize`Files with error: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let O;O=$localize`${"\uFFFD#45\uFFFD"}:START_TAG_SPK_ICON:warning-circle${"[\uFFFD/#45\uFFFD|\uFFFD/#47\uFFFD]"}:CLOSE_TAG_SPK_ICON: Warnings ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#46\uFFFD"}:START_TAG_DIV:${"\uFFFD#47\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#45\uFFFD|\uFFFD/#47\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_DIV:`,O=D(O);let ne;ne=$localize`${"\uFFFD#54\uFFFD"}:START_TAG_SPK_ICON:warning${"[\uFFFD/#54\uFFFD|\uFFFD/#56\uFFFD]"}:CLOSE_TAG_SPK_ICON: Errors ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#55\uFFFD"}:START_TAG_DIV:${"\uFFFD#56\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#54\uFFFD|\uFFFD/#56\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#55\uFFFD"}:CLOSE_TAG_DIV:`,ne=D(ne);let te;te=$localize`${"\uFFFD#65\uFFFD"}:START_TAG_SPK_ICON:notepad${"[\uFFFD/#65\uFFFD|\uFFFD/#67\uFFFD]"}:CLOSE_TAG_SPK_ICON: Complete log ${"\uFFFD#66\uFFFD"}:START_TAG_DIV:${"\uFFFD#67\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#65\uFFFD|\uFFFD/#67\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#66\uFFFD"}:CLOSE_TAG_DIV:`,te=D(te);let ie;ie=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SPK_ICON:circle-half-tilt${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SPK_ICON: Test phase ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ie=D(ie);let Ee;Ee=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ce;Ce=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let me;me=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Oe;Oe=$localize`Verifications: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Te;Te=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Le;Le=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let oe;oe=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:file-archive${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SPK_ICON: Compact phase ${"\uFFFD#27\uFFFD"}:START_TAG_DIV:${"\uFFFD#28\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_DIV:`,oe=D(oe);let Se;Se=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ae;Ae=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Pe;Pe=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ge;Ge=$localize` Deleted files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Ne;Ne=$localize` Downloaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let De;De=$localize` Uploaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Me;Me=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Re;Re=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ae;return ae=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SPK_ICON:warning-circle${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SPK_ICON: Verifications ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ae=D(ae),[t,e,o,r,d,v,y,J,q,H,Q,Y,O,ne,te,ie,Ee,Ce,me,Oe,Te,Le,oe,Se,Ae,Pe,Ge,Ne,De,Me,Re,ae,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"status","error"],[1,"status","warn"],[1,"status"],[1,"spacer"],[1,"action"],[1,"toggle-indicator"],[1,"log-content"],[3,"disallowToggle"],["title",""],["content",""],[1,"extra-info"],["name","details"],[1,"actions"],[1,"content"],["spk-button","",1,"small"]]},template:function(e,o){e&1&&(C(0,We,1,0,"spk-progress-bar",32),b(1,an,16,10,"article",33,x)),e&2&&(m(o.resource.isLoading()?0:-1),l(),h(o.resource.value()))},dependencies:[ze,be,Fe,se,j,Z,W,ee,re],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%]{display:flex;flex-direction:column}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--shape-2);background-color:var(--base-2)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:focus{outline:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:hover{background-color:var(--base-3)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::marker{font-size:0}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;flex:1 0;gap:.5rem;-webkit-user-select:none;user-select:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:2rem;transition:transform 125ms linear}details[open][_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:.75rem 1rem 0;display:flex;flex-direction:column;gap:.75rem}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{margin-top:.75rem;position:relative}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem}.extra-info[_ngcontent-%COMP%]{grid-column:1/-1;display:flex;flex-direction:column;gap:1rem}.extra-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.extra-info[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}.log-content[_ngcontent-%COMP%]{padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.status[_ngcontent-%COMP%]{display:block;width:1rem;height:1rem;background-color:var(--success-8);border-radius:50%}.status.error[_ngcontent-%COMP%]{background-color:var(--error-8)}.status.warn[_ngcontent-%COMP%]{background-color:var(--warn-8)}"],changeDetection:0})};function ln(n,t){n&1&&s(0,"spk-progress-bar",1)}function _n(n,t){n&1&&(L(0,0,1),s(1,"spk-icon"),S())}function rn(n,t){n&1&&(L(0,0,2),s(1,"spk-icon"),S())}function sn(n,t){if(n&1){let e=K();a(0,"section",6)(1,"button",7),$("click",function(){M(e);let r=E(),d=r.$implicit,v=r.$index,y=E();return R(y.copyToClipboard(d.data,v))}),L(2,0),C(3,_n,2,0)(4,rn,2,0),S(),i(),a(5,"code"),g(6),c(7,"json"),i()()}if(n&2){let e=E(),o=e.$implicit,r=e.$index,d=E();l(),f("success",d.copiedFromIndex()===r),l(2),m(d.copiedFromIndex()===r?3:4),l(3),U(T(7,4,o.data))}}function Fn(n,t){if(n&1){let e=K();a(0,"article",2)(1,"header",3),$("click",function(){let r=M(e).$implicit,d=E();return R(d.toggleOpenEntry(r.id))}),a(2,"h3"),g(3),c(4,"date"),i(),a(5,"div",4)(6,"spk-icon",5),g(7,"caret-down"),i()()(),C(8,sn,8,6,"section",6),i()}if(n&2){let e=t.$implicit,o=E();l(3),fe("",A(4,6,e.timestamp,"medium"),": ",e.operation," ",e.path),l(3),f("open",e.id===o.openEntry()),l(2),m(e.id===o.openEntry()?8:-1)}}var de=class n{#e=B(pe);backupId=_e.required();openEntry=N(null);pagination=N({offset:0,pagesize:100});copiedFromIndex=N(null);resource=ue({params:()=>le({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdRemotelog({id:t.id,pagesize:100}).pipe(X(e=>e.map((o,r)=>({id:o.ID,operationId:o.OperationID,timestamp:o.Timestamp*1e3,operation:o.Operation,path:o.Path,data:typeof o.Data=="string"?JSON.parse(o.Data):null}))))});toggleOpenEntry(t){if(this.openEntry()===t){this.openEntry.set(null);return}this.openEntry.set(t)}copyToClipboard(t,e){let o=JSON.stringify(t,null,2);navigator.clipboard.writeText(o),this.copiedFromIndex.set(e),setTimeout(()=>{this.copiedFromIndex.set(null)},3e3)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-remote-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;return t=$localize`${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copied ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*4:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy to clipboard ${"\uFFFD/*4:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,t=D(t),[t,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"actions"],[1,"toggle-indicator"],[1,"log-content"],["spk-button","",1,"small",3,"click"]]},template:function(e,o){e&1&&(C(0,ln,1,0,"spk-progress-bar",1),b(1,Fn,9,9,"article",2,x)),e&2&&(m(o.resource.isLoading()?0:-1),l(),h(o.resource.value()))},dependencies:[re,Fe,j,W],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0;-webkit-user-select:none;user-select:none}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}.log-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem;position:relative}.log-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:2rem;right:2rem;background:transparent}code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}"],changeDetection:0})};function pn(n,t){if(n&1&&(g(0," - "),P(1),_(2,6),G(),g(3),c(4,"durationFormat")),n&2){E(2);let e=V(6);l(3),I(" ",T(4,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration)," ")}}function un(n,t){n&1&&(P(0),_(1,7),G())}function cn(n,t){if(n&1&&(g(0),c(1,"bytes")),n&2){E(2);let e=V(6);I(" ",T(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function dn(n,t){n&1&&(P(0),_(1,8),G())}function gn(n,t){if(n&1&&(g(0),c(1,"bytes")),n&2){E(2);let e=V(6);I(" ",T(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function En(n,t){n&1&&(P(0),_(1,9),G())}function Cn(n,t){if(n&1&&(a(0,"spk-chip",19),_(1,10),i()),n&2){E(2);let e=V(6);l(),p(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount),u(1)}}function mn(n,t){n&1&&(a(0,"spk-chip",20),_(1,11),i())}function On(n,t){if(n&1&&(a(0,"div",14)(1,"div",18)(2,"h3"),g(3),a(4,"spk-icon"),g(5,"database"),i()(),a(6,"p")(7,"span"),_(8,3),i(),g(9),c(10,"date"),C(11,pn,5,3)(12,un,2,0,"ng-container"),i(),a(13,"p")(14,"span"),_(15,4),i(),C(16,cn,2,3)(17,dn,2,0,"ng-container"),i(),a(18,"p")(19,"span"),_(20,5),i(),C(21,gn,2,3)(22,En,2,0,"ng-container"),i()(),C(23,Cn,2,1,"spk-chip",19)(24,mn,2,0,"spk-chip",20),i()),n&2){let e=E(),o=V(6);l(3),I(" ",(o.Backup==null?null:o.Backup.Name)??e.MISSING_BACKUP_NAME," "),l(6),I(" ",A(10,6,o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.LastBackupDate,"short")," "),l(2),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.LastBackupDuration?11:12),l(5),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.SourceFilesSize?16:17),l(5),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.TargetFilesSize?21:22),l(2),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.BackupListCount?23:24)}}function Tn(n,t){if(n&1&&s(0,"app-general-log",17),n&2){let e=E();w("backupId",e.backupId())}}function Ln(n,t){if(n&1&&s(0,"app-remote-log",17),n&2){let e=E();w("backupId",e.backupId())}}var ge=class n{#e=B(ye);#n=B(Ke);MISSING_BACKUP_NAME=$localize`Backup name missing`;activeTab=N("general");backupId=Xe(this.#e.params.pipe(X(t=>t.id)));backup=ve(()=>{let t=this.backupId();return t?this.#n.getBackupById(t):null});static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-log"]],decls:15,vars:8,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let e;e=$localize`General`;let o;o=$localize` Destination `;let r;r=$localize`Last successful backup:`;let d;d=$localize`Source:`;let v;v=$localize`Destination:`;let y;y=$localize`took`;let J;J=$localize`N/A`;let q;q=$localize`N/A`;let H;H=$localize`N/A`;let Q;Q=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION: Version`;let Y;return Y=$localize`No version yet`,[t,e,o,r,d,v,y,J,q,H,Q,Y,[1,"back"],["type","button","spk-button","","routerLink","/",1,"small"],[1,"backup"],[1,"primary"],["tab","",3,"click"],[3,"backupId"],[1,"text"],[1,"simple","success"],[1,"simple"]]},template:function(e,o){if(e&1){let r=K();s(0,"app-status-bar"),a(1,"section")(2,"div",12)(3,"button",13),L(4,0),s(5,"spk-icon"),S(),i()(),Ie(6),C(7,On,25,9,"div",14),a(8,"spk-tabs",15)(9,"button",16),$("click",function(){return M(r),R(o.activeTab.set("general"))}),_(10,1),i(),a(11,"button",16),$("click",function(){return M(r),R(o.activeTab.set("destination"))}),_(12,2),i()(),C(13,Tn,1,1,"app-general-log",17),C(14,Ln,1,1,"app-remote-log",17),i()}if(e&2){l(6);let r=ke(o.backup());l(),m(r?7:-1),l(2),f("active",o.activeTab()==="general"),l(2),f("active",o.activeTab()==="destination"),l(2),m(o.activeTab()==="general"?13:-1),l(),m(o.activeTab()==="destination"?14:-1)}},dependencies:[he,ce,de,Be,Z,ee,W,Ue,j,se,xe],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 1.5rem;gap:1rem}spk-tabs[_ngcontent-%COMP%]{margin-bottom:1rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-12)}"],changeDetection:0})};export{ge as default};
@@ -0,0 +1 @@
1
+ import"./chunk-EUDKD2JW.js";var o=[{path:"",redirectTo:"select-files",pathMatch:"full"},{path:"destination",loadComponent:()=>import("./chunk-5V3CTTYH.js")},{path:"encryption",loadComponent:()=>import("./chunk-74BJ4GVA.js")},{path:"select-files",loadComponent:()=>import("./chunk-PZCO6IX3.js")},{path:"options",loadComponent:()=>import("./chunk-PZA4FRVJ.js")},{path:":taskid/progress",loadComponent:()=>import("./chunk-SKWDGX7G.js")}],t=o;export{t as default};
@@ -1 +1 @@
1
- import{b as y}from"./chunk-LDIZ5E5Z.js";import{a as w}from"./chunk-JM7VAPIC.js";import{a as b}from"./chunk-6JQM2X3B.js";import"./chunk-FZG6OXT3.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as I,g as U,p as $}from"./chunk-Y5IRBMLB.js";import{h as x}from"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{Ab as d,Eb as f,H as m,Hc as L,Kb as v,Lb as M,Mb as F,Na as O,Nb as E,Ob as T,Qa as l,Qb as k,Rb as c,Z as _,ab as P,bc as D,da as g,ea as C,ec as u,fc as R,na as S,r as G,sb as s,tb as p,xb as h,yb as a,zb as r}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";function V(n,o){n&1&&d(0,"spk-progress-bar",3)}function B(n,o){if(n&1&&(a(0,"a",7),v(1,2),d(2,"spk-icon"),M(),r()),n&2){let e,t,i=c(2);h("href",(e=i.serverState())==null?null:e.UpdateDownloadLink,O),l(2),E((t=i.serverState())==null?null:t.UpdatedVersion),T(1)}}function X(n,o){if(n&1){let e=f();a(0,"button",6),k("click",function(){g(e);let i=c();return C(i.checkForUpdates())}),u(1,"Check for updates"),r(),s(2,B,3,2,"a",7)}if(n&2){let e,t=c();D("loader",t.checkingForUpdates()),l(2),p((e=t.serverState())!=null&&e.UpdateDownloadLink?2:-1)}}function z(n,o){if(n&1){let e=f();a(0,"button",6),k("click",function(){g(e);let i=c();return C(i.checkForUpdates())}),u(1,"Checking for updates \u2026"),r()}}function K(n,o){n&1&&d(0,"spk-progress-bar",3)}var A=class n{#e=_(x);#t=_(w);#n=_(b);isLoading=S(!0);checkingForUpdates=S(!1);serverState=this.#t.serverState;duplicatiVersion=L(()=>this.#n.systemInfo()?.ServerVersionName??"Unknown");generalInfo=y(this.#e.getApiV1Acknowledgements().pipe(G(o=>o.Acknowledgements),m(()=>this.isLoading.set(!1))));checkForUpdates(){this.checkingForUpdates.set(!0),this.#e.postApiV1UpdatesCheck().pipe(m(()=>this.checkingForUpdates.set(!1))).subscribe()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=P({type:n,selectors:[["app-general"]],decls:12,vars:5,consts:()=>{let o;o=$localize`General`;let e;e=$localize`You're running Duplicati with - ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;return t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:download${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Download update - ${"\uFFFD0\uFFFD"}:INTERPOLATION: `,[o,e,t,[1,"indeterminate","primary"],[1,"actions"],["spk-button",""],["spk-button","",3,"click"],["spk-button","","target","_blank",1,"primary","raised",3,"href"]]},template:function(e,t){if(e&1&&(s(0,V,1,0,"spk-progress-bar",3),a(1,"section")(2,"h3"),F(3,0),r(),a(4,"p"),F(5,1),r(),a(6,"div",4),s(7,X,3,3)(8,z,2,0,"button",5),s(9,K,1,0,"spk-progress-bar",3),r(),a(10,"div"),u(11),r()()),e&2){let i,N;p(t.isLoading()?0:-1),l(5),E(t.duplicatiVersion()),T(5),l(2),p(((i=t.serverState())==null?null:i.UpdaterState)==="Waiting"?7:((i=t.serverState())==null?null:i.UpdaterState)==="Checking"?8:-1),l(2),p(((N=t.serverState())==null?null:N.UpdaterState)==="Downloading"?9:-1),l(2),R(t.generalInfo())}},dependencies:[$,U,I],styles:["[_nghost-%COMP%]{display:block;position:relative}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}section[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{white-space:pre-wrap}spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{A as default};
1
+ import{b as y}from"./chunk-LDIZ5E5Z.js";import{a as w}from"./chunk-J6BHRR34.js";import{a as b}from"./chunk-6JQM2X3B.js";import"./chunk-3ZVSHKLD.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as I,g as U,p as $}from"./chunk-Y5IRBMLB.js";import{h as x}from"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{Ab as d,Eb as f,H as m,Hc as L,Kb as v,Lb as M,Mb as F,Na as O,Nb as E,Ob as T,Qa as l,Qb as k,Rb as c,Z as _,ab as P,bc as D,da as g,ea as C,ec as u,fc as R,na as S,r as G,sb as s,tb as p,xb as h,yb as a,zb as r}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";function V(n,o){n&1&&d(0,"spk-progress-bar",3)}function B(n,o){if(n&1&&(a(0,"a",7),v(1,2),d(2,"spk-icon"),M(),r()),n&2){let e,t,i=c(2);h("href",(e=i.serverState())==null?null:e.UpdateDownloadLink,O),l(2),E((t=i.serverState())==null?null:t.UpdatedVersion),T(1)}}function X(n,o){if(n&1){let e=f();a(0,"button",6),k("click",function(){g(e);let i=c();return C(i.checkForUpdates())}),u(1,"Check for updates"),r(),s(2,B,3,2,"a",7)}if(n&2){let e,t=c();D("loader",t.checkingForUpdates()),l(2),p((e=t.serverState())!=null&&e.UpdateDownloadLink?2:-1)}}function z(n,o){if(n&1){let e=f();a(0,"button",6),k("click",function(){g(e);let i=c();return C(i.checkForUpdates())}),u(1,"Checking for updates \u2026"),r()}}function K(n,o){n&1&&d(0,"spk-progress-bar",3)}var A=class n{#e=_(x);#t=_(w);#n=_(b);isLoading=S(!0);checkingForUpdates=S(!1);serverState=this.#t.serverState;duplicatiVersion=L(()=>this.#n.systemInfo()?.ServerVersionName??"Unknown");generalInfo=y(this.#e.getApiV1Acknowledgements().pipe(G(o=>o.Acknowledgements),m(()=>this.isLoading.set(!1))));checkForUpdates(){this.checkingForUpdates.set(!0),this.#e.postApiV1UpdatesCheck().pipe(m(()=>this.checkingForUpdates.set(!1))).subscribe()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=P({type:n,selectors:[["app-general"]],decls:12,vars:5,consts:()=>{let o;o=$localize`General`;let e;e=$localize`You're running Duplicati with - ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;return t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:download${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Download update - ${"\uFFFD0\uFFFD"}:INTERPOLATION: `,[o,e,t,[1,"indeterminate","primary"],[1,"actions"],["spk-button",""],["spk-button","",3,"click"],["spk-button","","target","_blank",1,"primary","raised",3,"href"]]},template:function(e,t){if(e&1&&(s(0,V,1,0,"spk-progress-bar",3),a(1,"section")(2,"h3"),F(3,0),r(),a(4,"p"),F(5,1),r(),a(6,"div",4),s(7,X,3,3)(8,z,2,0,"button",5),s(9,K,1,0,"spk-progress-bar",3),r(),a(10,"div"),u(11),r()()),e&2){let i,N;p(t.isLoading()?0:-1),l(5),E(t.duplicatiVersion()),T(5),l(2),p(((i=t.serverState())==null?null:i.UpdaterState)==="Waiting"?7:((i=t.serverState())==null?null:i.UpdaterState)==="Checking"?8:-1),l(2),p(((N=t.serverState())==null?null:N.UpdaterState)==="Downloading"?9:-1),l(2),R(t.generalInfo())}},dependencies:[$,U,I],styles:["[_nghost-%COMP%]{display:block;position:relative}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}section[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{white-space:pre-wrap}spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{A as default};
@@ -0,0 +1,3 @@
1
+ import{a as me,b as de}from"./chunk-2G6TVFPZ.js";import{a as ce}from"./chunk-WZNH4JPF.js";import{a as oe}from"./chunk-6JQM2X3B.js";import{b as re,c as le,e as ae,i as pe,k as _e,s as se}from"./chunk-NSIELNIY.js";import{A as ne,C as ie,a as Q,g as W,l as Y,o as Z,t as ee,z as te}from"./chunk-Y5IRBMLB.js";import{ea as J}from"./chunk-CWLTHXVS.js";import{$b as x,Ab as V,Ac as A,Bb as E,Cb as y,Db as T,Eb as g,Hc as D,Kb as b,Lb as v,Mb as X,Nc as R,Qa as s,Qb as C,Qc as H,Rb as a,Z as K,ab as U,bc as G,da as d,ea as u,ec as m,fb as f,fc as B,gc as $,mc as j,na as k,nc as z,oc as S,sb as O,sc as q,tb as F,ub as M,vb as P,wb as N,xb as c,yb as l,zb as p}from"./chunk-BTMXQPBB.js";import{a as h,b as L}from"./chunk-EUDKD2JW.js";var ge=()=>({updateOn:"blur"});function fe(t,i){if(t&1){let e=g();l(0,"button",13),C("click",function(){d(e);let n=a();return u(n.showTextArea.set(!1))}),b(1,5),V(2,"spk-icon"),v(),p()}}function xe(t,i){if(t&1){let e=g();l(0,"button",17,0),C("click",function(){let n=d(e).$implicit,r=a(3);return u(r.addSetting(n))}),m(2),p()}if(t&2){let e=i.$implicit;G("deprecated",e.deprecatedDescription),s(2),$(" ",e.name," ")}}function Se(t,i){if(t&1&&(l(0,"h3",9),m(1),p(),P(2,xe,3,3,"button",16,M)),t&2){let e=i.$implicit;s(),B(e.displayName),s(),N(e.options)}}function Te(t,i){if(t&1){let e=g();l(0,"spk-menu")(1,"button",18)(2,"spk-icon"),m(3,"dots-three-vertical"),p()(),E(4,15),l(5,"button",13),C("click",function(){d(e);let n=a(2);return u(n.addFreeTextSetting())}),b(6,7),V(7,"spk-icon"),v(),p(),l(8,"button",19),C("click",function(){d(e);let n=a(2);return u(n.showTextArea.set(!0))}),l(9,"spk-icon"),m(10,"link"),p(),m(11," Edit contents as text "),p(),y(),p()}}function Oe(t,i){if(t&1&&(l(0,"spk-menu",14)(1,"button",11),b(2,6),V(3,"spk-icon"),v(),p(),E(4,15),P(5,Se,4,1,null,null,M),y(),p(),O(7,Te,12,0,"spk-menu")),t&2){let e=a();c("searchable",!0),s(5),N(e.nonSelectedOptionsGrouped()),s(2),F(e.hasFreeTextSettings()?7:-1)}}function Fe(t,i){if(t&1){let e=g();l(0,"textarea",20),C("ngModelChange",function(n){d(e);let r=a();return u(r.updateSettingsFromText(n))}),p()}if(t&2){let e=a();c("ngModel",e.settingsAsText())("ngModelOptions",q(2,ge))}}function we(t,i){t&1&&(l(0,"div",21),m(1,"Add a setting above to get started."),p())}function Ve(t,i){t&1&&(l(0,"spk-icon",29),m(1," warning-octagon "),p())}function ye(t,i){if(t&1&&(l(0,"spk-icon",30),m(1,"archive"),p()),t&2){let e=a(2).$implicit;c("spkTooltip",e.FormView.deprecatedDescription)}}function Ie(t,i){if(t&1&&(l(0,"spk-icon",31),m(1,"question"),p()),t&2){let e=a(2).$implicit;c("spkTooltip",e.FormView.longDescription)}}function he(t,i){if(t&1&&(O(0,Ve,2,0,"spk-icon",29),l(1,"span"),m(2),p(),O(3,ye,2,1,"spk-icon",30)(4,Ie,2,1,"spk-icon",31)),t&2){let e=a().$implicit,o=S(1);F(o?0:-1),s(),G("deprecated",e.FormView.deprecatedDescription),s(),B(e.FormView.shortDescription),s(),F(e.FormView.deprecatedDescription?3:e.FormView.longDescription?4:-1)}}function Le(t,i){t&1&&T(0)}function ke(t,i){if(t&1){let e=g();l(0,"div",23)(1,"label"),f(2,Le,1,0,"ng-container",32),p(),l(3,"div")(4,"spk-form-field")(5,"input",33),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateFreeTextSettingName(r,n))}),p(),l(6,"spk-icon",34),m(7,"rectangle-dashed"),p()()(),l(8,"div")(9,"spk-form-field")(10,"input",33),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),p(),l(11,"spk-icon",34),m(12,"textbox"),p()()()()}if(t&2){let e=a().$implicit,o=x(3);s(2),c("ngTemplateOutlet",o),s(3),c("ngModel",e.Name),s(5),c("ngModel",e.Value())}}function Me(t,i){t&1&&T(0)}function Pe(t,i){if(t&1){let e=g();l(0,"app-file-tree",24)(1,"label",35),f(2,Me,1,0,"ng-container",32),p(),l(3,"input",36),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),p()()}if(t&2){let e=a().$implicit,o=x(3),n=S(0);c("startingPath",e.Value())("accepts",e.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),s(),c("for",n),s(),c("ngTemplateOutlet",o),s(),c("id",n)("ngModel",e.Value())}}function Ne(t,i){if(t&1){let e=g();l(0,"app-file-tree",25),V(1,"label",35),l(2,"input",36),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),p()()}if(t&2){let e=a().$implicit,o=S(0);c("startingPath",e.Value()),s(),c("for",o),s(),c("id",o)("ngModel",e.Value())}}function Ee(t,i){t&1&&T(0)}function be(t,i){t&1&&(l(0,"spk-icon",34),m(1,"link"),p())}function ve(t,i){t&1&&(l(0,"spk-icon",34),m(1,"textbox"),p())}function $e(t,i){if(t&1){let e=g();l(0,"spk-form-field")(1,"label",35),f(2,Ee,1,0,"ng-container",32),p(),l(3,"input",36),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),p(),O(4,be,2,0,"spk-icon",34)(5,ve,2,0,"spk-icon",34),p()}if(t&2){let e=a().$implicit,o=x(3),n=S(0);s(),c("for",n),s(),c("ngTemplateOutlet",o),s(),c("id",n)("ngModel",e.Value()),s(),F(e.FormView.type==="Path"?4:5)}}function Ae(t,i){t&1&&T(0)}function De(t,i){if(t&1){let e=g();l(0,"spk-icon",39),C("click",function(){d(e);let n=a(2).$implicit;return u(n.showPassword=!n.showPassword)}),m(1," eye "),p()}}function Re(t,i){if(t&1){let e=g();l(0,"spk-icon",39),C("click",function(){d(e);let n=a(2).$implicit;return u(n.showPassword=!n.showPassword)}),m(1," eye-slash "),p()}}function Ge(t,i){if(t&1){let e=g();l(0,"spk-form-field")(1,"label",35),f(2,Ae,1,0,"ng-container",32),p(),l(3,"input",37),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),p(),l(4,"spk-icon",34),m(5,"password"),p(),O(6,De,2,0,"spk-icon",38)(7,Re,2,0,"spk-icon",38),p()}if(t&2){let e=a().$implicit,o=x(3),n=S(0);s(),c("for",n),s(),c("ngTemplateOutlet",o),s(),c("type",e.showPassword?"text":"password")("id",n)("ngModel",e.Value()),s(3),F(e.showPassword?6:7)}}function Be(t,i){t&1&&T(0)}function ze(t,i){if(t&1&&m(0),t&2){let e=i.$implicit;$(" ",e," ")}}function Ke(t,i){if(t&1){let e=g();l(0,"spk-select",40)(1,"label",35),f(2,Be,1,0,"ng-container",32),p(),l(3,"input",36),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),p()(),f(4,ze,1,1,"ng-template",null,2,A)}if(t&2){let e=x(5),o=a().$implicit,n=x(3),r=S(0);c("options",o.FormView.options)("isClearable",!1)("optionTemplate",e),s(),c("for",r),s(),c("ngTemplateOutlet",n),s(),c("id",r)("ngModel",o.Value())}}function Ue(t,i){t&1&&T(0)}function Xe(t,i){if(t&1){let e=g();l(0,"app-size",41),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),l(1,"label",35),f(2,Ue,1,0,"ng-container",32),p()()}if(t&2){let e=a().$implicit,o=x(3),n=S(0);c("inputType",e.Name)("ngModel",e.Value())("customId",n),s(),c("for",n),s(),c("ngTemplateOutlet",o)}}function je(t,i){t&1&&T(0)}function qe(t,i){if(t&1){let e=g();l(0,"spk-form-field")(1,"label",35),f(2,je,1,0,"ng-container",32),p(),l(3,"input",42),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),p(),l(4,"spk-icon",34),m(5,"numpad"),p()()}if(t&2){let e=a().$implicit,o=x(3),n=S(0);s(),c("for",n),s(),c("ngTemplateOutlet",o),s(),c("id",n)("ngModel",e.Value())}}function He(t,i){t&1&&T(0)}function Je(t,i){if(t&1){let e=g();l(0,"spk-toggle",27)(1,"label",35),f(2,He,1,0,"ng-container",32),p(),l(3,"input",43),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),p()()}if(t&2){let e=a().$implicit,o=x(3),n=S(0);s(),c("for",n),s(),c("ngTemplateOutlet",o),s(),c("id",n)("ngModel",e.Value())}}function Qe(t,i){t&1&&T(0)}function We(t,i){if(t&1&&m(0),t&2){let e=i.$implicit;$(" ",e," ")}}function Ye(t,i){if(t&1){let e=g();l(0,"spk-select",44)(1,"label",35),f(2,Qe,1,0,"ng-container",32),p(),l(3,"input",45),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),p()(),f(4,We,1,1,"ng-template",null,3,A)}if(t&2){let e=x(5),o=a().$implicit,n=x(3),r=S(0);c("options",o.FormView.options)("selectMultiple",!0)("optionTemplate",e),s(),c("for",r),s(),c("ngTemplateOutlet",n),s(),c("ngModel",o.Value())}}function Ze(t,i){t&1&&T(0)}function et(t,i){if(t&1){let e=g();l(0,"app-timespan",41),C("ngModelChange",function(n){d(e);let r=a().$implicit,_=a(2);return u(_.updateSettingValue(r,n))}),l(1,"label",35),f(2,Ze,1,0,"ng-container",32),p()()}if(t&2){let e=a().$implicit,o=x(3),n=S(0);c("inputType",e.Name)("ngModel",e.Value())("customId",n),s(),c("for",n),s(),c("ngTemplateOutlet",o)}}function tt(t,i){if(t&1){let e=g();j(0)(1),f(2,he,5,5,"ng-template",null,1,A),l(4,"div",22),O(5,ke,13,3,"div",23)(6,Pe,4,9,"app-file-tree",24)(7,Ne,3,4,"app-file-tree",25)(8,$e,6,5,"spk-form-field")(9,Ge,8,6,"spk-form-field")(10,Ke,6,7)(11,Xe,3,5,"app-size",26)(12,qe,6,4,"spk-form-field")(13,Je,4,4,"spk-toggle",27)(14,Ye,6,6)(15,et,3,5,"app-timespan",26),l(16,"button",28),C("click",function(){let n=d(e).$implicit,r=a(2);return u(r.removeSetting(n))}),l(17,"spk-icon"),m(18,"x-bold"),p()()()}if(t&2){let e=i.$implicit,o=i.$index,n=a(2);z("destination-"+e.Name+o),s(),z(n.inAppOptions(e.Name)),s(4),F(e.FormView.type==="FreeText"?5:e.FormView.type==="FileTree"?6:e.FormView.type==="FolderTree"?7:e.FormView.type==="String"||e.FormView.type==="Path"||e.FormView.type==="Decimal"?8:e.FormView.type==="Password"?9:e.FormView.type==="Enumeration"?10:e.FormView.type==="Size"?11:e.FormView.type==="Integer"?12:e.FormView.type==="Boolean"?13:e.FormView.type==="Flags"?14:e.FormView.type==="Timespan"||e.FormView.type==="DateTime"?15:-1)}}function nt(t,i){if(t&1&&(O(0,we,2,0,"div",21),P(1,tt,19,3,null,null,M)),t&2){let e=a();F(e.selectedSettings().length===0?0:-1),s(),N(e.selectedSettings())}}var ue=class t{#e=K(oe);options=H.required();hiddenOptions=R([]);hasFreeTextSettings=R(!1);applicationOptions=R();showTextArea=k(!1);allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=D(()=>{let i=this.hiddenOptions();return this.options().map(n=>{let r=this.allOptions().find(w=>w.name===n.Name?.replace("--","")),_=n.Value??"";if(r&&i.includes(r.name))return null;if(r){if(r.type==="Boolean"&&(_=this.isTrue(_)),r.type==="Integer"&&(_=parseInt(_)||0),r.type==="Enumeration"&&r.options){let w=_?.trim().toLowerCase(),I=r.options.find(Ce=>(Ce??"").trim().toLocaleLowerCase()===w);I&&(_=I)}return L(h({},n),{Value:k(_),FormView:r})}else if(this.hasFreeTextSettings())return L(h({},n),{Value:k(_),FormView:{name:n.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(n=>n!==null)});nonSelectedOptionsGrouped=D(()=>{let i=this.options().map(o=>o.Name?.replace("--","")),e=this.hiddenOptions();return this.allOptionsGrouped().map(o=>L(h({},o),{options:o.options.filter(n=>!i.includes(n.name)&&!e.includes(n.name))})).filter(o=>o.options.length>0)});settingsAsText=D(()=>this.selectedSettings().map(i=>{let e=i.Value(),o="";return typeof e=="boolean"?o=this.isTrue(e)?"True":"False":(typeof e=="number"||e!=null)&&(o=e.toString()),`${i.Name??""}=${o}`}).join(`
2
+ `));updateSettingsFromText(i){if(typeof i!="string")return;let e=i.split(`
3
+ `).map(n=>n.trim()).filter(n=>n.length>0),o=[];for(let n of e){let[r,_]=n.split("=").map(w=>w.trim());r&&r.trim().length>0&&_!==void 0&&o.push({Name:`${r}`,Value:_})}this.options.update(()=>o)}isTrue(i){if(typeof i=="boolean")return i;if(typeof i=="string"){let e=i.toLowerCase();return e==="true"||e==="1"||e==="yes"||e==="on"}return!1}inAppOptions(i){let e=this.applicationOptions()?.findIndex(o=>o.Name?.replace("--","")===i);return e===void 0?!1:e>-1}addFreeTextSetting(){this.hasFreeTextSettings()&&this.options.update(i=>[...i,{Filter:null,Name:"",Value:""}])}addSetting(i){this.options.update(e=>{let o=i.defaultValue??"";return i.type==="Boolean"&&(o=this.isTrue(o)),i.type==="Integer"&&(o=parseInt(o)||0),[...e,{Name:i.name,Value:o}]})}updateSettingValue(i,e){this.options.update(o=>{let n=[...o],r=n.findIndex(_=>_.Name===i.Name);if(i.FormView.type==="Boolean")return n[r].Value=this.isTrue(e)?"True":"False",n;if(i.FormView.type==="Integer")return n[r].Value=e.toString(),n;if(i.FormView.type==="Enumeration"&&i.FormView.options){let _=e?.trim().toLowerCase()??"",w=i.FormView.options.find(I=>(I??"").trim().toLocaleLowerCase()===_);if(w)return n[r].Value=w,n}return n[r].Value=e,n})}updateFreeTextSettingName(i,e){this.options.update(o=>{let n=[...o],r=n.findIndex(_=>_.Name===i.Name);return n[r].Name=e,n})}removeSetting(i){this.options.update(e=>e.filter(o=>o.Name!==i.Name))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=U({type:t,selectors:[["app-options-list"]],inputs:{options:[1,"options"],hiddenOptions:[1,"hiddenOptions"],hasFreeTextSettings:[1,"hasFreeTextSettings"],applicationOptions:[1,"applicationOptions"]},outputs:{options:"optionsChange"},decls:9,vars:3,consts:()=>{let i;i=$localize`Advanced options`;let e;e=$localize` Show editor ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:link${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let o;o=$localize` Add advanced option ${"\uFFFD#3\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let n;n=$localize`${"\uFFFD#7\uFFFD"}:START_TAG_SPK_ICON:pen${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SPK_ICON: New custom option `;let r;return r=$localize`By adding this option it will override the matching global option`,[["option",""],["defaultLabel",""],["enumOptionTemplate",""],["optionTemplate",""],i,e,o,n,[3,"disallowToggle"],["title",""],[1,"actions"],["spk-button","","type","button",1,"outlined","small"],["wrap","off","placeholder","Paste advanced options here, one per line.",1,"raw-text-area",3,"ngModel","ngModelOptions"],["spk-button","","type","button",1,"outlined","small",3,"click"],[3,"searchable"],["menu",""],["type","button",3,"deprecated"],["type","button",3,"click"],["spk-button","","type","button",1,"small"],["spk-button","","type","button",1,"small",3,"click"],["wrap","off","placeholder","Paste advanced options here, one per line.",1,"raw-text-area",3,"ngModelChange","ngModel","ngModelOptions"],[1,"placeholder"],[1,"field-row"],[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"],["spkTooltip",r,1,"error"],[1,"warn",3,"spkTooltip"],[1,"primary",3,"spkTooltip"],[4,"ngTemplateOutlet"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[3,"for"],["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,o){e&1&&(l(0,"spk-toggle-card",8),E(1,9)(2),X(3,4),y(),l(4,"div",10),O(5,fe,3,0,"button",11)(6,Oe,8,2),p(),y(),O(7,Fe,1,3,"textarea",12)(8,nt,3,1),p()),e&2&&(c("disallowToggle",!0),s(5),F(o.showTextArea()?5:6),s(2),F(o.showTextArea()?7:8))},dependencies:[se,le,_e,re,ae,pe,ce,te,Y,W,Z,ie,Q,ee,ne,me,de,J],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-9);text-align:center;padding:2rem 1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr 2.5rem;gap:.5rem;position:relative;z-index:1}.field-row[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{align-self:flex-end}.form-column[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-direction:column}label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}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}.deprecated[_ngcontent-%COMP%]{text-decoration:line-through}.raw-text-area[_ngcontent-%COMP%]{min-height:12rem;white-space:pre}"],changeDetection:0})};export{ue as a};
@@ -0,0 +1 @@
1
+ import{a as k}from"./chunk-XIOHRQ3X.js";import"./chunk-WZRDKVOR.js";import"./chunk-ULLALJQ2.js";import"./chunk-J6BHRR34.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-7QJG4IIT.js";import"./chunk-3ZVSHKLD.js";import{e as S}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as T,g as M,h as f}from"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import{Ab as _,Kb as s,Lb as l,Mb as i,Qa as r,ab as D,sc as d,xb as c,yb as e,zb as n}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var E=()=>["/backup/new"],F=()=>["/backup/import"],u=class C{static \u0275fac=function(t){return new(t||C)};static \u0275cmp=D({type:C,selectors:[["app-add-backup"]],decls:23,vars:4,consts:()=>{let a;a=$localize`Add a new backup`;let t;t=$localize`New backup`;let p;p=$localize`Configure a new backup. Choose your destination, source data and schedule.`;let A;A=$localize` Add a new backup ${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let g;g=$localize`Import from file`;let m;m=$localize`Import backup configuration from a file. During import, you can adjust the settings.`;let P;return P=$localize` Import from file ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:upload-simple${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[a,t,p,A,g,m,P,[1,"backup-types"],[1,"type-a"],["src","assets/images/new-backup.png"],["spk-button","",1,"raised","primary",3,"routerLink"]]},template:function(t,p){t&1&&(_(0,"app-status-bar"),e(1,"section")(2,"h2"),i(3,0),n(),e(4,"div",7)(5,"spk-card",8),_(6,"img",9),e(7,"h3"),i(8,1),n(),e(9,"p"),i(10,2),n(),e(11,"button",10),s(12,3),_(13,"spk-icon"),l(),n()(),e(14,"spk-card",8),_(15,"img",9),e(16,"h3"),i(17,4),n(),e(18,"p"),i(19,5),n(),e(20,"button",10),s(21,6),_(22,"spk-icon"),l(),n()()()()),t&2&&(r(11),c("routerLink",d(2,E)),r(9),c("routerLink",d(3,F)))},dependencies:[k,M,f,T,S],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;align-items:center;flex-direction:column;gap:2rem;padding:2rem 0}div.backup-types[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:43.75rem}spk-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:3rem}spk-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:18.75rem}spk-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;text-align:center;width:75%}"],changeDetection:0})};export{u as default};
@@ -0,0 +1 @@
1
+ import{c as re}from"./chunk-LDIZ5E5Z.js";import{a as ne}from"./chunk-ULLALJQ2.js";import"./chunk-J6BHRR34.js";import{a as ie}from"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import{a as te}from"./chunk-WXARH2SG.js";import{b as oe,e as ae,i as le,s as _e}from"./chunk-NSIELNIY.js";import"./chunk-7QJG4IIT.js";import"./chunk-3ZVSHKLD.js";import{d as q,e as H}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as J,e as Q,g as Y,i as Z}from"./chunk-Y5IRBMLB.js";import{h as ee}from"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{B as y,Eb as g,H as O,Hc as B,Mb as c,Nb as D,Nc as j,Ob as S,Pb as F,Qa as r,Qb as x,Rb as p,Z as E,ab as $,bc as I,da as C,ea as m,ec as u,jc as h,kc as L,lc as M,mc as w,n as U,na as P,nc as G,oc as X,r as K,sb as f,sc as v,tb as T,tc as z,wc as V,xb as A,yb as i,zb as o,zc as W}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var ce=l=>["/backup",l,"export"],se=()=>["/"];function ue(l,_){if(l&1){let t=g();i(0,"section")(1,"h4"),c(2,4),o(),i(3,"p"),c(4,5),o(),i(5,"spk-checkbox",11),u(6," Delete local database "),i(7,"input",12),M("ngModelChange",function(e){C(t);let a=p();return L(a.deleteLocalDb,e)||(a.deleteLocalDb=e),m(e)}),o()()()}if(l&2){let t=p();r(7),h("ngModel",t.deleteLocalDb)}}function Ee(l,_){if(l&1){let t=g();i(0,"section")(1,"h4"),c(2,6),o(),i(3,"p"),c(4,7),V(5,"bytes"),o(),i(6,"spk-checkbox",11),u(7," Delete remote files "),i(8,"input",12),M("ngModelChange",function(e){C(t);let a=p();return L(a.deleteRemoteFiles,e)||(a.deleteRemoteFiles=e),m(e)}),o()()()}if(l&2){let t=p(),n=X(0),e=(n==null||n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.TargetFilesSize)??0;r(5),D(t.fileCount())(t.fileCount())(W(5,4,e,!0,!0)),S(4),r(3),h("ngModel",t.deleteRemoteFiles)}}var b=class l{#t=E(ee);#n=E(Q);#e=E(ne);#i=E(q);id=j.required();backup=B(()=>this.#e.getBackupById(this.id()));noLocalDbResource=re({params:()=>({dbPath:this.backup()?.Backup?.DBPath}),stream:({params:_})=>this.#t.postApiV1FilesystemValidate({requestBody:{path:_.dbPath}}).pipe(K(()=>!0),y(()=>U(!1)))});fileCount=B(()=>parseInt(this.backup()?.Backup?.Metadata?.TargetFilesCount??"0",10));deleteLocalDb=P(!1);deleteRemoteFiles=P(!1);isDeleting=P(!1);deleteBackup(){let _=this.id(),t=this.deleteLocalDb(),n=this.deleteRemoteFiles();this.isDeleting.set(!0),this.#n.open(ie,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete this backup?`,confirmText:$localize`Delete backup`,cancelText:$localize`Cancel`},closed:e=>{e&&this.#e.deleteBackup({id:_,deleteLocalDb:t,deleteRemoteFiles:n}).pipe(O(()=>this.isDeleting.set(!1))).subscribe({next:()=>{this.#i.navigate(["/"])}})}})}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=$({type:l,selectors:[["app-delete-backup"]],inputs:{id:[1,"id"]},decls:19,vars:11,consts:()=>{let _;_=$localize`Delete backup: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;t=$localize`Export configuration`;let n;n=$localize`If you want to use the backup later, you can export the configuration before deleting it.`;let e;e=$localize`Cancel`;let a;a=$localize`Delete local database`;let k;k=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. When deleting a backup, you can also delete the local database without affecting the ability to restore the remote files. If you are using the local database for backups from the commandline, you should keep the database. `;let N;N=$localize`Delete remote files`;let d;d=$localize`{VAR_PLURAL, plural, =1 {1 file} other {{INTERPOLATION} files}}`,d=F(d,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let R;return R=$localize` Delete ${d}:ICU@@2159106180826349718: (${"\uFFFD2\uFFFD"}:INTERPOLATION_1:) from the remote storage? `,[_,t,n,e,a,k,N,R,["spk-button","",3,"routerLink"],[1,"actions"],["spk-button","",1,"raised","error",3,"click"],[1,"primary","raised"],["type","checkbox",3,"ngModelChange","ngModel"]]},template:function(t,n){if(t&1){let e=g();w(0),i(1,"h3"),c(2,0),o(),f(3,ue,8,1,"section"),i(4,"section")(5,"h4"),c(6,1),o(),i(7,"p"),c(8,2),o(),i(9,"button",8),u(10," Export configuration "),i(11,"spk-icon"),u(12,"caret-right"),o()()(),f(13,Ee,9,8,"section"),i(14,"div",9)(15,"button",8),c(16,3),o(),i(17,"button",10),x("click",function(){return C(e),m(n.deleteBackup())}),u(18,"Delete backup"),o()()}if(t&2){let e=G(n.backup()),a=n.noLocalDbResource.value();r(2),D(e==null||e.Backup==null?null:e.Backup.Name),S(2),r(),T(a?3:-1),r(6),A("routerLink",z(8,ce,n.id())),r(4),T(a?13:-1),r(2),A("routerLink",v(10,se)),r(2),I("loader",n.isDeleting())}},dependencies:[Z,Y,J,te,_e,oe,ae,le,H],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:2.5rem;max-width:43.75rem}section[_ngcontent-%COMP%]{padding:2rem 0;display:flex;align-items:flex-start;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0}h4[_ngcontent-%COMP%]{font:var(--paragraph-20);margin-bottom:.5rem}p[_ngcontent-%COMP%]{margin-bottom:1rem}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;padding:2rem 0}"],changeDetection:0})};export{b as default};
@@ -1 +1 @@
1
- import{f as a,g as b}from"./chunk-2YMUOQLP.js";import"./chunk-XIIFTZ5G.js";import"./chunk-BCHZRC5K.js";import"./chunk-B26UYXA3.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-NSIELNIY.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{a as createSourceDataForm,b as default};
1
+ import{f as a,g as b}from"./chunk-E2CREQ7G.js";import"./chunk-WZNH4JPF.js";import"./chunk-BCHZRC5K.js";import"./chunk-B26UYXA3.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-NSIELNIY.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{a as createSourceDataForm,b as default};
@@ -1 +1 @@
1
- import{a as mt,b as It,c as Nt}from"./chunk-OZLEURDK.js";import"./chunk-X7SFNRJF.js";import"./chunk-2G6TVFPZ.js";import{a as St}from"./chunk-UM3LTU7N.js";import{h as Ct}from"./chunk-2YMUOQLP.js";import"./chunk-XIIFTZ5G.js";import"./chunk-BCHZRC5K.js";import"./chunk-B26UYXA3.js";import"./chunk-LDIZ5E5Z.js";import{a as E}from"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import{c as ct,e as ut,f as _t,g as Tt,i as pt,j as gt,r as Dt,s as dt}from"./chunk-NSIELNIY.js";import{b as nt,d as it}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as ot,b as at,d as st,e as Ft,l as rt,o as lt}from"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{Ab as p,Bb as b,Cb as U,Eb as C,Hc as L,Kb as _,Lb as T,Mb as O,Nb as A,Ob as $,Oc as et,Pb as w,Qa as r,Qb as D,Rb as l,Z as m,Zb as Y,_b as q,ab as Q,bc as J,da as c,ea as u,ec as k,fc as G,gc as Z,ha as H,jc as P,kc as M,lc as y,na as I,sb as d,sc as tt,tb as S,ub as x,vb as B,wb as R,xb as N,yb as s,zb as F}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var Et=["formRef"],ft=()=>({maxWidth:"700px",width:"100%"});function kt(i,o){if(i&1){let t=C();_(0,2,1),s(1,"button",30),D("click",function(){c(t);let e=l();return u(e.testDestination(0,!0))}),F(),T()}if(i&2){let t=l();r(),J("loader",t.testSignal()=="testing"),N("disabled",t.testSignal()=="testing")}}function Ot(i,o){if(i&1){let t=C();_(0,2,2),s(1,"button",20),D("click",function(){c(t);let e=l();return u(e.copyTargetUrl())}),p(2,"spk-icon"),F(),T()}}function At(i,o){i&1&&(s(0,"spk-alert"),_(1,5),p(2,"spk-icon",31),T(),F())}function $t(i,o){i&1&&(s(0,"spk-alert",21),_(1,6),p(2,"spk-icon",31),T(),F())}function Pt(i,o){if(i&1&&(s(0,"spk-alert",22),_(1,7),p(2,"spk-icon",31),T(),F()),i&2){let t=l();r(2),A(t.testErrorMessage()),$(1)}}function Mt(i,o){if(i&1&&(s(0,"spk-alert",23),_(1,8),p(2,"spk-icon",31),T(),F()),i&2){let t=l();r(2),A(t.testErrorMessage()),$(1)}}function yt(i,o){if(i&1){let t=C();s(0,"p",32),D("click",function(){c(t);let e=l();return u(e.removeDestination())}),_(1,9),p(2,"strong")(3,"br")(4,"span",33),T(),F()}if(i&2){let t,n=l();r(4),A((t=n.selectedDestinationType())==null?null:t.displayName),$(1)}}function ht(i,o){if(i&1){let t=C();s(0,"div",39),D("click",function(){let e=c(t).$implicit,a=l(2);return u(a.setDestination(e.key))}),s(1,"h3"),k(2),F(),s(3,"p"),k(4),F()()}if(i&2){let t=o.$implicit;r(2),G(t.displayName),r(2),G(t.description)}}function xt(i,o){if(i&1){let t=C();s(0,"button",40,1),D("click",function(){let e=c(t).$implicit,a=l(2);return u(a.setDestination(e.key))}),k(2),F()}if(i&2){let t=o.$implicit;r(2),Z(" ",t.displayName," ")}}function Bt(i,o){if(i&1&&(s(0,"div",34),B(1,ht,5,2,"div",35,x),F(),s(3,"spk-menu",36)(4,"button",37),O(5,10),F(),b(6,19),B(7,xt,3,1,"button",38,x),U(),F()),i&2){let t=l();r(),R(t.destinationTypeOptionsFocused()),r(2),N("searchable",!0),r(4),R(t.destinationTypeOptions())}}function Rt(i,o){if(i&1){let t=C();s(0,"app-single-destination",41),y("targetUrlChange",function(e){c(t);let a=l();return M(a.targetUrlModel,e)||(a.targetUrlModel=e),u(e)}),F()}if(i&2){let t=l();P("targetUrl",t.targetUrlModel),N("useBackupState",!0)}}function bt(i,o){i&1&&(_(0,4,1),p(1,"spk-icon",28),T())}function Ut(i,o){i&1&&(_(0,4,2),p(1,"spk-icon"),T())}function wt(i,o){if(i&1){let t=C();s(0,"spk-dialog",42),y("isOpenChange",function(e){c(t);let a=l();return M(a.targetUrlDialogOpen,e)||(a.targetUrlDialogOpen=e),u(e)}),s(1,"header",43)(2,"h2"),O(3,11),F(),s(4,"spk-alert",22),O(5,12),F()(),s(6,"div",44)(7,"spk-form-field")(8,"textarea",45),y("ngModelChange",function(e){c(t);let a=l();return M(a.targetUrlCtrl,e)||(a.targetUrlCtrl=e),u(e)}),F()()(),s(9,"footer",46)(10,"button",26),D("click",function(){c(t);let e=l();return u(e.closeTargetUrlDialog(!1))}),k(11,"Cancel"),F(),s(12,"button",47),D("click",function(){c(t);let e=l();return u(e.closeTargetUrlDialog(!0))}),_(13,13),p(14,"spk-icon"),T(),F()()()}if(i&2){let t=l();P("isOpen",t.targetUrlDialogOpen),N("options",tt(3,ft)),r(8),P("ngModel",t.targetUrlCtrl)}}var h=new Dt,ne=(i={destinations:[]})=>h.group({destinations:h.array(i.destinations)}),ie=({key:i,customGroup:o,dynamicGroup:t,advancedGroup:n})=>h.group({destinationType:h.control(i),custom:o,dynamic:t,advanced:n}),v=class i{#i=m(it);#o=m(nt);#t=m(Ct);#a=m(It);#e=m(Ft);#s=m(mt);injector=m(H);formRef=et.required("formRef");targetUrlModel=this.#t.targetUrlModel;targetUrlCtrl=I(null);targetUrlInitial=I(null);targetUrlDialogOpen=I(!1);toggleNewDestination=I(!0);destinationTypeOptionsInFocus=I(["file","ssh","s3","gcs","googledrive","azure"]);destinationTypeOptions=this.#a.destinationTypeOptions;testSignal=this.#t.testSignal;testErrorMessage=this.#t.testErrorMessage;destinationTypeOptionsFocused=L(()=>{let o=this.destinationTypeOptionsInFocus(),t=this.destinationTypeOptions();return o.map(n=>t.find(e=>e.key===n))});selectedDestinationType=L(()=>{let o=this.targetUrlModel();if(!o)return null;let t=o.split("://")[0];return St(t)??null});copyTargetUrl(){navigator.clipboard.writeText(this.targetUrlModel()??"")}openTargetUrlDialog(){let o=this.targetUrlModel();this.targetUrlCtrl.set(o),this.targetUrlInitial.set(o),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(o=!1){this.targetUrlDialogOpen.set(!1);let t=this.targetUrlCtrl(),n=this.targetUrlInitial();!o||t===n||!t||this.#t.setTargetUrl(t)}testDestination(o,t,n){let e=this.targetUrlModel();e&&(this.#t.setTestState("testing"),this.#s.testDestination(e,o,!0,!0).subscribe({next:a=>{if(a.action==="success"){this.#t.setTestState("success"),this.#t.isNew()&&(a.containsBackup===!0?(this.#t.setTestState("warning",$localize`The remote destination already contains a backup. Please use a different folder for each backup.`),t||this.#e.open(E,{data:{title:$localize`Folder contains backup`,message:$localize`The remote destination already contains a backup. You must use a different folder for each backup.`,confirmText:$localize`OK`,cancelText:void 0}})):a.anyFilesFound===!0&&(this.#t.setTestState("warning",$localize`The remote destination contains unknown files.`),t||this.#e.open(E,{data:{title:$localize`Folder is not empty`,message:$localize`The remote destination is not empty. It is recommended to use an empty folder for the backup.`,confirmText:$localize`OK`,cancelText:void 0}}))),n?.();return}if(this.#t.setTestState("error",a.errorMessage??$localize`An error occurred while testing the destination.`),a.action==="generic-error"){n?.();return}let f=e.includes("?");a.action==="trust-cert"&&this.#t.setTargetUrl(e+`${f?"&":"?"}accept-specified-ssl-hash=${a.certData}`),a.action==="approve-host-key"&&this.#t.setTargetUrl(e+`${f?"&":"?"}ssh-fingerprint=${a.reportedHostKey}`),a.testAgain?this.testDestination(a.destinationIndex,t):n?.()}}))}setDestination(o){this.#t.setTargetUrl(`${o}://`)}removeDestination(){this.#t.setTargetUrl(null)}goBack(){this.#i.navigate(["general"],{relativeTo:this.#o.parent})}next(){let o=this.#t.isNew(),t=this.testSignal();if(!o){this.#n();return}if(t===""){this.#e.open(E,{data:{title:$localize`Test destination`,message:$localize`You have not tested the destination yet. Do you want to test it now?`,confirmText:$localize`Test now`,cancelText:$localize`Skip test and continue`},closed:n=>{n?this.testDestination(0,!1,()=>{this.testSignal()==="success"?this.#n():this.#e.open(E,{data:{title:$localize`Test did not succeed`,message:this.testErrorMessage()??$localize`Failed to test the destination.`,confirmText:$localize`OK`,cancelText:void 0}})}):this.#n()}});return}if(t!=="success"){this.#e.open(E,{data:{title:$localize`Test destination`,message:$localize`The destination has not been tested successfully. Are you sure you want to continue?`,confirmText:$localize`Yes, continue`,cancelText:$localize`Cancel`},closed:n=>{n&&this.#n()}});return}this.#n()}#n(){this.#t.isNew()||this.#t.submit(!0),this.#i.navigate(["source-data"],{relativeTo:this.#o.parent})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=Q({type:i,selectors:[["app-destination"]],viewQuery:function(t,n){t&1&&Y(n.formRef,Et,5),t&2&&q()},decls:30,vars:9,consts:()=>{let o;o=$localize` Backup destination ${"\uFFFD#5\uFFFD"}:START_TAG_DIV:${"[\uFFFD*6:1\uFFFD|\uFFFD*13:2\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON: Test destination ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*6:1\uFFFD|\uFFFD/*13:2\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD#7\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SPK_ICON:dots-three-vertical${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#10\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD#11\uFFFD"}:START_TAG_BUTTON_2:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SPK_ICON:link${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Edit target URL ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD*6:1\uFFFD|\uFFFD*13:2\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:2\uFFFD"}:START_TAG_BUTTON_3:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SPK_ICON:copy${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy url to clipboard ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*6:1\uFFFD|\uFFFD/*13:2\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SPK_MENU:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_DIV:`,o=w(o);let t;t=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let n;n=$localize`${"\uFFFD*27:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:spinner${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/*27:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*28:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SPK_ICON_1:arrow-right${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/*28:2\uFFFD"}:CLOSE_BLOCK_ELSE: Continue `,n=w(n);let e;e=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:spinner${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Testing connection... `;let a;a=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:check${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Connection tested successfully. `;let f;f=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let K;K=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let V;V=$localize` Current destination type ${"\uFFFD#2\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:.${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#3\uFFFD\uFFFD/#3\uFFFD"}:LINE_BREAK: Want to select another? ${"\uFFFD#4\uFFFD"}:START_TAG_SPAN:Click here${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPAN:`;let z;z=$localize`All destinations`;let X;X=$localize`Edit target URL`;let W;W=$localize`Be careful, this will overwrite everything you have in your destination.`;let j;return j=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SPK_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],["option",""],o,t,n,e,a,f,K,V,z,X,W,j,[3,"submit"],[1,"title-30"],[1,"actions"],["spk-button","","type","button",1,"small",3,"loader","disabled"],["spk-button","","type","button",1,"small"],["menu",""],["spk-button","","type","button",1,"small",3,"click"],[1,"success"],[1,"warn"],[1,"error"],[3,"targetUrl","useBackupState"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary",3,"disabled"],[1,"loader"],[3,"isOpen","options"],["spk-button","","type","button",1,"small",3,"click","disabled"],["icon",""],[3,"click"],[1,"spk-primary"],[1,"most-common-destinations"],[1,"tile"],[3,"searchable"],["spk-button","","type","button",1,"outlined"],["type","button"],[1,"tile",3,"click"],["type","button",3,"click"],[3,"targetUrlChange","targetUrl","useBackupState"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["spk-button","","type","submit",1,"raised","primary",3,"click"]]},template:function(t,n){if(t&1){let e=C();s(0,"form",14,0),D("submit",function(){return c(e),u(n.next())}),s(2,"header")(3,"h3",15),_(4,2),s(5,"div",16),d(6,kt,2,3,"button",17),s(7,"spk-menu")(8,"button",18),p(9,"spk-icon"),F(),b(10,19),s(11,"button",20),D("click",function(){return c(e),u(n.openTargetUrlDialog())}),p(12,"spk-icon"),F(),d(13,Ot,3,0,"button",18),U(),F()(),T(),F(),d(14,At,3,0,"spk-alert")(15,$t,3,0,"spk-alert",21)(16,Pt,3,1,"spk-alert",22)(17,Mt,3,1,"spk-alert",23),d(18,yt,5,1,"p"),F(),d(19,Bt,9,1),d(20,Rt,1,2,"app-single-destination",24),s(21,"div",25)(22,"button",26),D("click",function(){return c(e),u(n.goBack())}),_(23,3),p(24,"spk-icon"),T(),F(),s(25,"button",27),_(26,4),d(27,bt,2,0,"spk-icon",28)(28,Ut,2,0,"spk-icon"),T(),F()()(),d(29,wt,15,4,"spk-dialog",29)}if(t&2){let e=!!n.targetUrlModel();r(6),S(e?6:-1),r(7),S(e?13:-1),r(),S(n.testSignal()=="testing"?14:n.testSignal()=="success"?15:n.testSignal()=="warning"?16:n.testSignal()=="error"?17:-1),r(4),S(e?18:-1),r(),S(e?-1:19),r(),S(e?20:-1),r(5),N("disabled",n.testSignal()=="testing"||!e),r(2),S(n.testSignal()=="testing"?27:28),r(2),S(n.targetUrlDialogOpen()?29:-1)}},dependencies:[Nt,dt,gt,ct,ut,_t,pt,Tt,rt,lt,ot,st,at],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] spk-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10);background-color:var(--base-2);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}"],changeDetection:0})};export{ne as createDestinationForm,ie as createDestinationFormGroup,v as default};
1
+ import{a as mt,b as It,c as Nt}from"./chunk-6WNZ5AZZ.js";import"./chunk-X7SFNRJF.js";import"./chunk-2G6TVFPZ.js";import{a as St}from"./chunk-TW56VFHP.js";import{h as Ct}from"./chunk-E2CREQ7G.js";import"./chunk-WZNH4JPF.js";import"./chunk-BCHZRC5K.js";import"./chunk-B26UYXA3.js";import"./chunk-LDIZ5E5Z.js";import{a as E}from"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import{c as ct,e as ut,f as _t,g as Tt,i as pt,j as gt,r as Dt,s as dt}from"./chunk-NSIELNIY.js";import{b as nt,d as it}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as ot,b as at,d as st,e as Ft,l as rt,o as lt}from"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{Ab as p,Bb as b,Cb as U,Eb as C,Hc as L,Kb as _,Lb as T,Mb as O,Nb as A,Ob as $,Oc as et,Pb as w,Qa as r,Qb as D,Rb as l,Z as m,Zb as Y,_b as q,ab as Q,bc as J,da as c,ea as u,ec as k,fc as G,gc as Z,ha as H,jc as P,kc as M,lc as y,na as I,sb as d,sc as tt,tb as S,ub as x,vb as B,wb as R,xb as N,yb as s,zb as F}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var Et=["formRef"],ft=()=>({maxWidth:"700px",width:"100%"});function kt(i,o){if(i&1){let t=C();_(0,2,1),s(1,"button",30),D("click",function(){c(t);let e=l();return u(e.testDestination(0,!0))}),F(),T()}if(i&2){let t=l();r(),J("loader",t.testSignal()=="testing"),N("disabled",t.testSignal()=="testing")}}function Ot(i,o){if(i&1){let t=C();_(0,2,2),s(1,"button",20),D("click",function(){c(t);let e=l();return u(e.copyTargetUrl())}),p(2,"spk-icon"),F(),T()}}function At(i,o){i&1&&(s(0,"spk-alert"),_(1,5),p(2,"spk-icon",31),T(),F())}function $t(i,o){i&1&&(s(0,"spk-alert",21),_(1,6),p(2,"spk-icon",31),T(),F())}function Pt(i,o){if(i&1&&(s(0,"spk-alert",22),_(1,7),p(2,"spk-icon",31),T(),F()),i&2){let t=l();r(2),A(t.testErrorMessage()),$(1)}}function Mt(i,o){if(i&1&&(s(0,"spk-alert",23),_(1,8),p(2,"spk-icon",31),T(),F()),i&2){let t=l();r(2),A(t.testErrorMessage()),$(1)}}function yt(i,o){if(i&1){let t=C();s(0,"p",32),D("click",function(){c(t);let e=l();return u(e.removeDestination())}),_(1,9),p(2,"strong")(3,"br")(4,"span",33),T(),F()}if(i&2){let t,n=l();r(4),A((t=n.selectedDestinationType())==null?null:t.displayName),$(1)}}function ht(i,o){if(i&1){let t=C();s(0,"div",39),D("click",function(){let e=c(t).$implicit,a=l(2);return u(a.setDestination(e.key))}),s(1,"h3"),k(2),F(),s(3,"p"),k(4),F()()}if(i&2){let t=o.$implicit;r(2),G(t.displayName),r(2),G(t.description)}}function xt(i,o){if(i&1){let t=C();s(0,"button",40,1),D("click",function(){let e=c(t).$implicit,a=l(2);return u(a.setDestination(e.key))}),k(2),F()}if(i&2){let t=o.$implicit;r(2),Z(" ",t.displayName," ")}}function Bt(i,o){if(i&1&&(s(0,"div",34),B(1,ht,5,2,"div",35,x),F(),s(3,"spk-menu",36)(4,"button",37),O(5,10),F(),b(6,19),B(7,xt,3,1,"button",38,x),U(),F()),i&2){let t=l();r(),R(t.destinationTypeOptionsFocused()),r(2),N("searchable",!0),r(4),R(t.destinationTypeOptions())}}function Rt(i,o){if(i&1){let t=C();s(0,"app-single-destination",41),y("targetUrlChange",function(e){c(t);let a=l();return M(a.targetUrlModel,e)||(a.targetUrlModel=e),u(e)}),F()}if(i&2){let t=l();P("targetUrl",t.targetUrlModel),N("useBackupState",!0)}}function bt(i,o){i&1&&(_(0,4,1),p(1,"spk-icon",28),T())}function Ut(i,o){i&1&&(_(0,4,2),p(1,"spk-icon"),T())}function wt(i,o){if(i&1){let t=C();s(0,"spk-dialog",42),y("isOpenChange",function(e){c(t);let a=l();return M(a.targetUrlDialogOpen,e)||(a.targetUrlDialogOpen=e),u(e)}),s(1,"header",43)(2,"h2"),O(3,11),F(),s(4,"spk-alert",22),O(5,12),F()(),s(6,"div",44)(7,"spk-form-field")(8,"textarea",45),y("ngModelChange",function(e){c(t);let a=l();return M(a.targetUrlCtrl,e)||(a.targetUrlCtrl=e),u(e)}),F()()(),s(9,"footer",46)(10,"button",26),D("click",function(){c(t);let e=l();return u(e.closeTargetUrlDialog(!1))}),k(11,"Cancel"),F(),s(12,"button",47),D("click",function(){c(t);let e=l();return u(e.closeTargetUrlDialog(!0))}),_(13,13),p(14,"spk-icon"),T(),F()()()}if(i&2){let t=l();P("isOpen",t.targetUrlDialogOpen),N("options",tt(3,ft)),r(8),P("ngModel",t.targetUrlCtrl)}}var h=new Dt,ne=(i={destinations:[]})=>h.group({destinations:h.array(i.destinations)}),ie=({key:i,customGroup:o,dynamicGroup:t,advancedGroup:n})=>h.group({destinationType:h.control(i),custom:o,dynamic:t,advanced:n}),v=class i{#i=m(it);#o=m(nt);#t=m(Ct);#a=m(It);#e=m(Ft);#s=m(mt);injector=m(H);formRef=et.required("formRef");targetUrlModel=this.#t.targetUrlModel;targetUrlCtrl=I(null);targetUrlInitial=I(null);targetUrlDialogOpen=I(!1);toggleNewDestination=I(!0);destinationTypeOptionsInFocus=I(["file","ssh","s3","gcs","googledrive","azure"]);destinationTypeOptions=this.#a.destinationTypeOptions;testSignal=this.#t.testSignal;testErrorMessage=this.#t.testErrorMessage;destinationTypeOptionsFocused=L(()=>{let o=this.destinationTypeOptionsInFocus(),t=this.destinationTypeOptions();return o.map(n=>t.find(e=>e.key===n))});selectedDestinationType=L(()=>{let o=this.targetUrlModel();if(!o)return null;let t=o.split("://")[0];return St(t)??null});copyTargetUrl(){navigator.clipboard.writeText(this.targetUrlModel()??"")}openTargetUrlDialog(){let o=this.targetUrlModel();this.targetUrlCtrl.set(o),this.targetUrlInitial.set(o),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(o=!1){this.targetUrlDialogOpen.set(!1);let t=this.targetUrlCtrl(),n=this.targetUrlInitial();!o||t===n||!t||this.#t.setTargetUrl(t)}testDestination(o,t,n){let e=this.targetUrlModel();e&&(this.#t.setTestState("testing"),this.#s.testDestination(e,o,!0,!0).subscribe({next:a=>{if(a.action==="success"){this.#t.setTestState("success"),this.#t.isNew()&&(a.containsBackup===!0?(this.#t.setTestState("warning",$localize`The remote destination already contains a backup. Please use a different folder for each backup.`),t||this.#e.open(E,{data:{title:$localize`Folder contains backup`,message:$localize`The remote destination already contains a backup. You must use a different folder for each backup.`,confirmText:$localize`OK`,cancelText:void 0}})):a.anyFilesFound===!0&&(this.#t.setTestState("warning",$localize`The remote destination contains unknown files.`),t||this.#e.open(E,{data:{title:$localize`Folder is not empty`,message:$localize`The remote destination is not empty. It is recommended to use an empty folder for the backup.`,confirmText:$localize`OK`,cancelText:void 0}}))),n?.();return}if(this.#t.setTestState("error",a.errorMessage??$localize`An error occurred while testing the destination.`),a.action==="generic-error"){n?.();return}let f=e.includes("?");a.action==="trust-cert"&&this.#t.setTargetUrl(e+`${f?"&":"?"}accept-specified-ssl-hash=${a.certData}`),a.action==="approve-host-key"&&this.#t.setTargetUrl(e+`${f?"&":"?"}ssh-fingerprint=${a.reportedHostKey}`),a.testAgain?this.testDestination(a.destinationIndex,t):n?.()}}))}setDestination(o){this.#t.setTargetUrl(`${o}://`)}removeDestination(){this.#t.setTargetUrl(null)}goBack(){this.#i.navigate(["general"],{relativeTo:this.#o.parent})}next(){let o=this.#t.isNew(),t=this.testSignal();if(!o){this.#n();return}if(t===""){this.#e.open(E,{data:{title:$localize`Test destination`,message:$localize`You have not tested the destination yet. Do you want to test it now?`,confirmText:$localize`Test now`,cancelText:$localize`Skip test and continue`},closed:n=>{n?this.testDestination(0,!1,()=>{this.testSignal()==="success"?this.#n():this.#e.open(E,{data:{title:$localize`Test did not succeed`,message:this.testErrorMessage()??$localize`Failed to test the destination.`,confirmText:$localize`OK`,cancelText:void 0}})}):this.#n()}});return}if(t!=="success"){this.#e.open(E,{data:{title:$localize`Test destination`,message:$localize`The destination has not been tested successfully. Are you sure you want to continue?`,confirmText:$localize`Yes, continue`,cancelText:$localize`Cancel`},closed:n=>{n&&this.#n()}});return}this.#n()}#n(){this.#t.isNew()||this.#t.submit(!0),this.#i.navigate(["source-data"],{relativeTo:this.#o.parent})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=Q({type:i,selectors:[["app-destination"]],viewQuery:function(t,n){t&1&&Y(n.formRef,Et,5),t&2&&q()},decls:30,vars:9,consts:()=>{let o;o=$localize` Backup destination ${"\uFFFD#5\uFFFD"}:START_TAG_DIV:${"[\uFFFD*6:1\uFFFD|\uFFFD*13:2\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON: Test destination ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*6:1\uFFFD|\uFFFD/*13:2\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD#7\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SPK_ICON:dots-three-vertical${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#10\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD#11\uFFFD"}:START_TAG_BUTTON_2:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SPK_ICON:link${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Edit target URL ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD*6:1\uFFFD|\uFFFD*13:2\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:2\uFFFD"}:START_TAG_BUTTON_3:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SPK_ICON:copy${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy url to clipboard ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*6:1\uFFFD|\uFFFD/*13:2\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SPK_MENU:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_DIV:`,o=w(o);let t;t=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let n;n=$localize`${"\uFFFD*27:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:spinner${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/*27:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*28:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SPK_ICON_1:arrow-right${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/*28:2\uFFFD"}:CLOSE_BLOCK_ELSE: Continue `,n=w(n);let e;e=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:spinner${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Testing connection... `;let a;a=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:check${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Connection tested successfully. `;let f;f=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let K;K=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let V;V=$localize` Current destination type ${"\uFFFD#2\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:.${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#3\uFFFD\uFFFD/#3\uFFFD"}:LINE_BREAK: Want to select another? ${"\uFFFD#4\uFFFD"}:START_TAG_SPAN:Click here${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPAN:`;let z;z=$localize`All destinations`;let X;X=$localize`Edit target URL`;let W;W=$localize`Be careful, this will overwrite everything you have in your destination.`;let j;return j=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SPK_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],["option",""],o,t,n,e,a,f,K,V,z,X,W,j,[3,"submit"],[1,"title-30"],[1,"actions"],["spk-button","","type","button",1,"small",3,"loader","disabled"],["spk-button","","type","button",1,"small"],["menu",""],["spk-button","","type","button",1,"small",3,"click"],[1,"success"],[1,"warn"],[1,"error"],[3,"targetUrl","useBackupState"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary",3,"disabled"],[1,"loader"],[3,"isOpen","options"],["spk-button","","type","button",1,"small",3,"click","disabled"],["icon",""],[3,"click"],[1,"spk-primary"],[1,"most-common-destinations"],[1,"tile"],[3,"searchable"],["spk-button","","type","button",1,"outlined"],["type","button"],[1,"tile",3,"click"],["type","button",3,"click"],[3,"targetUrlChange","targetUrl","useBackupState"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["spk-button","","type","submit",1,"raised","primary",3,"click"]]},template:function(t,n){if(t&1){let e=C();s(0,"form",14,0),D("submit",function(){return c(e),u(n.next())}),s(2,"header")(3,"h3",15),_(4,2),s(5,"div",16),d(6,kt,2,3,"button",17),s(7,"spk-menu")(8,"button",18),p(9,"spk-icon"),F(),b(10,19),s(11,"button",20),D("click",function(){return c(e),u(n.openTargetUrlDialog())}),p(12,"spk-icon"),F(),d(13,Ot,3,0,"button",18),U(),F()(),T(),F(),d(14,At,3,0,"spk-alert")(15,$t,3,0,"spk-alert",21)(16,Pt,3,1,"spk-alert",22)(17,Mt,3,1,"spk-alert",23),d(18,yt,5,1,"p"),F(),d(19,Bt,9,1),d(20,Rt,1,2,"app-single-destination",24),s(21,"div",25)(22,"button",26),D("click",function(){return c(e),u(n.goBack())}),_(23,3),p(24,"spk-icon"),T(),F(),s(25,"button",27),_(26,4),d(27,bt,2,0,"spk-icon",28)(28,Ut,2,0,"spk-icon"),T(),F()()(),d(29,wt,15,4,"spk-dialog",29)}if(t&2){let e=!!n.targetUrlModel();r(6),S(e?6:-1),r(7),S(e?13:-1),r(),S(n.testSignal()=="testing"?14:n.testSignal()=="success"?15:n.testSignal()=="warning"?16:n.testSignal()=="error"?17:-1),r(4),S(e?18:-1),r(),S(e?-1:19),r(),S(e?20:-1),r(5),N("disabled",n.testSignal()=="testing"||!e),r(2),S(n.testSignal()=="testing"?27:28),r(2),S(n.targetUrlDialogOpen()?29:-1)}},dependencies:[Nt,dt,gt,ct,ut,_t,pt,Tt,rt,lt,ot,st,at],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] spk-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10);background-color:var(--base-2);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}"],changeDetection:0})};export{ne as createDestinationForm,ie as createDestinationFormGroup,v as default};
@@ -0,0 +1 @@
1
+ import"./chunk-EUDKD2JW.js";var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-Q3EG4ZLT.js")},{path:"destination",loadComponent:()=>import("./chunk-ONBF7XZA.js")},{path:"source-data",loadComponent:()=>import("./chunk-OBFPN4Q2.js")},{path:"schedule",loadComponent:()=>import("./chunk-SISVWTKC.js")},{path:"options",loadComponent:()=>import("./chunk-654PTAAL.js")}];export{o as default};
@@ -0,0 +1 @@
1
+ import{g as m}from"./chunk-JI7GCFQB.js";import"./chunk-N57J64DN.js";import"./chunk-2G6TVFPZ.js";import{a as y}from"./chunk-XIOHRQ3X.js";import{h as w}from"./chunk-E2CREQ7G.js";import"./chunk-WZNH4JPF.js";import"./chunk-BCHZRC5K.js";import"./chunk-B26UYXA3.js";import{b as u}from"./chunk-LDIZ5E5Z.js";import"./chunk-WZRDKVOR.js";import"./chunk-ULLALJQ2.js";import"./chunk-J6BHRR34.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-7QJG4IIT.js";import"./chunk-3ZVSHKLD.js";import{a as L,b as M,c as N,d as I,e as h,f as G}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{q as W,v}from"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import{Ab as s,Ic as $,Kb as F,Lb as l,Qa as r,Rb as E,Z as c,ab as P,bc as D,na as C,rc as A,sb as T,sc as S,tb as g,tc as O,xb as _,yb as i,zb as n}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var x=()=>["/restore-from-files/destination"],K=()=>["/restore-from-files/encryption"],X=()=>["/restore-from-files/select-files"],b=()=>["/restore-from-files/options"],z=t=>["/restore",t,"select-files"],B=t=>["/restore",t,"options"];function U(t,o){t&1&&(i(0,"div",6),F(1,0),s(2,"spk-radio"),l(),n(),i(3,"div",6),F(4,1),s(5,"spk-radio"),l(),n(),i(6,"div",6),F(7,2),s(8,"spk-radio"),l(),n(),i(9,"div",6),F(10,3),s(11,"spk-radio"),l(),n()),t&2&&(_("routerLink",S(4,x)),r(3),_("routerLink",S(5,K)),r(3),_("routerLink",S(6,X)),r(3),_("routerLink",S(7,b)))}function j(t,o){if(t&1&&(i(0,"div",6),F(1,4),s(2,"spk-radio"),l(),n(),i(3,"div",6),F(4,5),s(5,"spk-radio"),l(),n()),t&2){let e=E(2);_("routerLink",O(2,z,e.backupId())),r(3),_("routerLink",O(4,B,e.backupId()))}}function H(t,o){if(t&1&&(i(0,"spk-stepper"),T(1,U,12,8)(2,j,6,6),n()),t&2){let e=E();r(),g(e.isFileRestore()?1:2)}}var k=class t{#e=c(M);#o=c(I);#t=c(m);#i=u(this.#e.params);#n=u(this.#e.url);#s=u(this.#e.children[0].url);backupId=this.#t.backupId;isFileRestore=this.#t.isFileRestore;isProgressPage=C(!1);paramsChanged=$(()=>{let o=this.#s(),e=this.#i()?.id,a=!!this.#n()?.find(d=>d.path==="restore-from-files"),R=!!o?.find(d=>d.path==="progress");this.isProgressPage.set(R),this.#t.init(e,a)});ngOnInit(){this.#o.events.subscribe(o=>{if(o instanceof L){let e=o.urlAfterRedirects;this.isProgressPage.set(e.includes("progress"))}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=P({type:t,selectors:[["app-restore-flow"]],hostVars:2,hostBindings:function(e,a){e&2&&D("full-width",a.isProgressPage())},features:[A([m,w])],decls:4,vars:1,consts:()=>{let o;o=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let e;e=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Encryption `;let a;a=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let R;R=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let d;d=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let f;return f=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `,[o,e,a,R,d,f,["step","","routerLinkActive","active",3,"routerLink"]]},template:function(e,a){e&1&&(s(0,"app-status-bar"),T(1,H,3,1,"spk-stepper"),i(2,"section"),s(3,"router-outlet"),n()),e&2&&(r(),g(a.isProgressPage()?-1:1))},dependencies:[v,W,y,N,h,G],styles:["[_nghost-%COMP%]{display:block}.full-width[_nghost-%COMP%] section[_ngcontent-%COMP%]{max-width:62.5rem}spk-stepper[_ngcontent-%COMP%]{max-width:31.25rem;margin:2.5rem auto}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}"],changeDetection:0})};export{k as default};
@@ -0,0 +1 @@
1
+ import{a,b}from"./chunk-JI7GCFQB.js";import"./chunk-N57J64DN.js";import"./chunk-2G6TVFPZ.js";import"./chunk-WZNH4JPF.js";import"./chunk-BCHZRC5K.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-J6BHRR34.js";import"./chunk-2BX65XJQ.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-3ZVSHKLD.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{a as createRestoreOptionsForm,b as default};
@@ -0,0 +1 @@
1
+ import{e as a,f as b}from"./chunk-JI7GCFQB.js";import"./chunk-N57J64DN.js";import"./chunk-2G6TVFPZ.js";import"./chunk-WZNH4JPF.js";import"./chunk-BCHZRC5K.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-J6BHRR34.js";import"./chunk-2BX65XJQ.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-3ZVSHKLD.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{a as createRestoreSelectFilesForm,b as default};
@@ -1 +1 @@
1
- import{a,b,c}from"./chunk-2YMUOQLP.js";import"./chunk-XIIFTZ5G.js";import"./chunk-BCHZRC5K.js";import"./chunk-B26UYXA3.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-NSIELNIY.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{b as NONE_OPTION,a as createGeneralForm,c as default};
1
+ import{a,b,c}from"./chunk-E2CREQ7G.js";import"./chunk-WZNH4JPF.js";import"./chunk-BCHZRC5K.js";import"./chunk-B26UYXA3.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-NSIELNIY.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{b as NONE_OPTION,a as createGeneralForm,c as default};
@@ -1,2 +1,2 @@
1
- import{a as V}from"./chunk-32366MQR.js";import{a as A,n as R,x as F}from"./chunk-Y5IRBMLB.js";import{la as N}from"./chunk-CWLTHXVS.js";import{Ab as P,Eb as k,Ic as x,Mb as m,Nc as C,Qa as l,Qb as w,Rb as r,Z as E,ab as h,ac as G,bc as v,da as O,ea as I,ec as s,fc as L,gc as d,na as M,sb as p,tb as g,ub as u,vb as S,wb as f,wc as y,xb as T,yb as o,yc as $,zb as i}from"./chunk-BTMXQPBB.js";function B(n,t){n&1&&(o(0,"div",4),m(1,0),i())}function D(n,t){if(n&1&&(o(0,"li"),s(1),i()),n&2){let e=t.$implicit;l(),L(e)}}function U(n,t){if(n&1&&(o(0,"code")(1,"ol",15),S(2,D,2,1,"li",null,u),i()()),n&2){let e=r(2).$implicit,a=r(2);l(2),f(a.breakIntoLines(e.Exception))}}function X(n,t){if(n&1&&(o(0,"li"),s(1),i()),n&2){let e=t.$implicit;l(),L(e)}}function z(n,t){if(n&1&&(o(0,"code")(1,"ol",15),S(2,X,2,1,"li",null,u),i()()),n&2){let e=r(2).$implicit,a=r(2);l(2),f(a.breakIntoLines(e.Message))}}function W(n,t){if(n&1&&(o(0,"tr")(1,"td",12)(2,"spk-list",13)(3,"div",14),s(4),i(),o(5,"div",14),s(6),i(),o(7,"div",14),s(8),i(),o(9,"div",14),s(10),i(),o(11,"div",14),s(12),i()(),p(13,U,4,0,"code"),p(14,z,4,0,"code"),i()()),n&2){let e=r().$implicit;l(4),d("ID: ",e.ID),l(2),d("Type: ",e.Type),l(2),d("Tag: ",e.Tag),l(2),d("TaskID: ",e.TaskID),l(2),d("MessageID: ",e.MessageID),l(),g(e.Exception?13:-1),l(),g(e.Message?14:-1)}}function j(n,t){if(n&1){let e=k();o(0,"tr",10),w("click",function(){let _=O(e).$index,c=r(2);return I(c.toggleRow(_))}),o(1,"td"),s(2),y(3,"date"),i(),o(4,"td"),s(5),i(),o(6,"td",8)(7,"button",11)(8,"spk-icon"),s(9,"caret-down"),i()()()(),p(10,W,15,7,"tr")}if(n&2){let e=t.$implicit,a=t.$index,_=r(2);l(2),L($(3,5,e.When,"MMM dd. hh:mm")),l(3),L(_.subStringMessage(e.Message)),l(2),v("rotated-icon",a===_.openRowIndex()),l(3),g(a===_.openRowIndex()?10:-1)}}function H(n,t){if(n&1&&(o(0,"spk-table",6)(1,"tr",7)(2,"th"),m(3,1),i(),o(4,"th"),m(5,2),i(),P(6,"th",8),i(),S(7,j,11,8,null,null,u),o(9,"div",9),m(10,3),i()()),n&2){let e=r();G("grid-template-columns","auto 1fr auto"),v("type-b",e.asSimpleList()),T("data",e.logs())("loading",e.logsLoading()),l(7),f(e.logs())}}var b=class n{#e=E(V);whenFilter=C();backupIdFilter=C();asSimpleList=C();polling=C();logLevel=this.#e.logLevel;logLevelByLabel=this.#e.logLevelByLabel;logs=this.#e.logs;logsLoading=this.#e.logsLoading;pollingEffect=x(()=>{let t=this.polling()??!1;this.#e.isPolling.set(t)});openRowIndex=M(null);whenEffect=x(()=>{let t=this.whenFilter()??null;this.#e.setWhenFilter(t),this.#e.logLevel.set(t?"Verbose":"Disabled")});backupIdEffect=x(()=>{let t=this.backupIdFilter()??null;this.#e.setBackupIdFilter(t),this.#e.logLevel.set(t?"Verbose":"Disabled")});toggleRow(t){this.openRowIndex.set(t===this.openRowIndex()?null:t)}breakIntoLines(t){return t?t.split(`
2
- `):[]}subStringMessage(t){return t?t.substring(0,80)+"...":""}ngOnDestroy(){this.#e.destroy()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=h({type:n,selectors:[["app-logs-live"]],hostVars:2,hostBindings:function(e,a){e&2&&v("simple-list",a.asSimpleList())},inputs:{whenFilter:[1,"whenFilter"],backupIdFilter:[1,"backupIdFilter"],asSimpleList:[1,"asSimpleList"],polling:[1,"polling"]},decls:2,vars:1,consts:()=>{let t;t=$localize`Live logs are disabled`;let e;e=$localize`When`;let a;a=$localize`Message`;let _;return _=$localize`No data available`,[t,e,a,_,[1,"live-view-disabled"],[3,"type-b","data","loading","grid-template-columns"],[3,"data","loading"],["table-header",""],[1,"sticky-end"],["table-no-rows",""],[3,"click"],["spk-button","","type","button",1,"outlined","small"],[1,"expanded-cell"],[1,"primary"],["item",""],[1,"line-numbers-ol"]]},template:function(e,a){e&1&&p(0,B,2,0,"div",4)(1,H,11,6,"spk-table",5),e&2&&g(a.logLevel()==="Disabled"?0:1)},dependencies:[F,A,R,N],styles:["[_nghost-%COMP%]{display:block}.simple-list[_nghost-%COMP%] spk-table[_ngcontent-%COMP%]{--table-td-bg: var(--base-2);height:100%}.live-view-disabled[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:18.75rem;width:100%;background-color:var(--base-2);border:1px solid var(--base-3);border-radius:var(--shape-2);font:var(--paragraph-20)}.expanded-cell[_ngcontent-%COMP%]{height:auto;grid-column:1/-1;white-space:pre-wrap;display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-table[_ngcontent-%COMP%]{--table-columns: auto auto 1fr auto}spk-table[_ngcontent-%COMP%] td.id[_ngcontent-%COMP%]{justify-content:center}spk-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code){padding:1rem .75rem;overflow:hidden}spk-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code) code[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--base-8),#000 70%);color:#fff;padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre;max-width:100%}"],changeDetection:0})};export{b as a};
1
+ import{a as V}from"./chunk-32366MQR.js";import{a as A,n as R,x as F}from"./chunk-Y5IRBMLB.js";import{la as N}from"./chunk-CWLTHXVS.js";import{Ab as P,Eb as k,Ic as x,Mb as m,Nc as C,Qa as l,Qb as w,Rb as r,Z as E,ab as M,ac as G,bc as v,da as O,ea as I,ec as s,fc as L,gc as d,na as h,sb as p,tb as g,ub as u,vb as S,wb as f,wc as y,xb as T,yb as o,yc as $,zb as i}from"./chunk-BTMXQPBB.js";function B(n,t){n&1&&(o(0,"div",4),m(1,0),i())}function D(n,t){if(n&1&&(o(0,"li"),s(1),i()),n&2){let e=t.$implicit;l(),L(e)}}function U(n,t){if(n&1&&(o(0,"code")(1,"ol",15),S(2,D,2,1,"li",null,u),i()()),n&2){let e=r(2).$implicit,a=r(2);l(2),f(a.breakIntoLines(e.Exception))}}function X(n,t){if(n&1&&(o(0,"li"),s(1),i()),n&2){let e=t.$implicit;l(),L(e)}}function z(n,t){if(n&1&&(o(0,"code")(1,"ol",15),S(2,X,2,1,"li",null,u),i()()),n&2){let e=r(2).$implicit,a=r(2);l(2),f(a.breakIntoLines(e.Message))}}function W(n,t){if(n&1&&(o(0,"tr")(1,"td",12)(2,"spk-list",13)(3,"div",14),s(4),i(),o(5,"div",14),s(6),i(),o(7,"div",14),s(8),i(),o(9,"div",14),s(10),i(),o(11,"div",14),s(12),i()(),p(13,U,4,0,"code"),p(14,z,4,0,"code"),i()()),n&2){let e=r().$implicit;l(4),d("ID: ",e.ID),l(2),d("Type: ",e.Type),l(2),d("Tag: ",e.Tag),l(2),d("TaskID: ",e.TaskID),l(2),d("MessageID: ",e.MessageID),l(),g(e.Exception?13:-1),l(),g(e.Message?14:-1)}}function j(n,t){if(n&1){let e=k();o(0,"tr",10),w("click",function(){let _=O(e).$index,c=r(2);return I(c.toggleRow(_))}),o(1,"td"),s(2),y(3,"date"),i(),o(4,"td"),s(5),i(),o(6,"td",8)(7,"button",11)(8,"spk-icon"),s(9,"caret-down"),i()()()(),p(10,W,15,7,"tr")}if(n&2){let e=t.$implicit,a=t.$index,_=r(2);l(2),L($(3,5,e.When,"medium")),l(3),L(_.subStringMessage(e.Message)),l(2),v("rotated-icon",a===_.openRowIndex()),l(3),g(a===_.openRowIndex()?10:-1)}}function H(n,t){if(n&1&&(o(0,"spk-table",6)(1,"tr",7)(2,"th"),m(3,1),i(),o(4,"th"),m(5,2),i(),P(6,"th",8),i(),S(7,j,11,8,null,null,u),o(9,"div",9),m(10,3),i()()),n&2){let e=r();G("grid-template-columns","auto 1fr auto"),v("type-b",e.asSimpleList()),T("data",e.logs())("loading",e.logsLoading()),l(7),f(e.logs())}}var b=class n{#e=E(V);whenFilter=C();backupIdFilter=C();asSimpleList=C();polling=C();logLevel=this.#e.logLevel;logLevelByLabel=this.#e.logLevelByLabel;logs=this.#e.logs;logsLoading=this.#e.logsLoading;pollingEffect=x(()=>{let t=this.polling()??!1;this.#e.isPolling.set(t)});openRowIndex=h(null);whenEffect=x(()=>{let t=this.whenFilter()??null;this.#e.setWhenFilter(t),this.#e.logLevel.set(t?"Verbose":"Disabled")});backupIdEffect=x(()=>{let t=this.backupIdFilter()??null;this.#e.setBackupIdFilter(t),this.#e.logLevel.set(t?"Verbose":"Disabled")});toggleRow(t){this.openRowIndex.set(t===this.openRowIndex()?null:t)}breakIntoLines(t){return t?t.split(`
2
+ `):[]}subStringMessage(t){return t?t.substring(0,80)+"...":""}ngOnDestroy(){this.#e.destroy()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=M({type:n,selectors:[["app-logs-live"]],hostVars:2,hostBindings:function(e,a){e&2&&v("simple-list",a.asSimpleList())},inputs:{whenFilter:[1,"whenFilter"],backupIdFilter:[1,"backupIdFilter"],asSimpleList:[1,"asSimpleList"],polling:[1,"polling"]},decls:2,vars:1,consts:()=>{let t;t=$localize`Live logs are disabled`;let e;e=$localize`When`;let a;a=$localize`Message`;let _;return _=$localize`No data available`,[t,e,a,_,[1,"live-view-disabled"],[3,"type-b","data","loading","grid-template-columns"],[3,"data","loading"],["table-header",""],[1,"sticky-end"],["table-no-rows",""],[3,"click"],["spk-button","","type","button",1,"outlined","small"],[1,"expanded-cell"],[1,"primary"],["item",""],[1,"line-numbers-ol"]]},template:function(e,a){e&1&&p(0,B,2,0,"div",4)(1,H,11,6,"spk-table",5),e&2&&g(a.logLevel()==="Disabled"?0:1)},dependencies:[F,A,R,N],styles:["[_nghost-%COMP%]{display:block}.simple-list[_nghost-%COMP%] spk-table[_ngcontent-%COMP%]{--table-td-bg: var(--base-2);height:100%}.live-view-disabled[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:18.75rem;width:100%;background-color:var(--base-2);border:1px solid var(--base-3);border-radius:var(--shape-2);font:var(--paragraph-20)}.expanded-cell[_ngcontent-%COMP%]{height:auto;grid-column:1/-1;white-space:pre-wrap;display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-table[_ngcontent-%COMP%]{--table-columns: auto auto 1fr auto}spk-table[_ngcontent-%COMP%] td.id[_ngcontent-%COMP%]{justify-content:center}spk-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code){padding:1rem .75rem;overflow:hidden}spk-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code) code[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--base-8),#000 70%);color:#fff;padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre;max-width:100%}"],changeDetection:0})};export{b as a};
@@ -1 +1 @@
1
- import{a as m}from"./chunk-MFURKVTP.js";import{h as u}from"./chunk-DNJOKPEL.js";import{B as h,F as s,H as p,Ic as N,R as d,U as l,Z as r,n as c,na as o,x as f}from"./chunk-BTMXQPBB.js";var b=class a{#e=r(u);#s=r(m);serverState=this.#s.serverState;serverStateEffect=N(()=>{let t=this.#s.serverState();t?.LastNotificationUpdateID&&this.updateLastNotificationEventId(t?.LastNotificationUpdateID)});#o=-1;#a=o(!1);#t=o([]);#i=o([]);notifications=this.#t.asReadonly();init(){this.notifications().length===0&&this.getNotifications()}updateLastNotificationEventId(t){this.#o!==t&&(this.#o=t,this.getNotifications())}getNotifications(){this.#a.set(!0),this.#e.getApiV1Notifications().pipe(s(1),d(t=>this.#t.set(t)),p(()=>this.#a.set(!1))).subscribe()}getNofication(t){this.#e.getApiV1NotificationById({id:t}).pipe(s(1)).subscribe()}deleteNotification(t){let i=this.#t(),e=i[t];this.#i.set(i),i.splice(t,1),this.#t.set(i),this.#e.deleteApiV1NotificationById({id:e.ID}).pipe(s(1)).subscribe({error:()=>{this.#t.set(this.#i()),this.#i.set([])}})}deleteAllNotifications(){let t=this.#t();this.#i.set(t),this.#t.set([]);let i=t.map(e=>this.#e.deleteApiV1NotificationById({id:e.ID}).pipe(h(()=>c(e))));f(i).pipe(s(1)).subscribe({next:e=>{let v=e.filter(n=>n!=null&&"ID"in n);this.#t.set(v),this.#i.set([])},error:()=>{this.#t.set(this.#i()),this.#i.set([])}})}static \u0275fac=function(i){return new(i||a)};static \u0275prov=l({token:a,factory:a.\u0275fac,providedIn:"root"})};export{b as a};
1
+ import{a as m}from"./chunk-WZRDKVOR.js";import{h as u}from"./chunk-DNJOKPEL.js";import{B as h,F as s,H as p,Ic as N,R as d,U as l,Z as r,n as c,na as o,x as f}from"./chunk-BTMXQPBB.js";var b=class a{#e=r(u);#s=r(m);serverState=this.#s.serverState;serverStateEffect=N(()=>{let t=this.#s.serverState();t?.LastNotificationUpdateID&&this.updateLastNotificationEventId(t?.LastNotificationUpdateID)});#o=-1;#a=o(!1);#t=o([]);#i=o([]);notifications=this.#t.asReadonly();init(){this.notifications().length===0&&this.getNotifications()}updateLastNotificationEventId(t){this.#o!==t&&(this.#o=t,this.getNotifications())}getNotifications(){this.#a.set(!0),this.#e.getApiV1Notifications().pipe(s(1),d(t=>this.#t.set(t)),p(()=>this.#a.set(!1))).subscribe()}getNofication(t){this.#e.getApiV1NotificationById({id:t}).pipe(s(1)).subscribe()}deleteNotification(t){let i=this.#t(),e=i[t];this.#i.set(i),i.splice(t,1),this.#t.set(i),this.#e.deleteApiV1NotificationById({id:e.ID}).pipe(s(1)).subscribe({error:()=>{this.#t.set(this.#i()),this.#i.set([])}})}deleteAllNotifications(){let t=this.#t();this.#i.set(t),this.#t.set([]);let i=t.map(e=>this.#e.deleteApiV1NotificationById({id:e.ID}).pipe(h(()=>c(e))));f(i).pipe(s(1)).subscribe({next:e=>{let v=e.filter(n=>n!=null&&"ID"in n);this.#t.set(v),this.#i.set([])},error:()=>{this.#t.set(this.#i()),this.#i.set([])}})}static \u0275fac=function(i){return new(i||a)};static \u0275prov=l({token:a,factory:a.\u0275fac,providedIn:"root"})};export{b as a};
@@ -1,2 +1,2 @@
1
- import{a as w,g as U,x as z}from"./chunk-Y5IRBMLB.js";import{h as X}from"./chunk-DNJOKPEL.js";import{la as y}from"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{Ab as b,Eb as M,H as k,Ic as v,Kb as N,Lb as B,Mb as _,Qa as l,Qb as F,Rb as p,Z as G,ab as $,ac as I,bc as h,da as S,ea as u,ec as d,fc as g,na as r,sb as O,tb as f,ub as T,vb as E,wb as C,wc as x,xb as L,yb as i,yc as A,zb as a}from"./chunk-BTMXQPBB.js";import{a as P,b as R}from"./chunk-EUDKD2JW.js";function V(o,e){if(o&1&&(i(0,"li"),d(1),a()),o&2){let t=e.$implicit;l(),g(t)}}function K(o,e){if(o&1&&(i(0,"tr")(1,"td",12)(2,"code")(3,"ol",13),E(4,V,2,1,"li",null,T),a()()()()),o&2){let t=p().$implicit,n=p();l(),I("grid-column","1 / -1")("height","auto"),l(3),C(n.breakIntoLines(t.Exception))}}function j(o,e){if(o&1){let t=M();i(0,"tr",9),F("click",function(){let s=S(t).$index,c=p();return u(c.toggleRow(s))}),i(1,"td"),d(2),x(3,"date"),a(),i(4,"td",10),d(5),a(),i(6,"td"),d(7),a(),i(8,"td")(9,"button",11)(10,"spk-icon"),d(11,"caret-down"),a()()()(),O(12,K,6,4,"tr")}if(o&2){let t=e.$implicit,n=e.$index,s=p();l(2),g(A(3,6,t.Timestamp,"MMM dd. hh:mm")),l(3),g(t.BackupID>=0?t.BackupID:"-"),l(2),g(t.Message),l(2),h("rotated-icon",n===s.openRowIndex()),l(3),f(n===s.openRowIndex()?12:-1)}}function q(o,e){o&1&&_(0,4,1)}function H(o,e){o&1&&_(0,4,2)}var J=["BackupID","Timestamp","Message","actions"],D=class o{#e=G(X);displayedColumns=r(J);openRowIndex=r(null);noMoreItems=r(!1);logsIsLoading=r(!1);logs=r([]);pagination=r({offsetTime:void 0,pagesize:10});paginationEffect=v(()=>{let e=this.pagination();this.getLogs()});ngOnInit(){this.getLogs()}getLogs(){this.logsIsLoading.set(!0);let e=this.pagination();this.#e.getApiV1LogdataLog({pagesize:e.pagesize,offset:e.offsetTime}).pipe(k(()=>this.logsIsLoading.set(!1))).subscribe({next:t=>{t.length===0&&this.noMoreItems.set(!0),this.logs.update(n=>[...n,...t])}})}toggleRow(e){this.openRowIndex.set(e===this.openRowIndex()?null:e)}breakIntoLines(e){return e?e.split(`
1
+ import{a as w,g as U,x as z}from"./chunk-Y5IRBMLB.js";import{h as X}from"./chunk-DNJOKPEL.js";import{la as y}from"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{Ab as b,Eb as M,H as k,Ic as v,Kb as N,Lb as B,Mb as _,Qa as l,Qb as F,Rb as p,Z as G,ab as $,ac as I,bc as x,da as S,ea as u,ec as d,fc as g,na as r,sb as O,tb as f,ub as T,vb as E,wb as C,wc as A,xb as L,yb as i,yc as h,zb as a}from"./chunk-BTMXQPBB.js";import{a as P,b as R}from"./chunk-EUDKD2JW.js";function V(o,e){if(o&1&&(i(0,"li"),d(1),a()),o&2){let t=e.$implicit;l(),g(t)}}function K(o,e){if(o&1&&(i(0,"tr")(1,"td",12)(2,"code")(3,"ol",13),E(4,V,2,1,"li",null,T),a()()()()),o&2){let t=p().$implicit,n=p();l(),I("grid-column","1 / -1")("height","auto"),l(3),C(n.breakIntoLines(t.Exception))}}function j(o,e){if(o&1){let t=M();i(0,"tr",9),F("click",function(){let s=S(t).$index,c=p();return u(c.toggleRow(s))}),i(1,"td"),d(2),A(3,"date"),a(),i(4,"td",10),d(5),a(),i(6,"td"),d(7),a(),i(8,"td")(9,"button",11)(10,"spk-icon"),d(11,"caret-down"),a()()()(),O(12,K,6,4,"tr")}if(o&2){let t=e.$implicit,n=e.$index,s=p();l(2),g(t.Timestamp?h(3,6,t.Timestamp*1e3,"medium"):"-"),l(3),g(t.BackupID>=0?t.BackupID:"-"),l(2),g(t.Message),l(2),x("rotated-icon",n===s.openRowIndex()),l(3),f(n===s.openRowIndex()?12:-1)}}function q(o,e){o&1&&_(0,4,1)}function H(o,e){o&1&&_(0,4,2)}var J=["BackupID","Timestamp","Message","actions"],D=class o{#e=G(X);displayedColumns=r(J);openRowIndex=r(null);noMoreItems=r(!1);logsIsLoading=r(!1);logs=r([]);pagination=r({offsetTime:void 0,pagesize:10});paginationEffect=v(()=>{let e=this.pagination();this.getLogs()});ngOnInit(){this.getLogs()}getLogs(){this.logsIsLoading.set(!0);let e=this.pagination();this.#e.getApiV1LogdataLog({pagesize:e.pagesize,offset:e.offsetTime}).pipe(k(()=>this.logsIsLoading.set(!1))).subscribe({next:t=>{t.length===0&&this.noMoreItems.set(!0),this.logs.update(n=>[...n,...t])}})}toggleRow(e){this.openRowIndex.set(e===this.openRowIndex()?null:e)}breakIntoLines(e){return e?e.split(`
2
2
  `):[]}loadMore(){let e=this.logs().at(-1)?.Timestamp;this.pagination.update(t=>R(P({},t),{offsetTime:e}))}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=$({type:o,selectors:[["app-logs-stored"]],decls:18,vars:6,consts:()=>{let e;e=$localize`Timestamp`;let t;t=$localize`Backup ID`;let n;n=$localize`Message`;let s;s=$localize`No data available`;let c;return c=$localize`${"\uFFFD*16:1\uFFFD"}:START_BLOCK_IF: No more items ${"\uFFFD/*16:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*17:2\uFFFD"}:START_BLOCK_ELSE: Load more ${"\uFFFD/*17:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,[e,t,n,s,c,[1,"type-b",3,"data","loading"],["table-header",""],["table-no-rows",""],["spk-button","",1,"primary","raised",3,"click","disabled"],[3,"click"],[1,"id"],["spk-button","","type","button",1,"outlined","small"],[2,"white-space","pre-wrap"],[1,"line-numbers-ol"]]},template:function(t,n){if(t&1){let s=M();i(0,"spk-table",5)(1,"tr",6)(2,"th"),_(3,0),a(),i(4,"th"),_(5,1),a(),i(6,"th"),_(7,2),a(),b(8,"th"),a(),E(9,j,13,9,null,null,T),i(11,"div",7),_(12,3),a()(),i(13,"footer")(14,"button",8),F("click",function(){return S(s),u(n.loadMore())}),N(15,4),O(16,q,1,0)(17,H,1,0),B(),a()()}if(t&2){let s=n.logs();I("grid-template-columns","1fr 1fr 1fr auto"),L("data",s)("loading",n.logsIsLoading()),l(9),C(s),l(5),L("disabled",n.logsIsLoading()||n.noMoreItems()),l(2),f(n.noMoreItems()?16:17)}},dependencies:[z,y,w,U],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-table[_ngcontent-%COMP%]{--table-columns: auto auto 1fr auto}spk-table[_ngcontent-%COMP%] td.id[_ngcontent-%COMP%]{justify-content:center}spk-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code){padding:1rem .75rem;overflow:hidden}spk-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code) code[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--base-8),#000 70%);color:#fff;padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre}footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:2rem 0 0}"],changeDetection:0})};export{D as default};