@duplicati/ngclient 0.0.136 → 0.0.137
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chunk-2YMUOQLP.js +1 -0
- package/{chunk-Y5UKX3VC.js → chunk-3JKXOOME.js} +1 -1
- package/{chunk-POGTGPHE.js → chunk-4AWC7A44.js} +1 -1
- package/{chunk-HU5PJ35D.js → chunk-5LGMQ3QI.js} +1 -1
- package/{chunk-6NTCVCCY.js → chunk-7E4SLHH6.js} +1 -1
- package/{chunk-T5KDR4TA.js → chunk-7GUJ7DYP.js} +1 -1
- package/{chunk-YZYJP5XH.js → chunk-A4BYE2OQ.js} +1 -1
- package/{chunk-HDV3QKLN.js → chunk-AM7RYTIO.js} +1 -1
- package/{chunk-LKJ2SBQA.js → chunk-B6OIHB5W.js} +1 -1
- package/{chunk-K6ISVHYD.js → chunk-BEUZGUTP.js} +1 -1
- package/{chunk-FHZLYBIT.js → chunk-BUHA4W4I.js} +1 -1
- package/{chunk-UFQWL2QF.js → chunk-DDOT2PJU.js} +3 -3
- package/{chunk-XLKQSWFD.js → chunk-EL7ZWMW3.js} +1 -1
- package/chunk-ETPRQPCV.js +1 -0
- package/chunk-FY7P6D7L.js +1 -0
- package/{chunk-MVUGI7Y7.js → chunk-GHXNDRQC.js} +1 -1
- package/{chunk-VRE6C66C.js → chunk-HN6NEFVX.js} +1 -1
- package/{chunk-J6SAG7QN.js → chunk-HYVO7UIG.js} +1 -1
- package/{chunk-D7KAEUGB.js → chunk-JHBG6CNS.js} +1 -1
- package/{chunk-7N3LIJV6.js → chunk-KTU3Q35O.js} +1 -1
- package/chunk-KZQCOYF7.js +1 -0
- package/{chunk-ROOTIQEO.js → chunk-MFURKVTP.js} +1 -1
- package/chunk-NMNBM72U.js +1 -0
- package/chunk-NS4PAVKI.js +1 -0
- package/chunk-OZLEURDK.js +6 -0
- package/{chunk-43A44MVC.js → chunk-QD2GV7XN.js} +1 -1
- package/{chunk-P3AZ3DXZ.js → chunk-QR64BSPX.js} +1 -1
- package/{chunk-PVLT4ZGI.js → chunk-RIVEONGL.js} +1 -1
- package/{chunk-ZFCSCXTC.js → chunk-RVPCSXUI.js} +1 -1
- package/{chunk-X3RII7G2.js → chunk-SYUL4YZN.js} +1 -1
- package/chunk-UM3LTU7N.js +1 -0
- package/{chunk-UFP4XKZF.js → chunk-UZK7ABRM.js} +1 -1
- package/chunk-V5YSQG4X.js +2 -0
- package/{chunk-B5ABLFSQ.js → chunk-VKUSJRIK.js} +1 -1
- package/{chunk-4NAIBN6Y.js → chunk-XPQBJ7EY.js} +1 -1
- package/{chunk-LFMC622O.js → chunk-Y73FO7VJ.js} +1 -1
- package/{chunk-WXAZWUCA.js → chunk-YONVHISY.js} +1 -1
- package/{chunk-OHMTS3T7.js → chunk-YR3TOOC3.js} +1 -1
- package/{chunk-6ABAW3RM.js → chunk-YSJGV5SH.js} +1 -1
- package/chunk-ZZNFOL3R.js +1 -0
- package/index.html +1 -1
- package/locale/messages.cs.json +22 -1
- package/locale/messages.da.json +24 -1
- package/locale/messages.de.json +211 -22
- package/locale/messages.en_GB.json +24 -1
- package/locale/messages.es.json +25 -1
- package/locale/messages.fi.json +32 -3
- package/locale/messages.fr.json +20 -1
- package/locale/messages.hu.json +26 -3
- package/locale/messages.it.json +38 -24
- package/locale/messages.ja_JP.json +28 -1
- package/locale/messages.nl_NL.json +164 -20
- package/locale/messages.pl.json +20 -1
- package/locale/messages.pt.json +19 -1
- package/locale/messages.pt_BR.json +19 -1
- package/locale/messages.ru.json +33 -3
- package/locale/messages.sr_RS.json +32 -3
- package/locale/messages.sv_SE.json +32 -3
- package/locale/messages.zh-Hans.json +25 -9
- package/locale/messages.zh_CN.json +27 -18
- package/locale/messages.zh_TW.json +25 -3
- package/{main-HYB6MFRZ.js → main-J4GINH4P.js} +1 -1
- package/package.json +1 -1
- package/chunk-4WF2SEOM.js +0 -1
- package/chunk-6JDDO2JR.js +0 -1
- package/chunk-7HKUM56D.js +0 -1
- package/chunk-FCCV5HAI.js +0 -6
- package/chunk-FUEIZLWH.js +0 -1
- package/chunk-FUZLIOUQ.js +0 -1
- package/chunk-IQHBPLHL.js +0 -1
- package/chunk-M3URTEVE.js +0 -2
- package/chunk-QECYPB3W.js +0 -1
- package/chunk-ZFONU33Q.js +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as Ee}from"./chunk-
|
|
2
|
-
`).filter(o=>o.length>0)??[],i=this.standardFields.value,u=i.filters??[],g=[t.command,e,...s,`--backup-name=${i["backup-name"]}`,`--dbpath=${i.dbpath}`,`--backup-id=${i["backup-id"]}`,...u.filter(o=>o).map(o=>o.startsWith("-")?`--exclude=${o?.slice(1)}`:`--include=${o}`),...this.#e.mapFormsToSettings(["backup-id","backup-name","dbpath"]).map(o=>`${o.Name}=${o.Value}`),"--disable-module=console-password-input"];this.#t.postApiV1Commandline({requestBody:g}).subscribe(o=>{o.Status==="OK"&&this.#n.navigate(["backup",this.backupId(),"commandline",o.ID])})}mapBaseCmdToForm(t){let e=t.TargetURL??null;e&&this.baseCmdForm.patchValue({targetUrl:e??"",arguments:t.Sources?.join(`
|
|
3
|
-
`)??""})}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=$({type:l,selectors:[["app-commandline"]],features:[W([P])],decls:8,vars:1,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`Command`;let s;s=$localize`TargetUrl`;let i;i=$localize`Commandline Arguments`;let u;u=$localize`Advanced options`;let g;g=$localize`Backup ID`;let o;o=$localize`Backup Name`;let
|
|
1
|
+
import{a as Ee}from"./chunk-FY7P6D7L.js";import"./chunk-2G6TVFPZ.js";import{a as fe}from"./chunk-EL7ZWMW3.js";import{h as P}from"./chunk-2YMUOQLP.js";import"./chunk-XIIFTZ5G.js";import{a as Se}from"./chunk-BCHZRC5K.js";import"./chunk-B26UYXA3.js";import{b as O}from"./chunk-LDIZ5E5Z.js";import{a as le}from"./chunk-MFURKVTP.js";import"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import{c as se,e as me,f as de,j as pe,n as _e,o as ce,p as ue,q as Ce,r as ge,s as Ne,t as Me}from"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{b as q,d as Z,e as J}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as Q,e as Y,g as ee,k as te,l as ne,p as oe,t as ie}from"./chunk-Y5IRBMLB.js";import{g as ae,h as re}from"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import{Ab as r,Bb as A,Cb as T,Eb as v,Ic as H,Kb as N,Lb as M,Mb as c,Nb as G,Ob as U,Qa as m,Qb as x,Rb as f,Z as _,ab as $,bc as K,da as S,ea as E,jc as w,kc as X,lc as z,na as F,qc as V,rc as W,sb as h,sc as j,tb as b,ub as B,vb as R,wb as y,xb as C,yb as a,zb as n}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var Fe=()=>["backup"];function Ae(l,t){l&1&&r(0,"spk-progress-bar",12)}function Te(l,t){if(l&1&&(a(0,"spk-form-field"),r(1,"input",32),n()),l&2){let e=t.$implicit,s=t.$index;m(),C("id",V("filter-",s))("formControl",e)}}function Oe(l,t){if(l&1){let e=v();a(0,"form",13)(1,"spk-select",14)(2,"label",15),c(3,1),n(),r(4,"input",16),n(),a(5,"spk-form-field")(6,"label",17),c(7,2),n(),r(8,"textarea",18),n(),a(9,"spk-form-field")(10,"label",19),c(11,3),n(),r(12,"textarea",20),n()(),a(13,"spk-divider"),c(14,4),n(),a(15,"form",13)(16,"spk-form-field")(17,"label",21),c(18,5),n(),r(19,"input",22),n(),a(20,"spk-form-field")(21,"label",23),c(22,6),n(),r(23,"input",24),n(),a(24,"app-toggle-card",25),A(25,26),c(26,7),T(),A(27,27),R(28,Te,2,3,"spk-form-field",null,B),T(),n()(),a(30,"p"),N(31,8),r(32,"a",28),M(),n(),a(33,"app-options-list",29),z("optionsChange",function(i){S(e);let u=f();return X(u.settings,i)||(u.settings=i),E(i)}),n(),a(34,"div",30)(35,"button",31),x("click",function(){S(e);let i=f();return E(i.submit())}),N(36,9),r(37,"spk-icon"),M(),n()()}if(l&2){let e=f();C("formGroup",e.baseCmdForm),m(),C("options",e.commandOptions()??j(10,Fe))("inlineSearch",!0),m(14),C("formGroup",e.standardFields),m(9),C("disallowToggle",!0),m(4),y(e.standardFields.controls.filters.controls),m(5),w("options",e.settings),C("hasFreeTextSettings",!0),m(2),K("loader",e.isSubmitting()),m(2),G(e.baseCmdForm.value.command),U(36)}}var d=new ge,Pe=["Bytes","KB","MB","GB","TB","PB"],k=class l{#e=_(P);#t=_(re);#n=_(Z);#o=_(q);#i=_(ae);#a=_(le);#s=_(Y);#r=O(this.#o.params);commandOptions=O(this.#i.getApiV1Commandline());sizeOptions=F(Pe);isSubmitting=F(!1);optionsFields=this.#e.optionsFields;standardFields=d.group({"backup-id":d.control(""),"backup-name":d.control(""),dbpath:d.control(""),filters:d.array([])});baseCmdForm=d.group({command:d.control("backup"),targetUrl:d.control(""),arguments:d.control("")});finishedLoading=this.#e.finishedLoading;backupId=this.#e.backupId;settings=this.#e.settings;#m=H(()=>{let t=this.#r()?.id;this.#e.backupId.set(t),this.getBackup(t)});getBackup(t){this.#t.getApiV1BackupById({id:t}).subscribe({next:e=>{this.#e.mapScheduleToForm(e.Schedule??null),e.Backup&&(this.#e.mapGeneralToForm(e.Backup),this.mapStandardFieldsToForm(e.Backup),this.mapBaseCmdToForm(e.Backup),this.#e.mapOptionsToForms(e.Backup)),this.#e.finishedLoading.set(!0)}})}mapStandardFieldsToForm(t){this.standardFields.patchValue({dbpath:t.DBPath,"backup-id":t.ID,"backup-name":t.Name}),t.Filters&&t.Filters.length&&t.Filters.map(e=>{this.standardFields.controls.filters.push(d.control(`${e.Include?"":"-"}${e.Expression}`))})}submit(){this.#a.resumeDialogCheck(()=>this.#l())}#l(){this.isSubmitting.set(!0);let t=this.baseCmdForm.value,e=t.targetUrl??"",s=t.arguments?.split(`
|
|
2
|
+
`).filter(o=>o.length>0)??[],i=this.standardFields.value,u=i.filters??[],g=[t.command,e,...s,`--backup-name=${i["backup-name"]}`,`--dbpath=${i.dbpath}`,`--backup-id=${i["backup-id"]}`,...u.filter(o=>o).map(o=>o.startsWith("-")?`--exclude=${o?.slice(1)}`:`--include=${o}`),...this.#e.mapFormsToSettings(["backup-id","backup-name","dbpath"]).map(o=>`${o.Name.startsWith("--")?"":"--"}${o.Name}=${o.Value}`),"--disable-module=console-password-input"];this.#t.postApiV1Commandline({requestBody:g}).subscribe(o=>{o.Status==="OK"&&this.#n.navigate(["backup",this.backupId(),"commandline",o.ID])})}mapBaseCmdToForm(t){let e=t.TargetURL??null;e&&this.baseCmdForm.patchValue({targetUrl:e??"",arguments:t.Sources?.join(`
|
|
3
|
+
`)??""})}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=$({type:l,selectors:[["app-commandline"]],features:[W([P])],decls:8,vars:1,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`Command`;let s;s=$localize`TargetUrl`;let i;i=$localize`Commandline Arguments`;let u;u=$localize`Advanced options`;let g;g=$localize`Backup ID`;let o;o=$localize`Backup Name`;let I;I=$localize`Filters`;let D;D=$localize` The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. ${"\uFFFD#32\uFFFD"}:START_LINK:Read more${"\uFFFD/#32\uFFFD"}:CLOSE_LINK:`;let L;return L=$localize`${"\uFFFD#37\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#37\uFFFD"}:CLOSE_TAG_SPK_ICON: Run "${"\uFFFD0\uFFFD"}:INTERPOLATION:" command now `,[t,e,s,i,u,g,o,I,D,L,[1,"back"],["type","button","spk-button","","routerLink","/",1,"small"],[1,"indeterminate","primary"],[3,"formGroup"],["placeholder","Select a command...",3,"options","inlineSearch"],["for","command"],["type","text","id","command","formControlName","command"],["for","targetUrl"],["id","targetUrl","autocomplete","off","formControlName","targetUrl"],["for","arguments"],["id","arguments","autocomplete","off","formControlName","arguments"],["for","backup-id"],["id","backup-id","formControlName","backup-id"],["for","backup-name"],["id","backup-name","formControlName","backup-name"],[3,"disallowToggle"],["title",""],["content","","formGroupName","filters"],["href","#",1,"spk-primary"],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["spk-button","",1,"raised","primary",3,"click"],[3,"id","formControl"]]},template:function(e,s){e&1&&(r(0,"app-status-bar"),a(1,"section")(2,"div",10)(3,"button",11),N(4,0),r(5,"spk-icon"),M(),n()(),h(6,Ae,1,0,"spk-progress-bar",12)(7,Oe,38,11),n()),e&2&&(m(6),b(s.finishedLoading()?7:6))},dependencies:[Ne,pe,se,me,de,fe,Ee,Se,Me,_e,ce,Ce,ue,J,ne,ee,te,ie,oe,Q],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;max-width:40rem;padding:2.5rem;gap:1.25rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};export{k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Ce}from"./chunk-ROOTIQEO.js";import{a as ge}from"./chunk-FUZLIOUQ.js";import{a as me}from"./chunk-JM7VAPIC.js";import{a as de}from"./chunk-6JQM2X3B.js";import{c as Ee,e as Oe,i as fe,k as Ae,s as v}from"./chunk-NSIELNIY.js";import{b as oe}from"./chunk-FZG6OXT3.js";import{a as ae,b as se,e as le,g as re,i as _e,l as pe,p as ue,q as Se,s as ce,t as Te}from"./chunk-Y5IRBMLB.js";import{h as A}from"./chunk-DNJOKPEL.js";import{a as Pe}from"./chunk-UFP4XKZF.js";import{la as ie}from"./chunk-CWLTHXVS.js";import{Ab as C,Eb as k,H as L,Hc as y,Kb as E,Lb as O,Mb as u,Mc as $,Pb as Q,Qa as r,Qb as S,Rb as d,Z as T,ab as f,ac as ee,bc as m,da as N,ea as M,ec as g,gc as G,hc as z,jc as h,kc as b,lc as B,na as c,sb as I,tb as D,ub as Z,vb as q,wb as J,wc as X,xb as R,xc as te,yb as s,yc as ne,zb as l}from"./chunk-BTMXQPBB.js";function ke(a,n){if(a&1){let i=k();s(0,"spk-radio",10),S("click",function(){let t=N(i).$implicit,o=d();return M(o.pauseOption.set(t.value))}),g(1),l()}if(a&2){let i=n.$implicit,e=d();m("active",e.pauseOption()===i.value),r(),G(" ",i.label," ")}}var he=[{label:$localize`5 minutes`,value:"5m"},{label:$localize`10 minutes`,value:"10m"},{label:$localize`15 minutes`,value:"15m"},{label:$localize`30 minutes`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],x=class a{#e=T(A);pauseOptions=c(he);closed=$();isSubmitting=c(!1);pauseTransfers=c(!1);pauseOption=c(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,i=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:i,pauseTransfers:n}).pipe(L(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let i;i=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let t;t=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,i,e,t,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header",5)(1,"h3"),u(2,0),l()(),s(3,"div",6)(4,"div",7),q(5,ke,2,3,"spk-radio",8,Z),l(),s(7,"div",9)(8,"spk-checkbox",10),S("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),u(9,1),l(),s(10,"spk-alert",11),u(11,2),l()()(),s(12,"footer",12)(13,"button",13),S("click",function(){return e.closed.emit()}),u(14,3),l(),s(15,"button",14),S("click",function(){return e.submit()}),u(16,4),l()()),i&2&&(r(5),J(e.pauseOptions()),r(3),m("active",e.pauseTransfers()),r(7),m("loader",e.isSubmitting()))},dependencies:[v,Se,_e,se],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Me={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},be=["mbps","gbps"],Ie=8,V=1024,w=V*1024,W=w*1024,Y=W*1024,De=Y*1024,Be={B:1,KB:V,MB:w,GB:W,TB:Y,PB:De},ye=1e3,K=ye*1e3,H=K*1e3,Ue=[{threshold:De,unitPrefix:"PByte"},{threshold:Y,unitPrefix:"TByte"},{threshold:W,unitPrefix:"GByte"},{threshold:w,unitPrefix:"MByte"},{threshold:V,unitPrefix:"KByte"},{threshold:1,unitPrefix:"Byte"}],U=class a{#e=T(A);closed=$();isSubmitting=c(!1);sizeOptions=c([...be]);maxUpload=c(0);maxDownload=c(0);maxUploadUnit=c("mbps");maxDownloadUnit=c("mbps");ngOnInit(){this.init()}convertToBitsPerSecondUnits(n,i){let t=n*(Be[i.toUpperCase()]||w)*Ie;return t===0?{value:0,unit:"mbps"}:t>=H?{value:parseFloat((t/H).toFixed(2)),unit:"gbps"}:{value:parseFloat((t/K).toFixed(2)),unit:"mbps"}}convertFromBitsPerSecondUnits(n,i){let e=0;switch(i){case"gbps":e=n*H;break;case"mbps":e=n*K;break}let t=e/Ie;if(t===0)return{valueForApi:0,unitPrefixForApi:"Byte"};for(let{threshold:o,unitPrefix:_}of Ue)if(t>=o)return{valueForApi:Math.round(t/o),unitPrefixForApi:_};return{valueForApi:Math.round(t),unitPrefixForApi:"Byte"}}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let i=n?.["max-upload-speed"],e=n?.["max-download-speed"];if(i&&i!==""){let t=i.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],p=this.convertToBitsPerSecondUnits(o,_);this.maxUpload.set(p.value),this.maxUploadUnit.set(p.unit)}else console.warn("Unexpected max-upload-speed format from API:",i),this.resetUpload()}else this.resetUpload();if(e&&e!==""){let t=e.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],p=this.convertToBitsPerSecondUnits(o,_);this.maxDownload.set(p.value),this.maxDownloadUnit.set(p.unit)}else console.warn("Unexpected max-download-speed format from API:",e),this.resetDownload()}else this.resetDownload()},error:n=>{console.error("Failed to get server settings:",n),this.resetDownload(),this.resetUpload()}})}resetDownload(){this.maxDownload.set(0),this.maxDownloadUnit.set("mbps")}resetUpload(){this.maxUpload.set(0),this.maxUploadUnit.set("mbps")}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let i=n.clipboardData?.getData("text/plain");if(!i)return;let e=i.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n="",i="",e=this.maxUpload()??0,t=this.maxUploadUnit(),o=this.maxDownload()??0,_=this.maxDownloadUnit();if(e>0){let{valueForApi:p,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(e,t),F=Me[P];F?n=`${p}${F}`:console.error(`Invalid unit prefix for API submission (upload): ${P}. Defaulting to empty string.`)}if(o){let{valueForApi:p,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(o,_),F=Me[P];F?i=`${p}${F}`:console.error(`Invalid unit prefix for API submission (download): ${P}. Defaulting to empty string.`)}this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":i}}).pipe(L(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.closed.emit(!0)},error:p=>{console.error("Failed to submit throttle settings:",p)}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:10,consts:()=>{let n;n=$localize`Throttle network speed`;let i;i=$localize`We will round bits to the nearest byte value.`;let e;e=$localize`Max upload speed`;let t;t=$localize`Max download speed`;let o;o=$localize`Cancel`;let _;return _=$localize` Update settings `,[n,i,e,t,o,_,["content",""],[1,"column"],[1,"field-row"],["type","number",3,"paste","keydown","ngModelChange","ngModel"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header")(1,"h3"),u(2,0),l(),s(3,"p"),u(4,1),l()(),s(5,"div",6)(6,"div",7)(7,"div",8)(8,"label"),u(9,2),l(),s(10,"spk-form-field")(11,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),B("ngModelChange",function(o){return b(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(12,"spk-select",10)(13,"input",11),B("ngModelChange",function(o){return b(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(14,"div",8)(15,"label"),u(16,3),l(),s(17,"spk-form-field")(18,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),B("ngModelChange",function(o){return b(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(19,"spk-select",10)(20,"input",11),B("ngModelChange",function(o){return b(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()()()(),s(21,"footer",12)(22,"button",13),S("click",function(){return e.closed.emit(!1)}),u(23,4),l(),s(24,"button",14),S("click",function(){return e.submit()}),u(25,5),l()()),i&2&&(r(11),h("ngModel",e.maxUpload),r(),R("isClearable",!1)("options",e.sizeOptions()),r(),h("ngModel",e.maxUploadUnit),r(5),h("ngModel",e.maxDownload),r(),R("isClearable",!1)("options",e.sizeOptions()),r(),h("ngModel",e.maxDownloadUnit),r(4),m("loader",e.isSubmitting()))},dependencies:[v,Ee,Ae,Oe,fe,pe,Te],styles:['[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:.5rem;margin-bottom:1rem}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:grid;grid-template-areas:"label label" "input select";grid-template-columns:1fr auto;align-items:center;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%]{grid-area:input}.field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{grid-area:select}'],changeDetection:0})};function Le(a,n){if(a&1&&(s(0,"div"),g(1),l(),C(2,"spk-progress-bar",11)),a&2){let i=d();r(),z("",i.statusData().actionText," - ",i.statusData().statusText),r(),R("value",i.statusData().progress*100)}}function Ge(a,n){if(a&1&&(s(0,"div",7),g(1),s(2,"spk-icon"),g(3,"clock"),l(),g(4),X(5,"relativeTime"),X(6,"date"),l()),a&2){let i,e=d();r(),G(" ",(i=e.nextBackup().backup)==null||i.Backup==null?null:i.Backup.Name," - "),r(3),z(" ",te(5,3,e.nextBackup().time)," at ",ne(6,5,e.nextBackup().time,"shortTime")," ")}}function $e(a,n){a&1&&(s(0,"div",7),u(1,1),l())}function ve(a,n){a&1&&(s(0,"div",8),E(1,2),C(2,"spk-spinner"),O(),l()),a&2&&(r(2),ee("--spinner-size","12px")("--spinner-thickness","2px"))}function xe(a,n){if(a&1){let i=k();s(0,"button",10),S("click",function(){N(i);let t=d(2);return M(t.abort())}),E(1,3),C(2,"spk-icon"),O(),l()}}function we(a,n){if(a&1){let i=k();s(0,"button",10),S("click",function(){N(i);let t=d(2);return M(t.stop())}),E(1,4),C(2,"spk-icon"),O(),l()}}function ze(a,n){if(a&1&&I(0,xe,3,0,"button",12)(1,we,3,0,"button",12),a&2){let i=d();D(i.isStopping()?0:1)}}function Xe(a,n){a&1&&(E(0,0,1),C(1,"spk-icon"),O())}function He(a,n){a&1&&(E(0,0,2),C(1,"spk-icon"),O())}var Re=new Date,j=class a{#e=T(A);#t=T(Ce);#n=T(le);#a=T(ge);#s=T(oe);#l=T(de);#i=T(me);minsAgo=Re.setMinutes(Re.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;clientIsRunning=this.#t.clientIsRunning;isResuming=this.#t.isResuming;runningTask=y(()=>this.#i.serverState()?.ActiveTask?.Item1);isStopping=y(()=>this.runningTask()==this.#o());#o=c(-1);pgState=y(()=>this.#i.serverState());nextBackup=y(()=>{let n=this.#a.backups();return{backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}});openThrottleSettingsDialog(){this.#n.open(U,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open(x,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.clientIsRunning()){this.openPauseDialog();return}this.#t.pauseResume().subscribe()}stop(){let n=this.runningTask();n&&(this.#o.set(n),this.#e.postApiV1TaskByTaskidStop({taskid:n}).subscribe())}abort(){let n=this.runningTask();n&&this.#e.postApiV1TaskByTaskidAbort({taskid:n}).subscribe()}ngAfterViewInit(){let n=this.#s.relayIsEnabled()||!this.#l.hasWebSocket()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-status-bar"]],decls:15,vars:5,consts:()=>{let n;n=$localize`${"\uFFFD*10:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Pause ${"\uFFFD/*10:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*11:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Start ${"\uFFFD/*11:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=Q(n);let i;i=$localize`No scheduled tasks`;let e;e=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_SPINNER:`;let t;t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skull${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Abort `;let o;return o=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:stop${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Stop `,[n,i,e,t,o,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"label","label-loading"],[1,"current-backup-actions"],["spk-button","",3,"click"],[1,"raised","primary",3,"value"],["spk-button",""]]},template:function(i,e){if(i&1&&(s(0,"div",5)(1,"div",6),I(2,Le,3,3)(3,Ge,7,8,"div",7)(4,$e,2,0,"div",7)(5,ve,3,4,"div",8),l(),s(6,"div",9),I(7,ze,2,1),s(8,"button",10),S("click",function(){return e.pauseResume()}),E(9,0),I(10,Xe,2,0)(11,He,2,0),O(),l(),s(12,"button",10),S("click",function(){return e.openThrottleSettingsDialog()}),s(13,"spk-icon"),g(14,"speedometer"),l()()()()),i&2){let t;r(2),D((t=e.serverState())!=null&&t.ActiveTask&&(!((t=e.statusData())==null||t.task==null)&&t.task.Status)&&((t=e.statusData())==null||t.task==null?null:t.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(t=e.serverState())!=null&&t.ActiveTask?5:4),r(5),D(e.runningTask()?7:-1),r(),m("loader",e.isResuming()),r(2),D(e.clientIsRunning()?10:11)}},dependencies:[ue,Pe,ie,ae,re,ce],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-4);position:sticky;top:0;z-index:2000;background:var(--base-1)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-progress[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"],changeDetection:0})};export{j as a};
|
|
1
|
+
import{a as Ce}from"./chunk-MFURKVTP.js";import{a as ge}from"./chunk-KZQCOYF7.js";import{a as me}from"./chunk-JM7VAPIC.js";import{a as de}from"./chunk-6JQM2X3B.js";import{c as Ee,e as Oe,i as fe,k as Ae,s as v}from"./chunk-NSIELNIY.js";import{b as oe}from"./chunk-FZG6OXT3.js";import{a as ae,b as se,e as le,g as re,i as _e,l as pe,p as ue,q as Se,s as ce,t as Te}from"./chunk-Y5IRBMLB.js";import{h as A}from"./chunk-DNJOKPEL.js";import{a as Pe}from"./chunk-UZK7ABRM.js";import{la as ie}from"./chunk-CWLTHXVS.js";import{Ab as C,Eb as k,H as L,Hc as y,Kb as E,Lb as O,Mb as u,Mc as $,Pb as Q,Qa as r,Qb as S,Rb as d,Z as T,ab as f,ac as ee,bc as m,da as N,ea as M,ec as g,gc as G,hc as z,jc as h,kc as b,lc as B,na as c,sb as I,tb as D,ub as Z,vb as q,wb as J,wc as X,xb as R,xc as te,yb as s,yc as ne,zb as l}from"./chunk-BTMXQPBB.js";function ke(a,n){if(a&1){let i=k();s(0,"spk-radio",10),S("click",function(){let t=N(i).$implicit,o=d();return M(o.pauseOption.set(t.value))}),g(1),l()}if(a&2){let i=n.$implicit,e=d();m("active",e.pauseOption()===i.value),r(),G(" ",i.label," ")}}var he=[{label:$localize`5 minutes`,value:"5m"},{label:$localize`10 minutes`,value:"10m"},{label:$localize`15 minutes`,value:"15m"},{label:$localize`30 minutes`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],x=class a{#e=T(A);pauseOptions=c(he);closed=$();isSubmitting=c(!1);pauseTransfers=c(!1);pauseOption=c(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,i=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:i,pauseTransfers:n}).pipe(L(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let i;i=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let t;t=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,i,e,t,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header",5)(1,"h3"),u(2,0),l()(),s(3,"div",6)(4,"div",7),q(5,ke,2,3,"spk-radio",8,Z),l(),s(7,"div",9)(8,"spk-checkbox",10),S("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),u(9,1),l(),s(10,"spk-alert",11),u(11,2),l()()(),s(12,"footer",12)(13,"button",13),S("click",function(){return e.closed.emit()}),u(14,3),l(),s(15,"button",14),S("click",function(){return e.submit()}),u(16,4),l()()),i&2&&(r(5),J(e.pauseOptions()),r(3),m("active",e.pauseTransfers()),r(7),m("loader",e.isSubmitting()))},dependencies:[v,Se,_e,se],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Me={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},be=["mbps","gbps"],Ie=8,V=1024,w=V*1024,W=w*1024,Y=W*1024,De=Y*1024,Be={B:1,KB:V,MB:w,GB:W,TB:Y,PB:De},ye=1e3,K=ye*1e3,H=K*1e3,Ue=[{threshold:De,unitPrefix:"PByte"},{threshold:Y,unitPrefix:"TByte"},{threshold:W,unitPrefix:"GByte"},{threshold:w,unitPrefix:"MByte"},{threshold:V,unitPrefix:"KByte"},{threshold:1,unitPrefix:"Byte"}],U=class a{#e=T(A);closed=$();isSubmitting=c(!1);sizeOptions=c([...be]);maxUpload=c(0);maxDownload=c(0);maxUploadUnit=c("mbps");maxDownloadUnit=c("mbps");ngOnInit(){this.init()}convertToBitsPerSecondUnits(n,i){let t=n*(Be[i.toUpperCase()]||w)*Ie;return t===0?{value:0,unit:"mbps"}:t>=H?{value:parseFloat((t/H).toFixed(2)),unit:"gbps"}:{value:parseFloat((t/K).toFixed(2)),unit:"mbps"}}convertFromBitsPerSecondUnits(n,i){let e=0;switch(i){case"gbps":e=n*H;break;case"mbps":e=n*K;break}let t=e/Ie;if(t===0)return{valueForApi:0,unitPrefixForApi:"Byte"};for(let{threshold:o,unitPrefix:_}of Ue)if(t>=o)return{valueForApi:Math.round(t/o),unitPrefixForApi:_};return{valueForApi:Math.round(t),unitPrefixForApi:"Byte"}}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let i=n?.["max-upload-speed"],e=n?.["max-download-speed"];if(i&&i!==""){let t=i.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],p=this.convertToBitsPerSecondUnits(o,_);this.maxUpload.set(p.value),this.maxUploadUnit.set(p.unit)}else console.warn("Unexpected max-upload-speed format from API:",i),this.resetUpload()}else this.resetUpload();if(e&&e!==""){let t=e.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(t){let o=parseFloat(t[1]),_=t[2],p=this.convertToBitsPerSecondUnits(o,_);this.maxDownload.set(p.value),this.maxDownloadUnit.set(p.unit)}else console.warn("Unexpected max-download-speed format from API:",e),this.resetDownload()}else this.resetDownload()},error:n=>{console.error("Failed to get server settings:",n),this.resetDownload(),this.resetUpload()}})}resetDownload(){this.maxDownload.set(0),this.maxDownloadUnit.set("mbps")}resetUpload(){this.maxUpload.set(0),this.maxUploadUnit.set("mbps")}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let i=n.clipboardData?.getData("text/plain");if(!i)return;let e=i.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n="",i="",e=this.maxUpload()??0,t=this.maxUploadUnit(),o=this.maxDownload()??0,_=this.maxDownloadUnit();if(e>0){let{valueForApi:p,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(e,t),F=Me[P];F?n=`${p}${F}`:console.error(`Invalid unit prefix for API submission (upload): ${P}. Defaulting to empty string.`)}if(o){let{valueForApi:p,unitPrefixForApi:P}=this.convertFromBitsPerSecondUnits(o,_),F=Me[P];F?i=`${p}${F}`:console.error(`Invalid unit prefix for API submission (download): ${P}. Defaulting to empty string.`)}this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":i}}).pipe(L(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.closed.emit(!0)},error:p=>{console.error("Failed to submit throttle settings:",p)}})}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:10,consts:()=>{let n;n=$localize`Throttle network speed`;let i;i=$localize`We will round bits to the nearest byte value.`;let e;e=$localize`Max upload speed`;let t;t=$localize`Max download speed`;let o;o=$localize`Cancel`;let _;return _=$localize` Update settings `,[n,i,e,t,o,_,["content",""],[1,"column"],[1,"field-row"],["type","number",3,"paste","keydown","ngModelChange","ngModel"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(i,e){i&1&&(s(0,"header")(1,"h3"),u(2,0),l(),s(3,"p"),u(4,1),l()(),s(5,"div",6)(6,"div",7)(7,"div",8)(8,"label"),u(9,2),l(),s(10,"spk-form-field")(11,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),B("ngModelChange",function(o){return b(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(12,"spk-select",10)(13,"input",11),B("ngModelChange",function(o){return b(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(14,"div",8)(15,"label"),u(16,3),l(),s(17,"spk-form-field")(18,"input",9),S("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),B("ngModelChange",function(o){return b(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(19,"spk-select",10)(20,"input",11),B("ngModelChange",function(o){return b(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()()()(),s(21,"footer",12)(22,"button",13),S("click",function(){return e.closed.emit(!1)}),u(23,4),l(),s(24,"button",14),S("click",function(){return e.submit()}),u(25,5),l()()),i&2&&(r(11),h("ngModel",e.maxUpload),r(),R("isClearable",!1)("options",e.sizeOptions()),r(),h("ngModel",e.maxUploadUnit),r(5),h("ngModel",e.maxDownload),r(),R("isClearable",!1)("options",e.sizeOptions()),r(),h("ngModel",e.maxDownloadUnit),r(4),m("loader",e.isSubmitting()))},dependencies:[v,Ee,Ae,Oe,fe,pe,Te],styles:['[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:.5rem;margin-bottom:1rem}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:grid;grid-template-areas:"label label" "input select";grid-template-columns:1fr auto;align-items:center;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%]{grid-area:input}.field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{grid-area:select}'],changeDetection:0})};function Le(a,n){if(a&1&&(s(0,"div"),g(1),l(),C(2,"spk-progress-bar",11)),a&2){let i=d();r(),z("",i.statusData().actionText," - ",i.statusData().statusText),r(),R("value",i.statusData().progress*100)}}function Ge(a,n){if(a&1&&(s(0,"div",7),g(1),s(2,"spk-icon"),g(3,"clock"),l(),g(4),X(5,"relativeTime"),X(6,"date"),l()),a&2){let i,e=d();r(),G(" ",(i=e.nextBackup().backup)==null||i.Backup==null?null:i.Backup.Name," - "),r(3),z(" ",te(5,3,e.nextBackup().time)," at ",ne(6,5,e.nextBackup().time,"shortTime")," ")}}function $e(a,n){a&1&&(s(0,"div",7),u(1,1),l())}function ve(a,n){a&1&&(s(0,"div",8),E(1,2),C(2,"spk-spinner"),O(),l()),a&2&&(r(2),ee("--spinner-size","12px")("--spinner-thickness","2px"))}function xe(a,n){if(a&1){let i=k();s(0,"button",10),S("click",function(){N(i);let t=d(2);return M(t.abort())}),E(1,3),C(2,"spk-icon"),O(),l()}}function we(a,n){if(a&1){let i=k();s(0,"button",10),S("click",function(){N(i);let t=d(2);return M(t.stop())}),E(1,4),C(2,"spk-icon"),O(),l()}}function ze(a,n){if(a&1&&I(0,xe,3,0,"button",12)(1,we,3,0,"button",12),a&2){let i=d();D(i.isStopping()?0:1)}}function Xe(a,n){a&1&&(E(0,0,1),C(1,"spk-icon"),O())}function He(a,n){a&1&&(E(0,0,2),C(1,"spk-icon"),O())}var Re=new Date,j=class a{#e=T(A);#t=T(Ce);#n=T(le);#a=T(ge);#s=T(oe);#l=T(de);#i=T(me);minsAgo=Re.setMinutes(Re.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;clientIsRunning=this.#t.clientIsRunning;isResuming=this.#t.isResuming;runningTask=y(()=>this.#i.serverState()?.ActiveTask?.Item1);isStopping=y(()=>this.runningTask()==this.#o());#o=c(-1);pgState=y(()=>this.#i.serverState());nextBackup=y(()=>{let n=this.#a.backups();return{backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}});openThrottleSettingsDialog(){this.#n.open(U,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open(x,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.clientIsRunning()){this.openPauseDialog();return}this.#t.pauseResume().subscribe()}stop(){let n=this.runningTask();n&&(this.#o.set(n),this.#e.postApiV1TaskByTaskidStop({taskid:n}).subscribe())}abort(){let n=this.runningTask();n&&this.#e.postApiV1TaskByTaskidAbort({taskid:n}).subscribe()}ngAfterViewInit(){let n=this.#s.relayIsEnabled()||!this.#l.hasWebSocket()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=f({type:a,selectors:[["app-status-bar"]],decls:15,vars:5,consts:()=>{let n;n=$localize`${"\uFFFD*10:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Pause ${"\uFFFD/*10:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*11:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Start ${"\uFFFD/*11:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=Q(n);let i;i=$localize`No scheduled tasks`;let e;e=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_SPINNER:`;let t;t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skull${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Abort `;let o;return o=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:stop${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Stop `,[n,i,e,t,o,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"label","label-loading"],[1,"current-backup-actions"],["spk-button","",3,"click"],[1,"raised","primary",3,"value"],["spk-button",""]]},template:function(i,e){if(i&1&&(s(0,"div",5)(1,"div",6),I(2,Le,3,3)(3,Ge,7,8,"div",7)(4,$e,2,0,"div",7)(5,ve,3,4,"div",8),l(),s(6,"div",9),I(7,ze,2,1),s(8,"button",10),S("click",function(){return e.pauseResume()}),E(9,0),I(10,Xe,2,0)(11,He,2,0),O(),l(),s(12,"button",10),S("click",function(){return e.openThrottleSettingsDialog()}),s(13,"spk-icon"),g(14,"speedometer"),l()()()()),i&2){let t;r(2),D((t=e.serverState())!=null&&t.ActiveTask&&(!((t=e.statusData())==null||t.task==null)&&t.task.Status)&&((t=e.statusData())==null||t.task==null?null:t.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(t=e.serverState())!=null&&t.ActiveTask?5:4),r(5),D(e.runningTask()?7:-1),r(),m("loader",e.isResuming()),r(2),D(e.clientIsRunning()?10:11)}},dependencies:[ue,Pe,ie,ae,re,ce],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-4);position:sticky;top:0;z-index:2000;background:var(--base-1)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-progress[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"],changeDetection:0})};export{j as a};
|
|
@@ -0,0 +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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as ce,b as me}from"./chunk-2G6TVFPZ.js";import{a as _e}from"./chunk-XIIFTZ5G.js";import{a as ie}from"./chunk-6JQM2X3B.js";import{b as oe,c as re,e as le,i as ae,k as pe,s as se}from"./chunk-NSIELNIY.js";import{A as te,C as ne,a as J,g as Q,l as W,o as Y,t as Z,z as ee}from"./chunk-Y5IRBMLB.js";import{ea as H}from"./chunk-CWLTHXVS.js";import{$b as x,Ab as k,Ac as E,Bb as $,Cb as P,Db as T,Eb as C,Hc as z,Kb as A,Lb as D,Mb as X,Nc as v,Qa as l,Qb as g,Qc as q,Rb as p,Z as K,ab as U,bc as R,da as d,ea as u,ec as m,fb as f,fc as B,gc as N,mc as j,na as b,nc as G,oc as S,sb as O,tb as F,ub as I,vb as h,wb as M,xb as _,yb as a,zb as s}from"./chunk-BTMXQPBB.js";import{a as V,b as L}from"./chunk-EUDKD2JW.js";function ge(t,i){if(t&1){let e=C();a(0,"button",14),g("click",function(){d(e);let n=p();return u(n.addFreeTextSetting())}),A(1,6),k(2,"spk-icon"),D(),s()}}function Ce(t,i){if(t&1){let e=C();a(0,"button",16,0),g("click",function(){let n=d(e).$implicit,r=p(2);return u(r.addSetting(n))}),m(2),s()}if(t&2){let e=i.$implicit;R("deprecated",e.deprecatedDescription),l(2),N(" ",e.name," ")}}function fe(t,i){if(t&1&&(a(0,"h3",8),m(1),s(),h(2,Ce,3,3,"button",15,I)),t&2){let e=i.$implicit;l(),B(e.displayName),l(),M(e.options)}}function xe(t,i){t&1&&(a(0,"div",13),m(1,"Add a setting above to get started."),s())}function Se(t,i){t&1&&(a(0,"spk-icon",24),m(1," warning-octagon "),s())}function Te(t,i){if(t&1&&(a(0,"spk-icon",25),m(1,"archive"),s()),t&2){let e=p(2).$implicit;_("spkTooltip",e.FormView.deprecatedDescription)}}function Oe(t,i){if(t&1&&(a(0,"spk-icon",26),m(1,"question"),s()),t&2){let e=p(2).$implicit;_("spkTooltip",e.FormView.longDescription)}}function Fe(t,i){if(t&1&&(O(0,Se,2,0,"spk-icon",24),a(1,"span"),m(2),s(),O(3,Te,2,1,"spk-icon",25)(4,Oe,2,1,"spk-icon",26)),t&2){let e=p().$implicit,o=S(1);F(o?0:-1),l(),R("deprecated",e.FormView.deprecatedDescription),l(),B(e.FormView.shortDescription),l(),F(e.FormView.deprecatedDescription?3:e.FormView.longDescription?4:-1)}}function we(t,i){t&1&&T(0)}function ye(t,i){if(t&1){let e=C();a(0,"div",18)(1,"label"),f(2,we,1,0,"ng-container",27),s(),a(3,"div")(4,"spk-form-field")(5,"input",28),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateFreeTextSettingName(r,n))}),s(),a(6,"spk-icon",29),m(7,"rectangle-dashed"),s()()(),a(8,"div")(9,"spk-form-field")(10,"input",28),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),s(),a(11,"spk-icon",29),m(12,"textbox"),s()()()()}if(t&2){let e=p().$implicit,o=x(3);l(2),_("ngTemplateOutlet",o),l(3),_("ngModel",e.Name),l(5),_("ngModel",e.Value())}}function Ve(t,i){t&1&&T(0)}function Le(t,i){if(t&1){let e=C();a(0,"app-file-tree",19)(1,"label",30),f(2,Ve,1,0,"ng-container",27),s(),a(3,"input",31),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),s()()}if(t&2){let e=p().$implicit,o=x(3),n=S(0);_("startingPath",e.Value())("accepts",e.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),_("for",n),l(),_("ngTemplateOutlet",o),l(),_("id",n)("ngModel",e.Value())}}function Ie(t,i){if(t&1){let e=C();a(0,"app-file-tree",20),k(1,"label",30),a(2,"input",31),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),s()()}if(t&2){let e=p().$implicit,o=S(0);_("startingPath",e.Value()),l(),_("for",o),l(),_("id",o)("ngModel",e.Value())}}function he(t,i){t&1&&T(0)}function Me(t,i){t&1&&(a(0,"spk-icon",29),m(1,"link"),s())}function ke(t,i){t&1&&(a(0,"spk-icon",29),m(1,"textbox"),s())}function Pe(t,i){if(t&1){let e=C();a(0,"spk-form-field")(1,"label",30),f(2,he,1,0,"ng-container",27),s(),a(3,"input",31),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),s(),O(4,Me,2,0,"spk-icon",29)(5,ke,2,0,"spk-icon",29),s()}if(t&2){let e=p().$implicit,o=x(3),n=S(0);l(),_("for",n),l(),_("ngTemplateOutlet",o),l(),_("id",n)("ngModel",e.Value()),l(),F(e.FormView.type==="Path"?4:5)}}function Ne(t,i){t&1&&T(0)}function Ee(t,i){if(t&1){let e=C();a(0,"spk-icon",34),g("click",function(){d(e);let n=p(2).$implicit;return u(n.showPassword=!n.showPassword)}),m(1," eye "),s()}}function ve(t,i){if(t&1){let e=C();a(0,"spk-icon",34),g("click",function(){d(e);let n=p(2).$implicit;return u(n.showPassword=!n.showPassword)}),m(1," eye-slash "),s()}}function be(t,i){if(t&1){let e=C();a(0,"spk-form-field")(1,"label",30),f(2,Ne,1,0,"ng-container",27),s(),a(3,"input",32),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),s(),a(4,"spk-icon",29),m(5,"password"),s(),O(6,Ee,2,0,"spk-icon",33)(7,ve,2,0,"spk-icon",33),s()}if(t&2){let e=p().$implicit,o=x(3),n=S(0);l(),_("for",n),l(),_("ngTemplateOutlet",o),l(),_("type",e.showPassword?"text":"password")("id",n)("ngModel",e.Value()),l(3),F(e.showPassword?6:7)}}function $e(t,i){t&1&&T(0)}function Ae(t,i){if(t&1&&m(0),t&2){let e=i.$implicit;N(" ",e," ")}}function De(t,i){if(t&1){let e=C();a(0,"spk-select",35)(1,"label",30),f(2,$e,1,0,"ng-container",27),s(),a(3,"input",31),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),s()(),f(4,Ae,1,1,"ng-template",null,2,E)}if(t&2){let e=x(5),o=p().$implicit,n=x(3),r=S(0);_("options",o.FormView.options)("isClearable",!1)("optionTemplate",e),l(),_("for",r),l(),_("ngTemplateOutlet",n),l(),_("id",r)("ngModel",o.Value())}}function Re(t,i){t&1&&T(0)}function Be(t,i){if(t&1){let e=C();a(0,"app-size",36),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),a(1,"label",30),f(2,Re,1,0,"ng-container",27),s()()}if(t&2){let e=p().$implicit,o=x(3),n=S(0);_("inputType",e.Name)("ngModel",e.Value())("customId",n),l(),_("for",n),l(),_("ngTemplateOutlet",o)}}function Ge(t,i){t&1&&T(0)}function ze(t,i){if(t&1){let e=C();a(0,"spk-form-field")(1,"label",30),f(2,Ge,1,0,"ng-container",27),s(),a(3,"input",37),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),s(),a(4,"spk-icon",29),m(5,"numpad"),s()()}if(t&2){let e=p().$implicit,o=x(3),n=S(0);l(),_("for",n),l(),_("ngTemplateOutlet",o),l(),_("id",n)("ngModel",e.Value())}}function Ke(t,i){t&1&&T(0)}function Ue(t,i){if(t&1){let e=C();a(0,"spk-toggle",22)(1,"label",30),f(2,Ke,1,0,"ng-container",27),s(),a(3,"input",38),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),s()()}if(t&2){let e=p().$implicit,o=x(3),n=S(0);l(),_("for",n),l(),_("ngTemplateOutlet",o),l(),_("id",n)("ngModel",e.Value())}}function Xe(t,i){t&1&&T(0)}function je(t,i){if(t&1&&m(0),t&2){let e=i.$implicit;N(" ",e," ")}}function qe(t,i){if(t&1){let e=C();a(0,"spk-select",39)(1,"label",30),f(2,Xe,1,0,"ng-container",27),s(),a(3,"input",40),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),s()(),f(4,je,1,1,"ng-template",null,3,E)}if(t&2){let e=x(5),o=p().$implicit,n=x(3),r=S(0);_("options",o.FormView.options)("selectMultiple",!0)("optionTemplate",e),l(),_("for",r),l(),_("ngTemplateOutlet",n),l(),_("ngModel",o.Value())}}function He(t,i){t&1&&T(0)}function Je(t,i){if(t&1){let e=C();a(0,"app-timespan",36),g("ngModelChange",function(n){d(e);let r=p().$implicit,c=p();return u(c.updateSettingValue(r,n))}),a(1,"label",30),f(2,He,1,0,"ng-container",27),s()()}if(t&2){let e=p().$implicit,o=x(3),n=S(0);_("inputType",e.Name)("ngModel",e.Value())("customId",n),l(),_("for",n),l(),_("ngTemplateOutlet",o)}}function Qe(t,i){if(t&1){let e=C();j(0)(1),f(2,Fe,5,5,"ng-template",null,1,E),a(4,"div",17),O(5,ye,13,3,"div",18)(6,Le,4,9,"app-file-tree",19)(7,Ie,3,4,"app-file-tree",20)(8,Pe,6,5,"spk-form-field")(9,be,8,6,"spk-form-field")(10,De,6,7)(11,Be,3,5,"app-size",21)(12,ze,6,4,"spk-form-field")(13,Ue,4,4,"spk-toggle",22)(14,qe,6,6)(15,Je,3,5,"app-timespan",21),a(16,"button",23),g("click",function(){let n=d(e).$implicit,r=p();return u(r.removeSetting(n))}),a(17,"spk-icon"),m(18,"x-bold"),s()()()}if(t&2){let e=i.$implicit,o=i.$index,n=p();G("destination-"+e.Name+o),l(),G(n.inAppOptions(e.Name)),l(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)}}var de=class t{#e=K(ie);options=q.required();hiddenOptions=v([]);hasFreeTextSettings=v(!1);applicationOptions=v();allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=z(()=>{let i=this.hiddenOptions();return this.options().map(n=>{let r=this.allOptions().find(w=>w.name===n.Name?.replace("--","")),c=n.Value??"";if(r&&i.includes(r.name))return null;if(r){if(r.type==="Boolean"&&(c=this.isTrue(c)),r.type==="Integer"&&(c=parseInt(c)||0),r.type==="Enumeration"&&r.options){let w=c?.trim().toLowerCase(),y=r.options.find(ue=>(ue??"").trim().toLocaleLowerCase()===w);y&&(c=y)}return L(V({},n),{Value:b(c),FormView:r})}else if(this.hasFreeTextSettings())return L(V({},n),{Value:b(c),FormView:{name:n.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(n=>n!==null)});nonSelectedOptionsGrouped=z(()=>{let i=this.options().map(o=>o.Name?.replace("--","")),e=this.hiddenOptions();return this.allOptionsGrouped().map(o=>L(V({},o),{options:o.options.filter(n=>!i.includes(n.name)&&!e.includes(n.name))})).filter(o=>o.options.length>0)});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(c=>c.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 c=e?.trim().toLowerCase()??"",w=i.FormView.options.find(y=>(y??"").trim().toLocaleLowerCase()===c);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(c=>c.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:16,vars:4,consts:()=>{let i;i=$localize`Advanced options`;let e;e=$localize` Add advanced option ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let o;o=$localize` New custom option ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:pen${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let n;return n=$localize`By adding this option it will override the matching global option`,[["option",""],["defaultLabel",""],["enumOptionTemplate",""],["optionTemplate",""],i,e,o,[3,"disallowToggle"],["title",""],[1,"actions"],["spk-button","","type","button",1,"outlined","small"],[3,"searchable"],["menu",""],[1,"placeholder"],["spk-button","","type","button",1,"outlined","small",3,"click"],["type","button",3,"deprecated"],["type","button",3,"click"],[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",n,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&&(a(0,"spk-toggle-card",7),$(1,8)(2),X(3,4),P(),a(4,"div",9),O(5,ge,3,0,"button",10),a(6,"spk-menu",11)(7,"button",10),A(8,5),k(9,"spk-icon"),D(),s(),$(10,12),h(11,fe,4,1,null,null,I),P(),s()(),P(),O(13,xe,2,0,"div",13),h(14,Qe,19,3,null,null,I),s()),e&2&&(_("disallowToggle",!0),l(5),F(o.hasFreeTextSettings()?5:-1),l(),_("searchable",!0),l(5),M(o.nonSelectedOptionsGrouped()),l(2),F(o.selectedSettings().length===0?13:-1),l(),M(o.selectedSettings()))},dependencies:[se,re,pe,oe,le,ae,_e,ee,W,Q,Y,ne,J,Z,te,ce,me,H],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}"],changeDetection:0})};export{de as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-FY7P6D7L.js";import"./chunk-2G6TVFPZ.js";import"./chunk-XIIFTZ5G.js";import"./chunk-6JQM2X3B.js";import"./chunk-NSIELNIY.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 OptionsListComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as R}from"./chunk-
|
|
1
|
+
import{a as R}from"./chunk-EL7ZWMW3.js";import{b as $}from"./chunk-LDIZ5E5Z.js";import"./chunk-MFURKVTP.js";import"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{b as A,e as N}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as k,g as B}from"./chunk-Y5IRBMLB.js";import{h as O}from"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import{Ab as _,Hc as M,Kb as c,Lb as d,Mb as l,Pb as g,Qa as i,Qb as I,Z as C,ab as p,ec as E,gc as L,na as r,sb as s,tb as u,ub as f,vb as S,wb as T,yb as F,zb as a}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";function b(e,t){e&1&&l(0,2,1)}function P(e,t){e&1&&l(0,2,2)}function h(e,t){e&1&&l(0,2,3)}function v(e,t){e&1&&l(0,2,4)}function U(e,t){if(e&1&&(E(0),_(1,"br")),e&2){let n=t.$implicit;L(" ",n," ")}}var D=class e{#t=C(O);#e=C(A);#n=$(this.#e.params);runId=M(()=>this.#n()?.runId);offset=r(0);status=r("starting");messageLog=r([]);interval=setInterval(()=>{this.#t.getApiV1CommandlineByRunid({runid:this.runId(),offset:this.offset(),pagesize:100}).subscribe(t=>{this.offset.set(t.Count),this.evalStatus(t),this.messageLog.update(n=>[...n,...t.Items])})},1e3);evalStatus(t){t.Started===!0&&t.Finished===!0&&(this.status.set("finished"),clearInterval(this.interval)),t.Started===!0&&t.Finished===!1&&this.status.set("started")}abort(){this.#t.postApiV1CommandlineByRunidAbort({runid:this.runId()}).subscribe({next:t=>{this.status.set("aborted"),clearInterval(this.interval)}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=p({type:e,selectors:[["app-commandline-result"]],decls:18,vars:4,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let n;n=$localize` Running commandline task... ${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON:Abort${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_BUTTON:`;let o;return o=$localize`${"\uFFFD*11:1\uFFFD"}:START_BLOCK_IF: Starting... ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*12:2\uFFFD"}:START_BLOCK_IF_1: Started! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*13:3\uFFFD"}:START_BLOCK_IF_2: Finished! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*14:4\uFFFD"}:START_BLOCK_IF_3: Aborted! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:`,o=g(o),[t,n,o,[1,"back"],["type","button","spk-button","","routerLink","../",1,"small"],["type","button","spk-button","",1,"small",3,"click"],[1,"status"]]},template:function(n,o){n&1&&(_(0,"app-status-bar"),F(1,"section")(2,"div",3)(3,"button",4),c(4,0),_(5,"spk-icon"),d(),a()(),F(6,"h3"),c(7,1),F(8,"button",5),I("click",function(){return o.abort()}),a(),d(),a(),F(9,"div",6),c(10,2),s(11,b,1,0),s(12,P,1,0),s(13,h,1,0),s(14,v,1,0),d(),a(),F(15,"code"),S(16,U,2,1,null,null,f),a()()),n&2&&(i(11),u(o.status()==="starting"?11:-1),i(),u(o.status()==="started"?12:-1),i(),u(o.status()==="finished"?13:-1),i(),u(o.status()==="aborted"?14:-1),i(2),T(o.messageLog()))},dependencies:[R,k,B,N],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;padding:2.5rem;gap:1.25rem}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}"],changeDetection:0})};export{D as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as S}from"./chunk-
|
|
1
|
+
import{a as S}from"./chunk-EL7ZWMW3.js";import"./chunk-MFURKVTP.js";import"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{c as O,e as C,f as d}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{y as M}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 l,Mb as n,ab as A,yb as e,zb as t}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var s=class a{static \u0275fac=function(o){return new(o||a)};static \u0275cmp=A({type:a,selectors:[["app-about"]],decls:19,vars:0,consts:()=>{let _;_=$localize`General`;let o;o=$localize`Changelog`;let r;r=$localize`Libraries`;let g;g=$localize`System info`;let u;u=$localize`Server settings`;let T;T=$localize`Logs`;let c;return c=$localize`Crash log`,[_,o,r,g,u,T,c,[1,"content"],[1,"primary"],["tab","","routerLink","/about/general","routerLinkActive","active"],["tab","","routerLink","/about/changelog","routerLinkActive","active"],["tab","","routerLink","/about/libraries","routerLinkActive","active"],["tab","","routerLink","/about/system-info","routerLinkActive","active"],["tab","","routerLink","/about/server-settings","routerLinkActive","active"],["tab","","routerLink","/about/logs","routerLinkActive","active"],["tab","","routerLink","/about/crashlogs","routerLinkActive","active"]]},template:function(o,r){o&1&&(l(0,"app-status-bar"),e(1,"div",7)(2,"spk-tabs",8)(3,"button",9),n(4,0),t(),e(5,"button",10),n(6,1),t(),e(7,"button",11),n(8,2),t(),e(9,"button",12),n(10,3),t(),e(11,"button",13),n(12,4),t(),e(13,"button",14),n(14,5),t(),e(15,"button",15),n(16,6),t()(),e(17,"section"),l(18,"router-outlet"),t()())},dependencies:[S,M,O,C,d],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:0}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 0}.content[_ngcontent-%COMP%] spk-tabs[_ngcontent-%COMP%]{margin:0 2rem}.content[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{padding-left:2rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:2rem}"],changeDetection:0})};export{s as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as se}from"./chunk-
|
|
1
|
+
import{a as se}from"./chunk-EL7ZWMW3.js";import{a as le,b as m}from"./chunk-LDIZ5E5Z.js";import"./chunk-MFURKVTP.js";import{a as te}from"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import{a as E}from"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import{c as ae,e as ie,i as ne,s as oe}from"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{b as q,e as j}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{C as x,a as J,e as Q,g as Y,l as Z}from"./chunk-Y5IRBMLB.js";import{h as ee}from"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import{Ab as _,D as y,F as g,G,H as A,Hc as D,Ic as k,Kb as d,Lb as u,Mb as F,Nb as U,Ob as w,Qa as r,Qb as S,Z as h,ab as K,bc as P,dc as X,ec as C,jc as z,kc as H,lc as W,na as c,r as v,sb as L,tb as V,xb as p,yb as n,zb as i}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";function re(s,e){s&1&&(n(0,"spk-icon",18),C(1,"spinner"),i())}function ce(s,e){s&1&&(n(0,"spk-icon",19),C(1,"check"),i())}function _e(s,e){s&1&&(n(0,"spk-icon",20),C(1,"warning"),i()),s&2&&p("spkTooltip","File not found")}function pe(s,e){let a=le(s).pipe(y(e),G());return m(a,{initialValue:s()})}var b=class s{#n=h(q);#o=h(te);#e=h(ee);#a=h(Q);#t=c("");backupId=m(this.#n.params.pipe(v(e=>e.id)));activeBackup=D(()=>this.#o.backups().find(e=>e.Backup?.ID===this.backupId()));backupFilePath=c("");lastValidatedPath=c("");isValidatedPath=D(()=>this.lastValidatedPath()===this.backupFilePath());pathHasChanged=D(()=>this.backupFilePath()!==this.#t());isValidatingPath=c(!1);#i=pe(this.backupFilePath,500);isWaitingForValidation=D(()=>this.#i()!=this.backupFilePath()||this.isValidatingPath());backupFilePathEffect=k(()=>{let e=this.#i(),a=this.activeBackup();e!==""&&(this.isValidatingPath.set(!0),this.#e.postApiV1FilesystemValidate({requestBody:{path:e}}).pipe(g(1),A(()=>this.isValidatingPath.set(!1))).subscribe(()=>this.lastValidatedPath.set(e)))});isRestoring=c(!1);isRepairing=c(!1);isDeleting=c(!1);isSavingDbPath=c(!1);isSavingAndRepairing=c(!1);isMovingDb=c(!1);activeBackupEffect=k(()=>{let e=this.activeBackup();if(!e)return;let a=e.Backup?.DBPath??"";this.backupFilePath.set(a),this.#t.set(a)});repairDatabase(){this.isRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),A(()=>this.isRepairing.set(!1))).subscribe()}deleteDatabase(e=null){this.isValidatedPath()?this.#a.open(E,{data:{title:$localize`Confirm delete?`,message:$localize`Do you really want to delete the database for ${this.activeBackup()?.Backup?.Name}?`,confirmText:$localize`Delete database`,cancelText:$localize`Cancel`},closed:a=>{a&&this.doDeleteDatabase(e)}}):this.doDeleteDatabase(e)}doDeleteDatabase(e=null){this.isDeleting.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),A(()=>this.isDeleting.set(!1))).subscribe(()=>{this.lastValidatedPath.set(""),e?.()})}restoreDatabase(){this.isValidatedPath()?this.deleteDatabase(()=>{this.doRepairDatabase()}):this.doRepairDatabase()}doRepairDatabase(){this.isRestoring.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),A(()=>this.isRestoring.set(!1))).subscribe()}resetDatabasePath(){this.backupFilePath.set(this.#t())}saveDatabasePath(e=null){this.isValidatedPath()?this.#a.open(E,{data:{title:$localize`Confirm reassign?`,message:$localize`The target database path already exists and may belong to another backup. Are you sure you want to assign this backup to an existing database?`,confirmText:$localize`Assign existing database`,cancelText:$localize`Cancel`},closed:a=>{a&&this.doSaveDatabasePath(e)}}):this.doSaveDatabasePath(e)}doSaveDatabasePath(e=null){this.isSavingDbPath.set(!0);let a=this.backupFilePath();this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:a}}).pipe(A(()=>this.isSavingDbPath.set(!1))).subscribe(()=>{this.#t.set(a),e?.()})}saveAndRepairDatabasePath(){this.saveDatabasePath(()=>(this.isSavingAndRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),A(()=>this.isSavingAndRepairing.set(!1))).subscribe()))}moveDatabasePath(){this.isMovingDb.set(!0);let e=this.backupFilePath();this.#e.postApiV1BackupByIdMovedb({id:this.backupId(),requestBody:{path:e}}).pipe(A(()=>this.isMovingDb.set(!1))).subscribe(()=>this.#t.set(e))}static \u0275fac=function(a){return new(a||s)};static \u0275cmp=K({type:s,selectors:[["app-database"]],decls:47,vars:18,consts:()=>{let e;e=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let a;a=$localize`Local database for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;t=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. This makes it faster to perform many operations, and reduces the amount of data that needs to be downloaded for each operation. `;let o;o=$localize`Maintenance`;let T;T=$localize` If the backup and the remote storage is out of sync, Duplicati will require that you perform a repair operation to synchronize the database. If the repair is unsuccessful, you can delete the local database and re-generate. `;let f;f=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Repair `;let B;B=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:trash${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let M;M=$localize`${"\uFFFD#25\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#25\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore (delete and repair) `;let I;I=$localize`Placement`;let $;$=$localize`${"\uFFFD#37\uFFFD"}:START_TAG_SPK_ICON:backspace${"\uFFFD/#37\uFFFD"}:CLOSE_TAG_SPK_ICON: Reset `;let N;N=$localize`${"\uFFFD#40\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#40\uFFFD"}:CLOSE_TAG_SPK_ICON: Save `;let R;R=$localize`${"\uFFFD#43\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_SPK_ICON: Save & Repair `;let O;return O=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SPK_ICON:flow-arrow${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_SPK_ICON: Move existing database `,[e,a,t,o,T,f,B,M,I,$,N,R,O,[1,"back"],["type","button","spk-button","","routerLink","/",1,"small"],[1,"actions","maintenance"],["spk-button","",3,"click","disabled"],["type","text",3,"ngModelChange","ngModel"],["prefix","",1,"primary"],["prefix",""],["prefix","",3,"spkTooltip"],[1,"actions","placement"]]},template:function(a,t){if(a&1&&(_(0,"app-status-bar"),n(1,"section")(2,"div",13)(3,"button",14),d(4,0),_(5,"spk-icon"),u(),i()(),n(6,"article")(7,"h1"),F(8,1),i(),n(9,"p"),F(10,2),i()(),n(11,"article")(12,"h2"),F(13,3),i(),n(14,"p"),F(15,4),i(),n(16,"div",15)(17,"button",16),S("click",function(){return t.repairDatabase()}),d(18,5),_(19,"spk-icon"),u(),i(),n(20,"button",16),S("click",function(){return t.deleteDatabase()}),d(21,6),_(22,"spk-icon"),u(),i(),n(23,"button",16),S("click",function(){return t.restoreDatabase()}),d(24,7),_(25,"spk-icon"),u(),i()()(),n(26,"article")(27,"h2"),F(28,8),i(),n(29,"spk-form-field")(30,"input",17),W("ngModelChange",function(T){return H(t.backupFilePath,T)||(t.backupFilePath=T),T}),i(),L(31,re,2,0,"spk-icon",18)(32,ce,2,0,"spk-icon",19)(33,_e,2,1,"spk-icon",20),i(),n(34,"div",21)(35,"button",16),S("click",function(){return t.resetDatabasePath()}),d(36,9),_(37,"spk-icon"),u(),i(),n(38,"button",16),S("click",function(){return t.saveDatabasePath()}),d(39,10),_(40,"spk-icon"),u(),i(),n(41,"button",16),S("click",function(){return t.saveAndRepairDatabasePath()}),d(42,11),_(43,"spk-icon"),u(),i(),n(44,"button",16),S("click",function(){return t.moveDatabasePath()}),d(45,12),_(46,"spk-icon"),u(),i()()()()),a&2){let o;r(8),U((o=t.activeBackup())==null||o.Backup==null?null:o.Backup.Name),w(8),r(9),P("loader",t.isRepairing()),p("disabled",!t.isValidatedPath()||t.pathHasChanged()),r(3),P("loader",t.isDeleting()),p("disabled",!t.isValidatedPath()||t.pathHasChanged()),r(3),P("loader",t.isRestoring()),p("disabled",t.pathHasChanged()),r(6),X(t.isValidatedPath()?"success":"error"),r(),z("ngModel",t.backupFilePath),r(),V(t.isWaitingForValidation()?31:t.isValidatedPath()?32:33),r(4),p("disabled",!t.pathHasChanged()),r(3),p("disabled",!t.pathHasChanged()||t.isWaitingForValidation()),r(3),p("disabled",!t.pathHasChanged()||t.isWaitingForValidation()),r(3),p("disabled",!t.pathHasChanged()||t.isValidatedPath()||t.isWaitingForValidation())}},dependencies:[oe,ae,ie,ne,se,Y,Z,J,x,j],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem}article[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}h1[_ngcontent-%COMP%]{font:var(--title-20)}h2[_ngcontent-%COMP%]{font:var(--title-30)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Z,d as rn}from"./chunk-ZFONU33Q.js";import{a as cn}from"./chunk-XLKQSWFD.js";import{a as ln}from"./chunk-ROOTIQEO.js";import{a as an}from"./chunk-FUZLIOUQ.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{e as je}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as Y,f as qe,g as Je,h as Qe,j as Ye,k as Ze,o as en,p as nn,w as tn,x as on}from"./chunk-Y5IRBMLB.js";import{h as _n}from"./chunk-DNJOKPEL.js";import"./chunk-UFP4XKZF.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-LKJ2SBQA.js";import{$b as W,Ab as g,Ac as Q,Bb as M,Cb as m,Db as D,Eb as x,H as w,Ic as We,Kb as s,Lb as u,Mb as p,Nb as y,Ob as L,Pb as q,Qa as l,Qb as f,Rb as F,Z as z,a as ve,ab as he,b as j,bc as B,da as N,ea as k,ec as d,fb as P,fc as ze,gc as O,jc as Ve,kc as Ke,lc as Ue,na as H,pb as Xe,qb as we,sb as S,sc as J,tb as E,tc as $,ub as V,vb as K,wb as U,wc as I,xb as T,xc as G,yb as o,yc as b,zb as i}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";function sn(...n){let t=H(...n);return Object.defineProperty(t,"value",{get:t.asReadonly(),set:t.set.bind(t)})}function un(n,t,e){let _=localStorage.getItem(t);_!=null&&(n=JSON.parse(_));let r=sn(n),c=r[ve];e?.equal&&(c.equal=e.equal);function R(C){C==null?localStorage.removeItem(t):localStorage.setItem(t,JSON.stringify(C))}return r.set=C=>{R(C),j(c,C)},r.update=C=>{let A=C(r());R(A),j(c,A)},r}var gn=()=>[import("./chunk-AFLQOHXV.js").then(n=>n.NgTemplateOutlet),Y,Ye,on,tn,import("./chunk-Y5UKX3VC.js").then(n=>n.DurationFormatPipe),import("./chunk-HLYFP2CB.js").then(n=>n.BytesPipe),import("./chunk-IQHBPLHL.js").then(n=>n.RelativeTimePipe)],dn=()=>["/add-backup"],Tn=()=>["/restore"],Fn=n=>({$implicit:n}),Cn=n=>["/backup",n],Sn=n=>["/restore",n],En=n=>["/backup",n,"export"],Mn=n=>["/backup",n,"delete"],mn=n=>["/backup",n,"database"],On=n=>["/backup",n,"commandline"],Nn=n=>["/backup",n,"log"];function kn(n,t){if(n&1){let e=x();o(0,"button",57),f("click",function(){let r=N(e).$implicit,c=F(2);return k(c.sortByColumn.set(r.value))}),p(1,15),i()}if(n&2){let e=t.$implicit,_=F(2);B("active",_.orderBy()===e.value),l(),y(e.label),L(1)}}function Pn(n,t){if(n&1&&(o(0,"spk-menu",58)(1,"button",59),s(2,14),g(3,"strong")(4,"spk-icon"),u(),i(),M(5,60),K(6,kn,2,3,"button",61,V),m(),i()),n&2){let e=F();l(4),y(e.orderBy()),L(2),l(2),U(e.sortOrderOptions())}}function fn(n,t){if(n&1&&(d(0),I(1,"durationFormat")),n&2){let e=F().$implicit,_=F(4);O(" ",b(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration,_.timeType()==="actual")," ")}}function $n(n,t){n&1&&(M(0),p(1,21),m())}function Dn(n,t){if(n&1&&(d(0),I(1,"bytes")),n&2){let e=F().$implicit;O(" ",G(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function In(n,t){n&1&&(M(0),p(1,22),m())}function An(n,t){if(n&1&&(d(0),I(1,"bytes")),n&2){let e=F().$implicit;O(" ",G(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function Rn(n,t){n&1&&(M(0),p(1,23),m())}function Hn(n,t){n&1&&D(0)}function yn(n,t){if(n&1&&(o(0,"div",64)(1,"div",51)(2,"h3"),d(3),o(4,"spk-chip")(5,"spk-icon"),d(6),i(),d(7),i()(),o(8,"p")(9,"span"),p(10,16),i(),d(11),I(12,"relativeTime"),i(),o(13,"p")(14,"span"),p(15,17),i(),S(16,fn,2,4)(17,$n,2,0,"ng-container"),i(),o(18,"p")(19,"span"),p(20,18),i(),S(21,Dn,2,3)(22,In,2,0,"ng-container"),i(),o(23,"p")(24,"span"),p(25,19),i(),S(26,An,2,3)(27,Rn,2,0,"ng-container"),i()(),o(28,"spk-chip",65),p(29,20),i(),o(30,"div",55),P(31,Hn,1,0,"ng-container",66),i()()),n&2){let e=t.$implicit,_=F(4),r=W(51);l(3),O(" ",(e.Backup==null?null:e.Backup.Name)??_.MISSING_BACKUP_NAME," "),l(3),ze(_.getBackendIcon(e.Backup==null?null:e.Backup.TargetURL)),l(),O(" ",_.getBackendType(e.Backup==null?null:e.Backup.TargetURL)," "),l(4),O(" ",b(12,11,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupFinished,_.timeType()==="actual")," "),l(5),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.LastBackupDuration?16:17),l(5),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.SourceFilesSize?21:22),l(5),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.TargetFilesSize?26:27);let c=_.getBackupVersionCount(e);l(3),y(c)(c),L(29),l(2),T("ngTemplateOutlet",r)("ngTemplateOutletContext",$(14,Fn,e))}}function Ln(n,t){if(n&1&&K(0,yn,32,16,"div",64,V),n&2){let e=F(3);U(e.backups())}}function Bn(n,t){n&1&&(M(0),p(1,24),m())}function xn(n,t){if(n&1&&(o(0,"div",62),S(1,Ln,2,0)(2,Bn,2,0,"ng-container"),i()),n&2){let e=F(2);l(),E(e.backups().length?1:2)}}function Gn(n,t){n&1&&(s(0,25,1),D(1),u())}function bn(n,t){n&1&&(s(0,26,1),D(1),u())}function vn(n,t){n&1&&(s(0,27,1),D(1),u())}function hn(n,t){n&1&&(s(0,28,1),D(1),u())}function Xn(n,t){n&1&&(s(0,29,1),D(1),u())}function wn(n,t){n&1&&(s(0,30,1),D(1),u())}function zn(n,t){if(n&1&&(d(0),I(1,"relativeTime")),n&2){let e=F().$implicit,_=F(3);O(" ",b(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDate,_.timeType()==="actual")," ")}}function Vn(n,t){n&1&&(M(0),p(1,34),m())}function Kn(n,t){if(n&1&&(d(0),I(1,"durationFormat")),n&2){let e=F().$implicit,_=F(3);O(" ",b(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration,_.timeType()==="actual")," ")}}function Un(n,t){n&1&&(M(0),p(1,35),m())}function Wn(n,t){if(n&1&&(d(0),I(1,"bytes")),n&2){let e=F().$implicit;O(" ",G(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function jn(n,t){n&1&&(M(0),p(1,36),m())}function qn(n,t){if(n&1&&(d(0),I(1,"bytes")),n&2){let e=F().$implicit;O(" ",G(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function Jn(n,t){n&1&&(M(0),p(1,37),m())}function Qn(n,t){n&1&&D(0)}function Yn(n,t){if(n&1&&(o(0,"tr")(1,"td"),d(2),i(),o(3,"td"),d(4),i(),o(5,"td"),S(6,zn,2,4)(7,Vn,2,0,"ng-container"),i(),o(8,"td"),S(9,Kn,2,4)(10,Un,2,0,"ng-container"),i(),o(11,"td"),S(12,Wn,2,3)(13,jn,2,0,"ng-container"),i(),o(14,"td"),S(15,qn,2,3)(16,Jn,2,0,"ng-container"),i(),o(17,"td")(18,"span"),p(19,33),i()(),o(20,"td"),P(21,Qn,1,0,"ng-container",66),i()()),n&2){let e=t.$implicit,_=F(3),r=W(51);l(2),O(" ",(e.Backup==null?null:e.Backup.Name)??_.MISSING_BACKUP_NAME," "),l(2),O(" ",_.getBackendType(e.Backup==null?null:e.Backup.TargetURL)," "),l(2),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.LastBackupDate?6:7),l(3),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.LastBackupDuration?9:10),l(3),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.SourceFilesSize?12:13),l(3),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.TargetFilesSize?15:16);let c=_.getBackupVersionCount(e);l(4),y(c)(c),L(19),l(2),T("ngTemplateOutlet",r)("ngTemplateOutletContext",$(10,Fn,e))}}function Zn(n,t){if(n&1){let e=x();o(0,"spk-table",67),Ue("sortByColumnChange",function(r){N(e);let c=F(2);return Ke(c.sortByColumn,r)||(c.sortByColumn=r),k(r)}),o(1,"tr",68)(2,"th",69),s(3,25),P(4,Gn,2,0,"ng-container",70),u(),i(),o(5,"th",71),s(6,26),P(7,bn,2,0,"ng-container",70),u(),i(),o(8,"th",72),s(9,27),P(10,vn,2,0,"ng-container",70),u(),i(),o(11,"th",73),s(12,28),P(13,hn,2,0,"ng-container",70),u(),i(),o(14,"th",74),s(15,29),P(16,Xn,2,0,"ng-container",70),u(),i(),o(17,"th",75),s(18,30),P(19,wn,2,0,"ng-container",70),u(),i(),o(20,"th"),p(21,31),i(),o(22,"th"),p(23,32),i()(),K(24,Yn,22,12,"tr",null,V),i()}if(n&2){let e=F(2),_=W(53);T("data",e.backups())("loading",e.backupsLoading()),Ve("sortByColumn",e.sortByColumn),l(4),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(5),U(e.backups())}}function et(n,t){if(n&1&&S(0,xn,3,1,"div",62)(1,Zn,26,9,"spk-table",63),n&2){let e=F();E(e.viewMode()==="list"?0:e.viewMode()==="details"?1:-1)}}function nt(n,t){n&1&&(o(0,"div",76),g(1,"spk-progress-bar",77),o(2,"div",51)(3,"h3"),p(4,38),i()()())}function tt(n,t){n&1&&p(0,39,1)}function it(n,t){n&1&&(o(0,"spk-icon"),d(1,"check"),i())}function ot(n,t){n&1&&(o(0,"spk-icon"),d(1,"dots-three-vertical"),i())}function _t(n,t){if(n&1){let e=x();o(0,"button",78),f("click",function(){let r=N(e).$implicit,c=F();return k(c.startBackup(r.Backup==null?null:r.Backup.ID))}),s(1,39),g(2,"spk-icon"),S(3,tt,1,0),u(),i(),o(4,"button",79)(5,"spk-icon"),d(6,"pencil-simple"),i()(),o(7,"spk-menu",80)(8,"button",52),S(9,it,2,0,"spk-icon")(10,ot,2,0,"spk-icon"),i(),M(11,60),o(12,"h3",81),d(13,"Operations"),i(),o(14,"button",82),s(15,40),g(16,"spk-icon"),u(),i(),o(17,"button",82),s(18,41),g(19,"spk-icon"),u(),i(),o(20,"button",82),s(21,42),g(22,"spk-icon"),u(),i(),g(23,"spk-divider"),o(24,"h3",81),d(25,"Advanced"),i(),o(26,"button",82),s(27,43),g(28,"spk-icon"),u(),i(),o(29,"button",57),f("click",function(){let r=N(e).$implicit,c=F();return k(c.verifyFiles(r.Backup==null?null:r.Backup.ID))}),s(30,44),g(31,"spk-icon"),u(),i(),o(32,"button",57),f("click",function(){let r=N(e).$implicit,c=F();return k(c.compressBackup(r.Backup==null?null:r.Backup.ID))}),s(33,45),g(34,"spk-icon"),u(),i(),o(35,"button",82),s(36,46),g(37,"spk-icon"),u(),i(),g(38,"spk-divider"),o(39,"h3",81),d(40,"Reporting"),i(),o(41,"button",82),s(42,47),g(43,"spk-icon"),u(),i(),o(44,"button",57),f("click",function(){let r=N(e).$implicit,c=F();return k(c.createErrorReport(r.Backup==null?null:r.Backup.ID))}),s(45,48),g(46,"spk-icon"),u(),i(),m(),i()}if(n&2){let e=t.$implicit,_=F();B("loader",_.startingBackup()===(e.Backup==null?null:e.Backup.ID)),l(3),E(_.viewMode()==="list"?3:-1),l(),T("routerLink",$(16,Cn,e.Backup==null?null:e.Backup.ID)),l(3),T("right",!0),l(),B("loader",_.loadingId()===(e.Backup==null?null:e.Backup.ID))("success",_.successId()===(e.Backup==null?null:e.Backup.ID)),l(),E(_.successId()===(e.Backup==null?null:e.Backup.ID)?9:10),l(5),T("routerLink",$(18,Sn,e.Backup==null?null:e.Backup.ID)),l(3),T("routerLink",$(20,En,e.Backup==null?null:e.Backup.ID)),l(3),T("routerLink",$(22,Mn,e.Backup==null?null:e.Backup.ID)),l(6),T("routerLink",$(24,mn,e.Backup==null?null:e.Backup.ID)),l(9),T("routerLink",$(26,On,e.Backup==null?null:e.Backup.ID)),l(6),T("routerLink",$(28,Nn,e.Backup==null?null:e.Backup.ID))}}function at(n,t){n&1&&(o(0,"spk-icon",83),d(1,"funnel-simple"),i(),o(2,"spk-icon",84),d(3,"sort-ascending"),i(),o(4,"spk-icon",85),d(5,"sort-descending"),i())}var pn={file:{Display:$localize`Local`,Icon:null}},ee=class n{#n=z(_n);#t=z(ln);#e=z(an);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=un("list","viewMode");sortByColumn=H(this.#e.orderBy());loadingId=H(null);successId=H(null);sortEffect=We(()=>this.#e.setOrderBy(this.sortByColumn()));ngOnInit(){this.#e.getBackups(!0)}setOrderBy(t){this.#e.setOrderBy(t)}setTimeType(t){this.#e.setTimeType(t)}startBackup(t){this.#t.resumeDialogCheck(()=>this.#e.startBackup(t))}getBackendIcon(t){if(!t)return"";let e=t.split("://")[0],_=Z(e);return pn[_.key]?.Icon??"database"}getBackendType(t){if(!t)return"";let e=t.split("://")[0],_=Z(e);if(!_)return"";let r=pn[_.key];if(r?.Display)return r.Display;if(_.key==="s3"){let c="http://null?"+t.split("?")[1],C=new URL(c).searchParams.get("s3-server-name")?.toLowerCase()??"";for(let[A,v]of Object.entries(rn))if(C.endsWith(A))return v}return _.displayName}getBackupVersionCount(t){return parseInt(t?.Backup?.Metadata?.BackupListCount??"",10)||0}verifyFiles(t){this.loadingId.set(t),this.#n.postApiV1BackupByIdVerify({id:t}).pipe(w(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(t),setTimeout(()=>this.successId.set(null),2e3)}})}compressBackup(t){this.loadingId.set(t),this.#n.postApiV1BackupByIdCompact({id:t}).pipe(w(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(t),setTimeout(()=>this.successId.set(null),2e3)}})}createErrorReport(t){this.loadingId.set(t),this.#n.postApiV1BackupByIdCreatereport({id:t}).pipe(w(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(t),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 t;t=$localize`Backups`;let e;e=$localize`Backups are stored in the cloud and can be restored at any time.`;let _;_=$localize` Add ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let r;r=$localize`Restores`;let c;c=$localize`Restores allow you to restore your data from the cloud.`;let R;R=$localize` Start ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let C;C=$localize`My backups`;let A;A=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SPK_ICON:rows${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SPK_ICON: List `;let v;v=$localize`${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON:list${"\uFFFD/#34\uFFFD"}:CLOSE_TAG_SPK_ICON: Details `;let ne;ne=$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 te;te=$localize`Relative time`;let ie;ie=$localize`Actual time`;let oe;oe=$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 _e;_e=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let ae;ae=$localize`Last successful backup:`;let le;le=$localize`Duration:`;let re;re=$localize`Source:`;let ce;ce=$localize`Destination:`;let h;h=$localize`{VAR_PLURAL, plural, =0 {No version yet} =1 {1 Version} other {{INTERPOLATION} Versions}}`,h=q(h,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let se;se=$localize` ${h}:ICU@@6502601490918455200: `;let ue;ue=$localize`N/A`;let pe;pe=$localize`N/A`;let Fe;Fe=$localize`N/A`;let ge;ge=$localize`No backups founds`;let de;de=$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 Te;Te=$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 Ce;Ce=$localize` Last successful 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 Se;Se=$localize` Duration ${"\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 Ee;Ee=$localize` Source ${"\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 Me;Me=$localize` Destination ${"\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 me;me=$localize`Version`;let Oe;Oe=$localize`Actions`;let X;X=$localize`{VAR_PLURAL, plural, =0 {No version yet} =1 {1 Version} other {{INTERPOLATION} Versions}}`,X=q(X,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let Ne;Ne=$localize` ${X}:ICU@@6502601490918455200: `;let ke;ke=$localize`N/A`;let Pe;Pe=$localize`N/A`;let fe;fe=$localize`N/A`;let $e;$e=$localize`N/A`;let De;De=$localize`Loading backups...`;let Ie;Ie=$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 Ae;Ae=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let Re;Re=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:export${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Export `;let He;He=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let ye;ye=$localize`${"\uFFFD#28\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SPK_ICON: Database `;let Le;Le=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SPK_ICON:check-square-offset${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SPK_ICON: Verify files `;let Be;Be=$localize`${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON:file-archive${"\uFFFD/#34\uFFFD"}:CLOSE_TAG_SPK_ICON: Compress now `;let xe;xe=$localize`${"\uFFFD#37\uFFFD"}:START_TAG_SPK_ICON:terminal-window${"\uFFFD/#37\uFFFD"}:CLOSE_TAG_SPK_ICON: Commandline `;let Ge;Ge=$localize`${"\uFFFD#43\uFFFD"}:START_TAG_SPK_ICON:notepad${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_SPK_ICON: Log `;let be;return be=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SPK_ICON:file-plus${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_SPK_ICON: Create error report `,[["actions",""],["sortIcons",""],t,e,_,r,c,R,C,A,v,ne,te,ie,oe,_e,ae,le,re,ce,se,ue,pe,Fe,ge,de,Te,Ce,Se,Ee,Me,me,Oe,Ne,ke,Pe,fe,$e,De,Ie,Ae,Re,He,ye,Le,Be,xe,Ge,be,[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","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,_){if(e&1){let r=x();g(0,"app-status-bar"),o(1,"section")(2,"header")(3,"spk-card",49),g(4,"img",50),o(5,"div",51)(6,"h3"),p(7,2),i(),o(8,"p"),p(9,3),i()(),o(10,"button",52),s(11,4),g(12,"spk-icon"),u(),i()(),o(13,"spk-card",49),g(14,"img",53),o(15,"div",51)(16,"h3"),p(17,5),i(),o(18,"p"),p(19,6),i()(),o(20,"button",52),s(21,7),g(22,"spk-icon"),u(),i()()(),o(23,"div",54)(24,"h2"),M(25),p(26,8),m(),o(27,"div",55)(28,"spk-button-group",56)(29,"button",57),f("click",function(){return N(r),k(_.viewMode.set("list"))}),s(30,9),g(31,"spk-icon"),u(),i(),o(32,"button",57),f("click",function(){return N(r),k(_.viewMode.set("details"))}),s(33,10),g(34,"spk-icon"),u(),i()(),o(35,"spk-menu",58)(36,"button",59),s(37,11),g(38,"strong")(39,"spk-icon"),u(),i(),M(40,60),o(41,"button",57),f("click",function(){return N(r),k(_.setTimeType("relative"))}),p(42,12),i(),o(43,"button",57),f("click",function(){return N(r),k(_.setTimeType("actual"))}),p(44,13),i(),m(),i(),S(45,Pn,8,1,"spk-menu",58),i()(),P(46,et,2,1)(47,nt,5,0),Xe(48,46,gn,null,47),i()(),P(50,_t,47,30,"ng-template",null,0,Q)(52,at,6,0,"ng-template",null,1,Q)}e&2&&(l(3),T("routerLink",J(9,dn)),l(10),T("routerLink",J(10,Tn)),l(16),B("active",_.viewMode()==="list"),l(3),B("active",_.viewMode()==="details"),l(7),y(_.timeType()),L(37),l(6),E(_.viewMode()==="list"?45:-1),l(3),we(!_.backupsLoading()))},dependencies:[je,cn,Qe,Je,Y,Ze,en,nn,qe],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{ee as default};
|
|
1
|
+
import{a as Z,e as rn}from"./chunk-UM3LTU7N.js";import{a as cn}from"./chunk-EL7ZWMW3.js";import{a as ln}from"./chunk-MFURKVTP.js";import{a as an}from"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{e as je}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as Y,f as qe,g as Je,h as Qe,j as Ye,k as Ze,o as en,p as nn,w as tn,x as on}from"./chunk-Y5IRBMLB.js";import{h as _n}from"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import{$b as W,Ab as g,Ac as Q,Bb as M,Cb as m,Db as D,Eb as x,H as w,Ic as We,Kb as s,Lb as u,Mb as p,Nb as y,Ob as L,Pb as q,Qa as l,Qb as f,Rb as F,Z as z,a as ve,ab as he,b as j,bc as B,da as N,ea as k,ec as d,fb as P,fc as ze,gc as O,jc as Ve,kc as Ke,lc as Ue,na as H,pb as Xe,qb as we,sb as S,sc as J,tb as E,tc as $,ub as V,vb as K,wb as U,wc as I,xb as T,xc as G,yb as o,yc as b,zb as i}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";function sn(...n){let t=H(...n);return Object.defineProperty(t,"value",{get:t.asReadonly(),set:t.set.bind(t)})}function un(n,t,e){let _=localStorage.getItem(t);_!=null&&(n=JSON.parse(_));let r=sn(n),c=r[ve];e?.equal&&(c.equal=e.equal);function R(C){C==null?localStorage.removeItem(t):localStorage.setItem(t,JSON.stringify(C))}return r.set=C=>{R(C),j(c,C)},r.update=C=>{let A=C(r());R(A),j(c,A)},r}var gn=()=>[import("./chunk-AFLQOHXV.js").then(n=>n.NgTemplateOutlet),Y,Ye,on,tn,import("./chunk-3JKXOOME.js").then(n=>n.DurationFormatPipe),import("./chunk-HLYFP2CB.js").then(n=>n.BytesPipe),import("./chunk-NS4PAVKI.js").then(n=>n.RelativeTimePipe)],dn=()=>["/add-backup"],Tn=()=>["/restore"],Fn=n=>({$implicit:n}),Cn=n=>["/backup",n],Sn=n=>["/restore",n],En=n=>["/backup",n,"export"],Mn=n=>["/backup",n,"delete"],mn=n=>["/backup",n,"database"],On=n=>["/backup",n,"commandline"],Nn=n=>["/backup",n,"log"];function kn(n,t){if(n&1){let e=x();o(0,"button",57),f("click",function(){let r=N(e).$implicit,c=F(2);return k(c.sortByColumn.set(r.value))}),p(1,15),i()}if(n&2){let e=t.$implicit,_=F(2);B("active",_.orderBy()===e.value),l(),y(e.label),L(1)}}function Pn(n,t){if(n&1&&(o(0,"spk-menu",58)(1,"button",59),s(2,14),g(3,"strong")(4,"spk-icon"),u(),i(),M(5,60),K(6,kn,2,3,"button",61,V),m(),i()),n&2){let e=F();l(4),y(e.orderBy()),L(2),l(2),U(e.sortOrderOptions())}}function fn(n,t){if(n&1&&(d(0),I(1,"durationFormat")),n&2){let e=F().$implicit,_=F(4);O(" ",b(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration,_.timeType()==="actual")," ")}}function $n(n,t){n&1&&(M(0),p(1,21),m())}function Dn(n,t){if(n&1&&(d(0),I(1,"bytes")),n&2){let e=F().$implicit;O(" ",G(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function In(n,t){n&1&&(M(0),p(1,22),m())}function An(n,t){if(n&1&&(d(0),I(1,"bytes")),n&2){let e=F().$implicit;O(" ",G(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function Rn(n,t){n&1&&(M(0),p(1,23),m())}function Hn(n,t){n&1&&D(0)}function yn(n,t){if(n&1&&(o(0,"div",64)(1,"div",51)(2,"h3"),d(3),o(4,"spk-chip")(5,"spk-icon"),d(6),i(),d(7),i()(),o(8,"p")(9,"span"),p(10,16),i(),d(11),I(12,"relativeTime"),i(),o(13,"p")(14,"span"),p(15,17),i(),S(16,fn,2,4)(17,$n,2,0,"ng-container"),i(),o(18,"p")(19,"span"),p(20,18),i(),S(21,Dn,2,3)(22,In,2,0,"ng-container"),i(),o(23,"p")(24,"span"),p(25,19),i(),S(26,An,2,3)(27,Rn,2,0,"ng-container"),i()(),o(28,"spk-chip",65),p(29,20),i(),o(30,"div",55),P(31,Hn,1,0,"ng-container",66),i()()),n&2){let e=t.$implicit,_=F(4),r=W(51);l(3),O(" ",(e.Backup==null?null:e.Backup.Name)??_.MISSING_BACKUP_NAME," "),l(3),ze(_.getBackendIcon(e.Backup==null?null:e.Backup.TargetURL)),l(),O(" ",_.getBackendType(e.Backup==null?null:e.Backup.TargetURL)," "),l(4),O(" ",b(12,11,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupFinished,_.timeType()==="actual")," "),l(5),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.LastBackupDuration?16:17),l(5),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.SourceFilesSize?21:22),l(5),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.TargetFilesSize?26:27);let c=_.getBackupVersionCount(e);l(3),y(c)(c),L(29),l(2),T("ngTemplateOutlet",r)("ngTemplateOutletContext",$(14,Fn,e))}}function Ln(n,t){if(n&1&&K(0,yn,32,16,"div",64,V),n&2){let e=F(3);U(e.backups())}}function Bn(n,t){n&1&&(M(0),p(1,24),m())}function xn(n,t){if(n&1&&(o(0,"div",62),S(1,Ln,2,0)(2,Bn,2,0,"ng-container"),i()),n&2){let e=F(2);l(),E(e.backups().length?1:2)}}function Gn(n,t){n&1&&(s(0,25,1),D(1),u())}function bn(n,t){n&1&&(s(0,26,1),D(1),u())}function vn(n,t){n&1&&(s(0,27,1),D(1),u())}function hn(n,t){n&1&&(s(0,28,1),D(1),u())}function Xn(n,t){n&1&&(s(0,29,1),D(1),u())}function wn(n,t){n&1&&(s(0,30,1),D(1),u())}function zn(n,t){if(n&1&&(d(0),I(1,"relativeTime")),n&2){let e=F().$implicit,_=F(3);O(" ",b(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDate,_.timeType()==="actual")," ")}}function Vn(n,t){n&1&&(M(0),p(1,34),m())}function Kn(n,t){if(n&1&&(d(0),I(1,"durationFormat")),n&2){let e=F().$implicit,_=F(3);O(" ",b(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration,_.timeType()==="actual")," ")}}function Un(n,t){n&1&&(M(0),p(1,35),m())}function Wn(n,t){if(n&1&&(d(0),I(1,"bytes")),n&2){let e=F().$implicit;O(" ",G(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function jn(n,t){n&1&&(M(0),p(1,36),m())}function qn(n,t){if(n&1&&(d(0),I(1,"bytes")),n&2){let e=F().$implicit;O(" ",G(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function Jn(n,t){n&1&&(M(0),p(1,37),m())}function Qn(n,t){n&1&&D(0)}function Yn(n,t){if(n&1&&(o(0,"tr")(1,"td"),d(2),i(),o(3,"td"),d(4),i(),o(5,"td"),S(6,zn,2,4)(7,Vn,2,0,"ng-container"),i(),o(8,"td"),S(9,Kn,2,4)(10,Un,2,0,"ng-container"),i(),o(11,"td"),S(12,Wn,2,3)(13,jn,2,0,"ng-container"),i(),o(14,"td"),S(15,qn,2,3)(16,Jn,2,0,"ng-container"),i(),o(17,"td")(18,"span"),p(19,33),i()(),o(20,"td"),P(21,Qn,1,0,"ng-container",66),i()()),n&2){let e=t.$implicit,_=F(3),r=W(51);l(2),O(" ",(e.Backup==null?null:e.Backup.Name)??_.MISSING_BACKUP_NAME," "),l(2),O(" ",_.getBackendType(e.Backup==null?null:e.Backup.TargetURL)," "),l(2),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.LastBackupDate?6:7),l(3),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.LastBackupDuration?9:10),l(3),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.SourceFilesSize?12:13),l(3),E(!(e.Backup==null||e.Backup.Metadata==null)&&e.Backup.Metadata.TargetFilesSize?15:16);let c=_.getBackupVersionCount(e);l(4),y(c)(c),L(19),l(2),T("ngTemplateOutlet",r)("ngTemplateOutletContext",$(10,Fn,e))}}function Zn(n,t){if(n&1){let e=x();o(0,"spk-table",67),Ue("sortByColumnChange",function(r){N(e);let c=F(2);return Ke(c.sortByColumn,r)||(c.sortByColumn=r),k(r)}),o(1,"tr",68)(2,"th",69),s(3,25),P(4,Gn,2,0,"ng-container",70),u(),i(),o(5,"th",71),s(6,26),P(7,bn,2,0,"ng-container",70),u(),i(),o(8,"th",72),s(9,27),P(10,vn,2,0,"ng-container",70),u(),i(),o(11,"th",73),s(12,28),P(13,hn,2,0,"ng-container",70),u(),i(),o(14,"th",74),s(15,29),P(16,Xn,2,0,"ng-container",70),u(),i(),o(17,"th",75),s(18,30),P(19,wn,2,0,"ng-container",70),u(),i(),o(20,"th"),p(21,31),i(),o(22,"th"),p(23,32),i()(),K(24,Yn,22,12,"tr",null,V),i()}if(n&2){let e=F(2),_=W(53);T("data",e.backups())("loading",e.backupsLoading()),Ve("sortByColumn",e.sortByColumn),l(4),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(3),T("ngTemplateOutlet",_),l(5),U(e.backups())}}function et(n,t){if(n&1&&S(0,xn,3,1,"div",62)(1,Zn,26,9,"spk-table",63),n&2){let e=F();E(e.viewMode()==="list"?0:e.viewMode()==="details"?1:-1)}}function nt(n,t){n&1&&(o(0,"div",76),g(1,"spk-progress-bar",77),o(2,"div",51)(3,"h3"),p(4,38),i()()())}function tt(n,t){n&1&&p(0,39,1)}function it(n,t){n&1&&(o(0,"spk-icon"),d(1,"check"),i())}function ot(n,t){n&1&&(o(0,"spk-icon"),d(1,"dots-three-vertical"),i())}function _t(n,t){if(n&1){let e=x();o(0,"button",78),f("click",function(){let r=N(e).$implicit,c=F();return k(c.startBackup(r.Backup==null?null:r.Backup.ID))}),s(1,39),g(2,"spk-icon"),S(3,tt,1,0),u(),i(),o(4,"button",79)(5,"spk-icon"),d(6,"pencil-simple"),i()(),o(7,"spk-menu",80)(8,"button",52),S(9,it,2,0,"spk-icon")(10,ot,2,0,"spk-icon"),i(),M(11,60),o(12,"h3",81),d(13,"Operations"),i(),o(14,"button",82),s(15,40),g(16,"spk-icon"),u(),i(),o(17,"button",82),s(18,41),g(19,"spk-icon"),u(),i(),o(20,"button",82),s(21,42),g(22,"spk-icon"),u(),i(),g(23,"spk-divider"),o(24,"h3",81),d(25,"Advanced"),i(),o(26,"button",82),s(27,43),g(28,"spk-icon"),u(),i(),o(29,"button",57),f("click",function(){let r=N(e).$implicit,c=F();return k(c.verifyFiles(r.Backup==null?null:r.Backup.ID))}),s(30,44),g(31,"spk-icon"),u(),i(),o(32,"button",57),f("click",function(){let r=N(e).$implicit,c=F();return k(c.compressBackup(r.Backup==null?null:r.Backup.ID))}),s(33,45),g(34,"spk-icon"),u(),i(),o(35,"button",82),s(36,46),g(37,"spk-icon"),u(),i(),g(38,"spk-divider"),o(39,"h3",81),d(40,"Reporting"),i(),o(41,"button",82),s(42,47),g(43,"spk-icon"),u(),i(),o(44,"button",57),f("click",function(){let r=N(e).$implicit,c=F();return k(c.createErrorReport(r.Backup==null?null:r.Backup.ID))}),s(45,48),g(46,"spk-icon"),u(),i(),m(),i()}if(n&2){let e=t.$implicit,_=F();B("loader",_.startingBackup()===(e.Backup==null?null:e.Backup.ID)),l(3),E(_.viewMode()==="list"?3:-1),l(),T("routerLink",$(16,Cn,e.Backup==null?null:e.Backup.ID)),l(3),T("right",!0),l(),B("loader",_.loadingId()===(e.Backup==null?null:e.Backup.ID))("success",_.successId()===(e.Backup==null?null:e.Backup.ID)),l(),E(_.successId()===(e.Backup==null?null:e.Backup.ID)?9:10),l(5),T("routerLink",$(18,Sn,e.Backup==null?null:e.Backup.ID)),l(3),T("routerLink",$(20,En,e.Backup==null?null:e.Backup.ID)),l(3),T("routerLink",$(22,Mn,e.Backup==null?null:e.Backup.ID)),l(6),T("routerLink",$(24,mn,e.Backup==null?null:e.Backup.ID)),l(9),T("routerLink",$(26,On,e.Backup==null?null:e.Backup.ID)),l(6),T("routerLink",$(28,Nn,e.Backup==null?null:e.Backup.ID))}}function at(n,t){n&1&&(o(0,"spk-icon",83),d(1,"funnel-simple"),i(),o(2,"spk-icon",84),d(3,"sort-ascending"),i(),o(4,"spk-icon",85),d(5,"sort-descending"),i())}var pn={file:{Display:$localize`Local`,Icon:null}},ee=class n{#n=z(_n);#t=z(ln);#e=z(an);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=un("list","viewMode");sortByColumn=H(this.#e.orderBy());loadingId=H(null);successId=H(null);sortEffect=We(()=>this.#e.setOrderBy(this.sortByColumn()));ngOnInit(){this.#e.getBackups(!0)}setOrderBy(t){this.#e.setOrderBy(t)}setTimeType(t){this.#e.setTimeType(t)}startBackup(t){this.#t.resumeDialogCheck(()=>this.#e.startBackup(t))}getBackendIcon(t){if(!t)return"";let e=t.split("://")[0],_=Z(e);return pn[_.key]?.Icon??"database"}getBackendType(t){if(!t)return"";let e=t.split("://")[0],_=Z(e);if(!_)return"";let r=pn[_.key];if(r?.Display)return r.Display;if(_.key==="s3"){let c="http://null?"+t.split("?")[1],C=new URL(c).searchParams.get("s3-server-name")?.toLowerCase()??"";for(let[A,v]of Object.entries(rn))if(C.endsWith(A))return v}return _.displayName}getBackupVersionCount(t){return parseInt(t?.Backup?.Metadata?.BackupListCount??"",10)||0}verifyFiles(t){this.loadingId.set(t),this.#n.postApiV1BackupByIdVerify({id:t}).pipe(w(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(t),setTimeout(()=>this.successId.set(null),2e3)}})}compressBackup(t){this.loadingId.set(t),this.#n.postApiV1BackupByIdCompact({id:t}).pipe(w(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(t),setTimeout(()=>this.successId.set(null),2e3)}})}createErrorReport(t){this.loadingId.set(t),this.#n.postApiV1BackupByIdCreatereport({id:t}).pipe(w(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(t),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 t;t=$localize`Backups`;let e;e=$localize`Backups are stored in the cloud and can be restored at any time.`;let _;_=$localize` Add ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let r;r=$localize`Restores`;let c;c=$localize`Restores allow you to restore your data from the cloud.`;let R;R=$localize` Start ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let C;C=$localize`My backups`;let A;A=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SPK_ICON:rows${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SPK_ICON: List `;let v;v=$localize`${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON:list${"\uFFFD/#34\uFFFD"}:CLOSE_TAG_SPK_ICON: Details `;let ne;ne=$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 te;te=$localize`Relative time`;let ie;ie=$localize`Actual time`;let oe;oe=$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 _e;_e=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let ae;ae=$localize`Last successful backup:`;let le;le=$localize`Duration:`;let re;re=$localize`Source:`;let ce;ce=$localize`Destination:`;let h;h=$localize`{VAR_PLURAL, plural, =0 {No version yet} =1 {1 Version} other {{INTERPOLATION} Versions}}`,h=q(h,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let se;se=$localize` ${h}:ICU@@6502601490918455200: `;let ue;ue=$localize`N/A`;let pe;pe=$localize`N/A`;let Fe;Fe=$localize`N/A`;let ge;ge=$localize`No backups founds`;let de;de=$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 Te;Te=$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 Ce;Ce=$localize` Last successful 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 Se;Se=$localize` Duration ${"\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 Ee;Ee=$localize` Source ${"\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 Me;Me=$localize` Destination ${"\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 me;me=$localize`Version`;let Oe;Oe=$localize`Actions`;let X;X=$localize`{VAR_PLURAL, plural, =0 {No version yet} =1 {1 Version} other {{INTERPOLATION} Versions}}`,X=q(X,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let Ne;Ne=$localize` ${X}:ICU@@6502601490918455200: `;let ke;ke=$localize`N/A`;let Pe;Pe=$localize`N/A`;let fe;fe=$localize`N/A`;let $e;$e=$localize`N/A`;let De;De=$localize`Loading backups...`;let Ie;Ie=$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 Ae;Ae=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let Re;Re=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:export${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Export `;let He;He=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let ye;ye=$localize`${"\uFFFD#28\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SPK_ICON: Database `;let Le;Le=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SPK_ICON:check-square-offset${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SPK_ICON: Verify files `;let Be;Be=$localize`${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON:file-archive${"\uFFFD/#34\uFFFD"}:CLOSE_TAG_SPK_ICON: Compress now `;let xe;xe=$localize`${"\uFFFD#37\uFFFD"}:START_TAG_SPK_ICON:terminal-window${"\uFFFD/#37\uFFFD"}:CLOSE_TAG_SPK_ICON: Commandline `;let Ge;Ge=$localize`${"\uFFFD#43\uFFFD"}:START_TAG_SPK_ICON:notepad${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_SPK_ICON: Log `;let be;return be=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SPK_ICON:file-plus${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_SPK_ICON: Create error report `,[["actions",""],["sortIcons",""],t,e,_,r,c,R,C,A,v,ne,te,ie,oe,_e,ae,le,re,ce,se,ue,pe,Fe,ge,de,Te,Ce,Se,Ee,Me,me,Oe,Ne,ke,Pe,fe,$e,De,Ie,Ae,Re,He,ye,Le,Be,xe,Ge,be,[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","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,_){if(e&1){let r=x();g(0,"app-status-bar"),o(1,"section")(2,"header")(3,"spk-card",49),g(4,"img",50),o(5,"div",51)(6,"h3"),p(7,2),i(),o(8,"p"),p(9,3),i()(),o(10,"button",52),s(11,4),g(12,"spk-icon"),u(),i()(),o(13,"spk-card",49),g(14,"img",53),o(15,"div",51)(16,"h3"),p(17,5),i(),o(18,"p"),p(19,6),i()(),o(20,"button",52),s(21,7),g(22,"spk-icon"),u(),i()()(),o(23,"div",54)(24,"h2"),M(25),p(26,8),m(),o(27,"div",55)(28,"spk-button-group",56)(29,"button",57),f("click",function(){return N(r),k(_.viewMode.set("list"))}),s(30,9),g(31,"spk-icon"),u(),i(),o(32,"button",57),f("click",function(){return N(r),k(_.viewMode.set("details"))}),s(33,10),g(34,"spk-icon"),u(),i()(),o(35,"spk-menu",58)(36,"button",59),s(37,11),g(38,"strong")(39,"spk-icon"),u(),i(),M(40,60),o(41,"button",57),f("click",function(){return N(r),k(_.setTimeType("relative"))}),p(42,12),i(),o(43,"button",57),f("click",function(){return N(r),k(_.setTimeType("actual"))}),p(44,13),i(),m(),i(),S(45,Pn,8,1,"spk-menu",58),i()(),P(46,et,2,1)(47,nt,5,0),Xe(48,46,gn,null,47),i()(),P(50,_t,47,30,"ng-template",null,0,Q)(52,at,6,0,"ng-template",null,1,Q)}e&2&&(l(3),T("routerLink",J(9,dn)),l(10),T("routerLink",J(10,Tn)),l(16),B("active",_.viewMode()==="list"),l(3),B("active",_.viewMode()==="details"),l(7),y(_.timeType()),L(37),l(6),E(_.viewMode()==="list"?45:-1),l(3),we(!_.backupsLoading()))},dependencies:[je,cn,Qe,Je,Y,Ze,en,nn,qe],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{ee as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as B}from"./chunk-JM7VAPIC.js";import{a as b}from"./chunk-RHW5QVAY.js";import{a as h}from"./chunk-6JQM2X3B.js";import{a as d}from"./chunk-FZG6OXT3.js";import{h as k}from"./chunk-DNJOKPEL.js";import{F as s,H as n,Hc as p,Ic as o,R as u,U as c,Z as i,na as a}from"./chunk-BTMXQPBB.js";var m="backupListOrderBy",f="backupListShowActualTimes",S=[{value:"id",label:$localize`Backup ID`},{value:"name",label:$localize`Backup name`},{value:"lastrun",label:$localize`Last run time`},{value:"nextrun",label:$localize`Next run time`},{value:"schedule",label:$localize`Is scheduled`},{value:"backend",label:$localize`Destination type`},{value:"sourcesize",label:$localize`Source size`},{value:"destinationsize",label:$localize`Destination size`},{value:"duration",label:$localize`Duration`},{value:"-id",label:$localize`Backup ID (descending)`},{value:"-name",label:$localize`Backup name (descending)`},{value:"-lastrun",label:$localize`Last run time (descending)`},{value:"-nextrun",label:$localize`Next run time (descending)`},{value:"-schedule",label:$localize`Is scheduled (descending)`},{value:"-backend",label:$localize`Destination type (descending)`},{value:"-sourcesize",label:$localize`Source size (descending)`},{value:"-destinationsize",label:$localize`Destination size (descending)`},{value:"-duration",label:$localize`Duration (descending)`}],y=class l{#i=i(d);#l=i(k);#o=i(h);#e=i(B);#u=null;#t=a([]);#a=a([]);#r=a(!1);#n=a(null);#d=a(null);#c=a(this.#i.getItemParsed(f,!0)??"relative");#s=a(this.#i.getItemParsed(m,!0)??"id");orderByOptions=a(S);orderBy=this.#s.asReadonly();backups=this.#a.asReadonly();timeType=this.#c.asReadonly();backupsLoading=this.#r.asReadonly();startingBackup=this.#n.asReadonly();deletingBackup=this.#d.asReadonly();draftBackups=this.#t.asReadonly();#p=p(()=>this.#o.hasBackupListSubscribeOption()&&this.#e.getConnectionMethod()==="websocket");#k=o(()=>{let e=this.#e.backupListState();e&&this.#a.set(e)});addDraftBackup(e){let t=b();return this.#t.set([...this.#t(),{id:t,data:e}]),t}setOrderBy(e){this.#i.setItemParsed(m,e,!0),this.#s.set(e),this.#e.isConnectionMethodSet()&&(this.#p()?this.#e.subscribe("backuplist",e):this.getBackups(!0))}setTimeType(e){this.#i.setItemParsed(f,e,!0),this.#c.set(e)}removeDraftBackupById(e){this.#t.set(this.#t().filter(t=>t.id!==e))}getBackupById(e){return this.#a().find(t=>t.Backup?.ID===e)??null}getBackups(e=!1){if(!this.#e.isConnectionMethodSet())return;if(this.#p()){this.#e.subscribe("backuplist",this.#s());return}let t=this.#u,r=Date.now(),g=t&&r-t<15*60*1e3;t&&r-t<100||!e&&g&&this.#a().length||(this.#u=r,this.#r.set(!0),this.#l.getApiV1Backups({orderBy:this.#s()}).pipe(s(1),u(v=>this.#a.set(v)),n(()=>this.#r.set(!1))).subscribe())}startBackup(e){this.#n.set(e),this.#l.postApiV1BackupByIdStart({id:e}).pipe(s(1),u(()=>this.getBackups(!0)),n(()=>this.#n.set(null))).subscribe()}deleteBackup(e){return this.#l.deleteApiV1BackupById(e).pipe(s(1))}static \u0275fac=function(t){return new(t||l)};static \u0275prov=c({token:l,factory:l.\u0275fac,providedIn:"root"})};export{y as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as $}from"./chunk-
|
|
1
|
+
import{a as $}from"./chunk-KZQCOYF7.js";import{a as z}from"./chunk-JM7VAPIC.js";import{a as _}from"./chunk-2BX65XJQ.js";import{a as R}from"./chunk-6JQM2X3B.js";import{a as B}from"./chunk-WXARH2SG.js";import{e as S}from"./chunk-Y5IRBMLB.js";import{h as P}from"./chunk-DNJOKPEL.js";import{H as u,Hc as c,Ic as f,P as d,U as m,Z as s,n as k,na as n,r as h}from"./chunk-BTMXQPBB.js";import{a as l,b as r}from"./chunk-EUDKD2JW.js";var T={Backup_Begin:$localize`Starting backup …`,Backup_PreBackupVerify:$localize`Verifying backend data …`,Backup_PostBackupTest:$localize`Verifying remote data …`,Backup_PreviousBackupFinalize:$localize`Completing previous backup …`,Backup_ProcessingFiles:$localize`Processing files to backup …`,Backup_Finalize:$localize`Completing backup …`,Backup_WaitForUpload:$localize`Waiting for upload to finish …`,Backup_Delete:$localize`Deleting unwanted files …`,Backup_Compact:$localize`Compacting remote data …`,Backup_VerificationUpload:$localize`Uploading verification file …`,Backup_PostBackupVerify:$localize`Verifying backend data …`,Backup_Complete:$localize`Backup complete!`,Restore_Begin:$localize`Starting restore …`,Restore_RecreateDatabase:$localize`Rebuilding local database …`,Restore_PreRestoreVerify:$localize`Verifying remote data …`,Restore_CreateFileList:$localize`Building list of files to restore …`,Restore_CreateTargetFolders:$localize`Creating target folders …`,Restore_ScanForExistingFiles:$localize`Scanning existing files …`,Restore_ScanForLocalBlocks:$localize`Scanning for local blocks …`,Restore_PatchWithLocalBlocks:$localize`Patching files with local blocks …`,Restore_DownloadingRemoteFiles:$localize`Downloading files …`,Restore_PostRestoreVerify:$localize`Verifying restored files …`,Restore_Complete:$localize`Restore complete!`,Recreate_Running:$localize`Recreating database …`,Vacuum_Running:$localize`Vacuuming database …`,Repair_Running:$localize`Repairing database …`,Verify_Running:$localize`Verifying files …`,BugReport_Running:$localize`Creating bug report …`,Delete_Listing:$localize`Listing remote files …`,Delete_Deleting:$localize`Deleting remote files …`,"PurgeFiles_Begin,":$localize`Listing remote files for purge …`,"PurgeFiles_Process,":$localize`Purging files …`,"PurgeFiles_Compact,":$localize`Compacting remote data …`,"PurgeFiles_Complete,":$localize`Purging files complete!`,Error:$localize`Error!`},b=class p{#i=s(B);#t=s(P);#o=s($);#e=s(z);#c=s(S);#p=s(R);#s=n(!1);#l=n(null);statusData=this.#l.asReadonly();lastState=null;serverState=c(()=>{let e=this.#e.serverState();return e?(e.ProposedSchedule=e.ProposedSchedule?.map(i=>r(l({},i),{backup:i.Item1?this.#o.getBackupById(i.Item1):null})),this.lastState=e,e):this.lastState});hasProgressOnWebsocket=c(()=>this.#p.hasProgressSubscribeOption()&&this.#e.getConnectionMethod()==="websocket");clientIsRunning=c(()=>this.serverState()?.ProgramState==="Running");isResuming=n(!1);isFetching=this.#s.asReadonly();connectionStatus=this.#e.connectionStatus;pollingInterval;#f=f(()=>{let e=this.#e.serverState();e?.ActiveTask||this.#o.getBackups(!0),this.hasProgressOnWebsocket()&&(this.#e.subscribe("progress"),this.#e.subscribe("taskqueue")),e?.ActiveTask&&this.pollingInterval===void 0?this.startPollingProgress():e?.ActiveTask||this.stopPollingProgress()});#k=f(()=>{let e=this.#e.progressState(),i=this.#e.taskQueueState();if(e){let t=i?.find(o=>o.ID===e.TaskID)??null;this.#a(r(l({},e),{task:t}))}});setConnectionMethod(e){this.#e.setConnectionMethod(e)}startPollingProgress(){this.hasProgressOnWebsocket()?this.#e.subscribe("progress"):this.pollingInterval=setInterval(()=>{this.#r()},1e3)}stopPollingProgress(){clearInterval(this.pollingInterval)}fetchProgressState(){this.#r()}pauseResume(){return this.isResuming.set(!0),this.#t.postApiV1ServerstateResume().pipe(u(()=>this.isResuming.set(!1)))}resumeDialogCheck(e){if(!this.clientIsRunning()){this.#c.open(_,{data:{title:$localize`Server paused`,message:$localize`Server is currently paused. Do you want to resume now?`,confirmText:$localize`Resume`,cancelText:$localize`No, I'll resume later`},closed:i=>{i&&this.pauseResume().subscribe({next:()=>{e()}})}});return}e()}#r(){this.#s.set(!0),this.#t.getApiV1Progressstate().pipe(d(e=>{let i=e.TaskID??null;return i===null?k(e):this.#t.getApiV1TaskByTaskid({taskid:i}).pipe(h(t=>r(l({},e),{task:t??null})))}),u(()=>this.#s.set(!1))).subscribe({next:e=>{this.#a(e),this.serverState()?.ActiveTask==null&&this.stopPollingProgress()},error:e=>{e.status===404&&this.stopPollingProgress()}})}#a(e){let i=e.TaskID??null,t=e.BackupID??null;i!==null&&t!==null&&(e.backup=this.#o.getBackupById(t)),this.#l.set(r(l({},e),{progress:this.#g(e),statusText:this.#u(e),actionText:e.backup?.Backup?.Name??$localize`Running task`}))}#g(e){let i=-1;if(e.task&&e)if(e.Phase==="Backup_ProcessingFiles"||e.Phase==="Restore_DownloadingRemoteFiles")if(e.StillCounting)i=0;else{let t=e.CurrentFilecomplete?0:e.CurrentFileoffset,o=e.TotalFileCount-e.ProcessedFileCount,a=e.TotalFileSize-e.ProcessedFileSize-t;i=(e.ProcessedFileSize+t)/e.TotalFileSize,e.ProcessedFileCount===0?i=0:i>=.9&&(i=.9)}else e.Phase==="Backup_Finalize"||e.Phase==="Backup_WaitForUpload"?i=.9:e.Phase==="Backup_Delete"||e.Phase==="Backup_Compact"?i=.95:e.Phase==="Backup_VerificationUpload"||e.Phase==="Backup_PostBackupVerify"?i=.98:e.Phase==="Backup_Complete"?i=1:e.OverallProgress>0&&(i=e.OverallProgress);return i}#n(e){let i=(e.ActiveTransfers??[]).map(o=>o.BackendSpeed).reduce((o,a)=>(o??0)+(a??0),0)??-1,t=i<=0?e.BackendSpeed:i;return(t??-1)<0?"":` at ${this.#i.transform(t)}/s`}#u(e){let i="Running \u2026";if(e.task&&e){if(i=e.Phase?T[e.Phase]:"Running \u2026",e.Phase==="Backup_ProcessingFiles"||e.Phase==="Restore_DownloadingRemoteFiles")if(e.StillCounting)i=`Counting (${e.TotalFileCount} files found, ${this.#i.transform(e.TotalFileSize)})`;else{let t=e.CurrentFilecomplete?0:e.CurrentFileoffset,o=e.TotalFileCount-e.ProcessedFileCount,a=e.TotalFileSize-e.ProcessedFileSize-t,F=e.Phase==="Restore_DownloadingRemoteFiles"?"Restoring: ":"",g=this.#n(e);e.Phase==="Backup_ProcessingFiles"&&o===0?i=`Completing upload ${g}`:e.BackendIsBlocking??!1?i=`Waiting for transfers ${g}`:i=`${F}${o} files (${this.#i.transform(a)}) to go ${g}`}else if(e.Phase==="Backup_WaitForUpload"){let t=this.#n(e);t!==""&&(i=`Waiting for upload to finish ${t}`)}}return i}static \u0275fac=function(i){return new(i||p)};static \u0275prov=m({token:p,factory:p.\u0275fac,providedIn:"root"})};export{b as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as mt}from"./chunk-3B3CD5KI.js";import{a as Et,b as Ot,c as Ct}from"./chunk-OZLEURDK.js";import"./chunk-X7SFNRJF.js";import"./chunk-2G6TVFPZ.js";import{a as Dt}from"./chunk-UM3LTU7N.js";import{h as dt}from"./chunk-2YMUOQLP.js";import"./chunk-XIIFTZ5G.js";import"./chunk-BCHZRC5K.js";import"./chunk-B26UYXA3.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-JM7VAPIC.js";import{a as m}from"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import{c as _t,e as ct,f as ut,g as Tt,i as pt,j as gt,s as St}from"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.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 L,Cb as b,Eb as E,Hc as G,Kb as u,Lb as T,Mb as f,Nb as k,Ob as $,Oc as et,Pb as w,Qa as r,Qb as S,Rb as l,Z as O,Zb as Q,_b as q,ab as H,bc as Y,da as _,ea as c,ec as N,fc as B,gc as J,ha as j,jc as A,kc as M,lc as P,na as C,rc as Z,sb as D,sc as tt,tb as d,ub as y,vb as h,wb as x,xb as I,yb as s,zb as F}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var Rt=["formRef"],It=()=>({maxWidth:"700px",width:"100%"});function Nt(i,n){if(i&1){let t=E();u(0,2,1),s(1,"button",30),S("click",function(){_(t);let e=l();return c(e.testDestination(0,!0))}),F(),T()}if(i&2){let t=l();r(),Y("loader",t.testSignal()=="testing"),I("disabled",t.testSignal()=="testing")}}function ft(i,n){if(i&1){let t=E();u(0,2,2),s(1,"button",20),S("click",function(){_(t);let e=l();return c(e.copyTargetUrl())}),p(2,"spk-icon"),F(),T()}}function kt(i,n){i&1&&(s(0,"spk-alert"),u(1,5),p(2,"spk-icon",31),T(),F())}function $t(i,n){i&1&&(s(0,"spk-alert",21),u(1,6),p(2,"spk-icon",31),T(),F())}function At(i,n){if(i&1&&(s(0,"spk-alert",22),u(1,7),p(2,"spk-icon",31),T(),F()),i&2){let t=l();r(2),k(t.testErrorMessage()),$(1)}}function Mt(i,n){if(i&1&&(s(0,"spk-alert",23),u(1,8),p(2,"spk-icon",31),T(),F()),i&2){let t=l();r(2),k(t.testErrorMessage()),$(1)}}function Pt(i,n){if(i&1){let t=E();s(0,"p",32),S("click",function(){_(t);let e=l();return c(e.removeDestination())}),u(1,9),p(2,"strong")(3,"br")(4,"span",33),T(),F()}if(i&2){let t,o=l();r(4),k((t=o.selectedDestinationType())==null?null:t.displayName),$(1)}}function yt(i,n){if(i&1){let t=E();s(0,"div",39),S("click",function(){let e=_(t).$implicit,a=l(2);return c(a.setDestination(e.key))}),s(1,"h3"),N(2),F(),s(3,"p"),N(4),F()()}if(i&2){let t=n.$implicit;r(2),B(t.displayName),r(2),B(t.description)}}function ht(i,n){if(i&1){let t=E();s(0,"button",40,1),S("click",function(){let e=_(t).$implicit,a=l(2);return c(a.setDestination(e.key))}),N(2),F()}if(i&2){let t=n.$implicit;r(2),J(" ",t.displayName," ")}}function xt(i,n){if(i&1&&(s(0,"div",34),h(1,yt,5,2,"div",35,y),F(),s(3,"spk-menu",36)(4,"button",37),f(5,10),F(),L(6,19),h(7,ht,3,1,"button",38,y),b(),F()),i&2){let t=l();r(),x(t.destinationTypeOptionsFocused()),r(2),I("searchable",!0),r(4),x(t.destinationTypeOptions())}}function Lt(i,n){if(i&1){let t=E();s(0,"app-single-destination",41),P("targetUrlChange",function(e){_(t);let a=l();return M(a.targetUrlModel,e)||(a.targetUrlModel=e),c(e)}),F()}if(i&2){let t=l();A("targetUrl",t.targetUrlModel)}}function bt(i,n){i&1&&(u(0,4,1),p(1,"spk-icon",28),T())}function wt(i,n){i&1&&(u(0,4,2),p(1,"spk-icon"),T())}function Bt(i,n){if(i&1){let t=E();s(0,"spk-dialog",42),P("isOpenChange",function(e){_(t);let a=l();return M(a.targetUrlDialogOpen,e)||(a.targetUrlDialogOpen=e),c(e)}),s(1,"header",43)(2,"h2"),f(3,11),F(),s(4,"spk-alert",22),f(5,12),F()(),s(6,"div",44)(7,"spk-form-field")(8,"textarea",45),P("ngModelChange",function(e){_(t);let a=l();return M(a.targetUrlCtrl,e)||(a.targetUrlCtrl=e),c(e)}),F()()(),s(9,"footer",46)(10,"button",26),S("click",function(){_(t);let e=l();return c(e.closeTargetUrlDialog(!1))}),N(11,"Cancel"),F(),s(12,"button",47),S("click",function(){_(t);let e=l();return c(e.closeTargetUrlDialog(!0))}),u(13,13),p(14,"spk-icon"),T(),F()()()}if(i&2){let t=l();A("isOpen",t.targetUrlDialogOpen),I("options",tt(3,It)),r(8),A("ngModel",t.targetUrlCtrl)}}var v=class i{#i=O(it);#o=O(nt);#e=O(Ft);#a=O(Et);injector=O(j);#t=O(mt);#s=O(Ot);formRef=et.required("formRef");targetUrlModel=this.#t.destinationTargetUrl;targetUrlCtrl=C(null);targetUrlInitial=C(null);targetUrlDialogOpen=C(!1);toggleNewDestination=C(!0);testSignal=this.#t.testSignal;testErrorMessage=this.#t.testErrorMessage;destinationTypeOptionsInFocus=C(["file","ssh","s3","gcs","googledrive","azure"]);destinationTypeOptions=this.#s.destinationTypeOptions;destinationTypeOptionsFocused=G(()=>{let n=this.destinationTypeOptionsInFocus(),t=this.destinationTypeOptions();return n.map(o=>t.find(e=>e.key===o))});selectedDestinationType=G(()=>{let n=this.#t.destinationTargetUrl();if(!n)return null;let t=n.split("://")[0];return Dt(t)});copyTargetUrl(){navigator.clipboard.writeText(this.#t.destinationTargetUrl()??"")}openTargetUrlDialog(){let n=this.#t.destinationTargetUrl();this.targetUrlCtrl.set(n),this.targetUrlInitial.set(n),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(n=!1){this.targetUrlDialogOpen.set(!1);let t=this.targetUrlCtrl(),o=this.targetUrlInitial();!n||t===o||!t||this.#t.updateTargetUrl(t)}testDestination(n,t,o){let e=this.#t.destinationTargetUrl();e&&(this.#t.setTestState("testing"),this.#a.testDestination(e,n,!0,t).subscribe({next:a=>{if(a.action==="success"){this.#t.setTestState("success"),a.containsBackup===!1?(this.#t.setTestState("warning",$localize`The remote destination does not contain any backups. Please check if the destination details are correct.`),t||this.#e.open(m,{data:{title:$localize`Folder contains no backup`,message:$localize`The remote destination does not contain any backups. Please check if the destination details are correct.`,confirmText:$localize`OK`,cancelText:void 0}})):a.anyFilesFound===!1&&(this.#t.setTestState("warning",$localize`The remote destination is empty. Please check if the destination details are correct.`),t||this.#e.open(m,{data:{title:$localize`Folder is empty`,message:$localize`The remote destination is empty. Please check if the destination details are correct.`,confirmText:$localize`OK`,cancelText:void 0}})),o?.();return}if(this.#t.setTestState("error",a.errorMessage??$localize`An error occurred while testing the destination.`),a.action==="generic-error"){o?.();return}let R=e.includes("?");a.action==="trust-cert"&&this.#t.updateTargetUrl(e+`${R?"&":"?"}accept-specified-ssl-hash=${a.certData}`),a.action==="approve-host-key"&&this.#t.updateTargetUrl(e+`${R?"&":"?"}ssh-fingerprint=${a.reportedHostKey}`),a.testAgain?this.testDestination(a.destinationIndex,t):o?.()}}))}setDestination(n){this.#t.updateTargetUrl(`${n}://`)}removeDestination(){this.#t.updateTargetUrl(null)}goBack(){this.#i.navigate(["general"],{relativeTo:this.#o.parent})}next(){let n=this.testSignal();if(n===""){this.#e.open(m,{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:t=>{t?this.testDestination(0,!1,()=>{this.testSignal()==="success"?this.#n():this.#e.open(m,{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(n!=="success"){this.#e.open(m,{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:t=>{t&&this.#n()}});return}this.#n()}#n(){this.#i.navigate(["encryption"],{relativeTo:this.#o.parent})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=H({type:i,selectors:[["app-restore-destination"]],viewQuery:function(t,o){t&1&&Q(o.formRef,Rt,5),t&2&&q()},features:[Z([dt])],decls:30,vars:9,consts:()=>{let n;n=$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:`,n=w(n);let t;t=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let o;o=$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 `,o=w(o);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 R;R=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let U;U=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let K;K=$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 V;V=$localize`All destinations`;let W;W=$localize`Edit target URL`;let z;z=$localize`Be careful, this will overwrite everything you have in your destination.`;let X;return X=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SPK_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],["option",""],n,t,o,e,a,R,U,K,V,W,z,X,[3,"submit"],[1,"title-30"],[1,"actions"],["spk-button","","type","button",1,"small",3,"disabled","loader"],["spk-button","","type","button",1,"small"],["menu",""],["spk-button","","type","button",1,"small",3,"click"],[1,"success"],[1,"warn"],[1,"error"],[3,"targetUrl"],[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"],[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,o){if(t&1){let e=E();s(0,"form",14,0),S("submit",function(){return _(e),c(o.next())}),s(2,"header")(3,"h3",15),u(4,2),s(5,"div",16),D(6,Nt,2,3,"button",17),s(7,"spk-menu")(8,"button",18),p(9,"spk-icon"),F(),L(10,19),s(11,"button",20),S("click",function(){return _(e),c(o.openTargetUrlDialog())}),p(12,"spk-icon"),F(),D(13,ft,3,0,"button",18),b(),F()(),T(),F(),D(14,kt,3,0,"spk-alert")(15,$t,3,0,"spk-alert",21)(16,At,3,1,"spk-alert",22)(17,Mt,3,1,"spk-alert",23),D(18,Pt,5,1,"p"),F(),D(19,xt,9,1),D(20,Lt,1,1,"app-single-destination",24),s(21,"div",25)(22,"button",26),S("click",function(){return _(e),c(o.goBack())}),u(23,3),p(24,"spk-icon"),T(),F(),s(25,"button",27),u(26,4),D(27,bt,2,0,"spk-icon",28)(28,wt,2,0,"spk-icon"),T(),F()()(),D(29,Bt,15,4,"spk-dialog",29)}if(t&2){let e=!!o.targetUrlModel();r(6),d(e?6:-1),r(7),d(e?13:-1),r(),d(o.testSignal()=="testing"?14:o.testSignal()=="success"?15:o.testSignal()=="warning"?16:o.testSignal()=="error"?17:-1),r(4),d(e?18:-1),r(),d(e?-1:19),r(),d(e?20:-1),r(5),I("disabled",o.testSignal()=="testing"||!e),r(2),d(o.testSignal()=="testing"?27:28),r(2),d(o.targetUrlDialogOpen()?29:-1)}},dependencies:[Ct,St,gt,_t,ct,ut,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}pre[_ngcontent-%COMP%]{white-space:pre-wrap}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row.single-field[_ngcontent-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.clickable[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-500)}.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}[prefix].link[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:var(--primary-500)}textarea[_ngcontent-%COMP%] ~ grammarly-extension[_ngcontent-%COMP%]{display:none}"],changeDetection:0})};export{v as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{a as RelativeTimePipe};
|